Photovoltaik mit Eigenverbrauch Steuerung (Kostal plenticore; EM410)

Begonnen von ch.eick, 16 Juli 2019, 19:18:12

Vorheriges Thema - Nächstes Thema

ch.eick

Zitat von: speedAmaster am 16 Juni 2020, 14:54:50
Ich habe meinen Installateur auch schon verwirrt und ihm den Anlagenzugang erschwert, ob meiner pro-aktiven Aktivitäten.....
Der Anlageninstallateur muss sich ja bei Kostal registrieren, das habe ich telefonisch fuer Ihn gemacht, natuerlich in Absprache mit Ihm  :-)
Ich denke, wenn er noch einen Kostal in dieser Region installieren muss, dann wird er bei mir Anrufen, so ist das hier auf dem Land halt.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Nur als kleine Kostprobe...

Die Ausgabe ueber die API des Kostal Plenticore gibt JSON aus, was dann ueber die FHEM Schnittstelle ins FHEM Device geschickt werden kann.

fhem@raspberrypi:~/python/kostal$ python3 plenticore_status.py [IP-Adresse_SCB] [IP-Adresse_FHEM]  /events/latest
Connected to the inverter PUCK RESTful API/scb with SW-Version 01.13.04122 and API-Version 0.2.0
[
    {
        "category": "error",
        "code": 6006,
        "description": "Energy meter cannot be read.\nPlease check the connection to the sensor.",
        "end_time": "2020-06-16T13:36:46",
        "group": "System fault",
        "is_active": false,
        "long_description": "Energy meter cannot be read.\nPlease check the connection to the sensor.",
        "start_time": "2020-06-16T13:35:38"
    },
    {
        "category": "info",
        "code": 5066,
        "description": "Grid parameters are outside the permitted range. If the fault persists after a few minutes, please contact your installer or call our hotline.",
        "end_time": "2020-04-07T06:47:48",
        "group": "External grid fault",
        "is_active": false,
        "long_description": "Grid parameters are outside the permitted range. If the fault persists after a few minutes, please contact your installer or call our hotline.",
        "start_time": "2020-04-07T06:47:39"
    },
snip...


Eine Liste der Daten, die ueber die API abgefragt werden koennen.
Genauso gibt es auch eine Liste fuer die Settings, wobei die Meisten jedoch ueber die API nur readonly sind.

fhem@raspberrypi:~/python/kostal$ python3 plenticore_status.py [IP-Adresse_SCB] [IP-Adresse_FHEM] /processdata
Connected to the inverter PUCK RESTful API/scb with SW-Version 01.13.04122 and API-Version 0.2.0
[
    {
        "moduleid": "devices:local",
        "processdataids": [
            "Dc_P",
            "DigitalIn",
            "EM_State",
            "Grid_L1_I",
            "Grid_L1_P",
            "Grid_L2_I",
            "Grid_L2_P",
            "Grid_L3_I",
            "Grid_L3_P",
            "Grid_P",
            "Grid_Q",
            "Grid_S",
            "HomeBat_P",
            "HomeGrid_P",
            "HomeOwn_P",
            "HomePv_P",
            "Home_P",
            "Inverter:State",
            "Iso_R",
            "LimitEvuAbs",
            "LimitEvuRel",
            "WorkTime"
        ]
    },
    {
        "moduleid": "devices:local:ac",
        "processdataids": [
            "CosPhi",
            "Frequency",
            "InvIn_P",
            "InvOut_P",
            "L1_I",
            "L1_P",
            "L1_U",
            "L2_I",
            "L2_P",
            "L2_U",
            "L3_I",
            "L3_P",
            "L3_U",
            "P",
            "Q",
            "ResidualCDc_I",
            "S"
        ]
    },
    {
        "moduleid": "devices:local:battery",
        "processdataids": [
            "BatManufacturer",
            "BatModel",
            "BatSerialNo",
            "BatVersionFW",
            "Cycles",
            "FullChargeCap_E",
            "I",
            "P",
            "SoC",
            "U",
            "WorkCapacity"
        ]
    },
    {
        "moduleid": "devices:local:powermeter",
        "processdataids": [
            "CosPhi",
            "Frequency",
            "L1_I",
            "L1_P",
            "L1_Q",
            "L1_S",
            "L1_U",
            "L2_I",
            "L2_P",
            "L2_Q",
            "L2_S",
            "L2_U",
            "L3_I",
            "L3_P",
            "L3_Q",
            "L3_S",
            "L3_U",
            "P",
            "Q",
            "S"
        ]
    },
    {
        "moduleid": "devices:local:pv1",
        "processdataids": [
            "I",
            "P",
            "U"
        ]
    },
    {
        "moduleid": "devices:local:pv2",
        "processdataids": [
            "I",
            "P",
            "U"
        ]
    },
    {
        "moduleid": "scb:event",
        "processdataids": [
            "ErrMc",
            "ErrSFH",
            "Event:ActiveErrorCnt",
            "Event:ActiveWarningCnt"
        ]
    },
    {
        "moduleid": "scb:export",
        "processdataids": [
            "PortalConActive"
        ]
    },
    {
        "moduleid": "scb:statistic:EnergyFlow",
        "processdataids": [
            "Statistic:Autarky:Day",
            "Statistic:Autarky:Month",
            "Statistic:Autarky:Total",
            "Statistic:Autarky:Year",
            "Statistic:CO2Saving:Day",
            "Statistic:CO2Saving:Month",
            "Statistic:CO2Saving:Total",
            "Statistic:CO2Saving:Year",
            "Statistic:EnergyHome:Day",
            "Statistic:EnergyHome:Month",
            "Statistic:EnergyHome:Total",
            "Statistic:EnergyHome:Year",
            "Statistic:EnergyHomeBat:Day",
            "Statistic:EnergyHomeBat:Month",
            "Statistic:EnergyHomeBat:Total",
            "Statistic:EnergyHomeBat:Year",
            "Statistic:EnergyHomeGrid:Day",
            "Statistic:EnergyHomeGrid:Month",
            "Statistic:EnergyHomeGrid:Total",
            "Statistic:EnergyHomeGrid:Year",
            "Statistic:EnergyHomePv:Day",
            "Statistic:EnergyHomePv:Month",
            "Statistic:EnergyHomePv:Total",
            "Statistic:EnergyHomePv:Year",
            "Statistic:OwnConsumptionRate:Day",
            "Statistic:OwnConsumptionRate:Month",
            "Statistic:OwnConsumptionRate:Total",
            "Statistic:OwnConsumptionRate:Year",
            "Statistic:Yield:Day",
            "Statistic:Yield:Month",
            "Statistic:Yield:Total",
            "Statistic:Yield:Year"
        ]
    }
]


RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Heute ist z.B. so eine Situation, bei der der Speicher bisher bis 13:00 Uhr nur 84% geladen wurde.
Das passte trotzdem recht gut, da um 14:00 Uhr die LWP das WW bereitet und der Pool um 12:30 dazugeschaltet wurde.
Irgendwie passt das mit dem Kostal Algorithmus bis dahin ganz gut. Die LWP und der Pool starten ja immer so um diese Zeit.
Jetzt sind jedoch beide Geraete durch und es werden ca 3000 Watt ins Netz eingespeist, aber es waere besser den Speicher vollzuladen, da es ja auch die naechsten Tage eher schlechtes Wetter geben wird. Kostal verwendet jedoch keine Wetterprognose und kann das nicht wissen.

Deshalb habe ich "Battery:SmartBatteryControl:Enable" auf "0" gesetzt und siehe da, es wird mit den ca 3000 Watt der Speicher geladen...alles wird gut. MinSOC ist auf 15% geblieben.
Sobald der Speicher voll ist werde ich dann wieder "Battery:SmartBatteryControl:Enable" auf "1" setzen und hoffen, dass der Plenticore nicht alles vergessen hat.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Es hat mal wieder ein Update im ersten Post ergeben.

Update 2020.06.18 - Raw Definition von LWP_PV DOIF aktualisiert
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo zusammen,
es gibt mal was neues von Kostal fuer den KSEM
Wir hatte hierüber bereits geschrieben 0x800000000 im Register und nun ist die Antwort da.

Zitat
der KSEM ermittelt nicht alle Werte, welche in der SunSpec spezifiziert sind. Alle nicht unterstützen Werte sind mit 0x8000 gekennzeichnet.
Für die nicht unterstützten Zählerstände wird die 0x800000000 ausgegeben.

Der Summenstrom M_AC_Current (sum of active phases) kann aber durch den Endanwender selber berechnet werden aus der Summe
der Einzelwerte (Phase A AC current, Phase B AC current Phase C AC current)

Die einzeln Spannungen zwischen den Phasen können wir nicht messen und diese werden deshalb nicht ausgegeben.

Gruss
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo zusammen,
ich moechte noch einen link zu einem anderen Forum hinzufuegen, in dem grundlegend ueber Kostal  KSEM und Plenticore diskutiert wird. Dort geht es nicht nur um die FHEM Einbindung, sondern auch um die dynamische 70% Regelung
Achtung, Ihr verlasst mit dem Klick auf die Links dieses Forum!!!
Fuer die Inhalte und die Pflege des externen Forums wird wie immer keine Haftung uebernommen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

speedAmaster

Hallo, kannst Du den Link nochmal prüfen? Geht bei mir nicht.....

ch.eick

Zitat von: speedAmaster am 20 Juli 2020, 10:20:17
Hallo, kannst Du den Link nochmal prüfen? Geht bei mir nicht.....
Du warst einfach zu schnell, ich habe gerade nich editiert.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Mumpitz

Zitat von: ch.eick am 16 Juni 2020, 15:20:00
Nur als kleine Kostprobe...

Die Ausgabe ueber die API des Kostal Plenticore gibt JSON aus, was dann ueber die FHEM Schnittstelle ins FHEM Device geschickt werden kann.


Hallo Christian

Kannst du an dieser Stelle mal posten wie der genaue Weg ist, diese Werte in fhem zu bekommen? Ich habe bis jetzt einfach die Modbus Frage aus deinem ersten Post hier eingebaut. Funktioniert!
Das API bringt aber noch weitere coole Readings welche ich gerne für die Visualisierung einsetzen würde.

Besten Dank

ch.eick

Zitat von: Mumpitz am 21 August 2020, 14:27:07
Kannst du an dieser Stelle mal posten wie der genaue Weg ist, diese Werte in fhem zu bekommen? Ich habe bis jetzt einfach die Modbus Frage aus deinem ersten Post hier eingebaut. Funktioniert!
Das API bringt aber noch weitere coole Readings welche ich gerne für die Visualisierung einsetzen würde.

Die coolen Readings gibt es hier, bei der Bilanz . Da habe ich auch gerade nochmal alles aktualisiert.

Gruß
    Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick


ph1959de

Zitat von: ch.eick am 29 August 2020, 12:03:57
Sooo, ab jetzt ist das Wiki die erste Quelle der Wahl!
Ich habe mal zwei kleine Änderungen im Wiki-Beitrag gemacht:

  • Infobox Hardware "repariert"
  • Exemplarisch ein Stück Python code in <Syntaxhighlight> Tags gesetzt

Wenn Du möchtest - und soweit mit dem Inhalt fertig bist - kann ich gern mal komplett drüberschauen.

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

DS_Starter

Hallo Christian,

ich habe zwar keinen Kostal plenticore, aber lese immer mal interressiert rein.  :)

Nur ein kleiner Hinweis, im Wiki hast du die verwendeten Module aufgeführt:


- Modbus
- HTTPMOD
- expandJSON
- LogDb
- LogDbRep
- dummy
- Shelly
- HourCounter
- readingsGroup


Die Module LogDb und LogDbRep gibt es nicht, die Module heißen DbLog und DbRep. Das müsstest du mal durchgehend ändern, sonst könnten Anfänger bisschen durcheinander kommen was Module und was Devices sind.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter