[Gelöst] Notify soll URL aufrufen - Logfile zugemüllt

Begonnen von ocin4, 05 November 2022, 14:45:08

Vorheriges Thema - Nächstes Thema

Otto123

#15
Dann mal ändern in
userReadings temperature_C:temperature_F.* { sprintf("%.1f", (ReadingsVal("MQTT2_inFactory_TH_229", "temperature_F", 0) - 32) * 5/9) }

Ein schönes Beispiel dafür, dass man userReadings immer mit trigger anlegen sollte
ZitatuserReadings
Komma getrennte Liste von benutzerdefinierten Readings. Jede Definition hat folgendes Format:
<reading>[:<trigger>] [<modifier>] { <perl code> }
Diese benutzerdefinierte Readings werden bei jeder Aktualisierung der Gerätereadings gesetzt, indem das spezifizierte perl code { <perl code> } ausgeführt wird, und dessen Wert dem Reading zugewiesen wird. Falls <trigger> spezifiziert ist, dann findet diese Ausführung nur dann statt, falls einer der aktualisierten Readings dem regexp <trigger> entspricht (matched).

Und schau Dir bitte vorher / nachher im Eventmonitor an  ;D https://wiki.fhem.de/wiki/Event_monitor
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ocin4

Versteh ich das jetzt richtig, dass das userReading bisher bei jeder Änderung eines Wertes (Zeit, humidity, ...) genieriert wurde und jetzt nur noch generiert wird, wenn sich temperature_F ändert?

Cool, wieder was gelernt. Danke!

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

ocin4

Mit dieser Änderung und dem event-on-change-reading sieht mein Event-Monitor viel übersichtlicher aus. 6 solche Sensoren, die alles 6-fach schicken und dazu unter jedem Wert die temerature_C - das scrollte nur so durch. Jetzt ists ruhig. Ich sollte öfter im Forum nachfragen...

Danke nochmal!

Otto123

Zitat von: ocin4 am 05 November 2022, 16:50:05
Also mit fhem-Bordmitteln gelöst. Das "return undef" gefällt mir nicht so, aber sonst hab ich bei jeder Temperaturänderung einen Log-Eintrag
Zum Abschluss ;)
Du kannst die Rückgabe auswerten und normal ein undef und bei Fehler die Rückgabe zurückgeben.
Vorschlag prinzipiell getestet, geht sicher besser:
{my $ret = GetFileFromURL("http://192.168.178.50/ext_t?temp=$EVTPART1", 1);; return $ret eq '{"ok": true}' ? undef : $ret}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz