diff --git a/Version.h b/Version.h index 7181a75..c7eb4ec 100644 --- a/Version.h +++ b/Version.h @@ -1,3 +1,3 @@ #pragma once -#define nuki_hub_version "5.4" \ No newline at end of file +#define nuki_hub_version "5.5" \ No newline at end of file diff --git a/WebCfgServer.cpp b/WebCfgServer.cpp index 3887444..994f312 100644 --- a/WebCfgServer.cpp +++ b/WebCfgServer.cpp @@ -234,17 +234,20 @@ bool WebCfgServer::processArgs(String& message) } else if(key == "HASSDISCOVERY") { - // Previous HASS config has to be disabled first (remove retained MQTT messages) - if ( _nuki != nullptr ) + if(_preferences->getString(preference_mqtt_hass_discovery) != value) { - _nuki->disableHASS(); + // Previous HASS config has to be disabled first (remove retained MQTT messages) + if (_nuki != nullptr) + { + _nuki->disableHASS(); + } + if (_nukiOpener != nullptr) + { + _nukiOpener->disableHASS(); + } + _preferences->putString(preference_mqtt_hass_discovery, value); + configChanged = true; } - if ( _nukiOpener != nullptr ) - { - _nukiOpener->disableHASS(); - } - _preferences->putString(preference_mqtt_hass_discovery, value); - configChanged = true; } else if(key == "HOSTNAME") {