ROOMMATE mehrere present devices

Begonnen von FHEM_Starter, 23 November 2021, 12:46:58

Vorheriges Thema - Nächstes Thema

FHEM_Starter

Hallo,

beim Erstellen eines ROOMMATE device mit mehreren present devices ist mir folgendes Verhalten aufgefallen:
Absent wird korrekt gesetzt, wenn ALLE present devices als abwesend erkannt wurden.
Present wird jedoch gesetzt, wenn nur EINES der present devices als anwesend erkannt wurde.

Dies ist jedoch abweichend von der Beschreibung in der CommandRef (sowohl deutsch als auch englisch):
Zitat
rr_presenceDevices - take over presence state from any other FHEM device. Separate more than one device with comma meaning ALL of them need to be either present or absent to trigger update of this ROOMMATE device. You may optionally add a reading name separated by :, otherwise reading name presence and state will be considered.

Es gibt bestimmt Anwendungsfälle, wo dieses Verhalten gewünscht ist. In meinem Fall leider gar nicht.
Meine konkrete Frage: wäre es nicht für alle Anwendungsfälle sinnvoll, das gewünschte Verhalten über ein Attribut steuerbar zu machen?

Danke im voraus,
Gruß Wolfgang

marvin78

Du kannst es einfach steuerbar machen, in dem du eine structure für die Present-Devices verwendest.

FHEM_Starter

Hallo marvin,

Danke für den interessanten Workaround.

Trotzdem bleibt die Frage an den Entwickler, welche Sicht er auf dieses Verhalten hat und ob er vielleicht dieses Attribut erstellen will. Ebenso bleibt die m.M. nach falschen Beschreibung in der CommandRef.

Gruß Wolfgang

TSchabba

Kann es sein, dass sich das Verhalten von ROOMMATE kürzlich geändert hat und es jetzt (leider) so funktioniert wie in der commandref beschrieben? Kann ich irgendwie das alte Verhalten zurückbekommen (present, sobald ein presentdevice auf present steht, absent, sobald alle auf absent stehen)?

Viele Grüße
Timo

TSchabba

#4
Ich habe jetzt nochmal ein bisschen hin und her getestet und folgendes festgestellt:

rr_Kind wird auf present gesetzt, wenn rr_Vater oder rr_Mutter present sind. Soweit so gut...

rr_Kind bleibt auf present, auch wenn rr_Vater UND rr_Mutter abwesend sind. Nicht so wie es sein soll...

Bei rr_Vater und rr_Mutter ist event-on-change-reading auf state,presence gesetzt. Wenn ich dieses Attribut lösche, funktioniert es wie gewünscht. Auf welches Reading greift rr_Kind zu, dass der Wechsel in die eine Richtung funktioniert, in die andere aber nicht?

Viele Grüße
Timo

CoolTux

Gib mal bitte ein list von den entsprechenden Devices. So kann man nur raten.

Aber meine Empfehlung ist das Du event-on-change gar nicht brauchst. Das Modul regelt das bewusst selbst.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net