Initial HASS autodiscovery support

This commit is contained in:
rodriguezst
2022-06-19 09:51:07 +00:00
committed by GitHub
parent 6e3371df3d
commit 9f68e67ce8
8 changed files with 83 additions and 0 deletions

View File

@@ -75,6 +75,7 @@ void NukiOpenerWrapper::update()
if (_nukiOpener.pairNuki() == NukiOpener::PairingResult::Success) {
Serial.println(F("Nuki opener paired"));
_paired = true;
setupHASS();
}
else
{
@@ -299,3 +300,23 @@ void NukiOpenerWrapper::readAdvancedConfig()
_nukiAdvancedConfigValid = result == Nuki::CmdResult::Success;
Serial.println(result);
}
void NukiOpenerWrapper::setupHASS()
{
if(!_nukiConfigValid) // only ask for config once to save battery life
{
Nuki::CmdResult result = _nukiOpener.requestConfig(&_nukiConfig);
_nukiConfigValid = result == Nuki::CmdResult::Success;
}
if (_nukiConfigValid)
{
String baseTopic = _preferences->getString(preference_mqtt_opener_path);
char uidString[20];
itoa(_nukiConfig.nukiId, uidString, 16);
_network->publishHASSConfig(baseTopic.c_str(),(char*)_nukiConfig.name,uidString,"deactivateRTO","activateRTO","electricStrikeActuation","locked","RTOactive");
}
else
{
Serial.println(F("Unable to setup HASS. Invalid config received."));
}
}