FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: cwagner am 25 Januar 2021, 11:26:22

Titel: [gelöst]Events erzeugen beim Aktualisieren von Readings in einem set_Exec
Beitrag von: cwagner am 25 Januar 2021, 11:26:22
Was muss ich tun, um durch DOIFs im Perlmodus beim Aktualisieren von Readings auch ein Event auszulösen?
Beispiel: hier integriere ich die Leistung in einem Wärmemengenzähler
{set_Exec ("refresh",60,'set_Reading("Leistung",57.96 * get_Reading("tempDiff"));set_Reading("Energie",get_Reading("Energie")+(get_Reading("Leistung")/1000))','ReadingsVal("Switch_Heizkeller","Kollektorpumpe","ON") eq "ON"');}

Die Werte werden korrekt minütlich gerechnet und weggeschrieben, da es aber kein Event gibt, habe ich sie weder in der Datenbank noch kann ich sie als Trigger verwenden.

Auch  DOIF_Readings erzeugen keine Events:
tempDiff:([T_VL_Kollektor:temperature]-[T_RL_Kollektor:temperature])
Hier werden die Werde korrekt aktualisiert bei Änderung einer der beiden Temperaturen...

Bin um einen  Anstoß verlegen, mit event-on-(update|change)-reading habe ich mich schon vergeblich bemüht

Christian
Titel: Antw:Events erzeugen beim Aktualisieren von Readings in einem set_Exec
Beitrag von: Damian am 25 Januar 2021, 12:13:28
ganz einfach, den dritten Parameter bei set_Reading verwenden ;)

siehe: https://fhem.de/commandref_DE.html#DOIF_Spezifische_Perl-Funktionen_im_Perl-Modus

Titel: [Gelöst]Antw:Events erzeugen beim Aktualisieren von Readings in einem set_Exec
Beitrag von: cwagner am 25 Januar 2021, 12:53:49
Zitat von: Damian am 25 Januar 2021, 12:13:28
ganz einfach, den dritten Parameter bei set_Reading verwenden ;)

siehe: https://fhem.de/commandref_DE.html#DOIF_Spezifische_Perl-Funktionen_im_Perl-Modus

Am liebsten würde ich meine Frage löschen? Aber vielleicht hilft Deine Antwort (danke!) noch jemanden anderen irgendwann
Titel: Antw:[gelöst]Events erzeugen beim Aktualisieren von Readings in einem set_Exec
Beitrag von: Sany am 25 Januar 2021, 17:21:07
und das Äquivalent zu DOIF_Readings (= ohne Events) heißt event_Readings (= mit Events)  ;)