[gelöst]Events erzeugen beim Aktualisieren von Readings in einem set_Exec

Begonnen von cwagner, 25 Januar 2021, 11:26:22

Vorheriges Thema - Nächstes Thema

cwagner

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
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

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
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Sany

und das Äquivalent zu DOIF_Readings (= ohne Events) heißt event_Readings (= mit Events)  ;)
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....