EcoPlug integration

any updates? i current have 1 out of 10 devices(the other 9 are in a storage box collecting dust, will dig them out and see if i can get them connected) working in home assistant

Hold GPIO0 to ground, then apply power. My connections were soldered, so I left GPIO0 connected to ground for the duration of the flash. once log showed a successful flash I removed the GPIO0, TX and RX pins and rebooted device. I will update my write up to add this. Please let me know if this helps or if there is anything else i should add.

2 Likes

Thanks! I got it working with these instructions.

1 Like

Hi there, do you have any troubles using this repo because of the lack of unique id ?
I always need to use scenes to control my ecoplugs switches in automations


And I did not find a way to make a correction

I didn’t use scenes, however using the switch.(YourDeviceName) always worked for my automations.

I saw the same thing but I was able to get it to work in automations just fine.

Now I’ve had the device die and need to be RMA’ed. The new one is installed and I can’t get it to show up again! Fun times with this one. It seems that the discovery still isn’t really working but I can’t be sure. I don’t know enough about coding python.

Ugh, it’s broken again for me. Switch is still working in the app, but the switch entity in HA is nowhere to be found. No errors in the HA log. If it was warmer / dryer I’d just go flash it with ESPHome… (hard wired into my pool pump)

EDIT: Found the culprit, can’t use this if you have Unifi stuff:

There is currently no working script to make this device work. What I did was install the homebridge server, which recognizes the ecoplug or wion switch without problems. then home assistant recognizes the homebrige server and all its devices.


Captura de pantalla -2024-01-30 11-51-17
Captura de pantalla -2024-01-30 11-51-54

Captura de pantalla -2024-01-30 11-54-24

1 Like

One thing I recently discovered, pretty sure it’s doing broadcast or multicast, because I tried moving the Eco Plug to my IoT VLAN and my phone (and HA) couldn’t see it. As soon as I moved it back to my main network it popped up immediately.

I still plan on flashing it, but going to wait until it warms up. (Pool plug, in Jersey, it’s Winter here)

I should also add I had to switch wifi networks, so I recently reset it, and the integration was still able to find it.

I moved both my Ecoplug (Woods) in the fall to an IoT network and had issues until my HA was moved over. It scares me every time I do something in HA I will loose the integration and I won’t know until late spring when I turn my pool equipment back on. (live in Canada)

but how hard is it to flash? I am getting more comfortable with ESP32s but how do I plug in a usb to flash this?

You have to use a USB to Serial adaptor.

Here’s a generic write up: Flashing Tasmota on Smart Plugs via Serial

And the specifics for the Dewenwils that a bunch of us have here: Dewenwils Heavy Duty 40A Outdoor Plug (HOWT01A & TM-050B) | devices.esphome.io

1 Like

Thanks, I will look into getting an adaptor.

1 Like

I’m surprised this homebridge plugin works - is the ECO-plugs device running old firmware? The ECO-Plugs iOS app doesn’t even mention Apple support - only Alex and Google

The homebridge plugin doesn’t work for me. I’ve read through the code for all the available ones and they are just incorrect for the more recent eco-plugs devices. The problem may just be discovery. Basically you have to listen to a port that the devices send a ping to every 2 seconds (port 10228), after that there’s a bunch of chatter between port 9090 (from home auto) and 1022 (on ecoplug). It’s likely the port number of 9090 doesn’t really matter, but def. 10228 does.

The homebridge one WILL NOT work even past discovery because the state-machine expects very specific sized packets which do not exist. The homeassistant one might work, I think the packet structure is similar but I haven’t finished comparing it. So for reasonably modern Ecoplug app devices, neither work for discovery. The homebridge plugin has a borked statemachine, so it won’t work after you get discovery going either. Both are probably fixable.

Anyway, I think the original Ecoplugs did discovery and comms on the same static port?, but I might be missing some detail from the framework code above. The most recent ones do discovery on one port (10228) and comms on what I suspect is a negotiated port, but am not 100%. Discovery broadcasts are shorter now (272b vs. 408b) and all other packets are 152b, command, response, discovery response. If the protocol itself hasn’t changed it wouldn’t be much work to get them operating.

It’s working now with homebridge.io and the Alexa smarthome plugin. I have the newer ECOPlugs firmware, so the old Homeassistant intgegration doesn’t work.

First connect Alexa in the ECOPlugs app - just needs an email. Then pair with the same email in the Alexa app. Once it’s connected you should be able to control the device in the Alexa app.

Next I installed homebridge v1.1.6 on an old raspberry Pi.

Then install the Alexa smarthome plugin. Logging to Alexa is a little tricky but the instructions are good.
After restarting homebridge, the Alexa ECOplugs device shows up in homebridge.

At this point you should be able to control the device in the Alexa app or in the homebridge web ui.

Now you can add homebridge to home assistant by pairing it as a HomeKit controller.

A lot of steps but it works. I’ll switch homebridge to a docker container at some point.

1 Like