Update Tasks

This commit is contained in:
iranl
2024-05-22 21:10:15 +02:00
parent 87edff8312
commit 699d9a148a
9 changed files with 138 additions and 84 deletions

View File

@@ -55,7 +55,7 @@ void NetworkLock::initialize()
_network->subscribe(_mqttPath, mqtt_topic_webserver_action);
_network->initTopic(_mqttPath, mqtt_topic_webserver_action, "--");
_network->initTopic(_mqttPath, mqtt_topic_webserver_state, _preferences->getBool(preference_webserver_enabled, true) ? 1 : 0);
_network->initTopic(_mqttPath, mqtt_topic_webserver_state, (_preferences->getBool(preference_webserver_enabled, true) ? "1" : "0"));
_network->initTopic(_mqttPath, mqtt_topic_query_config, "0");
_network->initTopic(_mqttPath, mqtt_topic_query_lockstate, "0");
@@ -111,22 +111,21 @@ void NetworkLock::onMqttDataReceived(const char* topic, byte* payload, const uns
if(strcmp(value, "") == 0 ||
strcmp(value, "--") == 0) return;
publishString(mqtt_topic_webserver_action, "--");
if(strcmp(value, "1") == 0)
{
if(_preferences->getBool(preference_webserver_enabled)) return;
if(_preferences->getBool(preference_webserver_enabled, true)) return;
Log->println(F("Webserver enabled, restarting."));
_preferences->putBool(preference_webserver_enabled, true);
}
else if (strcmp(value, "0") == 0)
{
if(!_preferences->getBool(preference_webserver_enabled)) return;
if(!_preferences->getBool(preference_webserver_enabled, true)) return;
Log->println(F("Webserver disabled, restarting."));
_preferences->putBool(preference_webserver_enabled, false);
}
publishString(mqtt_topic_webserver_action, "--");
_network->clearWifiFallback();
delay(200);
restartEsp(RestartReason::RequestedViaMqtt);
@@ -410,15 +409,8 @@ void NetworkLock::publishAuthorizationInfo(const std::list<NukiLock::LogEntry>&
JsonDocument json;
int i = 5;
for(const auto& log : logEntries)
{
if(i <= 0)
{
break;
}
--i;
memset(authName, 0, sizeof(authName));
authName[0] = '\0';
@@ -468,6 +460,7 @@ void NetworkLock::publishAuthorizationInfo(const std::list<NukiLock::LogEntry>&
memset(str, 0, sizeof(str));
NukiLock::completionStatusToString((NukiLock::CompletionStatus)log.data[3], str);
entry["completionStatus"] = str;
entry["completionStatusVal"] = log.data[3];
break;
case NukiLock::LoggingType::KeypadAction:
memset(str, 0, sizeof(str));
@@ -477,6 +470,7 @@ void NetworkLock::publishAuthorizationInfo(const std::list<NukiLock::LogEntry>&
memset(str, 0, sizeof(str));
NukiLock::completionStatusToString((NukiLock::CompletionStatus)log.data[2], str);
entry["completionStatus"] = str;
entry["completionStatusVal"] = log.data[2];
break;
case NukiLock::LoggingType::DoorSensor:
memset(str, 0, sizeof(str));