Autor Thema: FTUI Neue Version chart_widget  (Gelesen 136100 mal)

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #720 am: 23 November 2021, 17:25:06 »
Ich habe das event-on-change-reading nochmals gesetzt, befürchte aber, dass das zuvor genannte Problem mit der Grafik (s.o.) wieder auftaucht.
Ich werde berichten - Danke!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #721 am: 25 November 2021, 05:37:37 »
Hallo eki,
es kam leider wie ich es vermutet hatte: Das Chart-Widget kann m.E. nicht mit den 0-Werten umgehen (siehe nachts im Screenshot-obere Grafik)!
Tagsüber funktionieren die gestapelten Funktionen.
Ab dem Zeitpunkt, wenn das Readung 0 wird und sich nicht mehr ändert und keine EInträge mehr ins FileLog geschrieben werden, zeichnen sich unplausible Geraden ab.

Ich liefere hier nochmals den aktuellen Code, vielleicht hast du ja noch eine Idee.
<div data-type="chart"
data-device="FBDECT_FritzBox_08761_OST"
data-logdevice='["HS_AnlageLog"]'
data-columnspec='["4:powerfox.power.*","4:FBDECT_FritzBox_08761_OST.power.*","4:FBDECT_FritzBox_08761_WEST.power.*",["4:powerfox.power.*","4:powerfox.power.*:0:$fld[3]<=0?0:$fld[3]"]]'
data-style='[["fill",["-10000","#ff0000","0.0"],["0","#ff0000","0.0"],["0","#DDA400","1.0"],["10000","#DDA400","1.0"]],"ftui l4fill","ftui l6fill",["fill",["-10000","#ff0000","1.0"],["0","#ff0000","1.0"],["0","#DDA400","0.0"],["10000","#DDA400","0.0"]]]'
data-ptype='["lines","lines:0","lines:1","lines"]'
data-uaxis='["secondary","primary","primary","secondary"]'
data-legend='["akt. externer Leistungsbezug [W]","akt. Ost-Solar-Ernte [W]","akt. West-Solar-Ernte [W]",""]'
Wenn du keine Idee mehr hast, muss das Attribut wieder raus und ich muss mir verstärkt Gedanken darüber machen, warum das Reading (nun umbenannt in energy-Summe) jeweils 32x ins FileLog geschrieben wird.

Ich hatte auch schon mal versucht, dem notify ein Attribut mitzugeben:
disabledAfterTrigger <sekunden>
deaktiviert die Ausführung für <sekunden> nach dem das notify ausgelöst wurde.
Klingt ja eigentlich erfolgversprechend, aber leider erreicht von dem Device dann kein Reading mehr das LogFile!?
« Letzte Änderung: 25 November 2021, 07:56:43 von uron »
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline eki

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1421
Antw:FTUI Neue Version chart_widget
« Antwort #722 am: 25 November 2021, 17:02:37 »
Die Definition sieht erst mal OK aus. Kannst Du mal ein Stück des Logs posten?

Eventuell könntest Du noch zusätzlich zum event-on-change-reading event-min-interval setzen, dann würden die Lücken höchstens x Sekunden dauern.

attr <dev> event-min-interval .*:600

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #723 am: 25 November 2021, 21:20:08 »
Hallo eki,
ich habe das Attribut nun gesetzt und den (etwas längeren) Logauszug als Anlage beigefügt.
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #724 am: 26 November 2021, 15:37:48 »
define ntf_sum notify .*FBDECT_FritzBox_08761_(OST|WEST).* {
  my $sum = ReadingsVal("FBDECT_FritzBox_08761_OST","energy",0) + ReadingsVal("FBDECT_FritzBox_08761_WEST","energy",0);
  fhem("setreading FBDECT_FritzBox_08761_OST PV-Summe $sum");
}
Ich muss leider nochmals auf den Code zurück kommen:
Das setreading funktioniert bekanntermaßen, die Rechenoperation wird auch korrekt durchgeführt.
Erst heute stelle ich allerdings fest, dass im LogFile en masse Fehlermeldungen auftauchen :-\
Die 5- minütigen Fehlermeldungen lauten:
2021.11.26 15:16:00.588 1: PERL WARNING: Argument "324562 Wh" isn't numeric in addition (+) at (eval 6808236) line 1.
2021.11.26 15:16:00.589 3: eval: my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};my $SELF=   $evalSpecials->{'%SELF'};my $TYPE=   $evalSpecials->{'%TYPE'};{my $sum = ReadingsVal("FBDECT_FritzBox_08761_OST","energy",0) + ReadingsVal("FBDECT_FritzBox_08761_WEST","energy",0);  fhem("setreading FBDECT_FritzBox_08761_OST energy-Summe $sum");}
Nun liegt ja nahe, dass die Einheit "Wh", da nicht numerisch, zum Fehler führt, trotzdem wird im neuen Reading ein korrekter numerischer Wert (ohne Einheit) ausgewiesen.
Gelinde gesagt, bin ich leicht irritiert. >:(
« Letzte Änderung: 27 November 2021, 06:36:47 von uron »
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #725 am: 27 November 2021, 11:32:10 »
Ich glaube, ich habe eine Lösung gefunden, um die alphanumerische Einheit (Wh) aus dem Reading rauszubekommen:
define ntf_sum notify .*FBDECT_FritzBox_08761_(OST|WEST).* {my $sum = ReadingsVal("FBDECT_FritzBox_08761_OST","energy_2:energy:.*",0) + ReadingsVal("FBDECT_FritzBox_08761_WEST","energy_3:energy:.*",0);;  fhem("setreading FBDECT_FritzBox_08761_OST energy-Summe $sum");;}Jedenfalls tauchen jetzt keine Fehlermeldungen mehr auf.
Update1: Klappte dann doch irgendwie nicht: Fehlermeldungen kamen zwar keine, aber auch keine Addition! :'(

Update2
So, jetzt ist's vollbracht:  :)
Mit ReadingsNum geht es jetzt: keine Fehlermeldungen, Addition ist korrekt. Morgen schau ich, ob die Grafik über Nacht noch murrt!
.*FBDECT_FritzBox_08761_(OST|WEST).* {my $sum = ReadingsNum("FBDECT_FritzBox_08761_OST","energy",0) + ReadingsNum("FBDECT_FritzBox_08761_WEST","energy",0);  fhem("setreading FBDECT_FritzBox_08761_OST energy-Summe $sum");}
« Letzte Änderung: 27 November 2021, 15:21:51 von uron »
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #726 am: 30 November 2021, 11:35:28 »
Die Definition sieht erst mal OK aus. Kannst Du mal ein Stück des Logs posten?

Eventuell könntest Du noch zusätzlich zum event-on-change-reading event-min-interval setzen, dann würden die Lücken höchstens x Sekunden dauern.

attr <dev> event-min-interval .*:600
Ich möchte nun nochmals auf die Grafik zurückkommen nachdem die Logs funktionieren:
Wie man in anliegender Grafik sieht, sind die gestapelten Funktionen noch nicht optimal. Auch wenn die Werte der PV-Module (OST und WEST) den Wert "0" haben, sind sie bei den gestapelten Linien zu sehen.
Ist da noch was zu machen?
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline eki

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1421
Antw:FTUI Neue Version chart_widget
« Antwort #727 am: 30 November 2021, 18:27:59 »
Ich würde mal vermuten, dass das daran liegt, dass die Werte nicht alle die gleichen Zeitstempel haben. Liege ich da richtig?
Falls ja, wäre das einfachste alles auf die gleichen Zeitstempel zu bringen und zwar im Logfile. Du könntest alles mit event-min-interval setzen, oder in Deinem notify nicht nur die Summe, sondern auch noch die jeweils andere Seite setzen (also wenn OST den Trigger auslöst auch noch einmal WEST setzen und umgekehrt).

Prinzipiell könnte ich natürlich auch im Chart irgendwie alles hin und her interpolieren, aber das möchte ich eigentlich vermeiden, weil ich nicht gern Daten dazu erfinden möchte.

Offline uron

  • Full Member
  • ***
  • Beiträge: 306
Antw:FTUI Neue Version chart_widget
« Antwort #728 am: 01 Dezember 2021, 10:20:26 »
Hallo eki,
ja, die Zeitstempel sind unterschiedlich.
Mit erscheint der Aufwand bezogen auf die grafische Darstellung auch zu hoch, ich werde mit den geringen "optischen" Fehlern leben können.

Danke für deine Unterstützung!
Raspberry Pi  fhem  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitodens 300-W, Typ WB3D, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox

Offline bmwfan

  • Sr. Member
  • ****
  • Beiträge: 541
Antw:FTUI Neue Version chart_widget
« Antwort #729 am: 12 Dezember 2021, 15:17:50 »
Besteht eine Möglichkeit, das Chart-Widget zu verwenden wenn sich der Name des data-logdevice täglich / wöchentlich ändert?

Ich habe fhem auf ein NAS unter Docker umgezogen und dabei gelesen, dass das Logfile nicht zu groß werden darf da ansonsten Probleme auftreten können. Deswegen habe ich zum FHEM-Logfile (fakelog) auch meine Logdateien der Sensoren auf wöchentliche Dateien umgestellt. Leider werden jetzt keine Daten mehr im Chart-Widget angezeigt, da sich der Name das data-logdevice wöchentlich ändert. Die SVG-Plots funktionieren weiterhin.

Gibt es eine Möglichkeit das Chart-Widget abzubilden?. Es ändert sich an der Bezeichnung der Logdatei ja nur die Zahl am Ende des Strings für die Wochennummer.

So setzt sich der Name des Logfiles zusammen.
Ga_UmweltSen-2021-12-4.log
Ga_UmweltSen-2021-12-5.log
Ga_UmweltSen-2021-12-6.log

Das List eines Filelogs:
Internals:
   DEF        ./log/Ga_UmweltSen-%Y-%m-%w.log Ga_UmweltSen
   FD         15
   FUUID      619de1b1-f33f-d125-5c51-604eedbc7afdf4c5
   NAME       FileLog_Ga_UmweltSen
   NOTIFYDEV  Ga_UmweltSen
   NR         282
   NTFY_ORDER 50-FileLog_Ga_UmweltSen
   REGEXP     Ga_UmweltSen
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Ga_UmweltSen-2021-12-0.log
   logfile    ./log/Ga_UmweltSen-%Y-%m-%w.log
   READINGS:
     2021-12-12 15:11:30   linesInTheFile  1918
   pos:
Attributes:
   archiveCompress 1
   archivedir ./log/archive/
   logtype    text
   nrarchive  3
   room       9.8.6_Filelogs

und der Aufruf des Widgets:
<header class="headerTransparent">UMWELTSENSOR GARTEN</header>
<!--<div data-type="label" class="wider red">Garten</div>-->
<div class="">
<div class="fullsize"
data-type="chart"
data-device="Ga_UmweltSen"
data-logdevice='["FileLog_Ga_UmweltSen","FileLog_Ga_UmweltSen"]'
data-logfile="CURRENT"
data-columnspec='["4:T","6:H"]'
data-style='["ftui l2","ftui l6"]'
data-ptype='["lines","lines"]'
data-uaxis='["primary","secondary"]'
data-legend='["Temperatur","Humidity"]'
data-yunit="°C"
data-ytext="Temperatur"
data-yunit_sec="%"
data-ytext_sec="Luftfeuchtigkeit"
data-xticks="60"
data-timeformat="hh"
data-minvalue="auto"
data-maxvalue="auto"
data-minvalue_sec="40"
data-maxvalue_sec="100"
data-daysago_start="0"
data-daysago_end="-1"
data-crosshair="false"
data-showlegend="false"
data-width="86%"
data-height="80%">
</div>
</div>

Grüße Jürgen
CUL auf Raspi 2 B, HW-LAN, HMW_LC_Bl1_DR für Jalousien, HM_LC_Bl1_DR für Rolläden, Umweltsensoren

 

decade-submarginal