NEWS
[Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana
-
Das Problem hatte ich auch gerade erst. Ist easy. Der Exponent der besagten Faktoren kann auch durchaus negativ werden. Probier's daher mal mit "Signed 16 bit (Big Endian)"...
Noch ein Hinweis an Alle:
ModBus TCP geht NUR! per Kabelverbindung. Bin mit der WiFi-Verbindung solange gescheitert, bis ich halt ein Kabel vom Fritz! WLAN-Repeater zum WR gezogen habe. Strenggenommen auch nur WLAN aber jetzt gehts endlich. Muss wohl an der internen Kommunikation im WR liegen, dass die Register nicht zum WLAN-Interface durchgereicht werden.
Diese Info habe ich in der Klarheit hier nicht gefunden (oder übersehen )Ansonsten VIELEN DANK für dieses tolle Tutorial. Ohne hätte ich das niemals hinbekommen.
-
Hallo konntest Du Dein Problem mit dem 2. WR lösen?
Ich habe wahrscheinlich eine gleiche Config, 2 WR davon einer mit IP Anschluss und Modbus TCP der zweite ist als Slave oder Follower angebunden.
Die Daten vom ersten ein SE 5000 H kann ich auslesen, aber nicht die vom 2. einen SE 2000 H. Die Daten müssen aber vorhanden sein da auch auf dem Portal sichtbar.
Irgendeine Idee?Danke und Gruss
Geb -
Hallo,
habe seit gestern ein Hot Water Modul (SE) womit der Heizstab der im Warmwasserspeicher ist gesteuert wird. Das Modul ist über Zigbee mit den Wechselrichter verbunden.
Den Wechselrichter lese ich bereits erfolgreich mit den Modbus Adapter aus. Meine Frage ist jetzt ob ich das Hot Water Modul auch über Modbus auslesen kann da es ja mit den Wechselrichter verbunden ist.
Wenn ja, weiss jemand welche Adressen es sind die ich ins Holding Register eintragen muss?!Danke für eure Hilfe,
Bernd -
Hallo zusammen
Zuerst einmal herzlichen Dank für euren Effort. Ich habe dank diesem Beitrag zumindest schon etwas zum Laufen gebracht. Leider aber noch nicht ganz das, was ich gerne möchte.
Der 40207 funktioniert bestens. Er zeigt an, wieviel Watt ich aktuell vom Stromanbieter beziehen (wenn es eine negative Zahl ist), oder aber ins Netz speise (wenn es eine positive Zahl ist).
Auch scheint die 40094 einigermassen zu passen und gibt die Gesamtproduktion seit Beginn an. Die Zahl ist zwar nicht ganz stimmig mit der aus dem App, aber so einigermassen passt's.
Ich kann es aber drehen und wenden wie ich will. Was ich nicht schaffe, ist da auch die Watt rauszukriegen, welche ich aktuell für das Haus beziehe oder aber auch die PV-Anlage produziert. Ich habe mit der 40207 nur immer die Summe aus beiden.
Dies ist die Spezifikation meines Wechselrichters und egal welche ich nebst der 40207 mit den gleichen Einstellungen auslese, ich kriege keine sinnvollen Resultate.
https://www.dropbox.com/s/j5ye5cj86kaxhcn/sunspec-implementation-technical-note.pdf?dl=0
Vermutlich suche ich da viel zu weit....herzlichen Dank für eure Hilfe!!!
-
Vielleicht wird es klarer wenn du Statt Final Totel schreibst?
207 ist die summe aller drei Phasen... also aktueller Bezug/Einspiesung
Was du suchst ist die aktuelle Produktion?
-
~~Ich hänge nun auch schon den ganzen Tag an einem Problem...
Heute Morgen gsb es ein Update für meinen Router und seit dem bekomme ich keien Verbindung mehr hin... hab schon die Alte Version am Router restored, den Modbu Adapter auf die neueste Version geholt.. mir gehen die Ideen aus...Mid Modbus Poll bekomme ich eine Verbindung , Pingen lässt sich der WR auch... nur der Adapter streikt... aber ich vermute irgendwas im Netztwerk hat sich verklemmt... und wenn es die VLANS der Synology sind...
Hat jemand ne Idee was man noch probieren kann?~~HAT SICH ERLEDIGT -SWITCH REBOOTET, nun geht es - was fürn kack Fehler
-
Hallo zusammen, da ich im Netz auf einige weitere Registereinträge zum Batterielademanagement gestoßen bin.
Hiermit kann man per Modbus die maximale Lade und Entladeleistung der Batterie steuern.
Funktioniert bei mir einwandfrei mit dem SEK10 + LG Resu 10.
Hier die Dokumentation auf Seite 17+18 "Global StorEdge Control Block".
Wichtig sind hierbei folgende Einträge
63236 - Einstellung ob die Anlage selbst geregelt werden soll (auf 4 setzen) oder ob die fest eingestellten Werte im Wechselrichter genommen werden (auf 1)
63243 - Wert für den Timeout nachdem das System wieder auf den Defaultmode springt (Werte müssten somit regelmäßig geschrieben werden)
63246 - Ladeleistung
63248 - Entladeleistung_address name description unit type len factor offset formula role room poll wp cw isScale 40000 C_SunSpec_ID "Wert = ""SunS"" (0x53756e53). Identifiziert dies eindeutig als eine SunSpec Modbus-Karte" uint32be 2 1 0 value true false false false 40002 C_SunSpec_DID Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“ uint16be 1 1 0 value true false false false 40003 C_SunSpec_Länge 65 = Länge eines Blocks in 16-bit Registern uint16be 1 1 0 value true false false false 40004 C_Hersteller "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 1 0 value true false false false 40020 C_Modell Spezifischer SolarEdge Wert string 16 1 0 value true false false false 40044 C_Version Spezifischer SolarEdge Wert string 8 1 0 value true false false false 40052 C_Seriennummer Eindeutiger SolarEdge Wert string 16 1 0 value true false false false 40068 C_Geräteadresse Modbus-ID der entsprechenden Einheit uint16be 1 1 0 value true false false false 40069 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 value true false false false 40070 C_SunSpec_Länge 50 = Länge des Modellblocks Register uint16be 1 1 0 value true false false false 40071 I_AC_Strom AC-Gesamtstromwert A uint16be 1 1 0 value true false false false 40072 I_AC_StromA AC-Phase A (L1) Stromwert A uint16be 1 1 0 value true false false false 40073 I_AC_StromB AC-Phase B (L2) Stromwert A uint16be 1 1 0 value true false false false 40074 I_AC_StromC AC-Phase C (L3) Stromwert A uint16be 1 1 0 value true false false false 40075 I_AC_Strom_SF AC-Strom Skalierungsfaktor SF int16be 1 1 0 value true false false false 40076 I_AC_SpannungAB AC-Spannung Phase AB (L1-L2) Wert V uint16be 1 1 0 value true false false false 40077 I_AC_SpannungBC AC-Spannung Phase BC (L2-L3) Wert V uint16be 1 1 0 value true false false false 40078 I_AC_SpannungCA AC-Spannung Phase CA (L3-L1) Wert V uint16be 1 1 0 value true false false false 40079 I_AC_SpannungAN AC-Spannung Phase A-N (L1-N) Wert V uint16be 1 1 0 value true false false false 40080 I_AC_SpannungBN AC-Spannung Phase B-N (L2-N) Wert V uint16be 1 1 0 value true false false false 40081 I_AC_SpannungCN AC-Spannung Phase C-N (L3-N) Wert V uint16be 1 1 0 value true false false false 40082 I_AC_Spannung_SF AC-Spannung Skalierungsfaktor V int16be 1 1 0 value true false false false 40083 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10,sf['40084']) value true false false false 40084 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false false true 40085 I_AC_Frequenz Frequenzwert Hz uint16be 1 1 0 value true false false false 40086 I_AC_Frequenz_SF Frequenz Skalierungsfaktor int16be 1 1 0 value true false false false 40087 I_AC_VA Scheinleistung VA uint16be 1 1 0 value true false false false 40088 I_AC_VA_SF Scheinleistung Skalierungsfaktor SF int16be 1 1 0 value true false false false 40089 I_AC_VAR Blindleistung VAR uint16be 1 1 0 value true false false false 40090 I_AC_VAR_SF Blindleistung Skalierungsfaktor SF int16be 1 1 0 value true false false false 40091 I_AC_PF Leistungsfaktor % uint16be 1 1 0 value true false false false 40092 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor SF int16be 1 1 0 value true false false false 40093 I_AC_Energie_WH AC Gesamt-Energieproduktion Wh uint32be 2 1 0 value true false false false 40095 I_AC_Energie_WH_SF AC Gesamtenergie Skalierungsfaktor SF uint16be 1 1 0 value true false false false 40096 I_DC_Strom DC-Stromwert A uint16be 1 1 0 value true false false false 40097 I_DC_Strom_SF DC-Strom Skalierungsfaktor SF int16be 1 1 0 value true false false false 40098 I_DC_Spannung DC-Spannungswert V uint16be 1 1 0 value true false false false 40099 I_DC_Spannung_SF DC-Spannung Skalierungsfaktor SF int16be 1 1 0 value true false false false 40100 I_DC_Leistung DC-Leistungswert W uint16be 1 1 0 x * Math.pow(10,sf['40101']) value true false false false 40101 I_DC_Leistung_SF DC-Leistung Skalierungsfaktor SF int16be 1 1 0 value true false false true 40103 I_Temp_Kühler Kühlkörpertemperatur °C uint16be 1 1 0 x * Math.pow(10,sf['40106']) value true false false false 40106 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor SF int16be 1 1 0 value true false false true 40107 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 false 40108 I_Status_Anbieter Betriebszustand Anbieter (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 false 40123 C_Manufacturer Meter manufacturer string 32 1 0 value true false false false 40139 C_Model Meter model string 32 1 0 value true false false false 40155 C_Option Export + Import, Production, consumption string 16 1 0 value true false false false 40190 M_AC_Current AC Current (sum of active phases) A uint16be 1 1 0 value true false false false 40194 M_AC_Current_S F AC Current Scale Factor SF int16be 1 1 0 value true false false false 40206 M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 x * Math.pow(10,sf['40210']) value true false false false 40210 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 value true false false true 40226 M_Exported Total Exported Real Energy Wh uint32be 2 1 0 value true false false false 40234 M_Imported Total Imported Real Energy Wh uint32be 2 1 0 value true false false false 40242 M_Energy_W_SF Real Energy Scale Factor SF int16be 1 1 0 value true false false false 57664 Battery 1 Device ID Batterie Geräte ID uint16be 1 1 0 value true false false false 57666 Battery 1 Rated Energy Batterie Nennkapazität Wh floatsw 2 1 0 value true false false false 57668 Battery 1 Max Charge Continues Power Batterie maximale Ladeleistung W floatsw 2 1 0 value true false false false 57670 Battery 1 Max Discharge Continues Power Batterie maximale Entladeleistung W floatsw 2 1 0 value true false false false 57672 Battery 1 Max Charge Peak Power Batterie maximale Ladespitzenleistung W floatsw 2 1 0 value true false false false 57674 Battery 1 Max Discharge Peak Power Batterie maximale Entladespitzenleistung W floatsw 2 1 0 value true false false false 57708 Battery 1 Average Temperature Batterie Durchschnittstemperatur °C floatsw 2 1 0 value true false false false 57710 Battery 1 Max Temperature Batterie maximale Temperatur °C floatsw 2 1 0 value true false false false 57712 Battery 1 Instantaneous Voltage Batterie momentane Spannung V floatsw 2 1 0 value true false false false 57714 Battery 1 Instantaneous Current Batterie momentane Stromstärke A floatsw 2 1 0 value true false false false 57716 Battery 1 Instantaneous Power Batterie momentane Leistung W floatsw 2 1 0 value true false false false 57718 Battery 1 Lifetime Export Energy Counter Batterie Gesamtenergie entladen Wh uint64le 4 1 0 value true false false false 57722 Battery 1 Lifetime Import Energy Counter Batterie Gesamtenergie geladen Wh uint64le 4 1 0 value true false false false 57726 Battery 1 Max Energy Batteriekapazität aktualisiert nach Alterung Wh floatsw 2 1 0 value true false false false 57728 Battery 1 Available Energy Batterie verfügbare Energie Wh floatsw 2 1 0 value true false false false 57730 Battery 1 State of Health (SOH) Batterie Verhältnis von Nennkapazität zu Batteriekapazität nach Alterung % floatsw 2 1 0 value true false false false 57732 Battery 1 State of Energy (SOE) Batterie Ladezustand (verfügbare Energie zu mögliche Kapazität) % floatsw 2 1 0 value true false false false 57734 Battery 1 Status Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true false false false 63236 Storage Control Mode 0 – Disabled | 1 – Maximize Self Consumption | 2 – Time of Use (Profile programming) | 3 – Backup Only | 4 – Remote Control uint16be 1 1 0 value true false false false 63243 Remote Control Command Timeout sets the operating timeframe for the charge/discharge command sets in Remote Control s uint32be 2 1 0 value true false false false 63245 Remote Control Command Mode 0 – Off | 1 – Charge excess PV power | 2 – Charge from PV first | 3 – Charge from PV+AC according to the max battery power | 4 – Maximize export | 5 – Discharge to meet loads consumption | 7 – Maximize self-consumption uint16be 1 1 0 value true false false false 63246 Remote Control Charge Limit Sets the maximum charge limit. The default is the maximum battery charge power. W floatsw 2 1 0 value true false false false 63248 Remote Control Command Discharge Limit Sets the maximum discharge limit. The default is the maximum battery discharge power. W floatsw 2 1 0 value true false false false
-
@foradh-0 Danke für deine Daten. Ich habe diese bei mir im iobroker importiert, denn meine PV-Konfig entspricht ziemlich der deinen: SE10K + SE5000H + SESTI + LG RESU 10 + SE Energymeter. Mein Problem ist das ich die Daten der Batterie nicht bekomme: Hier ein Screenshot meiner Objekte nach dem Import deiner Liste.
und Adapter Konfig
Wo könnte das Problem liegen
-
@botto Wie ist denn der Firmwarestand und die Konfiguration von deinem SE10K. Hier mal meine Daten zum Vergleich.
-
@foradh-0 OK. habe gerade folgende Screenshots gemacht:
Erstmal mal vom SE10K (Sekundärgerät)
Jetzt vom Master SE5000H
Wenn ich beim SE5000H in die RS485-1 gehe sehe ich folgendes:
Interessanterweise ist die LG Batterie, so wie es aussieht, bei dir via CAN angeschlossen?!
Inbetriebnahme der LG Batterie bei mir lief so wie in diesem Video:
https://youtu.be/KvmZmRpFW4c?t=106Wo liegt der Hase im Pfeffer?
-
@botto sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Inbetriebnahme der LG Batterie bei mir lief so wie in diesem Video:
https://youtu.be/KvmZmRpFW4c?t=106Aber in diesem Video wird die Batterie doch ebenfalls via Can eingerichtet.
-
@foradh-0 Hallo nochmal...
Heute beim Abendbrot am mir der Geistesblitz und es konnte das Problem gelöst werden - ich bekomme nun alle Daten !!
Hintergrund der Problematik ist die Modbus-Verdrahtung des Ein-Phasenwechselrichers (s. Bild): Nur dieser hat die Info vom Modbus #1 und somit auch vom (Energymeter + LG Batterie). Bisher hatte ich nur den einen WR am LAN angeschlossen - dachte es reicht so aber denkste....
Quelle: Solaredge Anleitung xy, s. Seite 11
Lösung: Zweite Instanz des modbus Adapters anlegen und auf die (LAN) IP des zweiten Wechselrichters konfigurieren.
Im Prinzip ganz logisch wenn man sich den physikalischen Aufbau anschaut.
Vielen vielen Dank für deine Mühe .
P. S. CAN nutze ich gar nicht. Mein angeführtes Video passte somit nicht ganz.
-
@botto Fehlt da nicht dann die Modbus Verbindung zwischen beiden Wechselrichtern? Sonst bekommst du ja keien Daten vom 3phasigen... oder hattest du nur den falschen als Master ausgewählt? wenn ich das richtig verstanden habe sollte der Master Alle daten haben... ? Sonst fehlt dir ja auch die aktuelle Produktion z.B.
-
@boardy Moin Boardy.
Die Komponenten sind nun bei mir nach dem Muster oben verdrahtet. Somit ist der Master (SE5000H) mit dem SE10K über Modbus #2 verbunden. Beim SE10K geht der ebenfalls auf die Klemmen von #2; #1 ist beim SE10K nicht belegt.
Der SE5000H bekommt also auch Daten von diesem, als Slave bzw. Sekundärgerät konfiguriertem, Modbus Teilnehmer. Abfragen muss ich aktuell aber anscheinend beide WR, denn ich bekomme am SE5000H nicht alle Daten vom WR-SE10K und umgekehrt.
Ich Nutze bei beiden Modbus Instanzen (für die ersten Tests) den von @Foradh-0 geposteten Export.
Die VISU von SE in der App und im Onlineportal passen - es wird alles korrekt angezeigt, daher gehe ich davon aus das die Kommunikation generell passt. -
Hallo,
danke für die Anleitung, sie war ein guter Grundstein.
Ich bin jetzt an dem Punkt, dass die Daten in iobroker gelesen werden.
Im Gegensatz zur ürsprünglichen Anleitung kann man die Werte alle direkt in der modbus Konfiguration umrechnen lassen ohne extra Schritte per Skripte.
Mein aktuelles Setup:
iobroker v5.3.4
modbus 3.4.17
Solaredge SE10k 0004.0014.0228Meine Adressen sind zur basis 1, wenn eure zur Basis 0 sind, müssen die Adressen um 1 verringert werden. Also aus 40003 würde 40002.
_address name description unit type len factor offset formula role room poll wp cw isScale 40001 C_SunSpec_ID "Wert = ""SunS"" (0x53756e53). Identifiziert dies eindeutig als eine SunSpec Modbus-Karte" uint32be 2 1 0 true false false false 40003 C_SunSpec_DID Wert = 0x0001. Identifiziert dies eindeutig als einen SunSpec “Common Block“ uint16be 1 1 0 true false false false 40004 C_SunSpec_Länge 65 = Länge eines Blocks in 16-bit Registern uint16be 1 1 0 true false false false 40005 C_Hersteller "Bei SunSpec eingetragener Wert = ""SolarEdge""" string 16 1 0 true false false false 40021 C_Modell Spezifischer SolarEdge Wert string 16 1 0 true false false false 40045 C_Version Spezifischer SolarEdge Wert string 8 1 0 true false false false 40053 C_Seriennummer Eindeutiger SolarEdge Wert string 16 1 0 true false false false 40069 C_DeviceAddress MODBUS Unit ID uint16be 1 1 0 true false false false 40069 C_SunSpec_DID 101 = Einphasig, 102 = Spaltphase, 103 = Dreiphasig uint16be 1 1 0 true false false false 40072 I_AC_Strom AC-Gesamtstromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40073 I_AC_StromA AC-Phase A (L1) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40074 I_AC_StromB AC-Phase B (L2) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40075 I_AC_StromC AC-Phase C (L3) Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40076']) true false false false 40076 I_AC_Strom_SF AC-Strom Skalierungsfaktor SF int16be 1 1 0 true false false true 40084 I_AC_Leistung AC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40085']) true false false false 40085 I_AC_Leistung_SF AC-Leistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40088 I_AC_VA Scheinleistung VA uint16be 1 1 0 x * Math.pow(10, sf['40089']) true false false false 40089 I_AC_VA_SF Scheinleistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40090 I_AC_VAR Blindleistung VAR uint16be 1 1 0 x * Math.pow(10, sf['40091']) true false false false 40091 I_AC_VAR_SF Blindleistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40092 I_AC_PF Leistungsfaktor % uint16be 1 1 0 x * Math.pow(10, sf['40093']) true false false false 40093 I_AC_PF_SF Leistungsfaktor Skalierungsfaktor SF int16be 1 1 0 true false false true 40094 I_AC_Energie_WH AC Gesamt-Energieproduktion kWh uint32be 2 1 0 x * Math.pow(10, sf['40096'] - 3) true false false false 40096 I_AC_Energie_WH_SF AC Gesamtenergie Skalierungsfaktor SF uint16be 1 1 0 true false false true 40097 I_DC_Strom DC-Stromwert A uint16be 1 1 0 x * Math.pow(10, sf['40098']) true false false false 40098 I_DC_Strom_SF DC-Strom Skalierungsfaktor SF int16be 1 1 0 true false false true 40099 I_DC_Spannung DC-Spannungswert V uint16be 1 1 0 x * Math.pow(10, sf['40100']) true false false false 40100 I_DC_Spannung_SF DC-Spannung Skalierungsfaktor SF int16be 1 1 0 true false false true 40101 I_DC_Leistung DC-Leistungswert W uint16be 1 1 0 x * Math.pow(10, sf['40102']) true false false false 40102 I_DC_Leistung_SF DC-Leistung Skalierungsfaktor SF int16be 1 1 0 true false false true 40104 I_Temp_Kühler Kühlkörpertemperatur °C uint16be 1 1 0 x * Math.pow(10, sf['40107']) true false false false 40107 I_Temp_SF Kühlkörpertemperatur Skalierungsfaktor SF int16be 1 1 0 true false false true 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 true false 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 true false false false 40124 C_Manufacturer Meter manufacturer string 32 1 0 true false false false 40140 C_Model Meter model string 32 1 0 true false false false 40156 C_Option Export + Import, Production, consumption string 16 1 0 true false false false 40191 M_AC_Current AC Current (sum of active phases) A uint16be 1 1 0 x * Math.pow(10, sf['40195']) true false false false 40195 M_AC_Current_S F AC Current Scale Factor SF int16be 1 1 0 true false false true 40207 M_AC_Power Total Real Power (sum of active phases) W int16be 1 1 0 x * Math.pow(10, sf['40211']) true false false false 40211 M_AC_Power_SF AC Real Power Scale Factor SF int16be 1 1 0 true false false true 40227 M_Exported Total Exported Real Energy kWh uint32be 2 1 0 x * Math.pow(10, sf['40243'] - 3) true false false false 40235 M_Imported Total Imported Real Energy kWh uint32be 2 1 0 x * Math.pow(10, sf['40243'] - 3) true false false false 40243 M_Energy_W_SF Real Energy Scale Factor SF int16be 1 1 0 true false false true
Beste Grüße,
Joachim -
Ich habe nochmal eine Frage an die Experten:
- Ich berechnet mir jede Sekunde den internen Status, ob der Speicher geladen wird oder nicht - das funktioniert soweit.
- Nun möchte ich mir diesen internen Status gerne in einen Datunpunkt ausgeben lassen - aber nur dann, wenn der Status sich ändert (damit nicht ständig der Datenpunkt aktualisiert wird) - das funktioniert mit der unten angegeben Logik leider nicht.
Habt Ihr eine Idee, was ich falsch mache bzw. wie ich es ändern müsste, damit der Datenpunkt nur dann geschrieben wird, wenn sich der Status von wahr / falsch ändert?
Besten Dank!
-
internen Status, ob der Speicher geladen wird oder nicht
Dafür gibt es doch dieses Register !?
57734 Battery 1 Status Batterie Zustand (0 = Aus, 1 = Standby, 2 = Initialisierung, 3 = Laden, 4 = Entladen, 5 = Fehler, 6 = Leerlauf) uint32sw 2 1 0 value true false false false
-
@glasfaser sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Dafür gibt es doch dieses Register !?
Korrekt - vielleicht war mein Beispiel schlecht gewählt - diesen Status gibt es schon.
Mir geht es generell darum, wie man einen Status, der jede Sekunde via Variable berechnet wird, nur dann ausgibt und in einen Datenpunkt schreibt, wenn er den Zustand ändert?
-
@strobi sagte in [Tutorial] SolarEdge -> Modbus -> ioBroker -> Grafana:
Mir geht es generell darum, wie man einen Status, der jede Sekunde via Variable berechnet wird, nur dann ausgibt und in einen Datenpunkt schreibt, wenn er den Zustand ändert?
ich weiß nicht was du mit berechnetem Status und dessen Zustand meinst.
aber üblicherweise kann man einen Wert in eine Variable schreiben und nach der erneuten Berechnung das Ergebnis mit dieser Variable vergleichen.
Nur wenn das unterschiedlich ist, wird dann geschrieben. -
Ich muss hier noch einmal das Thema des "Hausverbrauchs" aufgreifen.
Bei mir wir generell zu wenig Hausverbrauch angezeigt (Berechnung Hausverbrauch=I-AC_Power - M_AC_Power).
Die Werte für die Hausverbrauchsleistung stimmen mit denen im SE-Portal überein.
Mit steigender Moduleingangsleistung am Wechselrichter steigt auch meine Hausverbrauchsleistung obwohl die Lasten im Haus konstant sind.
Das kann doch nicht richtig sein?
Das Ganze ist auch 1:1 im SE-Monitoring Portal zu beobachten.Hat dieses Problem auch noch jemand beobachtet und vielleicht einen Tipp für mich?
Geprüft habe ich auch schon die Einbaurichtung der Stromwandler, da ich hier den Fehler vermutete. Aber Nachts, wenn keine Einspeisung vorliegt, sind richtigerweise die Leistungswerte auf allen drei Phasen negativ (Bezug) und der Bezug stimmt auch der Hausverbrauchsleistung überein.
Ich hatte auch schon gelesen, dass der WR die ID=1 haben muss. Bei mir hat er die ID=3. Kann das eventuell die Berechnung der Hausverbrauchsleistung beeinflussen?