CCOSTAN / CCOSTAN/Home-AssistantConfig

Set up a CLOUDLESS smart Dryer sensor

Open
#1,213 1 comment 0 reactions 0 assignees View on GitHub
Area:Hallway ESPHome Need Hardware
Dominant language
Python
Stars
5.3k
Forks
500
PR merge metrics
No merged PRs in 30d

Description

To get this working without the SmartDry cloud, you will need to buy an esp32 dev board. I bought this one from amazon
https://amzn.to/3uWD8qv

Install the ESPHome addon for Home Assistant, plug your esp32 device into your computer, and open ESPHome on your computer (it should be in your Home Assistant side bar).

Click the “NEW DEVICE” button and set up your device. After it is set up, you will see the device on the ESPHome page. Click the EDIT button under your device name. Here is what my YAML file looks like, the important stuff starts with the “esp32_ble_tracker” line:
```yaml
esphome:

name: smartdry

esp32:

board: esp32dev

framework:

type: arduino

# Enable logging

logger:

# Enable Home Assistant API

api:

ota:

password: "xxxxxxxxxxxxx"

wifi:

ssid: !secret wifi_ssid

password: !secret wifi_password

# Enable fallback hotspot (captive portal) in case wifi connection fails

ap:

ssid: "Smartdry Fallback Hotspot"

password: "xxxxxxxxxxx"

captive_portal:

esp32_ble_tracker:

on_ble_manufacturer_data_advertise:

- manufacturer_id: "01AE"

then:

- lambda: |-

id(raw_sensor).publish_state(format_hex(x));

uint32_t temp = (x[0] + (x[1] << 8) + (x[2] << 16) + (x[3] << 24));

uint32_t hum = (x[4] + (x[5] << 8) + (x[6] << 16) + (x[7] << 24));

uint16_t shake = x[8] + (x[9] << 8);

uint8_t batt = x[10];

uint8_t wake = x[11];

id(temp_sensor).publish_state((*(float *) &temp));

id(hum_sensor).publish_state((*(float *) &hum));

id(shake_sensor).publish_state(shake);

id(batt_sensor).publish_state(batt);

id(wake_sensor).publish_state(wake);

sensor:

- platform: template

name: "SmartDry Temperature"

device_class: 'temperature'

unit_of_measurement: "°C"

accuracy_decimals: 4

id: temp_sensor

- platform: template

name: "SmartDry Humidity"

device_class: 'humidity'

unit_of_measurement: "%"

accuracy_decimals: 4

id: hum_sensor

- platform: template

name: "SmartDry Shake"

id: shake_sensor

- platform: template

name: "SmartDry Battery"

device_class: battery

id: batt_sensor

- platform: template

name: "SmartDry Awake"

id: wake_sensor

text_sensor:

- platform: template

name: "SmartDry Raw"

id: raw_sensor

```
Save this file, then click the INSTALL button. After it finishes, you should have sensors for humidity, temperature, shake, and awake. You can move this esp32 device close to your dryer now and plug it in.
You can set up a dryness sensor like this:

```yaml
- platform: template

sensors:

dryer_dry:

value_template: "{{ states('sensor.smartdry_humidity') | float * -1.03 + 100 }}"

friendly_name: DryerDryness

```
Then you can set up an automation to notify you when the desired dryness is reached (83 seems to work well). You can also set up a dryer status sensor like this:

```yaml
- platform: template

sensors:

dryer_on:

value_template: "{{ states('sensor.smartdry_shake') | float > 10.0 }}"

friendly_name: Dryer

delay_on:

minutes: 1

delay_off:

minutes: 1

```

Then you can set up an automation to notify you when the dryer is stopped. I hope this helps, and all credit goes to DieKatzchen , jmtorres22 , doublebishop and others for figuring all this stuff out.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.