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
Du kannst es einfach steuerbar machen, in dem du eine structure für die Present-Devices verwendest.
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
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
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
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.