From 8fc69ba973cfec9676bf1ad5c39f661ee211be4a Mon Sep 17 00:00:00 2001 From: deathbybandaid Date: Sat, 2 Jan 2021 17:27:31 -0500 Subject: [PATCH] SSDP Enhancements --- fHDHR/device/ssdp/hdhr_ssdp.py | 18 ++++++++++++++---- fHDHR/device/ssdp/rmg_ssdp.py | 18 ++++++++++++++---- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/fHDHR/device/ssdp/hdhr_ssdp.py b/fHDHR/device/ssdp/hdhr_ssdp.py index b9f4e36..37ccd4b 100644 --- a/fHDHR/device/ssdp/hdhr_ssdp.py +++ b/fHDHR/device/ssdp/hdhr_ssdp.py @@ -8,7 +8,17 @@ class HDHR_SSDP(): self.ssdp_content = None self.broadcast_ip = broadcast_ip - self.device_xml_path = '/device.xml' + self.device_xml_path = '/hdhr/device.xml' + + self.cable_schema = "urn:schemas-opencable-com:service:Security:1" + self.ota_schema = "urn:schemas-upnp-org:device:MediaServer:1" + + if self.fhdhr.config.dict["fhdhr"]["reporting_tuner_type"].lower() == "antenna": + self.schema = self.ota_schema + elif self.fhdhr.config.dict["fhdhr"]["reporting_tuner_type"].lower() == "cable": + self.schema = self.cable_schema + else: + self.schema = self.ota_schema self.max_age = max_age @@ -20,10 +30,10 @@ class HDHR_SSDP(): data_command = "NOTIFY * HTTP/1.1" data_dict = { - "HOST": "%s:%s" % (self.broadcast_ip, 1900), - "NT": 'urn:schemas-upnp-org:device:MediaServer:1', + "HOST": "%s:%s" % ("239.255.255.250", 1900), + "NT": self.schema, "NTS": "ssdp:alive", - "USN": 'uuid:%s::%s' % (self.fhdhr.config.dict["main"]["uuid"], 'urn:schemas-upnp-org:device:MediaServer:1'), + "USN": 'uuid:%s::%s' % (self.fhdhr.config.dict["main"]["uuid"], self.schema), "SERVER": 'fHDHR/%s UPnP/1.0' % self.fhdhr.version, "LOCATION": "%s%s" % (self.fhdhr.api.base, self.device_xml_path), "AL": "%s%s" % (self.fhdhr.api.base, self.device_xml_path), diff --git a/fHDHR/device/ssdp/rmg_ssdp.py b/fHDHR/device/ssdp/rmg_ssdp.py index 3cf9a4a..5b5c64f 100644 --- a/fHDHR/device/ssdp/rmg_ssdp.py +++ b/fHDHR/device/ssdp/rmg_ssdp.py @@ -8,7 +8,17 @@ class RMG_SSDP(): self.ssdp_content = None self.broadcast_ip = broadcast_ip - self.device_xml_path = '/device.xml' + self.device_xml_path = '/rmg/device.xml' + + self.cable_schema = "urn:schemas-opencable-com:service:Security:1" + self.ota_schema = "urn:schemas-upnp-org:device-1-0" + + if self.fhdhr.config.dict["fhdhr"]["reporting_tuner_type"].lower() == "antenna": + self.schema = self.ota_schema + elif self.fhdhr.config.dict["fhdhr"]["reporting_tuner_type"].lower() == "cable": + self.schema = self.cable_schema + else: + self.schema = self.ota_schema self.max_age = max_age @@ -20,10 +30,10 @@ class RMG_SSDP(): data_command = "NOTIFY * HTTP/1.1" data_dict = { - "HOST": "%s:%s" % (self.broadcast_ip, 1900), - "NT": 'urn:schemas-upnp-org:device-1-0', + "HOST": "%s:%s" % ("239.255.255.250", 1900), + "NT": self.schema, "NTS": "ssdp:alive", - "USN": 'uuid:%s::%s' % (self.fhdhr.config.dict["main"]["uuid"], 'urn:schemas-upnp-org:device-1-0'), + "USN": 'uuid:%s::%s' % (self.fhdhr.config.dict["main"]["uuid"], self.schema), "SERVER": 'fHDHR/%s UPnP/1.0' % self.fhdhr.version, "LOCATION": "%s%s" % (self.fhdhr.api.base, self.device_xml_path), "AL": "%s%s" % (self.fhdhr.api.base, self.device_xml_path),