Moin,
ich habe mir vor einiger Zeit meine Plenticore als ModbusAttr in fhem eingebunden. Bisher mache ich mit den Daten noch nichts, da ständig derartige Timeouts im Log landen:
2021.12.03 06:07:36 3: Wechselrichter_1: Timeout waiting for a modbus response, read buffer empty,
request: id 71, read fc 3 h514, len 1, tid 243, master device Wechselrichter_1, reading Battery_actual_SOC (getUpdate for Battery_actual_SOC len 1), queued 47.87 secs ago, sent 2.00 secs ago
2021.12.03 06:07:38 3: Wechselrichter_2: Timeout waiting for a modbus response, read buffer empty,
request: id 71, read fc 3 h326, len 2, tid 229, master device Wechselrichter_2, reading Monthly_yield (getUpdate for Monthly_yield len 2), queued 30.01 secs ago, sent 2.04 secs ago
2021.12.03 06:07:38 3: Wechselrichter_1: Timeout waiting for a modbus response, read buffer empty,
request: id 71, read fc 3 h56, len 1, tid 172, master device Wechselrichter_1, reading Inverter_state (getUpdate for Inverter_state len 1), queued 39.92 secs ago, sent 2.03 secs ago
2021.12.03 06:07:40 3: Wechselrichter_2: Timeout waiting for a modbus response, read buffer empty,
request: id 71, read fc 3 h56, len 1, tid 166, master device Wechselrichter_2, reading Inverter_state (getUpdate for Inverter_state len 1), queued 22.03 secs ago, sent 2.00 secs ago
Davon dann seitenweise. Dann geht es wieder eine Zeit lang. Da die WR ansonsten in openWB keinerlei Verbindungsprobleme aufweisen, wollte ich nachfragen, ob auch andere mit Plenticore + fhem derartige Probleme haben? Oder habe ich vielleicht was falsch eingerichtet? Hier mal ein WR:
Internals:
DEF 71 10 192.168.30.2:1502 TCP
DeviceName 192.168.30.2:1502
EXPECT idle
FD 25
FUUID 5c93ad42-f33f-497e-7a62-88fe1871acc4dc66
IODev Wechselrichter_1
Interval 10
LASTOPEN 1638536587.41961
MODBUSID 71
MODE master
MODULEVERSION Modbus 4.4.02 - 31.3.2021
NAME Wechselrichter_1
NOTIFYDEV global
NR 235
NTFY_ORDER 50-Wechselrichter_1
PARTIAL
PROTOCOL TCP
STATE opened
TCPConn 1
TYPE ModbusAttr
devioLoglevel 3
nextOpenDelay 60
QUEUE:
READ:
BUFFER
READINGS:
2021-12-03 14:12:05 Actual_batt_ch_disch_power -893
2021-12-03 14:12:04 Battery_actual_SOC 99
2021-12-03 14:12:03 Battery_temperature 16.90
2021-12-03 14:12:04 Daily_yield 11.59
2021-12-03 14:12:04 Inverter_Generation_power_actual -173
2021-12-03 14:12:05 Inverter_State_natural FeedIn
2021-12-03 14:12:02 Inverter_state 6
2021-12-03 14:12:04 Monthly_yield 39.22
2021-12-03 14:12:05 PV_power 795.94
2021-12-03 14:12:03 Power_DC1 441.41
2021-12-03 14:12:03 Power_DC2 354.53
2021-12-03 14:12:03 Total_AC_active_power -171.00
2021-12-03 14:12:03 Total_DC_Power -96.91
2021-12-03 14:12:03 Total_active_power -217.20
2021-12-03 14:12:04 Total_yield 30965.14
2021-12-03 14:12:03 Voltage_DC1 603.14
2021-12-03 14:12:04 Voltage_DC2 494.16
2021-12-03 14:12:04 Yearly_yield 10164.37
2021-12-03 14:03:18 state opened
REMEMBER:
lid 71
lname Wechselrichter_1
lrecv 1638537125.01949
lsend 1638537125.01361
defptr:
Wechselrichter_1 71
gotReadings:
Actual_batt_ch_disch_power -893
lastRead:
h100 1638537123.11354
h172 1638537123.25853
h214 1638537123.4211
h252 1638537123.57604
h260 1638537123.69121
h266 1638537123.80533
h270 1638537123.91956
h276 1638537124.18522
h320 1638537124.29992
h322 1638537124.43741
h324 1638537124.56321
h326 1638537124.6795
h514 1638537124.79214
h56 1638537122.99695
h575 1638537124.91194
h582 1638537125.02567
Attributes:
comment Garage
dev-type-Fl_R2-format %.2f
dev-type-Fl_R2-len 2
dev-type-Fl_R2-revRegs 1
dev-type-Fl_R2-unpack f>
dev-type-I_R1s-format %d
dev-type-I_R1s-len 1
dev-type-I_R1s-revRegs 1
dev-type-I_R1s-unpack s>
dev-type-I_R1u-format %d
dev-type-I_R1u-len 1
dev-type-I_R1u-revRegs 1
dev-type-I_R1u-unpack S>
dev-type-I_R2u-format %d
dev-type-I_R2u-len 2
dev-type-I_R2u-revRegs 1
dev-type-I_R2u-unpack S>
icon sani_solar
obj-h100-poll 1
obj-h100-reading Total_DC_Power
obj-h100-type Fl_R2
obj-h172-poll 1
obj-h172-reading Total_AC_active_power
obj-h172-type Fl_R2
obj-h214-poll 1
obj-h214-reading Battery_temperature
obj-h214-type Fl_R2
obj-h252-poll 1
obj-h252-reading Total_active_power
obj-h252-type Fl_R2
obj-h260-poll 1
obj-h260-reading Power_DC1
obj-h260-type Fl_R2
obj-h266-poll 1
obj-h266-reading Voltage_DC1
obj-h266-type Fl_R2
obj-h270-poll 1
obj-h270-reading Power_DC2
obj-h270-type Fl_R2
obj-h276-poll 1
obj-h276-reading Voltage_DC2
obj-h276-type Fl_R2
obj-h320-expr $val/1000
obj-h320-poll 1
obj-h320-reading Total_yield
obj-h320-type Fl_R2
obj-h322-expr $val/1000
obj-h322-poll 1
obj-h322-reading Daily_yield
obj-h322-type Fl_R2
obj-h324-expr $val/1000
obj-h324-poll 1
obj-h324-reading Yearly_yield
obj-h324-type Fl_R2
obj-h326-expr $val/1000
obj-h326-poll 1
obj-h326-reading Monthly_yield
obj-h326-type Fl_R2
obj-h514-poll 1
obj-h514-reading Battery_actual_SOC
obj-h514-type I-R1u
obj-h56-poll 1
obj-h56-reading Inverter_state
obj-h56-type I_R1u
obj-h575-poll 1
obj-h575-reading Inverter_Generation_power_actual
obj-h575-type I_R1s
obj-h582-poll 1
obj-h582-reading Actual_batt_ch_disch_power
obj-h582-type I_R1s
room 4.1_Energie
sortUpdate 1
userReadings PV_power {sprintf("%.2f",ReadingsVal($name,"Power_DC1",0)+ReadingsVal($name,"Power_DC2",0))},
Inverter_State_natural {my $Inverter_state_num = ReadingsVal($name,"Inverter_state",18);
if ($Inverter_state_num == 0) {return "Off"}
elsif ($Inverter_state_num == 1) {return "Init"}
elsif ($Inverter_state_num == 2) {return "IsoMeas"}
elsif ($Inverter_state_num == 3) {return "GridCheck"}
elsif ($Inverter_state_num == 4) {return "StartUp"}
elsif ($Inverter_state_num == 5) {return "-"}
elsif ($Inverter_state_num == 6) {return "FeedIn"}
elsif ($Inverter_state_num == 7) {return "Throttled"}
elsif ($Inverter_state_num == 8) {return "ExtSwitchOff"}
elsif ($Inverter_state_num == 9) {return "Update"}
elsif ($Inverter_state_num == 10) {return "Standby"}
elsif ($Inverter_state_num == 11) {return "GridSync"}
elsif ($Inverter_state_num == 12) {return "GridPreCheck"}
elsif ($Inverter_state_num == 13) {return "GridSwitchOff"}
elsif ($Inverter_state_num == 14) {return "Overheating"}
elsif ($Inverter_state_num == 15) {return "Shutdown"}
elsif ($Inverter_state_num == 16) {return "ImproperDcVoltage"}
elsif ($Inverter_state_num == 17) {return "ESB"}
else {return $Inverter_state_num}}
userattr dev-type-Fl_R1s-format dev-type-Fl_R1s-len dev-type-Fl_R1s-revRegs dev-type-Fl_R1s-unpack
Danke
Michael
Hallo Michael,
mit sowas kannst Du auch gerne in meinen Thread kommen Photovoltaik Eigenverbrauch,Bilanz,Prognose (Kostal Plenticore; KSEM; BYD HV) (https://forum.fhem.de/index.php/topic,114849.0.html)
Ich denke Dein Interval 10 dürfte etwas kurz sein bei der Menge an Daten vom Plenticore werden dann sicher nicht alle Register aktualisiert.
Interval 60 sollte reichen.
Plenticore Plus (https://wiki.fhem.de/wiki/Kostal_Plenticore_10_Plus)
Gruß
Christian