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.

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()

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.