[ST Edge] UPnP Control Point Driver

no problem. based on the link you shared, it looks like a hub reboot fixes it in the meantime?

Yes, it supposedly might, but I’ve never gone down that path. If you want to try it, let me know if it fixes it! I’d almost rather have that be the temporary solution then to have to change the code…

Seems to have fixed it for me. Rebooted hub, deleted a few of the UPnP device and they added back without any errors in the logs.

1 Like

That’s good! So the fields in your device details displays are all showing values now? Do you have any devices that seem to be emitting periodic subscribed events? You should see sequence number incrementing for those devices.

I’ve just found this and it’s amazing. Could it be used to implement an rpc client for each device? I’ve been bashing my head against ssdp all week and found it to be very frustrating.
If I could find a way to send top commands to specific devices that would be great.

Hi there. You’ll have to elaborate on what you mean by implementing “an rpc client for each device” Do your devices support UPnP/SSDP discovery?

For most people the complete UPnP implementation is probably overkill, and they could get by with just a simple SSDP library and then some kind of HTTP-based REST api once the device is discovered.

If all you need is discovery, then here is a link to a super-simple SSDP function that you could use, from the SmartThingsCommunity github repository.

Of course you’re also welcome to use my UPnP library if you want to implement the full specification with your devices and am happy to answer any questions you might have.

Hi Todd
The thing I love about your UPnP library is that it does a fantastic job of finding the devices that i need. I have a LAN device that accepts commands (a series of hex) via a tcp socket ip:port and responds etc. I have written a simple lua client that accepts the ip address and the command that i need to send and then checks the response (ack/nack) and also a refresh that gets the device status. this works in its basic form but I just need to work out how to bring the two together if that makes sense.
This is for a proof of concept that im putting together.

Also ive been using model name as a way to get only the device i want but the device also has a more generic name under modelDescription which i want to use rather than specific model names.

Cheers Hugh