From ac8ec6022a543b402cc413351779cc0816ba7039 Mon Sep 17 00:00:00 2001 From: technyon Date: Thu, 7 Apr 2022 22:08:09 +0200 Subject: [PATCH] also show lock state in config page --- NukiWrapper.cpp | 8 +++++++- NukiWrapper.h | 1 + WebCfgServer.cpp | 6 ++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/NukiWrapper.cpp b/NukiWrapper.cpp index 578e098..09284db 100644 --- a/NukiWrapper.cpp +++ b/NukiWrapper.cpp @@ -12,10 +12,11 @@ NukiWrapper::NukiWrapper(const std::string& deviceName, uint32_t id, Network* ne { nukiInst = this; - memset(&_keyTurnerState, sizeof(Nuki::KeyTurnerState), 0); memset(&_lastKeyTurnerState, sizeof(Nuki::KeyTurnerState), 0); memset(&_lastBatteryReport, sizeof(Nuki::BatteryReport), 0); memset(&_batteryReport, sizeof(Nuki::BatteryReport), 0); + memset(&_keyTurnerState, sizeof(Nuki::KeyTurnerState), 0); + _keyTurnerState.lockState = Nuki::LockState::Undefined; network->setLockActionReceived(nukiInst->onLockActionReceived); } @@ -154,6 +155,11 @@ void NukiWrapper::onLockActionReceived(const char *value) nukiInst->_nextLockAction = nukiInst->lockActionToEnum(value); } +const Nuki::KeyTurnerState &NukiWrapper::keyTurnerState() +{ + return _keyTurnerState; +} + const bool NukiWrapper::isPaired() { return _paired; diff --git a/NukiWrapper.h b/NukiWrapper.h index f420ac8..7870edd 100644 --- a/NukiWrapper.h +++ b/NukiWrapper.h @@ -14,6 +14,7 @@ public: void initialize(); void update(); + const Nuki::KeyTurnerState& keyTurnerState(); const bool isPaired(); BleScanner* bleScanner(); diff --git a/WebCfgServer.cpp b/WebCfgServer.cpp index 6ec73ca..71357c4 100644 --- a/WebCfgServer.cpp +++ b/WebCfgServer.cpp @@ -197,9 +197,15 @@ void WebCfgServer::buildHtml(String& response) String version = " "; version.concat(nuki_hub_version); + char lockstateArr[20]; + Nuki::lockstateToString(_nuki->keyTurnerState().lockState, lockstateArr); + String lockState = " "; + lockState.concat(lockstateArr); + response.concat(""); printParameter(response, "Paired", _nuki->isPaired() ? " Yes" : " No"); printParameter(response, "MQTT Connected", _network->isMqttConnected() ? " Yes" : " No"); + printParameter(response, "Lock state", lockState.c_str()); printParameter(response, "Firmware", version.c_str()); response.concat("


");