Moin,
ich bin leider kläglich gescheitert, weil ich bei einem notify kein userReading zum Laufen kriege. Um Missverständnisse zu vermeiden, es geht NICHT um das Triggern des notify an sich, sondern um die Administrationsebene innerhalb des notity bei set <name> active|inactive
Bei set <name> active|inactive wird ein Event gefeuert, siehe eventMonitor
Events (Filter: Alarm_Heizung_Stoerung.*) FHEM log
2020-10-04 11:44:59.299 notify Alarm_Heizung_Stoerung inactive
2020-10-04 11:45:28.088 notify Alarm_Heizung_Stoerung active
aber das userReading läuft nicht an.
userReadings userReadingsReturn:(.*) {POR_file($name, "insert", $name, ReadingsVal($name,"state","unreachable"))};;
Auffällig ist m.E. auch, dass für notify die Attribute event-on-change-reading und event-on-update-reading usw. nicht vorhanden sind.
Hier noch das list des Devices
Internals:
DEF Heizung_Sensor_Btn_02:contact:.*190.* set Alarm_Led on;set Led_14 led red;set Alarm_Device_02_Led on
FUUID 5de79d5f-f33f-5817-05d7-2c419addc0ae831b
NAME Alarm_Heizung_Stoerung
NOTIFYDEV Heizung_Sensor_Btn_02
NR 1714
NTFY_ORDER 50-Alarm_Heizung_Stoerung
REGEXP Heizung_Sensor_Btn_02:contact:.*190.*
STATE active
TRIGGERTIME 1601800302.47968
TYPE notify
READINGS:
2020-10-04 11:26:03 state active
Attributes:
POR active
comment ACTION userReadings triggern NICHT !
devStateIcon active:general_an@green:inactive inactive:general_aus@red:active
room -Alarm,-Heizung
showtime 0
userReadings userReadingsReturn:(.*) {POR_file($name, "insert", $name, ReadingsVal($name,"state","unreachable"))};;
userattr POR:active,inactive
verbose 5
Mach ich etwas falsch oder ist das ein BUG ?
Moin
Bernd
Die Idee ist schon da, wobei ich es auf (active|inactive) beschränken würde:
attr Alarm_Heizung_Stoerung userReadings userReadingsReturn:(inactive|active) {blabla}
Aber das ;; am Ende ist falsch, weil schon ausserhalb von irgendeinem Perl Ding. Nimm das einfach weg, und ich glaube, es wird schon funktionieren
Moin,
kaum macht man es richtig, schon funktioniert es !
ZitatAber das ;; am Ende ist falsch
Das war definitiv der Fehler.
Zitatwobei ich es auf (active|inactive) beschränken würde
Du hast Recht, die Triggercondition sollte so genau wie möglich sein. Habe ich auch erledigt.
DANKE und noch einen schönen Sonntag !
Moin
Bernd