Hallo liebe Community,
ich bin FHEM Einsteiger und habe bereits etwas im Internet nach der Lösung meines Problem gesucht.
Leider ist es Schwierig eine Frage zu Formulieren, vor allem wenn es bestimmt mehrere Ansätze zur Lösung hierfür gibt.
Folgendes Szenario:
Ich habe einen Zahlenwert, welcher sich bis zu einem halben Tag
nicht verändert. Dadurch habe ich auch einen halben Tag keinen Log-Eintrag. Die fehlenden Logeinträge resultieren daraus, dass sich die Datenquelle selten ändert (light Wert von Twilight), oder man bewusst ein event-on-change aktiviert bei Datenquellen die eine zu hohe Frequenz haben und sonst der FileLog unnötig überlaufen würde (z.B der Pollingwert beim GPIO)
Wenn ich aber nun mit diesen wenigen Werten einen SVG Plot um bspw 12 Uhr ansehe, dann geht meine Linie des Plotts nur bis zum letzten Wert der beispielsweise um 8 Uhr war.
Ich hätte mehrere Lösungswege im Kopf, für die ich noch keine Umsetzung gefunden habe:
- Es gibt im SVG Plot eine Einstellung oder Linie die vom letzten Datenpunkt eine konstante bis zur aktuellen Uhrzeit zieht (würde den geringsten Datenmüll erzeugen und die sauberste Darstellung bieten)
- Man kann in den Attributen eines Elements einstellen, dass nach X Minuten ein Log/reading erzeugt wird, wenn der Wert konstant ist. Und bei einem Change Reading naturgemäß sofort geloggt wird
- Man bastelt sich etwas mit einem at und einem dummy oder ähnlichem (das wäre aber für mich eine unsaubere Lösung)
Wenn Events kommen aber durch event-on-change-reading "unterdrückt" weil keine Änderung: event-min- Attribut: https://wiki.fhem.de/wiki/Event-min-interval
Wenn keine Events kommen, dann gibt es Stichwort: addLog oder ein at (warum "unsauber"!?) aber OHNE Dummy (wozu!?):
define atLog at 00:10:00 setreading Readingname ReadingsVal("Device", "Readingname","Ersatzwert")
(PSUEDOCODE!!!)
Siehe auch: https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden
Gruß, Joachim
Es gibt (mit Einschränkungen) auch eine Lösung nach dem ersten Gedankenpunkt. Zwar nicht in SVG selbst, aber mit Hilfe von logProxy kann man auch außerhalb des eigentlichen Betrachtungszeitraums liegende Daten verwenden.
Zitat von: Beta-User am 29 April 2020, 14:47:42
Es gibt (mit Einschränkungen) auch eine Lösung nach dem ersten Gedankenpunkt. Zwar nicht in SVG selbst, aber mit Hilfe von logProxy kann man auch außerhalb des eigentlichen Betrachtungszeitraums liegende Daten verwenden.
Stimmt, in fhem is doch immer noch was was geht ;)
Gruß, Joachim
Zitat von: MadMax-FHEM am 29 April 2020, 14:43:01
Wenn Events kommen aber durch event-on-change-reading "unterdrückt" weil keine Änderung: event-min- Attribut: https://wiki.fhem.de/wiki/Event-min-interval
Wenn keine Events kommen, dann gibt es Stichwort: addLog oder ein at (warum "unsauber"!?) aber OHNE Dummy (wozu!?):
define atLog at 00:10:00 setreading Readingname ReadingsVal("Device", "Readingname","Ersatzwert")
(PSUEDOCODE!!!)
Siehe auch: https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden
Gruß, Joachim
Hallo Joachim,
vielen Dank für die tolle Unterstützung!
ich habe mir addLog ins my Utils eingefügt und es funktioniert hervorragend! Für meine GPIO Anwendung schaue ich mir event-min an!
Gerne!
Dann bitte noch ein [gelöst] etc. vorne an den ersten Post dran, danke.
Viel Spaß noch, Joachim