zukünftige Daten für Grafik in DBLog schreiben

Begonnen von Pnemenz, 09 Januar 2023, 14:05:33

Vorheriges Thema - Nächstes Thema

Pnemenz

Ich habe einen Stromliefervertrag der stündlich Preise vom EPEX Spot Market berechnet. Jeden Tag um 14:00 Uhr stehen die Preise für den Folgenden Tag über eine Schnittstelle bereit.
Ich hole mittles HTTPMOD diese ab und über eine selber geschreibene Funktion werden diese Preise in 4 Kategorien geteilt: die 5 niedrigsten, unter dem Medianwert, über dem Medianwert und die 5 höchsten.

Um dieses zu Visualisieren würde ich gerne von der Funktion die Werte ins DbLog schreiben, wobei der Timestamp von mir vergeben in der Zukunft liegt.

Derzeit mach ich dies über ein eigenes Filelog, aber das funktioniert aus unerklärlichen Gründen nicht. Aus mir nicht ersichtlichen Gründen gibt der Get befehl keine Daten zurück, obwohl die in dem Filelog chronologisch richtig drinnen stehen.

Wie kann ich das mit DbLog umsetzen?

Peter

frober

Mit einem DbRep und set Insert.

Siehe Commandref.
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

rudolfkoenig

ZitatDerzeit mach ich dies über ein eigenes Filelog, aber das funktioniert aus unerklärlichen Gründen nicht.
Kannst Du konkret zeigen, was Du versucht hast, mit welchen Daten?

Pnemenz

Ich habe ein HTTMPD Device, das stündich die Daten von meinem Anbieter abholt. Nach 14:00 wird über ein Doif eine Funktion aufgerufen die das Logfile schreibt (siehe Anhang).
Das Logfile habe ich als FileLog Device angelegt, damit ich es für die SVG verwenden kann.

2 SVG: für heute und für morgen. An manchen Tagen werden keine Daten dargestellt, an andern unvollständig, oft auch richtig.
Auch wenn ich den Get-Befehl manuell ausführe kommen an manchen Tgen keine oder unvollständige Daten, zumindest wenn der Gett Befehl mit 00:00:00 anfängt. Daher habe ich in die SVG definition bereits ein offset gegeben...

Ich kann keinen Fehler im Logfile sehen, daher dachte ich ich versuchs mal mit einer Datenbank :)

SVG Heute:
define SVG_stromtestlog SVG stromtestlog:SVG_stromtestlog:CURRENT
attr SVG_stromtestlog endPlotNow 0
attr SVG_stromtestlog endPlotNowByHour 1
attr SVG_stromtestlog plotsize 800,220
attr SVG_stromtestlog room Fronius
#   DEF        stromtestlog:SVG_stromtestlog:CURRENT
#   FUUID      6375508f-f33f-4818-3bc3-992d6e6aa271f160
#   GPLOTFILE  SVG_stromtestlog
#   LOGDEVICE  stromtestlog
#   LOGFILE    CURRENT
#   NAME       SVG_stromtestlog
#   NR         279
#   STATE      initialized
#   TYPE       SVG
#
setstate SVG_stromtestlog initialized



SVG Morgen:
define SVG_stromtestlog_1 SVG stromtestlog:SVG_stromtestlog_1:CURRENT
attr SVG_stromtestlog_1 endPlotNow 0
attr SVG_stromtestlog_1 fixedrange days 1
attr SVG_stromtestlog_1 plotsize 800,220
attr SVG_stromtestlog_1 room Fronius
#   DEF        stromtestlog:SVG_stromtestlog_1:CURRENT
#   FUUID      637359ea-f33f-4818-b9a7-b403689dd566a876
#   GPLOTFILE  SVG_stromtestlog_1
#   LOGDEVICE  stromtestlog
#   LOGFILE    CURRENT
#   NAME       SVG_stromtestlog_1
#   NR         277
#   STATE      initialized
#   TYPE       SVG
#
setstate SVG_stromtestlog_1 initialized


rudolfkoenig

Ich meine, dass DbLog dieses Problem nicht anders/besser loesen wird als FileLog, hoechstens sind da andere Attribute relevant.

Was ich noch nicht verstehe: wieso erwartest Du, dass mit SVG Morgen Daten in der Zukunft angezeigt werden?
Fuer diesen Trick ist fixedoffset zustaendig: https://fhem.de/commandref_modular.html#SVG-attr-fixedoffset
Teilweise angezeigten Daten koennen an der FileLog Granularitaet liegen, dagegen hilft createGluedFile: https://fhem.de/commandref_modular.html#FileLog-attr-createGluedFile

Pnemenz

Zitatwieso erwartest Du, dass mit SVG Morgen Daten in der Zukunft angezeigt werden?
Fuer diesen Trick ist fixedoffset zustaendig: https://fhem.de/commandref_modular.html#SVG-attr-fixedoffset
mit dem attr SVG_stromtestlog_1 fixedrange days 1 wird der nächste Tag angezeigt, so habe ich immer, auch beim Scrollen durch die Timeline 2 Tage zum Vergleich untereinander stehen.
ZitatTeilweise angezeigten Daten koennen an der FileLog Granularitaet liegen, dagegen hilft createGluedFile: https://fhem.de/commandref_modular.html#FileLog-attr-createGluedFile
Das einstellen ändern nix. Zumindest für die Vergangenen Tage.
Es sind ja auch nicht mehrere Files, es werden alle Daten in das eine File, dass ich angehängt habe geschrieben.

rudolfkoenig

Zitatmit dem attr SVG_stromtestlog_1 fixedrange days 1 wird der nächste Tag angezeigt,
Stimmt, diese Moeglichkeit habe ich uebersehen. Scheint bei mir auch zu funktionieren.
Kannst Du bitte die Ausgabe von "Show preprocessed Input" im Fehlerfall anhaengen, samt den FileLog Inhalt zum gleichen Zeitpunkt?

Pnemenz

Es ist höchst Spannend: gestern Abend waren noch einige Tage mit dem Fehler da, heute scheinen alle richtig zu sein. Möglicherweise hat sich der Paramater createGluedFile doch positiv ausgewirkt.
Ich werde das weiter beobachten und werde, sobal der Fehler wieder auftritt die Infos posten und werde daher vorerst beim FileLog bleiben.
Danke.