ioBroker / AdapterRequests

This Place is used to track the status of new Adapter-Requests.
248 stars 36 forks source link

Adapter für Kostal Wechselrichter (Solaranlage) #170

Closed Kunibert-007 closed 4 years ago

Kunibert-007 commented 5 years ago

Hallo zusammen,

es wäre toll, wenn es für den weit verbreiteten Kostal Wechselrichter einen Adapter gäbe. Bisher lese ich alle Daten via Modbus aus aber ein Adapter wäre sicher die schönere Lösung. Die Implementierung via Modbus ist hier im Forum beschrieben: https://forum.iobroker.net/topic/16169/iobroker-anbindung-an-einen-kostal-plenticore

Die Hersteller-Doku zur Modbus-Schnittstelle findet sich hier: https://www.kostal-solar-electric.com/de-de/download/-/media/document%20library%20folder%20-%20kse/2018/08/30/08/53/ba_kostal_interface_modbus-tcp_sunspec.pdf

Für jemanden der sich mit der Erstellung von Adaptern via Modbus-Schnittstelle auskennt ist das hoffentlich nicht ganz so schwierig (z. B. analog zum Adapter für das Stiebel Eltron ISG, das ich auch erst via Modbus ausgelesen habe und wo dann später ein Adapter zu erschien).

Apollon77 commented 5 years ago

Warum nicht einfach der modbus Adapter? Was wäre der Benefit von einem eigenen Adapter?

Kunibert-007 commented 5 years ago

Modbus-Konfig ist z. B. nicht so easy und anwenderfreundlich wie ein fertiger Adapter: Man muss Datenformate und Adressen kennen, um korrekte Werte auszulesen. Für Neueinsteiger nicht so einfach. Zudem muss - wenn z. B. neue Werte nach einem Update abgefragt werden können - jeder Modbus-Nutzer individuell seine Konfig anpassen, es gibt keine zentrale "Vorgabe".

HighControl commented 5 years ago

Ich hänge mich mal mit rein. Auch ich habe eine PV Anlage mit Plenticore Wechselrichter und einem Speicher von BYD. Ich wüsste nicht wie ich das per ModBus machen sollte...

PeterKoch12 commented 5 years ago

Me too. Wäre schön wenn jemand zumindest eine Demo mit Modbus zur Verfügung stellen würde.

DutchmanNL commented 5 years ago

Me too. Wäre schön wenn jemand zumindest eine Demo mit Modbus zur Verfügung stellen würde.

schonmal im forum nachgefragt für modus gibts da so einige user mit Beispielen?

Kunibert-007 commented 5 years ago

Me too. Wäre schön wenn jemand zumindest eine Demo mit Modbus zur Verfügung stellen würde.

So siehts bei mir aus und funktioniert: image Und so siehts im Holding-Register aus (Auschnitt): image

Zum Importieren:

address name    description unit    type    len factor  offset  role    room    poll    wp
2   MODBUS Enable   MODBUS Enable   -   uint8be 1   1   0   switch  enum.rooms.Dach true    false   
4   MODBUS Unit-ID  MODBUS Unit-ID  -   uint16be    1   1   0   value   enum.rooms.Dach true    false   
30  Number of bidirectional converter   Number of bidirectional converter   -   uint16be    1   1   0   value   enum.rooms.Dach true    false   
32  Number of AC phases Number of AC phases -   uint16be    1   1   0   value   enum.rooms.Dach true    false   
34  Number of PV strings    Number of PV strings    -   uint16be    1   1   0   value   enum.rooms.Dach true    false   
54  Power-ID    Power-ID    -   uint32sw    2   1   0   level   enum.rooms.Dach false   false   
56  Inverter state  Inverter state  -   uint32sw    2   1   0   state   enum.rooms.Dach true    false   
100 Total DC power  Total DC power  W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
104 State of energy manager State of energy manager -   floatsw 2   1   0   state   enum.rooms.Dach true    false   
106 Home own consumption from battery   Home own consumption from battery   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
108 Home own consumption from grid  Home own consumption from grid  W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
110 Total home consumption Battery  Total home consumption Battery  Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
112 Total home consumption Grid Total home consumption Grid Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
114 Total home consumption PV   Total home consumption PV   Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
116 Home own consumption from PV    Home own consumption from PV    W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
118 Total home consumption  Total home consumption  Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
120 Isolation resistance    Isolation resistance    Ohm floatsw 2   1   0   value   enum.rooms.Dach true    false   
122 Power limit from EVU    Power limit from EVU    %   floatsw 2   1   0   value   enum.rooms.Dach true    false   
124 Total home consumption rate Total home consumption rate %   floatsw 2   1   0   value   enum.rooms.Dach true    false   
144 Worktime    Worktime    s   floatsw 2   1   0   value   enum.rooms.Dach true    false   
150 Actual cos φ    Actual cos φ    -   floatsw 2   1   0   value   enum.rooms.Dach true    false   
152 Grid frequency  Grid frequency  Hz  floatsw 2   1   0   value   enum.rooms.Dach true    false   
154 Current Phase 1 Current Phase 1 A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
156 Active power Phase 1    Active power Phase 1    W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
158 Voltage Phase 1 Voltage Phase 1 V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
160 Current Phase 2 Current Phase 2 A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
162 Active power Phase 2    Active power Phase 2    W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
164 Voltage Phase 2 Voltage Phase 2 V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
166 Current Phase 3 Current Phase 3 A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
168 Active power Phase 3    Active power Phase 3    W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
170 Voltage Phase 3 Voltage Phase 3 V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
172 Total AC active power   Total AC active power   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
174 Total AC reactive power Total AC reactive power Var floatsw 2   1   0   value   enum.rooms.Dach true    false   
178 Total AC apparent power Total AC apparent power VA  floatsw 2   1   0   value   enum.rooms.Dach true    false   
190 Battery charge current  Battery charge current  A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
194 Number of battery cycles    Number of battery cycles    -   floatsw 2   1   0   value   enum.rooms.Dach true    false   
200 Actual battery charge   Actual battery charge (-) / discharge (+) current   A   floatsw 2   1   0   value       true    false   
202 PSSB fuse state PSSB fuse state_6   -   floatsw 2   1   0   value   enum.rooms.Dach true    false   
208 Battery ready flag  Battery ready flag  -   floatsw 2   1   0   value   enum.rooms.Dach true    false   
210 Act. state of charge    Act. state of charge    %   floatsw 2   1   0   value   enum.rooms.Dach true    false   
212 Battery state   Battery state_5 -   floatsw 2   1   0   value   enum.rooms.Dach true    false   
214 Battery temperature Battery temperature °C  floatsw 2   1   0   value   enum.rooms.Dach true    false   
216 Battery voltage Battery voltage V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
218 Cos φ (powermeter)  Cos φ (powermeter)  -   floatsw 2   1   0   value   enum.rooms.Dach true    false   
220 Frequency (powermeter)  Frequency (powermeter)  Hz  floatsw 2   1   0   value   enum.rooms.Dach true    false   
222 Current phase 1 (powermeter)    Current phase 1 (powermeter)    A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
224 Active power phase 1 (powermeter)   Active power phase 1 (powermeter)   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
226 Reactive power phase 1 (powermeter) Reactive power phase 1 (powermeter) Var floatsw 2   1   0   value   enum.rooms.Dach true    false   
228 Apparent power phase 1 (powermeter) Apparent power phase 1 (powermeter) VA  floatsw 2   1   0   value   enum.rooms.Dach true    false   
230 Voltage phase 1 (powermeter)    Voltage phase 1 (powermeter)    V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
232 Current phase 2 (powermeter)    Current phase 2 (powermeter)    A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
234 Active power phase 2 (powermeter)   Active power phase 2 (powermeter)   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
236 Reactive power phase 2 (powermeter) Reactive power phase 2 (powermeter) Var floatsw 2   1   0   value   enum.rooms.Dach true    false   
238 Apparent power phase 2 (powermeter) Apparent power phase 2 (powermeter) VA  floatsw 2   1   0   value   enum.rooms.Dach true    false   
240 Voltage phase 2 (powermeter)    Voltage phase 2 (powermeter)    V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
242 Current phase 3 (powermeter)    Current phase 3 (powermeter)    A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
244 Active power phase 3 (powermeter)   Active power phase 3 (powermeter)   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
246 Reactive power phase 3 (powermeter) Reactive power phase 3 (powermeter) Var floatsw 2   1   0   value   enum.rooms.Dach true    false   
248 Apparent power phase 3 (powermeter) Apparent power phase 3 (powermeter) VA  floatsw 2   1   0   value   enum.rooms.Dach true    false   
250 Voltage phase 3 (powermeter)    Voltage phase 3 (powermeter)    V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
252 Total active power (powermeter) Sensor position 1 (home consumption): (+) House consumption, (-) generation Sensor position 2 (grid connection): (+) Power supply, (-) feed-in  Total active power (powermeter) Sensor position 1 (home consumption): (+) House consumption, (-) generation Sensor position 2 (grid connection): (+) Power supply, (-) feed-in  W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
254 Total reactive power (powermeter) Sensor position 2 (grid connection): (+) Power supply, (-) feed-in Sensor position 1 (home consumption): (+) House consumption, (-) generation    Total reactive power (powermeter) Sensor position 2 (grid connection): (+) Power supply, (-) feed-in Sensor position 1 (home consumption): (+) House consumption, (-) generation    Var floatsw 2   1   0   value   enum.rooms.Dach true    false   
256 Total apparent power (powermeter) Sensor position 2 (grid connection): (+) Power supply, (-) feed-in Sensor position 1 (home consumption): (+) House consumption, (-) generation    Total apparent power (powermeter) Sensor position 2 (grid connection): (+) Power supply, (-) feed-in Sensor position 1 (home consumption): (+) House consumption, (-) generation    VA  floatsw 2   1   0   value   enum.rooms.Dach true    false   
258 Current DC1 Current DC1 A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
260 Power DC1   Power DC1   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
266 Voltage DC1 Voltage DC1 V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
268 Current DC2 Current DC2 A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
270 Power DC2   Power DC2   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
276 Voltage DC2 Voltage DC2 V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
278 Current DC3 Current DC3 A   floatsw 2   1   0   value   enum.rooms.Dach true    false   
280 Power DC3   Power DC3   W   floatsw 2   1   0   value   enum.rooms.Dach true    false   
286 Voltage DC3 Voltage DC3 V   floatsw 2   1   0   value   enum.rooms.Dach true    false   
320 Total yield Total yield Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
322 Daily yield Daily yield Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
324 Yearly yield    Yearly yield    Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
326 Monthly yield   Monthly yield   Wh  floatsw 2   1   0   value   enum.rooms.Dach true    false   
531 Inverter Max Power  Inverter Max Power  W   uint16be    1   1   0   value   enum.rooms.Dach true    false   
514 Battery actual SOC  Battery actual SOC  %   uint16be    1   1   0   value   enum.rooms.Dach true    false   
PeterKoch12 commented 5 years ago

Funktioniert wunderbar, herzlichen Dank Kunibert-007

Kleiner Hinweis an Nachleser: Direkt nach Installation muß im Webinterface des WR erst Modbus aktiviert werden. Das war am Ende eigentlich das schwerste.

StrathCole commented 4 years ago

Ist zwar schon älter hier, aber ich habe mich mal dran begeben, weil mir via Modbus die Möglichkeit fehlt, auch Einstellungen zu setzen. Daher nun ein erster Adapter (als kompletter ioBroker Neuling, daher ist bestimmt noch irgendwas "faul"): https://github.com/StrathCole/iobroker.plenticore

HighControl commented 4 years ago

Super! Vielen Dank.

StrathCole commented 4 years ago

@Apollon77 auch hier ist bereits die erste Version im latest.

Apollon77 commented 4 years ago

Dann hier auch zu :-)

hombach commented 4 years ago

FYI: Wer wie ich noch den Vorgänger des Kostal PlentiCore hat - Kostal Piko BA - hier gibt es jetzt auch Abhilfe: https://github.com/hombach/ioBroker.kostal-piko-ba

kutzman30 commented 4 years ago

FYI: Wer wie ich noch den Vorgänger des Kostal PlentiCore hat - Kostal Piko BA - hier gibt es jetzt auch Abhilfe: https://github.com/hombach/ioBroker.kostal-piko-ba

Sorry für einen noob in der Runde. Wie implementiere ich einen Adapter von "irgendwoher" in ioBroker? Als Adapter wird es in ioBroker selbst ja nicht gefunden, oder?

hombach commented 4 years ago

Bei Adapter auf die "Katze"...

image

dann unter "beliebig" die Adresse des Repository eintragen....

image

Der Adapter sollte aber auch in Kürze im Latest sein. Dann kann man ihn auch normal installieren.

kutzman30 commented 4 years ago

Bei Adapter auf die "Katze"...

image

dann unter "beliebig" die Adresse des Repository eintragen....

image

Der Adapter sollte aber auch in Kürze im Latest sein. Dann kann man ihn auch normal installieren.

Klasse, Danke! Das hat schon mal geklappt. Leider sind alle Werte bei 0. Ich glaube ich sehe aber auch meinen Fehler... Muss man den BA Sensor zwingend haben? Kann man die Daten nicht aus dem Wechselrichter an sich gewinnen?

hombach commented 4 years ago

Hast du die IP-Adresse des Piko eingetragen? Das geht (zumindest noch nicht) automatisch.... Für lesenden Zugriff braucht man bei meinem Piko BA kein Passwort... wäre interessant wenn es bei dir nicht geht. Zumindest die Betriebszeit des Umrichters sollte ohne BA Sensor funktionieren. DIe Daten kommen immer aus dem Umrichter direkt, der BA Sensor an sich ist "dumm" und liefern nur drei analoge Messwerte. (Ist bei den aktuellen Plenticore anders)

kutzman30 commented 4 years ago
Hi, ja habe die IP eingetragen und diese auch überprüft. Dennoch dieser Status in Log. kostal-piko-ba.0 2020-06-29 08:55:19.603 error (1539) Please verify IP address: 192.168.2.107 !!!
kostal-piko-ba.0 2020-06-29 08:55:19.602 error (1539) Error in calling Piko API: HTTPError: Response code 401 (Unauthorized)
kostal-piko-ba.0 2020-06-29 08:55:18.679 error (1539) Please verify IP address: 192.168.2.107 !!!
kostal-piko-ba.0 2020-06-29 08:55:18.678 error (1539) Error in calling Piko API: HTTPError: Response code 401 (Unauthorized)
kostal-piko-ba.0 2020-06-29 08:55:18.671 error (1539) Please verify IP address: 192.168.2.107 !!!
kostal-piko-ba.0 2020-06-29 08:55:18.670 error (1539) Error in calling Piko API: HTTPError: Response code 401 (Unauthorized)

Da ich keinen BA Sensor habe (piko 8.3 WR), habe ich nur Nullwerte. Betriebszeit etc. ist jedoch auch auf 0.

hombach commented 4 years ago

Piko 8.3? also nicht der Piko BA? .... Das ist ein vollkommen anderes Gerät - sprich ohne Batterie Ansteuerung (?)

hombach commented 4 years ago

WAs sagt dein Internet-Expolorer, Chrome oder sonstiger Browser wenn du auf http://192.168.2.107/api/dxs.json?&dxsEntries=251658496 gehst? ...

kutzman30 commented 4 years ago

WAs sagt dein Internet-Expolorer, Chrome oder sonstiger Browser wenn du auf http://192.168.2.107/api/dxs.json?&dxsEntries=251658496 gehst? ...

Ich glaube mein Piko WR hat keine Batterieansteuerung ja. Nach Klick auf den Link muss ich mich zu aller erst anmelden... Also ohne Daten geht es wohl nicht... danach kommt in sehr großer Schrift "Sorry, the requested file does not exist on this server." Ich kann gerne unterstützen, den Adapter auch für (noch) ältere Geräte zu entwickelt. Wenn es mit meinen Gerät nicht geht, ist es auch OK und ich "ziehe mich zurück". Will hier nicht Aufwand erzeugen.