FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: klausw am 22 Mai 2015, 16:01:50

Titel: Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: klausw am 22 Mai 2015, 16:01:50
Hallo,

folgendes Problem:

mehrere presence Module zeigen den Status diverser Netzwerkgeräte an
über FileLog werden die Zustandsmeldungen weggeloggt.
derzeit ist das Attribut event-on-change-reading in den presence Modulen gesetzt
so habe ich nur die Änderungen im Logfile  ...so weit so gut
Jetzt nutze ich aber auch das Modul hourcounter und die UtilsHourCounter um Betriebsstunden zu berechnen.
Diese Module funktionieren aber nicht  richtig mit event-on-change-reading wenn über eine Erfassungsgrenze hinweg das Gerät an war.
z.B. Der Fernseher läuft von 22:00 - 1:00 -> die 3h werden nicht mit gezählt.

Gibt es eine Möglichkeit (ohne jeder menge Dummy Module) einen event-on-change-reading im direkt FileLog zu nutzen? Bzw. den hourcounter trotz event-on-change-reading mit jeder statusmeldung zu versorgen?

Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: Wzut am 22 Mai 2015, 16:16:54
laut Wiki : http://www.fhemwiki.de/wiki/HourCounter
sollte doch das doch kein Problem sein bzw. mit event-min-interval  machbar sein :
Zitat
Damit nicht zu viele Ereignisse in den Log-Dateien landen, kann man diese sinnvoll einschränken, so daß nur Änderungen das Feuern von Events auslösen
attr CN.BRENNER event-on-change-reading .*

Wenn sich nun jedoch über Stunden und Tage nichts ändert, sieht man in den Charts keine Daten mehr. Mit dieser Anweisung wird erreicht, daß alle Readings nach Aktualisierung spätesten nach 1 Stunden einen Event feuern, auch wenn sich der Wert nicht ändert. Eine Ausnahme hiervon sollen machen die tick*-Readings, deren Events sollen immer sofort gefeuert werden, wenn sie aktualisiert werden.
attr CN.BRENNER event-min-interval tick.*:0,.*:3600
Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: klausw am 22 Mai 2015, 16:50:38
Zitat von: Wzut am 22 Mai 2015, 16:16:54
laut Wiki : http://www.fhemwiki.de/wiki/HourCounter
sollte doch das doch kein Problem sein bzw. mit event-min-interval  machbar sein :
Naja, dann habe ich aber doch jede Stunde ein event im Log, oder übersehe ich da was?

Das Modul statistics rechnet 12,25 Stunden zusammen (was meiner Meinung nach auch stimmt ... siehe Bild)
HourCounter (UtilsHourCounter) kommt auf 10,42 Stunden
Wenn ich mir das so richtig anschaue stimmt die Zeit überhaupt nicht.
Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: Puschel74 am 22 Mai 2015, 18:50:22
Vielleicht hilft es was - oder auch nicht.
Mit addLog kannst du dir u. a. zu festen Zeiten Werte loggen lassen - siehe Wiki: http://www.fhemwiki.de/wiki/Plot-Abriss_vermeiden (http://www.fhemwiki.de/wiki/Plot-Abriss_vermeiden)
Einfach um 23:59 und um 00:01 addLog mit den gewünschten Werten ausführen lassen.
Ich denke mal 2 fehlende Minuten sollten verschmerzbar sein wenn es so klappt wie du es möchtest.
Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: klausw am 22 Mai 2015, 23:27:10
Danke, das versuche ich mal
Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: wkarl am 23 Mai 2015, 09:13:30
Kuck Dir mal logProxy an http://www.fhemwiki.de/wiki/LogProxy (http://www.fhemwiki.de/wiki/LogProxy). Damit kannst Du dem Problem begegnen.

ciao walter
Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: klausw am 23 Mai 2015, 14:53:29
Zitat von: wkarl am 23 Mai 2015, 09:13:30
Kuck Dir mal logProxy an http://www.fhemwiki.de/wiki/LogProxy (http://www.fhemwiki.de/wiki/LogProxy). Damit kannst Du dem Problem begegnen.
Das Log ist doch Ok.
Es ging um den HourCounter
Titel: Antw:Loglile nur bei Statusänderung schreiben OHNE event-on-change-reading
Beitrag von: klausw am 23 Mai 2015, 14:58:01
Thema erledigt.
Die Zeiten stimmen wieder.
Vermutlich lag es daran, das vom MQTT Modul die Prozessorlast an den Anschlag gefahren wurde.

Der gestrige Tag stimmt wieder.
Es wundert mich zwar, das appOpHoursPerDayTemp immer 0 ist. Aber damit kann ich leben.