From ca004171c30d80cd47dd503a142c1eb59dd6a754 Mon Sep 17 00:00:00 2001 From: technyon Date: Sat, 6 May 2023 15:54:16 +0200 Subject: [PATCH] Revert "revert" This reverts commit cbcf04d5c8514fb9dad04acdac306d3990b67449. --- PreferencesKeys.h | 5 +++-- main.cpp | 34 +++++++++++++++++++++------------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/PreferencesKeys.h b/PreferencesKeys.h index 827a6a4..a620e6f 100644 --- a/PreferencesKeys.h +++ b/PreferencesKeys.h @@ -3,7 +3,8 @@ #include #define preference_started_before "run" -#define preference_deviceId "deviceId" +#define preference_device_id_lock "deviceId" +#define preference_device_id_opener "deviceIdOp" #define preference_mqtt_broker "mqttbroker" #define preference_mqtt_broker_port "mqttport" #define preference_mqtt_user "mqttuser" @@ -58,7 +59,7 @@ class DebugPreferences private: std::vector _keys = { - preference_started_before, preference_deviceId, preference_mqtt_broker, preference_mqtt_broker_port, + preference_started_before, preference_device_id_lock, preference_device_id_opener, preference_mqtt_broker, preference_mqtt_broker_port, preference_mqtt_user, preference_mqtt_password, preference_mqtt_log_enabled, preference_lock_enabled, preference_mqtt_lock_path, preference_opener_enabled, preference_mqtt_opener_path, preference_lock_max_keypad_code_count, preference_opener_max_keypad_code_count, preference_mqtt_ca, diff --git a/main.cpp b/main.cpp index f0cf906..844f09b 100644 --- a/main.cpp +++ b/main.cpp @@ -190,11 +190,26 @@ void setup() networkOpener->initialize(); } - uint32_t deviceId = preferences->getUInt(preference_deviceId); - if(deviceId == 0) + uint32_t deviceIdLock = preferences->getUInt(preference_device_id_lock); + uint32_t deviceIdOpener = preferences->getUInt(preference_device_id_opener); + + delay(1000); + Serial.print("### "); + Serial.print(deviceIdLock); + Serial.print(" | "); + Serial.println(deviceIdOpener); + + if(deviceIdLock == 0 && deviceIdOpener == 0) { - deviceId = getRandomId(); - preferences->putUInt(preference_deviceId, deviceId); + deviceIdLock = getRandomId(); + preferences->putUInt(preference_device_id_lock, deviceIdLock); + deviceIdOpener = getRandomId(); + preferences->putUInt(preference_device_id_opener, deviceIdOpener); + } + else if(deviceIdLock != 0 && deviceIdOpener == 0) + { + deviceIdOpener = deviceIdLock; + preferences->putUInt(preference_device_id_opener, deviceIdOpener); } initEthServer(network->networkDeviceType()); @@ -211,21 +226,14 @@ void setup() Log->println(lockEnabled ? F("NUKI Lock enabled") : F("NUKI Lock disabled")); if(lockEnabled) { - nuki = new NukiWrapper("NukiHub", deviceId, bleScanner, networkLock, gpio, preferences); + nuki = new NukiWrapper("NukiHub", deviceIdLock, bleScanner, networkLock, gpio, preferences); nuki->initialize(firstStart); - - - -// if(preferences->getBool(preference_gpio_locking_enabled)) -// { -// Gpio::init(nuki); -// } } Log->println(openerEnabled ? F("NUKI Opener enabled") : F("NUKI Opener disabled")); if(openerEnabled) { - nukiOpener = new NukiOpenerWrapper("NukiHub", deviceId, bleScanner, networkOpener, gpio, preferences); + nukiOpener = new NukiOpenerWrapper("NukiHub", deviceIdOpener, bleScanner, networkOpener, gpio, preferences); nukiOpener->initialize(); }