Wemo switch and insight smart plug

No I did not because I have a lot of rules set up each of with them. Do you want me to try this approach?

Hmmm...no, not yet. I think I see an issue with the address updating code. Let me take a look at that...

1 Like

Yes, just looked at that; updating code at line 684 and 694; I made the change and will update you asap.

Update1: I changed the if statement lines but it doesn't look like that entire method gets called at anytime so far (had been watching for about 10mins)...not showing up anywhere in Logs when I try to find "childSync: Updating".

Update2: I put in a log trace line in handleSsdpEvent(evt) to figure out why updateChildAddress was not being called. It looks like device.ip and device.port are reporting to be always the same as parsedEvent.ip and parsedEvent.port even though some of the ports for some devices have actually changed! QUESTION: I'm wondering if the device and the parsed message are actually the same? Could the device and evt parsed message be off by one so that means one device's port is being compared w/ another devices response?

I pushed an updated version of the Connect app with several improvements:

  • Discovery requests are emitted more regularly during app setup/config
  • Device verification (where the 'friendly' device name is determined) happens immediately as new devices are discovered
  • Improved change detection for device IP addresses. Previously changes were only detected for devices discovered during an app setup/config session. Now a change from an installed device's IP will also be detected.
  • The setup page now shows the device IP along with the MAC in the selection dropdown

Give that a try.

Yeah, that was a logical error. It essentially meant that a change to a discovered device IP during a single app setup/config session would be detected, but that's not terribly useful.

GREAT SUCCESS!

Just waited a little while to see if the nuisance WEMO's would correct itself and it did!

THANK YOU SO, SO VERY MUCH!

Where should I send the keg to?

Update1: Just fyi that there are new WARN messages (not affecting anything as I can tell):

Possibly that's happening because device initialization (when you hit 'Done') looks for selected devices in the list of just-discovered devices rather than the combined list of discovered and already-installed devices, and one or more of the selected devices hadn't shown up in the current discovery session.

I pushed an update to the Connect app so that initialization considers installed devices as well as just-discovered devices.

1 Like

Maximum awesomeness! Thank you, @jason0x43!

Glad to hear it's working!

1 Like

jason0x43 thank you for all your hard work. I'm new to Hubitat. I installed WeMo Connect and all the drivers. It does look like it is discovering some of the devices but is not installing them nor do I see them on the app. I know it must be something I'm doing wrong. Also I was really hoping it work with my Raspberry Pi 3 Wemo Emulator (Echo sees it). Wemo Connect does not. It is a python 3 program fauxmo. This is what I receiving on the WeMo connect log.

Any help to point me in the right direction would be appreciated.

Hi @steven1!

From your logs, the app definitely appears to be seeing your devices. Over time, they should be showing up in the dropdown in the Connect app:

Assuming they eventually did show up, you'd check the devices you want in the dropdown, then click 'Done', and the app should create your devices. If that doesn't work for

Note that if you close the Connect app and reopen it, discovery will start over, and any previously discovered but uninstalled devices won't be in the list.

While it looks like devices are being found, there is some weirdness in the logs. It kind of looks like there may be multiple copies of the app running. For example, at 7:15:01.111 there's a request for the setup.xml from one of your devices, and then again at 7:15:01.119 there's a request to the same device. There shouldn't normally be multiple requests going out to the same device so quickly.

Regarding the Raspberry Pi 3, it should be able to work (I think). At a guess, the Connect app may not be sending discovery requests for whatever device type fauxmo is emulating. The Connect app currently tries to discovery devices of the following types (SSDP terms):

urn:Belkin:device:insight:1
urn:Belkin:device:controllee:1
urn:Belkin:device:sensor:1
urn:Belkin:device:lightswitch:1
urn:Belkin:device:dimmer:1

Do you happen to know what device type your Pi is trying to emulate?

Any luck getting the Wemo Maker into the code yet? I've tried playing around (not a coder myself) by adding in 'urn:Belkin:device:Maker:1' bits into where it looks like it should be and using the switch driver but no luck in detecting it (wasnt expecting it to work but nice to have a shot :smile:)

Only just got my wemo switch to detect today after updating to the latest Hubitat firmware for some reason, after having the driver/app installed for a few weeks and it never finding it until now.

@HardWired I just added initial support for Maker. It is untested, but based on a ST driver that's been in use for a while, so hopefully it'll do something interesting. Give it a try when you get a chance and let me know how it goes.

@jason0x43

I installed the code yesterday for a Wemo Switch and I am seeing the following when manually toggling the device

I have control over it, but I can't seem to get away from this error. That is the correct IP, both in decimal and hex. Anything I should look at to try to remedy this? I've tried subscribe/unsubscribe/resubscribe with no results.

Hmmm... That would seem to indicate that the device, as it was added to Hubitat, doesn't have the correct device network ID, so Hubitat is unable to properly assign incoming messages to it.

Try removing and re-adding the device in question.

I did, but no luck. What is the DNI supposed to be, the IP, Mac, or other? I noticed my DNI is blank when added,

It should be the MAC. When you add a device, the WeMo Connect app should log a message like:

initDevices: Created My Device with id: 1234, MAC: ABCDEF123456

If the MAC field in that message is blank, or if you didn't see that message, then something isn't working right.

This might be on my end. I have the Wemo joined to an IOT network on a dedicated subnet and I use an ssdp router to advertise the broadcasts. I see the device but the MAC doesn’t come through.

I have found that if you have wifi mesh networking (like google wifi), you can have a lot of fun with Wemo and HE.

Example

  • the wemo's I have near my primary google wifi device, will appear to not respond to ssdp
  • They can also have a hard time if you reset them them and want to reconnect to your wifi network

What appears to be going on: (first on the setting up the wemo devices near the primary router)

  • google wifi advertises both 2.4gh and 5ghz wifi with the same name
    • your mobile device used in setting up is likely on the 5ghz network, and during the handoff from the wemo private network to the wifi network, wemo app tells you could not connect.
    • google in their don't be evil, are evil in that you cannot disable the 5ghz network.

So to setup the factory reset wemo devices, you need to move yourself, your mobile device and the wemos to be configured far enough away from the primary router that your mobile device switches to 2.4ghz, then with the devices near by to you, you can set them up.

So the next problem is the devices don't discover in the wemo connect app (and sometimes the wemo app). It was strange that a device near the other mesh router would be visible via ssdp, but not the wemo devices near / connected to the primary router.

  • in my case I have the 2ndary mesh routers wired back to the primary router in other locations.
  • if I move (temporarily) the switches that won't discover, by the 2ndary router, then the discovery works in HE and I can add the devices to HE

So all this gets down to wemo wants 2.4Ghz, and it appears to me google is has issues with 2.4ghz devices broadcasting and that being forward properly from the primary router.

I have seen strangeness in the wemo app thru this, but it seemed to see the device much sooner than Wemo Connect/HE did.

The question I have is if the ssdp returns to not seeing the device, but HE has already configured the device, will wemo connect correctly keep the device working and subscribed?

Yep, why I have my WEMO's on a single "guest" 2.4 network that's allowed to see my other network devices. I dont like the WEMO wifi implementation at all. But what to do?