NEWS
IOBroker Anbindung an einen Kostal Plenticore
-
@tom57 sagte in IOBroker Anbindung an einen Kostal Plenticore:
Schon krass der Unterschied Prognose zum Ist. Was macht dann eigentlich die MinSoC Berechnung daraus, wenn der Prognosewert so niedrig ist?
Im Moment macht die MinSoC Mist, denn seit der Änderung, dass ich erst um 0 Uhr die Prognosetage nehme, wechselt auch die MinSoC-Berechnung erst um 0 Uhr, statt nach Sonnenuntergang. Das ist schlecht und muss ich entsprechend ändern, hatte ich nicht auf dem Schirm als ich den Wunsch umgesetzt habe.
Ansonsten richtet sich der MinSoC nach der Prognose des folgenden bzw. aktuellen Tages minus dem gemessenen durchschnittlichen Tagesverbrauchs (Astrotag). Das was übrig ist, wird in Batterieladung-% umgerechnet, davon die Hälfte wird von dem eingestellten maximum des MinSoC abgezogen.Beispiel: Prognose 12kWh, Tagesverbrauch Ø 9kWh, bleiben 3kWh übrig. Bei einer 9kWh-Batterie wären das etwa 33% mögliche Ladung, er würde also 16% vom maximalen MinSoC abziehen.
-
@StrathCole
Bei mir waren adjusted Prognose und Ertrag identisch mit 13.3 kWh.
Prognosewert 6.7 kWh -
@StrathCole
day: 18986 Wh
day_adjusted: 19131 Wh
generated: 19131 Wh
Kostal yield: 15336 Wh -
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
@StrathCole
day: 18986 Wh
day_adjusted: 19131 Wh
generated: 19131 Wh
Kostal yield: 15336 WhDas meinte ich. Da kann was mit dem "current" view, der die Prognose für "jetzt" anzeigt, nicht stimmen. Der Wert "day" wird ja immer nur für die noch ausstehenden Stunden angepasst, nie rückwirkend. Also muss die Prognose bei dir ziemlich gut gepasst haben. day_adjusted und generated muss am Tagesende identisch sein, rein von der Formel her. Der Yield ist bei dir niedriger, weil deine Batterie mehr geladen als entladen wurde am heutigen Tag bisher.
-
@StrathCole Ja, Kostal yield steigt langsam weil die Batterie nun entladen wird. Noch hat sie 40%. Da kommen also noch paar kWh raus.
Aber was meinst du mit "da kann was nicht stimmen"? Bei deiner Formel oder bei meinem System?An anderen Tagen hat es super gepasst. Der Ausreißer zw 12:50 und 14 Uhr war als mein System kein Internet hatte. Da wäre es natürlich sinnvoller, statt dem max. möglichen Ertrag 0 zu zeigen. Immerhin war auch die Bewölkung dauerhaft auf 100%. Woher kommen da 5,5 kW ohne Internet?
27.02.2020
generated: 1775 Wh (Wert von 23:59 Uhr)
day: 20844 Wh (Wert von 23:45 Uhr) -
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
@StrathCole Ja, Kostal yield steigt langsam weil die Batterie nun entladen wird. Noch hat sie 40%. Da kommen also noch paar kWh raus.
Aber was meinst du mit "da kann was nicht stimmen"? Bei deiner Formel oder bei meinem System?Bei meiner Anzeige eher. Der "sky/skyvis/skyvisrain" Wert kann nicht passen. Sonst könnte die Prognose nicht so genau mit dem Realwert übereinstimmen.
-
@StrathCole Ja das stimmt natürlich.
Aber auch hier an einem komplett dynamischen Tag hat es mal gut gestimmt. Das war am 21.02.2020 also glaube noch vor deinen letzten Umstellungen. K.a. ob das relevant ist.
Der lineare Abfall der Prognose ab 14 Uhr lag an den bereits genannten Hängern im Adapter. Da kamen keine Werte mehr bis zu einem Neustart.21.02.2020
day: 11954 Wh (Wert von 23:31 Uhr)Wie kann eigentlich der Wert vom 27.02. mit fast keinem Ertrag am Ende 20 kWh sein, wenn es am 21.02. nur 12 kWh waren?
Irgendwie wird es immer chaotischer um so mehr Werte ich mir anschaue.Bei dem Diagramm von heute sieht man ja auch dass die Bewölkungswerte aller Wetterdienste permanent 100% gesagt haben. Da kann doch gar kein hoher Ertrag in der Prognose entstehen oder? Oder gibt es Sonnenstunden trotz 100% Bewölkung?
-
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
Bei dem Diagramm von heute sieht man ja auch dass die Bewölkungswerte aller Wetterdienste permanent 100% gesagt haben. Da kann doch gar kein hoher Ertrag in der Prognose entstehen oder? Oder gibt es Sonnenstunden trotz 100% Bewölkung?
Was ich so im Internet gefunden habe, gibt es bei 100% Bewölkung in einer Wolkenschicht immer noch etwa 25% Ertrag.
-
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
Das war am 21.02.2020 also glaube noch vor deinen letzten Umstellungen. K.a. ob das relevant ist.
Da ich ja komplett umgestellt habe, wird es damit etwas zu tun haben. Ich schaue mir den Code einfach noch mal an, was der Unterschied in Prognose und "current" ist.
-
@StrathCole 25% mag ja sein. Das würde dann auch eher dem Graphen entsprechen. Aber wenn day und day_adjusted 19 kWh sind und die 19 kWh generated ja dem blauen Graphen entspricht, der nahezu max. technisch möglichen Ertrag hatte, dann kann das in day und day_adjusted nicht mit nur 25% bei 100% Bewölkung errechenbar sein. Das ergäbe ja bei 0% Bewölkung 3-4 mal mehr als meine Anlage technisch kann.
-
@Diginix Nein, sicher nicht Allerdings ist das Ganze etwas komplizierter. Bei Kachelmann und metno betrachte ich nicht den "sky" Wert, sondern sky_low/medium/high und baue mir daraus die Formel, denn sonst müsste ich ja "sky" über 100% möglich machen, was als Wert im State unsinnig wäre.
Ich habe eben aber einen groben Schnitzer im Code gefunden, den ich behoben habe: Metno wurde bei den "current" Werten nicht berücksichtigt. Scheinbar habe ich die Quelle beim Einbau nur für die Tagesprognosen eingebaut und beim momentanen Wert vergessen. In 2.1.0.3 (also Patch Version 3 aus dem git) ist das jetzt geändert.
Der Fehler kann einen erheblichen Einfluss auf den Graphen (gehabt) haben, denn wie ich schon mal erwähnt hatte, fliegen die Ausreißerwerte der Wetteranbieter raus. Wenn jetzt also "Kachelmann" (theoretisch) bei high, low und medium je 100% hätte und "SuiHD" überall 0% (ich lasse andere Anbieter mal außen vor), wäre der Mittelwert 50% gewesen und beide Werte drin geblieben.
Nimmt man nun metno noch dazu und sagt die hatten bei high, med und low z. B. 70%, wäre der Mittelwert über alle 100 + 70 + 0 = 170 / 3 = 56,667. Als Ausreißer definiere ich alles, was mehr als die Hälfte zwischen min und max vom Mittelwert entfernt liegt. In diesem Fall: 100 - 0 = 100 / 2 = 50.
Gültige Werte sind also nur noch alle zwischen 56,667 +/- 50, also zwischen 106,667 und 6,667. Damit fliegt SuiHD raus. Der neue Mittelwert ist dann also 100 + 70 = 170 / 2 = 85.Also zusammengefasst im Beispiel: Ohne metno ist der Wolkenwert für die Formel 50%, mit metno ist er 85%. Ich hoffe, das war trotz der vielen Werte nachvollziehbar.
-
@StrathCole Verstanden. Und klar, dass es im Hintergrund deutlich komplexer ist und nicht einfach mit 2 Werten be- oder widerlegt werden kann. Über die Katz bekomme ich 2.1.0 update 1. Wo sehe ich den Patchlevel?
Skripte sind nun von heute 22:28 Uhr.
Mal schauen was die nächsten Tage bringen.
Wäre es denkbar bei deaktivierter MinSoC Steuerung dennoch die theoretischen Sprünge im Log dokumentiert zu bekommen? Dann könnte man mal schauen was der Adapter geregelt hätte ohne dass die Batterie wirklich beeinflusst wird.
Noch besser wäre natürlich ein MinSoC Dummy Objekt welches man per History auch im Flot mit abbilden könnte. -
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
Noch besser wäre natürlich ein MinSoC Dummy Objekt welches man per History auch im Flot mit abbilden könnte.
Ich schau mal grad.
-
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
Wo sehe ich den Patchlevel?
Im Log beim Starten des Adapters.
-
Habe gerade eine .4 Patch-Version hochgeladen. Dort gibt es (hoffentlich) nun noch
devices.local.battery.MinSoCDummy
.
Beachte, dass der sich minimal anders verhält als der echte, denn den echten Wert setze ich nie mehr als 5% über den aktuellen SoC, damit die Batterie nicht unnötig aus dem Grid geladen wird. -
@StrathCole Startet nicht:
host.BT3-PRO 2020-02-29 23:21:03.073 error Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:68:7) host.BT3-PRO 2020-02-29 23:21:03.072 error Caught by controller[0]: at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) host.BT3-PRO 2020-02-29 23:21:03.072 error Caught by controller[0]: at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) host.BT3-PRO 2020-02-29 23:21:03.072 error Caught by controller[0]: at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:572:33) host.BT3-PRO 2020-02-29 23:21:03.072 error Caught by controller[0]: at /opt/iobroker/node_modules/iobroker.plenticore/lib/plenticore.js:1844:31 host.BT3-PRO 2020-02-29 23:21:03.071 error Caught by controller[0]: TypeError: Cannot read property 'val' of null
-
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
@StrathCole Startet nicht:
Hm, scheinbar hatte er das Objekt noch nicht angelegt. Ich fange das jetzt ab. Versuch noch mal mit der .5 aus git.
-
@StrathCole Läuft nun.
Was mir in den erweiterten Instanzeinstellungen gerade aufgefallen ist. Da wo meine 5500 W als max. Leistung stehen, steht nun "Batteriekapazität (%)" Ist nur die Beschriftung falsch oder sind bei mir Werte in den Einstellungen falsch? -
@Diginix sagte in IOBroker Anbindung an einen Kostal Plenticore:
@StrathCole Läuft nun.
Was mir in den erweiterten Instanzeinstellungen gerade aufgefallen ist. Da wo meine 5500 W als max. Leistung stehen, steht nun "Batteriekapazität (%)" Ist nur die Beschriftung falsch oder sind bei mir Werte in den Einstellungen falsch?lol das muss natürlich Wh und nicht % heißen. Beim nächsten Update ist es dann korrekt.
-
Guten Morgen. Mir ist folgendes aufgefallen:
Ich habe mal 3 Instanzen des Adapters installiert.- Instanz 0 mit beiden Strings
- Instanz 1 mit String 1
- Instanz 2 mit String 2
Ich hätte erwartet, dass
forecast.day1.power.date (Instanz0) = Summe forecast.day1.power.date (Instanz1 + Instanz2)
ist. Das ist aber nicht der Fall:
plenticore.0.forecast.day1.power.date: 11.95 (beide Strings)
plenticore.1.forecast.day1.power.date: 10.1 ( Meine SO-Ausrichtung)
plenticore.2.forecast.day1.power.date: 0,47 ( Meine NW-Ausrichtung)D.h. die Abweichung der einzelnen String-Instanzen berträgt ca. 1.4 kWh oder ca. 10%. Warum?
Es wäre übrigens für mich sehr praktisch, wenn bei Auswahl eines Strings, auch der dazugehörige PV-String ausgewählt werden könnte und nur dieser beim Ertrag bzw. korrigierten Prognosewert berücksichtig würde.
(alternativ beide Strings einzeln berechnen).Die NW-Ausrichtung ist natürlich alles andere als optimal (3kWp installiert) und ich überlege, ob ich die anders montieren kann. Ist bei meinem kleinen zerklüfteten Dach aber nicht so einfach. Der Prognosewert für String 2 ist aber definitiv viel zu niedrig.