Add SDDP service to core
andrewfg opened this issue · 4 comments
If regex matching is implemented then the epsonprojector and sonyprojector addons could be detected as many newer models respond to Control4 SDDP discovery probes as described here:
https://github.com/sammck/sddp-discovery-protocol/blob/main/README.md
SDDP is similar to UPNP/SSDP in that a multicast search frame is sent and any supported devices respond back to the multicast address with a packet containing device information. By using a regex these packets would be filtered to determine the device type and manufacturer.
Originally posted by @mlobstein in #3936 (comment)
Note: I myself (via my then employer) was one of the founder members at the original launch of UPNP hosted by Microsoft in Redmond, WA., so I am very familiar with coding for SSDP. => I will volunteer myself to write an equivalent SDDP module for OH core. The goal would be to provide an SDDP service with twofold application..
- Use the new SDDP service to implement in OH Core an Addon Finder for Things that are discoverable via SDDP
- Expose the new SDDP service to OH Addon authors for them to use it in discovering Things and respective properties.
If things haven't changed since the last time I messed with it, Roku also uses SDDP for discovery.
Roku also uses SDDP for discovery
@rkoshak I pretty much finished my own code, but I will have a look at Roku to see if there are any learnings from it.
If things haven't changed since the last time I messed with it, Roku also uses SDDP for discovery.
Roku uses SSDP: https://developer.roku.com/docs/developer-program/dev-tools/external-control-api.md
Its discovery service uses a custom implementation but for the addon finder it uses the core upnp service.
Roku uses SSDP
Yup. It is important to note that SSDP (Simple Service Discovery Protocol) and SDDP ( Simple Device Discovery Protocol) are different. The former underlies UPnP discovery, and the latter is its own thing.