From 11f695aff72f1dd2bd4dc764215c42cbbffda782 Mon Sep 17 00:00:00 2001 From: fvanroie Date: Sun, 25 Feb 2024 23:12:49 +0100 Subject: [PATCH] Add MDNS discovery --- src/hasp/hasp_dispatch.cpp | 13 +++++++------ src/sys/svc/hasp_mdns.cpp | 15 +++++---------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/hasp/hasp_dispatch.cpp b/src/hasp/hasp_dispatch.cpp index 512c49e0..03b0da9d 100644 --- a/src/hasp/hasp_dispatch.cpp +++ b/src/hasp/hasp_dispatch.cpp @@ -1299,12 +1299,13 @@ void dispatch_get_discovery_data(JsonDocument& doc) { char buffer[64]; - doc[F("node")] = haspDevice.get_hostname(); - doc[F("mdl")] = haspDevice.get_model(); - doc[F("mf")] = F(D_MANUFACTURER); - doc[F("hwid")] = haspDevice.get_hardware_id(); - doc[F("pages")] = haspPages.count(); - doc[F("sw")] = haspDevice.get_version(); + doc[F("node")] = haspDevice.get_hostname(); + doc[F("mdl")] = haspDevice.get_model(); + doc[F("mf")] = F(D_MANUFACTURER); + doc[F("hwid")] = haspDevice.get_hardware_id(); + doc[F("pages")] = haspPages.count(); + doc[F("sw")] = haspDevice.get_version(); + doc[F("node_t")] = String("hasp/") + haspDevice.get_hostname() + "/"; #if HASP_USE_HTTP > 0 network_get_ipaddress(buffer, sizeof(buffer)); diff --git a/src/sys/svc/hasp_mdns.cpp b/src/sys/svc/hasp_mdns.cpp index 995c6639..2817a238 100644 --- a/src/sys/svc/hasp_mdns.cpp +++ b/src/sys/svc/hasp_mdns.cpp @@ -70,18 +70,13 @@ void mdnsStart() strcpy_P(service, PSTR("openhasp")); MDNS.addService(service, proto, 80); - strcpy_P(key, PSTR("version")); - MDNS.addServiceTxt(service, proto, key, haspDevice.get_version()); - - // strcpy_P(key, PSTR("name")); - // strcpy_P(value, PSTR(D_MANUFACTURER)); - // MDNS.addServiceTxt(service, proto, key, value); - - strcpy_P(key, PSTR("discovery")); StaticJsonDocument<1024> doc; dispatch_get_discovery_data(doc); - size_t len = serializeJson(doc, value); - MDNS.addServiceTxt(service, proto, key, value); + + JsonObject data = doc.as(); + for(JsonPair i : data) { + MDNS.addServiceTxt(service, proto, i.key().c_str(), i.value().as()); + } // if(debugTelnetEnabled) { strcpy_P(service, PSTR("telnet"));