Hallo Stefan,
ich wollte die Funktionen gerne in einem Modul haben. siehe Anlage. Das auslesen der Werte funktioniert. Nur das schreiben/setzen der Readings nicht. Ich habe im Modul eine extra Funktion geschrieben die die Readings setzen soll. Es kommen Fehler, die Reading werden gesetzt, aber es werden dann keine weiteren Register mehr ausgelesen.
MODULEVERSION Modbus 4.0.13 - 26.10.2018
2018.10.26 22:15:20 3: lg868 device opened
2018.10.26 22:15:22 1: readingsUpdate(SEdge,CurrentBlock2,5 0 0 0 0 -2) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VoltageAB,0.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VoltageBC,0.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VoltageCA,0.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VoltageAN,237.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VoltageBN,237.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VoltageCN,237.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Voltage_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Power,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Power_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Frequency,50 Hz) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Frequency_SF,65534) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VA,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VA_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VAR,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_VAR_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_PF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_PF_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Energie_WH_kWh,18029.26 kWh) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_AC_Energy_WH_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_DC_Current,65535.00 A) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_DC_Current_SF,32768) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_DC_Voltage,0.00 V) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
2018.10.26 22:15:22 1: readingsUpdate(SEdge,I_DC_Voltage_SF,0) missed to call readingsBeginUpdate first.
2018.10.26 22:15:22 1: stacktrace:
2018.10.26 22:15:22 1: main::readingsBulkUpdate called by ./FHEM/98_Modbus.pm (2426)
2018.10.26 22:15:22 1: main::ModbusLD_ParseObj called by ./FHEM/98_Modbus.pm (2116)
2018.10.26 22:15:22 1: main::Modbus_HandleResponse called by ./FHEM/98_Modbus.pm (1796)
2018.10.26 22:15:22 1: main::Modbus_Read called by fhem.pl (3599)
2018.10.26 22:15:22 1: main::CallFn called by fhem.pl (726)
Was mache ich falsch ? Was muss geändert werden ? Wenn ich diese Abfrage nicht ins Modul lege sondern als Konfig ins fhem.cfg geht es.
attr SEdge userattr obj-h40087-expr obj-h40087-len obj-h40087-reading obj-h40087-unpack verbose
attr SEdge obj-h40087-expr readingsBulkUpdate($hash, 'AC_VA', $val[0] * 10 ** $val[1])
attr SEdge obj-h40087-len 2
attr SEdge obj-h40087-reading VABlock
attr SEdge obj-h40087-unpack ns>
Es kommt auch ein Fehler beim Start von FHEM, aber die Readings werden gesetzt und danach geht es ohne Fehler weiter.
2018.10.26 22:28:22 3: SEdge: defined with id 3, interval 60, protocol RTU, mode master, connection to 192.168.2.7:20108
2018.10.26 22:28:22 1: readingsUpdate(SEdge,AC_VA,0) missed to call readingsBeginUpdate first.
2018.10.26 22:28:22 1: stacktrace:
2018.10.26 22:28:22 1: main::readingsBulkUpdate called by (eval 73) (1)
2018.10.26 22:28:22 1: (eval) called by ./FHEM/98_Modbus.pm (741)
2018.10.26 22:28:22 1: main::ModbusLD_Attr called by fhem.pl (3599)
2018.10.26 22:28:22 1: main::CallFn called by fhem.pl (2871)
2018.10.26 22:28:22 1: main::CommandAttr called by fhem.pl (1216)
2018.10.26 22:28:22 1: main::AnalyzeCommand called by fhem.pl (1062)
2018.10.26 22:28:22 1: main::AnalyzeCommandChain called by fhem.pl (1357)
2018.10.26 22:28:22 1: main::CommandInclude called by fhem.pl (580)
sh: 1: [0]: not found
....
2018.10.26 22:32:25 4: SEdge: ProcessRequestQueue got pdu from PackRequest: 039c6c001a
2018.10.26 22:32:25 5: SEdge: PackFrame called from ProcessRequestQueue id 3, pdu 039c6c001a
2018.10.26 22:32:25 4: SEdge: ProcessRequestQueue (V4.0.13 - 26.10.2018) sending, request: id 3, fCode 3, type h, adr 40044, len 26 for device SEdge reading C_Version, read buffer empty
2018.10.26 22:32:25 5: SW: 03039c6c001a2bae
2018.10.26 22:32:25 5: SEdge: read buffer: 030334303030322e31303533000000000000003745313832304541000000000000000000000000000000000000000000000000000300670bad
2018.10.26 22:32:25 5: SEdge: ParseFrameStart (RTU) extracted id 3, fCode 3 and data 34303030322e3130353300000000000000374531383230454100000000000000000000000000000000000000000000000000030067
2018.10.26 22:32:25 5: SEdge: HandleResponse called from Read
2018.10.26 22:32:25 5: SEdge: ParseResponse called from HandleResponse
2018.10.26 22:32:25 5: SEdge: CheckChecksum (called from HandleResponse): 0bad is valid
2018.10.26 22:32:25 5: SEdge: HandleResponse now passing to logical device SEdge for parsing data
2018.10.26 22:32:25 5: SEdge: ParseObj called with data 303030322e3130353300000000000000374531383230454100000000000000000000000000000000000000000000000000030067, type h, adr 40044, valuesLen 26, op read
2018.10.26 22:32:25 5: SEdge: ParseObj ObjInfo for h40044: reading=C_Version, unpack=a8, expr=$val =~ s/[\00]+//gr, format=, map=
2018.10.26 22:32:25 5: SEdge: ParseObj unpacked 303030322e3130353300000000000000374531383230454100000000000000000000000000000000000000000000000000030067 with a8 to 0002.105 hex 303030322e313035
2018.10.26 22:32:25 5: SEdge: CheckEval for ModbusLD_ParseObj evaluates expr for C_Version, val=0002.105, expr=$val =~ s/[\00]+//gr
2018.10.26 22:32:25 5: SEdge: CheckEval for ModbusLD_ParseObj result is 0002.105
2018.10.26 22:32:25 4: SEdge: ParseObj assigns value 0002.105 to C_Version
2018.10.26 22:32:25 5: SEdge: ParseObj moves to next object, skip 4 to h40048
2018.10.26 22:32:25 5: SEdge: ParseObj has no information about parsing h40048
2018.10.26 22:32:25 5: SEdge: ParseObj moves to next object, skip 1 to h40049
2018.10.26 22:32:25 5: SEdge: ParseObj has no information about parsing h40049
2018.10.26 22:32:25 5: SEdge: ParseObj moves to next object, skip 1 to h40050
2018.10.26 22:32:25 5: SEdge: ParseObj has no information about parsing h40050
2018.10.26 22:32:25 5: SEdge: ParseObj moves to next object, skip 1 to h40051
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40051
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40052
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40052: reading=C_SerialNumber, unpack=a16, expr=$val =~ s/[\00]+//gr, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 374531383230454100000000000000000000000000000000000000000000000000030067 with a16 to 7E1820EA hex 37453138323045410000000000000000
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj evaluates expr for C_SerialNumber, val=7E1820EA, expr=$val =~ s/[\00]+//gr
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj result is 7E1820EA
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 7E1820EA to C_SerialNumber
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 8 to h40060
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40060
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40061
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40061
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40062
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40062
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40063
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40063
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40064
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40064
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40065
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40065
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40066
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40066
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40067
2018.10.26 22:32:26 5: SEdge: ParseObj has no information about parsing h40067
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40068
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40068: reading=C_DeviceAddress, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00030067 with n to 3 hex 33
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 3 to C_DeviceAddress
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40069
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40069: reading=C_SunSpec_DID, unpack=n, expr=, format=, map=101:Einphasig, 102:Spaltphase1, 103:Dreiphasig
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0067 with n to 103 hex 313033
2018.10.26 22:32:26 5: SEdge: MapConvert called from ModbusLD_ParseObj converted 103 to Dreiphasig with map 101:Einphasig, 102:Spaltphase1, 103:Dreiphasig
2018.10.26 22:32:26 5: SEdge: ParseObj for C_SunSpec_DID maps value 103 to Dreiphasig with 101:Einphasig, 102:Spaltphase1, 103:Dreiphasig
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value Dreiphasig to C_SunSpec_DID
2018.10.26 22:32:26 5: SEdge: HandleResponse got 4 readings from ParseObj for SEdge
2018.10.26 22:32:26 4: SEdge: ResponseDone, request: id 3, fCode 3, type h, adr 40044, len 26 for device SEdge reading C_Version, Current read buffer: 030334303030322e31303533000000000000003745313832304541000000000000000000000000000000000000000000000000000300670bad, Id 3, fCode 3, response: id 3, fCode 3, type h, adr 40044, len 26, value 303030322e3130353300000000000000374531383230454100000000000000000000000000000000000000000000000000030067
2018.10.26 22:32:26 5: SEdge: DropFrame - drop 030334303030322e31303533000000000000003745313832304541000000000000000000000000000000000000000000000000000300670bad
2018.10.26 22:32:26 5: SEdge: StartQueueTimer called form Read sets internal timer to call Modbus_ProcessRequestQueue in 0.000 seconds
2018.10.26 22:32:26 5: SEdge: ProcessRequestQueue called from HandleTimeout as queue:SEdge
2018.10.26 22:32:26 5: SEdge: StopQueueTimer called from ProcessRequestQueue removes internal timer to call Modbus_ProcessRequestQueue
2018.10.26 22:32:26 5: SEdge: CheckDelay called from ProcessRequestQueue commDelay (0.1s since 22:32:25.966) for SEdge, delay over
2018.10.26 22:32:26 5: SEdge: CheckDelay called from ProcessRequestQueue sendDelay (0.1s since 22:32:25.939) for SEdge, delay over
2018.10.26 22:32:26 5: SEdge: PackRequest called from ProcessRequestQueue
2018.10.26 22:32:26 4: SEdge: ProcessRequestQueue got pdu from PackRequest: 039c87001d
2018.10.26 22:32:26 5: SEdge: PackFrame called from ProcessRequestQueue id 3, pdu 039c87001d
2018.10.26 22:32:26 4: SEdge: ProcessRequestQueue (V4.0.13 - 26.10.2018) sending, request: id 3, fCode 3, type h, adr 40071, len 29 for device SEdge reading CurrentBlock2, read buffer empty
2018.10.26 22:32:26 5: SW: 03039c87001d1a58
2018.10.26 22:32:26 5: SEdge: read buffer: 03033a0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000a861
2018.10.26 22:32:26 5: SEdge: ParseFrameStart (RTU) extracted id 3, fCode 3 and data 3a0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000
2018.10.26 22:32:26 5: SEdge: HandleResponse called from Read
2018.10.26 22:32:26 5: SEdge: ParseResponse called from HandleResponse
2018.10.26 22:32:26 5: SEdge: CheckChecksum (called from HandleResponse): a861 is valid
2018.10.26 22:32:26 5: SEdge: HandleResponse now passing to logical device SEdge for parsing data
2018.10.26 22:32:26 5: SEdge: ParseObj called with data 0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000, type h, adr 40071, valuesLen 29, op read
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40071: reading=CurrentBlock2, unpack=nnnns>, expr=@val." ".$val[0]." ".$val[1]." ".$val[2]." ".$val[3]." ".$val[4], format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with nnnns> to 0 hex 30, 0 hex 30, 0 hex 30, 0 hex 30, -2 hex 2d32
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj evaluates expr for CurrentBlock2, val=0 0 0 0 -2, expr=@val." ".$val[0]." ".$val[1]." ".$val[2]." ".$val[3]." ".$val[4]
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj result is 5 0 0 0 0 -2
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 5 0 0 0 0 -2 to CurrentBlock2
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 5 to h40076
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40076: reading=I_AC_VoltageAB, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 409 hex 343039
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageAB does sprintf with format %.2f V, value is 409
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageAB sprintf result is 409.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 409.00 V to I_AC_VoltageAB
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40077
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40077: reading=I_AC_VoltageBC, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 410 hex 343130
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageBC does sprintf with format %.2f V, value is 410
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageBC sprintf result is 410.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 410.00 V to I_AC_VoltageBC
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40078
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40078: reading=I_AC_VoltageCA, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 411 hex 343131
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageCA does sprintf with format %.2f V, value is 411
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageCA sprintf result is 411.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 411.00 V to I_AC_VoltageCA
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40079
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40079: reading=I_AC_VoltageAN, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 236 hex 323336
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageAN does sprintf with format %.2f V, value is 236
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageAN sprintf result is 236.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 236.00 V to I_AC_VoltageAN
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40080
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40080: reading=I_AC_VoltageBN, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 237 hex 323337
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageBN does sprintf with format %.2f V, value is 237
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageBN sprintf result is 237.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 237.00 V to I_AC_VoltageBN
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40081
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40081: reading=I_AC_VoltageCN, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 236 hex 323336
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageCN does sprintf with format %.2f V, value is 236
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_VoltageCN sprintf result is 236.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 236.00 V to I_AC_VoltageCN
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40082
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40082: reading=I_AC_Voltage_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_Voltage_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40083
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40083: reading=I_AC_Power, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 000000001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_Power
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40084
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40084: reading=I_AC_Power_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00001385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_Power_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40085
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40085: reading=I_AC_Frequency, unpack=n, expr=$val/100, format=%.f Hz, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 1385fffe00000000000000000000000001131aca0000ffff800000000000 with n to 4997 hex 34393937
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj evaluates expr for I_AC_Frequency, val=4997, expr=$val/100
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj result is 49.97
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_Frequency does sprintf with format %.f Hz, value is 49.97
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_Frequency sprintf result is 50 Hz
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 50 Hz to I_AC_Frequency
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40086
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40086: reading=I_AC_Frequency_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked fffe00000000000000000000000001131aca0000ffff800000000000 with n to 65534 hex 3635353334
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 65534 to I_AC_Frequency_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40087
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40087: reading=VABlock, unpack=ns>, expr=readingsBulkUpdate($hash, 'AC_VA', $val[0] * 10 ** $val[1]), format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00000000000000000000000001131aca0000ffff800000000000 with ns> to 0 hex 30, 0 hex 30
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj evaluates expr for VABlock, val=0 0, expr=readingsBulkUpdate($hash, 'AC_VA', $val[0] * 10 ** $val[1])
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj result is AC_VA: 0
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value AC_VA: 0 to VABlock
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 2 to h40089
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40089: reading=I_AC_VAR, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 000000000000000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_VAR
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40090
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40090: reading=I_AC_VAR_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00000000000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_VAR_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40091
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40091: reading=I_AC_PF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0000000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_PF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40092
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40092: reading=I_AC_PF_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 000001131aca0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_PF_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40093
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40093: reading=I_AC_Energie_WH_kWh, unpack=l>, expr=$val / 1000, format=%.2f kWh, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 01131aca0000ffff800000000000 with l> to 18029258 hex 3138303239323538
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj evaluates expr for I_AC_Energie_WH_kWh, val=18029258, expr=$val / 1000
2018.10.26 22:32:26 5: SEdge: CheckEval for ModbusLD_ParseObj result is 18029.258
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_Energie_WH_kWh does sprintf with format %.2f kWh, value is 18029.258
2018.10.26 22:32:26 5: SEdge: ParseObj for I_AC_Energie_WH_kWh sprintf result is 18029.26 kWh
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 18029.26 kWh to I_AC_Energie_WH_kWh
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 2 to h40095
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40095: reading=I_AC_Energy_WH_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0000ffff800000000000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_AC_Energy_WH_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40096
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40096: reading=I_DC_Current, unpack=n, expr=, format=%.2f A, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked ffff800000000000 with n to 65535 hex 3635353335
2018.10.26 22:32:26 5: SEdge: ParseObj for I_DC_Current does sprintf with format %.2f A, value is 65535
2018.10.26 22:32:26 5: SEdge: ParseObj for I_DC_Current sprintf result is 65535.00 A
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 65535.00 A to I_DC_Current
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40097
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40097: reading=I_DC_Current_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 800000000000 with n to 32768 hex 3332373638
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 32768 to I_DC_Current_SF
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40098
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40098: reading=I_DC_Voltage, unpack=n, expr=, format=%.2f V, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 00000000 with n to 0 hex 30
2018.10.26 22:32:26 5: SEdge: ParseObj for I_DC_Voltage does sprintf with format %.2f V, value is 0
2018.10.26 22:32:26 5: SEdge: ParseObj for I_DC_Voltage sprintf result is 0.00 V
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0.00 V to I_DC_Voltage
2018.10.26 22:32:26 5: SEdge: ParseObj moves to next object, skip 1 to h40099
2018.10.26 22:32:26 5: SEdge: ParseObj ObjInfo for h40099: reading=I_DC_Voltage_SF, unpack=n, expr=, format=, map=
2018.10.26 22:32:26 5: SEdge: ParseObj unpacked 0000 with n to 0 hex 30
2018.10.26 22:32:26 4: SEdge: ParseObj assigns value 0 to I_DC_Voltage_SF
2018.10.26 22:32:26 5: SEdge: HandleResponse got 23 readings from ParseObj for SEdge
2018.10.26 22:32:26 4: SEdge: ResponseDone, request: id 3, fCode 3, type h, adr 40071, len 29 for device SEdge reading CurrentBlock2, Current read buffer: 03033a0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000a861, Id 3, fCode 3, response: id 3, fCode 3, type h, adr 40071, len 29, value 0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000
2018.10.26 22:32:26 5: SEdge: DropFrame - drop 03033a0000000000000000fffe0199019a019b00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff800000000000a861
2018.10.26 22:32:59 5: SEdge: read buffer: 03031400000000000000008000000080008000fffe0002ffe5
2018.10.26 22:32:59 5: SEdge: ParseFrameStart (RTU) extracted id 3, fCode 3 and data 1400000000000000008000000080008000fffe0002
2018.10.26 22:32:59 3: SEdge: read got new data while idle, drop buffer 03031400000000000000008000000080008000fffe0002ffe5
2018.10.26 22:32:59 5: SEdge: read buffer: 03033c0003006700320000000000000000fffe0199019a019a00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff8000a8ee
2018.10.26 22:32:59 5: SEdge: ParseFrameStart (RTU) extracted id 3, fCode 3 and data 3c0003006700320000000000000000fffe0199019a019a00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff8000
2018.10.26 22:32:59 3: SEdge: read got new data while idle, drop buffer 03033c0003006700320000000000000000fffe0199019a019a00ec00ed00ec0000000000001385fffe00000000000000000000000001131aca0000ffff8000a8ee
Tschüß Jörg