diff --git a/WebCfgServer.cpp b/WebCfgServer.cpp
index f7bfd98..0f95291 100644
--- a/WebCfgServer.cpp
+++ b/WebCfgServer.cpp
@@ -3,9 +3,10 @@
#include "Version.h"
#include "hardware/WifiEthServer.h"
-WebCfgServer::WebCfgServer(NukiWrapper* nuki, Network* network, EthServer* ethServer, Preferences* preferences, bool allowRestartToPortal)
+WebCfgServer::WebCfgServer(NukiWrapper* nuki, NukiOpenerWrapper* nukiOpener, Network* network, EthServer* ethServer, Preferences* preferences, bool allowRestartToPortal)
: _server(ethServer),
_nuki(nuki),
+ _nukiOpener(nukiOpener),
_network(network),
_preferences(preferences),
_allowRestartToPortal(allowRestartToPortal)
@@ -274,25 +275,29 @@ void WebCfgServer::buildHtml(String& response)
response.concat("
");
- bool lockEnabled = _preferences->getBool(preference_lock_enabled);
-
- String lockState = " ";
- if(lockEnabled)
+ printParameter(response, "MQTT Connected", _network->isMqttConnected() ? " Yes" : " No");
+ if(_nuki != nullptr)
{
+ String lockState = " ";
char lockstateArr[20];
NukiLock::lockstateToString(_nuki->keyTurnerState().lockState, lockstateArr);
lockState.concat(lockstateArr);
- printParameter(response, "Paired", _nuki->isPaired() ? " Yes" : " No");
+ printParameter(response, "NUKI Lock Paired", _nuki->isPaired() ? " Yes" : " No");
+ printParameter(response, "NUKI Lock state", lockState.c_str());
}
- printParameter(response, "MQTT Connected", _network->isMqttConnected() ? " Yes" : " No");
- if(lockEnabled)
+ if(_nukiOpener != nullptr)
{
- printParameter(response, "Lock state", lockState.c_str());
+ String lockState = " ";
+ char lockstateArr[20];
+ NukiOpener::lockstateToString(_nukiOpener->keyTurnerState().lockState, lockstateArr);
+ lockState.concat(lockstateArr);
+ printParameter(response, "NUKI Lock Paired", _nukiOpener->isPaired() ? " Yes" : " No");
+ printParameter(response, "NUKI Lock state", lockState.c_str());
}
printParameter(response, "Firmware", version.c_str());
response.concat("
");
- response.concat("MQTT Configuration
");
+ response.concat("MQTT and Network Configuration
");
response.concat("");
@@ -311,8 +316,6 @@ void WebCfgServer::buildHtml(String& response)
{
printInputField(response, "MQTTOPPATH", "MQTT Opener Path", _preferences->getString(preference_mqtt_opener_path).c_str(), 180);
}
- printInputField(response, "HOSTNAME", "Host name", _preferences->getString(preference_hostname).c_str(), 100);
- printInputField(response, "NETTIMEOUT", "Network Timeout until restart (seconds; -1 to disable)", _preferences->getInt(preference_network_timeout), 5);
printInputField(response, "LSTINT", "Query interval lock state (seconds)", _preferences->getInt(preference_query_interval_lockstate), 10);
printInputField(response, "BATINT", "Query interval battery (seconds)", _preferences->getInt(preference_query_interval_battery), 10);
printCheckBox(response, "PUBAUTH", "Publish auth data (May reduce battery life)", _preferences->getBool(preference_publish_authdata));
@@ -380,10 +383,12 @@ void WebCfgServer::buildMqttConfigHtml(String &response)
response.concat("");
diff --git a/WebCfgServer.h b/WebCfgServer.h
index f144e64..9591bbb 100644
--- a/WebCfgServer.h
+++ b/WebCfgServer.h
@@ -4,6 +4,7 @@
#include
#include "NukiWrapper.h"
#include "Network.h"
+#include "NukiOpenerWrapper.h"
enum class TokenType
{
@@ -20,7 +21,7 @@ enum class TokenType
class WebCfgServer
{
public:
- WebCfgServer(NukiWrapper* nuki, Network* network, EthServer* ethServer, Preferences* preferences, bool allowRestartToPortal);
+ WebCfgServer(NukiWrapper* nuki, NukiOpenerWrapper* nukiOpener, Network* network, EthServer* ethServer, Preferences* preferences, bool allowRestartToPortal);
~WebCfgServer() = default;
void initialize();
@@ -48,6 +49,7 @@ private:
WebServer _server;
NukiWrapper* _nuki;
+ NukiOpenerWrapper* _nukiOpener;
Network* _network;
Preferences* _preferences;
diff --git a/main.cpp b/main.cpp
index 9eb25ad..9c09801 100644
--- a/main.cpp
+++ b/main.cpp
@@ -178,7 +178,7 @@ void setup()
nukiOpener->initialize();
}
- webCfgServer = new WebCfgServer(nuki, network, ethServer, preferences, networkDevice == NetworkDeviceType::WiFi);
+ webCfgServer = new WebCfgServer(nuki, nukiOpener, network, ethServer, preferences, networkDevice == NetworkDeviceType::WiFi);
webCfgServer->initialize();
presenceDetection = new PresenceDetection(preferences, bleScanner, network);