Merge branch 'technyon:master' into add-configuration-url

This commit is contained in:
iranl
2024-02-07 20:51:36 +01:00
committed by GitHub
4 changed files with 121 additions and 37 deletions

View File

@@ -761,7 +761,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",
"",
@@ -780,7 +780,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",
"",
@@ -802,7 +802,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",
@@ -818,7 +818,7 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
"trigger",
name,
baseTopic,
mqtt_topic_lock_trigger,
String("~") + mqtt_topic_lock_trigger,
deviceType,
"",
"",
@@ -834,7 +834,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,
"",
"",
@@ -852,12 +852,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" },
@@ -872,7 +872,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,
"",
"",
@@ -889,7 +889,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,
"",
"",
@@ -906,7 +906,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,
"",
"",
@@ -923,12 +923,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" },
@@ -943,12 +943,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" },
@@ -963,12 +963,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" }});
@@ -986,12 +986,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" }});
@@ -1003,12 +1003,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" }});
}
@@ -1028,7 +1028,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",
@@ -1053,7 +1053,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",
"",
@@ -1078,7 +1078,7 @@ void Network::publishHASSConfigRingDetect(char *deviceType, const char *baseTopi
"ring detect",
name,
baseTopic,
mqtt_topic_lock_state,
String("~") + mqtt_topic_lock_state,
deviceType,
"sound",
"",
@@ -1099,12 +1099,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" }});
@@ -1112,22 +1112,24 @@ void Network::publishHASSConfigLedBrightness(char *deviceType, const char *baseT
void Network::publishHASSConfigSoundLevel(char *deviceType, const char *baseTopic, char *name, char *uidString)
{
publishHassTopic("sensor",
publishHassTopic("number",
"sound_level",
uidString,
"_sound_level",
"Sound level",
name,
baseTopic,
mqtt_topic_config_sound_level,
String("~") + mqtt_topic_config_sound_level,
deviceType,
"",
"",
"diagnostic",
mqtt_topic_config_sound_level,
"config",
String("~") + mqtt_topic_config_sound_level,
{ { "ic", "mdi:volume-source" },
{ "min", "0" },
{ "max", "255" }});
{ "max", "255" },
{ "mode", "slider" },
{ "step", "25.5" }});
}
@@ -1140,7 +1142,7 @@ void Network::publishHASSConfigAccessLog(char *deviceType, const char *baseTopic
"Last action authorization",
name,
baseTopic,
mqtt_topic_lock_log,
String("~") + mqtt_topic_lock_log,
deviceType,
"",
"",
@@ -1159,7 +1161,7 @@ void Network::publishHASSConfigKeypadAttemptInfo(char *deviceType, const char *b
"Keypad status",
name,
baseTopic,
mqtt_topic_lock_log,
String("~") + mqtt_topic_lock_log,
deviceType,
"",
"",
@@ -1187,7 +1189,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",
@@ -1210,7 +1212,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",
@@ -1257,8 +1259,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;
@@ -1269,8 +1275,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)
{
@@ -1378,6 +1386,18 @@ void Network::removeHASSConfig(char* uidString)
path.concat("/battery_level/config");
_device->mqttPublish(path.c_str(), MQTT_QOS_LEVEL, true, "");
path = discoveryTopic;
path.concat("/sensor/");
path.concat(uidString);
path.concat("/sound_level/config");
_device->mqttPublish(path.c_str(), MQTT_QOS_LEVEL, true, "");
path = discoveryTopic;
path.concat("/number/");
path.concat(uidString);
path.concat("/sound_level/config");
_device->mqttPublish(path.c_str(), MQTT_QOS_LEVEL, true, "");
path = discoveryTopic;
path.concat("/binary_sensor/");
path.concat(uidString);