Squashed commit of the following:

commit ea34708fd1
Merge: e14877b 1dcef13
Author: Jan-Ole Schümann <j.o.schuemann@gmx.de>
Date:   Tue Mar 26 20:16:00 2024 +0700

    Merge pull request #328 from iranl/ha-fixes

    Multiple fixes (Nuki ID + README + ACL + DoorSensor/Keypad)

commit 1dcef135fc
Author: iranl <iranl@users.noreply.github.com>
Date:   Sun Mar 24 22:28:44 2024 +0100

    Add extra checks and auto retries

commit 56d718bc00
Author: iranl <iranl@users.noreply.github.com>
Date:   Sat Mar 23 19:52:50 2024 +0100

    Remove Force options

commit a3658bfd3c
Author: iranl <iranl@users.noreply.github.com>
Date:   Sun Mar 17 22:57:24 2024 +0100

    Update README.md

commit ef7fe751ed
Author: iranl <iranl@users.noreply.github.com>
Date:   Sun Mar 17 22:50:46 2024 +0100

    Update WebCfgServer.cpp

commit ac375df39f
Author: iranl <iranl@users.noreply.github.com>
Date:   Sun Mar 17 22:47:42 2024 +0100

    Redact Nuki ID

commit 516af39fe6
Author: iranl <iranl@users.noreply.github.com>
Date:   Sun Mar 17 22:40:22 2024 +0100

    ACL Info WebCfg + Force Keypad/DoorSensor

commit 3db4c0699e
Author: iranl <iranl@users.noreply.github.com>
Date:   Sun Mar 17 21:59:57 2024 +0100

    Nuki ID + README + ACL fix
This commit is contained in:
iranl
2024-03-29 10:48:20 +01:00
parent e14877b00f
commit e16ba62631
8 changed files with 137 additions and 29 deletions

View File

@@ -635,7 +635,7 @@ bool WebCfgServer::processArgs(String& message)
_preferences->putString(preference_cred_password, "");
configChanged = true;
}
if(aclLvlChanged)
{
_preferences->putBytes(preference_acl, (byte*)(&aclPrefs), sizeof(aclPrefs));
@@ -1089,6 +1089,9 @@ void WebCfgServer::buildInfoHtml(String &response)
response.concat("MQTT connected: ");
response.concat(_network->mqttConnectionState() > 0 ? "Yes\n" : "No\n");
uint32_t aclPrefs[17];
_preferences->getBytes(preference_acl, &aclPrefs, sizeof(aclPrefs));
if(_nuki != nullptr)
{
response.concat("Lock firmware version: ");
@@ -1103,7 +1106,26 @@ void WebCfgServer::buildInfoHtml(String &response)
response.concat(_nuki->hasDoorSensor() ? "Yes\n" : "No\n");
response.concat("Lock has keypad: ");
response.concat(_nuki->hasKeypad() ? "Yes\n" : "No\n");
response.concat("Lock ACL (Lock): ");
response.concat((int)aclPrefs[0] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Unlock): ");
response.concat((int)aclPrefs[1] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Unlatch): ");
response.concat((int)aclPrefs[2] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Lock N Go): ");
response.concat((int)aclPrefs[3] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Lock N Go Unlatch): ");
response.concat((int)aclPrefs[4] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Full Lock): ");
response.concat((int)aclPrefs[5] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Fob Action 1): ");
response.concat((int)aclPrefs[6] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Fob Action 2): ");
response.concat((int)aclPrefs[7] ? "Allowed\n" : "Disallowed\n");
response.concat("Lock ACL (Fob Action 3): ");
response.concat((int)aclPrefs[8] ? "Allowed\n" : "Disallowed\n");
}
if(_nukiOpener != nullptr)
{
response.concat("Opener firmware version: ");
@@ -1115,6 +1137,22 @@ void WebCfgServer::buildInfoHtml(String &response)
response.concat(_nukiOpener->isPaired() ? _nukiOpener->isPinSet() ? "Yes\n" : "No\n" : "-\n");
response.concat("Opener has keypad: ");
response.concat(_nukiOpener->hasKeypad() ? "Yes\n" : "No\n");
response.concat("Opener ACL (Activate Ring-to-Open): ");
response.concat((int)aclPrefs[9] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Deactivate Ring-to-Open): ");
response.concat((int)aclPrefs[10] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Electric Strike Actuation): ");
response.concat((int)aclPrefs[11] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Activate Continuous Mode): ");
response.concat((int)aclPrefs[12] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Deactivate Continuous Mode): ");
response.concat((int)aclPrefs[13] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Fob Action 1): ");
response.concat((int)aclPrefs[14] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Fob Action 2): ");
response.concat((int)aclPrefs[15] ? "Allowed\n" : "Disallowed\n");
response.concat("Opener ACL (Fob Action 3): ");
response.concat((int)aclPrefs[16] ? "Allowed\n" : "Disallowed\n");
}
response.concat("Network device: ");