NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
Mein SOC zum Tagesstart ist aber bei 5%. Und der erste Ertrag ab Sonnenaufgang wurde verbraucht bzw. eingespeist. Problem sind dann Lastspitzen beim Frühstück usw. die dann durch Netzbezug kompensiert wurden weil ja noch nichts in der Batterie gelandet war.
Ja, korrekt. Da baue ich noch etwas ein, dass man die "Automatik" erst aktivieren kann, wenn mind X% über dem MinSoC geladen sind.
-
@Diginix So, die Einstellung ist jetzt da und steht nach dem Update per Default auf 10%.
-
@Diginix Hallo, ich stehe grade etwas auf dem Schlauch wie man die Visualisierung (deine Grafik) hinbekommt. Ich nehme mal an dass das Flot Diagramme sind (?), ich habe den plenticore Adapter heute bei mir installeirt, soweit alles gut, Datenpunkte sind im iobroker vorhanden. Aber wenn ich den Flot Editor starte, kann ich nix auswählen. Bin bzgl Flot totaler Anfänger und nehme mal an dass mir hier noch ein Adapter fehlt. Ich habe ein Flot-Diagramm für Spritpreise laufen (History Adapter) das läuft. Kannst du mir sagen wie ich die Plenticore-Forecasts in Flot anzeigen kann?
-
@amg_666 Du musst alle entscheidenden Datenpunkte wie bei deinen Spritpreisen erstmal mit dem History Adapter oder SQL o.ä. erfassen. Nur wenn es historische Werte in einer Datenbank oder Dateien gibt, kann ein Graph gezeichnet werden.
Für die Tageskurven ist das recht einfach. Bei dem letzten Diagramm mit jeweils nur einem Wert pro Tag braucht man noch andere Adapter und Hilftobjekte.
Da ich den ersten Prognosewert pro Tag will und nicht den letzten, der im Laufe des Tages "besser" wird, speichere ich mir den ersten nach 0 Uhr direkt in einen eigenen Objekt, wo er danach 24h nicht mehr verändert wird. Da die realen Erträge aber erst 23:59 Uhr fest stehen, gäbe es einen Versatz im Diagramm von knapp über 23 h. Daher nutze ich noch den statistics Adapter der automatisch 23:59 Uhr Werte in eigene Objekte speichert. Diese muss man dann aber auch wieder mit dem History Adapter protokollieren. Klingt am Ende komplizierter als es ist, aber man muss das Prinzip erstmal verstanden haben.@StrathCole Danke für die prompte Anpassung. Ich hab die Untergrenze für intell. Bat.Steuerung mal auf 15% gesetzt und beobachte wieder.
Warum ist eigentlich der letzte Wert der day2 Prognose nie der selbe wieder erste von day1?
Also am 12.04. 23:59 ist ja in day2 die Prognose für 13.04. und kurz nach 0 Uhr am 13.04. ist diese in day1 und in day2 dann der 14.04. Zwischen 23:5x und 00:xx Uhr dürften aber die zugrunde liegenden Wetterdaten nicht so dynamisch sein als das der frische day1 Wert so viel anders ist als der letzte day2. -
@Diginix was verstehst du unter "so viel anders"?
-
Könnte denn jemand mal seine Datenpunkte des Kostals hier für einen baldigen Besitzer dieses Gerätes + Adapters veröffentlichen?
-
@Bostil Puh, das sind soooo viele. Ich schaue mal, was ich machen kann
-
-
@StrathCole
Grundsätzlich war die Frage erst mal ob ich das richtig verstanden habe. Aber da im date Objekt das Datum zum jeweilige day[1|2] forecast steht, denke ich mal, liege ich richtig.
Hier mal paar Werte von Anfang April und von vorgestern. Zum Teil sind es binnen 15min bis zu 50% Wh mehr/weniger beim Sprung von day2 auf day1 für den selben Tag. Da es nicht einfach eine "Übernahme" ist, sondern berechnet, müssen demnach die Quellen (Wetterdienste) da für den nächsten Tag detaillierter sein als kurz vorher für den übernächsten.day2 2020-04-01 23:48 40645 day1 2020-04-02 00:03 47182 day2 2020-04-02 23:48 6129 day1 2020-04-03 00:03 11449 day2 2020-04-10 23:59 47376 day1 2020-04-11 00:14 42272 day2 2020-04-11 23:59 42825 day1 2020-04-12 00:14 44385
-
@Diginix Die Wetterdaten sind für den aktuellen Tag schon detaillierter und der Wechsel könnte(!) auch gegen 0 Uhr stattfinden. Ich habe manchmal das Phänomen, dass es ca. 4-5 Stunden lang nachts nur "schlechte" Daten gibt und dann alles wieder gut passt.
Habe mir dazu mal einen Graphen gemacht.
Eigentlich passt der Übergang von rot auf grün zum Tageswechsel immer ganz gut.
-
@StrathCole Großartig, danke dir! Dann kann ich mal reinschnuppern, was man überhaupt auslesen kann ... danke, danke!
-
@StrathCole Ok, verstanden. Ist mir nur aufgefallen als ich den zuletzt geposteten Graphen für Langzeitprognose vs. real gebaut habe. Da nehme ich ja den ersten Wert nach 0 Uhr den du für den aktuellen Tag generierst. Und der war aber eben immer leicht anders als der day2 kurz vor 0 Uhr.
Ich werde mir mal 1h vor Sonnenaufgang noch einen weiteren speichern und vergleichen welcher am Ende vom Tag eher zum realen Ertrag passt. Genauer brauche ich es nicht. Ich will nur sehen wie oft und wie genau die Tagesprognose vor Sonnenaufgang schon passt um damit später eben Dinge automatisieren zu können.
Der letzte Graph sieht ja selbst mit dem 0 Uhr Wert schon vielversprechend aus. Damit kann man auf jeden Fall arbeiten.
Genauer bzw. fein granularer pro Tagesabschnitt/Stunde brauche ich es gar nicht. -
@StrathCole zuerst einmal das Feedback, dass die Prognosen (wolkig bis sonnig) nun deutlich besser geworden sind. Das ist super
Mal eine "technische" Frage:
Die Forecastwerte sind je Stunde in den Datenstrukturen day1 und day2 gespeichert.
Die Anzahl der Stunden variert je nach Tageslichtdauer.Wenn ich nun diese Werte in einer Flot-Graphik darstellen will (2-Tagesforecast), sollten diese in einem State mit History-/SQL-Adapter aktiviert gespeichert sein. Gibt es da einen einfachen Weg, oder muss ich mir dazu ein Skript schreiben?
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
zuerst einmal das Feedback, dass die Prognosen (wolkig bis sonnig) nun deutlich besser geworden sind.
Das freut mich schon mal. Bei mir passt es in der neuen Forecast-Version auch deutlich besser.
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
Gibt es da einen einfachen Weg, oder muss ich mir dazu ein Skript schreiben?
Ich denke, dass das nur mit Skript gehen wird, da die Stunden ja dynamisch erstellt und gelöscht werden, je nach Sonnenstundenanzahl. Aber so tief bin ich in History und SQL etc. beim ioBroker (noch) nicht drin.
-
@Diginix Ich muss nochmal nerven, stehe grade etwas auf dem Schlauch:
Eine Kurve des TATSÄCHLICH produzierten Stroms bekomme ich einfach hin (entsprechenden DP mit History erfassen und dann ein FLOT Diagram basteln).
Aber: Die Prognosewerte liegen doch nicht als EIN Datenpunkt vor sondern immer als 2 (??), nämlich einmal der Wert selber und einmal der Zeitstempel. Beispiel bei Objects-plenticore-forecasts-day1-10h, darunter liegt der Datenpunkt "power" mit dem Forecastwert für die 10. Sonnenstunde und der Datenpunkt "time" mit dem Zeitstempel der 10. Sonnenstunde. Wie bekomme ich die z.B. in statistics in EINEN Wert "power" mit Zeitstempel "time" ? Oder mache ich hier einen Denkfehler ? -
@amg_666 Der Datenpunkt heißt
plenticore.0.forecast.day1.power.day
bzw.*.day_adjusted
und ist die Vorhersage für den gesamten Tag. Ich denke, die meinte er. -
@StrathCole Ich habe mich glaube ich falsch ausgedrückt: @Diginix hat oben eine Grafik gepostet bei der der reale Ertrag als gelbe Kurve angezeigt wird (ist klar) und dann gibt es noch eine orange Kurve "Ertrag Prognose". Ich verstehe nicht wie ich so eine Kurve aus den Daten des Adapters erzeugen kann.
plenticore.0.forecast.day1.power.day zeigt ja den Gesamtertrag (prognostiziert) an und nicht wie der sich über den Tag verteilt... -
@amg_666 Dann meinst du
plenticore.0.forecast.current.power.sky
-
-
Also ich nutze für das Langzeit Diagramm folgende Datenpunkte:
statistics.0.save.minmax.javascript.0.Objects.PV_Anlage.Forecast_Day.dayMax statistics.0.save.minmax.plenticore.0.forecast.current.power.generated.dayMax statistics.0.save.minmax.modbus.0.holdingRegisters.322_Daily_yield.dayMax
Damit ich nur den frühesten Prognosewert pro angefangenen Tag habe, schreibe ich den ersten nach 0 Uhr vom Adapter generierten Wert von plenticore.0.forecast.day1.power.day per Skript nach javascript.0.Objects.PV_Anlage.Forecast_Day.
Damit dann aber dieser wie die realen Werte (generated und daily_yield) die selbe Zeitachse haben, wird er nochmals per statistics Adapter erfasst. Dieser schreibt immer 23:59:59 alles in seine Objekte und diese kann man dann in einem Diagramm visualisieren. Da es nur einen Wert pro Tag in javascript.0.Objects.PV_Anlage.Forecast_Day gibt, ist es egal ob man vom statistics dayMax oder dayMin nutzt.
Geht sicher auch anders, aber so brauchte ich nur ein minimales Skript zum persistieren des ersten Prognosewertes. Den Rest erledigt der statistics und history Adapter für mich von allein.