NEWS
Solaredge Adapter (Photovoltaikanlage)
-
@ehome
Ich habe die gleiche Kombination und kann auch die PV Leistung auslesen. Hast du eine Lösung gefunden? -
Hallo,
könnte hier mal jemand seine Modbus-Register-Einstellungen für Solaredge-WR für den Adapter als Text exportieren und hier als Text (Code) für einen späteren Import einstellen? Der letzte Textexport ist von 2017 und verglichen mit nem Spezifikationsdokument von SE wohl auch nicht mehr aktuell.
Vielen Dank schonmal vorab... -
-
@valbuz Danke, darauf kann man dann hoffentlich aufbauen...
Vorab beschäftigt mich aber, dass die Instanz des Adapters nicht grün wird. Ich habe mit Instanz modbus.0 bereits mein E3/DC-Hauskraftwerk erfolgreich verbunden. Nun wollte ich mit ner neuen Instanz modbus.1 meinen zusätzlichen SolarEdge-WR an ioBroker anbinden. Ich vermute mal, das ist die richtige Vorgehensweise?!
Der WR ist auf der IP erreichbar und auch der Port stimmt.
Leider scheint der Adapter sich gleich wieder zu trennen (Hier manuelle Trennung, dann Verbindung und wieder weg). Liegt das evtl. an noch fehlenden Modbus-Registern?
modbus.1 2020-09-01 15:07:54.053 info (20413) Disconnected from slave 192.168.1.12 modbus.1 2020-09-01 15:07:54.050 info (20413) Connected to slave 192.168.1.12 modbus.1 2020-09-01 15:07:53.687 info (20413) starting. Version 3.1.7 in /opt/iobroker/node_modules/iobroker.modbus, node: v10.21.0, js-controller: 3.1.6 modbus.1 2020-09-01 15:07:53.662 info (20413) Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system modbus.1 2020-09-01 15:07:49.075 info (20359) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason modbus.1 2020-09-01 15:07:49.073 info (20359) terminating modbus.1 2020-09-01 15:07:49.071 info (20359) Got terminate signal TERMINATE_YOURSELF
-
@stevie77 Nimm mal Port 502
-
@valbuz Hat sich (teilweise) erledigt. Der Port ist kein Problem. Es lag tatsächlich daran, dass ich keine Register angegeben hatte. Nachdem ich die Register in der Instanz importiert hatte, sprang die Instanz sofort auf grün. Super.
Allerdings werden die angelegten und gespeicherten Holding Register-Einträge nicht angezeigt, obwohl ich verbunden bin. Hab' ich noch was vergessen?
Edit: Nach ein paar Minuten wird die Instanz allerdings leider wieder gelb. Ich probier es mal mit dem Port 502 am SE (obwohl 1502 ja Standard ist).
Edit 2: Hähh? Jetzt ist es eine Minute später wieder grün. Aber immer noch keine Holding Register auslesbar.
-
@stevie77 Bei mir sind die Objekte gefüllt mit Werten...
-
@stevie77 Achte darauf, dass Du nicht mit mehreren Instanzen oder anderen Tools gleichzeitig darauf zugreifst!
-
@valbuz Ich hab das Problem gefunden: Der Import deiner CSV-Werte klappt leider nicht richtig. Die Spalte Typ war leer. Ich bau' mir die Tabelle jetzt wohl doch selbst (mit richtigen Trennzeichen) auf...
So klappt es jetzt exemplarisch, ich sehe das Register und bekomme den richtigen Wert 101.
Trotzdem danke für deine Hilfe.address;name;description;unit;type;len;factor;offset;role;room;poll;wp;cw 40070;C_SunSpec_DID;101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig;;uint16be;1;1;0;value;;true;false;false
-
Falls es jemand zum Import brauchen kann - ich hab' mal alles eingegeben, was aus der Solaredge-Doku zu entnehmen war. Ich hoffe, es ist fehlerfrei - da mein Wechselrichter nur einphasig ist, konnte ich nicht alle Werte überprüfen.
Dies ist kein Export aus ioBroker (ohne Trennzeichen zumindest bei mir nicht importierbar), sondern mit gültigen CSV-Trennern. So hat bei mir der Import geklappt.address;name;description;unit;type;len;factor;offset;role;room;poll;wp;cw 40001;C_SunSpec_ID;Wert = "SunS" (0x53756e53). Identifiziert dies eindeutig als eine SunSpec Modbus-Karte;;uint32be;2;1;0;value;;true;false;false 40003;C_SunSpec_DID;Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“;;uint16be;1;1;0;value;;true;false;false 40004;C_SunSpec_Länge;65 = Länge eines Blocks in 16-bit Registern;;uint16be;1;1;0;value;;true;false;false 40005;C_Hersteller;Bei SunSpec eingetragener Wert = "SolarEdge";;string;16;1;0;value;;true;false;false 40021;C_Modell;Spezifischer SolarEdge Wert;;string;16;1;0;value;;true;false;false 40045;C_Version;Spezifischer SolarEdge Wert;;string;8;1;0;value;;true;false;false 40053;C_Seriennummer;Eindeutiger SolarEdge Wert;;string;16;1;0;value;;true;false;false 40069;C_Geräteadresse;Modbus-ID der entsprechenden Einheit;;uint16be;1;1;0;value;;true;false;false 40070;C_SunSpec_DID;101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig;;uint16be;1;1;0;value;;true;false;false 40071;C_SunSpec_Länge;50 = Länge des Modellblocks;Register;uint16be;1;1;0;value;;true;false;false 40072;I_AC_Strom;AC-Gesamtstromwert;A;uint16be;1;1;0;value;;true;false;false 40073;I_AC_StromA;AC-Phase A (L1) Stromwert;A;uint16be;1;1;0;value;;true;false;false 40074;I_AC_StromB;AC-Phase B (L2) Stromwert;A;uint16be;1;1;0;value;;true;false;false 40075;I_AC_StromC;AC-Phase C (L3) Stromwert;A;uint16be;1;1;0;value;;true;false;false 40076;I_AC_Strom_SF;AC-Strom Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40077;I_AC_SpannungAB;AC-Spannung Phase AB (L1-L2) Wert;V;uint16be;1;1;0;value;;true;false;false 40078;I_AC_SpannungBC;AC-Spannung Phase BC (L2-L3) Wert;V;uint16be;1;1;0;value;;true;false;false 40079;I_AC_SpannungCA;AC-Spannung Phase CA (L3-L1) Wert;V;uint16be;1;1;0;value;;true;false;false 40080;I_AC_SpannungAN;AC-Spannung Phase A-N (L1-N) Wert;V;uint16be;1;1;0;value;;true;false;false 40081;I_AC_SpannungBN;AC-Spannung Phase B-N (L2-N) Wert;V;uint16be;1;1;0;value;;true;false;false 40082;I_AC_SpannungCN;AC-Spannung Phase C-N (L3-N) Wert;V;uint16be;1;1;0;value;;true;false;false 40083;I_AC_Spannung_SF;AC-Spannung Skalierungsfaktor;V;int16be;1;1;0;value;;true;false;false 40084;I_AC_Leistung;AC-Leistungswert;W;uint16be;1;1;0;value;;true;false;false 40085;I_AC_Leistung_SF;AC-Leistung Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40086;I_AC_Frequenz;Frequenzwert;Hz;uint16be;1;1;0;value;;true;false;false 40087;I_AC_Frequenz_SF;Frequenz Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40088;I_AC_VA;Scheinleistung;VA;uint16be;1;1;0;value;;true;false;false 40089;I_AC_VA_SF;Scheinleistung Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40090;I_AC_VAR;Blindleistung;VAR;uint16be;1;1;0;value;;true;false;false 40091;I_AC_VAR_SF;Blindleistung Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40092;I_AC_PF;Leistungsfaktor;%;uint16be;1;1;0;value;;true;false;false 40093;I_AC_PF_SF;Leistungsfaktor Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40094;I_AC_Energie_WH;AC Gesamt-Energieproduktion;Wh;uint32be;2;1;0;value;;true;false;false 40096;I_AC_Energie_WH_SF;AC Gesamtenergie Skalierungsfaktor;;uint16be;1;1;0;value;;true;false;false 40097;I_DC_Strom;DC-Stromwert;A;uint16be;1;1;0;value;;true;false;false 40098;I_DC_Strom_SF;DC-Strom Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40099;I_DC_Spannung;DC-Spannungswert;V;uint16be;1;1;0;value;;true;false;false 40100;I_DC_Spannung_SF;DC-Spannung Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40101;I_DC_Leistung;DC-Leistungswert;W;uint16be;1;1;0;value;;true;false;false 40102;I_DC_Leistung_SF;DC-Leistung Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40104;I_Temp_Kühler;Kühlkörpertemperatur;°C;uint16be;1;1;0;value;;true;false;false 40107;I_Temp_SF;Kühlkörpertemperatur Skalierungsfaktor;;int16be;1;1;0;value;;true;false;false 40108;I_Status;Betriebszustand (1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup);;uint16be;1;1;0;value;;true;false;false 40109;I_Status_Anbieter;Anbieter-spezifischer Betriebszustand sowie Fehlercodes: 1 = Aus, 2 = Schlafen (Automatisches Herunterfahren) – Nachtmodus, 3 = Aufwachen/Starten, 4 = Wechselrichter ist AN und wandelt Energie, 5 = Begrenzte Produktion, 6 = Herunterfahren, 7 = Fehler, 8 = Wartung/Setup;;uint16be;1;1;0;value;;true;false;false
-
@stevie77 Hi, vielen Dank für die Arbeit. Ich bin neu im ioBroker unterwegs. Habe den Modus erfolgreich eingerichtet. Ich würde gerne deinen Export importieren. Ich weiß nur nicht wie. Im ioBroker -> Objekte -> Modus.0 -> HoldingRegisters kann ich nur json Files importieren (Eine Objektstruktur mittels JSON Datei hochladen). Kannst mir jemand kurz erklären wie den Export abspeichern muss und wie ich diesen im Anschluss importieren kann. Besten Dank.
-
Versuch's mal hier
-
@tmy_iob sagte in Solaredge Adapter (Photovoltaikanlage):
@stevie77 Kannst mir jemand kurz erklären wie den Export abspeichern muss und wie ich diesen im Anschluss importieren kann. Besten Dank.
Datei als Textdatei abspeichern bzw. Inhalt als Text kopieren. In der Adaptereinstellung der Instanz auf Holding Registers und dort auf (+) (Import aus CSV). Text reinkopieren und unten rechts den Minibutton mit dem Häkchen klicken. Wie valbuz im Screenshot schon gezeigt hat.
-
@stevie77 und @valbuz
Vielen Dank. Das hat geholfen und funktioniert. Ich bekomme jetzt einiges an Daten rein.4084 Kann ich als aktuelle PV-Produktion zuordnen. Vielen andere Werte ebenfalls.
Unklar sind für mich aber aktuell noch folgende Werte:
Aktueller Eigenverbrauch und Zukauf (Netzbezug). Welche Werte sind das bei euch?Aktuell schaut es bei mir so aus:
-
@tmy_iob sagte in Solaredge Adapter (Photovoltaikanlage):
@stevie77 und @valbuz
Unklar sind für mich aber aktuell noch folgende Werte:
Aktueller Eigenverbrauch und Zukauf (Netzbezug). Welche Werte sind das bei euch?Hmm, beim groben Durchsehen scheint es diese Werte nicht zu geben?! Das sind doch aber auch Werte, die der Wechselrichter so nicht wissen kann, da es Werte am Hausanschlusspunkt sind, oder? Ich habe die nicht vermisst, weil der SE-WR bei mir nur als externe Quelle an einem E3/DC-Hauskraftwerk hängt. Dieses hängt tatsächlich am Hausanschlusspunkt, misst diese Werte und gibt sie auch per Modbus bekannt.
Für den SolarEdge habe ich noch gar nichts eigenes gebastelt, kommt vielleicht im Winter.
-
@stevie77
Da hast du eigentlich recht. Allerdings ist mein WR an einem Modus-Zähler vom SE angeschlossen. Deswegen bekommt er die Daten des Eigenverbrauchs und Zukaufs. Dies wird mir ja auch im Monitoring von SE visualisiert.Hier mal ein Bild des Modus-Zählers:
Der Modbus-Zähler hängt zwischen WR und Stromzähler des EVU ("moderne Messeinrichtung"). WR<->Modus-Zäler<->Stromzähler des EVU.
So sieht das dann im Monitoring von SE aus:
-
@tmy_iob Okay, kannte ich noch nicht. Bei E3/DC heißt das Teil externer Leistungsmesser, wundert mich aber natürlich nicht, dass es von SE auch so was gibt.
Es sieht aber so aus, als würde der Wechselrichter eben diese Modbusregister nicht zur Verfügung stellen/weiterleiten. Das Protral greift dann eben auf die Informationen beider Geräte zu, was du wohl nicht kannst. Bleibt die Frage, ob du nicht einfach eine zweite Modbus-Instanz aufmachen kannst um damit eben direkt deinen Zähler abzufragen. Hat er ne eigene IP im Heimnetz? Wenn ja, dann sollte das ja gehen wenn du sagst, dass es ein Modbus-Zähler sei... -
@stevie77 Hm, wenn ich das richtig verstehe, dann kommuniziert der Modus-Zähler mit dem WR via RS485.
Siehe:
Also eine eigene IP hat der Modus-Zähler nicht.
Sehe ich das richtig, dass das SunSpec-Protokoll hierfür zusätzliche Register vorsieht?Siehe:
https://www.solaredge.com/sites/default/files/sunspec-implementation-technical-note.pdfAb Seite 19.
Wie seht ihr das?
-
@tmy_iob
Ich konnte jetzt eine Lösung finden.
Hier das Ergebnis:
Warum auch immer sind die Register im Handbuch nicht korrekt, bzw. ggf. habe ich was überlesen. Für die Registerwerte des Meters 1 40121 bis 40293 musste ich jeweils eins addieren.
Beispiel: M_AC_Power ist bei mir 40207 statt 40206.
Jetzt funktioniert es.
Wie bereits in meinem letzte Post beschrieben, sind die Registers des Modbus-Meters im Handbuch "Technical Note – SunSpec Logging in SolarEdge Inverters" ab Seite 19 beschrieben.
-
Hier noch die Einstellungen des Modbus Adapters: