Differenz von zwei Tagen berechnen

Begonnen von gerd54, 07 Januar 2023, 11:21:52

Vorheriges Thema - Nächstes Thema

gerd54

also ich hab jetzt mal die 99_myUtils.pm angelegt
und den siebenzeiler reinkopiert.

das at_tagesverbrauch ebenso angelegt und das attr event_on_update_reading eingepflegt (verbrauch_.*).

In welches "normale" Logfile werden die Daten geschrieben? Braucht es da noch ein anzulegendes Logfile?

Du siehst, ich arbeite zwar schon lange mit FHEM aber in der Tiefe bin ich absolut nicht drin. :-(
vg
Gerd

betateilchen

Zitat von: gerd54 am 07 Januar 2023, 14:44:41
In welches "normale" Logfile werden die Daten geschrieben?

Sorry, ich kenne Deine FHEM Installation nicht und ich kann auch nicht hellsehen.
Deshalb kann ich Deine Frage nicht beantworten.

Aber diese Aussage von Dir:

Zitat von: gerd54
ich habe ein weiteres LogFile erzeugt

deutet darauf hin, dass es mindestens zwei Logfiles in Deinem System geben sollte.
In jedem Logfile, in dem das device MQTT2_DVES_56FA8D mit allen seinen readings gelogged wird, sollten das neue reading auch auftauchen.

Zitat von: gerd54 am 07 Januar 2023, 14:44:41
ich arbeite zwar schon lange mit FHEM aber in der Tiefe bin ich absolut nicht drin. :-(

Logfiles haben m.E. nicht mit "in der Tiefe" von FHEM zu tun, sondern gehören zu den basics.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gerd54

Hallo Betateilchen,

habs jetzt ausprobiert und tut.
Besten Dank nochmal, hab ne Menge dazugelernt.

vg und schönes Wochenende
Gerd

gerd54

Hallo Betateilchen,
habe den 5 Teiler in die 99_myUtil angelegt und das at_tagesverbrauch erzeugt.
Die Berechnung erfolgt auch und 23:59 werden die Tageswerte in den Readings des Device angezeigt

siehe Screenshot

aber nur angezeigt, ins Log werden die nicht geschrieben, ergo habe ich auch keine Möglichkeit Plots zu erzeugen.
Kannst du hier noch mal helfen, was habe ich vergessen?

vg  Gerd

betateilchen

Wie sieht denn die Definition Deines Logfiles aus?

Entweder, irgendwas mit den verfluchten event-on-irgendwas Attributen passt nicht oder Dein Logfile ist nicht so definiert, dass diese "neuen" readings mit aufgezeichnet werden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gerd54


betateilchen

Die Definition macht jetzt nicht so arg viel Sinn, aber unabhängig davon sollte sie trotzdem funktionieren.
Hast Du mal in das Logfile reingeschaut, ob da die Werte wirklich nicht drinstehen?

Ansonsten schmeiß mal diese event-on-bla Attribute bei dem device raus.

setreading erzeugt events - also sollte das grundsätzlich auch gelogged werden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

gerd54

Hi Betateilchen,

habe die Logs mal durchforstet, leider nix drin.
Habe auch festgestellt das die beiden  Readings (Haus_Power_curr: und Haus_total_in) im Browser automatisch aktualisiert werden, nur die beiden neuen nicht. Die werden erst nach einem Browserfenster  refresh aktualisiert, aber selbst dann, kein Eintrag im Log.

Kann vielleicht der Eintrag in der 99_myUtils erweitert werden und den Eintrag diff in ein, ev. neues Log schreiben?

Oder ein kleines Script welches auf OS Ebene eine Berechnung des Differenzwertes vornimmt und in ein neues Log schreibt?

vg Gerd

MadMax-FHEM

#23
Zitat von: gerd54 am 12 Januar 2023, 12:00:00
Habe auch festgestellt das die beiden  Readings (Haus_Power_curr: und Haus_total_in) im Browser automatisch aktualisiert werden, nur die beiden neuen nicht. Die werden erst nach einem Browserfenster  refresh aktualisiert, aber selbst dann, kein Eintrag im Log.

Das hier gemacht:
Zitat von: betateilchen am 12 Januar 2023, 11:21:04
Ansonsten schmeiß mal diese event-on-bla Attribute bei dem device raus.

Eventmonitor öffnen und schauen kann auch helfen: keine Events keine Einträge im Log...

Laut deinem ScreenShot hast du event-on-change-reading auf eben genau diese beiden Readings gesetzt: Haus_Power_curr: und Haus_total_in

Bedeutet für alle anderen Readings (ausgenommen die bei event-on-update EDIT: da bin ich grad ein wenig verwirrt...) keine Events ergo keine Einträge im Log...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

gerd54

Hallo Joachim,
hatte auch auf verbrauch_diff den event_on_update gesetzt, brachte aber auch kein event im Monitor und auch kein Logeintrag
Vielleicht muss ich andere wege gehen?
vg Gerd

MadMax-FHEM

Zitat von: gerd54 am 12 Januar 2023, 13:25:27
Hallo Joachim,
hatte auch auf verbrauch_diff den event_on_update gesetzt, brachte aber auch kein event im Monitor und auch kein Logeintrag
Vielleicht muss ich andere wege gehen?
vg Gerd

Lösche doch einfach mal ALLE event-on- Attribute und schau dann im Eventmonitor und dann (vors. es gab Events) im Log.

Danach (wenn das geht) kannst du ja wieder einschränken...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

betateilchen

Zitat von: gerd54 am 12 Januar 2023, 13:25:27
Vielleicht muss ich andere wege gehen?

Nein, musst Du nicht. Wie oft noch?

Öffne zwei Browser-Fenster (oder Tabs)
Im ersten startest Du den EventMonitor.
Im zweiten gibst Du in die FHEM Befehlszeile ein:

setreading MQTT2_DVES_56FA8D verbrauch_diff 1234

Dann schaust Du im ersten Fenster nach, ob der event dort auftaucht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Und lösche das sinnfreie userReading MQTT2_DVES_56FA8D in Deinem FileLog device!
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Sany

Probier's doch mal ohne die Leerzeichen bei den event-on-xx Attributen.

It's a Comma-seperated list....
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

gerd54

so,

setreading MQTT2_DVES_56FA8D verbrauch_diff 1234