Ich schaffe es nicht mit ModbusAttr das Register 40210 auszulesen.
Mein Device:
define MD_SE_10K ModbusAttr 1 7 192.168.XXX.XXX TCP
obj-h40210-len 1\
obj-h40210-reading M_AC_POWER_SF\
obj-h40210-unpack s>\
attr MD_SE_10K dev-h-combine 105
attr MD_SE_10K dev-h-defPoll 1
attr MD_SE_10K dev-h-defShowGet 1
attr MD_SE_10K enableControlSet 1
attr MD_SE_10K event-on-change-reading .*
attr MD_SE_10K maxTimeoutsToReconnect 3
attr MD_SE_10K obj-h40083-expr $val * (10 ** $val[1])/1000
attr MD_SE_10K obj-h40083-format %.2f
attr MD_SE_10K obj-h40083-len 2
attr MD_SE_10K obj-h40083-reading I_AC-Power
attr MD_SE_10K obj-h40083-unpack s>s>
attr MD_SE_10K obj-h40100-expr $val * (10 ** $val[1])/1000
attr MD_SE_10K obj-h40100-format %.2f
attr MD_SE_10K obj-h40100-len 2
attr MD_SE_10K obj-h40100-reading I_DC-Power
attr MD_SE_10K obj-h40100-unpack s>s>
attr MD_SE_10K obj-h40206-expr ($val[0] * (10 ** $val[4]))/1000
attr MD_SE_10K obj-h40206-format %.2f
attr MD_SE_10K obj-h40206-len 5
attr MD_SE_10K obj-h40206-reading M_AC-Power
attr MD_SE_10K obj-h40206-unpack s>s>
attr MD_SE_10K obj-h40210-reading M_AC_POWER_SF
attr MD_SE_10K obj-h62836-expr $val / 1000
attr MD_SE_10K obj-h62836-format %.2f
attr MD_SE_10K obj-h62836-len 2
attr MD_SE_10K obj-h62836-reading B_Instantaneous_Power
attr MD_SE_10K obj-h62836-revRegs 1
attr MD_SE_10K obj-h62836-unpack f>
attr MD_SE_10K obj-h62848-expr $val / 1000
attr MD_SE_10K obj-h62848-format %.2f
attr MD_SE_10K obj-h62848-len 2
attr MD_SE_10K obj-h62848-reading B_Available_Energy
attr MD_SE_10K obj-h62848-revRegs 1
attr MD_SE_10K obj-h62848-unpack f>
attr MD_SE_10K obj-h62852-format %.1f
attr MD_SE_10K obj-h62852-len 2
attr MD_SE_10K obj-h62852-reading B_State_of_Energy
attr MD_SE_10K obj-h62852-revRegs 1
attr MD_SE_10K obj-h62852-unpack f>
attr MD_SE_10K silentReconnect 1
attr MD_SE_10K sortUpdate 1
attr MD_SE_10K userReadings B_State_of_Energy_in_kWh:B_State_of_Energy.* {\
my $stat = ReadingsNum ($name,'B_State_of_Energy',0);;\
my $aval = ReadingsNum ($name,'B_Available_Energy',0)/100;;\
my $result = 0;;\
$result = $stat*$aval;;\
return sprintf("%.2f", $result);;\
},\
BatIn:B_Instantaneous_Power.* {\
my $pwr = ReadingsNum ($name, 'B_Instantaneous_Power', 0);;\
$pwr = $pwr > 0 ? $pwr : 0;;\
$pwr\
},\
BatOut:B_Instantaneous_Power.* {\
my $pwr = ReadingsNum ($name, 'B_Instantaneous_Power', 0);;\
$pwr = $pwr < 0 ? abs $pwr : 0;;\
$pwr\
},\
M_AC-Power_Purchased:M_AC-Power.* {\
my $pwr = ReadingsNum ($name, 'M_AC-Power', 0);;\
$pwr = $pwr < 0 ? abs $pwr : 0;;\
$pwr\
},\
M_AC-Power_FeendIn:M_AC-Power.* {\
my $pwr = ReadingsNum ($name, 'M_AC-Power', 0);;\
$pwr = $pwr > 0 ? $pwr : 0;;\
$pwr\
}
attr MD_SE_10K verbose 5
# DEF 1 7 192.168.XXX.XXX TCP
# DeviceName 192.168.XXX.XXX:502
# EXPECT idle
# FUUID 68caf748-f33f-84ec-167e-f6e30fec496357e2
# Interval 7
# MODBUSID 1
# MODE master
# MODULEVERSION Modbus 5.0.1 - 7.12.2025
# NAME MD_SE_10K
# NOTIFYDEV global
# NR 448
# NTFY_ORDER 50-MD_SE_10K
# PROTOCOL TCP
# STATE inactive
# TCPConn 1
# TYPE ModbusAttr
# devioLoglevel 5
# devioNoSTATE 1
# eventCount 1769
# nextOpenDelay 60
# OICACHE:
# READ:
# BUFFER
# READINGS:
# 2026-02-11 20:27:33 B_Available_Energy 9.53
# 2026-02-11 20:27:33 B_Instantaneous_Power 0.00
# 2026-02-11 20:27:33 B_State_of_Energy 1.1
# 2026-02-11 11:45:30 B_State_of_Energy_in_kWh 0.10
# 2026-02-11 10:08:10 BatIn 0
# 2026-02-11 10:08:10 BatOut 0
# 2026-02-11 20:27:33 I_AC-Power -0.08
# 2026-02-11 20:27:33 I_DC-Power -0.08
# 2025-10-14 12:52:23 I_Status On
# 2026-02-11 20:27:33 M_AC-Power -4.09
# 2026-02-11 20:27:33 M_AC-Power_FeendIn 0
# 2026-02-11 20:27:33 M_AC-Power_Purchased 4.09
# 2026-02-11 20:27:33 M_AC_POWER_SF 65535
# 2026-02-10 18:52:17 M_Energy_W_SF -3
# 2026-02-10 18:52:17 M_Imported 831.65
# 2026-02-10 18:34:39 Zustand Export+Import
# 2026-02-11 20:27:38 state inactive
# REMEMBER:
# lid 1
# lname MD_SE_10K
# lrecv 1770838053.64688
# lsend 1770838053.60111
# defptr:
# MD_SE_10K 1
# gotReadings:
# B_Available_Energy 9.53
# B_Instantaneous_Power 0.00
# B_State_of_Energy 1.1
# hmccu:
# lastRead:
# h40083 1770838053.373
# h40100 1770838053.37335
# h40206 1770838053.50005
# h40210 1770838053.50019
# h62836 1770838053.65292
# h62848 1770838053.65328
# h62852 1770838053.65343
#
setstate MD_SE_10K 2026-02-11 20:27:33 B_Available_Energy 9.53
setstate MD_SE_10K 2026-02-11 20:27:33 B_Instantaneous_Power 0.00
setstate MD_SE_10K 2026-02-11 20:27:33 B_State_of_Energy 1.1
setstate MD_SE_10K 2026-02-11 11:45:30 B_State_of_Energy_in_kWh 0.10
setstate MD_SE_10K 2026-02-11 10:08:10 BatIn 0
setstate MD_SE_10K 2026-02-11 10:08:10 BatOut 0
setstate MD_SE_10K 2026-02-11 20:27:33 I_AC-Power -0.08
setstate MD_SE_10K 2026-02-11 20:27:33 I_DC-Power -0.08
setstate MD_SE_10K 2025-10-14 12:52:23 I_Status On
setstate MD_SE_10K 2026-02-11 20:27:33 M_AC-Power -4.09
setstate MD_SE_10K 2026-02-11 20:27:33 M_AC-Power_FeendIn 0
setstate MD_SE_10K 2026-02-11 20:27:33 M_AC-Power_Purchased 4.09
setstate MD_SE_10K 2026-02-11 20:27:33 M_AC_POWER_SF 65535
setstate MD_SE_10K 2026-02-10 18:52:17 M_Energy_W_SF -3
setstate MD_SE_10K 2026-02-10 18:52:17 M_Imported 831.65
setstate MD_SE_10K 2026-02-10 18:34:39 Zustand Export+Import
setstate MD_SE_10K 2026-02-11 20:27:38 state inactive
log-Auszug (vorbose 5)
2026.02.11 20:32:03 4: MD_SE_10K: GetUpdate (V5.0.1 - 7.12.2025) called from Fhem internal timer
2026.02.11 20:32:03 4: MD_SE_10K: UpdateTimer called from GetUpdate with cmd next sets timer to call update function in 7.0 sec at 20:32:10.846, interval 7
2026.02.11 20:32:03 5: MD_SE_10K: CreateRawObjList: h40083 h40100 h40206 h40210 h62836 h62848 h62852
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h40083 reading I_AC-Power, poll = 1, polldelay = 0.5, last = 1770838316.89465
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h40083 len 2 I_AC-Power
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h40100 reading I_DC-Power, poll = 1, polldelay = 0.5, last = 1770838316.89513
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h40100 len 2 I_DC-Power
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h40206 reading M_AC-Power, poll = 1, polldelay = 0.5, last = 1770838317.1563
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h40206 len 5 M_AC-Power
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h40210 reading M_AC_POWER_SF, poll = 1, polldelay = 0.5, last = 1770838053.50019
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h40210 len 1 M_AC_POWER_SF
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h62836 reading B_Instantaneous_Power, poll = 1, polldelay = 0.5, last = 1770838317.3624
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h62836 len 2 B_Instantaneous_Power
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h62848 reading B_Available_Energy, poll = 1, polldelay = 0.5, last = 1770838317.3625
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h62848 len 2 B_Available_Energy
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash check h62852 reading B_State_of_Energy, poll = 1, polldelay = 0.5, last = 1770838317.36257
2026.02.11 20:32:03 5: MD_SE_10K: CreateUpdateHash will request h62852 len 2 B_State_of_Energy
2026.02.11 20:32:03 4: MD_SE_10K: CombineUpdateHash objHash keys before combine: h62852,h62848,h40210,h62836,h40100,h40206,h40083
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash tries to combine read commands
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash combine h40083 len 2 I_AC-Power with h40100 len 2 I_DC-Power to span 19, drop read for h40100
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash cant combine h40083 len 2 I_AC-Power with h40206 len 5 M_AC-Power, span 128 would be bigger than max 105
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash combine h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF to span 5, drop read for h40210
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash cant combine h40206 len 5 M_AC-Power with h62836 len 2 B_Instantaneous_Power, span 22632 would be bigger than max 105
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash combine h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy to span 14, drop read for h62848
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash combine h62836 len 2 B_Instantaneous_Power with h62852 len 2 B_State_of_Energy to span 18, drop read for h62852
2026.02.11 20:32:03 5: MD_SE_10K: CombineUpdateHash keys are now h62836,h40206,h40083
2026.02.11 20:32:03 4: MD_SE_10K: GetUpdate will now create requests for h40083 len 19 (combined h40083 len 2 I_AC-Power with h40100 len 2 I_DC-Power), h40206 len 5 (combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF), h62836 len 18 (combined h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy and h62852 len 2 B_State_of_Energy)
2026.02.11 20:32:03 4: MD_SE_10K: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h40083, len 19, tid 178, master device MD_SE_10K, reading I_AC-Power (getUpdate for combined h40083 len 2 I_AC-Power with h40100 len 2 I_DC-Power)
2026.02.11 20:32:03 5: MD_SE_10K: QueueRequest called from DoRequest with h40083, qlen 0 from master MD_SE_10K through io device MD_SE_10K
2026.02.11 20:32:03 5: MD_SE_10K: StartQueueTimer called from QueueRequest sets internal timer to process queue in 0.000 seconds
2026.02.11 20:32:03 4: MD_SE_10K: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h40206, len 5, tid 72, master device MD_SE_10K, reading M_AC-Power (getUpdate for combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF)
2026.02.11 20:32:03 5: MD_SE_10K: QueueRequest called from DoRequest with h40206, qlen 1 from master MD_SE_10K through io device MD_SE_10K
2026.02.11 20:32:03 4: MD_SE_10K: DoRequest called from GetUpdate created new request, read buffer empty,
request: id 1, read fc 3 h62836, len 18, tid 70, master device MD_SE_10K, reading B_Instantaneous_Power (getUpdate for combined h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy and h62852 len 2 B_State_of_Energy)
2026.02.11 20:32:03 5: MD_SE_10K: QueueRequest called from DoRequest with h62836, qlen 2 from master MD_SE_10K through io device MD_SE_10K
2026.02.11 20:32:03 5: MD_SE_10K: ProcessRequestQueue called from Fhem internal timer as queue:MD_SE_10K, qlen 3, request: request: id 1, read fc 3 h40083, len 19, tid 178, master device MD_SE_10K, reading I_AC-Power (getUpdate for combined h40083 len 2 I_AC-Power with h40100 len 2 I_DC-Power), queued 0.00 secs ago
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays commDelay, last communication with same device was 6.496 secs ago, required delay is 0.1
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays sendDelay, last send to same device was 6.596 secs ago, required delay is 0.1
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays clientSwitchDelay is not relevant
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays busDelayRead is not required
2026.02.11 20:32:03 4: MD_SE_10K: ProcessRequestQueue (V5.0.1 - 7.12.2025) qlen 3, sending 00b20000000601039c930013 via 192.168.2.40:502, read buffer empty,
request: id 1, read fc 3 h40083, len 19, tid 178, master device MD_SE_10K, reading I_AC-Power (getUpdate for combined h40083 len 2 I_AC-Power with h40100 len 2 I_DC-Power), queued 0.00 secs ago
2026.02.11 20:32:03 5: MD_SE_10K: Send called from ProcessRequestQueue
2026.02.11 20:32:03 5: DevIo_SimpleWrite MD_SE_10K: 00b20000000601039c930013
2026.02.11 20:32:03 5: MD_SE_10K: StartQueueTimer called from ProcessRequestQueue sets internal timer to process queue in 1.000 seconds
2026.02.11 20:32:03 5: MD_SE_10K: readFn buffer: 00b200000029010326e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe mode master, expect response
2026.02.11 20:32:03 5: MD_SE_10K: ParseFrameStart called from ReadFn protocol TCP expecting id 1
2026.02.11 20:32:03 4: MD_SE_10K: ParseFrameStart (TCP, master) extracted id 1, fCode 3, tid 178, dlen 41 and potential data 26e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe
2026.02.11 20:32:03 5: MD_SE_10K: HandleResponse called from ReadFn
2026.02.11 20:32:03 5: MD_SE_10K: HandleResponse is now creating response hash, masterHash is HASH(0x5583814d1608)
2026.02.11 20:32:03 5: MD_SE_10K: HandleResponse is now calling ParseResponse, masterHash is HASH(0x5583814d1608)
2026.02.11 20:32:03 5: MD_SE_10K: ParseResponse called from HandleResponse, fc 3
2026.02.11 20:32:03 5: MD_SE_10K: now parsing response data objects, master is MD_SE_10K relay is undefined
2026.02.11 20:32:03 5: MD_SE_10K: ParseDataString called from HandleResponse with data hex e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe, type h, adr 40083, op read
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString called from ParseDataString with data hex e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe, type h, adr 40083, valuesLen 19, op read
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 2 objects / 4 bytes to h40085
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40085
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40086
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40086
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40087
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40087
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40088
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40088
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40089
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40089
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40090
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40090
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40091
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40091
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40092
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40092
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40093
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40093
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40094
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40094
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40095
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40095
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40096
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40096
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40097
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40097
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40098
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40098
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40099
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString has no information about handling h40099
2026.02.11 20:32:03 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h40100
2026.02.11 20:32:03 5: MD_SE_10K: CreateDataObjects called from ParseDataString with sorted List h40083,h40100
2026.02.11 20:32:03 5: MD_SE_10K: CreateDataObjects looks at h40083, len 2
2026.02.11 20:32:03 5: MD_SE_10K: CreateDataObjects unpacked e191fffe with s>s> to -7791, -2
2026.02.11 20:32:03 5: MD_SE_10K: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val * (10 ** $val[1])/1000 to -0.07791
2026.02.11 20:32:03 5: MD_SE_10K: FormatVal for CreateDataObjects formats -0.07791 with format %.2f, result is -0.08
2026.02.11 20:32:03 4: MD_SE_10K: CreateDataObjects assigns value -0.08 to I_AC-Power
2026.02.11 20:32:03 5: MD_SE_10K: CreateDataObjects looks at h40100, len 2
2026.02.11 20:32:03 5: MD_SE_10K: CreateDataObjects unpacked e11afffe with s>s> to -7910, -2
2026.02.11 20:32:03 5: MD_SE_10K: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val * (10 ** $val[1])/1000 to -0.0791
2026.02.11 20:32:03 5: MD_SE_10K: FormatVal for CreateDataObjects formats -0.0791 with format %.2f, result is -0.08
2026.02.11 20:32:03 4: MD_SE_10K: CreateDataObjects assigns value -0.08 to I_DC-Power
2026.02.11 20:32:03 5: MD_SE_10K: ParseDataString created 2 readings, errcode undef
2026.02.11 20:32:03 4: MD_SE_10K: HandleResponse done, current frame / read buffer: 00b200000029010326e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe, id 1, fCode 3, tid 178,
request: id 1, read fc 3 h40083, len 19, tid 178, master device MD_SE_10K, reading I_AC-Power (getUpdate for combined h40083 len 2 I_AC-Power with h40100 len 2 I_DC-Power), queued 0.11 secs ago, sent 0.11 secs ago,
response: id 1, fc 3, h40083, len 19, values e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe
2026.02.11 20:32:03 5: MD_SE_10K: ResetExpect for HandleResponse from response to idle
2026.02.11 20:32:03 5: MD_SE_10K: StartQueueTimer called from HandleResponse sets internal timer to process queue in 0.000 seconds
2026.02.11 20:32:03 5: MD_SE_10K: DropFrame called from ReadFn - drop 00b200000029010326e191fffe1386fffe438cfffec3b3fffe1191fffe001088f60000d849fffb1e64ffffe11afffe
2026.02.11 20:32:03 5: MD_SE_10K: readFn end buffer: mode master, expect idle
2026.02.11 20:32:03 5: MD_SE_10K: ProcessRequestQueue called from Fhem internal timer as queue:MD_SE_10K, qlen 2, request: request: id 1, read fc 3 h40206, len 5, tid 72, master device MD_SE_10K, reading M_AC-Power (getUpdate for combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF), queued 0.11 secs ago
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays commDelay, last communication with same device was 0.006 secs ago, required delay is 0.1
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays clientSwitchDelay is not relevant
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays sendDelay, last send to same device was 0.105 secs ago, required delay is 0.1
2026.02.11 20:32:03 5: MD_SE_10K: checkDelays busDelayRead is not required
2026.02.11 20:32:03 4: MD_SE_10K: checkDelays found commDelay not over, set timer to try again in 0.094
2026.02.11 20:32:04 5: MD_SE_10K: ProcessRequestQueue called from Fhem internal timer as queue:MD_SE_10K, qlen 2, request: request: id 1, read fc 3 h40206, len 5, tid 72, master device MD_SE_10K, reading M_AC-Power (getUpdate for combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF), queued 0.20 secs ago
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays busDelayRead is not required
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays sendDelay, last send to same device was 0.201 secs ago, required delay is 0.1
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays clientSwitchDelay is not relevant
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays commDelay, last communication with same device was 0.101 secs ago, required delay is 0.1
2026.02.11 20:32:04 4: MD_SE_10K: ProcessRequestQueue (V5.0.1 - 7.12.2025) qlen 2, sending 00480000000601039d0e0005 via 192.168.2.40:502, read buffer empty,
request: id 1, read fc 3 h40206, len 5, tid 72, master device MD_SE_10K, reading M_AC-Power (getUpdate for combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF), queued 0.20 secs ago
2026.02.11 20:32:04 5: MD_SE_10K: Send called from ProcessRequestQueue
2026.02.11 20:32:04 5: DevIo_SimpleWrite MD_SE_10K: 00480000000601039d0e0005
2026.02.11 20:32:04 5: MD_SE_10K: StartQueueTimer called from ProcessRequestQueue sets internal timer to process queue in 1.000 seconds
2026.02.11 20:32:04 5: MD_SE_10K: readFn buffer: 00480000000d01030af195f885fd26fbebffff mode master, expect response
2026.02.11 20:32:04 5: MD_SE_10K: ParseFrameStart called from ReadFn protocol TCP expecting id 1
2026.02.11 20:32:04 4: MD_SE_10K: ParseFrameStart (TCP, master) extracted id 1, fCode 3, tid 72, dlen 13 and potential data 0af195f885fd26fbebffff
2026.02.11 20:32:04 5: MD_SE_10K: HandleResponse called from ReadFn
2026.02.11 20:32:04 5: MD_SE_10K: HandleResponse is now creating response hash, masterHash is HASH(0x5583814d1608)
2026.02.11 20:32:04 5: MD_SE_10K: HandleResponse is now calling ParseResponse, masterHash is HASH(0x5583814d1608)
2026.02.11 20:32:04 5: MD_SE_10K: ParseResponse called from HandleResponse, fc 3
2026.02.11 20:32:04 5: MD_SE_10K: now parsing response data objects, master is MD_SE_10K relay is undefined
2026.02.11 20:32:04 5: MD_SE_10K: ParseDataString called from HandleResponse with data hex f195f885fd26fbebffff, type h, adr 40206, op read
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString called from ParseDataString with data hex f195f885fd26fbebffff, type h, adr 40206, valuesLen 5, op read
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects called from ParseDataString with sorted List h40206
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects looks at h40206, len 5
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects unpacked f195f885fd26fbebffff with s>s> to -3691, -1915
2026.02.11 20:32:04 3: MD_SE_10K: perl expression eval with expresion package main; my @val = @{$oRef->{'%val'}};($val[0] * (10 ** $val[4]))/1000 created warning: Use of uninitialized value $val[4] in exponentiation (**) at (eval 319772) line 1.
2026.02.11 20:32:04 5: MD_SE_10K: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};($val[0] * (10 ** $val[4]))/1000 to -3.691
2026.02.11 20:32:04 5: MD_SE_10K: FormatVal for CreateDataObjects formats -3.691 with format %.2f, result is -3.69
2026.02.11 20:32:04 4: MD_SE_10K: CreateDataObjects assigns value -3.69 to M_AC-Power
2026.02.11 20:32:04 5: MD_SE_10K: ParseDataString created 1 readings, errcode undef
2026.02.11 20:32:04 4: MD_SE_10K: HandleResponse done, current frame / read buffer: 00480000000d01030af195f885fd26fbebffff, id 1, fCode 3, tid 72,
request: id 1, read fc 3 h40206, len 5, tid 72, master device MD_SE_10K, reading M_AC-Power (getUpdate for combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF), queued 0.27 secs ago, sent 0.07 secs ago,
response: id 1, fc 3, h40206, len 5, values f195f885fd26fbebffff
2026.02.11 20:32:04 5: MD_SE_10K: ResetExpect for HandleResponse from response to idle
2026.02.11 20:32:04 5: MD_SE_10K: StartQueueTimer called from HandleResponse sets internal timer to process queue in 0.000 seconds
2026.02.11 20:32:04 5: MD_SE_10K: DropFrame called from ReadFn - drop 00480000000d01030af195f885fd26fbebffff
2026.02.11 20:32:04 5: MD_SE_10K: readFn end buffer: mode master, expect idle
2026.02.11 20:32:04 5: MD_SE_10K: ProcessRequestQueue called from Fhem internal timer as queue:MD_SE_10K, qlen 1, request: request: id 1, read fc 3 h62836, len 18, tid 70, master device MD_SE_10K, reading B_Instantaneous_Power (getUpdate for combined h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy and h62852 len 2 B_State_of_Energy), queued 0.27 secs ago
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays commDelay, last communication with same device was 0.008 secs ago, required delay is 0.1
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays sendDelay, last send to same device was 0.065 secs ago, required delay is 0.1
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays clientSwitchDelay is not relevant
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays busDelayRead is not required
2026.02.11 20:32:04 4: MD_SE_10K: checkDelays found commDelay not over, set timer to try again in 0.092
2026.02.11 20:32:04 5: MD_SE_10K: ProcessRequestQueue called from Fhem internal timer as queue:MD_SE_10K, qlen 1, request: request: id 1, read fc 3 h62836, len 18, tid 70, master device MD_SE_10K, reading B_Instantaneous_Power (getUpdate for combined h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy and h62852 len 2 B_State_of_Energy), queued 0.36 secs ago
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays busDelayRead is not required
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays sendDelay, last send to same device was 0.159 secs ago, required delay is 0.1
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays clientSwitchDelay is not relevant
2026.02.11 20:32:04 5: MD_SE_10K: checkDelays commDelay, last communication with same device was 0.102 secs ago, required delay is 0.1
2026.02.11 20:32:04 4: MD_SE_10K: ProcessRequestQueue (V5.0.1 - 7.12.2025) qlen 1, sending 0046000000060103f5740012 via 192.168.2.40:502, read buffer empty,
request: id 1, read fc 3 h62836, len 18, tid 70, master device MD_SE_10K, reading B_Instantaneous_Power (getUpdate for combined h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy and h62852 len 2 B_State_of_Energy), queued 0.36 secs ago
2026.02.11 20:32:04 5: MD_SE_10K: Send called from ProcessRequestQueue
2026.02.11 20:32:04 5: DevIo_SimpleWrite MD_SE_10K: 0046000000060103f5740012
2026.02.11 20:32:04 5: MD_SE_10K: readFn buffer: 004600000027010324000000000000000000000000000000000000000090004617e5604614000042c62b923f88 mode master, expect response
2026.02.11 20:32:04 5: MD_SE_10K: ParseFrameStart called from ReadFn protocol TCP expecting id 1
2026.02.11 20:32:04 4: MD_SE_10K: ParseFrameStart (TCP, master) extracted id 1, fCode 3, tid 70, dlen 39 and potential data 24000000000000000000000000000000000000000090004617e5604614000042c62b923f88
2026.02.11 20:32:04 5: MD_SE_10K: HandleResponse called from ReadFn
2026.02.11 20:32:04 5: MD_SE_10K: HandleResponse is now creating response hash, masterHash is HASH(0x5583814d1608)
2026.02.11 20:32:04 5: MD_SE_10K: HandleResponse is now calling ParseResponse, masterHash is HASH(0x5583814d1608)
2026.02.11 20:32:04 5: MD_SE_10K: ParseResponse called from HandleResponse, fc 3
2026.02.11 20:32:04 5: MD_SE_10K: now parsing response data objects, master is MD_SE_10K relay is undefined
2026.02.11 20:32:04 5: MD_SE_10K: ParseDataString called from HandleResponse with data hex 000000000000000000000000000000000000000090004617e5604614000042c62b923f88, type h, adr 62836, op read
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString called from ParseDataString with data hex 000000000000000000000000000000000000000090004617e5604614000042c62b923f88, type h, adr 62836, valuesLen 18, op read
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 2 objects / 4 bytes to h62838
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62838
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62839
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62839
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62840
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62840
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62841
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62841
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62842
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62842
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62843
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62843
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62844
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62844
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62845
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62845
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62846
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62846
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62847
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62847
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62848
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 2 objects / 4 bytes to h62850
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62850
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62851
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString has no information about handling h62851
2026.02.11 20:32:04 5: MD_SE_10K: SplitDataString moves to next object, skip 1 objects / 2 bytes to h62852
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects called from ParseDataString with sorted List h62836,h62848,h62852
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects looks at h62836, len 2
2026.02.11 20:32:04 5: MD_SE_10K: ReverseWordOrder is reversing order of up to 2 registers
2026.02.11 20:32:04 5: MD_SE_10K: ReverseWordOrder for CreateDataObjects is transforming 00000000 to 00000000
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects unpacked 00000000 with f> to 0
2026.02.11 20:32:04 5: MD_SE_10K: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val / 1000 to 0
2026.02.11 20:32:04 5: MD_SE_10K: FormatVal for CreateDataObjects formats 0 with format %.2f, result is 0.00
2026.02.11 20:32:04 4: MD_SE_10K: CreateDataObjects assigns value 0.00 to B_Instantaneous_Power
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects looks at h62848, len 2
2026.02.11 20:32:04 5: MD_SE_10K: ReverseWordOrder is reversing order of up to 2 registers
2026.02.11 20:32:04 5: MD_SE_10K: ReverseWordOrder for CreateDataObjects is transforming e5604614 to 4614e560
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects unpacked 4614e560 with f> to 9529.34375
2026.02.11 20:32:04 5: MD_SE_10K: perl expression eval evaluated package main; my @val = @{$oRef->{'%val'}};$val / 1000 to 9.52934375
2026.02.11 20:32:04 5: MD_SE_10K: FormatVal for CreateDataObjects formats 9.52934375 with format %.2f, result is 9.53
2026.02.11 20:32:04 4: MD_SE_10K: CreateDataObjects assigns value 9.53 to B_Available_Energy
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects looks at h62852, len 2
2026.02.11 20:32:04 5: MD_SE_10K: ReverseWordOrder is reversing order of up to 2 registers
2026.02.11 20:32:04 5: MD_SE_10K: ReverseWordOrder for CreateDataObjects is transforming 2b923f88 to 3f882b92
2026.02.11 20:32:04 5: MD_SE_10K: CreateDataObjects unpacked 3f882b92 with f> to 1.06382966041565
2026.02.11 20:32:04 5: MD_SE_10K: FormatVal for CreateDataObjects formats 1.06382966041565 with format %.1f, result is 1.1
2026.02.11 20:32:04 4: MD_SE_10K: CreateDataObjects assigns value 1.1 to B_State_of_Energy
2026.02.11 20:32:04 5: MD_SE_10K: ParseDataString created 3 readings, errcode undef
2026.02.11 20:32:04 4: MD_SE_10K: HandleResponse done, current frame / read buffer: 004600000027010324000000000000000000000000000000000000000090004617e5604614000042c62b923f88, id 1, fCode 3, tid 70,
request: id 1, read fc 3 h62836, len 18, tid 70, master device MD_SE_10K, reading B_Instantaneous_Power (getUpdate for combined h62836 len 2 B_Instantaneous_Power with h62848 len 2 B_Available_Energy and h62852 len 2 B_State_of_Energy), queued 0.53 secs ago, sent 0.17 secs ago,
response: id 1, fc 3, h62836, len 18, values 000000000000000000000000000000000000000090004617e5604614000042c62b923f88
2026.02.11 20:32:04 5: MD_SE_10K: ResetExpect for HandleResponse from response to idle
2026.02.11 20:32:04 5: MD_SE_10K: DropFrame called from ReadFn - drop 004600000027010324000000000000000000000000000000000000000090004617e5604614000042c62b923f88
2026.02.11 20:32:04 5: MD_SE_10K: readFn end buffer: mode master, expect idle
Register 40206 und 40210 werden zusammen gelesen.
Im Log steht ausdrücklich:
CreateUpdateHash will request h40206 len 5 M_AC-Power
CreateUpdateHash will request h40210 len 1 M_AC_POWER_SF
CombineUpdateHash combine h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF to span 5, drop read for h40210
Danach:
GetUpdate will now create requests for ... h40206 len 5 (combined h40206 len 5 M_AC-Power with h40210 len 1 M_AC_POWER_SF)
Und beim Lesen:
Request:
read fc 3 h40206, len 5
Response-Daten:
f195f885fd26fbebffff
(5 Register = 10 Bytes)
CreateDataObjects looks at h40206, len 5
und der Ausdruck
($val[0] * (10 ** $val[4]))/1000
nutzt genau den (eigentlich) mitgelesenen Skalierungsfaktor.
Und trotzdem die Warnung
,,Use of uninitialized value $val[4]"
zeigt doch, dass beim Auswerten der 5 gelesenen Register der fünfte Wert nicht sauber im Array landet bzw. vom Template falsch adressiert wird, oder?
Weiß jemand ein Rat?
Gruß Martin
Martin