CCOSTAN / Home-AssistantConfig

:house: Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to :star: it. Updated FREQUENTLY!
https://www.vCloudInfo.com
Other
4.82k stars 505 forks source link

Set up a CLOUDLESS smart Dryer sensor #1213

Open CCOSTAN opened 2 years ago

CCOSTAN commented 2 years ago

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:

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:

- 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:

- 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.

CCOSTAN commented 2 years ago

original reference: https://community.home-assistant.io/t/clothes-dryer-automations/149017/130

Home Assistant Community
Clothes Dryer Automations
To get this working without the SmartDry cloud, you will need to buy an esp32 dev board. I bought this one from amazon (https://www.amazon.com/ESP-WROOM-32-Development-Microcontroller-Integrated-Compatible/dp/B08D5ZD528/). 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...