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

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

Vorheriges Thema - Nächstes Thema

kurt6908

#45
Hallo laserichi,

ich hätte für das 98_ModbusUPOWER mal folgende Korrekturen herausgefunden:

PvChrgStat:
1:Lädt nicht, 3: NotKnow, 5:Ladeerhaltung, 9:Boostladung, 7:Equalizing, 513:Input over current,'
=> Korrektur von 5 und 9

BatterySOC:
$val="$val %"
=> Angabe in %

Die anderen aktuell angezeigten Werte passen zur Anzeige am Display bzw. der Windows-Software. Andere Status bzw. Fehler hatte ich noch nicht.

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

ich habe jetzt angefangen die Module umzubauen.

Es gibt Readings bei denen Einzelne Bits entscheidend sind. Das ist z.b. der Status vom Gerät, Batterie, Last  usw.

Aufgrund von mehreren gleichzeitig möglichen Zuständen ist es mit map schwierig das alles abzubilden.
Es kann immer zu Zuständen kommen die nicht gemapt werden und dann steht im Status einfach die Zahl als solche.

Ich würde jetzt diese Readings entsprechend mit den Texten befüllen:
Bsp:
BattStatus              Battvolt:Undervoltage Temp:Normal
SolarladerStatus     Boostladung Running Status:Normal Input:Normal

Das noch auf weitere Readings ausdehnen würde ich nicht, sind ja jetzt schon weit über 70 und es wird nur noch unübersichtlicher, zumal die zusamenhänge dann auch so gegeben sind.

Da so manche dinge sich in Englisch oder auch Deutsch nach meiner Meinung nicht befriedigend abbilden lassen, habe ich eine Mischung drin.

Was meint ihr dazu ?  Wünsche Anregungen ?
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

laserrichi

Ok, nachdem kein Feedback gekommen ist habe ich die beiden Module im ersten Beitrag angehängt so wie sie aktuell sind.

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

VC45

Hallo laserrichi,

super das du das Modul aktualisierst!
Werde das die nächsten Tage ma testen.

Grundsätzlich funktioniert das "alte" Modul sehr gut bei mir.
Bei umbauarbeite ist mir nur aufgefallen, dasses Log ein wenig vollgemüllt wird mit "...read buffer empty..." wenn mein esp-link nicht online ist.
Vielleicht ist es möglich die Zugriffe zu unterbinden wenn der state nicht auf "opened" steht.

MfG
vc45

laserrichi

@VC45

du solltest dann verbose runtersetzen.
Ich habe bei mir verbose 0 da ich nur die readings die ich benötige in ein extra log laufen lasse.



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

Hallo laserrichi,

sehr schönes Modul für EPEVER Geräte hast Du gebaut.
Das ModbusEPEVER ist schonmal klasse. Das UPOWER hab ich eben ausprobieren wollen, das will noch nicht so ganz.


syntax error at ./FHEM/98_ModbusUPOWER.pm line 85, near "'name'"
syntax error at ./FHEM/98_ModbusUPOWER.pm line 363, near "){"
Global symbol "$InpOverCurrent" requires explicit package name (did you forget to declare "my $InpOverCurrent"?) at ./FHEM/98_ModbusUPOWER.pm line 364.
Global symbol "$pa" requires explicit package name (did you forget to declare "my $pa"?) at ./FHEM/98_ModbusUPOWER.pm line 364.
Global symbol "$RevMos" requires explicit package name (did you forget to declare "my $RevMos"?) at ./FHEM/98_ModbusUPOWER.pm line 365.
Global symbol "$pa" requires explicit package name (did you forget to declare "my $pa"?) at ./FHEM/98_ModbusUPOWER.pm line 365.
Global symbol "$ChrRevMos" requires explicit package name (did you forget to declare "my $ChrRevMos"?) at ./FHEM/98_ModbusUPOWER.pm line 366.
Global symbol "$pa" requires explicit package name (did you forget to declare "my $pa"?) at ./FHEM/98_ModbusUPOWER.pm line 366.
Global symbol "$ChrMos" requires explicit package name (did you forget to declare "my $ChrMos"?) at ./FHEM/98_ModbusUPOWER.pm line 367.
Global symbol "$pa" requires explicit package name (did you forget to declare "my $pa"?) at ./FHEM/98_ModbusUPOWER.pm line 367.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 368.
Global symbol "$pa" requires explicit package name (did you forget to declare "my $pa"?) at ./FHEM/98_ModbusUPOWER.pm line 368.
Global symbol "$pa" requires explicit package name (did you forget to declare "my $pa"?) at ./FHEM/98_ModbusUPOWER.pm line 368.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 369.
Global symbol "$ChrStatus" requires explicit package name (did you forget to declare "my $ChrStatus"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
Global symbol "$Running" requires explicit package name (did you forget to declare "my $Running"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
Global symbol "$InputVolt" requires explicit package name (did you forget to declare "my $InputVolt"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
Global symbol "$InpOverCurrent" requires explicit package name (did you forget to declare "my $InpOverCurrent"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
Global symbol "$RevMos" requires explicit package name (did you forget to declare "my $RevMos"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
Global symbol "$ChrRevMos" requires explicit package name (did you forget to declare "my $ChrRevMos"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
Global symbol "$ChrMos" requires explicit package name (did you forget to declare "my $ChrMos"?) at ./FHEM/98_ModbusUPOWER.pm line 372.
syntax error at ./FHEM/98_ModbusUPOWER.pm line 373, near "}"
./FHEM/98_ModbusUPOWER.pm has too many errors.


Das hatte ich mal an meinem IPower versucht, aber das Modul will bei mir noch gar nicht rennen.

Im Anhang hab ich noch das Protokoll von dem IPOWER angehangen, das hatte ich mal bei EPEVER angefragt.
Hab aber noch keine Ahnung, das für meine Zwecke zu verwenden...

Gruß

Olaf

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 Danke für das Testen, habe Fehler gefunden... bzw. mehrere sogar,  ; anstatt ein ,   :-) und dann noch mit paste copy sich ominös vermehrte....

Habe es im 1 Beitrag mal upgedated

der IPOWER ist quasi nur ein Wechselrichter wenn ich das verstehe ?
Das geht mit beiden Modulen dann nicht, hat auch relativ wenig Abfragen, aber ich kann Dir da ein Modul auch daraus basteln.
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

laserrichi

teste das mal für deinen IPOWER

da ist bei dem Inverter Status  in der Doku das bit1  abgeschnitten, k.a. was das bedeutet, ich habe da den Status als Text mal mit  Bit1 Ein  oder Aus  versehen, kannst ja mal schauen was das tut.

Bei den setzbaren Werten für DC Disconnect reconnect usw. musst du mal schauen ob das so passt:  setzen mit z.b. 11.2  sollte gehen.
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

juchuh,

wie geil ist das denn?
Rennt auf Anhieb! Besten Dank. Vielleicht kann´s noch der Eine oder Andere auch noch gebrauchen.
Ja, das ist nur ein Stand-Alone Inverter, bringt die 2000 Watt aber satt! :-)


Olaf
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

Gerne doch :-)

Aber sehe gerade InputCurrent und Power hat 0... das sollte so wie ich das verstehe eigentlich der Strom und Leistung sein was aus Batterie kommt.

Du hast 50V ... respekt...
Eigentlich sollten ja auch die anderen Register 0x9030 - 0x9033  bei denen man die Spannungen setzen kann auch erscheinen.

Schau mal im Log ob da irgendwas zu finden ist das die Adressen nicht gelesen werden.
Die Modbus Doku war jetzt auch nicht sehr üppig
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

Also, ich hoffe das ist ein kompletter Durchgang:

2021.08.04 21:14:14 4 : IPOWER: GetUpdate (V4.4.02 - 31.3.2021) called from Fhem internal timer
2021.08.04 21:14:14 4 : IPOWER: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 30.0 sec at 21:14:44.781, interval 30
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList full object list: c11 c15 h2352 h2353 h2354 h2355 i12552 i12553 i12554 i12556 i12557 i12558 i12561 i12562 i12802
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request c11 len 1 RemoteLocalControl
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request c15 len 1 StartStop
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request h2352 len 1 LowVoltDisconnect
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request h2353 len 1 LowVoltReconnect
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request h2354 len 1 HighVoltReconnect
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request h2355 len 1 HighVoltDisconnect
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12552 len 1 InputVolt
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12553 len 1 InputCurrent
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12554 len 2 InputPower
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12556 len 1 OutputVoltage
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12557 len 1 OutputCurrent
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12558 len 2 OutputPower
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12561 len 1 InverterTemp
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12562 len 1 MosfetTemp
2021.08.04 21:14:14 5 : IPOWER: CreateUpdateList will request i12802 len 1 InverterState
2021.08.04 21:14:14 4 : IPOWER: CombineUpdateHash objHash keys before combine: i12556,h2352,i12557,i12558,c11,i12554,h2355,i12562,i12561,i12553,i12552,c15,i12802,h2353,h2354
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash tries to combine read commands
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash cant combine c11 len 1 RemoteLocalControl with c15 len 1 StartStop, span 5 would be bigger than max 1
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash cant combine c15 len 1 StartStop with h2352 len 1 LowVoltDisconnect, different types
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine h2352 len 1 LowVoltDisconnect with h2353 len 1 LowVoltReconnect to span 2, drop read for h2353
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine h2352 len 1 LowVoltDisconnect with h2354 len 1 HighVoltReconnect to span 3, drop read for h2354
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine h2352 len 1 LowVoltDisconnect with h2355 len 1 HighVoltDisconnect to span 4, drop read for h2355
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash cant combine h2352 len 1 LowVoltDisconnect with i12552 len 1 InputVolt, different types
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine i12552 len 1 InputVolt with i12553 len 1 InputCurrent to span 2, drop read for i12553
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine i12552 len 1 InputVolt with i12554 len 2 InputPower to span 4, drop read for i12554
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine i12552 len 1 InputVolt with i12556 len 1 OutputVoltage to span 5, drop read for i12556
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine i12552 len 1 InputVolt with i12557 len 1 OutputCurrent to span 6, drop read for i12557
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine i12552 len 1 InputVolt with i12558 len 2 OutputPower to span 8, drop read for i12558
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash cant combine i12552 len 1 InputVolt with i12561 len 1 InverterTemp, span 10 would be bigger than max 8
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash combine i12561 len 1 InverterTemp with i12562 len 1 MosfetTemp to span 2, drop read for i12562
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash cant combine i12561 len 1 InverterTemp with i12802 len 1 InverterState, span 242 would be bigger than max 8
2021.08.04 21:14:14 5 : IPOWER: CombineUpdateHash keys are now h2352,c11,i12561,i12552,c15,i12802
2021.08.04 21:14:14 4 : IPOWER: GetUpdate will now create requests for c11 len 1 (RemoteLocalControl), c15 len 1 (StartStop), h2352 len 4 (combined h2352 len 1 LowVoltDisconnect with h2353 len 1 LowVoltReconnect and h2354 len 1 HighVoltReconnect and h2355 len 1 HighVoltDisconnect), i12552 len 8 (combined i12552 len 1 InputVolt with i12553 len 1 InputCurrent and i12554 len 2 InputPower and i12556 len 1 OutputVoltage and i12557 len 1 OutputCurrent and i12558 len 2 OutputPower), i12561 len 2 (combined i12561 len 1 InverterTemp with i12562 len 1 MosfetTemp), i12802 len 1 (InverterState)
2021.08.04 21:14:14 5 : IPOWER: ParseDataString called from HandleResponse with data hex 00, type c, adr 11, op read
2021.08.04 21:14:14 5 : IPOWER: SplitDataString called from ParseDataString with data hex 00, type c, adr 11, valuesLen 1, op read
2021.08.04 21:14:14 5 : IPOWER: SplitDataString shortened coil / input bit string to 0, start adr 11, valuesLen 1
2021.08.04 21:14:14 5 : IPOWER: CreateDataObjects called from ParseDataString with objList c11
2021.08.04 21:14:14 5 : IPOWER: CreateDataObjects sortedList c11
2021.08.04 21:14:14 5 : IPOWER: CreateDataObjects unpacked 30 with a to 0
2021.08.04 21:14:14 5 : IPOWER: MapConvert called from CreateDataObjects converted 0 (0) to Local with map 0:Local, 65280:Remote
2021.08.04 21:14:14 4 : IPOWER: CreateDataObjects assigns value Local to RemoteLocalControl
2021.08.04 21:14:14 5 : IPOWER: ParseDataString created 1 readings
<div class='fhemlog'>2021.08.04 21:14:14 4 : IPOWER: DoRequest called from GetUpdate created new request, read buffer empty,  request: id 3, read fc 1 c11, len 1, master device IPOWER, reading RemoteLocalControl (getUpdate for RemoteLocalControl len 1)</div><div class='fhemlog'>2021.08.04 21:14:14 4 : IPOWER: DoRequest called from GetUpdate created new request, read buffer empty,  request: id 3, read fc 1 c15, len 1, master device IPOWER, reading StartStop (getUpdate for StartStop len 1)</div><div class='fhemlog'>2021.08.04 21:14:14 4 : IPOWER: DoRequest called from GetUpdate created new request, read buffer empty,  request: id 3, read fc 3 h2352, len 4, master device IPOWER, reading LowVoltDisconnect (getUpdate for combined h2352 len 1 LowVoltDisconnect with h2353 len 1 LowVoltReconnect and h2354 len 1 HighVoltReconnect and h2355 len 1 HighVoltDisconnect)</div><div class='fhemlog'>2021.08.04 21:14:14 4 : IPOWER: DoRequest called from GetUpdate created new request, read buffer empty,  request: id 3, read fc 4 i12552, len 8, master device IPOWER, reading InputVolt (getUpdate for combined i12552 len 1 InputVolt with i12553 len 1 InputCurrent and i12554 len 2 InputPower and i12556 len 1 OutputVoltage and i12557 len 1 OutputCurrent and i12558 len 2 OutputPower)</div><div class='fhemlog'>2021.08.04 21:14:14 4 : IPOWER: DoRequest called from GetUpdate created new request, read buffer empty,  request: id 3, read fc 4 i12561, len 2, master device IPOWER, reading InverterTemp (getUpdate for combined i12561 len 1 InverterTemp with i12562 len 1 MosfetTemp)</div><div class='fhemlog'>2021.08.04 21:14:14 4 : IPOWER: DoRequest called from GetUpdate created new request, read buffer empty,  request: id 3, read fc 4 i12802, len 1, master device IPOWER, reading InverterState (getUpdate for InverterState len 1)</div>2021-08-04 21:14:14 ModbusIPOWER IPOWER RemoteLocalControl: Local
2021.08.04 21:14:14 5 : IPOWER: ParseDataString called from HandleResponse with data hex 01, type c, adr 15, op read
2021.08.04 21:14:14 5 : IPOWER: SplitDataString called from ParseDataString with data hex 01, type c, adr 15, valuesLen 1, op read
2021.08.04 21:14:14 5 : IPOWER: SplitDataString shortened coil / input bit string to 1, start adr 15, valuesLen 1
2021.08.04 21:14:14 5 : IPOWER: CreateDataObjects called from ParseDataString with objList c15
2021.08.04 21:14:14 5 : IPOWER: CreateDataObjects sortedList c15
2021.08.04 21:14:14 5 : IPOWER: CreateDataObjects unpacked 31 with a to 1
2021.08.04 21:14:14 3 : IPOWER: MapConvert called from CreateDataObjects did not find 1 (1) in map 0:Off, 65280:On
2021.08.04 21:14:14 4 : IPOWER: CreateDataObjects assigns value 1 to StartStop
2021.08.04 21:14:14 5 : IPOWER: ParseDataString created 1 readings
2021.08.04 21:14:15 5 : IPOWER: ParseDataString called from HandleResponse with data hex 140100000000000059b600211d9a0000, type i, adr 12552, op read
2021.08.04 21:14:15 5 : IPOWER: SplitDataString called from ParseDataString with data hex 140100000000000059b600211d9a0000, type i, adr 12552, valuesLen 8, op read
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects called from ParseDataString with objList i12552,i12553,i12554,i12556,i12557,i12558
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects sortedList i12552,i12553,i12554,i12556,i12557,i12558
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 1401 with n to 5121
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." V" to 51.21 V
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 51.21 V to InputVolt
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 0000 with n to 0
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." A" to 0 A
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 0 A to InputCurrent
2021.08.04 21:14:15 5 : IPOWER: ReverseWordOrder is reversing order of up to 2 registers
2021.08.04 21:14:15 5 : IPOWER: ReverseWordOrder for CreateDataObjects is transforming 00000000 to 00000000
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 00000000 with N to 0
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." W" to 0 W
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 0 W to InputPower
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 59b6 with n to 22966
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." V" to 229.66 V
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 229.66 V to OutputVoltage
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 0021 with n to 33
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." A" to 0.33 A
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 0.33 A to OutputCurrent
2021.08.04 21:14:15 5 : IPOWER: ReverseWordOrder is reversing order of up to 2 registers
2021.08.04 21:14:15 5 : IPOWER: ReverseWordOrder for CreateDataObjects is transforming 1d9a0000 to 00001d9a
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 00001d9a with N to 7578
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." W" to 75.78 W
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 75.78 W to OutputPower
2021.08.04 21:14:15 5 : IPOWER: ParseDataString created 6 readings
2021-08-04 21:14:15 ModbusIPOWER IPOWER InputVolt: 51.21 V
2021-08-04 21:14:15 ModbusIPOWER IPOWER OutputVoltage: 229.66 V
2021-08-04 21:14:15 ModbusIPOWER IPOWER OutputPower: 75.78 W
2021.08.04 21:14:15 5 : IPOWER: ParseDataString called from HandleResponse with data hex 0ce40fa0, type i, adr 12561, op read
2021.08.04 21:14:15 5 : IPOWER: SplitDataString called from ParseDataString with data hex 0ce40fa0, type i, adr 12561, valuesLen 2, op read
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects called from ParseDataString with objList i12561,i12562
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects sortedList i12561,i12562
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 0ce4 with s> to 3300
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." °C" to 33 °C
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 33 °C to InverterTemp
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 0fa0 with s> to 4000
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=($val/100)." °C" to 40 °C
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value 40 °C to MosfetTemp
2021.08.04 21:14:15 5 : IPOWER: ParseDataString created 2 readings
2021-08-04 21:14:15 ModbusIPOWER IPOWER MosfetTemp: 40 °C
2021.08.04 21:14:15 5 : IPOWER: ParseDataString called from HandleResponse with data hex 0001, type i, adr 12802, op read
2021.08.04 21:14:15 5 : IPOWER: SplitDataString called from ParseDataString with data hex 0001, type i, adr 12802, valuesLen 1, op read
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects called from ParseDataString with objList i12802
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects sortedList i12802
2021.08.04 21:14:15 5 : IPOWER: CreateDataObjects unpacked 0001 with n to 1
2021.08.04 21:14:15 5 : IPOWER: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val=(&ModbusIPOWER_inverterstate($val)) to Bit1 Aus working DC Input Ok light Load
2021.08.04 21:14:15 4 : IPOWER: CreateDataObjects assigns value Bit1 Aus working DC Input Ok light Load  to InverterState
2021.08.04 21:14:15 5 : IPOWER: ParseDataString created 1 readings
2021-08-04 21:14:15 ModbusIPOWER IPOWER InverterState: Bit1 Aus working DC Input Ok light Load


50V, ja wer die Akkus nicht mit nem Kupfertau anschliessen will, muss halt Spannung füttern.

Die Stndard Modbus Adresse von dem IPower scheint wohl die 3 zu sein.

...
FHEM lässt sich nun auch mit dem UPower-modul füttern. Dat scheint zu rennen... Readings hab ich natürlich keine

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

Also es kommt wohl wert 0 zurück.

Teste doch mal die Windows Software die es von epever dafür gibt. Wenn da was anderes als 0 drin steht dann sind vieleicht die register nicht richtig.

Im Anhang habe ich nochmal Änderungen gemacht bei den Texten das es leichter lesbar ist .
Combine auch mal auf 1 gesetzt.
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

Die Software von EPEVER funktioniert, daher kenne ich ja die ID. Ich bin der Ansicht, die Eingangsspannung/die Eingangsleistung war da aktiv.
Wird wohl das Register nicht stimmen.

Was ist Combine?
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, ich habe die Software mal probiert, aber nachdem mein Gerät nicht auf die erste Modbus Anfrage reagiert komme ich da nicht wirklich weiter.

Es gäbe eine Möglichkeit, aber die ist ohne knowhow etwas schwierig.
Kennst du dich mit Wireshark aus ?
Das ist ein Netzwerk Sniffing Tool, mit dem könnte man im Windows und der Software den IP traffic der zu deinem ESP Link geht mitschneiden.

Es gibt von denen auch Verschiedene Inverter, vieleicht ist da einfach nur die Doku falsch.

Combine ist ein zusammenfassen mehrerer Modbus Abfragen, da werden mehrere in einem Aufruf gebündelt um traffic zu sparen.
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

Ja, Wireshark kenn ich, hab ich auch installiert, und ganz am Anfang den Traffic mir mal angesehen. Das Problem... erstmal böhmische Dörfer, wenn man relativ wenig darüber weiss wie so ein Protokoll aussehen soll.
Ich habe einen Waveshare USB to RS232/485/ttl converter, der für mich das Signal über echten Draht einsammelt, wie im Mittelalter:-)
Der hängt via USB an meinem FHEM Server.
Hab dann den Wireshark auf den USB-Port schnuppern lassen, und dann alle 30 Sekunden tatsächlich Pakete verbeisausen sehen, nachdem ich die EPEVER Software gestartet hab.
Dummerweise hab ich die nicht eben gespeichert, und müsste das halt nochmal tun.
Als das also nicht geklappt hat, hab ich halt die Chinesen angeschrieben, und die waren zwar kurz angebunden, aber haben mir das vorhandene Protokoll zugeschickt, und gestattet das auch zu teilen.

Falls ich am Wochenende etwas Zeit hab, schlepp ich meinen Windows Desktop PC nochmal in den Keller und sammel noch einmal so einen Mitschnitt ein.
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