Eufy Smart Plug Mini Stopped Working

I have 3 eufy smart plug mini switches which have been working for a while now. Just recently 2 of them stopped being recognized by home assistant. I have tried discovery and manually configuring the switches, neither are working. I get this in my log:

2019-02-10 21:18:04 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform eufy
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.6/asyncio/tasks.py", line 358, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/switch/eufy.py", line 20, in setup_platform
    add_entities([EufySwitch(discovery_info)], True)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/switch/eufy.py", line 36, in __init__
    self._switch.connect()
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.6/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
....
...
...

It goes on and on

I power cycled the offending switches and they came back after a home assistant restart.

This keeps happening to me as well with 3 of their smart switches. I push the reset button on the switch and then they work for a little while but they always end up with the error after some period of time. They all have reserved IP addresses so that is not changing. Any ideas of what else is going on? I am running the Hass.io version of Home Assistant.

1 Like

I am also running HASSIO. I also have the IP addresses reserved for the eufy switches. I get warnings like this in my log file quite a bit:

2019-02-17 12:13:13 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:13:34 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:14:05 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:14:36 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:15:07 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:15:38 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:16:09 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:16:40 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:18:54 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:19:15 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:19:46 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:20:17 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:20:48 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:20:48 WARNING (SyncWorker_1) [pywemo.ouimeaux_device.api.service] Error communicating with Shop AC Insight, retry 0
2019-02-17 12:20:49 WARNING (MainThread) [homeassistant.components.switch.wemo] Lost connection to Shop AC Insight
2019-02-17 12:21:19 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:21:50 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:22:21 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:23:33 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:25:06 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:25:27 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:25:58 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:26:29 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:28:43 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:29:45 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:30:47 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:31:08 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:30
2019-02-17 12:31:49 WARNING (MainThread) [homeassistant.helpers.entity] Update of switch.basement_heater_eufy is taking over 10 seconds
2019-02-17 12:32:10 WARNING (MainThread) [homeassistant.components.switch] Updating eufy switch took longer than the scheduled update interval 0:00:clock1030:

This is now happening again. Anyone else experience this issue and have a fix?

2019-04-30 17:30:23 ERROR (MainThread) [homeassistant.components.switch] Error while setting up platform eufy
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 126, in _async_setup_platform
    SLOW_SETUP_MAX_WAIT, loop=hass.loop)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 416, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/eufy/switch.py", line 15, in setup_platform
    add_entities([EufySwitch(discovery_info)], True)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/eufy/switch.py", line 31, in __init__
    self._switch.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
    return device.connect(self)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 66, in connect
    self.update()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 246, in update
    response = self.get_status()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 242, in get_status
    response = self.send_packet(packet, True)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 232, in send_packet
    return device.send_packet(self, packet, response)
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 90, in send_packet
    self.connect()
  File "/usr/local/lib/python3.7/site-packages/lakeside/__init__.py", line 229, in connect
it goes on and on and on and on.....

I am also having an a simlar issue with my Eufy light switches. They work fine from the Eufy app but they eventually stop working form Hass.io. If I push the reset button on the light switch, it starts working again for a while and then stops at some point. It happens with all 4 switches that I own.

The following is repeated over and over in my logs:

Traceback (most recent call last):
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py”, line 220, in async_update_ha_state
await self.async_device_update()
File “/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py”, line 377, in async_device_update
await self.hass.async_add_executor_job(self.update)
File “/usr/local/lib/python3.7/concurrent/futures/thread.py”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.7/site-packages/homeassistant/components/eufy/switch.py”, line 33, in update
self._switch.update()
File “/usr/local/lib/python3.7/site-packages/lakeside/init.py”, line 246, in update
response = self.get_status()
File “/usr/local/lib/python3.7/site-packages/lakeside/init.py”, line 242, in get_status
response = self.send_packet(packet, True)
File “/usr/local/lib/python3.7/site-packages/lakeside/init.py”, line 232, in send_packet
return device.send_packet(self, packet, response)
File “/usr/local/lib/python3.7/site-packages/lakeside/init.py”, line 90, in send_packet
self.connect()
File “/usr/local/lib/python3.7/site-packages/lakeside/init.py”, line 229, in connect
return device.connect(self)
File “/usr/local/lib/python3.7/site-packages/lakeside/init.py”, line 66, in connect
self.update()

1 Like

It really is a shame because the eufy plugs are inexpensive and they have power monitoring which is nice even though the power monitoring isn’t supported by home assistant for some reason. I guess there aren’t enough people using the Eufy products.

Same problem here… Working bulb in Eufy app, but not in Home Assistant :frowning:

1 Like

I am still having this issue as of 0.106.5. What is the best way to log this in the official bug tracker so it can be addressed properly?

1 Like

Has anyone figured out a way to correct this? I had many lights, switches, plugs, etc in Eufy and Smart Life, none of which are currently working in Hassio.

Super frustrating… Anyone have any insight how to get it to discover these devices again?

My eufy devices are working again. I am on version 0.107.7. If you are having issues, have you tried unplugging your Eufy devices, plugging them back in, then restarting Home Assistant?

I have the same issues on 107.7 and constantly have to reset my switches. I recently submitted a bug. Hopefully it will get looked at.

2 Likes

Same situation here with a wall switch. Switch is running Eufy firmware 1.3. Stayed up for a while but now is down again. Will have to reset the switch. (Switch works fine in the EufyHome App.)

I would post the log but I believe it to to be the same as other reported problems. They all seem to end with, “RecursionError: maximum recursion depth exceeded while calling a Python object.”

I am running HA 0.107.7 on HassOS 3.12 in Docker on VM (Ubuntu Linux)

Adding my +1 here - same behavior of having to reset and reboot after a while.

I’ll add in my +1 here as well. I’ve always unplugged the smart plugs them from the wall and re-plugged them in, followed by an HA restart and that always fixes the issue, but it’s an annoying and hacky workaround to the problem. @Geoff_Blachstein any progress on that bug report getting any attention? Do you have a link to it? Thanks!

No progress that I have seen. Here is the bug link: https://github.com/home-assistant/core/issues/33605

2 Likes

Too bad there’s no updates on this…I’m about this close to replacing all my Eufy smart plugs as this has become such an annoyance :frowning:

The Eufy integration for switches has still not been fixed. Would it be possible to use the Google Assistant SDK to show those devices as entities? I can control the devices using the new Google SDK integration and it works great. Now I just need to see the states.