mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-28 13:46:36 +00:00
Add uri to discovery message
This commit is contained in:
parent
28bf5b55e5
commit
884a466ca9
@ -1059,6 +1059,8 @@ void dispatch_send_discovery(const char*, const char*, uint8_t source)
|
||||
#if HASP_USE_MQTT > 0
|
||||
|
||||
StaticJsonDocument<1024> doc;
|
||||
char data[1024];
|
||||
char buffer[64];
|
||||
|
||||
doc[F("node")] = haspDevice.get_hostname();
|
||||
doc[F("mdl")] = haspDevice.get_model();
|
||||
@ -1067,6 +1069,13 @@ void dispatch_send_discovery(const char*, const char*, uint8_t source)
|
||||
doc[F("pages")] = haspPages.count();
|
||||
doc[F("sw")] = haspDevice.get_version();
|
||||
|
||||
#if HASP_USE_HTTP > 0
|
||||
network_get_ipaddress(buffer, sizeof(buffer));
|
||||
doc[F("uri")] = String(F("http://")) + String(buffer);
|
||||
#elif defined(WINDOWS) || defined(POSIX)
|
||||
doc[F("uri")] = "http://google.pt";
|
||||
#endif
|
||||
|
||||
JsonObject input = doc.createNestedObject(F("input"));
|
||||
JsonArray relay = doc.createNestedArray(F("power"));
|
||||
JsonArray led = doc.createNestedArray(F("light"));
|
||||
@ -1076,7 +1085,6 @@ void dispatch_send_discovery(const char*, const char*, uint8_t source)
|
||||
gpio_discovery(input, relay, led, dimmer);
|
||||
#endif
|
||||
|
||||
char data[1024];
|
||||
size_t len = serializeJson(doc, data);
|
||||
|
||||
switch(mqtt_send_discovery(data, len)) {
|
||||
|
@ -140,6 +140,30 @@ void network_get_statusupdate(char* buffer, size_t len)
|
||||
#endif
|
||||
}
|
||||
|
||||
void network_get_ipaddress(char* buffer, size_t len)
|
||||
{
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
IPAddress ip = Ethernet.localIP();
|
||||
snprintf_P(buffer, len, PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
|
||||
return;
|
||||
#endif
|
||||
|
||||
#if HASP_USE_WIFI > 0
|
||||
|
||||
#if defined(STM32F4xx)
|
||||
IPAddress ip;
|
||||
ip = WiFi.localIP();
|
||||
snprintf_P(buffer, len, PSTR("%d.%d.%d.%d"), ip[0], ip[1], ip[2], ip[3]);
|
||||
#else
|
||||
strncpy(buffer, WiFi.localIP().toString().c_str(), len);
|
||||
#endif
|
||||
|
||||
return;
|
||||
#endif // HASP_USE_WIFI
|
||||
|
||||
snprintf(buffer, len, "");
|
||||
}
|
||||
|
||||
void network_get_info(JsonDocument& doc)
|
||||
{
|
||||
#if HASP_USE_ETHERNET > 0
|
||||
|
@ -16,6 +16,7 @@ void networkStop(void);
|
||||
|
||||
/* ===== Getter and Setter Functions ===== */
|
||||
void network_get_statusupdate(char* buffer, size_t len);
|
||||
void network_get_ipaddress(char* buffer, size_t len);
|
||||
void network_get_info(JsonDocument& doc);
|
||||
|
||||
/* ===== Read/Write Configuration ===== */
|
||||
|
Loading…
x
Reference in New Issue
Block a user