justme-1968/homebridge-fhem

"Offline" Status in HomeKit via homebridgeMapping

Closed this issue · 14 comments

Hi. I´m searching for the right homebridgeMapping syntax to transmit the "offline" State of my Tasmota-Devices (LWT Reading) to HomeKit.

Hi. Ich suche die richtige Syntax für das homebridgeMapping in FHEM um den "offline" Status meiner Tasmota-Geräte an HomeKit zu übergeben.

Danke :-)

was möchtest du denn genau tun? welches reading mit welchem wert auf welche characteristik?

Ich erhalte aus den Tasmota Devices das Reading "presence" und dieses hat die Werte "offline" oder "online". Ich möchte, dass im Falle eines "offline" dieser Status an HomeKit/Homebridge übergeben wird.

Das Gerät soll/wird dann in der Home App (HomeKit) als "Offline" angezeigt werden.
Weiß dass es geht, weil ich es schon mal drin hatte.
Die Geräte sind dann nicht mehr steuerbar was gut ist, da es sonst so aussieht als ob man offline Geräte steuern könnte.
Im englischen wird es wohl als "not responding" oder "no response" in der Home App angezeigt.

Hoffe das hilft. Danke schon mal für Deine schnelle Hilfe

Kenne halt die dafür passende characteristik nicht, das ist mein Problem :-)

Bin der Meinung dass ich es früher (als es wie oben beschrieben lief) auch nicht als characteristik im homebridgeMapping hatte, sondern das Reading einen anderen Namen hatte und daher wohl ohne extra Definition so lief.

Zur Not würde mir die richtige Bezeichnung des Readings schon helfen.
Denn benenne ich diese einfach um.

es gibt bzw. gab eine reachable characteristik in homekit. die scheint aber nicht mehr unterstützt zu werden.

ich habe auf die schnelle leider keine gute idee. ich muss mal schauen.

Oh, das ist schade.
Finde es sehr praktisch, da bei mir nicht immer alle Geräte (Steckdosen) aktiv sind und ich diese sonst als "Schaltbar" angezeigt bekomme.

Ich teste es gerne mal mit "reachable".
Welche value wurden für die characteristik benötigt? true und false ?

Sonst bin ich natürlich für jede Hilfe und Idee dankbar :-)

Danke schon mal für Deine Mühe

also... der code war eigentlich nie fertig eingebaut. ich hatte damit angefangen, aber weil das ganze auf homekit seite dann nicht mehr unterstütz war habe ich es nicht fertig gebaut.

bist du sicher das es schon mal funktioniert hat? ich meine das wirklich zur laufzeit der status geändert wurde. oder war es zufällig nur beim neustart aktuell.

Ich bin mir dahingehend sicher, dass Geräte die nicht erreichbar waren, auch in HomeKit App als nicht erreichbar geflaggt wurden mit dem roten text und Ausrufezeichen.
Da bin ich mir ganz sicher.
Hatte es aber auch nicht extra konfiguriert, es war einfach da.
Nehme an das ein Reading einfach den richtigen Namen hatte und es als homebridgeMapping vorkonfiguriert war.

das ist seit einiger zeit mit einem mapping für Reachable wieder möglich.

beispiel hier: https://forum.fhem.de/index.php/topic,48558.msg994168.html#msg994168

Moin,

im FHEM-Forum gab es dazu eine kleine Diskussion. Hier mein Ergebnis mit Logfiles: https://forum.fhem.de/index.php/topic,48558.msg994168.html#msg994168

Bei mir funktioniert es wie folgt:

userReadings "reachable" entsprechend FHEM Wiki erstellen: https://wiki.fhem.de/wiki/UserReadings

Bei meinem Ventilator sieht das dann bspw. wie folgt aus:

attr OG_Buero_Ventilator userReadings reachable {if(ReadingsVal("OG_Buero_Ventilator","state","") eq "connected") {return 1} else {return 0}}
Anschließend habe ich noch die entsprechende characteristic "Reachable" im homebridgeMapping ergänzt:

Reachable=reachable,values=0:False;;1:True

Die Statusveränderung wird in EVE und in der Home App auch im Laufenden Betrieb angepasst. Ein Neustart der Homebridge ist also nicht erforderlich.

@Sonsi79 Kannst du das mal bei dir gegenprüfen? Der Issue kann meiner Ansicht nach geschlossen werden.

Viele Grüße Hoppel

Da war ich mit meiner Erläuterung wohl zu langsam.... ;) Viel Spaß noch

Bei mir funktioniert die Statusanzeige in der Home App nicht per homebridgeMapping-Attribut:
Reachable=online,values=false:0;true:1 oder Reachable=online,values=0:false;1:true

Setze ich jedoch das userReadings-Attribut mit folgendem Eintrag, funktioniert es (neuer Status wird nach Raumwechsel angezeigt):
reachable {if(ReadingsVal($name,"online","") eq "true") {return 1} else {return 0}}

Warum geht es nicht mit dem homebridgeMapping-Attribut?

Ganz davon abgesehen ist unter https://developers.homebridge.io/HAP-NodeJS/classes/characteristic.html die Reachable-Charakteristik deprecated. Gibt es eine alternative Charakteristik?

Reachable=online,values=false:0;true:1 sollte gehen. was sagt das log?

weil es deprecated ist wird Reachable wird intern nicht über die alte characterisic umgesetzt sondern über eine fehlermeldung. einen anderen weg gibt es nicht.

Mit Reachable=online,values=false:0;true:1 hab ichs auch schon erfolglos probiert.
Hier die dazugehörigen Logeinträge:

Wenn das Gerät offline geht:

2021-07-21 15:43:15 caching: ShellyPlug-online: false
[2021-7-21 15:43:15] [FHEM]     caching: Reachable: 0 (as string; means captureRejections; from 'false')

Wenn das Gerät wieder erreichbar ist:

2021-07-21 15:50:09 caching: ShellyPlug-online: true
[2021-7-21 15:50:09] [FHEM]     caching: Reachable: 1 (as string; means ???; from 'true')