publish last lock state
This commit is contained in:
2
Config.h
2
Config.h
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define NUKI_HUB_VERSION "8.11"
|
#define NUKI_HUB_VERSION "8.12-pre-1"
|
||||||
|
|
||||||
#define MQTT_QOS_LEVEL 1
|
#define MQTT_QOS_LEVEL 1
|
||||||
#define MQTT_CLEAN_SESSIONS false
|
#define MQTT_CLEAN_SESSIONS false
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
#define mqtt_topic_query_battery "/lock/query/battery"
|
#define mqtt_topic_query_battery "/lock/query/battery"
|
||||||
#define mqtt_topic_lock_binary_state "/lock/binaryState"
|
#define mqtt_topic_lock_binary_state "/lock/binaryState"
|
||||||
#define mqtt_topic_lock_trigger "/lock/trigger"
|
#define mqtt_topic_lock_trigger "/lock/trigger"
|
||||||
|
#define mqtt_topic_lock_last_lock_action "/lock/lastLockAction"
|
||||||
#define mqtt_topic_lock_log "/lock/log"
|
#define mqtt_topic_lock_log "/lock/log"
|
||||||
#define mqtt_topic_lock_auth_id "/lock/authorizationId"
|
#define mqtt_topic_lock_auth_id "/lock/authorizationId"
|
||||||
#define mqtt_topic_lock_auth_name "/lock/authorizationName"
|
#define mqtt_topic_lock_auth_name "/lock/authorizationName"
|
||||||
|
|||||||
@@ -207,6 +207,13 @@ void NetworkLock::publishKeyTurnerState(const NukiLock::KeyTurnerState& keyTurne
|
|||||||
publishString(mqtt_topic_lock_trigger, str);
|
publishString(mqtt_topic_lock_trigger, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(_firstTunerStatePublish || keyTurnerState.lastLockAction != lastKeyTurnerState.lastLockAction)
|
||||||
|
{
|
||||||
|
memset(&str, 0, sizeof(str));
|
||||||
|
lockactionToString(keyTurnerState.lastLockAction, str);
|
||||||
|
publishString(mqtt_topic_lock_last_lock_action, str);
|
||||||
|
}
|
||||||
|
|
||||||
if(_firstTunerStatePublish || keyTurnerState.lastLockActionCompletionStatus != lastKeyTurnerState.lastLockActionCompletionStatus)
|
if(_firstTunerStatePublish || keyTurnerState.lastLockActionCompletionStatus != lastKeyTurnerState.lastLockActionCompletionStatus)
|
||||||
{
|
{
|
||||||
memset(&str, 0, sizeof(str));
|
memset(&str, 0, sizeof(str));
|
||||||
|
|||||||
@@ -205,10 +205,11 @@ void NetworkOpener::publishKeyTurnerState(const NukiOpener::OpenerState& keyTurn
|
|||||||
publishString(mqtt_topic_lock_trigger, str);
|
publishString(mqtt_topic_lock_trigger, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(_firstTunerStatePublish || keyTurnerState.lastLockActionCompletionStatus != lastKeyTurnerState.lastLockActionCompletionStatus)
|
if(_firstTunerStatePublish || keyTurnerState.lastLockActionCompletionStatus != lastKeyTurnerState.lastLockActionCompletionStatus)
|
||||||
{
|
{
|
||||||
memset(&str, 0, sizeof(str));
|
memset(&str, 0, sizeof(str));
|
||||||
NukiOpener::completionStatusToString(keyTurnerState.lastLockActionCompletionStatus, str);
|
completionStatusToString(keyTurnerState.lastLockActionCompletionStatus, str);
|
||||||
publishString(mqtt_topic_lock_completionStatus, str);
|
publishString(mqtt_topic_lock_completionStatus, str);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -302,11 +303,11 @@ void NetworkOpener::publishAuthorizationInfo(const std::list<NukiOpener::LogEntr
|
|||||||
{
|
{
|
||||||
case NukiOpener::LoggingType::LockAction:
|
case NukiOpener::LoggingType::LockAction:
|
||||||
memset(str, 0, sizeof(str));
|
memset(str, 0, sizeof(str));
|
||||||
NukiLock::lockactionToString((NukiLock::LockAction)log.data[0], str);
|
lockactionToString((NukiOpener::LockAction)log.data[0], str);
|
||||||
json.concat("\"action\": \""); json.concat(str); json.concat("\",\n");
|
json.concat("\"action\": \""); json.concat(str); json.concat("\",\n");
|
||||||
|
|
||||||
memset(str, 0, sizeof(str));
|
memset(str, 0, sizeof(str));
|
||||||
NukiLock::triggerToString((NukiLock::Trigger)log.data[1], str);
|
triggerToString((NukiOpener::Trigger)log.data[1], str);
|
||||||
json.concat("\"trigger\": \""); json.concat(str); json.concat("\",\n");
|
json.concat("\"trigger\": \""); json.concat(str); json.concat("\",\n");
|
||||||
|
|
||||||
memset(str, 0, sizeof(str));
|
memset(str, 0, sizeof(str));
|
||||||
@@ -315,11 +316,11 @@ void NetworkOpener::publishAuthorizationInfo(const std::list<NukiOpener::LogEntr
|
|||||||
break;
|
break;
|
||||||
case NukiOpener::LoggingType::KeypadAction:
|
case NukiOpener::LoggingType::KeypadAction:
|
||||||
memset(str, 0, sizeof(str));
|
memset(str, 0, sizeof(str));
|
||||||
NukiLock::lockactionToString((NukiLock::LockAction)log.data[0], str);
|
lockactionToString((NukiOpener::LockAction)log.data[0], str);
|
||||||
json.concat("\"action\": \""); json.concat(str); json.concat("\",\n");
|
json.concat("\"action\": \""); json.concat(str); json.concat("\",\n");
|
||||||
|
|
||||||
memset(str, 0, sizeof(str));
|
memset(str, 0, sizeof(str));
|
||||||
NukiLock::completionStatusToString((NukiLock::CompletionStatus)log.data[2], str);
|
completionStatusToString((NukiOpener::CompletionStatus)log.data[2], str);
|
||||||
json.concat("\"completionStatus\": \""); json.concat(str); json.concat("\"\n");
|
json.concat("\"completionStatus\": \""); json.concat(str); json.concat("\"\n");
|
||||||
break;
|
break;
|
||||||
case NukiOpener::LoggingType::DoorbellRecognition:
|
case NukiOpener::LoggingType::DoorbellRecognition:
|
||||||
|
|||||||
Reference in New Issue
Block a user