From de117f5a066127bdc1ec7d29b4d098e750084781 Mon Sep 17 00:00:00 2001 From: technyon Date: Sun, 4 Feb 2024 17:03:50 +0100 Subject: [PATCH] remove ha auto discovery lock'n'go for opener --- Config.h | 2 +- Network.cpp | 74 ++++++++++++++++++++++++++----------------------- Network.h | 1 + NetworkLock.cpp | 1 + 4 files changed, 43 insertions(+), 35 deletions(-) diff --git a/Config.h b/Config.h index 6b66e80..07f9518 100644 --- a/Config.h +++ b/Config.h @@ -1,6 +1,6 @@ #pragma once -#define NUKI_HUB_VERSION "8.31" +#define NUKI_HUB_VERSION "8.32-pre-3" #define MQTT_QOS_LEVEL 1 #define MQTT_CLEAN_SESSIONS false diff --git a/Network.cpp b/Network.cpp index 912f0ca..fe48b7c 100644 --- a/Network.cpp +++ b/Network.cpp @@ -942,40 +942,6 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n { "pl_off", "0" }, { "state_on", "1" }, { "state_off", "0" }}); - - // Lock 'n' Go - publishHassTopic("button", - "lockngo", - uidString, - "_lock_n_go_button", - "Lock 'n' Go", - name, - baseTopic, - mqtt_topic_mqtt_connection_state, - deviceType, - "", - "", - "", - mqtt_topic_lock_action, - { { "enabled_by_default", "false" }, - { "pl_prs", "lockNgo" }}); - - // Lock 'n' Go with unlatch - publishHassTopic("button", - "lockngounlatch", - uidString, - "_lock_n_go_unlatch_button", - "Lock 'n' Go with unlatch", - name, - baseTopic, - mqtt_topic_mqtt_connection_state, - deviceType, - "", - "", - "", - mqtt_topic_lock_action, - { { "enabled_by_default", "false" }, - { "pl_prs", "lockNgoUnlatch" }}); // Unlatch publishHassTopic("button", @@ -996,6 +962,46 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n } } + + +void Network::publishHASSConfigAdditionalButtons(char *deviceType, const char *baseTopic, char *name, char *uidString, const char *availabilityTopic, const bool &hasKeypad, char *lockAction, char *unlockAction, char *openAction, char *lockedState, char *unlockedState) +{ + // Lock 'n' Go + publishHassTopic("button", + "lockngo", + uidString, + "_lock_n_go_button", + "Lock 'n' Go", + name, + baseTopic, + mqtt_topic_mqtt_connection_state, + deviceType, + "", + "", + "", + mqtt_topic_lock_action, + { { "enabled_by_default", "false" }, + { "pl_prs", "lockNgo" }}); + + // Lock 'n' Go with unlatch + publishHassTopic("button", + "lockngounlatch", + uidString, + "_lock_n_go_unlatch_button", + "Lock 'n' Go with unlatch", + name, + baseTopic, + mqtt_topic_mqtt_connection_state, + deviceType, + "", + "", + "", + mqtt_topic_lock_action, + { { "enabled_by_default", "false" }, + { "pl_prs", "lockNgoUnlatch" }}); +} + + //json["cmd_t"] = String("~") + String(mqtt_topic_lock_action); void Network::publishHASSConfigBatLevel(char *deviceType, const char *baseTopic, char *name, char *uidString) { diff --git a/Network.h b/Network.h index e2c234b..c9aa133 100644 --- a/Network.h +++ b/Network.h @@ -44,6 +44,7 @@ public: bool publishString(const char* prefix, const char* topic, const char* value); void publishHASSConfig(char* deviceType, const char* baseTopic, char* name, char* uidString, const char* availabilityTopic, const bool& hasKeypad, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState); + void publishHASSConfigAdditionalButtons(char* deviceType, const char* baseTopic, char* name, char* uidString, const char* availabilityTopic, const bool& hasKeypad, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState); void publishHASSConfigBatLevel(char* deviceType, const char* baseTopic, char* name, char* uidString); void publishHASSConfigDoorSensor(char* deviceType, const char* baseTopic, char* name, char* uidString, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState); void publishHASSConfigRingDetect(char* deviceType, const char* baseTopic, char* name, char* uidString); diff --git a/NetworkLock.cpp b/NetworkLock.cpp index 2942dc1..549afc5 100644 --- a/NetworkLock.cpp +++ b/NetworkLock.cpp @@ -532,6 +532,7 @@ void NetworkLock::publishHASSConfig(char *deviceType, const char *baseTopic, cha char *unlockAction, char *openAction, char *lockedState, char *unlockedState) { _network->publishHASSConfig(deviceType, baseTopic, name, uidString, "~/maintenance/mqttConnectionState", hasKeypad, lockAction, unlockAction, openAction, lockedState, unlockedState); + _network->publishHASSConfigAdditionalButtons(deviceType, baseTopic, name, uidString, "~/maintenance/mqttConnectionState", hasKeypad, lockAction, unlockAction, openAction, lockedState, unlockedState); _network->publishHASSConfigBatLevel(deviceType, baseTopic, name, uidString); _network->publishHASSConfigLedBrightness(deviceType, baseTopic, name, uidString); if(hasDoorSensor)