FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gerd54 am 07 Januar 2023, 11:21:52

Titel: Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 11:21:52
Hallo liebe Gemeinde,
suche jetzt schon seit langer Zeit an einer Lösung für mein Problem:

habe mehrere Sensoren an meiner RPi Box, Temperaturen, Luftfeuchte (OWX, Max-Heizthermostate, LaCross, Tasmota) usw.
Läuft alles halbwegs gut auch die HourCounter für Gas und Wasser (gesteuert über GPIOs. Hier sind auch Auswertungen auf zeitlichen Rückblick möglich, z.B. Logs der letzen Tage und Wochen und auch ein Jahresrückblich. Damit kann ich meine Werte gut vergleichen.
Alles für Energiekostensenkkung.

bei der Auswertung meines Tasmota Stromzählers habe ich aber Schwierigkeiten, der erzeugt zwar Gesamtverbrauch und aktuellen Tagesverbrauch, aber mir gelingt es nicht einen Differenzwert pro Tag auszugeben.
Ich möchte Abends um 23:59 einen Wert in ein Log schreiben, das funktioniert, Wie aber kriege ich die Differenz zum Vortag oder mehrere Vortage hin? Ich möchte also einen Plot erstellen, der mir die Tagesverbräuche aus einem Log anbietet. Entweder aus einem FHEM Log oder NodeRed.

Jemand einen Rat

VG Gerd

Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 11:35:09
Wenn Du doch eh schon jeden Tag um 23:59 Uhr "aktiv" bist, um den Wert ins Log zu schreiben, kannst Du doch im gleichen Aufwasch gleich die Differenz zum Vortag feststellen und auch ins Log schreiben?

Beispiel zur Verdeutlichung, was um 23:59 passieren könnte:


Dann kannst Du die Tagesdifferenzen genau so plotten wie jeden anderen Wert aus dem Log auch.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 11:40:28
hallo Betateilchen,

so hört sich das prime an, nur, wie setze ich das praktisch um. ich hab da ein paar Lücken beim HowTo.

vg Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 11:42:51
ok, fangen wir mal mit der einfachsten Frage an...

Zitat von: gerd54 am 07 Januar 2023, 11:21:52
Ich möchte Abends um 23:59 einen Wert in ein Log schreiben, das funktioniert

Wie machst Du das?

Zweite Frage: FileLog oder DbLog?
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 11:52:54
Hallo Betateilchen,
ich habe ein weiteres LogFile erzeugt und da mit:

disabledForIntervals 00:00-23:59 23:59-00:00

die letzte Minute geloggt.

vg Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 11:55:08
auweia... einen umständlicheren Weg hast Du wohl nicht gefunden?  8)

Welches device willst Du loggen? Bitte mal ein list von dem device, das den Verbrauchswert enthält.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 12:03:25
ist aber lang :-(

Internals:
   CID        DVES_56FA8D
   DEF        DVES_56FA8D
   FUUID      63147b27-f33f-04c2-56d5-5533ddaba77d6df2
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     19863
   NAME       MQTT2_DVES_56FA8D
   NR         81
   STATE      420.0 W
   TYPE       MQTT2_DEVICE
   eventCount 19863
   m2s_CONN   m2s_192.168.0.157_62116
   m2s_MSGCNT 19863
   m2s_TIME   2023-01-07 12:02:12
   READINGS:
     2023-01-07 12:02:12   Haus_Power_curr 420.0
     2022-11-22 16:13:59   Haus_Power_curr_avg_day 547.0
     2022-11-22 16:13:59   Haus_Power_curr_avg_month 547.0
     2022-11-22 16:13:59   Haus_Power_curr_cum_day 31966433
     2022-11-22 16:13:59   Haus_Power_curr_cum_month 1071704033
     2022-11-22 16:13:44   Haus_Power_curr_max_day 559.0
     2022-11-22 16:13:44   Haus_Power_curr_max_month 559.0
     2022-11-22 16:12:59   Haus_Power_curr_min_day 547.0
     2022-11-22 16:12:59   Haus_Power_curr_min_month 547.0
     2023-01-07 12:02:12   Haus_total_in   13275.13
     2022-09-18 22:26:22   Heap            21
     2022-12-24 16:45:26   IODev           m2s
     2022-09-18 17:36:08   LWT             Online
     2022-09-18 22:26:22   LoadAvg         19
     2022-09-18 22:26:22   MqttCount       7
     2022-09-18 17:36:08   POWER           
     2022-09-18 22:26:22   POWER1          on
     2022-09-18 22:26:22   Sleep           50
     2022-09-18 22:26:22   SleepMode       Dynamic
     2023-01-07 12:02:12   Time            2023-01-07T12:02:12
     2022-09-18 22:26:22   Uptime          2T11:25:34
     2022-09-18 22:26:22   UptimeSec       213934
     2022-09-18 22:26:22   Wifi_AP         1
     2022-09-18 22:26:22   Wifi_BSSId      EC:A9:40:6C:51:14
     2022-09-18 22:26:22   Wifi_Channel    11
     2022-09-18 22:26:22   Wifi_Downtime   0T00:00:26
     2022-09-18 22:26:22   Wifi_LinkCount  6
     2022-09-18 22:26:22   Wifi_Mode       11n
     2022-09-18 22:26:22   Wifi_RSSI       100
     2022-09-18 22:26:22   Wifi_SSId       BambusRouter
     2022-09-18 22:26:22   Wifi_Signal     -47
     2022-09-04 15:04:24   attrTemplateVersion 20210523
     2022-09-18 17:36:09   btn_1           0
     2022-09-18 17:36:09   btn_2           0
     2022-09-18 17:36:09   btn_3           0
     2022-09-18 17:36:09   btn_4           0
     2022-09-18 17:36:09   btn_5           0
     2022-09-18 17:36:09   btn_6           0
     2022-09-18 17:36:09   btn_7           0
     2022-09-18 17:36:09   btn_8           0
     2022-09-18 17:36:09   dn              Tasmota
     2022-09-18 17:36:09   fn_1            Tasmota
     2022-09-18 17:36:09   ft              %prefix%/%topic%/
     2022-09-18 17:36:09   hn              tasmota-6797
     2022-09-18 17:36:09   if              0
     2022-09-18 17:36:09   ip              192.168.0.157
     2022-09-18 17:36:09   lk              0
     2022-09-18 17:36:09   lt_st           0
     2022-09-18 17:36:09   mac             C8C9A356FA8D
     2022-09-18 17:36:09   md              Sonoff Basic
     2022-09-18 17:36:09   ofln            Offline
     2022-09-18 17:36:09   onln            Online
     2022-09-18 17:36:09   rl_1            1
     2022-09-18 17:36:09   rl_2            0
     2022-09-18 17:36:09   rl_3            0
     2022-09-18 17:36:09   rl_4            0
     2022-09-18 17:36:09   rl_5            0
     2022-09-18 17:36:09   rl_6            0
     2022-09-18 17:36:09   rl_7            0
     2022-09-18 17:36:09   rl_8            0
     2022-09-18 17:36:09   sho_1           0
     2022-09-18 17:36:09   sho_2           0
     2022-09-18 17:36:09   sho_3           0
     2022-09-18 17:36:09   sho_4           0
     2022-09-18 17:36:09   sn_Haus__Power_curr 270.0
     2022-09-18 17:36:09   sn_Haus__total_in 11993.39
     2022-09-18 17:36:09   sn_Time         2022-09-18T16:36:08
     2022-09-18 17:36:09   so_11           0
     2022-09-18 17:36:09   so_114          0
     2022-09-18 17:36:09   so_117          0
     2022-09-18 17:36:09   so_13           0
     2022-09-18 17:36:09   so_17           0
     2022-09-18 17:36:09   so_20           0
     2022-09-18 17:36:09   so_30           0
     2022-09-18 17:36:09   so_4            0
     2022-09-18 17:36:09   so_68           0
     2022-09-18 17:36:09   so_73           0
     2022-09-18 17:36:09   so_82           0
     2022-09-18 17:36:09   state_1         off
     2022-09-18 17:36:09   state_2         on
     2022-09-18 17:36:09   state_3         toggle
     2022-09-18 17:36:09   state_4         hold
     2022-12-24 16:46:26   subscriptions   cmnd/DVES_56FA8D_fb/# cmnd/tasmota/# cmnd/tasmotas/#
     2022-09-18 17:36:09   sw              11.1.0
     2022-09-18 17:36:09   swc_1           -1
     2022-09-18 17:36:09   swc_2           -1
     2022-09-18 17:36:09   swc_3           -1
     2022-09-18 17:36:09   swc_4           -1
     2022-09-18 17:36:09   swc_5           -1
     2022-09-18 17:36:09   swc_6           -1
     2022-09-18 17:36:09   swc_7           -1
     2022-09-18 17:36:09   swc_8           -1
     2022-09-18 17:36:09   t               tasmota
     2022-09-18 17:36:09   tp_1            cmnd
     2022-09-18 17:36:09   tp_2            stat
     2022-09-18 17:36:09   tp_3            tele
     2022-09-18 17:36:09   ty              0
     2022-09-18 17:36:09   ver             1
Attributes:
   alias      Strom-mom
   event-on-change-reading Haus_Power_curr, Haus_total_in
   event-on-update-reading Haus_total_in
   readingList DVES_56FA8D:tele/tasmota/SENSOR:.* { json2nameValue($EVENT) }
   room       Gas,MQTT2_DEVICE
   stateFormat Haus_Power_curr W
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 12:07:13
Bitte nächstes Mal code-Tags für sowas verwenden, dann ist das besser lesbar.

Welches ist das gewünschte reading, dessen Wert Du um 23:59 Uhr brauchst?
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 12:10:16

2023-01-07 12:02:12   Haus_total_in   13275.13
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 12:29:23
Zitat von: gerd54 am 07 Januar 2023, 11:40:28
wie setze ich das praktisch um. ich hab da ein paar Lücken beim HowTo.

In der 99_myUtils.pm folgende Funktion anlegen:


sub tagesverbrauch {
  my $aktuell = ReadingsNum('MQTT2_DVES_56FA8D','Haus_total_in',-1);
  my $gestern = ReadingsNum('MQTT2_DVES_56FA8D','verbrauch_gestern',-1);
  my $diff    = $aktuell - $gestern;
  fhem("setreading MQTT2_DVES_56FA8D verbrauch_gestern $aktuell");
  fhem("setreading MQTT2_DVES_56FA8D verbrauch_diff    $diff");
}


Damit werden die Werte in das "normale" Logfile geschrieben, Du musst allerdings daran denken, die beiden readings "verbrauch_.*" in das verdammte event-on-update aufzunehmen.

Dann definierst Du ein at, das die Funktion aufruft


define at_tagesverbrauch at *23:59:30 {tagesverbrauch}


Und das wars auch schon.
Du kannst dann den Wert "verbrauch_diff" ganz normal in einem plot verwenden und darstellen.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 12:39:03
toll Betateilchen,

das werde ich nachher mal umsetzen. Bis hierher erstmal danke.
;elde mich wenns klappt, wenn nicht dann auch. :-)

vg
Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 12:42:48
muss ich die 99_myUtils.pm ändern oder reicht es den Eintrag im Device unter DEF reinzukopieren?
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 12:46:36
Zitat von: gerd54 am 07 Januar 2023, 12:42:48
muss ich die 99_myUtils.pm ändern oder

Diese Frage verstehe ich nicht.

Was ist daran:

Zitat von: betateilchen am 07 Januar 2023, 12:29:23
In der 99_myUtils.pm folgende Funktion anlegen:

unverständlich?
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 12:56:14
ich dachte, ich könne entweder den Code in der PM_Util anlegen ODER im DEF des Device, also alternativ.
noch mal danke für deine Mühe
vg Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 13:49:21
Prinzipiell könntest Du den Code auch in das DEF des at-devices schreiben.

Aber ich lagere solche Codeblöcke gerne in die 99_myUtils.pm aus (und ich empfehle das Vorgehen dringend!) weil es dort besser zu pflegen und einfacher zu lesen ist als im DEF eines devices. Und es erleichtert vor allem die Nachvollziehbarkeit und die Verständlichkeit, was in dem Code eigentlich passiert.

Bei den 5 Zeilen hier in diesem Fall ist das nicht ganz so dramatisch, aber es gibt tatsächlich Leute, die mehrere Dutzend/Hundert Zeilen Code in ein DEF schreiben, was ich für völlig unsinnig halte.

Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 14:44:41
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
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 07 Januar 2023, 14:52:45
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.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 07 Januar 2023, 22:32:21
Hallo Betateilchen,

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

vg und schönes Wochenende
Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 10:56:10
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
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 11:00:49
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.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 11:07:37
siehe Screenshoot
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 11:21:04
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.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 12:00:00
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
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: MadMax-FHEM am 12 Januar 2023, 12:55:32
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
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag 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
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: MadMax-FHEM am 12 Januar 2023, 13:30:50
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
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 13:32:12
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.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 13:38:18
Und lösche das sinnfreie userReading MQTT2_DVES_56FA8D in Deinem FileLog device!
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: Sany am 12 Januar 2023, 14:09:33
Probier's doch mal ohne die Leerzeichen bei den event-on-xx Attributen.

It's a Comma-seperated list....
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 14:44:29
so,

setreading MQTT2_DVES_56FA8D verbrauch_diff 1234
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 14:49:06
sorry,
setreading MQTT2_DVES_56FA8D verbrauch_diff 1234
erzeugt keinen event eintrag im eventmonitor

der sinnfreie Eintrag ist raus

vg Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 14:51:39
noch als nachtrag,
im event monitor kommt nix, aber in den Readings des Devices hab ich den Eintrag "1234" drin..?
vg Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 14:57:01
Zitat von: gerd54 am 12 Januar 2023, 14:49:06
setreading MQTT2_DVES_56FA8D verbrauch_diff 1234
erzeugt keinen event eintrag im eventmonitor

Hast Du endlich mal die event-on-xxx Attribute gelöscht, bevor Du testest?

Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 14:58:20
Zitat von: gerd54 am 12 Januar 2023, 14:51:39
im event monitor kommt nix, aber in den Readings des Devices hab ich den Eintrag "1234" drin..?

naja, das Setzen des readings war ja nie das Problem.
Das Problem ist, dass das Setzen offenbar kein event auslöst.
Und durch das fehlende event kann logischerweise auch kein Logeintrag entstehen.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: Sany am 12 Januar 2023, 15:13:46
Ich meinte die Attribute event-on-change-reading und event-on-update-reading aus dein ersten Screenshot. Da sind Leerzeichen drin, die nicht da hingehören.
Hättest du statt dem Screenshot ein list gepostet hätte ich es direkt da rauskopiert, um den Fehler zu zeigen.
Und der Vollständigkeit halber: diese Attribute sind als "Filter" anzusehen. Nur was da eingetragen ist wird "durchgelassen" und erzeugt Events und somit Logeinträge.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 12 Januar 2023, 16:03:14
Hi,
also hab jetzt alle event_on.... gelöscht und siehe da jetzt geht es ...:-)

2023-01-12 15:51:41   verbrauch_diff  1235
     2023-01-11 23:59:00   verbrauch_gestern 13325.59
Attributes:
   readingList DVES_56FA8D:tele/tasmota/SENSOR:.* { json2nameValue($EVENT) }
   room       Gas,MQTT2_DEVICE
   stateFormat Haus_Power_curr W

Jetzt ist kein event_on .... eingetragen, trotzdem gehts :-(
dann brauchts doch keine eb´vent_on ....?

vg
Gerd

Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 12 Januar 2023, 16:21:43
Lass sie einfach weg, solange Du nicht vollständig verstanden hast, was Du damit anrichtest...

In meinen FHEM Installationen mit 300-400 devices gibt es kein einziges solches Attribut und alles funktioniert, wie ich das möchte.
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 14 Januar 2023, 12:47:47
moin zusammen,
möchte mich nochmal bei allen bedanken die mir geholfen habe.
nachdem
1. löschen der leerzeichen in den kommaseparierten einträgen.
2. löschen der event_on... Einträge
konnte dann das lang ersehnte reading "verbrauch_diff" auch im Log erscheinen.
Nun fehlten aber "Haus_Power_curr" im Log :-(

Da hatte ein nicht beendeter TAIL Prozess noch die Finger drauf, sodass nix ins log geschrieben wurde.

Hab jetzt ein bischen aufgeräumt, überschüssige Logs und Plots entfernt und für jeden gewünschten Wert ein einzelnes Log angelegt.

bis demnächst :-)

Gerd
Titel: Antw:Differenz von zwei Tagen berechnen
Beitrag von: betateilchen am 14 Januar 2023, 12:54:50
Zitat von: gerd54 am 14 Januar 2023, 12:47:47
für jeden gewünschten Wert ein einzelnes Log angelegt.

Das ist unnötig und belastet Dein System durch die permanent geöffneten Dateien.

Konfiguriere EIN logfile und alle devices korrekt, dann wird auch alles aufgezeichnet, so wie Du es möchtest.


--
Titel: Aw: Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 25 Oktober 2023, 16:58:03
moin zusammen,
mein tagesverbrauch geht nicht mehr, Versuche die 99_myUtils zu editieren, beim speichern gibt es aber immer die Medlung

ERROR:
Bad name after verbrauch_gestern' at ./FHEM/99_myUtils.pm line 21, line 97848.

hat da einer eine idee zu.

meine 99_myurils hat sich nicht geändert.

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.
sub tagesverbrauch {
  my $aktuell = ReadingsNum('MQTT2_DVES_56FA8D','Haus_total_in',-1);
  my $gestern = ReadingsNum'MQTT2_DVES_56FA8D','verbrauch_gestern',-1);
  my $diff = $aktuell - $gestern;
  fhem("setreading MQTT2_DVES_56FA8D verbrauch_gestern $aktuell");
  fhem("setreading MQTT2_DVES_56FA8D verbrauch_diff $diff");
}

1;

danke schon mal

Gerd
Titel: Aw: Differenz von zwei Tagen berechnen
Beitrag von: Jamo am 25 Oktober 2023, 17:07:41
bei ReadingsNum'MQTT2_DVES_56FA8D','verbrauch_gestern',-1); fehlt die öffnende klammer. Richtig ist: ReadingsNum('MQTT2_DVES_56FA8D','verbrauch_gestern',-1);
Titel: Aw: Differenz von zwei Tagen berechnen
Beitrag von: gerd54 am 25 Oktober 2023, 17:17:38
boah, super danke
:-)