Reading Wert - Mitternacht ins Logile (gelöst)

Begonnen von fini, 18 August 2017, 16:54:39

Vorheriges Thema - Nächstes Thema

fini

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

amenomade

Mit einem "at" und als Befehl { Log3 <device>,1,<was Du willst> }
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fini

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.



kadettilac89

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.

fini

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.


fini

ok, <> sollte man behalten...
dachte die müssen weg.

danke für die hilfe!

fini

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> }

kadettilac89

#7
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

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


fini

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)


kadettilac89

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

Wenn auch nicht, erkläre mal was du GENAU vorhast, sonst ist es schwer dir zu helfen.

amenomade

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
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fini

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
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

amenomade

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fini

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...

RaspiLED

#14
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, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

kadettilac89

#15
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.

amenomade

Ich dachte Du bist schlau genug, um mein Beispiel anzupassen, da Du schon hieroben folgendes geschrieben hattest:
Zitatdefine w_werte2 at *23:59

...
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

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.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fini

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.




amenomade

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)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fini

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}


amenomade

#21
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]
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

fini

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 !!!!