FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: fini am 18 August 2017, 16:54:39

Titel: Reading Wert - Mitternacht ins Logile (gelöst)
Beitrag von: fini am 18 August 2017, 16:54:39
Moin,

ich würde gerne eine Reading Wert um Miternacht in ein Logfile schreiben.
Leider habe ich nichts genaues gefunden, wie ich es machen könnte.
Es geht z.b: um Regenn mm am Tag. Tageshöchtst- Tiefsttemperatur u.s.w.

Wer kann helfen?
Danke!

Fini
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 18 August 2017, 18:40:59
Mit einem "at" und als Befehl { Log3 <device>,1,<was Du willst> }
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 18 August 2017, 19:29:07
ich stelle mich bestimmt wieder zu doof an  :-[


mit

define w_werte2 at *23:59 {Regen,1,rain_day}


bekomme ich Fehler

Bareword "Regen" not allowed while "strict subs" in use at (eval 5361623) line 1.
Bareword "rain_day" not allowed while "strict subs" in use at (eval 5361623) line 1.


Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: kadettilac89 am 18 August 2017, 19:55:33
Zitat von: fini am 18 August 2017, 19:29:07
ich stelle mich bestimmt wieder zu doof an  :-[

Nein, du liest nicht  ...  :o

Zitat von: amenomade am 18 August 2017, 18:40:59
Mit einem "at" und als Befehl { Log3 <device>,1,<was Du willst> }

Nehme "Log3" mit in deinen Befehl mit auf wie Amenomade geschrieben hatte.
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 18 August 2017, 22:47:08
mit

define w_werte2 at *23:59 { Log3 Regen,1,rain_day }


da kommt der Fehler


Bareword "Regen" not allowed while "strict subs" in use at (eval 5361623) line 1.
Bareword "rain_day" not allowed while "strict subs" in use at (eval 5361623) line 1.

Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 18 August 2017, 22:59:53
ok, <> sollte man behalten...
dachte die müssen weg.

danke für die hilfe!
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 18 August 2017, 23:31:49
haut noch nicht hin
angelegt wurde es mit


define w_werte2 at *23:02 { Log3 <Regen>,1,<rain_day> }


es kommt aber beim ausführen fehler laut logfile

2017.08.18 23:02:00 1: PERL WARNING: readline() on unopened filehandle Regen at (eval 5363693) line 1.
2017.08.18 23:02:00 3: eval: { Log3 <Regen>,1, <rain_day> }
2017.08.18 23:02:00 1: PERL WARNING: readline() on unopened filehandle rain_day at (eval 5363693) line 1.
2017.08.18 23:02:00 3: eval: { Log3 <Regen>,1, <rain_day> }
2017.08.18 23:02:00 1: PERL WARNING: Use of uninitialized value $text in concatenation (.) or string at fhem.pl line 915.
2017.08.18 23:02:00 3: eval: { Log3 <Regen>,1, <rain_day> }
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: kadettilac89 am 18 August 2017, 23:53:12
Zitat von: fini am 18 August 2017, 23:31:49
haut noch nicht hin
angelegt wurde es mit

schau dir die Doku an ... https://wiki.fhem.de/wiki/DevelopmentModuleAPI#Log3 (https://wiki.fhem.de/wiki/DevelopmentModuleAPI#Log3)

und noch als Beispiel ... HMTempSensor2 ist das Device, temperature das Reading.

{Log3(undef,1,'Aktuelle Temperatur: '.ReadingsVal("HMTempSensor2","temperature",0).' °C')}

--> Ergibt diesen Eintrag im Log:

2017.08.18 23:49:03.033 1: Aktuelle Temperatur: 20.1 °C

Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 19 August 2017, 04:45:14
ok, mit unteren wird es angelegt

define wt_regenmenge at *04:30 {Log3(undef,1,'regenmenge: '.ReadingsVal("netatmo_M05_00_00_03_9c_9e", "rain_day>",0).' mm')}


er schreibt es aber ins fhem logfile

2017.08.19 04:30:00 1: regenmenge: 0 mm


würde es aber gerne in ein eigenes logfile um später auch
eine svg plot (diagramm zu erstellen)

Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: kadettilac89 am 19 August 2017, 08:55:53
Zitat von: fini am 19 August 2017, 04:45:14
ok, mit unteren wird es angelegt

define wt_regenmenge at *04:30 {Log3(undef,1,'regenmenge: '.ReadingsVal("netatmo_M05_00_00_03_9c_9e", "rain_day>",0).' mm')}


er schreibt es aber ins fhem logfile

2017.08.19 04:30:00 1: regenmenge: 0 mm


würde es aber gerne in ein eigenes logfile um später auch
eine svg plot (diagramm zu erstellen)

Ok, ist ein wenig Rätselraten ... schau dir das mal an ob es deiner Anforderung mehr entspricht ... https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden (https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden)

Wenn auch nicht, erkläre mal was du GENAU vorhast, sonst ist es schwer dir zu helfen.
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 19 August 2017, 10:19:56
Mit
defmod atlog at +*00:00:10 setreading atlog wetter [wetter:condition]schreibst Du alle 10 Sekunden den Wert vom Reading "condition" des Devices "wetter" in einem Reading des at "atlog" selbst.

Dann mit Filelog:
define testlog Filelog ./log/wetter-%Y.log atlog:wetter.*schreibst Du den Wert vom Reading "wetter"  von "atlog" in einer Datei ./log/wetter-2017.log

2017-08-19_10:18:09 atlog wetter: Bedeckt
2017-08-19_10:18:19 atlog wetter: Bedeckt
2017-08-19_10:18:29 atlog wetter: Bedeckt
2017-08-19_10:18:39 atlog wetter: Bedeckt
2017-08-19_10:18:49 atlog wetter: Bedeckt
2017-08-19_10:18:59 atlog wetter: Bedeckt
2017-08-19_10:19:09 atlog wetter: Bedeckt
2017-08-19_10:19:19 atlog wetter: Bedeckt
2017-08-19_10:19:29 atlog wetter: Bedeckt
2017-08-19_10:19:39 atlog wetter: Bedeckt
2017-08-19_10:19:49 atlog wetter: Bedeckt
2017-08-19_10:19:59 atlog wetter: Bedeckt
2017-08-19_10:20:09 atlog wetter: Bedeckt
2017-08-19_10:20:19 atlog wetter: Bedeckt
2017-08-19_10:20:29 atlog wetter: Bedeckt
2017-08-19_10:20:39 atlog wetter: Bedeckt
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 19 August 2017, 19:13:44
Zitat von: kadettilac89 am 19 August 2017, 08:55:53
Ok, ist ein wenig Rätselraten ... schau dir das mal an ob es deiner Anforderung mehr entspricht ... https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden (https://wiki.fhem.de/wiki/Plot-Abriss_vermeiden)
Wenn auch nicht, erkläre mal was du GENAU vorhast, sonst ist es schwer dir zu helfen.

also, ich möchte jeden Tag um 23:59 Uhr den Readings Wert "rain_day" in ein Log speichern.
so in etwa:

2017-08-16_23:59:00 regen regen_tag: 0.1
2017-08-17_23:59:00 regen regen_tag: 37.2
2017-08-18_23:59:00 regen regen_tag: 7.1


dann möchte ich davon eine Gplot erstellen
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 19 August 2017, 19:16:23
Siehe oben
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 19 August 2017, 19:33:18
Zitat von: amenomade am 19 August 2017, 19:16:23
Siehe oben

Dein Beispiel speichert in einen bestimmten Anstand einen  Readings Wert.
Ich möchte 23:59 Uhr den Regenmenge speichern...
Titel: Reading Wert - Mitternacht ins Logile
Beitrag von: RaspiLED am 19 August 2017, 19:40:52
Hi,
Genau also Abstand 24h ;-)
Oder eben

defmod atlog at *23:59:59 setreading atlog wetter [wetter:rain_day]

siehe https://fhem.de/commandref_DE.html#at

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: kadettilac89 am 19 August 2017, 19:59:54
Zitat von: fini am 19 August 2017, 19:33:18
Dein Beispiel speichert in einen bestimmten Anstand einen  Readings Wert.
Ich möchte 23:59 Uhr den Regenmenge speichern...

Und wenn du ein FIlelog anlegest dass genau das separate Reading logt hast du was du willst. Wenn du das Reading nur um 23:59 setzt hast du genau um 23:59 einen Eintrag im Filelog.
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 19 August 2017, 20:11:39
Ich dachte Du bist schlau genug, um mein Beispiel anzupassen, da Du schon hieroben folgendes geschrieben hattest:
Zitatdefine w_werte2 at *23:59

...
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 19 August 2017, 20:16:53
Also z.B.
defmod atlog at *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day]
define regenlog Filelog ./log/regen_day-%Y.log atlog:regen.*


Wenn Du es in einem SVG nutzen möchtest, dann lieber keine Einheit wie "mm" dahinten.
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 20 August 2017, 10:19:43
Zitat von: amenomade am 19 August 2017, 20:16:53
Also z.B.
defmod atlog at *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day]
define regenlog Filelog ./log/regen_day-%Y.log atlog:regen.*


Wenn Du es in einem SVG nutzen möchtest, dann lieber keine Einheit wie "mm" dahinten.

supi, jetzt ist es wie ich es haben möchte  :)
kleine Frage noch;-)
wie schreibe ich es, wenn ich auch noch  temp_min und temp_max haben möchte.



Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 20 August 2017, 10:40:00
defmod atlog at *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day];;setreading atlog tmin [netatmo_M05_00_00_03_9c_9e:temp_min];;setreading atlog tmax  [netatmo_M05_00_00_03_9c_9e:temp_max]
defmod regenlog Filelog ./log/regen_day-%Y.log atlog:(regen|tmin|tmax).*

(nicht getestet)
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 20 August 2017, 11:11:10
Zitat von: amenomade am 20 August 2017, 10:40:00
defmod atlog at *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day];;setreading atlog tmin [netatmo_M05_00_00_03_9c_9e:temp_min];;setreading atlog tmax  [netatmo_M05_00_00_03_9c_9e:temp_max]


da kommt:
Wrong timespec defmod: either HH:MM:SS or {perlcode}

Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: amenomade am 20 August 2017, 17:29:48
defmod ersetzt define.

Entweder trägst Du das ganze defmod atlog at *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day];;setreading atlog tmin [netatmo_M05_00_00_03_9c_9e:temp_min];;setreading atlog tmax  [netatmo_M05_00_00_03_9c_9e:temp_max] in dem Kommandofeld oben ein,

oder, wenn Du auf "DEF" in dem at klickst, dann nur *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day];setreading atlog tmin [netatmo_M05_00_00_03_9c_9e:temp_min];setreading atlog tmax  [netatmo_M05_00_00_03_9c_9e:temp_max]
Titel: Antw:Reading Wert - Mitternacht ins Logile
Beitrag von: fini am 20 August 2017, 17:43:08
war heute morgen wohl noch nicht ganz wach und habe


defmod atlog at *23:59 setreading atlog regen [netatmo_M05_00_00_03_9c_9e:rain_day];;setreading atlog tmin [netatmo_M05_00_00_03_9c_9e:temp_min];;setreading atlog tmax  [netatmo_M05_00_00_03_9c_9e:temp_max]


bei "DEF" eingetragen  8)

ohne dich hätte ich dat nicht hin bekommen...
vielen dank !!!!