FHEM Forum

FHEM => Sonstiges => Thema gestartet von: willybauss am 02 Januar 2017, 09:39:50

Titel: trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: willybauss am 02 Januar 2017, 09:39:50
1. Falls die Frage hier falsch ist bitte verschieben.
2. Ich habe die Suche bemüht, aber nichts gefunden.

event-on-change-reading erzeugt ja nur bei Änderungen der Werte einen Event. Somit kann das Logfile am Beginn des Tages evtl. über Stunden leer sein. In Tagesplots sehe ich in dieser Zeit gar nichts, weil der letzte gültige Wert vom Vortag ist und somit im Plot nicht verwendet wird.

Ich hätte gerne, dass auf jeden Fall der erste Wert jedes Tages im Log erscheint, unabhängig davon, ob er mit dem letzten Wert des Vortages identisch ist oder nicht. Gibt es dafür eine "vorgesehene" Lösung, oder muss ich mir das "zu Fuß" einbauen?

event-on-update-reading füllt mir das Logfile mit Tonnen von identischen Werten, die man nicht wirklich braucht. => ist nicht optimal

timestamp-on-change-reading klingt ähnlich, aber ich weiß nicht, wie ich es damit lösen könnte.

Wäre schick, wenn dazu Jemand eine Idee hätte.

PS:
Ein Gutes Neues Jahr für Alle, die das lesen.
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: igami am 02 Januar 2017, 09:42:35
guck dir mal das logProxy Modul und seine Funktion extend an, dann brauchst du die "fehlenden" Werte gar nicht mehr
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: willybauss am 02 Januar 2017, 10:01:58
Klingt interessant. Ist die Commandref noch aktuell bezüglich manuellem editieren des SVG und .gplot Files? Das wäre wiederum nicht so schön.
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: igami am 02 Januar 2017, 10:26:00
Ein bisschen Anpassungsarbeit ist da schon notwendig ;)
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: willybauss am 02 Januar 2017, 10:38:12
Nur blöd, wenn die manuelle Anpassungsarbeit immer wieder neu entsteht, wenn ich nur z.B. die Farbe einer Linie ändern will.
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: igami am 02 Januar 2017, 12:28:22
Du kannst ganz normal den SVG ploteditor benutzen
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: willybauss am 02 Januar 2017, 12:30:56
ok, dann ist es gekauft. Ich ordere eine Großpackung für alle meine Plots.

Besten Dank für den Tipp!  :)
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: igami am 02 Januar 2017, 15:32:39
Du musst ja auch nicht zwangsweise alle Plots umstellen  ;)
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: automatisierer am 02 Januar 2017, 15:38:51
Bei einem Logwechsel, funktioniert das dann aber auch nicht mehr.
Dann wird so lang, wie die extend time eingestellt ist, immer noch die vorherige Log-Datei genommen und die Daten aus dem aktuellen Log gar nicht. Ist auch etwas unschön.
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: igami am 02 Januar 2017, 15:43:30
Das wusste ich gar nicht, benutze nur DbLog :D
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: dev0 am 02 Januar 2017, 15:46:59
https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden
Titel: Antw:trotz event-on-change-reading am Tagesbeginn einen Logfile Eintrag erzwingen
Beitrag von: automatisierer am 02 Januar 2017, 16:28:31
Ich habe keinen Wiki bearbeitungs Zugang, die DOIF Beispiele sind falsch.

alt:
ZitatBeispiele mit DOIF

Seitdem es DOIF gibt, lässt sich das ganze auch etwas anders umsetzen:

define DF_addLogDaily ([23:59] or [00:01])({addLog("ez_FHT","actuator")})
attr DF_addLogDaily room 99_System
attr DF_addLogDaily do always


Da mit diesem Aufruf aber die Problematik nur nach unten verschoben wird (Zoom auf Stunde oder Vierteltag), ist folgendes möglich:

define DF_addLogHourly ([:59] or [:01])({addLog("ez_FHT","actuator")})
attr DF_addLogDaily room 99_System
attr DF_addLogDaily do always


müsste so aussehen:
ZitatBeispiele mit DOIF

Seitdem es DOIF gibt, lässt sich das ganze auch etwas anders umsetzen:

define DF_addLogDaily [b]DOIF[/b] ([23:59] or [00:01])({[b]([/b]addLog("ez_FHT","actuator")[b])[/b]})
attr DF_addLogDaily room 99_System
attr DF_addLogDaily do always


Da mit diesem Aufruf aber die Problematik nur nach unten verschoben wird (Zoom auf Stunde oder Vierteltag), ist folgendes möglich:

define DF_addLogHourly [b]DOIF[/b] ([:59] or [:01])([b]([/b]{addLog("ez_FHT","actuator")}[b])[/b])
attr DF_addLogDaily room 99_System
attr DF_addLogDaily do always


Perl Befehle müssen extra geklammert werden...