NEWS
Bedeutung Codes Running States Sungrow Wechselrichter
-
Hallo, hab mehr oder weniger erfolgreich den 8 KW Hybrid-Wechselrichter von Sungrow (HV SH8.0RT 8Kw Hybrid) mittels Modbus-Adapter in Iobroker eingebunden. Die meisten Datenpunkte sind klar, jedoch die Codes im Datenpunkt "modbus.0.inputRegisters.13000_Running_State" sagen mir nichts. Ich vermute daraus läßt sich ableiten, wie die jeweiligen Energieflüsse gerade sind. Es tauchen Werte auf von 12,13,29,40,41,43,44,45. Kennt jemand die genauen Bedeutungen?
Gruß, Helmut
-
@helmut1963
Das ist ein 8bit Register und steht im Communication Protokoll welches Bit wofür ist.
Spätestens wenn du für den Speicher wissen willst ob gespeichert oder geladen wird brauchst du dasAppendix 1.2 Running state
Running state(Power flow)
Bit0 PV power
Bit0 == 0 No power generated from PV
Bit0 == 1 Power generated from PV
Bit1
Battery
charging
Bit1 == 0 Not charging
Bit1 == 1 Charging
Bit2 Battery Bit2 == 0 Not discharging
discharging Bit2 == 1 Discharging
Bit3
Positive load
power
Bit3 == 0 Load is reactive
Bit3 == 1 Load is active
Bit4
Feed-in
power
Bit4 == 0 No power feed-in the grid
Bit4 == 1 Power feed-in the grid
Bit5
Import Power
from grid
Bit5 == 0 No power imported from the
grid
Bit5 == 1 Importing power from grid
Bit6 Reserved Bit6
Bit7
(Refitting
System)
Negative load
power
Bit7 == 0 No power generated from
“Load”
Bit7== 1 Power generated
from“Load” -
-
@tiedi Geht es da vielleicht nach dem Binärensystem?
12 = Bit0=0 Bit1=0 Bit2=1 Bit3=1
Bit_____7654 3210
Wert__0000 110040:____0010 1000
-
-
Hi,
ich greife das Thema nochmal auf, da ich von dieser Art von Programmieren und Zahlen jonglieren absolut nichts verstehe.
Hat jemand eine Funktion geschrieben in der man diese Fehlercodes abfragen kann?
Oder vielleicht ein einfache Zuordnung durch Textzuweisung nach Fehlercode?In dem verlinkten Thread verstehe ich ebenfalls nur Bahnhof
Ich habe mal die Beschreibung von Sungrow extrahiert und angehängt.
Sungrow WR Fehlercodes.pdf -
Ich habe die Zuweisung für den System Status jetzt erst einmal fest umgesetzt.
async function StatiZuweisen() { SystemStatus = getState("modbus.0.inputRegisters.12999_System_State").val; Betriebsstatus = getState("modbus.0.inputRegisters.13000_Running_State").val; strSystemStatus = ('' + SystemStatus); strBetriebsStatus = ('' + Betriebsstatus); // Systemstatus if (strSystemStatus == '0') { strSystemStatus = 'OK'; } else if (strSystemStatus == '2') { strSystemStatus = 'Stop'; } else if (strSystemStatus == '8') { strSystemStatus = 'StdBy'; } else if (strSystemStatus == '16') { strSystemStatus = 'Initial StdBy'; } else if (strSystemStatus == '32') { strSystemStatus = 'Startup'; } else if (strSystemStatus == '64') { strSystemStatus = 'Running'; } else if (strSystemStatus == '256') { strSystemStatus = 'Fault'; } else if (strSystemStatus == '1024') { strSystemStatus = 'Maintain mode'; } else if (strSystemStatus == '2048') { strSystemStatus = 'Forced mode'; } else if (strSystemStatus == '4096') { strSystemStatus = 'Off-Grid mode'; } else if (strSystemStatus == '9473') { strSystemStatus = 'Restarting'; } else if (strSystemStatus == '16384') { strSystemStatus = 'Ext. EMS mode'; } else { strSystemStatus = 'unbekannt'; } // Betriebsstatus if (strBetriebsStatus == '0') { strBetriebsStatus = 'OK'; } else { strBetriebsStatus = 'unbekannt'; } console.warn((['### Wechselrichter Meldung: Systemstatus: ',SystemStatus,' - ',strSystemStatus,' - ','Betriebsstatus: ',Betriebsstatus,' - ',strBetriebsStatus].join(''))); }
Der Bereich für den Betriebsstatus ist allerdings noch offen.
Hier verstehe ich die Dokumentation leider überhaupt nicht.