Clothes Dryer Automations

Okay so I’ve flashed a EPS32 with esp32dev-ble-cont from OpenMQTTGateway and I’ve got the data in my MQTT Broker.

{"id":"1A:05:00:00:0A:29","mac_type":0,"name":"KMGM2Z","rssi":-62,"brand":"SmartDry","model":"Laundry Sensor","model_id":"SDLS","tempc":37.34202,"tempf":99.21563,"hum":19.93231,"shake":false,"shake_count":84,"volt":2.992,"wake":true}

How did you get this info into HA?

Edit: I think I got it figured out, in case anyone else needs it, see below

Plugged in my ESP32
Went to (Option 1) Upload from the web | OpenMQTTGateway v1.0.0
Selected esp32dev-ble-cont
Then hit Install
Waited for the device to come up
Connected to the OpenMQTTGateway wifi on my phone
Configured the wireless and MQTT settings for the device
See: Wifi and MQTT configuration | OpenMQTTGateway v1.0.0
The device rebooted and started updating on my Broker
Please note, I named the device SmartDry and changed the base topic to OpenMQTT
I started the dryer to have the SmartDry update
Grabbed the MAC for the Smartdry (ID value)
Posted this topic: OpenMQTT/SmartDry/commands/MQTTtoBT/config
This JSON with Retain & QoS 1: {“white-list”:[“1A:05:00:00:0A:29”]}
(In the above put your SmartDry ID/MAC)
Posted this topic: OpenMQTT/SmartDry/commands/MQTTtoSYS/config
With this JSON: {“discovery”:true}
Went to Home Assistant MQTT Integration > Configure > Re-Configure MQTT > Next > make sure “Enable discovery” is on
Then the devices showed up as entities like “SDLS-hum” “SDLS-wake”

Thanks, those steps should be optional. If you don’t add the SmartDry in your white-list the difference will be that OMG will pick up all your BLE devices that can be decoded, the Home Assistant discovery is activated by default.

If I sum up, you should be good with:

  1. Plugged in my ESP32
  2. Went to (Option 1) Upload from the web | OpenMQTTGateway v1.0.0
  3. Selected esp32dev-ble-cont
  4. Check Erase flash
  5. Then hit Install
  6. Waited for the device to come up
  7. Connected to the OpenMQTTGateway wifi on my phone
  8. Configured the wireless and MQTT settings for the device
  9. See: Wifi and MQTT configuration | OpenMQTTGateway v1.0.0
  10. The device rebooted and started updating on my Broker
  11. I started the dryer to have the SmartDry update
  12. Went to Home Assistant MQTT Integration > Configure > Re-Configure MQTT > Next > make sure “Enable discovery” is on
  13. Then the device should show up in the “Settings->Devices” and as entities like “SDLS-hum” “SDLS-wake”
1 Like

Was naming the device in the wifi section for OMG as the gateway name: Wifi and MQTT configuration | OpenMQTTGateway v1.7.0?

The gateway_name entered into the wifi configuration portal will be the name of the gateway below the topic home into the MQTT broker:
image
You can put whatever you want, only requirement is that it should be different per esp32

Changing it is not compulsory for your setup to work.

1 Like

We are working on integrating the SmartDry into the Theengs app, I’m looking for 2 testers, if someone is interested, feel free to PM me.

I have a dryer that is broken in the sense that it fails to turn itself off regardless of whether it is set to turn off via dryness sensor or timer. So I have been using the SmartDry as a way to extend the life of my dryer by using the v2 hub that has the built in relay to cut power to the dryer when the sensor signals that the load is dry.

Has anyone been successful in salvaging the SmartDry Hub by swapping the ESP32 inside the housing or by some other approach? I’m wondering if I can avoid needing to buy/build another microcontroller-managed 120v relay

The internals for the SmartDry aren’t that special and you can likely build your own (it’s really just a vibration sensor, BLE transmitter, and humidity/temp sensor). That said, it’s relatively trivial to build a new ESP32 BLE receiver (as documented in this thread) and restore the same functionality you had.

I don’t know of anyone who has replaced the internals of the SmartDry itself in an attempt to make it fully standalone.

Are you able to get ‘Dryness’ into it for OMG?
Dryness = -1.03 * Humidity + 100
It’s the one missing from OMG right now.

Edit: I’m new to HA and am trying to determine if there’s a way to do this in a template sensor somehow without having to reload it by flashing again.

We can add it. Is it something that you used to have with the app?

To add it to Home Assistant I suppose that something like this should work:

mqtt:
  sensor:
    - name: dryness
      state_topic: "home/OpenMQTTGateway/<sensor mac>"
      value_template: "{{ value_json.hum | multiply (-1.03)| float + 100 }}"

Yes, used dryness with the app.
I’ll see if I can use the code provided.
Which yaml file would this be put is my follow-up question?

/config/configuration.yaml

I purchased the Theengs app for Android, turned on my dryer, saw my SmartDry device appear, watched it change to Synced but didn’t see any info appear for Humidity, Shake, Temp, Volt, and Wake. I am hoping someone can guide me with connecting Theengs to my Home Assistant setup. I have MQTT integration added but I’ve never had to use it for anything else so I’m not sure what to do next… Any advice would be greatly appreciated.

You need to read the thread, searching for esp32 in this thread will answer your question.

Happy to find the tester for the SmartDry integration into the app.
As you are the first user of the SmartDry with the app, I can give you a redeem code if you want.

The first thing to do is to be of course close to the sensor and click on the refresh button of the app to get values updated.

If you don’t mind, I propose continuing the discussion below:

As this is more a testing discussion.

Thank you for the offer. I made the purchase to Theengs already with hopes that I could this to work…
Added a message on the discussion as requested. Thanks for any adivce.

@johnesc was successful in getting the app and Theengs Gateway working with the SmartDry for information.

To sum up, the methods that enable to keep your SmartDry living :

ESP32

Or Raspberry Pi, servers, NUC…

Android or iOS

Note that the app can be used as a gateway to an MQTT broker also, but this is more for usage that doesn’t require frequent scanning (not for the SmartDry).

1 Like

What does this do vs just using an esp32 as BT proxy?

Not sure somebody implemented Smartdry with BTproxy.

The solutions with Theengs are an yaml free experience as the Smartdry decoding is embedded thanks to Theengs decoder.
These solutions work independently but they can work also together. The ESP32 with OMG can forward data to the Theengs gateway on a behavior that you could call Proxy.

To sum up:

  • no yaml
  • standalone (but can work together)

The phone app enable direct reading of the sensor through BLE

Great work, everyone, for resurrecting the SmartDry! The esphome method worked for me for about 6 months, and then I noticed I wasn’t getting updates from the dryer. I kept changing betteries in the sensor, and it would work for a while and then stop working again. Most likely because of the power on reset rather than a low battery.

Turns out there are some issues using the default scanning settings resulting in lost packets and delayed updates. I just changed the esphome
settings to:

esp32_ble_tracker:
  scan_parameters:
    interval: 320ms
    window: 320ms
    active: false
  on_ble_manufacturer_data_advertise:

This seems to have fixed lost packets for the time being and the sensor values update very quickly in HASS now.

Notes:

  1. Only passive scanning is needed since all the data is in the advertisement from the sensor
  2. Interval can be equal to window contrary to the source code comment.

Also for anyone else with a dryer that has an anti wrinkle feature where it will continuously tumble for a few seconds every minute and you’re getting a ton of annoying dryer complete notifications, you can create a “dryer running” template sensor via:

binary_sensor:
  - platform: template
    sensors:
      dryer_running:
        friendly_name: "Dryer is running"
        value_template: "{{ states('sensor.smartdry_shake')|float > 10.0 }}"
        delay_on: 0:02:00

The 2 minute on delay means the dryer will only be “running” after >10g for 2 minutes. Then when this sensor turns off, you know the dryer cycle is complete. It won’t turn on again for the anti wrinkle tumbles since it only tumbles for a few seconds.

Hope this helps!

1 Like

Since it is almost impossible to find even a “used” SmartDry module on eBay, what is everyone using for an enclosure that can handle the ESP32, a battery & magnetic enclosure that can be mounted in the dryer?