NEWS
Solaredge Adapter (Photovoltaikanlage)
-
@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:
-
@tmy_iob Schön, dass es geklappt hat. Mir ist dabei der Unterschied zwischen Modbus und Sunspec-Modbus nicht klar - oder wie das überhaupt zusammen hängt...
-
Hi, ich bin mir unsicher was du genau meinst. Versuche es aber mal.
Es gibt im Wesentlichen drei Komponenten.-
Der Wechselrichter:
Laut Anleitung folgender Part -> Inverter Model MODBUS Register Mappings (40070 bis 40109). -
Der Modbus-Meter von Solaredge:
Laut Anleitung folgender Part -> Meter Device Block
(40121 bis 40293). -
Der Modbus-Adapter des IOBrokers der die Werte von Solaredge ausliest.
Bei mir modbus.0 in der Version 3.1.10.
Da ich zwischen meinem WR und dem Stromzähler (mMe) das Modbus-Meter von Solaredge hängen habe, kann ich mit dem Modbus-Adapter des IOBrokers die Register vom WR und vom Modbus-Meter (also 40070 bis 40293) auslesen.
-
-
Wie kann ich den Wert des Registers modbus.0.holdingRegisters.40084_I_AC_Leistung um eine Stelle kürzen?
Statt der 18750 Watt, müssten es 1875 Watt sein.
Ich glaube die Werte der anderen Register 40073 bis 40075 und 40077 bis 40082 müssen ebenfalls um eine Stelle gekürzt werden? -
@tmy_iob Du kannst doch in der Instanz den Faktor eingeben
oder per script.... -
@tmy_iob Bei E3/DC scheint es einen Unterschied zwischen Modbus und Sunspec zu geben. Da sind für mich nur die Modbus-Werte interessant, Sunspec interessiert mich da nicht. Bei dir scheint Sunspec relevant zu sein. Mir ist einfach nur unklar, was Sunspec eigentlich genau ist....
-
@stevie77 Ein Protokoll.
"
SolarEdge Wechselrichter unterstützen das Auslesen von Monitoring-Daten auf Wechselrichterebene direkt über ein lokales Nicht- SolarEdge Gerät dank der Implementierung des offenen Protokolls SunSpec, das als Schnittstelle zwischen Geräten in Systemen für erneuerbare Energien dient.
"