Revert "revert"

This reverts commit cbcf04d5c8.
This commit is contained in:
technyon
2023-05-06 15:54:16 +02:00
parent 5b8ed0a5b8
commit ca004171c3
2 changed files with 24 additions and 15 deletions

View File

@@ -3,7 +3,8 @@
#include <vector>
#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<char*> _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,

View File

@@ -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();
}