Clothes Dryer Automations

You can move this esp32 device close to your dryer now and plug it in.

Do you install the ESP32 on a breadboard or into some other container?
Does the esp32 device need to be connected physically to Home Assistant (installed to rpi)?
Or it is powered via a 5v USB electrical connection allowing wifi sta to transmit all the necessary data?

(I’m new to HA, ESP32; thanks!)

Whatever suits you

No, it connects via wifi

Yes, although there are other power supplies you can use other than the usb connection

1 Like

First, thank you to everyone who worked on this. I had zero experience with Esphome and flashing esp32dev boards. It took me a bit to figure it out, but it’s working really well so far. I do have one question…

- 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

When I add the above code to my configuration.yaml, I get this config error:

Invalid config for [sensor.template]: [delay_on] is an invalid option for [sensor.template]. Check: sensor.template->sensors->dryer_on->delay_on. (See ?, line ?).

I checked in Studio Code Server and it’s showing an error message indicating that “delay_on” and “delay_off” are invalid properties.

Any idea how to fix?

Since the USB device we all have is an esp, can’t we just reflash that with esphome?

Also, I started using these power supplies for my esps as they keep them out of the way nicely https://www.amazon.com/dp/B08ZXBSXD5

It needs to be a binary sensor. Put this

binary_sensor:

above the - platform: template line.

1 Like

Here are a couple shots of the 2 parts of the SmartDry hub


I’m hoping for that too. I tried connecting the device to a couple of computers directly through the USB plug to see if it would be detected: nope. I’m guessing the USB connection serves for power delivery only.

(I posted some pics of the two parts of the SmartDry board with the esp32-wroom-32 module here )

Mine looks different on the inside. I do not have a usb plug at all. It still uses the esp32-wroom-32 though.

Everyone,

I’m the OP for this thread. When I originally posted about the SmartDry back in November, 2019, I was hopeful for a device that we could integrate into Home Assistant.

I also recently marked @bryangerlach as the solution to the thread, he took a mountain of information gathered from many people in this thread and provided concise directions on how to establish local control over a SmartDry sensor and continue to operate it.

I just wanted to say “Thank You”. The fact that we found a device to solve a problem, then reverse engineered the API to make it work within Home Assistant, and then when the Cloud service died, were able to further reverse engineer it to create a permanent, locally controlled, sensor out of it; is just remarkable.

Cheers to a great group of folks!

-Rob

4 Likes

Yes, I recently purchased a second unit off of eBay and it appears they re-made the hub in the later versions into a pass-through AC plug. Pretty genius, but effectively the same.

Thanks for your initial work aswell @pickerin, you did a lot of the legwork back in 2019!

Though I think that the sentiment around here has been the same for a while, reply #3 in this thread was literally saying a cloud solution relies on the company not going bust.

@bryangerlach I had a quick question since I’ve been running this through a few dryer loads now.

I think the Battery sensor is incorrect. I have notes for Battery Level stating:
Battery Level: 1960 “New”
Battery Level: 130 “Idle”
Battery (vBat) drops to 130 when idle

I’m now seeing this behavior, as my “Low Battery Indicator” is coming on when the unit is idle, but then when I’m drying a load, it’s suddenly not “low” anymore…

Not sure what the right way to handle this is, but I don’t believe it’s a simple output level.

1 Like

Support of the SmartDry integrated into OpenMQTTGateway v0.9.15
https://docs.openmqttgateway.com/upload/web-install.html

Feel free to share your feedback

Can you give us a bit of a background on how this works?
First time I’ve heard of “OpenMQTTGateway”.

It’s an ESP32 firmware without YAML configuration that you can upload through a web portal, here are the steps:

This worked like a charm! I got it setup and working this weekend. Still experimenting with the sensor settings to successfully indicate a dry load, but otherwise, thanks for sharing this!

1 Like

Thank you to those way more technical than me that figured out how to reverse engineer this helpful little gadget so we could implement it locally. @bryangerlach – Thank you so much for your write up! I’ve never worked with ESPHome and your write-up made the whole process go very smooth.

Now a question. :slight_smile:

Did anyone ever get the temperature and battery sensors working correctly? I previously implemented smartDry into HA by looking at the AWS details, and had two additional automations than what’s been discussed. One (which worked) told me when the battery was low and needed replaced. Another (which I couldn’t get to work at the time) told me if the temperature exceeded some max safety threshold. It would be really helpful to get both of these working with the local option.

Has anyone been able to figure this out?

From what i understand, the temperature on the ESP device should be correct whilst its on, whilst its stationary it rarely does updates.

Just had a look at the battery and it does look like its a bit all over the place, not sure whats going on there.

Battery always reports a “130” when idle. That seems to get interpreted weirdly depending on what you’re looking at/using to find “low” batteries.

You could build an automation that reports the battery level only when “active”, and something like 100% when idle (or unavailable would be more correct).

Temperature for my unit seems to work properly. However, it doesn’t update it after it stops working, so mine has been like 83F for several days.

To do what you want just make a condition of the temperature check that it’s actually active (Shake != 0 or Wake != 0, whatever works for you).

1 Like