FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Catinor am 07 Mai 2016, 01:46:05

Titel: [gelöst] trigger manuell ok, nicht bei notify
Beitrag von: Catinor am 07 Mai 2016, 01:46:05
Guten Abend

ich hab die Berechnung gleitender Mittelwerte aus einem Logfile anhand des Wikis (http://www.fhemwiki.de/wiki/Gleitende_Mittelwerte_berechnen_und_loggen) aufgesetzt (Perl-Code in 99_myUtils, ein notify). Kurzfassung meines Problems: das Triggern des Schreibens zusätzlicher Werte ins Logfile geht aus der Kommandozeile, aber nicht von der Notification aus, die im Wiki beschrieben ist. Der Event wird erzeugt und ist im EventLog zu sehen, aber nichts wird geschrieben.

Die Notification ist:

define n_avWind notify HM_Wetterstation:windSpeed.* { fhem('trigger HM_Wetterstation avWindSpeed: '.myAverage("600", "FileLog_HM_Wetterstation", "4:windSpeed::")); }

Im EventLog sehe ich die Auslösung:


...
2016-05-07 01:21:12 CUL_HM HM_Wetterstation temperature: 17.8
2016-05-07 01:21:12 CUL_HM HM_Wetterstation windDirRange: 67.5
2016-05-07 01:21:12 CUL_HM HM_Wetterstation windDirection: 110
2016-05-07 01:21:12 CUL_HM HM_Wetterstation windSpeed: 18.8
2016-05-07 01:21:12 CUL_HM HM_Wetterstation avTemperature: 15.9
2016-05-07 01:21:12 CUL_HM HM_Wetterstation avWindSpeed: 11.0


Die Berechnung der Werte stimmt soweit ich sehe, 99_myUtils scheint also richtig erweitert. Auch das Notify wird ausgelöst. Nur taucht im Logfile nichts auf, dort stehen die av-Werte nicht. Wenn ich von Hand eingebe:

trigger HM_Wetterstation testValue: 15

sehe ich den Wert im Logfile wie eigentlich erwartet:

2016-05-07_01:29:37 HM_Wetterstation testValue: 15

Auch verbose 5 für FileLog und notify sagen mir nicht mehr (ist hier jetzt für die Temperatur, Verhalten ist aber für beide Werte das gleiche):

2016.05.07 01:11:32 5: Triggering n_weather_median_temp
2016.05.07 01:11:32 4: n_weather_median_temp exec { fhem('trigger HM_Wetterstation avTemperature: '.myAverage("86400", "FileLog_HM_Wetterstation", "4:temperature::"));; }
2016.05.07 01:11:32 4: FileLog_HM_Wetterstation get: Input file ./log/HM_Wetterstation-2016.log, from:2016-05-06_01:11:32  to:2016-05-07_01:11:32
2016.05.07 01:11:32 4: FileLog_HM_Wetterstation get: line 1, regexp:temperature, col:3, output lines:567
2016.05.07 01:11:32 4: FileLog_HM_Wetterstation get: Input file ./log/HM_Wetterstation-2016.log, from:2016-05-07_01:01:32  to:2016-05-07_01:11:32
2016.05.07 01:11:32 4: FileLog_HM_Wetterstation get: line 1, regexp:windSpeed, col:3, output lines:3
2016.05.07 01:11:33 4: FileLog_HM_Wetterstation get: Input file ./log/HM_Wetterstation-2016.log, from:2016-05-06_00:00:00  to:2016-05-08_00:00:00
2016.05.07 01:11:33 4: FileLog_HM_Wetterstation get: line 1, regexp:temperature.*, col:3, output lines:596
2016.05.07 01:11:33 4: FileLog_HM_Wetterstation get: Input file ./log/HM_Wetterstation-2016.log, from:2016-05-06_00:00:00  to:2016-05-08_00:00:00
2016.05.07 01:11:33 4: FileLog_HM_Wetterstation get: line 1, regexp:windSpeed.*, col:3, output lines:596
2016.05.07 01:11:33 4: FileLog_HM_Wetterstation get: Input file ./log/HM_Wetterstation-2016.log, from:2016-05-06_00:00:00  to:2016-05-08_00:00:00
2016.05.07 01:11:34 4: FileLog_HM_Wetterstation get: line 1, regexp:humidity.*, col:3, output lines:596
Titel: Antw:[gelöst] trigger manuell ok, nicht bei notify
Beitrag von: Catinor am 07 Mai 2016, 15:40:23
Timing-Problem...

Events zur gleichen Zeit fürs Logging zu triggern, wie die "normalen" Events kommen, scheint das Problem auszulösen. Wenn die Mittelwerte verzögert geschrieben werden

{ fhem("sleep 5;trigger HM_Wetterstation avWindSpeed: ".myAverage("600", "FileLog_HM_Wetterstation", "4:windSpeed::")); }

dann werden die Zeilen ins Log geschrieben. Vielleicht ein nur auf schnelleren Rechnern auftauchen, FHEM läuft auf einem Raspi 3.