Clothes Dryer Automations

I got my USB-C versions of the board, the board dimensions seem to be the same, but the two buttons are definitely not in the same place, so that’s likely causing the fit issues. I’m starting to work on redesigning the case for the USB-C version and will let you know how it progresses. Since not many other folks have chimed in about it, I’m going to stop posting in this thread and just DM you directly about the progress. Once the STL file is confirmed working, I’ll link it here for anyone that wants to pull it.

1 Like

I put the Dryer Dryness in my Config.yaml file and it never updates from on to off.

This is what I put under binary sensors:

- platform: template
    sensors:
      dryer_dry:
        value_template: "{{ states('sensor.smartdry_humidity') | float * -1.03 + 100 }}"
        friendly_name: DryerDryness

Am I doing something wrong or did I put it in the wrong place?

Also Thank you all for all this hard work. Everything works so good and Way better than the original SmartDry ever worked.

I followed the above guide and I have the following under my template.yaml.

# SmartDry (sensor - local ESP32 version) - calculates level of dryness of clothes
  - sensors:
      dryer_dry_full_value:
        value_template: "{{ states('sensor.smartdry_humidity') | float * -1.03 + 100 }}"
        friendly_name: DryerDryness - Full Value

Then under my configuration.yaml I have the dryer_on entity which will tell me if the sensor is on or off.

# Smartdry (local ESP32 sensor)  
binary_sensor:
- 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
1 Like

I had a SmartDry and it was super flakey, I switched to a cheap AEON DSC06 and measure the energy and send a home assistant notification when power usage drops. I have one one my washer and one on my dryer and they work like a champ. BTW, I have a gas dryer so I only need 110v.

Unfortunately, this just tells you when it’s on or off. SmartDry actually senses and tells me when the clothes are dry, regardless of whether or not it’s running. So, I can automate with a SwitchBot to turn the dryer off when the clothes are dry. And my dryer is 220v.

Exactly. Helps save power and also stops shrinking the clothes. This combo makes a dumb dryer smart!

Just an update to the ESP32 code… This means it will report out a ‘dryness’ value now so no more configuration in the configuration.yaml file needed

esphome:
  name: smartdryer

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "CHANGEME"

ota:
  password: "CHANGEME"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Smartdryer Fallback Hotspot"
    password: "CHANGEME"

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];
            float humidity = (*(float *) &hum);
            id(temp_sensor).publish_state((*(float *) &temp));
            id(hum_sensor).publish_state(humidity);
            id(shake_sensor).publish_state(shake);
            id(batt_sensor).publish_state(batt);
            id(wake_sensor).publish_state(wake);
            float dryness = humidity * -1.03 + 100;
            id(dryness_sensor).publish_state(dryness);

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
  - platform: template
    name: "SmartDry Dryness"
    unit_of_measurement: "%"
    accuracy_decimals: 4
    id: dryness_sensor
text_sensor:
  - platform: template
    name: "SmartDry Raw"
    id: raw_sensor
4 Likes

I wanted to thank everyone for this thread.
I stumbled into it after getting the email about the shutdown and with @pickerin 's guide I somehow fumbled my way through setting up an ESP32 with Home Automation and with @doublebishop 's most recent update to the sensor code I now have a dashboard that tells me the sensor values.

Since I don’t know anything about Home Assistant, I’m unsure how to proceed from here.

With my old setup, the SmartDry servers shared the sensor data with SmartThings where I had a Routine set up that if the SmartDry had a temperature of Equal to or above 90° F and the Humidity was Equal to or below 20%, it would send my phone a text that just said, “The dryer is done.” Easy peasy.

Can anyone advise if I should try to configure Home Assistant to push data to SmartThings, or if I should dig in to Home Assistant automation to set up my automation there?

It looks like I can pretty easily set up a Home Assistant automation that uses the same triggers, but I’m not sure what Action the automation could do.

Ultimately, I always wanted to be able to have automation turn off my electric dryer when the clothes are dry, but I haven’t found a smartplug that supports the socket my dryer uses. I assume there are smart relays out there, but I don’t know how confident I’d be in wiring something like that. @pickerin mentions using a SwitchBot to turn off the dryer, but my old dryer doesn’t have an “off” button that I could use a SwitchBot to push.

Couple of things:

  1. You can use Home Assistant just to expose the sensors and send them over to SmartThings via the SmartThings integration in Home Assistant. Not something I have a lot of experience with, I abandoned SmartThings when Samsung bought them.
  2. You can certainly build the automation in Home Assistant, as you stated, the Action would be one of several things: a message to the Home Assistant app on your mobile, a PushOver notification to the PushOver app, an email message via the SMTP notification, or even a Telegram notification via that method. Check out notifications.
  3. As for turning off the Dryer, if you don’t have an Off button, how do you turn the dryer off? Via a knob turn or something? Might be doable, but probably too much work. If it’s a 220v dryer like mine, then you’re kinda SOL for something simple.

Hope this helps!

Could you share what this dryer power plug/socket looks like? A couple of pictures would help.

could a australian smart plug work for you? our voltage is 240v

Could you share what this dryer power plug/socket looks like? A couple of pictures would help.

It’s a NEMA 10-30R socket.
NEMA 10-30R

  1. As for turning off the Dryer, if you don’t have an Off button, how do you turn the dryer off? Via a knob turn or something? Might be doable, but probably too much work. If it’s a 220v dryer like mine, then you’re kinda SOL for something simple.

Yeah, there’s just a momentary switch to start it so if you want to stop it early you gotta turn the time dial to zero or interrupt the power.
My thought was that if I couldn’t find a 220v 50a smart outlet, I could use a Normally Closed contactor and a normal smart outlet to turn off the dryer.

could a australian smart plug work for you? our voltage is 240v

No, I believe it is incompatible. It’s been a long time since I took an electrical class but the way we do 220v in the US is run two 110v circuits to the outlet, which I believe are in different phases.

SmartDry sensor has been added to the last version of Theengs Home Assistant Add on:
https://gateway.theengs.io/install/install.html#install-theengs-gateway-as-an-add-on-in-home-assistant

This addon uses the Bluetooth of your raspberry pi or server, dongle to retrieves BLE packets of sensors.

The following information is retrieved:
temperature/humidity/shake/voltage/wake

Feel free to share any feedback on this integration.

Does that mean you don’t need Rob Pickering’s instructions, upthread, to keep using it after Sept. 20?

The solution with Theengs Gateway doesn’t require an ESP32.

You will need a server (Raspberry or other) with Bluetooth and an MQTT broker.

Once you have installed the add on and configured the parameters, the BLE SmartDry sensor will be auto-discovered into the “Devices” section of Home Assistant.

1 Like

I think the esphome with BT proxy is the way to go long term for me.

For now the BT integration on HA causes my lil PC to run out of resources after a day, but I like the idea of the esphomes instead of the single use gateways.

I would be interested in your feedback with Theengs gateway if you have some time to test it. This is different from Haas BT. Feel free to PM me on this.

Went through and got this all setup via bluetooth and MQTT and it’s appearing, but unfortunately the ‘shake’ parameter isn’t working well for me.

I think it needs a >10 check of the shake count for true/false

Thanks for the feedback, could you share what you see and what you are expecting?

Is this something you are willing to sell to me for the non-USB-C version?
Or, did you get the one from @ThatTallGuy and it worked on the non-USB-C version?