Notify erkennt kein "set on" wenn state bereits "on" ist

Begonnen von MarcusR, 21 August 2016, 17:02:55

Vorheriges Thema - Nächstes Thema

MarcusR

Hallo zusammen,

nachdem ich die meißten der (bei FHEM zahlreich) vorkommenden Fragen und Problemchen per Suche im Forum selbst beheben konnte bräuchte ich bei folgendem Problem Eure Hilfe. :)

Hintergrund: FHEM läuft bei mir auf einem RaspberryPI an dem diverse X10/Homematic/1-Wire Komponenten angeschlossen sind. Während ich von Homematic  und 1-Wire aber Zustände abfragen kann, arbeitet mein X10 zustandslos (dank mochad). D.h. es kann durchaus sein, dass FHEM nicht den aktuellen, d.h. korrekten Zustand eines X10-Aktors kennt.

Die Konfig der X10-Aktoren sieht (beispielhaft am Aktor der Essecke) wie folgt aus:

dummy:
# X10 Essecke
define x10.essecke dummy
attr x10.essecke userattr room_map structexclude x10address
attr x10.essecke alias Essecke
attr x10.essecke event-on-change-reading state
attr x10.essecke group Licht
attr x10.essecke icon light_ceiling
attr x10.essecke room Wohnzimmer
attr x10.essecke setList on off
attr x10.essecke x10address b6


notify:
define x10.notify notify x10.*:* {my $addr = AttrVal($NAME, "x10address", "x1");; system ("sudo -u root /opt/fhem/FHEM/scripts/mochad.sh $addr $EVENT &")}
attr x10.notify group X10
attr x10.notify room Technik


Mit dieser Kombination komme ich eigentlich ziemlich gut klar. Wäre da nicht mein Problem:
Habe ich per FHEM "set on" den dummy eingeschaltet und das X10-System schaltet den Aktor (per Fernbedienung/App/Makro) irgendwann mal wieder aus, kann ich ihn nicht mehr per "set on" im FHEM einschalten.

Vermutlich weil das FHEM für sinnlos hält, da sich der dummy ja bereits im state "on" befindet - Ist aber nur eine Vermutung.

Daher die Frage: Wie kann ich den dummy oder notify so konfigurieren, dass notify jedesmal ausgelöst wird, wenn der dummy per "set" eine Änderung von state bzw. eines readings erhält unabhängig vom aktuellen state bzw. reading?
FHEM auf RPi 2 im Schaltschrank mit Homematic, 1-Wire, S0, Hue, LivingColors, Robonect, WifiLight, Logitech Harmony Hub, Heizung, Webcams und andFHEM

CoolTux

Event-on-change-reading ist Schuld. Lese mal bitte noch einmal nach was genau das Attribut macht und versuche zu verstehen.
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

CoolTux

Ganz kurz was zum Thema Notify. Ein Notify erkennt keine Readings oder States. Es reagiert auf Events welche vom Device ausgelöst werden. Mit diesem Wissen kannst Du Dir auch nun erklären was das Attribut event-on-change-reading genau macht.
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

MarcusR

Hallo CoolTux, vielen Dank für die Rückmeldung! event-on-change-reading state hatte ich schon ganz zu Begin aus diversen Guides übernommen daher scheinbar unbewusst ignoriert   ::)

Jetzt funktioniert es jedenfalls so wie gedacht: Auch wenn ein anderer Controller einen Aktor ausknipst, ohne dass FHEM was davon mitbekommt, wird das FHEM-Kommando unabhängig vom tatsächlichen oder dem FHEM bekannten Zustand ausgeführt :D
FHEM auf RPi 2 im Schaltschrank mit Homematic, 1-Wire, S0, Hue, LivingColors, Robonect, WifiLight, Logitech Harmony Hub, Heizung, Webcams und andFHEM