So, ich habe auch lange gebastelt, aber es läuft:
Was den blöden HAP-BLE 4er Fehler angeht, so habe ich mich durch die Issues zum Ranger auf git-hub durchgearbeitet, da gibt es eine Antwort, die mir geholfen hat (https://github.com/grover/homebridge-ranger/issues/9): Du musst in der "AccessoryDatabase.js" in "/usr/local/lib/node_modules/homebridge-ranger/src/hap" (vermutlich liegt die auch bei dir dort) ganz unten den Eintrag
for (let svc of serviceSignature) {
const op = new ServiceSignatureReadRequest(svc.address, svc.cid);
const signature = await device.run(op);
console.log(`Service signature: ${JSON.stringify(signature)}`);
}
in const signature = await device.run(op).catch((err) => console.log(err)); ändern.
Das hat bei mir das pairen einer Eve Aqua möglich gemacht.
Ausserdem habe ich in der Config den Geräteeintrag für die Aqua um einen längeren Timeout ergänzt:
{
"platform": "Ranger",
"devices": [
{
"name": "Eve Aqua 643B",
"address": "xxx",
"pin": "xxx",
"reachability": "true",
"reachabilityTimeout": "120000"
}
Jetzt gibt es zwar auch dauernd Verbindungsabbrüche (kann es sein, das das BLE Protokoll nur auf Aufforderung verbindet?), aber zumindest ist die Aqua fast immer in Homekit erreichbar
Nachtrag: Auch der Ranger kann keine Wunder vollbringen. Zwischen meinem auf der Fensterbank ausgelagerten PI und der Aqua sind gerade mal 4 Meter Luftlinie Distanz, und schon da bricht die Bluetooth-Leistung der Aqua extrem ein.