jimmywarting / wemo-client

JavaScript client library for controlling and subscribing to Wemo Devices
MIT License
132 stars 40 forks source link

WeMo Mini Plug #60

Open 1git opened 6 years ago

1git commented 6 years ago

Hi,

I have recently bought a WeMo Mini plug, I have read that this isn't supported in this project yet. What can I do to help integrate this product? Thanks.

timonreinhard commented 6 years ago

It might work already without changing stuff (I'd guess it gets discovered as a "switch", so you should be able to run the switch example with it). If not, enabling the debug output and posting the lines starting with "found device" here is a good start to get you going.

philpownall commented 6 years ago

I tried wemo.discover with a Wemo Mini, and got no output at all, even with debug on...it seems UPNP is not responding.

I presently use James Borkowski's wemo shell script from node with child_process.exec, and it works just fine, but I'd rather use a node package.

From the trace output from Borkowski's wemo, I got the device IP address and port (Host: 10.0.0.108:49153 in my case), and I was able to use your wemo.load function successfully.

This confirmed that the Wemo Mini IS a wemo type switch: Wemo.DEVICE_TYPE.Switch

But that still leaves me with having to specify a specific IP for the wemo... so no wemo.discover

philpownall commented 5 years ago

A follow on from last year - I've had some success with wemo.discover by periodically calling it with a heartbeat if wemo is still null - eventually it finds the Wemo Mini, and thereafter it works fine. This may also have something to do with the known WiFi issues with the wemo mini (see the wemo forums for details).

jjfeore commented 4 years ago

@philpownall Any more progress or info on this since March? What sort of interval do you use for your heartbeat?

philpownall commented 4 years ago

I have fallen back to using wemo.load with a specific URN as mentioned above, as I continued to have periodic issues where the uPNP interface would not respond or required a reboot of the Wemo Mini. The interval I used when I was using wemo.discover was 4 minutes.

I reserved the IP address for the wemo mini on my router, and I haven't had an issue using wemo.load since.

jjfeore commented 4 years ago

Sounds good. I'll give that a shot tonight. Does the Wemo Mini tend to change IPs on your router if one isn't reserved? Is 1234 just the default port?

Sorry the continuous questions, and thanks for the help. It just sounds like you've managed to experiment your way through this black box already, and any pain you can help spare would be appreciated.

philpownall commented 4 years ago

Yes, the wemo mini changes IP address on my D-Link router on reboot/power outage - it all depends on which device finishes powerup first, and I have many devices... The default port is 49153 for me. The urn I use in wemo.load is "http://10.0.0.115:49153/setup.xml"