publish correct lock state after ring detection

This commit is contained in:
technyon
2023-08-12 13:08:10 +02:00
parent 1a4d70478e
commit a5d740fd26
2 changed files with 4 additions and 1 deletions

View File

@@ -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)

View File

@@ -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;