Neue Versionen und Support zum Modbus-Modul

Begonnen von StefanStrobel, 20 August 2017, 12:11:08

Vorheriges Thema - Nächstes Thema

ch.eick

Ein erster Erfolg ist da.


Internals:
   CFGFN     
   DEF        71 60 192.168.178.18:1502 TCP
   DeviceName 192.168.178.18:1502
   EXPECT     idle
   FD         29
   FUUID      5db5b8b3-f33f-81e9-4e6c-e6ea81fa8ef6414b
   INTERVAL   60
   IODev      PV_Anlage_1
   LASTOPEN   1572353223.64744
   MODBUSID   71
   MODE       master
   MODULEVERSION Modbus 4.1.5 - 17.9.2019
   NAME       PV_Anlage_1
   NOTIFYDEV  global
   NR         13633
   NTFY_ORDER 50-PV_Anlage_1
   PARTIAL   
   PROTOCOL   TCP
   STATE      opened
   TCPConn    1
   TRIGGERTIME 1572353463.06452
   TRIGGERTIME_FMT 2019-10-29 13:51:03
   TYPE       ModbusAttr
   devioLoglevel 3
   lastUpdate 1572353403.06452
   nextOpenDelay 60
   QUEUE:
   READ:
     BUFFER     
   READINGS:
     2019-10-29 13:50:03   Total_DC_Power  89015481
     2019-10-29 13:47:03   state           opened
   REMEMBER:
     lid        71
     lname      PV_Anlage_1
     lrecv      1572353403.13239
     lsend      1572353403.11398
   defptr:
     PV_Anlage_1 71
   gotReadings:
     Total_DC_Power 89015481
   lastRead:
     h100       1572353403.15377
Attributes:
   dev-h-defLen 2
   dev-h-defPoll 1
   dev-h-defUnpack N
   obj-h100-reading Total_DC_Power
   room       Strom->Photovoltaik
   userattr   dev-h-defLen dev-h-defPoll dev-h-defUnpack obj-h100-reading
   verbose    5



2019.10.29 13:52:03 5: PV_Anlage_1: GetUpdate called from HandleTimeout
2019.10.29 13:52:03 5: PV_Anlage_1: SetartUpdateTimer called from GetUpdate updated timer, will call GetUpdate in 60.0 sec at 2019-10-29 13:53:03, interval 60
2019.10.29 13:52:03 5: PV_Anlage_1: GetUpdate objects from attributes: h100
2019.10.29 13:52:03 5: PV_Anlage_1: GetUpdate full object list: h100
2019.10.29 13:52:03 5: PV_Anlage_1: GetUpdate check h100 => Total_DC_Power, poll = 1, last = 1572353463.15642
2019.10.29 13:52:03 4: PV_Anlage_1: GetUpdate will request Total_DC_Power
2019.10.29 13:52:03 5: PV_Anlage_1: GetUpdate tries to combine read commands
2019.10.29 13:52:03 5: PV_Anlage_1: GetUpdate doesn't sort objList before sending requests
2019.10.29 13:52:03 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 68, type h, adr 100, len 2 for device PV_Anlage_1 reading Total_DC_Power (getUpdate), read buffer empty
2019.10.29 13:52:03 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h100, qlen 0
2019.10.29 13:52:03 4: PV_Anlage_1: ProcessRequestQueue called from QueueRequest, qlen 1, next entry to id 71 (PV_Anlage_1), last send to this device was 60.485 secs ago, last read 60.468 secs ago, last read on bus 60.468 secs ago from id 71 (PV_Anlage_1)
2019.10.29 13:52:03 5: PV_Anlage_1: CheckDelay called from ProcessRequestQueue commDelay (0.1s since 13:51:03.135) for PV_Anlage_1, delay 60.372secs over
2019.10.29 13:52:03 5: PV_Anlage_1: CheckDelay called from ProcessRequestQueue sendDelay (0.1s since 13:51:03.118) for PV_Anlage_1, delay 60.392secs over
2019.10.29 13:52:03 4: PV_Anlage_1: ProcessRequestQueue (V4.1.5 - 17.9.2019) qlen 1, sending 004400000006470300640002 request: id 71, fCode 3, tid 68, type h, adr 100, len 2 for device PV_Anlage_1 reading Total_DC_Power (getUpdate), queued 0.02 secs ago, read buffer empty
2019.10.29 13:52:03 5: SW: 004400000006470300640002
2019.10.29 13:52:03 5: PV_Anlage_1: StartQueueTimer called from ProcessRequestQueue removes internal timer because it is not needed now
2019.10.29 13:52:03 5: PV_Anlage_1: read buffer: 0044000000074703046ffd44b8
2019.10.29 13:52:03 4: PV_Anlage_1: ParseFrameStart (TCP) extracted id 71, fCode 3, tid 68, dlen 7 and data 046ffd44b8
2019.10.29 13:52:03 5: PV_Anlage_1: HandleResponse called from Read
2019.10.29 13:52:03 5: PV_Anlage_1: ParseResponse called from HandleResponse
2019.10.29 13:52:03 5: PV_Anlage_1: HandleResponse now passing to logical device PV_Anlage_1 for parsing data
2019.10.29 13:52:03 5: PV_Anlage_1: ParseObj called with data 6ffd44b8, type h, adr 100, valuesLen 2, op read
2019.10.29 13:52:03 5: PV_Anlage_1: ParseObj ObjInfo for h100: reading=Total_DC_Power, unpack=N, expr=, format=, map=
2019.10.29 13:52:03 5: PV_Anlage_1: ParseObj unpacked 6ffd44b8 with N to 1878869176 hex 31383738383639313736
2019.10.29 13:52:03 4: PV_Anlage_1: ParseObj assigns value 1878869176 to Total_DC_Power
2019.10.29 13:52:03 5: PV_Anlage_1: HandleResponse got 1 readings from ParseObj for PV_Anlage_1
2019.10.29 13:52:03 4: PV_Anlage_1: ResponseDone request: id 71, fCode 3, tid 68, type h, adr 100, len 2 for device PV_Anlage_1 reading Total_DC_Power (getUpdate), queued 0.24 secs ago, sent 0.24 secs ago, Current read buffer: 0044000000074703046ffd44b8, Id 71, fCode 3, tid 68, response: id 71, fCode 3, type h, adr 100, len 2, value 6ffd44b8
2019.10.29 13:52:03 5: PV_Anlage_1: DropFrame - drop 0044000000074703046ffd44b8
2019.10.29 13:52:03 5: PV_Anlage_1: StartQueueTimer called from Read removes internal timer because it is not needed now

Jetzt kann ich mit der Fleißarbeit beginnen.

Vielen dank erst ein mal.
Gruß
     Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wzut

Zitat2019-10-29 13:50:03   Total_DC_Power  89015481
ok ein Wert gelesen , aber das Format stimmt bestimmt noch nicht. Was sagt denn die Doku wie lang das Register 100 ist 1,2 oder 4 Byte ?
Dementsprechend die Länge für dieses Register anpassen und dann das Thema High/Low Byte ( Litte & Big Endian ) , zu guter letzt halt noch wie muss Unpack gesetzt sein. Ist aber alles in der command.ref ausführlich dokumentiert und wenn man die Doku des Herstellers hat auch schnell erledigt.

Nach dem Schema holst du dir alle Register bzw. deren Werte von in FHEM haben willst.
Zugegeben etwas Arbeit gerade zum Beginn, aber wenn man das Schema mal begriffen hat geht es flott bzw. man macht es i.d.R. eh nur einmal 
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ch.eick

Okay,

ich habe jetzt bereits tausende :-) readings eingetragen und bin beim Datenformat angelangt.

Die default Länge 2 passt bei den meisten Objekten, für die anderen trage ich dann mal die richtige Länge ein.

In der Hersteller Doku finde ich folgende Formate:

Bool
U16 länge 1
U32 länge 2
String länge 8 und 32

Das meiste ist:
Float länge 2

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo nochmal.

Mit den Floatingpoint Formaten bin ich total raus. Das ist über 30 Jahre her bei mir :-)

Im Python Skript habe ich dann noch folgendes gefunden. Eventuell kann mir damit ja jemand sagen, was ich für unpack und eventuell Format verwenden muss.


    #-----------------------------------------
    # Routine to read a string from one address with 8 registers
    def ReadStr8(self,myadr_dec):   
        r1=self.client.read_holding_registers(myadr_dec,8,unit=71)
        STRG8Register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big)
        result_STRG8Register =STRG8Register.decode_string(8)     
        return(result_STRG8Register)
    #-----------------------------------------
    # Routine to read a Float from one address with 2 registers     
    def ReadFloat(self,myadr_dec):
        r1=self.client.read_holding_registers(myadr_dec,2,unit=71)
        FloatRegister = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big, wordorder=Endian.Little)
        result_FloatRegister =round(FloatRegister.decode_32bit_float(),2)
        return(result_FloatRegister)   
    #-----------------------------------------
    # Routine to read a U16 from one address with 1 register
    def ReadU16_1(self,myadr_dec):
        r1=self.client.read_holding_registers(myadr_dec,1,unit=71)
        U16register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big, wordorder=Endian.Little)
        result_U16register = U16register.decode_16bit_uint()
        return(result_U16register)
    #-----------------------------------------
    # Routine to read a U16 from one address with 2 registers
    def ReadU16_2(self,myadr_dec):
        r1=self.client.read_holding_registers(myadr_dec,2,unit=71)
        U16register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big, wordorder=Endian.Little)
        result_U16register = U16register.decode_16bit_uint()
        return(result_U16register)
    #-----------------------------------------
    # Routine to read a U32 from one address with 2 registers
    def ReadU32(self,myadr_dec):
        r1=self.client.read_holding_registers(myadr_dec,2,unit=71)
        #print ("r1 ", rl.registers)
        U32register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big, wordorder=Endian.Little)
        #print ("U32register is", U32register)
        #result_U32register = U32register.decode_32bit_float()
        result_U32register = U32register.decode_32bit_uint()
        return(result_U32register)
    #-----------------------------------------
    def ReadU32new(self,myadr_dec):
        print ("I am in ReadU32new with", myadr_dec)
        r1=self.client.read_holding_registers(myadr_dec,2,unit=71)
        U32register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big, wordorder=Endian.Little)
        result_U32register = U32register.decode_32bit_uint()
        return(result_U32register)
    #-----------------------------------------   
    # Routine to read a U32 from one address with 2 registers
    def ReadS16(self,myadr_dec):
        r1=self.client.read_holding_registers(myadr_dec,1,unit=71)
        S16register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big, wordorder=Endian.Little)
        result_S16register = S16register.decode_16bit_uint()
        return(result_S16register)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wzut

passt den das Beispiel aus der command.ref nicht  ? :
attr PWP obj-h338-reading Pressure
attr PWP obj-h338-len 2
attr PWP obj-h338-unpack f>
attr PWP obj-h338-revRegs 1
attr PWP obj-h338-format %.2f


Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ch.eick

Hallo mal wieder.

Bei dem Wert, den ich zuerst getestet habe hatte es nicht gepasst, oder ich habe etwas falsch gemacht.
Nun noch mal mit Konzentration und einem anderen Wert und schon geht es:-)

Voltage_Phase_1  232.19
Voltage_Phase_2  232.01
Voltage_Phase_3  233.03

Ich schau dann morgen nach den anderen Werten
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#366
Hallo mal wieder

Ich habe jetzt die meisten Werte entschlüsselt, jedoch sind noch viele die ich nicht formatiert bekomme.

Dies passt für die Floatingpoint und ist als default gesetzt, weil es die größte Anzahl ist.

attr PV_Anlage_1 dev-h-defFormat %.2f
attr PV_Anlage_1 dev-h-defLen 2
attr PV_Anlage_1 dev-h-defPoll 1
attr PV_Anlage_1 dev-h-defRevRegs 1
attr PV_Anlage_1 dev-h-defUnpack f>


Das ist aus der modbus definition vom Hersteller

0x213 531 Inverter Max Power W U16 1 RO 0x03
0x214 532 Inverter Peak Generation Power Scale Factor4 - - 1 RO 0x03
0x217 535 Inverter Manufacturer - String 16 RO 0x03
0x227 551 Inverter Model ID - String 8 RO 0x03
0x22F 559 Inverter Serial Number - String 16 RO 0x03
0x23F 575 Inverter Generation Power (actual) W S16 1 RO 0x03
0x240 576 Power Scale Factor4 - - 1 RO 0x03
0x241 577 Generation Energy Wh U32 2 RO 0x03
0x243 579 Energy Scale Factor - - 1 RO 0x03
0x246 582 Actual battery charge/discharge power W S16 1 RO 0x03
0x24A 586 Battery Firmware - U32 1 RO 0x03
0x24C 588 Battery Type6 - U16 1 RO 0x03
0x300 768 Productname (e.g. PLENTICORE plus) - String 32 RO 0x03
0x320 800 Power class (e.g. 10) - String 32 RO 0x03



U16 soll unsigned 16 Bit sein

das habe ich im Netz gefunden zum Thema unpack https://apidock.com/ruby/String/unpack

n             | Integer | 16-bit unsigned, network (big-endian) byte order
N             | Integer | 32-bit unsigned, network (big-endian) byte order
v             | Integer | 16-bit unsigned, VAX (little-endian) byte order
V             | Integer | 32-bit unsigned, VAX (little-endian) byte order


Ich bin verwirrt und für Hilfe offen

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wzut

Zitat von: ch.eick am 01 November 2019, 13:37:44
attr PV_Anlage_1 dev-h-defPoll 2
Zitatobj-[cdih][1-9][0-9]*-poll
If the Fhem Modbus device is in master mode, Fhem automatically creates read requests to the external modbus slave. If this attribute is set to 1 for an object then this obeject is included in the cyclic update request as specified in the define command for a Modbus master. If not set, then the object can manually be requested with a get command, but it is not automatically updated each interval. Note that this setting can also be specified as default for all objects with the dev- atributes described later.
This attribute is ignored in slave mode.
also warum 2 ?

Zitat von: ch.eick am 01 November 2019, 13:37:44
Ich bin verwirrt
und warum ? Was du zum unpack gefunden hast deckt sich doch 1:1 mit der commandref
Wo ist jetzt das Problem ?
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ch.eick

#368
Hallo

Die erste Verwirrung war, das ich das Attribut als Pollingzeit angesehen hatte. Sorry, beim Lesen war es schon spät :-)
Jetzt habe ich es wieder auf "dev-h-defPoll 1" gesetzt.

Hersteller Doku

586 Battery Firmware - U32 1


Fhem

obj-h586-format %c
obj-h586-len 1
obj-h586-reading Battery_Firmware
obj-h586-unpack <<<<<<<<<< hier habe ich N und V ausbrobiert


jedoch wird immer 0.00 angezeigt

EDIT:

Ich habe noch mal verbose 5 gesetzt, da stimmt wohl noch mehr nicht...

2019.11.01 15:24:26 3: PV_Anlage_1 device opened
2019.11.01 15:24:26 5: PV_Anlage_1: SetartUpdateTimer called from OpenCB updated timer, will call GetUpdate in 0.0 sec at 2019-11-01 15:24:26, interval 60
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate called from HandleTimeout
2019.11.01 15:24:26 5: PV_Anlage_1: SetartUpdateTimer called from GetUpdate updated timer, will call GetUpdate in 60.0 sec at 2019-11-01 15:25:26, interval 60
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate objects from attributes: h164 h324 h586 h108 h202 h525 h575 h154 h268 h258 h216 h276 h240 h112 h242 h248 h144 h232 h6 h100 h210 h326 h228 h160 h194
h200 h212 h162 h252 h172 h278 h517 h254 h114 h577 h578 h214 h118 h582 h260 h234 h322 h150 h246 h156 h152 h110 h208 h250 h190 h588 h46 h104 h320 h514 h220 h527 h116 h106 h120 h280 h230 h266 h27
0 h256 h529 h244 h531 h286 h166 h170 h224 h226 h158 h222 h122 h168 h174 h124 h178 h238 h218 h236
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate full object list: h100 h104 h106 h108 h110 h112 h114 h116 h118 h120 h122 h124 h144 h150 h152 h154 h156 h158 h160 h162 h164 h166 h168 h170 h172 h174
h178 h190 h194 h200 h202 h208 h210 h212 h214 h216 h218 h220 h222 h224 h226 h228 h230 h232 h234 h236 h238 h240 h242 h244 h246 h248 h250 h252 h254 h256 h258 h260 h266 h268 h270 h276 h278 h280 h2
86 h320 h322 h324 h326 h46 h514 h517 h525 h527 h529 h531 h575 h577 h578 h582 h586 h588 h6
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h100 => Total_DC_Power, poll = 1, last = 1572618098.84707
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_DC_Power
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h104 => State_of_energy_manager, poll = 1, last = 1572618100.17873
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request State_of_energy_manager
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h106 => Home_own_consumption_from_battery, poll = 1, last = 1572618102.38253
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Home_own_consumption_from_battery
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h108 => Home_own_consumption_from_grid, poll = 1, last = 1572618097.07366
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Home_own_consumption_from_grid
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h110 => Total_home_consumption_Battery, poll = 1, last = 1572618103.78203
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_home_consumption_Battery
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h112 => Total_home_consumption_Grid, poll = 1, last = 1572618098.44053
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_home_consumption_Grid
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h114 => Total_home_consumption_PV, poll = 1, last = 1572618103.52435
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_home_consumption_PV
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h116 => Home_own_consumption_from_PV, poll = 1, last = 1572618102.50387
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Home_own_consumption_from_PV
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h118 => Total_home_consumption, poll = 1, last = 1572618098.7267
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_home_consumption
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h120 => Isolation_resistance, poll = 1, last = 1572618098.19903
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Isolation_resistance
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h122 => Power_limit_from_EVU, poll = 1, last = 1572618110.95207
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Power_limit_from_EVU
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h124 => Total_home_consumption_rate, poll = 1, last = 1572618112.7723
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_home_consumption_rate
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h144 => Worktime, poll = 1, last = 1572618111.92906
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Worktime
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h150 => Actual_cos_phi, poll = 1, last = 1572618097.71498
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Actual_cos_phi
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h152 => Grid_frequency, poll = 1, last = 1572618099.37964
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Grid_frequency
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h154 => Current_Phase_1, poll = 1, last = 1572618110.63971
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_Phase_1
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h156 => Active_power_Phase_1, poll = 1, last = 1572618103.15936
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Active_power_Phase_1
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h158 => Voltage_Phase_1, poll = 1, last = 1572618111.68731
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_Phase_1
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h160 => Current_Phase_2, poll = 1, last = 1572618100.29932
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_Phase_2
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h162 => Active_power_Phase_2, poll = 1, last = 1572618103.90261
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Active_power_Phase_2
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h164 => Voltage_Phase_2, poll = 1, last = 1572618097.23844
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_Phase_2
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h166 => Current_Phase_3, poll = 1, last = 1572618096.71237
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_Phase_3
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h168 => Active_power_Phase_3, poll = 1, last = 1572618112.16956
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Active_power_Phase_3
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h170 => Voltage_Phase_3, poll = 1, last = 1572618110.51547
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_Phase_3
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h172 => Total_AC_active_power, poll = 1, last = 1572618101.11557
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_AC_active_power
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h174 => Total_AC_reactive_power, poll = 1, last = 1572618102.63189
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_AC_reactive_power
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h178 => Total_AC_apparent_power, poll = 1, last = 1572618112.89206
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_AC_apparent_power
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h190 => Battery_charge_current, poll = 1, last = 1572618102.01406
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_charge_current
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h194 => Number_of_battery_cycles, poll = 1, last = 1572618104.14386
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Number_of_battery_cycles
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h200 => Actual_battery_charge_-minus_or_discharge_-plus_current, poll = 1, last = 1572618014.06195
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Actual_battery_charge_-minus_or_discharge_-plus_current
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h202 => PSSB_fuse_state, poll = 1, last = 1572618102.87378
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request PSSB_fuse_state
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h208 => Battery_ready_flag, poll = 1, last = 1572618097.83624
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_ready_flag
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h210 => Act_state_of_charge, poll = 1, last = 1572618112.04855
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Act_state_of_charge
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h212 => Battery_state, poll = 1, last = 1572618099.62045
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_state
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h214 => Battery_temperature, poll = 1, last = 1572618104.43073
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_temperature
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h216 => Battery_voltage, poll = 1, last = 1572618097.59299
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_voltage
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h218 => Cos_phi_(powermeter), poll = 1, last = 1572618103.6446
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Cos_phi_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h220 => Frequency_(powermeter), poll = 1, last = 1572618098.31932
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Frequency_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h222 => Current_phase_1_(powermeter), poll = 1, last = 1572618101.36779
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_phase_1_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h224 => Active_power_phase_1_(powermeter), poll = 1, last = 1572618100.87428
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Active_power_phase_1_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h226 => Reactive_power_phase_1_(powermeter), poll = 1, last = 1572618013.9409
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Reactive_power_phase_1_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h228 => Apparent_power_phase_1_(powermeter), poll = 1, last = 1572618096.95141
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Apparent_power_phase_1_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h230 => Voltage_phase_1_(powermeter), poll = 1, last = 1572618101.48841
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_phase_1_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h232 => Current_phase_2_(powermeter), poll = 1, last = 1572618103.28358
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_phase_2_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h234 => Active_power_phase_2_(powermeter), poll = 1, last = 1572618100.42088
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Active_power_phase_2_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h236 => Reactive_power_phase_2_(powermeter), poll = 1, last = 1572618104.0227
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Reactive_power_phase_2_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h238 => Apparent_power_phase_2_(powermeter), poll = 1, last = 1572618100.54188
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Apparent_power_phase_2_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h240 => Voltage_phase_2_(powermeter), poll = 1, last = 1572618111.07297
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_phase_2_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h242 => Current_phase_3_(powermeter), poll = 1, last = 1572618101.85096
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_phase_3_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h244 => Active_power_phase_3_(powermeter), poll = 1, last = 1572618102.99387
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Active_power_phase_3_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h246 => Reactive_power_phase_3_(powermeter), poll = 1, last = 1572618110.83245
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Reactive_power_phase_3_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h248 => Apparent_power_phase_3_(powermeter), poll = 1, last = 1572618111.32462
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Apparent_power_phase_3_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h250 => Voltage_phase_3_(powermeter), poll = 1, last = 1572618102.26189
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_phase_3_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h252 => Total_active_power_(powermeter), poll = 1, last = 1572618103.40326
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_active_power_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h254 => Total_reactive_power_(powermeter), poll = 1, last = 1572618099.50082
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_reactive_power_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h256 => Total_apparent_power_(powermeter), poll = 1, last = 1572618104.30935
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_apparent_power_(powermeter)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h258 => Current_DC1, poll = 1, last = 1572618101.72938
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_DC1
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h260 => Power_DC1, poll = 1, last = 1572618112.41241
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Power_DC1
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h266 => Voltage_DC1, poll = 1, last = 1572618098.96813
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_DC1
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h268 => Current_DC2, poll = 1, last = 1572618097.95749
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_DC2
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h270 => Power_DC2, poll = 1, last = 1572618112.65247
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Power_DC2
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h276 => Voltage_DC2, poll = 1, last = 1572618098.56072
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_DC2
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h278 => Current_DC3, poll = 1, last = 1572618111.44513
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Current_DC3
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h280 => Power_DC3, poll = 1, last = 1572618112.29015
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Power_DC3
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h286 => Voltage_DC3, poll = 1, last = 1572618100.99434
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Voltage_DC3
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h320 => Total_yield, poll = 1, last = 1572618102.75366
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_yield
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h322 => Daily_yield, poll = 1, last = 1572618096.83154
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Daily_yield
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h324 => Yearly_yield, poll = 1, last = 1572618099.25997
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Yearly_yield
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h326 => Monthly_yield, poll = 1, last = 1572618100.05879
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Monthly_yield
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h46 => Software-Version_IO-Controller_(IOC), poll = 1, last = 1572618111.19881
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Software-Version_IO-Controller_(IOC)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h514 => Battery_actual_SOC, poll = 1, last = 1572358634.24748
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_actual_SOC
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h517 => Battery_Manufacturer, poll = 1, last = 1572618101.24702
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_Manufacturer
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h525 => Battery_Model_ID, poll = 1, last = 1572618099.93713
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_Model_ID
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h527 => Battery_Serial_Number, poll = 1, last = 1572618101.60939
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_Serial_Number
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h529 => Work_Capacity, poll = 1, last = 1572618099.81512
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Work_Capacity
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h531 => Inverter_Max_Power, poll = 1, last = 1572358640.36286
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Inverter_Max_Power
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h575 => Inverter_Generation_Power_(actual), poll = 1, last = 1572358636.87452
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Inverter_Generation_Power_(actual)
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h577 => Generation_Energy, poll = 1, last = 1572618112.53159
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Generation_Energy
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h578 => Total_energy, poll = 1, last = 0
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Total_energy
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h582 => Actual_battery_charge-discharge_power, poll = 1, last = 0
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Actual_battery_charge-discharge_power
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h586 => Battery_Firmware, poll = 1, last = 1572611302.3511
2019.11.01 15:24:26 4: PV_Anlage_1: GetUpdate will request Battery_Firmware
2019.11.01 15:24:26 5: PV_Anlage_1: GetUpdate check h588 => Battery_Type, poll = 1, last = 0
2019.11.01 15:24:27 4: PV_Anlage_1: GetUpdate will request Battery_Type
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate check h6 => Inverter_article_number, poll = 1, last = 1572618099.1381
2019.11.01 15:24:27 4: PV_Anlage_1: GetUpdate will request Inverter_article_number
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate tries to combine read commands
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Inverter_article_number / h6 with Software-Version_IO-Controller_(IOC) / h46, span 48 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Software-Version_IO-Controller_(IOC) / h46 with Total_DC_Power / h100, span 56 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_DC_Power / h100 with State_of_energy_manager / h104, span 6 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for State_of_energy_manager / h104 with Home_own_consumption_from_battery / h106, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Home_own_consumption_from_battery / h106 with Home_own_consumption_from_grid / h108, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Home_own_consumption_from_grid / h108 with Total_home_consumption_Battery / h110, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_home_consumption_Battery / h110 with Total_home_consumption_Grid / h112, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_home_consumption_Grid / h112 with Total_home_consumption_PV / h114, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_home_consumption_PV / h114 with Home_own_consumption_from_PV / h116, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Home_own_consumption_from_PV / h116 with Total_home_consumption / h118, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_home_consumption / h118 with Isolation_resistance / h120, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Isolation_resistance / h120 with Power_limit_from_EVU / h122, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Power_limit_from_EVU / h122 with Total_home_consumption_rate / h124, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_home_consumption_rate / h124 with Worktime / h144, span 22 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Worktime / h144 with Actual_cos_phi / h150, span 8 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Actual_cos_phi / h150 with Grid_frequency / h152, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Grid_frequency / h152 with Current_Phase_1 / h154, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_Phase_1 / h154 with Active_power_Phase_1 / h156, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Active_power_Phase_1 / h156 with Voltage_Phase_1 / h158, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_Phase_1 / h158 with Current_Phase_2 / h160, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_Phase_2 / h160 with Active_power_Phase_2 / h162, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Active_power_Phase_2 / h162 with Voltage_Phase_2 / h164, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_Phase_2 / h164 with Current_Phase_3 / h166, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_Phase_3 / h166 with Active_power_Phase_3 / h168, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Active_power_Phase_3 / h168 with Voltage_Phase_3 / h170, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_Phase_3 / h170 with Total_AC_active_power / h172, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_AC_active_power / h172 with Total_AC_reactive_power / h174, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_AC_reactive_power / h174 with Total_AC_apparent_power / h178, span 6 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_AC_apparent_power / h178 with Battery_charge_current / h190, span 14 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_charge_current / h190 with Number_of_battery_cycles / h194, span 6 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Number_of_battery_cycles / h194 with Actual_battery_charge_-minus_or_discharge_-plus_current / h200, span 8 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Actual_battery_charge_-minus_or_discharge_-plus_current / h200 with PSSB_fuse_state / h202, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for PSSB_fuse_state / h202 with Battery_ready_flag / h208, span 8 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_ready_flag / h208 with Act_state_of_charge / h210, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Act_state_of_charge / h210 with Battery_state / h212, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_state / h212 with Battery_temperature / h214, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_temperature / h214 with Battery_voltage / h216, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_voltage / h216 with Cos_phi_(powermeter) / h218, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Cos_phi_(powermeter) / h218 with Frequency_(powermeter) / h220, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Frequency_(powermeter) / h220 with Current_phase_1_(powermeter) / h222, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_phase_1_(powermeter) / h222 with Active_power_phase_1_(powermeter) / h224, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Active_power_phase_1_(powermeter) / h224 with Reactive_power_phase_1_(powermeter) / h226, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Reactive_power_phase_1_(powermeter) / h226 with Apparent_power_phase_1_(powermeter) / h228, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Apparent_power_phase_1_(powermeter) / h228 with Voltage_phase_1_(powermeter) / h230, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_phase_1_(powermeter) / h230 with Current_phase_2_(powermeter) / h232, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_phase_2_(powermeter) / h232 with Active_power_phase_2_(powermeter) / h234, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Active_power_phase_2_(powermeter) / h234 with Reactive_power_phase_2_(powermeter) / h236, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Reactive_power_phase_2_(powermeter) / h236 with Apparent_power_phase_2_(powermeter) / h238, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Apparent_power_phase_2_(powermeter) / h238 with Voltage_phase_2_(powermeter) / h240, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_phase_2_(powermeter) / h240 with Current_phase_3_(powermeter) / h242, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_phase_3_(powermeter) / h242 with Active_power_phase_3_(powermeter) / h244, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Active_power_phase_3_(powermeter) / h244 with Reactive_power_phase_3_(powermeter) / h246, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Reactive_power_phase_3_(powermeter) / h246 with Apparent_power_phase_3_(powermeter) / h248, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Apparent_power_phase_3_(powermeter) / h248 with Voltage_phase_3_(powermeter) / h250, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_phase_3_(powermeter) / h250 with Total_active_power_(powermeter) / h252, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_active_power_(powermeter) / h252 with Total_reactive_power_(powermeter) / h254, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_reactive_power_(powermeter) / h254 with Total_apparent_power_(powermeter) / h256, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_apparent_power_(powermeter) / h256 with Current_DC1 / h258, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_DC1 / h258 with Power_DC1 / h260, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Power_DC1 / h260 with Voltage_DC1 / h266, span 8 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_DC1 / h266 with Current_DC2 / h268, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_DC2 / h268 with Power_DC2 / h270, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Power_DC2 / h270 with Voltage_DC2 / h276, span 8 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_DC2 / h276 with Current_DC3 / h278, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Current_DC3 / h278 with Power_DC3 / h280, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Power_DC3 / h280 with Voltage_DC3 / h286, span 8 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Voltage_DC3 / h286 with Total_yield / h320, span 36 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_yield / h320 with Daily_yield / h322, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Daily_yield / h322 with Yearly_yield / h324, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Yearly_yield / h324 with Monthly_yield / h326, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Monthly_yield / h326 with Battery_actual_SOC / h514, span 189 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_actual_SOC / h514 with Battery_Manufacturer / h517, span 11 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_Manufacturer / h517 with Battery_Model_ID / h525, span 10 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_Model_ID / h525 with Battery_Serial_Number / h527, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_Serial_Number / h527 with Work_Capacity / h529, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Work_Capacity / h529 with Inverter_Max_Power / h531, span 3 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Inverter_Max_Power / h531 with Inverter_Generation_Power_(actual) / h575, span 45 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Inverter_Generation_Power_(actual) / h575 with Generation_Energy / h577, span 4 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Generation_Energy / h577 with Total_energy / h578, span 3 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Total_energy / h578 with Actual_battery_charge-discharge_power / h582, span 5 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Actual_battery_charge-discharge_power / h582 with Battery_Firmware / h586, span 5 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate cant combine request for Battery_Firmware / h586 with Battery_Type / h588, span 3 > max 1
2019.11.01 15:24:27 5: PV_Anlage_1: GetUpdate doesn't sort objList before sending requests
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 240, type h, adr 150, len 2 for device PV_Anlage_1 reading Actual_cos_phi (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h150, qlen 0
2019.11.01 15:24:27 4: PV_Anlage_1: ProcessRequestQueue called from QueueRequest, qlen 1, next entry to id 71 (PV_Anlage_1), last send to this device was 154.244 secs ago, last read 154.233 secs ago, last read on bus 154.233 secs ago from id 71 (PV_Anlage_1)
2019.11.01 15:24:27 5: PV_Anlage_1: CheckDelay called from ProcessRequestQueue commDelay (0.1s since 15:21:53.049) for PV_Anlage_1, delay 154.137secs over
2019.11.01 15:24:27 5: PV_Anlage_1: CheckDelay called from ProcessRequestQueue sendDelay (0.1s since 15:21:53.038) for PV_Anlage_1, delay 154.151secs over
2019.11.01 15:24:27 4: PV_Anlage_1: ProcessRequestQueue (V4.1.5 - 17.9.2019) qlen 1, sending 00f000000006470300960002 request: id 71, fCode 3, tid 240, type h, adr 150, len 2 for device PV_Anlage_1 reading Actual_cos_phi (getUpdate), queued 0.01 secs ago, read buffer empty
2019.11.01 15:24:27 5: SW: 00f000000006470300960002
2019.11.01 15:24:27 5: PV_Anlage_1: StartQueueTimer called from ProcessRequestQueue removes internal timer because it is not needed now
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 70, type h, adr 268, len 2 for device PV_Anlage_1 reading Current_DC2 (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h268, qlen 0
2019.11.01 15:24:27 5: PV_Anlage_1: StartQueueTimer called form QueueRequest sets internal timer to call Modbus_ProcessRequestQueue in 1.000 seconds
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 213, type h, adr 208, len 2 for device PV_Anlage_1 reading Battery_ready_flag (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h208, qlen 1
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 78, type h, adr 120, len 2 for device PV_Anlage_1 reading Isolation_resistance (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h120, qlen 2
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 149, type h, adr 586, len 1 for device PV_Anlage_1 reading Battery_Firmware (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h586, qlen 3
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 86, type h, adr 220, len 2 for device PV_Anlage_1 reading Frequency_(powermeter) (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h220, qlen 4
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 29, type h, adr 276, len 2 for device PV_Anlage_1 reading Voltage_DC2 (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h276, qlen 5
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 212, type h, adr 112, len 2 for device PV_Anlage_1 reading Total_home_consumption_Grid (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h112, qlen 6
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 223, type h, adr 322, len 2 for device PV_Anlage_1 reading Daily_yield (getUpdate), read buffer empty
2019.11.01 15:24:27 5: PV_Anlage_1: QueueRequest called from DoRequest (PV_Anlage_1) with h322, qlen 7
2019.11.01 15:24:27 4: PV_Anlage_1: DoRequest called from GetUpdate created request: id 71, fCode 3, tid 21, type h, adr 166, len 2 for device PV_Anlage_1 reading Current_Phase_3
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wzut

wenn der Hersteller U32 vorgibt musst du auch len 2 nehmen (16 +16 = 32 )
mit deiner len 1 hast du immer nur die oberen 16 Bit und da ist wenn der Wert kleiner 65535 ist die Null schon richtig :)
unpack N wird vermutlich passen
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ch.eick

Hmm, da is die Verwirrung wieder

Hersteller Doku

586 Battery Firmware - U32 1


Also für 32 len 2 obwohl 1 angegeben ist?
Und bei U32 2 dann Länge 4?

Ich versuch es morgen nochmal zu knacken...
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wzut

#371
schau doch mal genau hin : ( aus dem Kostal Modbus pdf )
0x24A 586 Battery Firmware - U32 1 RO 0x03
0x24C 588 Battery Type 6 - U16 1 RO 0x03

warum folgt auf 586 nicht 587 sondern 588 ?
Die Antwort ist : weil das Register Battery Firmware sowohl 586 (high) als auch 587 (low) belegt
oder
0x217 535 Inverter Manufacturer - String 16 RO 0x03
0x227 551 Inverter Model ID - String 8 RO 0x03

585 + 16 Byte String also beginnt der nächste String bei 551

Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

ch.eick

Au man bin ich dusselig,
vielen Dank für die Nachhilfe, ich bin schon zu lange raus aus den Feinheiten.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

#373
Hallo Wzut,

ich komme einfach nicht klar und muss leider das Thema unpack/format wieder aufnehmen.

EDIT 2:
Ich habe nun den Fehler für die Strings gefunden. Weil die meisten Werte flouting point waren und dort "revRegs"  benötigt wurde hatte ich das als Default gesetzt.
Für die Strings musste ich das dann nun geziehlt mit "revRegs 0" wieder aufheben. So schießt man sich halt manchmal ins Knie :-)


EDIT 1:


Software-Version_IO-Controller_(IOC)     43.10     2019-11-13 16:26:39

Das habe ich jetzt durch probieren schon mal erreicht, nur ist es leider von rechts nach links zu lesen :-)

   obj-h46-bswapRegs 1     < wenn ich das auf 0 (default) setze, dann wandert der Punkt auf 4.310        es sollte jedoch 01.34 lauten.
   obj-h46-format %s
   obj-h46-len 8
   obj-h46-reading Software-Version_IO-Controller_(IOC)
   obj-h46-unpack a*         < Auch A* bringt nicht den gewünschten Erfolg

Diese Definition habe ich nun auf mehrere readings angewendet und alle Strings werden in umgekehrter Reihenfolge ausgegeben :-(

_________________________________________________________________________________________________________________
Das steht in der Modbus Doku von Kostal
Addr(hex); Addr(dec); Description; Unit; Format N; Access; Function Code   
0x2E; 46; Software-Version IO-Controller (IOC); -; String 8; RO; 0x03

Ich habe daraus nun folgendes (wohl falsch) gemacht:

obj-h46-format %s                <  %s    a string
obj-h46-len 8                    < String 8 ????
obj-h46-reading Software-Version_IO-Controller_(IOC)
obj-h46-unpack A             <  hier habe ich a,A,Z ausprobiert


Das steht im Log

2019.11.13 14:53:34 4: PV_Anlage_1: ProcessRequestQueue (V4.1.5 - 17.9.2019) qlen 72, sending 006b000000064703002e0008 request: id 71, fCode 3, tid 107, type h, adr 46, len 8 for device PV_Anlage_1 reading Software-Version_IO-Controller_(IOC) (getUpdate), queued 16.23 secs ago, read buffer empty
2019.11.13 14:53:34 5: SW: 006b000000064703002e0008
2019.11.13 14:53:34 5: PV_Anlage_1: StartQueueTimer called form ProcessRequestQueue sets internal timer to call Modbus_ProcessRequestQueue in 1.000 seconds
2019.11.13 14:53:34 5: PV_Anlage_1: read buffer: 006b0000001347031030312e33340000000000000000000000
2019.11.13 14:53:34 4: PV_Anlage_1: ParseFrameStart (TCP) extracted id 71, fCode 3, tid 107, dlen 19 and data 1030312e33340000000000000000000000
2019.11.13 14:53:34 5: PV_Anlage_1: HandleResponse called from Read
2019.11.13 14:53:34 5: PV_Anlage_1: ParseResponse called from HandleResponse
2019.11.13 14:53:34 5: PV_Anlage_1: HandleResponse now passing to logical device PV_Anlage_1 for parsing data
2019.11.13 14:53:34 5: PV_Anlage_1: ParseObj called with data 30312e33340000000000000000000000, type h, adr 46, valuesLen 8, op read
2019.11.13 14:53:34 5: PV_Anlage_1: RevRegs is reversing order of up to 8 registers2019.11.13 14:53:34 5: PV_Anlage_1: RevRegs string before is 30312e33340000000000000000000000
2019.11.13 14:53:34 5: PV_Anlage_1: RevRegs string after  is 0000000000000000000034002e333031
2019.11.13 14:53:34 5: PV_Anlage_1: ParseObj ObjInfo for h46: reading=Software-Version_IO-Controller_(IOC), unpack=A, expr=, format=%s, map=
2019.11.13 14:53:34 5: PV_Anlage_1: ParseObj unpacked 0000000000000000000034002e333031 with A to  hex
2019.11.13 14:53:34 5: PV_Anlage_1: ParseObj for Software-Version_IO-Controller_(IOC) does sprintf with format %s, value is
2019.11.13 14:53:34 5: PV_Anlage_1: ParseObj for Software-Version_IO-Controller_(IOC) sprintf result is
2019.11.13 14:53:34 4: PV_Anlage_1: ParseObj assigns value  to Software-Version_IO-Controller_(IOC)
2019.11.13 14:53:34 5: PV_Anlage_1: HandleResponse got 1 readings from ParseObj for PV_Anlage_1
2019.11.13 14:53:34 4: PV_Anlage_1: ResponseDone request: id 71, fCode 3, tid 107, type h, adr 46, len 8 for device PV_Anlage_1 reading Software-Version_IO-Controller_(IOC) (getUpdate), queued 16.42 secs ago, sent 0.20 secs ago, Current read buffer: 006b0000001347031030312e33340000000000000000000000, Id 71, fCode 3, tid 107, response: id 71, fCode 3, type h, adr 46, len 8, value 30312e33340000000000000000000000
2019.11.13 14:53:34 5: PV_Anlage_1: DropFrame - drop 006b0000001347031030312e33340000000000000000000000
2019.11.13 14:53:34 5: PV_Anlage_1: StartQueueTimer called form Read sets internal timer to call Modbus_ProcessRequestQueue in 0.000 seconds
2019.11.13 14:53:34 4: PV_Anlage_1: ProcessRequestQueue called from HandleTimeout, qlen 71, next entry to id 71 (PV_Anlage_1), last send to this device was 0.195 secs ago, last read 0.123 secs ago, last read on bus 0.123 secs ago from id 71 (PV_Anlage_1)
2019.11.13 14:53:34 5: PV_Anlage_1: CheckDelay called from ProcessRequestQueue commDelay (0.1s since 14:53:34.608) for PV_Anlage_1, delay 0.027secs over
2019.11.13 14:53:34 5: PV_Anlage_1: CheckDelay called from ProcessRequestQueue sendDelay (0.1s since 14:53:34.535) for PV_Anlage_1, delay 0.104secs over


Und im Fhem reading wird bei %s nichts angezeigt.

Aus der Kostal Oberfläche habe ich folgendes gelesen:

IOC-Version 01.34    < 0134 steht auch in dem gelesenen Buffer

006b 0000 0013 4703 1030 312e 3334 0000 0000 0000 0000 0000 00


Dann habe ich noch die Konvertierungsfunktion aus dem python Skript

#-----------------------------------------
    # Routine to read a string from one address with 8 registers
    def ReadStr8(self,myadr_dec):
        r1=self.client.read_holding_registers(myadr_dec,8,unit=71)
        STRG8Register = BinaryPayloadDecoder.fromRegisters(r1.registers, byteorder=Endian.Big)
        result_STRG8Register =STRG8Register.decode_string(8)
        return(result_STRG8Register)


Aus diesem Skript kommen folgende Meldungen für h46

46, 'Software-Version IO-Controller (IOC)', 'Strg8', b'01.34\x00\x00\x00']


Tja und nu hab ich keine Idee mehr....

Gruß
     Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

franky08

#374
Hallo Allerseits, habe mir in die UV einen SDM530Modbus Zähler von B+G E-TECH eingebaut. Meine Frage, lässt sich Zähler über das ModbusSDM220.pm Modul oder ModbusSDM630.pm Modul oder wie auslesen? Ich habe einen Konverter (Digitus) an FHEM, der wird auch über das HM485_LAN Modul erkannt und über das Modbus Modul eingebunden.

Funktioniert das auch über das ModbusSDM630M Modul (SDM530Modbus Zähler)?


Viele Grüße
franky08
Debian Wheezy auf ZBOX nano/ Debian Bullseye auf 2.ter ZBOX nano F2F an 2x RaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, CCU2,
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink uvm...