Add IP to MQTT + HA discovery

This commit is contained in:
iranl
2024-02-07 21:06:35 +01:00
parent f58dc78039
commit 9ac5b4a019
2 changed files with 26 additions and 1 deletions

View File

@@ -41,6 +41,7 @@
#define mqtt_topic_info_hardware_version "/info/hardwareVersion"
#define mqtt_topic_info_firmware_version "/info/firmwareVersion"
#define mqtt_topic_info_nuki_hub_version "/info/nukiHubVersion"
#define mqtt_topic_info_nuki_hub_ip "/info/nukiHubIp"
#define mqtt_topic_keypad "/keypad"
#define mqtt_topic_keypad_command_action "/keypad/command/action"

View File

@@ -491,6 +491,7 @@ bool Network::reconnect()
}
publishString(_maintenancePathPrefix, mqtt_topic_mqtt_connection_state, "online");
publishString(_maintenancePathPrefix, mqtt_topic_info_nuki_hub_ip, _device->localIP().c_str());
_mqttConnectionState = 2;
for(const auto& callback : _reconnectedCallbacks)
@@ -902,7 +903,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
publishHassTopic("sensor",
"nuki_hub_version",
uidString,
"_nuki_hub__version",
"_nuki_hub_version",
"NUKI Hub version",
name,
baseTopic,
@@ -915,6 +916,23 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
{ { "enabled_by_default", "true" },
{"ic", "mdi:counter"}});
// NUKI Hub IP Address
publishHassTopic("sensor",
"nuki_hub_ip",
uidString,
"_nuki_hub_ip",
"NUKI Hub IP",
name,
baseTopic,
_lockPath + mqtt_topic_info_nuki_hub_ip,
deviceType,
"",
"",
"diagnostic",
"",
{ { "enabled_by_default", "true" },
{"ic", "mdi:ip"}});
// LED enabled
publishHassTopic("switch",
"led_enabled",
@@ -1391,6 +1409,12 @@ void Network::removeHASSConfig(char* uidString)
path.concat(uidString);
path.concat("/sound_level/config");
_device->mqttPublish(path.c_str(), MQTT_QOS_LEVEL, true, "");
path = discoveryTopic;
path.concat("/sensor/");
path.concat(uidString);
path.concat("/nuki_hub_ip/config");
_device->mqttPublish(path.c_str(), MQTT_QOS_LEVEL, true, "");
path = discoveryTopic;
path.concat("/number/");