Merge pull request #292 from iranl/fix-ha-discovery
Fix Home Assistant discovery topics
This commit is contained in:
74
Network.cpp
74
Network.cpp
@@ -749,7 +749,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"battery low",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_battery_critical,
|
||||
String("~") + mqtt_topic_battery_critical,
|
||||
deviceType,
|
||||
"battery",
|
||||
"",
|
||||
@@ -768,7 +768,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"keypad battery low",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_battery_keypad_critical,
|
||||
String("~") + mqtt_topic_battery_keypad_critical,
|
||||
deviceType,
|
||||
"battery",
|
||||
"",
|
||||
@@ -790,7 +790,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"battery voltage",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_battery_voltage,
|
||||
String("~") + mqtt_topic_battery_voltage,
|
||||
deviceType,
|
||||
"voltage",
|
||||
"measurement",
|
||||
@@ -806,7 +806,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"trigger",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_lock_trigger,
|
||||
String("~") + mqtt_topic_lock_trigger,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -822,7 +822,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"MQTT connected",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_mqtt_connection_state,
|
||||
_lockPath + mqtt_topic_mqtt_connection_state,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -840,12 +840,12 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"Restart NUKI Hub",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_reset,
|
||||
String("~") + mqtt_topic_reset,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"diagnostic",
|
||||
mqtt_topic_reset,
|
||||
String("~") + mqtt_topic_reset,
|
||||
{ { "ic", "mdi:restart" },
|
||||
{ "pl_on", "1" },
|
||||
{ "pl_off", "0" },
|
||||
@@ -860,7 +860,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"Firmware version",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_info_firmware_version,
|
||||
String("~") + mqtt_topic_info_firmware_version,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -877,7 +877,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"Hardware version",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_info_hardware_version,
|
||||
String("~") + mqtt_topic_info_hardware_version,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -894,7 +894,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"NUKI Hub version",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_info_nuki_hub_version,
|
||||
_lockPath + mqtt_topic_info_nuki_hub_version,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -911,12 +911,12 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"LED enabled",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_config_led_enabled,
|
||||
String("~") + mqtt_topic_config_led_enabled,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"config",
|
||||
mqtt_topic_config_led_enabled,
|
||||
String("~") + mqtt_topic_config_led_enabled,
|
||||
{ { "ic", "mdi:led-variant-on" },
|
||||
{ "pl_on", "1" },
|
||||
{ "pl_off", "0" },
|
||||
@@ -931,12 +931,12 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"Button enabled",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_config_button_enabled,
|
||||
String("~") + mqtt_topic_config_button_enabled,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"config",
|
||||
mqtt_topic_config_button_enabled,
|
||||
String("~") + mqtt_topic_config_button_enabled,
|
||||
{ { "ic", "mdi:radiobox-marked" },
|
||||
{ "pl_on", "1" },
|
||||
{ "pl_off", "0" },
|
||||
@@ -951,12 +951,12 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
|
||||
"Unlatch",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_mqtt_connection_state,
|
||||
"",
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
mqtt_topic_lock_action,
|
||||
String("~") + mqtt_topic_lock_action,
|
||||
{ { "enabled_by_default", "false" },
|
||||
{ "pl_prs", "unlatch" }});
|
||||
|
||||
@@ -974,12 +974,12 @@ void Network::publishHASSConfigAdditionalButtons(char *deviceType, const char *b
|
||||
"Lock 'n' Go",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_mqtt_connection_state,
|
||||
"",
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
mqtt_topic_lock_action,
|
||||
String("~") + mqtt_topic_lock_action,
|
||||
{ { "enabled_by_default", "false" },
|
||||
{ "pl_prs", "lockNgo" }});
|
||||
|
||||
@@ -991,12 +991,12 @@ void Network::publishHASSConfigAdditionalButtons(char *deviceType, const char *b
|
||||
"Lock 'n' Go with unlatch",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_mqtt_connection_state,
|
||||
"",
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
mqtt_topic_lock_action,
|
||||
String("~") + mqtt_topic_lock_action,
|
||||
{ { "enabled_by_default", "false" },
|
||||
{ "pl_prs", "lockNgoUnlatch" }});
|
||||
}
|
||||
@@ -1016,7 +1016,7 @@ void Network::publishHASSConfigBatLevel(char *deviceType, const char *baseTopic,
|
||||
"battery level",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_battery_level,
|
||||
String("~") + mqtt_topic_battery_level,
|
||||
deviceType,
|
||||
"battery",
|
||||
"measurement",
|
||||
@@ -1041,7 +1041,7 @@ void Network::publishHASSConfigDoorSensor(char *deviceType, const char *baseTopi
|
||||
"door sensor",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_lock_door_sensor_state,
|
||||
String("~") + mqtt_topic_lock_door_sensor_state,
|
||||
deviceType,
|
||||
"door",
|
||||
"",
|
||||
@@ -1066,7 +1066,7 @@ void Network::publishHASSConfigRingDetect(char *deviceType, const char *baseTopi
|
||||
"ring detect",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_lock_state,
|
||||
String("~") + mqtt_topic_lock_state,
|
||||
deviceType,
|
||||
"sound",
|
||||
"",
|
||||
@@ -1087,12 +1087,12 @@ void Network::publishHASSConfigLedBrightness(char *deviceType, const char *baseT
|
||||
"LED brightness",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_config_led_brightness,
|
||||
String("~") + mqtt_topic_config_led_brightness,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"config",
|
||||
mqtt_topic_config_led_brightness,
|
||||
String("~") + mqtt_topic_config_led_brightness,
|
||||
{ { "ic", "mdi:brightness-6" },
|
||||
{ "min", "0" },
|
||||
{ "max", "5" }});
|
||||
@@ -1107,12 +1107,12 @@ void Network::publishHASSConfigSoundLevel(char *deviceType, const char *baseTopi
|
||||
"Sound level",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_config_sound_level,
|
||||
String("~") + mqtt_topic_config_sound_level,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
"config",
|
||||
mqtt_topic_config_sound_level,
|
||||
String("~") + mqtt_topic_config_sound_level,
|
||||
{ { "ic", "mdi:volume-source" },
|
||||
{ "min", "0" },
|
||||
{ "max", "255" },
|
||||
@@ -1130,7 +1130,7 @@ void Network::publishHASSConfigAccessLog(char *deviceType, const char *baseTopic
|
||||
"Last action authorization",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_lock_log,
|
||||
String("~") + mqtt_topic_lock_log,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -1149,7 +1149,7 @@ void Network::publishHASSConfigKeypadAttemptInfo(char *deviceType, const char *b
|
||||
"Keypad status",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_lock_log,
|
||||
String("~") + mqtt_topic_lock_log,
|
||||
deviceType,
|
||||
"",
|
||||
"",
|
||||
@@ -1177,7 +1177,7 @@ void Network::publishHASSWifiRssiConfig(char *deviceType, const char *baseTopic,
|
||||
"wifi signal strength",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_wifi_rssi,
|
||||
_lockPath + mqtt_topic_wifi_rssi,
|
||||
deviceType,
|
||||
"signal_strength",
|
||||
"measurement",
|
||||
@@ -1200,7 +1200,7 @@ void Network::publishHASSBleRssiConfig(char *deviceType, const char *baseTopic,
|
||||
"bluetooth signal strength",
|
||||
name,
|
||||
baseTopic,
|
||||
mqtt_topic_lock_rssi,
|
||||
String("~") + mqtt_topic_lock_rssi,
|
||||
deviceType,
|
||||
"signal_strength",
|
||||
"measurement",
|
||||
@@ -1247,8 +1247,12 @@ void Network::publishHassTopic(const String& mqttDeviceType,
|
||||
{
|
||||
json["dev_cla"] = deviceClass;
|
||||
}
|
||||
json["stat_t"] = String("~") + stateTopic;
|
||||
|
||||
|
||||
if(stateTopic != "")
|
||||
{
|
||||
json["stat_t"] = stateTopic;
|
||||
}
|
||||
|
||||
if(stateClass != "")
|
||||
{
|
||||
json["stat_cla"] = stateClass;
|
||||
@@ -1259,8 +1263,10 @@ void Network::publishHassTopic(const String& mqttDeviceType,
|
||||
}
|
||||
if(commandTopic != "")
|
||||
{
|
||||
json["cmd_t"] = String("~") + commandTopic;
|
||||
json["cmd_t"] = commandTopic;
|
||||
}
|
||||
|
||||
json["avty"]["t"] = _lockPath + mqtt_topic_mqtt_connection_state;
|
||||
|
||||
for(const auto& entry : additionalEntries)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user