make blu gw script more rebust on startup (#16304)

Signed-off-by: Markus Michels <markus7017@gmail.com>
Co-authored-by: markus7017 <markus7017@gmail..com>
This commit is contained in:
Markus Michels 2024-01-19 04:53:46 -05:00 committed by GitHub
parent 15642af6b0
commit 511244ea2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -150,11 +150,22 @@ function scanCB(ev, res) {
}
}
// retry several times to start the scanner if script was started before
// BLE infrastructure was up in the Shelly
function startBLEScan() {
let bleScanSuccess = BLE.Scanner.Start({ duration_ms: SCAN_DURATION, active: true }, scanCB);
if( bleScanSuccess === null ) {
console.log('Unable to start OH-BLU Scanner, make sure Shelly Gateway Support is disabled in device config.');
Timer.set(3000, false, startBLEScan);
} else {
console.log('Success: OH-BLU Event Gateway running');
}
}
let BLEConfig = Shelly.getComponentConfig('ble');
if(BLEConfig.enable === false) {
console.log('Error: BLE not enabled, unable to start OH-BLU Scanner');
console.log('Error: BLE not enabled, unable to start OH-BLU Scanner');
} else {
BLE.Scanner.Start({ duration_ms: SCAN_DURATION, active: true }, scanCB);
console.log('OH-BLU Event Gateway running');
Timer.set(1000, false, startBLEScan);
}