NEWS
Beta ioBroker.plenticore-g3
-
@fernetmenta Habe mir das angeschaut und keine Eintragungen des Slave WR in den Objekten des Master WR gefunden. Hätte dies auch nicht erwartet da bis zu 10 WR im Verbund zusammengeschaltet werden können.
Frage 1: Gibt es Probleme wenn ich jetzt einen zusätzlichen ModBus Adapter im IOBroker anlege und parallel zu deinem Adapter auf dem gleichen ModusPort / UnitId zugreife.
Frage 2 : Ist mein Verständnis richtig das der alte Adapter immer über ModBus auf die WR zugegriffen hat ?
-
Beide Adapter verwenden die REST API, nicht Modbus. Über die REST API kann man beliebig viele Werte lesen und schreiben und ist nicht auf eine sehr überschaubare Anzahl von Registern limitiert. Der Overhead ist halt bei REST deutlich höher als bei Mobus, darum die Diskussion hier.
Anders als bei reinem Modbus kann es bei Modbus TCP mehrere Master geben. D.h. auch wenn deine WRs schon untereinander mit Modbus TCP kommunizieren, kannst du noch weitere Modus-Adapter in iob erstelllen.
-
@fernetmenta Habe jetzt mal zwei weitere ModBus Instanzen angelegt und parallel zu den Adaptern laufen lassen. Also 2 x Modbus (Master & Slave) 2 x Plentiocore (M&S) und 2 x deine neuen Plenticore-G3. Habe keine direkten Probleme festgestellt und stelle gerade mein Program um.
Einen Fehler habe ich jedoch entdeckt und bitte dich das mal in deinem Adapter zu Prüfen. Bei den Datenfeldern in der Statisik stehen u.a. für Statistic_Yield_Day, Statistic_Yield_Month, Statistic_Yield_Year im Master und im Slave identische Werte. Das kann aber technisch nicht sein da im Slave bei mir weniger erzeugt wird. Der alte Adpater hat das auch richtig voneinnander getrennt und erst die Addition der beiden Werte in meinem Programm hat dann den Gesamtwert richtig ermittelt. Kannst du bitte mal prüfen ob du versehentlich die Werte vom Master ziehst und dann beim Slave einträgst. ggf. hast du beim Pfad zu den Objekten die .1 für die zweite Instanz des plenticore-g3 nicht mit angepasst.
-
@fernetmenta Habe jetzt mal zwei weitere ModBus Instanzen angelegt und parallel zu den Adaptern laufen lassen. Also 2 x Modbus (Master & Slave) 2 x Plentiocore (M&S) und 2 x deine neuen Plenticore-G3. Habe keine direkten Probleme festgestellt und stelle gerade mein Program um.
Einen Fehler habe ich jedoch entdeckt und bitte dich das mal in deinem Adapter zu Prüfen. Bei den Datenfeldern in der Statisik stehen u.a. für Statistic_Yield_Day, Statistic_Yield_Month, Statistic_Yield_Year im Master und im Slave identische Werte. Das kann aber technisch nicht sein da im Slave bei mir weniger erzeugt wird. Der alte Adpater hat das auch richtig voneinnander getrennt und erst die Addition der beiden Werte in meinem Programm hat dann den Gesamtwert richtig ermittelt. Kannst du bitte mal prüfen ob du versehentlich die Werte vom Master ziehst und dann beim Slave einträgst. ggf. hast du beim Pfad zu den Objekten die .1 für die zweite Instanz des plenticore-g3 nicht mit angepasst.
@Moppedman sagte in Beta ioBroker.plenticore-g3:
Kannst du bitte mal prüfen ob du versehentlich die Werte vom Master ziehst und dann beim Slave einträgst. ggf. hast du beim Pfad zu den Objekten die .1 für die zweite Instanz des plenticore-g3 nicht mit angepasst.
Kann mir nicht vorstellen wie das möglich sein kann. Die beiden Instanzen wissen eigentich nichts voneinander. Der Adapter sieht den Index, also .0, .1, auch nicht.
Unterscheiden sich denn die anderen Werte? -
Prüfe bitte auch noch die moduleid und dataid bei den Objektdaten:
"native": { "type": "processdata", "moduleid": "scb:statistic:EnergyFlow", "dataid": "Statistic:Yield:Day"Sihet das so aus, oder hast du eventuell do zusätzliche Daten durch die Schwarmschaltung und hast die Summe (wenn vorhanden) erwischt?
-
Sieht bei mir so aus für den MASTER
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.0",
"user": "system.user.admin",
"ts": 1766935932329,
"_id": "plenticore-g3.0.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}und so für den SLAVE
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.1",
"user": "system.user.admin",
"ts": 1767017739957,
"_id": "plenticore-g3.1.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
}Verschiedene andere Werte (aktuelle) hat er entsprechend unterschiedlich angezeigt.
Weiterhin finde ich nicht in deinem Adapter die Werte in der Statistik für EnergyToGridMonth,EnergyToGridTotal, EnergyToGridYear die der Alte Adpater aber zur Verfügung stellt. Heissen die bei dir anders oder fehlen die noch ??
-
Sieht bei mir so aus für den MASTER
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.0",
"user": "system.user.admin",
"ts": 1766935932329,
"_id": "plenticore-g3.0.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}und so für den SLAVE
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.1",
"user": "system.user.admin",
"ts": 1767017739957,
"_id": "plenticore-g3.1.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
}Verschiedene andere Werte (aktuelle) hat er entsprechend unterschiedlich angezeigt.
Weiterhin finde ich nicht in deinem Adapter die Werte in der Statistik für EnergyToGridMonth,EnergyToGridTotal, EnergyToGridYear die der Alte Adpater aber zur Verfügung stellt. Heissen die bei dir anders oder fehlen die noch ??
@Moppedman sagte in Beta ioBroker.plenticore-g3:
Weiterhin finde ich nicht in deinem Adapter die Werte in der Statistik für EnergyToGridMonth,EnergyToGridTotal, EnergyToGridYear die der Alte Adpater aber zur Verfügung stellt.
Die hat der alter Adapter selber berechnet (fand ich nicht so toll, das einfach zu verschweigen).
https://github.com/pixcept/ioBroker.plenticore/blob/master/lib/plenticore.js#L3305Das kann man wie oben berechnen, also Yield - EnergyHomeOwn oder Yield * (1-OwnConsumptionRate).
Wenn sich die anderen Werte zw den Instanzen unterscheiden, kann der Adapter eigentlich nichts falsch machen, weil die Behandlung aller Werte gleich abläuft.
Wenn du einen Rechner mit Python drauf hast, könntest du auch noch damit testen: https://github.com/stegm/pykoplenti
Damit kann man auch die Rest API auslesen. Bekommst du damit andere Werte als der Adapter?
% pykoplenti --host plenticore.green --port 80 --password <password> read-processdata scb:statistic:EnergyFlow/Statistic:Yield:Day scb:statistic:EnergyFlow/Statistic:Yield:Day=1440.114081113377 -
@fernetmenta ok, dann berechne ich die mir selber. Ist ja kein Problem.
Ich habe noch einen zweiten Pi zum Testen. Da habe ich auch Python drauf. Kenne ich mich zwar nicht mit aus, werde aber ich die Tage mal testen.
-
Sieht bei mir so aus für den MASTER
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.0",
"user": "system.user.admin",
"ts": 1766935932329,
"_id": "plenticore-g3.0.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}und so für den SLAVE
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.1",
"user": "system.user.admin",
"ts": 1767017739957,
"_id": "plenticore-g3.1.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}
}Verschiedene andere Werte (aktuelle) hat er entsprechend unterschiedlich angezeigt.
Weiterhin finde ich nicht in deinem Adapter die Werte in der Statistik für EnergyToGridMonth,EnergyToGridTotal, EnergyToGridYear die der Alte Adpater aber zur Verfügung stellt. Heissen die bei dir anders oder fehlen die noch ??
@Moppedman sagte in Beta ioBroker.plenticore-g3:
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.0",
"user": "system.user.admin",
"ts": 1766935932329,
"_id": "plenticore-g3.0.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}Das ist btw von gestern um 16:30. Hast du auf der Instanz mal Master und Slave getestet. Das ist evtl noch ein alter Datenpunkt und du hast in den Settings Yield gar nicht aktiviert.
Vielleicht stoppst du mal den Adapter und löscht alle Objekte.EDIT: Das kann eigentlich nicht vorkommen, weil der Adapter nicht mehr angewählte Datenpunkte entfernt, aber was anderes fällt mir gerade nicht ein :)
-
@Moppedman sagte in Beta ioBroker.plenticore-g3:
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.0",
"user": "system.user.admin",
"ts": 1766935932329,
"_id": "plenticore-g3.0.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}Das ist btw von gestern um 16:30. Hast du auf der Instanz mal Master und Slave getestet. Das ist evtl noch ein alter Datenpunkt und du hast in den Settings Yield gar nicht aktiviert.
Vielleicht stoppst du mal den Adapter und löscht alle Objekte.EDIT: Das kann eigentlich nicht vorkommen, weil der Adapter nicht mehr angewählte Datenpunkte entfernt, aber was anderes fällt mir gerade nicht ein :)
@FernetMenta Wo kann ich denn in den Settings Yield Aktivieren. Master und Slave sind identisch bei den Einstellungen in deinem Plenticore G3 Adapter
Slave/Master kann ich m.E. nur im Modbus Adapter anwählen. Dann verschwindet aber die Eingabe der IP Adresse. Das ging daher nicht , da der Slave einen andere IP hat
-
@FernetMenta Wo kann ich denn in den Settings Yield Aktivieren. Master und Slave sind identisch bei den Einstellungen in deinem Plenticore G3 Adapter
Slave/Master kann ich m.E. nur im Modbus Adapter anwählen. Dann verschwindet aber die Eingabe der IP Adresse. Das ging daher nicht , da der Slave einen andere IP hat
@Moppedman sagte in Beta ioBroker.plenticore-g3:
Wo kann ich denn in den Settings Yield Aktivieren. Master und Slave sind identisch bei den Einstellungen im Adapter
Das musst du ja schon gemacht haben, sonst würdest du ja Yielt Total nicht sehen.

Slave/Master kann ich m.E. nur im Modbus Adapter anwählen
Master / Slave im Kontext von Mobus hat nichts zu tun, wie du deine WRs als Master/Slave benennst. Deine Mobus-Instanz in iob ist immer Master.
-
@Moppedman sagte in Beta ioBroker.plenticore-g3:
"native": {
"type": "processdata",
"moduleid": "scb:statistic:EnergyFlow",
"dataid": "Statistic:Yield:Day"
},
"from": "system.adapter.plenticore-g3.0",
"user": "system.user.admin",
"ts": 1766935932329,
"_id": "plenticore-g3.0.processdata.scb.statistic.EnergyFlow.Statistic_Yield_Day",
"acl": {
"object": 1636,
"state": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator"
}Das ist btw von gestern um 16:30. Hast du auf der Instanz mal Master und Slave getestet. Das ist evtl noch ein alter Datenpunkt und du hast in den Settings Yield gar nicht aktiviert.
Vielleicht stoppst du mal den Adapter und löscht alle Objekte.EDIT: Das kann eigentlich nicht vorkommen, weil der Adapter nicht mehr angewählte Datenpunkte entfernt, aber was anderes fällt mir gerade nicht ein :)
sagte in Beta ioBroker.plenticore-g3:
Das kann eigentlich nicht vorkommen, weil der Adapter nicht mehr angewählte Datenpunkte entfernt, aber was anderes fällt mir gerade nicht ein :)
Ach ja, kann es bei Dunkelheit, also wenn der WR nicht in den Zustand "Einspeisen" kommt, doch geben. Leider hat die REST API von Kostal Eigenheiten. Der Adapter holt sich bei Start alle verfügbaren Datenpunkte der WRs. Leider kann man sich nicht in allen Zuständen auf diese Liste verlassen. Darum wartet der Adapter bis der WR in den Zustand "Einspeisen" kommt. Erst dann werden Objekte, die nicht mehr angewählt sind wieder aus dem Baum gelöscht.
-
sagte in Beta ioBroker.plenticore-g3:
Das kann eigentlich nicht vorkommen, weil der Adapter nicht mehr angewählte Datenpunkte entfernt, aber was anderes fällt mir gerade nicht ein :)
Ach ja, kann es bei Dunkelheit, also wenn der WR nicht in den Zustand "Einspeisen" kommt, doch geben. Leider hat die REST API von Kostal Eigenheiten. Der Adapter holt sich bei Start alle verfügbaren Datenpunkte der WRs. Leider kann man sich nicht in allen Zuständen auf diese Liste verlassen. Darum wartet der Adapter bis der WR in den Zustand "Einspeisen" kommt. Erst dann werden Objekte, die nicht mehr angewählt sind wieder aus dem Baum gelöscht.
@FernetMenta Habe jetzt alles am Laufen und die alten Adapter deinstalliert. Funktioniert soweit bisher einwandfrei.
Habe nur Abweichungen bei der Statistik im Vergleich zum Kostal Portal, aber das hatte ich vorher auch. Die stellen das deutlich positiver dar als es eigentlich ist.
Dir noch mal vielen Dank für die Arbeit und einen Guten Rutsch
-
@FernetMenta Habe jetzt alles am Laufen und die alten Adapter deinstalliert. Funktioniert soweit bisher einwandfrei.
Habe nur Abweichungen bei der Statistik im Vergleich zum Kostal Portal, aber das hatte ich vorher auch. Die stellen das deutlich positiver dar als es eigentlich ist.
Dir noch mal vielen Dank für die Arbeit und einen Guten Rutsch
@Moppedman sagte in Beta ioBroker.plenticore-g3:
Habe nur Abweichungen bei der Statistik im Vergleich zum Kostal Portal, aber das hatte ich vorher auch. Die stellen das deutlich positiver dar als es eigentlich ist.
Ja, das Kostal Solarportar zeigt andere Daten. Ich denke die machen das, weil andere Hersteller das so machen und Kostal da nicht schlechter wegkommen will. Im Solarportal wird als Ertrag das angegeben, was auf der DC-Seite produziert wird. Yield in der REST API gibt an, was auf der AC-Seite wirklich herausgekommen ist. Da bleibt natürlich wegen Wandlungsverlusten einiges auf der Strecke liegen.
-
@fernetmenta
Hallo, ich habe den Kostal Piko 20 mit 22 kWp Panels und einen Kostal KSEM. Alle drei MPPT sind belegt (auch ist der Piko 20 ein reiner String WR).
Nun habe ich mir eine 15 kWh Pylontech gekauft und möchte sich an mein System anschliessen. In der Kompatibiltätsliste stehen der Plenticore G2 und der G3.
Jetzt die Frage: Läuft der Adapter auch mit dem Kostal Plenticore G2 oder benötigt er dringend den G3? -
@fernetmenta
Hallo, ich habe den Kostal Piko 20 mit 22 kWp Panels und einen Kostal KSEM. Alle drei MPPT sind belegt (auch ist der Piko 20 ein reiner String WR).
Nun habe ich mir eine 15 kWh Pylontech gekauft und möchte sich an mein System anschliessen. In der Kompatibiltätsliste stehen der Plenticore G2 und der G3.
Jetzt die Frage: Läuft der Adapter auch mit dem Kostal Plenticore G2 oder benötigt er dringend den G3?@MartyBr aus diesem Grund habe ich es nicht "Kompatibilitätsliste" genannt, sondern Geräte mit denen User erfolgreich getestet haben und das zurückgemeldet haben. Ich nehme an, dass der Adapter mit allen Kostal WRs geht, kann es aber nicht sicher sagen. Du könntest es ja ausprobieren und Feedback geben.
-
@fernetmenta Hi und ein Frohes Neues Jahr erst einmal. Mir sind noch drei Sachen aufgefallen bzw. du kannst das prüfen oder ggf. mir einfach nur erklären.
-
Der SoH wird im Plenticore-G3 Adapter mit dem Wert 255 angezeigt. Sollte aber laut Batterie Adapter 96% sein. Kannst du dir das mal anschauen, denn eine sinvolle Umrechnung sehe ich da auf Anhieb nicht.
-
Ich wollte testweise mal den min SoC der Batterie über deinen Adapter setzen. Dafür habe ich in den Settings des Adapters Battery_ExternControl_MinSocRel mal aktiviert. Diesen Wert kann ich aber nicht überschreiben. Auch das Register 1042_Min_Battery_SoC über Modbus kann ich nicht überschreiben obwohl es laut Kostal Doku RW Atribute hat. Was mache ich hier noch falsch ?
-
Ich habe in beiden WR das Schattenmanagement für beide Strings Aktiviert. Wo könnte ich das Auslesen bzw setzen
-
-
@fernetmenta Hi und ein Frohes Neues Jahr erst einmal. Mir sind noch drei Sachen aufgefallen bzw. du kannst das prüfen oder ggf. mir einfach nur erklären.
-
Der SoH wird im Plenticore-G3 Adapter mit dem Wert 255 angezeigt. Sollte aber laut Batterie Adapter 96% sein. Kannst du dir das mal anschauen, denn eine sinvolle Umrechnung sehe ich da auf Anhieb nicht.
-
Ich wollte testweise mal den min SoC der Batterie über deinen Adapter setzen. Dafür habe ich in den Settings des Adapters Battery_ExternControl_MinSocRel mal aktiviert. Diesen Wert kann ich aber nicht überschreiben. Auch das Register 1042_Min_Battery_SoC über Modbus kann ich nicht überschreiben obwohl es laut Kostal Doku RW Atribute hat. Was mache ich hier noch falsch ?
-
Ich habe in beiden WR das Schattenmanagement für beide Strings Aktiviert. Wo könnte ich das Auslesen bzw setzen
@Moppedman sagte in Beta ioBroker.plenticore-g3:
Der SoH wird im Plenticore-G3 Adapter mit dem Wert 255 angezeigt. Sollte aber laut Batterie Adapter 96% sein. Kannst du dir das mal anschauen, denn eine sinvolle Umrechnung sehe ich da auf Anhieb nicht.
Kann ich nicht nachvollziehen hier und habe das auch von keinem anderen Nutzer gehört. Bei mir sieht das so aus:

Was zeigt dir denn die Weboberfläche des WR an?
Ich habe in beiden WR das Schattenmanagement für beide Strings Aktiviert. Wo könnte ich das Auslesen bzw setzen
Generator_ShadowMgmt_Enable, Das ist ein Bitfeld, also bit 1 gibt an, ob Schattenmanagement auf String 1 aktiviert ist, und Bit 2 auf String 2. Ich habe beide aktiviert, also steht da 3.

Ich wollte testweise mal den min SoC der Batterie über deinen Adapter setzen. Dafür habe ich in den Settings des Adapters Battery_ExternControl_MinSocRel mal aktiviert. Diesen Wert kann ich aber nicht überschreiben. Auch das Register 1042_Min_Battery_SoC über Modbus kann ich nicht überschreiben obwohl es laut Kostal Doku RW Atribute hat. Was mache ich hier noch falsch ?
Um Battery von internal auf external umzustellen, musst du dich in der Weboberfläche als Installateur einloggen.
-