diff --git a/Nuki.cpp b/Nuki.cpp index d81f7ae..5fe4197 100644 --- a/Nuki.cpp +++ b/Nuki.cpp @@ -21,7 +21,9 @@ Nuki::Nuki(const std::string& name, uint32_t id, Network* network, Preferences* void Nuki::initialize() { + _bleScanner.initialize(); _nukiBle.initialize(); + _nukiBle.registerBleScanner(&_bleScanner); _intervalLockstate = _preferences->getInt(preference_query_interval_lockstate); _intervalBattery = _preferences->getInt(preference_query_interval_battery); @@ -61,7 +63,8 @@ void Nuki::update() } } - vTaskDelay( 200 / portTICK_PERIOD_MS); + vTaskDelay( 20 / portTICK_PERIOD_MS); + _bleScanner.update(); unsigned long ts = millis(); @@ -81,7 +84,6 @@ void Nuki::update() _nukiBle.lockAction(_nextLockAction, 0, 0); _nextLockAction = (LockAction)0xff; } - _nukiBle.update(); } void Nuki::updateKeyTurnerState() diff --git a/Nuki.h b/Nuki.h index 4de1316..b1994fd 100644 --- a/Nuki.h +++ b/Nuki.h @@ -30,6 +30,7 @@ private: void doorSensorStateToString(const DoorSensorState state, char* str); // char arry at least 17 characters NukiBle _nukiBle; + BleScanner _bleScanner; Network* _network; Preferences* _preferences; int _intervalLockstate = 0; // seconds diff --git a/lib/nuki_ble b/lib/nuki_ble index d2a25ad..7053a02 160000 --- a/lib/nuki_ble +++ b/lib/nuki_ble @@ -1 +1 @@ -Subproject commit d2a25adedd2862343ddc5e19ab2dedea2bd0da71 +Subproject commit 7053a024f571569200001a1e24dddc0d47f58dc1