@@ -406,6 +406,31 @@ void NukiOpenerWrapper::updateConfig()
|
||||
_hardwareVersion = std::to_string(_nukiConfig.hardwareRevision[0]) + "." + std::to_string(_nukiConfig.hardwareRevision[1]);
|
||||
_network->publishConfig(_nukiConfig);
|
||||
_retryConfigCount = 0;
|
||||
|
||||
const int pinStatus = _preferences->getInt(preference_opener_pin_status, 4);
|
||||
|
||||
if(isPinSet()) {
|
||||
Nuki::CmdResult result = _nukiOpener.verifySecurityPin();
|
||||
|
||||
if(result != Nuki::CmdResult::Success)
|
||||
{
|
||||
if(pinStatus != 2) {
|
||||
_preferences->putInt(preference_opener_pin_status, 2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(pinStatus != 1) {
|
||||
_preferences->putInt(preference_opener_pin_status, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(pinStatus != 0) {
|
||||
_preferences->putInt(preference_opener_pin_status, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -379,6 +379,31 @@ void NukiWrapper::updateConfig()
|
||||
_hardwareVersion = std::to_string(_nukiConfig.hardwareRevision[0]) + "." + std::to_string(_nukiConfig.hardwareRevision[1]);
|
||||
_network->publishConfig(_nukiConfig);
|
||||
_retryConfigCount = 0;
|
||||
|
||||
const int pinStatus = _preferences->getInt(preference_lock_pin_status, 4);
|
||||
|
||||
if(isPinSet()) {
|
||||
Nuki::CmdResult result = _nukiLock.verifySecurityPin();
|
||||
|
||||
if(result != Nuki::CmdResult::Success)
|
||||
{
|
||||
if(pinStatus != 2) {
|
||||
_preferences->putInt(preference_lock_pin_status, 2);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(pinStatus != 1) {
|
||||
_preferences->putInt(preference_lock_pin_status, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(pinStatus != 0) {
|
||||
_preferences->putInt(preference_lock_pin_status, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -14,8 +14,10 @@
|
||||
#define preference_mqtt_password "mqttpass"
|
||||
#define preference_mqtt_log_enabled "mqttlog"
|
||||
#define preference_lock_enabled "lockena"
|
||||
#define preference_lock_pin_status "lockpin"
|
||||
#define preference_mqtt_lock_path "mqttpath"
|
||||
#define preference_opener_enabled "openerena"
|
||||
#define preference_opener_pin_status "openerpin"
|
||||
#define preference_opener_continuous_mode "openercont"
|
||||
#define preference_mqtt_opener_path "mqttoppath"
|
||||
#define preference_check_updates "checkupdates"
|
||||
@@ -71,8 +73,8 @@ private:
|
||||
std::vector<char*> _keys =
|
||||
{
|
||||
preference_started_before, preference_config_version, preference_device_id_lock, preference_device_id_opener, preference_nuki_id_lock, preference_nuki_id_opener, preference_mqtt_broker, preference_mqtt_broker_port, preference_mqtt_user, preference_mqtt_password, preference_mqtt_log_enabled, preference_check_updates,
|
||||
preference_lock_enabled, preference_mqtt_lock_path, preference_opener_enabled, preference_opener_continuous_mode, preference_mqtt_opener_path,
|
||||
preference_lock_max_keypad_code_count, preference_opener_max_keypad_code_count,
|
||||
preference_lock_enabled, preference_lock_pin_status, preference_mqtt_lock_path, preference_opener_enabled, preference_opener_pin_status,
|
||||
preference_opener_continuous_mode, preference_mqtt_opener_path, preference_lock_max_keypad_code_count, preference_opener_max_keypad_code_count,
|
||||
preference_mqtt_ca, preference_mqtt_crt, preference_mqtt_key, preference_mqtt_hass_discovery, preference_mqtt_hass_cu_url,
|
||||
preference_ip_dhcp_enabled, preference_ip_address, preference_ip_subnet, preference_ip_gateway, preference_ip_dns_server,
|
||||
preference_network_hardware, preference_network_wifi_fallback_disabled, preference_rssi_publish_interval,
|
||||
|
||||
@@ -710,6 +710,25 @@ void WebCfgServer::buildHtml(String& response)
|
||||
NukiLock::lockstateToString(_nuki->keyTurnerState().lockState, lockstateArr);
|
||||
printParameter(response, "Nuki Lock paired", _nuki->isPaired() ? ("Yes (BLE Address " + _nuki->getBleAddress().toString() + ")").c_str() : "No");
|
||||
printParameter(response, "Nuki Lock state", lockstateArr);
|
||||
|
||||
if(_nuki->isPaired())
|
||||
{
|
||||
switch(_preferences->getInt(preference_lock_pin_status, 4))
|
||||
{
|
||||
case 0:
|
||||
printParameter(response, "Nuki Lock PIN status", "PIN not set");
|
||||
break;
|
||||
case 1:
|
||||
printParameter(response, "Nuki Lock PIN status", "PIN valid");
|
||||
break;
|
||||
case 2:
|
||||
printParameter(response, "Nuki Lock PIN status", "PIN set but invalid");
|
||||
break;
|
||||
default:
|
||||
printParameter(response, "Nuki Lock PIN status", "Unknown");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(_nukiOpener != nullptr)
|
||||
{
|
||||
@@ -725,7 +744,27 @@ void WebCfgServer::buildHtml(String& response)
|
||||
{
|
||||
printParameter(response, "Nuki Opener state", lockstateArr);
|
||||
}
|
||||
|
||||
if(_nukiOpener->isPaired())
|
||||
{
|
||||
switch(_preferences->getInt(preference_opener_pin_status, 4))
|
||||
{
|
||||
case 0:
|
||||
printParameter(response, "Nuki Opener PIN status", "PIN not set");
|
||||
break;
|
||||
case 1:
|
||||
printParameter(response, "Nuki Opener PIN status", "PIN valid");
|
||||
break;
|
||||
case 2:
|
||||
printParameter(response, "Nuki Opener PIN status", "PIN set but invalid");
|
||||
break;
|
||||
default:
|
||||
printParameter(response, "Nuki Opener PIN status", "Unknown");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
printParameter(response, "Firmware", version.c_str(), "/info");
|
||||
|
||||
if(_preferences->getBool(preference_check_updates))
|
||||
|
||||
Reference in New Issue
Block a user