NEWS
Test PV Forecast Adapter
-
@sonnenschein Du musst die Datenpunkte mit der Zeit, für die sie gelten, in die Datenbank schreiben, nicht den Datenpunkt in iobroker setzen und das automatische Loggen nutzen. So mache ich das mit influxdb, dürfte für mySQL ähnlich funktionieren. Den Datenpunkt in iobroker hab ich nur als Hilfsvariable angelegt, eigentlich braucht man ihn gar nicht.
So speichere ich die stündliche Prognose:
on({id: 'pvforecast.0.summary.JSONTable', change: 'ne'}, function(data) { let result = JSON.parse(data.state.val); for(let i=0; i < result.length; i++){ let ts = new Date(result[i].Uhrzeit); log("Store Prognose: " + ts.toLocaleDateString() + " with " + result[i].summe); addToInfluxDB('0_userdata.0.Energie.Prognose.Leistung',ts.getTime(),result[i].summe); } });
Hier noch die Funktion addToInfluxDB, die ich als globale Funktion angelegt habe:
function addToInfluxDB(datapoint,timestamp,value) { sendTo('influxdb.0','storeState', { id: datapoint, state: { ts: timestamp, val: value, ack: true, from: 'system.adapter.javascript.0', q: 0 } }); }
-
Wenn das öfters verwendet wird kann ich das auch in den Adapter einfügen.
Was Brauch man für einstell Möglichkeiten?
-
Unter summary findest du das Jsongraph Objekt was du suchst. Die anderen Jsongraphs muss man selbst konfigurieren.
-
@patrickwalther OK das sieht schon mal ganz anders aus. Warum auch immer habe ich unter den Objekten des Adpater auch einen Ordner 1 und hatte den jsongraph angebunden.
-
@sputnik24 sagte in Test PV Forecast Adapter:
Du musst die Datenpunkte mit der Zeit, für die sie gelten, in die Datenbank schreiben, nicht den Datenpunkt in iobroker setzen und das automatische Loggen nutzen. So mache ich das mit influxdb, dürfte für mySQL ähnlich funktionieren. Den Datenpunkt in iobroker hab ich nur als Hilfsvariable angelegt, eigentlich braucht man ihn gar nicht.
Ja genau da liegt das Problem. Das automatische speichern im iobroker sql nimmt den tatsächlichen Zeitpunkt des Speichern. Inhaltlich liegt aber der Wert in der Zukunft. Wenn ich jetzt das wieder mit einem Script machen muß wäre es eine Lösung, aber dann kann ich die Url auch direkt mit auslesen und in die Datenpunkte packen. ich hatte darauf gehofft der Adapter nimmt mir das ab.
-
@patrickwalther Das würde ich gut finden.
Evtl. Option speichern oder nicht.
Welche Infos sollen gespeichert werden?
Die Stundenwerte müßten ja als Zeitstempel den Stundenwert bekommen. Die anderen Werte könnten doch mit dem Zeitpunkt der Speicherung abgelegt werden. Oder?
Müßten wir Deinem Adapter noch sagen welcher "Speicherort"? So wie im iobroker Einstellmenü. Da kann ich ja wählen SQL oder Statistics oder so, je nach dem welcher Adapter zurVerfügung stehen. -
@sonnenschein dann Versuch ich den Code von @Sputnik24 einzubauen als Option und zum Auswählen.
-
@sonnenschein Guten Morgen,
die Funktion ist eingefügt, bitte Testen. Das eine Dropdown ist SQL, das andere Influxdb. Wenn in den Felder nichts drin steht oder "keine", ist die Funktion ausgeschaltet. -
@patrickwalther super, aber vor dem Wochenende werde ich nicht zum Testen kommen
-
@PatrickWalther
ich habe die neue Version installiert, kann zwar bezüglich der neuen Funktion nichts sagen, da ich werde SQL noch Influxdb nutze. Es kommt nun beim Starten die folgende Warnung, mit dem Hinweis "... report this to the developer".2022-02-08 16:49:48.600 - info: pvforecast.0 (23092) starting. Version 0.1.7 in /opt/iobroker/node_modules/iobroker.pvforecast, node: v12.16.3, js-controller: 3.3.22 2022-02-08 16:49:49.022 - warn: pvforecast.0 (23092) Object pvforecast.0.summary.prognose is invalid: obj.common.type has an invalid value (JSON) but has to be one of number, string, boolean, array, object, mixed, file, json 2022-02-08 16:49:49.022 - warn: pvforecast.0 (23092) This object will not be created in future versions. Please report this to the developer. 2022-02-08 16:49:49.029 - info: pvforecast.0 (23092) State value to set for "pvforecast.0.summary.prognose" has to be type "JSON" but received type "number"
Was ich auch noch bei jedem Start habe sind die folgenden Warnungen:
2022-02-08 10:40:32.674 - warn: pvforecast.0 (29189) State "pvforecast.0.1.everyhour_kw.07:36:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.676 - warn: pvforecast.0 (29189) State "pvforecast.0.summary.everyhour_kw.07:36:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.679 - warn: pvforecast.0 (29189) State "pvforecast.0.1.everyhour_kw.07:48:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.682 - warn: pvforecast.0 (29189) State "pvforecast.0.summary.everyhour_kw.07:48:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.707 - warn: pvforecast.0 (29189) State "pvforecast.0.1.everyhour_kw.17:19:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.709 - warn: pvforecast.0 (29189) State "pvforecast.0.summary.everyhour_kw.17:19:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.711 - warn: pvforecast.0 (29189) State "pvforecast.0.1.everyhour_kw.17:38:00" has no existing object, this might lead to an error in future versions 2022-02-08 10:40:32.713 - warn: pvforecast.0 (29189) State "pvforecast.0.summary.everyhour_kw.17:38:00" has no existing object, this might lead to an error in future versions
Gruß Steffen
-
@steff Danke für die Hilfe, schaue ich mir morgen an.
-
@steff Die Fehler beim Start habe ich auch schon mit 0.1.6: https://forum.iobroker.net/topic/45315/test-pv-forecast-adapter/182?_=1644347976690
Hab den Loglevel vom Adapter seit dem auf error. Dann sieht man sie wenigstens nicht. -
Test PV Forecast Adapter 0.1.8 Veröffentlichungsdatum 09.02.2022 Github Link https://github.com/Patrick-Walther/ioBroker.pvforecast Guten Tag,
habe den Wunsch von @sonnenschein eingepflegt und ein paar Bugfixes erledigt.Das schreiben der Daten funktioniert in influxdb einwandfrei, sql konnte ich leider nicht testen.
Die Log Fehler sollten jetzt alle der Vergangenheit angehören.
P.s falls ihr Fehler findet, macht bitte ein Issue auf, bin Momentan nicht sehr oft im Forum.
Grüße
Patrick -
Hallo zusammen,
folgende Situation, ich "Anfänger" habe den Adapter installiert, funktioniert auch alles perfekt. Ich habe 2 Anlagen eingepflegt (OST und West) bekomme im Pfad "Summery" auch eine .json welche dann in der VIS folgendermaßen aussieht.
Ist es möglich die Daten der beiden Kurven (blaues unschönes Widget) in einer Kurve zu "vereinigen?
-
@sebastianb_80 Hi,
Wir können dir gerne helfen.
Kannst du uns sagen:
welche Widgets du benutzt?
Woher kommt die andere Grafik?
Benutzt du Garafana?
Welche Datenbank wir benutzt?In der Adapter Version V1.8 kannst du auch direkt in die Datenbank schreiben so solltest du die Daten auch direkt übereinander gelegt haben.
Grüße
-
@patrickwalther sagte in Test PV Forecast Adapter:
Das schreiben der Daten funktioniert in influxdb einwandfrei, sql konnte ich leider nicht testen.
So jetzt hatte ich doch Zeit den aktuellen Adpater zu installieren. 0.1.8
Eine Verständnisfrage: Im Adapter ist SQL gewählt. Unter den Objekten im IOBroker keine Speicherung der Werte in SQL aktiviert.
Ich habe das so verstanden, das der Adapter direkt in die SQL DB schreibt. Der Zeitpunkt sollte doch dann der Stundenwert und nicht das Speicherdatum sein Richtig?
Wenn ich jetzt aber mit HeidiSQL in de DB schaue, finde ich keine aktuellen Werte vom Adapter.
Vor dem Update hatte ich Iobroker speichern aktiviert. Diese Datenpunkte und DAtensätze finde ich auch.
Oder muß ich da abwarten bis der Adapter geschrieben hat? Wenn ja wann tut er das?Die Zweite Frage welches Panel in Grafana hast Du verwendet und wie angebunden? simpleJson und Timeserie?
Ich bekomme so eine Anzeige wie bei Dir nicht hin! -
@PatrickWalther ,
kurze Rückmeldung auch von m ir, die Warnmeldungen "... has no existing object ..." sind nun mir der neuen Version weg.Vielen Dank!
-
Hallo,
Die Werte siehst du nicht in Iobroker direkt nur in der Datenbank und in Grafana.
Meine Aufbau ist wie folgt:
Influxdb mit Grafana und der Graph bzw. Timewerkes geht auch.
Folgende Anleitung kannst du verwenden.Der Adapter schreibt die Werte alle X Minuten (wie du es eingestellt hast) in die SQL / Influx Datenbank.
Kannst auch gerne per Discord oder Chat schreiben, dann geht es schneller.
-
welche Widgets du benutzt?
- um die blaue Grafik zu erzeugen habe ich das Material Design json chart Widget benutzt
Woher kommt die andere Grafik?
- die andere Grafik kommt aus dem Modbusadapter --> History-->Flot Charts
Benutzt du Garafana?
- Nein
Welche Datenbank wir benutzt?
- Mit InfluxDB usw. hab ich noch keine Erfahrungen sammeln können...
Ist es möglich die Daten der beiden Kurven (blaues unschönes Widget) in einer Kurve zu "vereinigen?
z.B. mit Blockly? Sprich die einzelnen Daten von 05:00Uhr - 21:00Uhr (aus der summery) Zusammenzuführen und dann Grafisch darzustellen? -
@sebastianb_80 hast du im Adapter - Settings SQL aktiviert (checkbox) und SQL.0 ausgewählt?
Ich wusste aus dem steh Greif keine andere Variante als die Daten in die Datenbank direkt zu schreiben.
Würde dir Grafana empfehlen, dort kann man viele Einstellungen machen.