It uses Wemo spoofing and it all works like a dream by voice control with Alexa. When Alexa is searching for new devices I get the following data from the serial window of the Arduino IDE:
**Sending :<?xml version="1.0"?><root><device><deviceType>urn:Belkin:device:controllee:1</deviceType><friendlyName>socket 4</friendlyName><manufacturer>Belkin International Inc.</manufacturer><modelName>Emulated Socket</modelName><modelNumber>3.1415</modelNumber><UDN>uuid:Socket-1_0-38323636-4558-4dda-9188-cda0e610346d-8503</UDN><serialNumber>221517K0101769</serialNumber><binaryState>0</binaryState><serviceList><service><serviceType>urn:Belkin:service:basicevent:1</serviceType><serviceId>urn:Belkin:serviceId:basicevent1</serviceId><controlURL>/upnp/control/basicevent1</controlURL><eventSubURL>/upnp/event/basicevent1</eventSubURL><SCPDURL>/eventservice.xml</SCPDURL></service></serviceList></device></root>**
I have the Wemo binding in Openhab2, but it is unable to discover this device. I wondered if it was possible to manually configure this device, and if its is, what the things and items files entries might look like.
You are welcome. It´s not a shame, just as it should be. I did not see any device reporting as „controllee“ when writing the binding, just „switch“, „insight“, lightswitch“, „motion“ and a few others.
What capabilities does your device have? Just switching ON/OFF ?
In that case, we could simply extend the switch device.
Thanks, but this does not help.
I think it might be just a change of one line in WemoDiscoveryParticipant.
It needs to check if modelName equals „Emulated Socket“.
Will try to find some time over the weekend to implement this.
I’m in the same situation as Craig.
Using OpenHAB2.2.0
My ESP8266 based device is not even seeing the initial UDP messages from OH to respond to.
When an Echo is searching for Wemo devices it will send a UDP message which includes:
"urn:Belkin:device:**"
I monitored my network and saw nothing like this when OH was searching.
Thanks Hans.
The device does receive and respond on SOAP M-Search request.
My problem is that the device is “seeing” M-Search requests, but nothing which looks like its coming from the WeMo binding. Nothing which contains:
urn:Belkin:device:
The device code is built around the UPnP conversation given here:
Can you share the structure ofr the initial M-Search request which the Wemo Binding makes please?
The received notifications will then be scanned for the keywork "Belkin"
Please note, the the Binding will not work with devices reporting “Emulated …”. This is not implemented right now and even I already said to implement this, I am not shure if we should do this.
my code uses following request and response messages for wemo emulation, please tell me why wemo binding is not finding my device(Amazon Alexa works with my device just fine).
thanks for replying… i’ll make the changes and see if it works, here is the link to complete emulator code(for esp 8266 mcu), if you want to have a look.
As the WeMo Binding is an ESH Binding, you will find the code here
But I guess you won’t find anythin usefull there, cause it uses JUPnP, so your emulated device needs to be fully hydrated by UPnP and identified as a WeMo device of a certain type (like socket, insight …)
thanks for sharing the code, I didn’t find any explicit ‘M-Search’ or response parsing but I’ll try sending the response suggested by you earlier ‘USN: uuid:Socket-1_0-11111111111:: urn:Belkin:device:Socket:1’.