diff --git a/NetworkOpener.cpp b/NetworkOpener.cpp index 60438dd..b4c592f 100644 --- a/NetworkOpener.cpp +++ b/NetworkOpener.cpp @@ -82,7 +82,7 @@ void NetworkOpener::update() char str[50]; memset(str, 0, sizeof(str)); _resetLockStateTs = 0; - lockstateToString(NukiOpener::LockState::Locked, str); + lockstateToString(_currentLockState, str); publishString(mqtt_topic_lock_state, str); } } @@ -199,6 +199,8 @@ void NetworkOpener::onMqttDataReceived(const char* topic, byte* payload, const u void NetworkOpener::publishKeyTurnerState(const NukiOpener::OpenerState& keyTurnerState, const NukiOpener::OpenerState& lastKeyTurnerState) { + _currentLockState = keyTurnerState.lockState; + char str[50]; if((_firstTunerStatePublish || keyTurnerState.lockState != lastKeyTurnerState.lockState || keyTurnerState.nukiState != lastKeyTurnerState.nukiState) && keyTurnerState.lockState != NukiOpener::LockState::Undefined) diff --git a/NetworkOpener.h b/NetworkOpener.h index 67eaa1a..5a2853e 100644 --- a/NetworkOpener.h +++ b/NetworkOpener.h @@ -82,6 +82,7 @@ private: int _keypadCommandEnabled = 1; unsigned long _resetLockStateTs = 0; uint8_t _queryCommands = 0; + NukiOpener::LockState _currentLockState = NukiOpener::LockState::Undefined; char* _buffer; const size_t _bufferSize;