Hinweise für diverse PV-Anlagen, Heimspeicher und SmartMeter

Es gibt drei Betriebsmodi der PV-Regelung:

(a) Reiner PV-Steuerungsbetrieb: dann liest die Software den Wechselrichter aus, und Du musst den Heimverbrauch schätzen, der wird pauschal abgezogen. Das ist “PV-Ertrag statt SmartMeter-Daten nutzen” in meiner App.

(b) Reiner Überschussbetrieb: das Smartmeter am Übergabepunkt wird ausgelesen und ausgewertet. Das ist ja der eigentlich relevante Wert. Für das Optische wäre noch der PV-Ertrag “nett”, wird aber nicht gebraucht.

Ganz einfach ist das mit Smartmeter-Auslese-Geräten (powerfox, …) oder eigenen Smartmetern oder deren Ersatz (ShellyEM). Siehe https://android.chk.digital/ecar-charger-control#smartmeter_source.

Das funktioniert aber nicht, wenn ein Heimspeicher vorhanden ist.

Die Wallbox wird ja anhand der Grid-Smartmeter-Daten geregelt. Wenn exportiert wird: Leistung wird entsprechend erhöht. Wenn importiert wird, wird die Ladeleistung enstprechend geringer geregelt.

Wenn nun der Speicher dafür sorgt, dass nie importiert wird, – was ja seine Aufgabe ist – dann regelt die Steuerung immer höher, bis Maximum (oder der Speicherentladestom maximal ist, und dann wieder bezogen wird).

Somit ist dann ein Heimspeicher ununterscheidbar von einer “gewünschten” Energiequelle und das Auto würde weiter (und immer stärker) laden, unbeachtet ob die Leistung von der PV-Anlage oder vom Heimspeicher kommt, bis dieser leer ist. Daher benötigt man, wenn man einen Heimspeicher hat, den Zugriff auf die Anlagendaten (Akku + Smartmeter, hier auf, wenn vorhanden, aus optischen Gründen die PV-Daten).

Der Speicher bedingt immer ein Smartmeter am Übergabepunkt für seine Regelung, hat also immer die Grid-Export/Import-Daten.

(c) das Beste: der Anlagen-Betrieb: Anschluss der App an den Wechselrichter, wenn er die Heimspeicher-Daten hat (“Hybrid”-Wechselrichter) oder an den Heimspeicher (z.B. Sonnen). Siehe https://android.chk.digital/ecar-charger-control#smartmeter_devices

(b) und (c) unterscheiden sich dadurch, an welches Gerät man die App anschließt.


Besonderheiten einzelner Geräte: PV-Anlagen und SmartMeter


SolarEdge

Erste Möglichkeit: am Gerät/per SetApp:

https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdf

Bei SolarEdge muss man den Modbus erst freischalten:

a) Darauf achten, wie der Port (502 bei dem Gerät mit LCD, 1502 bei dem Gerät ohne LCD) eingestellt ist, das entsprechende Gerät muss dann in der App eingetragen werden (oder der Port mit “:502” oder “:1502” hinter der IP-Adresse angeben).

b) Dann gibt es noch die Möglichkeit, über den Support zu gehen (Danke Uwe!):

/https://android.chk.digital/wp-content/uploads/2022/04/Modbus-aktivieren.pdf

Wichtige Hinweise:

  1. SolarEdge hat eine sehr primitive IP-Stack-Implementation, die oft Fehler produziert, so dass man Anfragen von Programmen oft wieder wiederholen muss. Daher sollte man bei Benutzung paralleler anderer Apps reduzieren, wenn möglich. “SolarMon” (https://play.google.com/store/apps/details?id=de.abare.solarmon.try) klappt erfahrungsgemäß parallel, aber wenn möglich nicht immer laufen lassen.
  2. SolarEdge muss bei der aktuellen Firmware per LAN-Kabel (Ethernet) angeschlossen sein – die Möglichkeit per WLAN hat die Firmware anscheinend “verloren”.

    Aussage von SE:
    “Mit der neusten Firmware ist eine Verbindung über WLAN nicht mehr möglich. Sunspec bzw Modbus kann nur noch bei LAN-Anbindung genutzt werden. Es gibt von SE eine vage Zusage, dass dieses in Zukunft wieder möglich sein soll.” (https://openwb.de/forum/viewtopic.php?f=4&t=4744&start=10)

    Also entweder
    – Kabel legen (wenn nicht schon vorhanden)
    – Auf ein Update der Firmware warten
    – Leichten Aufwand betreiben: Einen Mini-Router wie den TL-WR802N besorgen (wichtig: muss Client-Mode unterstützen!) und die PV-Anlage per Ethernet-Kabel an diesen anschließen, dann geht’s über WLAN weiter

c) Und noch eine Idee (aus https://github.com/binsentsu/home-assistant-solaredge-modbus):

  1. Enable wifi direct on the inverter by switching the red toggle switch on the inverter to “P” position for less than 5 seconds.
  2. Connect to the inverter access point like you would for a normal wifi network. The wifi password is published at the right side of the inverter.
  3. Open up a browser and go to http://172.16.0.1 > Site Communication. From this webpage you can enable modbus TCP without setApp or installer account.

Kostal Modbus (alles außer “Piko bis 2018”):

Man muss auch bei Kostal den Modbus erst einmal in dessen Einstellungen aktivieren. Die u.a. Parameter sind wichtig!

Dann muss man nach der Einstellung der IP-Adresse in den Einstellungen bei der App auswählen, ob das eigene SmartMeter den Hausverbrauch oder die exportierte Leistung misst.


Huawei

Anleitung vom Hersteller:

https://forum.huawei.com/enterprise/en/modbus-tcp-guide/thread/789585-100027

Und für Selbstdurchbeisser mit ein paar Tips:

https://forum.iobroker.net/topic/51639/howto-huawei-sun2000-wr-modbus-mit-node-red-read-write

Erste Anlaufstelle bei Probleme: ein Firmwareupdate könnte helfen. Am besten die aktuellen Firmwares installieren (lassen) für den Wechselrichter und den Dongle.

https://community.openhab.org/uploads/short-url/qebwJOlOpHmP0knqH4u99QYqn8x.pdf


Sungrow

1) Minimal-Lösung: Wenn die PV-Daten reichen: Modul “sunspec” in meiner App wählen und die IP-Adresse des WiNet-S (Gerätenamen normalerweise “espressif” in dem Router). Dann muss man halt einen geschätzten Hausverbrauch eintragen.

Wer mehr will (Heimverbrauch, Im/Export-Daten), der hat 2 Möglichkeiten:

2a) Optimal: die neueste Sungrow-WiNetS-Firmware stellt alle Informationen per WLAN zur Verfügung (anscheinend bis auf die des Heimspeichers, https://github.com/evcc-io/evcc/discussions/3295). Also (wenn man keinen Heimspeicher hat) neuestes Update einspielen (wie? Siehe https://www.photovoltaikforum.com/core/attachment/182179-att-sungrow-3-phasehybrid-fw-update-pdf/, oder per Sungrow-Support-Fernwartung) und dann ist im IP-Dialog entweder die IP-Adresse des Sticks einzugeben, oder dessen Name (“espressif”, siehe oben).

2b) nur mit Glück optimal: der Wechselrichter kann auch über die die RJ45-Buchse direkt per LAN angeschlossen werden, dann bekommt man alle Daten (hier als IP-Adresse bitte die des Wechselrichter nehmen, die nun im Router vorhanden ist!), auch die eines Heimspeichers. Das geht leider auf Kosten der Stabilität, der LAN-Port hängt sich gelegentlich auf, dann muss man den WR neu starten.

Zum Neustart gibt es laut Sungrow-Support mehrere Möglichkeiten:

o Softstart mit App/Browser o Herunter- und Hochfahren gemäß Handbuch. Zwischendrin 10 Minuten warten damit es sich resettet.

o Alternativ AC aus, dann DC aus, dann Batterie aus, dann 10 Minuten warten

o dann Batterie an, 5 Minuten warten, DC-Switch an, 1 Minute warten, AC an

Sollte alles nicht gehen, dann kann man auch per iSolarcloud in der Wechselrichter-Konfiguration nachschauen, ob die “Geräteadresse” 1 ist. Wenn nicht, muss ich noch einbauen, dass man eine abweichende Adresse in meiner App einstellen kann.


Tasmota

Der Datensatz, der zurückgegeben werden muss, muss die Leistungs-Werte in einem Objekt gespeichert haben:

  • “Power” oder “Power_W” (beides in W), oder “Power_kW” (in kW) für die Leistungssumme, Vorzeichenwechsel zwischen Im- und Export, oder
  • “Power_Import” oder “Power_Import_W” (in W) oder “Power_Import_kW” (in kW) für die aus dem Grid importierte Leistung, und “Power_Export” oder “Power_Export_W” (in W) oder “Power_Export_kW” (in kW) für die in das Grid exporierte Leistung

Eine Record-Definition kann also folgende Definition (IBIS) haben:

+1,3,o,0,9600,Messwerte,1,100,
1,1-0:1.7.0*255(@1,aktuell Verbrauch,KWh,Power_Import_kW,3
1,1-0:2.7.0*255(@1,aktuell Verkauf,KWh,Power_Export_kW,3
1,1-0:1.8.1*255(@1,Total Consumed,KWh,Energy_Import_kWh,3
1,1-0:2.8.1*255(@1,Total Delivered,KWh,Energy_Export_kWh,3
1,1-0:0.0.0*255(@#),Zähler Nr,,Meter_number,0 # 

so dass der lesbare Record die Form hat:

{"StatusSNS":{"Time":"2022-11-09T09:43:03","Messwerte":{"Power_Import_kW":0.233,"Power_Export_kW":0.513,"Energy_Import_kWh":14788.782,"Energy_Export_kWh":26865.095,"Meter_number":"70722477"}}}

Der Name des Messwert-Objekts ist nicht wichtig, die anderen Messwerte (hier “Energy_…”) auch nicht. Die App nimmt das erste “Objekt” unter “StatusSNS”, das mehrere Werte hat, überliest also “Time” und nimmt erst einmal das nächste. Wenn es mehrere Messgeräte hat, kann man das korrekte im Konfigurationsdialog auswählen.

Groß-/Kleinschreibung wird ignoriert.


Tesla

Für den Zugriff benötigt man Usernamen und ein Passwort. Als Username wird die EMail Adresse des Tesla Kontos benötigt, das Passwort ist, wenn es nicht geändert wurde, die letzten 5 Stellen der Gateway Seriennummer (Groß/Kleinschreibung beachten!)).


Sonnen, API V2

Über https://finde-meine.sonnenbatterie.de/ einloggen (Als “User”, Das Default-Passwort steht am Wechselrichter-Etikett oder ist, bei alten Versionen, über sonnen erhältlich).

Mit diesen Daten kommt man in den Konfigurator.

Auf der Seite “Software-Integration” steht ein Token, das man bei meiner App benötigt, und man muss die “Read-API” einschalten.


Sofar Solar

Der Zugang geht über RS485-(W)LAN Konverter, da der Wechselrichter nur eine RS485-Verbindung hat. Siehe such https://android.chk.digital/de/ecar-charger-control/usr-w610setup/.

Verbindungsparameter: RS485 settings 9600 bps, 1 starting byte; 8 data bytes; 1 stop byte; Parity: none


Ginlong Solis

Die Anbindung geschieht über den Solis LAN Stick [SOLIS-DLS_LAN] oder WLAN Dataloggerstick [SOL-DLS-W].

Zu kontrollieren bei Problemen ist in am Wechselrichter (z.B. “http:/<ip>/config_hide.html”), ob die Parameter stimmen: 9600 bps, 8 Bit, no parity, 1 Stop Bit