SVG mit max Wert

Begonnen von o.l.i, 16 August 2023, 18:26:49

Vorheriges Thema - Nächstes Thema

o.l.i

Hallo Leute,

ich habe jeweils einen Graphen pro Tag. Die Werte dazu hat er aus der DB. Pro Tag gibt es ansteigend mehrere hundert Werte (Stromverbrauch Tag).
Jetzt möchte ich nur jeweils den höchsten Wert vom Tag im Graphen und nicht den Graphen über den Tag ansteigend.

Irgendwie bekomme ich dies mit dem max Wert nicht hin.

Danke,
Oliver

betateilchen

Zu wenige Informationen, um Dir helfen zu können.

  • Wo und wie soll der Wert angezeigt werden?
  • Wo ist das list Deiner gplot Datei?
  • Was genau hast Du bisher versucht?
  • ...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

o.l.i

OK, sorry.

list:
Internals:
   DEF        DBLogging:SVG_DBLogging_1:HISTORY
   FUUID      64d25719-f33f-3983-6206-67a2111ed165d08e
   GPLOTFILE  SVG_DBLogging_1
   LOGDEVICE  DBLogging
   LOGFILE    HISTORY
   NAME       SVG_DBLogging_1
   NR         1387
   STATE      initialized
   TYPE       SVG
Attributes:
   alias      Küche Energieverbrauch täglich
   endPlotToday 1
   fixedrange 30days
   label      "aktuell $data{currval1} KWH"
   plotWeekStartDay 1
   room       Küche
   verbose    5


ZitatWo ist das list Deiner gplot Datei?
Es soll pro Tag der Energieverbrauch in kwh als ein Balkengraphen angezeigt werden. Minimum für die letzten 8 Tage. Der Energieverbrauch wird in der History DB als Reading Energy_Today ca. alle 2 Minuten reingeschrieben.
Jetzt soll das SVG den letzten Wert (höchster Wert) eines jeden Tages auslesen und als Balkengraphen pro Tag darstellen.

ZitatWas genau hast Du bisher versucht?
Ich habe das SVG angelegt und mit verschiedenen Darstellungsmöglichkeiten hantiert.
Ich habe versucht mit Regex den höchsten Wert zu ermitteln. Dies war aber eben mehr nach FHEM Gefühl, da ich im Netz nichts richtiges gefunden bzw. erkannt habe.

Ich hoffe dies hilft Dir jetzt weiter

fhemfatale

Hast du mit DBRep den max-Wert schon bestimmt?
In den Attributen muß dann die gewünschte Aggregation gewählt und Anfangs- und Endezeitpunkt gewählt werden.

Bei mir sieht das für die maximale Leistung pro Tag so aus:
defmod Rep.SM.Pwr.max DbRep db_fhem
attr Rep.SM.Pwr.max aggregation day
attr Rep.SM.Pwr.max device MQTT2_...
attr Rep.SM.Pwr.max reading MT681_Total_in
attr Rep.SM.Pwr.max timestamp_begin previous_week_begin
attr Rep.SM.Pwr.max timestamp_end previous_day_end

Anschließend im SVG den max-Wert auswählen:
...
#db_fhem MQTT2_DVES_C10F79:max_day_MT681_Power_cur:::

Mit diff kann man im DBRep sich die Tagesdifferenz ausgeben.https://forum.fhem.de/index.php?action=post;topic=134625.0;last_msg=1284309
Kann man auch alles vorher im DBRep in der Anzeige testen. Erst danach dann writeToDB ausführen.
Und alles dann automatisiert über ein AT-Kommando.