Solar EPEVER EPSOLAR u.ä. [98_ModbusEPEVER] [98_ModbusUPOWER] [98_ModbusIPOWER]

Begonnen von laserrichi, 09 Juni 2020, 20:05:50

Vorheriges Thema - Nächstes Thema

laserrichi

Ok wie das mit USB dann aussieht weis ich nicht, jedenfalls mit TCP IP zu meinen ESPEasy sieht das so aus wie auf dem Bild.

Ich finde das dann unter TCP payload
Aber diese hex Zahlen solltest du auch finden, das ist das erste was die Software abfragt:
03 04 32 02 00 01 9f 50

03 = ModbusID 04 = Function Code (read)  32 02 = Adresse (Inverter Status)  00 01 = Anzahl Adressen (eine) 9f 50 = CRC

Danach wird die Software vermultich die restlichen abfragen.

Für die Spannung sollte lt Doku das so aussehen

03 04 31 08 00 01
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

Knuffioda

Sooo, ich hab mal einige Pakete abgefangen.

Erstmal die schlechte Nachricht:
Auch die EPEVER Software sieht am Eingang kein DC Strom und Leistung! Das ist erstmal etwas schwach.

Die Gute:
Ich habe das Beispielpaket 03 04 32 02 00 01 9f 50 in Frame 58 gefunden! Jippie

Die anderen Pakete hab ich dann auch gefunden, die werden mit FUnktionscode 43 ausgelesen...
das muss man aber auch erst wissen.

die Adresse 31 09 (Eingangsstrom) sowie 31 0A und 31 0B kann ich im gesamten Mitschnitt nicht finden...

Wie finde ich denn das passende Paket, welches als Antwort auf eine Gesendetes kommt?
ist das das Nächstfolgene was eingeht?
Debian Stretch mit FHEM auf
Intel(R) Atom(TM) CPU N280 @ 1.66GHz 3GB Ram
MapleCUN mit HM,MAX,IT, Dreambox DM900, Fritzbox 7580, 5x Logo8 & 1xKTP400, Resol Deltasol MX+2 EM an VBUS_LAN, 2x EPever AN & 4x Pylontech US2000c RS485

laserrichi

Ok dann liefert der Inverter diese Daten einfach nicht. Denn die Abfragen werden ja angenommen und nicht abgewiesen wie es scheint.

Function Code 43 hast du dich vermutlich verlesen  wie ich das in deinem 2 Bild sehe:  03 04 32 02   :-)   03 Modbus ID  04 Function Code, und wenn da was anderes steht, es gibt auch codes die z.b. für Firmwarestand usw. sind... die können wir so nicht auslesen.

Die Antwort kommt normal immer direkt nach der Anfrage.

Auf das obige bezogen sollte dann folgendes kommen:

03 04 02 (2 byte)  xx xx (die 2 bytes mit den werten) und xx xx CRC

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

Knuffioda

Hmm so langsam komm ich dahinter wie das funktioniert...
hab gerade via Cutecom den Bus direkt angequatscht..,. und man glaubt es kaum, das geht echt!
Das Ding antwortet sogar auf den function Code 43, genau wie bei code 03.

Aber die Antwort verstehe ich gerade noch nicht wirklich, wenn ich das über Wireshark auslese.
Manuell über das Terminal ist das kein problem...



Debian Stretch mit FHEM auf
Intel(R) Atom(TM) CPU N280 @ 1.66GHz 3GB Ram
MapleCUN mit HM,MAX,IT, Dreambox DM900, Fritzbox 7580, 5x Logo8 & 1xKTP400, Resol Deltasol MX+2 EM an VBUS_LAN, 2x EPever AN & 4x Pylontech US2000c RS485

laserrichi

Function Codes die implementiert sind sind: holding registers, input registers, coils or discrete inputs

Also im prinzip ist ja alles was man von dem Inverter bekommen kann dann auch jetzt hier drin.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

fritzhugo123

Hallo zusammen,

ich habe mich auch mal an dem Modul probiert.
Es funktioniert teilweise, aber leider noch nicht stabil.

Zum einen wird mein Logfile mit folgender Meldung voll geschrieben:

2021.09.02 15:23:26 3: Solarregler1: read got new data while idle, drop buffer bfffbfffffffffffffbf

Zum anderen erhalte ich Fehler, wenn ich Werte abfragen oder ändern will, also get bzw. set

Der Fehler lautet: Error Code bf / oder Error Code ff /

fritzhugo123

Wenn ich richtig recherchiert habe, dann könnten die Fehler an einem nicht aktuellen Modbus Modul liegen.

Ich habe nun allerdings ein bißchen umgebaut. Der Laderegler ist jetzt nicht mehr per Socat an den Master Pi verlängert, sondern ich habe ein eigenes Fhem auf dem Slave Pi installiert und lasse das Epever Modul dort laufen. Das scheint zu funktionieren. Ich bekomme alle Werte und lasse sie in Graphen darstellen.
Auch funktionieren die Gets und Sets.

Jetzt ergeben sich neue Fragen:

1) Wie bekomme ich nun die Werte von dem Slave Pi zu dem Master Pi? Bisher kenne ich nur Fhem2Fhem, habe nun aber auch ein Fhemsync gefunden, das eventuell geeignet ist.
2) Ich habe nicht nur einen Laderegler von Epever, sondern zwei. Wie schliesse ich den zweiten nun am besten an? Parallel direkt an den RS485 Adapter? Oder brauche ich einen zweiten RS485 Adapter und belege damit dann zwei USB Ports? Wie unterscheidet das EPever Modul zwischen den Ladereglern? Anhand einer ID?

Gruß, Matthias

laserrichi

Zitat von: fritzhugo123 am 03 September 2021, 14:55:06

1) Wie bekomme ich nun die Werte von dem Slave Pi zu dem Master Pi? Bisher kenne ich nur Fhem2Fhem, habe nun aber auch ein Fhemsync gefunden, das eventuell geeignet ist.
2) Ich habe nicht nur einen Laderegler von Epever, sondern zwei. Wie schliesse ich den zweiten nun am besten an? Parallel direkt an den RS485 Adapter? Oder brauche ich einen zweiten RS485 Adapter und belege damit dann zwei USB Ports? Wie unterscheidet das EPever Modul zwischen den Ladereglern? Anhand einer ID?

Gruß, Matthias

Hallo Matthias, also wie das mit slave usw funktioniert kann ich dir leider nicht sagen, habe so etwas nicht im Einsatz.

Wenn du 2 Laderegler hast, dann stellst du bei dem einen eine andere Modbus ID ein. Das setzen der Modbus ID musst du allerdings mit der epever Software machen, das geht mit dem Modul nicht.
Pyhsikalisch kannst du die Parallel an dem RS485 Adapter hängen.
Wenn beide auf gleicher ID hören gibt es Datensalat :-) Also sollte das vorher geändert werden.

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

fritzhugo123

Ich habe es nun mit Fhem2Fhem gelöst, für die reine Verlängerung des seriellen Anschlusses ist ein Raspberry aber vielleicht zu viel des Guten.

Kannst du mir etwas mehr über deine ESP mit Wlan Lösung sagen? Hast du das selber gebaut oder gibt es da etwas fertiges?
Würdest du deine Lösung auch jemand anderem anbieten?

Ok, die Einstellung für das Setzen der ID habe ich in der Software gefunden und werde ich ausprobieren.

laserrichi

Zitat von: fritzhugo123 am 06 September 2021, 20:27:06
Kannst du mir etwas mehr über deine ESP mit Wlan Lösung sagen? Hast du das selber gebaut oder gibt es da etwas fertiges?
Würdest du deine Lösung auch jemand anderem anbieten?

Hallo Martin,
also ich habe einen ESP8266 (in meinen Fall Wemos D1 mini mit externen Antennenanschluß, gibt auch NodeMCU u.a.) , auf diesen läuft ESPeasy Software.
In der ESPEasy einfach den Serial Server eingerichtet und an den RX TX Pins einen Signal TTL To RS485 Converter wie sie auf ebay zu finden sind verwendet. Keine große sache. Nur ein paar Drähte löten, Software aufspielen mit USB auf den ESP, ins Wlan einbinden und fertig.
ESPEasy ist dann im Prinzip über wlan eine serielle Schnittstelle.
Es gibt auch diese ebox-wifi-01 von epever, allerdings hatte ich da am Anfang keine Verbindung ins Heimnetz, das hatten die mal aus der Firmware raus, je nachdem welche Firmware drauf ist geht es. Hat aber keinen externen Wlan Antennenanschluss.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

kurt6908

Hallo laserrichi,

jetzt bei kühlerend Abend komme ich mal wieder dazu, mich mit FHEM zu beschäftigen.

Ich benutze ja die 98_ModbusUPOWER.pm seit der ersten Version, bis jetzt ohne Probleme. Ich habe mir nun die neue Version installiert und beobachte.

Folgendes habe ich in der Zwischenzeit auch bei der alten Version herausgefunden:

'PvChrgStat'
'map' => '0:Fehler, 1:Ladestopp, 3:NotKnow, 5:Ladeerhaltung, 9:Boostladung, 7:Equalizing, 13:PV-Spannungsfehler, 513:Input over current,',


Heute ist hier erstmalig der Code 19 vorgekommen, da finde ich aber keinen Wert dazu. Weißt Du vielleicht was die 19 hier bedeuten könnte?

Viele Grüße

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

laserrichi

du hast die version die ich im ersten Beitrag jetzt habe verwendet ?

Da gibt es das maping nicht mehr hab die Bit auswertung in sub routine verlegt.

die 19 sagt mir nichts, das wäre dann ja Bit4 das an ist, D4 steht aber in der Doku nicht beschrieben.
Wäre interessant welche anderen Parameter /werte zu dem Zeitpunkt waren wo das aufgetreten ist.

D15~D14 Input voltage state。00 Input voltage normal,01 no access02H Input voltage high,03H Input voltage error
D13: Charging MOSFET is short circuit.
D12: Charging or Anti-reverse MOSFET is open circuit.
D11: Anti-reverse MOSFET is short circuit.
D10: Input is over current.
D1: 0 Normal,1 error
D3~D2charging state 00H No charging,01H Float,02H Boost, 03HEqualizationThe state of cut-in or cut-out determines whether to cut-in or cut-outaccording to the input power of the array. (0 is cut-out)


in einer Doku von anderen Geräten des Herstellers gibts das wohl.
D4: PV input is short circuit.

Hattest du zu dem Zeitpunkt Spannung von den Pannels ?
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

kurt6908

Hallo laserrichi,

hier die Werteänderung zum Zeitpunt des Status 19:

2021-10-05_11:37:12 Garage_Inverter ElectricChrgOutVolt: 28.59 V
2021-10-05_11:37:13 Garage_Inverter PvInVolt: 39.03 V
2021-10-05_11:37:13 Garage_Inverter PvInCurrent: 0 A
2021-10-05_11:37:13 Garage_Inverter PvInPower: 0 W
2021-10-05_11:37:13 Garage_Inverter PvOutVolt: 28.44 V
2021-10-05_11:37:13 Garage_Inverter PvOutCurrent: 0 A
2021-10-05_11:37:13 Garage_Inverter PvOutPower: 0 W
2021-10-05_11:37:13 Garage_Inverter PvAggChrg: 76.26 kWh
2021-10-05_11:37:13 Garage_Inverter PvChrgStat: 19
2021-10-05_11:37:13 Garage_Inverter InverterInVolt: 28.44 V
2021-10-05_11:37:13 Garage_Inverter InverterOutVolt: 230.91 V
2021-10-05_11:37:14 Garage_Inverter BatteryVoltage: 28.44 V
2021-10-05_11:37:14 Garage_Inverter BatteryTemp: 15.53 °C
2021-10-05_11:37:14 Garage_Inverter BatterySOC: 100 %


Seit Einsatz der neuen Version von der ersten Seite ist der Status 19 bisher nicht mehr aufgetreten.

Gruß

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger

laserrichi

Hallo Kurt,

d.h. zu dem Zeitpunkt war auch keine Last dran, Eingangsspannung war da usw.

Der Status 19 wird mit der neuen version nicht mehr kommen, da ich das Register zerlege und die einzelnen Bits auswerte.
Das Bit4 werte ich auch nicht aus.
Was sich dahinter verbirgt weis wohl nur der Hersteller.
PV input is short circuit scheint es wohl nicht zu sein, denn es liegt ja eine Spannung an.

Theoretisch kann ich das noch mit einbauen das man das sieht wenn es wieder auftritt. Aber ob das sinn macht wenn alles soweit funktioniert ist fraglich.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

kurt6908

Hallo laserrichi,

dann lass mal. Ich sehe es ja im SVG, wenn mal wieder ein "komischer" Wert auftauchen sollte und würde mich dann wieder melden.

Ansonsten funzt das neue Modul bis jetzt einwandfrei.

Vielen Dank dafür.

Wenn jetzt noch mein neuer PlugIn mal kommen würde, dann könnte ich die Steuerung noch mehr ausnutzen ;=)

Viele Grüße

Kurt
3* Raspberry Pi (2 über LTE/VPN), 5* Cul, 3* FS20, 4* FHT, 6* HM, Somfy, Solarlog, WMBus/EnergyCam, AVM FritzBox, 3* AVM Powerline, Alexa, Tasmota/MQTT, Rademacher DuoFern, EPEver HiPower/ModBus, go-eCharger