Hallo zusammen,
ich bin schonwieder am verzweifeln mit dem notify.
Situation ist folgende:
Ich setzte mit dem set Kommando eines Dummys "smartConditions" einen Wert. (Set Kommando ist in setList definiert -> setTemp)
Mit Hilfe eines notifys "notify_smartConditions" erkenne ich den set Befehl des Dummys und setzte dann in der notify Function zusätzlich ein paar Readings (z.B. update=true).
Nun möchte ich auf Basis der zusätzlichen Readings "update" ein anderes notify "notify_Heizungssteuerung" triggern.
Nur leider triggert das zweite notify nicht. Obwohl ich im Event Manager das Event "2020-10-11 15:43:15 dummy smartConditions update: true" sehe.
Was mache ich falsch?
Hier meine Defines:
defmod smartConditions dummy
attr smartConditions event-on-change-reading .*
attr smartConditions event-on-update-reading state,update
attr smartConditions room Conditions
attr smartConditions setList setTemp
defmod notify_smartConditions notify (smartConditions:setTemp.*)
defmod notify_Heizungssteuerung notify (Heizungssteuerung|smartConditions:update:.true)
Viele Grüße,
Ulli
Hi,
aus meiner Sicht falsche Klammern:
Im ersten notify sind die Klammern obsolete solltest Du einfach weglassen!
Im zweiten eigentlich auch. (Heizungssteuerung|smartConditions:update:.true) -> Heizungssteuerung|smartConditions:update:.true
Allerdings triggert das auf alles von Heizungssteuerung!
Würde bedeuten
Hab es gerade ohne Klammer getestet. Funktioniert auch nicht.
Kann es sein das wenn ich innerhalb eines notify ein reading setzte das dies dann kein anderes notify auslösen kann? Ist das ein FHEM Bug?
eher ein Feature :)
Du kannst zum Test ein sleep 0.1; davor setzen - ich dachte das ist nur innerhalb eines Devices relevant. Auszug C-Ref
ZitatAchtung: setreading generiert kein Event für ein Gerät X, falls es aus einem notify für Gerät X aufgerufen wurde. In so einem Fall könnte man auf "sleep 0.1; setreading X Y Z" ausweichen.
Ansonsten lass ein notify zum Test durch den Eventmonitor erzeugen, da siehst Du ob dein Trigger richtig ist. Danach kannst Du ja den Trigger erweitern.
Ich finde das Konstrukt
attr smartConditions event-on-change-reading .*
attr smartConditions event-on-update-reading state,update
hier "komisch" kann sein das Du eigentlich nur das wolltest?:
attr smartConditions event-on-change-reading state,update
Es scheint wirklich ein Bug zu sein.
Ich setzte die Readings eigentlich mit
readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"update", "true");
readingsEndUpdate($hash,1);
--> das triggert aber das notify nicht
Wenn ich es jetzt so mache wie von dir vorgeschlagen Otto
fhem("sleep 0.1;setreading smartConditions update true;");
--> dann wird das notify getriggert
Nein das ist kein Bug!
https://fhem.de/commandref.html#setreading
HA! tatsächlich ein Feature! Das ist aber ein tolles Feature :)
Danke dir Otto!