Lost ALL my wemo devices and I can't get them back

None of my wemo devices are showing up. I have 18 wemo devices. I had static ip’s for them in the past. That doesn’t seem to be working anymore. I just updated to 0.97.2. I tried this:

wemo:
  discovery: true

That didn’t work either.

I then tried deleting the wemo integration and every wemo device from the configuration --> Entity Registry. Still no luck, none of them are showing up.

I also have this for discovery in my configuration.yaml:

discovery:
  ##### Ignore yeelight so names don't come through all messed up.  Define by IP Address instead.
  ignore:
    - yeelight
    - igd
  enable:
    - belkin_wemo

I never had the enable section before, but figured it was worth a try, no luck with that either. My wemo devices never showed up under integration in the past, so maybe that is somehow related to this.

Any idea on how to get them to show up?

I had to define them explicitly in config by IP address to get them to show up again. But, I’m pretty sure it has something to do with my firewall settings relative to Docker in Ubuntu.

wemo:
  discovery: false
  static:
    - <ip_address>
    - <ip_address>

Despite wanting auto configuration to work, I gave up on it and just forced it with static designations.

That is exactly how I originally had them configured. I also tried putting zeroconf and ssdp in my configuration.yaml

zeroconf:
ssdp:

That did not help either.

I’ll try setting them explicitly again

wemo:
  discovery: false
  static:
    - < ip_addr_1>
     - < ip_addr_2>

And… they all just came back. I’m confused, but I don’t care, they are back and that is good enough for me. Thanks.

Note: I commented out zeroconf and ssdp on the last run when they came back.

I have tried so many things to get mine to come back. Tried all the steps you just listed. I was hoping that turning on zeroconf,ssdp and then turning it off would clear something in Home Assistant config files. Then defined static IPs on the router and in the config file.

Nothing… Beats me… I give up for now.

1 Like

I’m in the same boat.

I read somewhere it had to do with a firmware update. The last firmware update broke the Google Home/Assistant integration and so my workaround was to use the Google Home/Google Assistant integration with dialogflow and HA to work wemo.

Now the latest firmware seems to have fixed Google Home but broken HA integration.

I’m on HA 0.98.4 in a venv on an R Pi 3and it’s just. not. working. with wemo.

Like you I’ve tried everything.

I was concerned that maybe the python module pywemo was cactus. But it works outside of HASS beautifully. For reasons outside of wemo I had to rapidly upgrade from HA 0.92.x and needed to install Python 3.7 (a rebuild in March saw an accidental reversion to Python 3.5 for me).

So while I was fluffing around with versions etc I wondered if maybe that had broken HA’s use of pywemo on my machine/configuration.

So I tried pywemo in some stand alone scripts, including the examples in the pywemo repo. They’re fine: outside of HA I can run Python scripts and query wemo devices and control them. Inside HA I’ m seeing some log entries that indicate there is come communication going on.

Interestingly, my standalone scripts don’t discover wemo devices: I have to poll every IP address on my network (see below).

But the script that works made made generating the YAML portion for static addresses easy, even though the static bit still doesn’t work! Note: This script takes forever to poll. Run inside ‘screen’ if you want to make sure it does’t stop when or if you close your terminal.

import pywemo

for x in range(1,255):
  address = "10.0.0." + str(x)
   
  try:
    # If you get a hit on a wemo device, it will print the YAML line.
    port = pywemo.ouimeaux_device.probe_wemo(address)
    url = 'http://%s:%i/setup.xml' % (address, port)
    device = pywemo.discovery.device_from_description(url, None)
    print("  - "+address)
  except:
    # Don't need anything: except is simply ignoring a non-wemo device
    pass

So as a workaround I’m going to make a command_line to use a basic Python script to switch my devices on and off wherever I have a wemo being switch.turned_on or switch.turned_off.

That should be fun…

Meanwhile I had to remove all my google home/nabu casa work-arounds where home was using dialogflow and nabu-casa to control Wemo when the google home integration was temporarily broken.

I encountered the same issue when upgrading to 0.98.4. Setting all my wemos as static, disabling all WeMo discovery, and rebooting appears to have fixed the issue. Far from an ideal workaround, but it worked.

I lost one of my WeMo devices. Ended up deleting the WeMo integration, restarting HA and then the integration was automatically detected again. Did the setup and got my one device back along with the others that were not giving me problems.