Fix settings opener config; add confguring sound level

This commit is contained in:
technyon
2022-07-17 10:32:16 +02:00
parent 043cedc790
commit 65a649b9c1
4 changed files with 19 additions and 9 deletions

View File

@@ -23,5 +23,6 @@
#define mqtt_topic_config_auto_unlock "/configuration/autoUnlock"
#define mqtt_topic_config_auto_lock "/configuration/autoLock"
#define mqtt_topic_config_single_lock "/configuration/singleLock"
#define mqtt_topic_config_sound_level "/configuration/soundLevel"
#define mqtt_topic_presence "/presence/devices"

View File

@@ -10,11 +10,11 @@ NetworkOpener::NetworkOpener(Network* network, Preferences* preferences)
_network(network)
{
_configTopics.reserve(5);
// _configTopics.push_back(mqtt_topic_config_button_enabled);
// _configTopics.push_back(mqtt_topic_config_led_enabled);
// _configTopics.push_back(mqtt_topic_config_led_brightness);
// _configTopics.push_back(mqtt_topic_config_auto_unlock);
// _configTopics.push_back(mqtt_topic_config_auto_lock);
_configTopics.push_back(mqtt_topic_config_button_enabled);
_configTopics.push_back(mqtt_topic_config_led_enabled);
_configTopics.push_back(mqtt_topic_config_sound_level);
_network->registerMqttReceiver(this);
}
void NetworkOpener::initialize()
@@ -35,7 +35,10 @@ void NetworkOpener::initialize()
}
_network->subscribe(_mqttPath, mqtt_topic_lock_action);
_network->registerMqttReceiver(this);
for(const auto& topic : _configTopics)
{
_network->subscribe(_mqttPath, topic);
}
}
void NetworkOpener::onMqttDataReceived(char *&topic, byte *&payload, unsigned int &length)
@@ -139,8 +142,7 @@ void NetworkOpener::publishConfig(const NukiOpener::Config &config)
void NetworkOpener::publishAdvancedConfig(const NukiOpener::AdvancedConfig &config)
{
// publishBool(mqtt_topic_config_auto_unlock, config.autoUnLockDisabled == 0);
// publishBool(mqtt_topic_config_auto_lock, config.autoLockEnabled == 1);
publishUInt(mqtt_topic_config_sound_level, config.soundLevel);
}
void NetworkOpener::publishHASSConfig(char* deviceType, const char* baseTopic, char* name, char* uidString, char* lockAction, char* unlockAction, char* openAction, char* lockedState, char* unlockedState)

View File

@@ -260,6 +260,13 @@ void NukiOpenerWrapper::onConfigUpdateReceived(const char *topic, const char *va
_nukiOpener.enableLedFlash(newValue);
_nextConfigUpdateTs = millis() + 300;
}
if(strcmp(topic, mqtt_topic_config_sound_level) == 0)
{
uint8_t newValue = atoi(value);
if(!_nukiAdvancedConfigValid || _nukiAdvancedConfig.soundLevel == newValue) return;
_nukiOpener.setSoundLevel(newValue);
_nextConfigUpdateTs = millis() + 300;
}
}
const NukiOpener::OpenerState &NukiOpenerWrapper::keyTurnerState()

View File

@@ -1,3 +1,3 @@
#pragma once
#define nuki_hub_version "5.2"
#define nuki_hub_version "5.3"