[ModbusAttr] - Send queue too long, dropping request

Begonnen von cotecmania, 06 Oktober 2016, 19:11:06

Vorheriges Thema - Nächstes Thema

cotecmania

Hallo,

seit heute morgen ca. 8:00 Uhr ist mein Logfile voll mit Einträgen im Minutentakt : LS2024B:Send queue too long, dropping request
Gleichzeitig geht die Systemlast sehr hoch und der Raspy reagiert somit kaum noch.
Modbus ist ueber RS485 (Usb to RS485) und ModbusAttr angesteuert.

Internals:
   DEF        1 300

   DEST
   INTERVAL   300

   IODev      ModBusLine1
   MODBUSID   1
   ModuleVersion 3.3.1 - 18.7.2016
   NAME       LS2024B
   NR         950
   PROTOCOL   RTU
   STATE      opened
   TRIGGERTIME 1475773774.52729
   TRIGGERTIME_FMT 2016-10-06 19:09:34
   TYPE       ModbusAttr
   Readings:
     2016-10-06 18:46:06   Batterie_Ladeleistung 0
     2016-10-06 18:43:40   Batterie_Ladestrom 0
     2016-10-06 18:50:31   Batterie_Ladezustand 81
     2016-10-06 18:42:57   Batterie_Spannung 13.12
     2016-10-06 18:41:48   Batterie_Strom  0
     2016-10-06 18:47:50   Batterie_Temp   10.7
     2016-10-06 18:49:42   Batterie_Temp_Remote 10.68
     2016-10-06 18:42:34   Batterie_Typ    AGM
     2016-10-06 18:49:40   Innen_Temperatur 10.69
     2016-10-06 18:48:09   Last_EinAus     aus
     2016-10-06 18:42:11   Last_Leistung   0
     2016-10-06 18:37:33   Last_Modus      nachts
     2016-10-06 18:50:15   Last_Spannung   0
     2016-10-06 18:45:43   Last_Strom      0
     2016-10-06 18:51:26   RTC             06.10.2016 17:23:23
     2016-10-06 18:46:08   RTC1            23 23
     2016-10-06 18:41:05   RTC2            17 06
     2016-10-06 18:48:53   RTC3            10 16
     2016-10-06 18:44:43   Solar_Ertrag_J  420
     2016-10-06 18:44:21   Solar_Ertrag_M  360
     2016-10-06 18:43:18   Solar_Ertrag_T  30
     2016-10-06 18:37:12   Solar_Leistung  0
     2016-10-06 18:51:00   Solar_Spannung  6.78
     2016-10-06 18:51:26   Solar_Strom     0
     2016-10-06 18:47:29   TagesZustand    Tag
   Gotreadings:
     Batterie_Ladeleistung 0
     Batterie_Ladestrom 0
     Batterie_Ladezustand 81
     Batterie_Spannung 13.12
     Batterie_Strom 0
     Batterie_Temp 10.7
     Batterie_Temp_Remote 10.68
     Batterie_Typ AGM
     Innen_Temperatur 10.69
     Last_EinAus aus
     Last_Leistung 0
     Last_Modus nachts
     Last_Spannung 0
     Last_Strom 0
     RTC1       23 23
     RTC2       17 06
     RTC3       10 16
     Solar_Ertrag_J 420
     Solar_Ertrag_M 360
     Solar_Ertrag_T 30
     Solar_Leistung 0
     Solar_Spannung 6.78
     Solar_Strom 0
     TagesZustand Tag
   Helper:
     lrecv      1475772686.86641
     lsend      1475772686.97559
   Lastread:
     d8204      1475772449.02401
     h36864     1475772154.60799
     h36883     1475772368.3127
     h36884     1475772065.15387
     h36885     1475772533.90936
     h36925     1475771853.38322
     h36970     1475772489.08744
     i12544     1475772660.18292
     i12545     1475772686.87553
     i12546     1475771832.33657
     i12549     1475772220.8858
     i12550     1475772366.93625
     i12556     1475772615.66887
     i12557     1475772343.51891
     i12558     1475772131.77628
     i12560     1475772470.18261
     i12561     1475772580.81959
     i12570     1475772631.43139
     i12571     1475772582.82281
     i13068     1475772198.2197
     i13070     1475772261.757
     i13072     1475772283.05631
     i13082     1475772177.33512
     i13083     1475772108.59888
Attributes:
   IODev      ModBusLine1
   dev-c-defPoll 1
   dev-d-defPoll 1
   dev-h-defPoll 1
   dev-h-write 16
   dev-i-defPoll 1
   obj-d8204-format %s
   obj-d8204-map 0:Tag, 1:Nacht
   obj-d8204-reading TagesZustand
   obj-h36864-format %s
   obj-h36864-map 0:User, 1:AGM, 2:Gel, 3:Saeure
   obj-h36864-reading Batterie_Typ
   obj-h36864-set 1
   obj-h36883-expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
   obj-h36883-format %s
   obj-h36883-reading RTC1
   obj-h36884-expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
   obj-h36884-format %s
   obj-h36884-reading RTC2
   obj-h36885-expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
   obj-h36885-format %s
   obj-h36885-reading RTC3
   obj-h36925-format %s
   obj-h36925-map 0:manuell, 1:nachts, 2:nachts+timer, 3:timer
   obj-h36925-reading Last_Modus
   obj-h36925-set 1
   obj-h36970-format %s
   obj-h36970-map 0:aus, 1:ein
   obj-h36970-reading Last_EinAus
   obj-h36970-set 1
   obj-i12544-expr $val/100
   obj-i12544-reading Solar_Spannung
   obj-i12545-expr $val/100
   obj-i12545-reading Solar_Strom
   obj-i12546-expr $val/100
   obj-i12546-reading Solar_Leistung
   obj-i12549-expr $val/100
   obj-i12549-reading Batterie_Ladestrom
   obj-i12550-expr $val/100
   obj-i12550-reading Batterie_Ladeleistung
   obj-i12556-expr $val/100
   obj-i12556-reading Last_Spannung
   obj-i12557-expr $val/100
   obj-i12557-reading Last_Strom
   obj-i12558-expr $val/100
   obj-i12558-reading Last_Leistung
   obj-i12560-expr $val/100
   obj-i12560-reading Batterie_Temp
   obj-i12561-expr $val/100
   obj-i12561-reading Innen_Temperatur
   obj-i12570-reading Batterie_Ladezustand
   obj-i12571-expr $val/100
   obj-i12571-reading Batterie_Temp_Remote
   obj-i13068-expr $val*10
   obj-i13068-reading Solar_Ertrag_T
   obj-i13070-expr $val*10
   obj-i13070-reading Solar_Ertrag_M
   obj-i13072-expr $val*10
   obj-i13072-reading Solar_Ertrag_J
   obj-i13082-expr $val/100
   obj-i13082-reading Batterie_Spannung
   obj-i13083-expr $val/100
   obj-i13083-reading Batterie_Strom
   room       Interfaces,Solar-Garten
   userReadings RTC {return (split(' ', ReadingsVal("LS2024B","RTC2","")))[1].".".(split(' ', ReadingsVal("LS2024B","RTC3","")))[0].".20".(split(' ', ReadingsVal("LS2024B","RTC3","")))[1]." ".(split(' ', ReadingsVal("LS2024B","RTC2","")))[0].":".(split(' ', ReadingsVal("LS2024B","RTC1","")))[1].":".(split(' ', ReadingsVal("LS2024B","RTC1","")))[0];;}
   userattr   IODev dev-c-defPoll dev-d-defPoll dev-h-combine dev-h-defPoll dev-h-write dev-i-defPoll obj-c8204-format obj-c8204-map obj-c8204-polldelay obj-c8204-reading obj-d8204-format obj-d8204-map obj-d8204-reading obj-h36864-format obj-h36864-map obj-h36864-polldelay obj-h36864-reading obj-h36864-set obj-h36883-expr obj-h36883-format obj-h36883-len obj-h36883-reading obj-h36884-expr obj-h36884-format obj-h36884-reading obj-h36885-expr obj-h36885-format obj-h36885-reading obj-h36925-format obj-h36925-map obj-h36925-polldelay obj-h36925-reading obj-h36925-set obj-h36970-format obj-h36970-map obj-h36970-reading obj-h36970-set obj-i12544-expr obj-i12544-reading obj-i12545-expr obj-i12545-reading obj-i12546-expr obj-i12546-reading obj-i12549-expr obj-i12549-reading obj-i12550-expr obj-i12550-reading obj-i12556-expr obj-i12556-reading obj-i12557-expr obj-i12557-reading obj-i12558-expr obj-i12558-reading obj-i12560-expr obj-i12560-reading obj-i12561-expr obj-i12561-reading obj-i12570-reading obj-i12571-expr obj-i12571-reading obj-i13068-expr obj-i13068-reading obj-i13070-expr obj-i13070-reading obj-i13072-expr obj-i13072-reading obj-i13082-expr obj-i13082-reading obj-i13083-expr obj-i13083-reading userReadings verbose


Internals:
   BUSY       0
   DEF        /dev/ttyUSB3@115200
   DeviceName /dev/ttyUSB3@115200
   LASTOPEN   1475773844.30627
   NAME       ModBusLine1
   NR         946
   PARTIAL
   RAWBUFFER
   REQUESTHEX 010390140001e90e
   STATE      disconnected
   TYPE       Modbus
   nextOpenDelay 60
   Readings:
     2016-10-06 18:52:05   state           disconnected
   Defptr:
     1:
   Helper:
     buffer
     lid        1
     lrecv      1475772686.86377
     lsend      1475772686.97559
Attributes:
   room       Solar-Garten,Interfaces



Was kann das sein ?
Restart FHEM hat nichts gebracht.
Wie bekomme ich die Queue wieder leer bzw das System wieder "stabil".

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

StefanStrobel

Hallo Joe,

ohne einen Auszug aus Deinem Log (mit sowohl dem logischen als auch dem physischen Gerät auf verbose 5) wäre das reine Spekulation.

mach mal ein attr LS2024B verbose 5 und ein attr ModBusLine1 verbose 5.
Dann sollte Dein Fhem-Logfile jede Menge Details zu den internen Abläufen enthalten und dann sollte man einfach erkennen können, was vorgeht.

Gruss
    Stefan

cotecmania

#2
Hallo Stefan,

ich habe nun noch bemerkt, dass mein ModbusAttr-Device die CPU-Last meines Raspys ansteigen lässt. Das ist wohl das Grundproblem.

Die Grundlast liegt normalerweise bei ca. 0.2 schon seit 2 Jahren ...
Wenn das ModbusAttr-Device enabled ist, dann steigt die CPU-Last langsam aber stetig an.
Wenn das Ganze dann im Bereich 1.0 liegt (nach ca. 2 Tagen) reagiert FHEM so gut wie nicht mehr ...

Im Bild im Anhang wurde kurz nach 16.00 Uhr das Device auf disabled gesetzt und siehe da ... CPU geht zurück auf 0.2 ...

Hier ncoh die Logs :2016.10.08 17:25:22 4: LS2024B: update timer modified: will call GetUpdate in 300.0 seconds at 2016-10-08 17:30:22
2016.10.08 17:25:22 5: LS2024B: GetUpdate called
2016.10.08 17:25:22 5: LS2024B: GetUpdate objects from attributes: h36883 i13068 i12546 i12549 i12545 i12558 h36864 i13083 i12561 h36885 i12557 i12556 i12570 h36884 i12544 i12571 h36970 i12550 i13070 h36925 i13082 i12560 i13072 d8204
2016.10.08 17:25:22 5: LS2024B: GetUpdate full object list: d8204 h36864 h36883 h36884 h36885 h36925 h36970 i12544 i12545 i12546 i12549 i12550 i12556 i12557 i12558 i12560 i12561 i12570 i12571 i13068 i13070 i13072 i13082 i13083
2016.10.08 17:25:22 5: LS2024B: GetUpdate check d8204 => TagesZustand, poll = 1, last = 1475940026.62838
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request TagesZustand
2016.10.08 17:25:22 5: LS2024B: GetUpdate check h36864 => Batterie_Typ, poll = 1, last = 1475940035.00759
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Typ
2016.10.08 17:25:22 5: LS2024B: GetUpdate check h36883 => RTC1, poll = 1, last = 1475940024.29173
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request RTC1
2016.10.08 17:25:22 5: LS2024B: GetUpdate check h36884 => RTC2, poll = 1, last = 1475940024.30017
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request RTC2
2016.10.08 17:25:22 5: LS2024B: GetUpdate check h36885 => RTC3, poll = 1, last = 1475940024.30901
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request RTC3
2016.10.08 17:25:22 5: LS2024B: GetUpdate check h36925 => Last_Modus, poll = 1, last = 1475940027.08212
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Last_Modus
2016.10.08 17:25:22 5: LS2024B: GetUpdate check h36970 => Last_EinAus, poll = 1, last = 1475940026.9399
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Last_EinAus
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12544 => Solar_Spannung, poll = 1, last = 1475940034.78847
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Solar_Spannung
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12545 => Solar_Strom, poll = 1, last = 1475940034.79616
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Solar_Strom
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12546 => Solar_Leistung, poll = 1, last = 1475940034.80413
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Solar_Leistung
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12549 => Batterie_Ladestrom, poll = 1, last = 1475940034.81327
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Ladestrom
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12550 => Batterie_Ladeleistung, poll = 1, last = 1475940034.82153
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Ladeleistung
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12556 => Last_Spannung, poll = 1, last = 1475940031.91109
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Last_Spannung
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12557 => Last_Strom, poll = 1, last = 1475940031.91876
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Last_Strom
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12558 => Last_Leistung, poll = 1, last = 1475940031.92611
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Last_Leistung
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12560 => Batterie_Temp, poll = 1, last = 1475940031.93458
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Temp
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12561 => Innen_Temperatur, poll = 1, last = 1475940031.94238
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Innen_Temperatur
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12570 => Batterie_Ladezustand, poll = 1, last = 1475940032.37589
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Ladezustand
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i12571 => Batterie_Temp_Remote, poll = 1, last = 1475940032.38368
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Temp_Remote
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i13068 => Solar_Ertrag_T, poll = 1, last = 1475940023.01288
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Solar_Ertrag_T
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i13070 => Solar_Ertrag_M, poll = 1, last = 1475940023.02104
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Solar_Ertrag_M
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i13072 => Solar_Ertrag_J, poll = 1, last = 1475940023.02893
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Solar_Ertrag_J
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i13082 => Batterie_Spannung, poll = 1, last = 1475940022.843
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Spannung
2016.10.08 17:25:22 5: LS2024B: GetUpdate check i13083 => Batterie_Strom, poll = 1, last = 1475940022.8515
2016.10.08 17:25:22 4: LS2024B: GetUpdate will request Batterie_Strom
2016.10.08 17:25:22 5: LS2024B: GetUpdate tries to combine read commands
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for d is 1
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine TagesZustand / d8204 with Batterie_Typ / h36864, span would be 28661
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for h is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Batterie_Typ / h36864 with RTC1 / h36883, span would be 20
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for h is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines RTC1 / h36883 with RTC2 / h36884, span = 2, dropping read for h36884
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines RTC1 / h36883 with RTC3 / h36885, span = 3, dropping read for h36885
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine RTC1 / h36883 with Last_Modus / h36925, span would be 43
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for h is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Last_Modus / h36925 with Last_EinAus / h36970, span would be 46
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for h is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Last_EinAus / h36970 with Solar_Spannung / i12544, span would be -24425
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for i is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Solar_Strom / i12545, span = 2, dropping read for i12545
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Solar_Leistung / i12546, span = 3, dropping read for i12546
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Batterie_Ladestrom / i12549, span = 6, dropping read for i12549
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Batterie_Ladeleistung / i12550, span = 7, dropping read for i12550
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Solar_Spannung / i12544 with Last_Spannung / i12556, span would be 13
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for i is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Last_Strom / i12557, span = 2, dropping read for i12557
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Last_Leistung / i12558, span = 3, dropping read for i12558
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Batterie_Temp / i12560, span = 5, dropping read for i12560
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Innen_Temperatur / i12561, span = 6, dropping read for i12561
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Last_Spannung / i12556 with Batterie_Ladezustand / i12570, span would be 15
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for i is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Batterie_Ladezustand / i12570 with Batterie_Temp_Remote / i12571, span = 2, dropping read for i12571
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Batterie_Ladezustand / i12570 with Solar_Ertrag_T / i13068, span would be 499
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for i is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Solar_Ertrag_T / i13068 with Solar_Ertrag_M / i13070, span = 3, dropping read for i13070
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Solar_Ertrag_T / i13068 with Solar_Ertrag_J / i13072, span = 5, dropping read for i13072
2016.10.08 17:25:22 5: LS2024B: GetUpdate cannot combine Solar_Ertrag_T / i13068 with Batterie_Spannung / i13082, span would be 15
2016.10.08 17:25:22 5: LS2024B: GetUpdate: combine for i is 10
2016.10.08 17:25:22 5: LS2024B: GetUpdate combines Batterie_Spannung / i13082 with Batterie_Strom / i13083, span = 2, dropping read for i13083
2016.10.08 17:25:22 4: LS2024B: Send called with i 13082 len 1 / span 2 to id 1, queue has 0 requests
2016.10.08 17:25:22 4: LS2024B: Send queues fcode 4 for i 13082 (Batterie_Spannung), len / span 2 : 0104331a00025f48 pdu 04331a0002
2016.10.08 17:25:22 4: ModBusLine1: sends 0104331a00025f48 (fcode 4 to 1, tid 0 for Batterie_Spannung (13082), len 2)
2016.10.08 17:25:22 5: SW: 0104331a00025f48
2016.10.08 17:25:22 4: LS2024B: Send called with i 13068 len 1 / span 5 to id 1, queue has 0 requests
2016.10.08 17:25:22 4: LS2024B: Send queues fcode 4 for i 13068 (Solar_Ertrag_T), len / span 5 : 0104330c0005ff4e pdu 04330c0005
2016.10.08 17:25:22 4: LS2024B: Send called with h 36883 len 1 / span 3 to id 1, queue has 1 requests
2016.10.08 17:25:22 4: LS2024B: Send queues fcode 3 for h 36883 (RTC1), len / span 3 : 010390130003d90e pdu 0390130003
2016.10.08 17:25:23 4: LS2024B: Send called with d 8204 len 1 / span 1 to id 1, queue has 2 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 2 for d 8204 (TagesZustand), len / span 1 : 0102200c00017209 pdu 02200c0001
2016.10.08 17:25:23 4: LS2024B: Send called with h 36970 len 1 / span 1 to id 1, queue has 3 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 3 for h 36970 (Last_EinAus), len / span 1 : 0103906a00018916 pdu 03906a0001
2016.10.08 17:25:23 4: LS2024B: Send called with h 36925 len 1 / span 1 to id 1, queue has 4 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 3 for h 36925 (Last_Modus), len / span 1 : 0103903d000138c6 pdu 03903d0001
2016.10.08 17:25:23 4: LS2024B: Send called with i 12556 len 1 / span 6 to id 1, queue has 5 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 4 for i 12556 (Last_Spannung), len / span 6 : 0104310c0006bef7 pdu 04310c0006
2016.10.08 17:25:23 4: LS2024B: Send called with i 12570 len 1 / span 2 to id 1, queue has 6 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 4 for i 12570 (Batterie_Ladezustand), len / span 2 : 0104311a00025ef0 pdu 04311a0002
2016.10.08 17:25:23 4: LS2024B: Send called with i 12544 len 1 / span 7 to id 1, queue has 7 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 4 for i 12544 (Solar_Spannung), len / span 7 : 010431000007bf34 pdu 0431000007
2016.10.08 17:25:23 4: LS2024B: Send called with h 36864 len 1 / span 1 to id 1, queue has 8 requests
2016.10.08 17:25:23 4: LS2024B: Send queues fcode 3 for h 36864 (Batterie_Typ), len / span 1 : 010390000001a90a pdu 0390000001
2016.10.08 17:25:23 5: ModBusLine1: raw read: 0104040561000beb51
2016.10.08 17:25:23 5: ModBusLine1: ParseFrames got: 0104040561000beb51
2016.10.08 17:25:23 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 040561000b calc crc = 20971, read = 20971  expect 4 from 1 for module LS2024B
2016.10.08 17:25:23 5: LS2024B: ParseObj called with 0561000b and start 13082
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for Batterie_Spannung evaluates 1377 with expr $val/100
2016.10.08 17:25:23 4: LS2024B: ParseObj for Batterie_Spannung assigns 13.77
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 13083
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for Batterie_Strom evaluates 11 with expr $val/100
2016.10.08 17:25:23 4: LS2024B: ParseObj for Batterie_Strom assigns 0.11
2016.10.08 17:25:23 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.08 17:25:23 4: ModBusLine1: sends 0104330c0005ff4e (fcode 4 to 1, tid 0 for Solar_Ertrag_T (13068), len 5)
2016.10.08 17:25:23 5: SW: 0104330c0005ff4e
2016.10.08 17:25:23 5: ModBusLine1: raw read: 01040a00030000002b00000031205f
2016.10.08 17:25:23 5: ModBusLine1: ParseFrames got: 01040a00030000002b00000031205f
2016.10.08 17:25:23 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0a00030000002b00000031 calc crc = 24352, read = 24352  expect 4 from 1 for module LS2024B
2016.10.08 17:25:23 5: LS2024B: ParseObj called with 00030000002b00000031 and start 13068
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=Solar_Ertrag_T, unpack=n, expr=$val*10, format=, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for Solar_Ertrag_T evaluates 3 with expr $val*10
2016.10.08 17:25:23 4: LS2024B: ParseObj for Solar_Ertrag_T assigns 30
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 13069
2016.10.08 17:25:23 5: LS2024B: ParseObj has no parseInfo for i13069
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 13070
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=Solar_Ertrag_M, unpack=n, expr=$val*10, format=, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for Solar_Ertrag_M evaluates 43 with expr $val*10
2016.10.08 17:25:23 4: LS2024B: ParseObj for Solar_Ertrag_M assigns 430
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 13071
2016.10.08 17:25:23 5: LS2024B: ParseObj has no parseInfo for i13071
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 13072
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=Solar_Ertrag_J, unpack=n, expr=$val*10, format=, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for Solar_Ertrag_J evaluates 49 with expr $val*10
2016.10.08 17:25:23 4: LS2024B: ParseObj for Solar_Ertrag_J assigns 490
2016.10.08 17:25:23 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.08 17:25:23 4: ModBusLine1: sends 010390130003d90e (fcode 3 to 1, tid 0 for RTC1 (36883), len 3)
2016.10.08 17:25:23 5: SW: 010390130003d90e
2016.10.08 17:25:23 5: ModBusLine1: raw read: 010306080d080f100ab258
2016.10.08 17:25:23 5: ModBusLine1: ParseFrames got: 010306080d080f100ab258
2016.10.08 17:25:23 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 06080d080f100a calc crc = 22706, read = 22706  expect 3 from 1 for module LS2024B
2016.10.08 17:25:23 5: LS2024B: ParseObj called with 080d080f100a and start 36883
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=RTC1, unpack=n, expr=sprintf("%02d %02d", ($val & 0xff), ($val >> 8) ), format=%s, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC1 evaluates 2061 with expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC1 does sprintf with format %s value is 13 08
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC1 sprintf result is 13 08
2016.10.08 17:25:23 4: LS2024B: ParseObj for RTC1 assigns 13 08
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 36884
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=RTC2, unpack=n, expr=sprintf("%02d %02d", ($val & 0xff), ($val >> 8) ), format=%s, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC2 evaluates 2063 with expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC2 does sprintf with format %s value is 15 08
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC2 sprintf result is 15 08
2016.10.08 17:25:23 4: LS2024B: ParseObj for RTC2 assigns 15 08
2016.10.08 17:25:23 5: LS2024B: ParseObj moves to next object, skip 1 to 36885
2016.10.08 17:25:23 5: LS2024B: ParseObj ObjInfo: reading=RTC3, unpack=n, expr=sprintf("%02d %02d", ($val & 0xff), ($val >> 8) ), format=%s, map=
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC3 evaluates 4106 with expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC3 does sprintf with format %s value is 10 16
2016.10.08 17:25:23 5: LS2024B: ParseObj for RTC3 sprintf result is 10 16
2016.10.08 17:25:23 4: LS2024B: ParseObj for RTC3 assigns 10 16
2016.10.08 17:25:23 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.08 17:25:23 4: ModBusLine1: sends 0102200c00017209 (fcode 2 to 1, tid 0 for TagesZustand (8204), len 1)
2016.10.08 17:25:23 5: SW: 0102200c00017209
2016.10.08 17:25:26 5: ModBusLine1: raw read: 01020100a188
2016.10.08 17:25:26 5: ModBusLine1: ParseFrames got: 01020100a188
2016.10.08 17:25:26 4: ModBusLine1: ParseFrames: fcode 2 from 1, data 0100 calc crc = 34977, read = 34977  expect 2 from 1 for module LS2024B
2016.10.08 17:25:26 5: LS2024B: ParseObj called with 00 and start 8204, quantity 1
2016.10.08 17:25:26 5: LS2024B: ParseObj bit string: 0 and start 8204, quantity 1
2016.10.08 17:25:26 5: LS2024B: ParseObj ObjInfo: reading=TagesZustand, unpack=a, expr=, format=%s, map=0:Tag, 1:Nacht
2016.10.08 17:25:26 5: LS2024B: ParseObj for TagesZustand maps value 0 with 0:Tag, 1:Nacht
2016.10.08 17:25:26 5: LS2024B: ParseObj for TagesZustand does sprintf with format %s value is Tag
2016.10.08 17:25:26 5: LS2024B: ParseObj for TagesZustand sprintf result is Tag
2016.10.08 17:25:26 4: LS2024B: ParseObj for TagesZustand assigns Tag
2016.10.08 17:25:26 5: ModBusLine1: ParseFrames done, reply to fCode 1, 24 readings
2016.10.08 17:25:26 4: ModBusLine1: CheckDelay commDelay for LS2024B not over, try again in 0.00278091430664062
2016.10.08 17:25:26 4: ModBusLine1: sends 0103906a00018916 (fcode 3 to 1, tid 0 for Last_EinAus (36970), len 1)
2016.10.08 17:25:26 5: SW: 0103906a00018916
2016.10.08 17:25:26 5: ModBusLine1: raw read: 0103020000b844
2016.10.08 17:25:26 5: ModBusLine1: ParseFrames got: 0103020000b844
2016.10.08 17:25:26 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020000 calc crc = 17592, read = 17592  expect 3 from 1 for module LS2024B
2016.10.08 17:25:26 5: LS2024B: ParseObj called with 0000 and start 36970
2016.10.08 17:25:26 5: LS2024B: ParseObj ObjInfo: reading=Last_EinAus, unpack=n, expr=, format=%s, map=0:aus, 1:ein
2016.10.08 17:25:26 5: LS2024B: ParseObj for Last_EinAus maps value 0 with 0:aus, 1:ein
2016.10.08 17:25:26 5: LS2024B: ParseObj for Last_EinAus does sprintf with format %s value is aus
2016.10.08 17:25:26 5: LS2024B: ParseObj for Last_EinAus sprintf result is aus
2016.10.08 17:25:26 4: LS2024B: ParseObj for Last_EinAus assigns aus
2016.10.08 17:25:26 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.08 17:25:26 4: ModBusLine1: CheckDelay sendDelay for LS2024B not over, try again in 0.0769400596618652
2016.10.08 17:25:26 4: ModBusLine1: sends 0103903d000138c6 (fcode 3 to 1, tid 0 for Last_Modus (36925), len 1)
2016.10.08 17:25:26 5: SW: 0103903d000138c6
2016.10.08 17:25:26 5: ModBusLine1: raw read: 01030200017984
2016.10.08 17:25:26 5: ModBusLine1: ParseFrames got: 01030200017984
2016.10.08 17:25:26 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020001 calc crc = 33913, read = 33913  expect 3 from 1 for module LS2024B
2016.10.08 17:25:26 5: LS2024B: ParseObj called with 0001 and start 36925
2016.10.08 17:25:26 5: LS2024B: ParseObj ObjInfo: reading=Last_Modus, unpack=n, expr=, format=%s, map=0:manuell, 1:nachts, 2:nachts+timer, 3:timer
2016.10.08 17:25:26 5: LS2024B: ParseObj for Last_Modus maps value 1 with 0:manuell, 1:nachts, 2:nachts+timer, 3:timer
2016.10.08 17:25:26 5: LS2024B: ParseObj for Last_Modus does sprintf with format %s value is nachts
2016.10.08 17:25:26 5: LS2024B: ParseObj for Last_Modus sprintf result is nachts
2016.10.08 17:25:26 4: LS2024B: ParseObj for Last_Modus assigns nachts
2016.10.08 17:25:26 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.08 17:25:26 4: ModBusLine1: CheckDelay commDelay for LS2024B not over, try again in 0.000808954238891602
2016.10.08 17:25:26 4: ModBusLine1: CheckDelay sendDelay for LS2024B not over, try again in 0.0595810413360596
2016.10.08 17:25:27 4: ModBusLine1: sends 0104310c0006bef7 (fcode 4 to 1, tid 0 for Last_Spannung (12556), len 6)
2016.10.08 17:25:27 5: SW: 0104310c0006bef7
2016.10.08 17:25:27 5: ModBusLine1: raw read: 01040c000000000000000004a104a1061d
2016.10.08 17:25:27 5: ModBusLine1: ParseFrames got: 01040c000000000000000004a104a1061d
2016.10.08 17:25:27 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0c000000000000000004a104a1 calc crc = 7430, read = 7430  expect 4 from 1 for module LS2024B
2016.10.08 17:25:27 5: LS2024B: ParseObj called with 000000000000000004a104a1 and start 12556
2016.10.08 17:25:27 5: LS2024B: ParseObj ObjInfo: reading=Last_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:27 5: LS2024B: ParseObj for Last_Spannung evaluates 0 with expr $val/100
2016.10.08 17:25:27 4: LS2024B: ParseObj for Last_Spannung assigns 0
2016.10.08 17:25:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12557
2016.10.08 17:25:27 5: LS2024B: ParseObj ObjInfo: reading=Last_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:27 5: LS2024B: ParseObj for Last_Strom evaluates 0 with expr $val/100
2016.10.08 17:25:27 4: LS2024B: ParseObj for Last_Strom assigns 0
2016.10.08 17:25:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12558
2016.10.08 17:25:27 5: LS2024B: ParseObj ObjInfo: reading=Last_Leistung, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:27 5: LS2024B: ParseObj for Last_Leistung evaluates 0 with expr $val/100
2016.10.08 17:25:27 4: LS2024B: ParseObj for Last_Leistung assigns 0
2016.10.08 17:25:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12559
2016.10.08 17:25:27 5: LS2024B: ParseObj has no parseInfo for i12559
2016.10.08 17:25:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12560
2016.10.08 17:25:27 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Temp, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:27 5: LS2024B: ParseObj for Batterie_Temp evaluates 1185 with expr $val/100
2016.10.08 17:25:27 4: LS2024B: ParseObj for Batterie_Temp assigns 11.85
2016.10.08 17:25:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12561
2016.10.08 17:25:28 5: LS2024B: ParseObj ObjInfo: reading=Innen_Temperatur, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:28 5: LS2024B: ParseObj for Innen_Temperatur evaluates 1185 with expr $val/100
2016.10.08 17:25:28 4: LS2024B: ParseObj for Innen_Temperatur assigns 11.85
2016.10.08 17:25:28 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.08 17:25:28 4: ModBusLine1: sends 0104311a00025ef0 (fcode 4 to 1, tid 0 for Batterie_Ladezustand (12570), len 2)
2016.10.08 17:25:28 5: SW: 0104311a00025ef0
2016.10.08 17:25:29 5: ModBusLine1: raw read: 010404003c04a1f8f0
2016.10.08 17:25:29 5: ModBusLine1: ParseFrames got: 010404003c04a1f8f0
2016.10.08 17:25:29 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 04003c04a1 calc crc = 61688, read = 61688  expect 4 from 1 for module LS2024B
2016.10.08 17:25:29 5: LS2024B: ParseObj called with 003c04a1 and start 12570
2016.10.08 17:25:29 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladezustand, unpack=n, expr=, format=, map=
2016.10.08 17:25:29 4: LS2024B: ParseObj for Batterie_Ladezustand assigns 60
2016.10.08 17:25:29 5: LS2024B: ParseObj moves to next object, skip 1 to 12571
2016.10.08 17:25:29 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Temp_Remote, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:29 5: LS2024B: ParseObj for Batterie_Temp_Remote evaluates 1185 with expr $val/100
2016.10.08 17:25:29 4: LS2024B: ParseObj for Batterie_Temp_Remote assigns 11.85
2016.10.08 17:25:29 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.08 17:25:29 4: ModBusLine1: sends 010431000007bf34 (fcode 4 to 1, tid 0 for Solar_Spannung (12544), len 7)
2016.10.08 17:25:29 5: SW: 010431000007bf34
2016.10.08 17:25:31 5: ModBusLine1: raw read: 01040e0580000a009000000560000a00907a0e
2016.10.08 17:25:31 5: ModBusLine1: ParseFrames got: 01040e0580000a009000000560000a00907a0e
2016.10.08 17:25:31 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0e0580000a009000000560000a0090 calc crc = 3706, read = 3706  expect 4 from 1 for module LS2024B
2016.10.08 17:25:31 5: LS2024B: ParseObj called with 0580000a009000000560000a0090 and start 12544
2016.10.08 17:25:31 5: LS2024B: ParseObj ObjInfo: reading=Solar_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:31 5: LS2024B: ParseObj for Solar_Spannung evaluates 1408 with expr $val/100
2016.10.08 17:25:31 4: LS2024B: ParseObj for Solar_Spannung assigns 14.08
2016.10.08 17:25:31 5: LS2024B: ParseObj moves to next object, skip 1 to 12545
2016.10.08 17:25:31 5: LS2024B: ParseObj ObjInfo: reading=Solar_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:31 5: LS2024B: ParseObj for Solar_Strom evaluates 10 with expr $val/100
2016.10.08 17:25:31 4: LS2024B: ParseObj for Solar_Strom assigns 0.1
2016.10.08 17:25:31 5: LS2024B: ParseObj moves to next object, skip 1 to 12546
2016.10.08 17:25:31 5: LS2024B: ParseObj ObjInfo: reading=Solar_Leistung, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:31 5: LS2024B: ParseObj for Solar_Leistung evaluates 144 with expr $val/100
2016.10.08 17:25:31 4: LS2024B: ParseObj for Solar_Leistung assigns 1.44
2016.10.08 17:25:31 5: LS2024B: ParseObj moves to next object, skip 1 to 12547
2016.10.08 17:25:31 5: LS2024B: ParseObj has no parseInfo for i12547
2016.10.08 17:25:31 5: LS2024B: ParseObj moves to next object, skip 1 to 12548
2016.10.08 17:25:31 5: LS2024B: ParseObj has no parseInfo for i12548
2016.10.08 17:25:31 5: LS2024B: ParseObj moves to next object, skip 1 to 12549
2016.10.08 17:25:31 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladestrom, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:31 5: LS2024B: ParseObj for Batterie_Ladestrom evaluates 10 with expr $val/100
2016.10.08 17:25:31 4: LS2024B: ParseObj for Batterie_Ladestrom assigns 0.1
2016.10.08 17:25:31 5: LS2024B: ParseObj moves to next object, skip 1 to 12550
2016.10.08 17:25:31 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladeleistung, unpack=n, expr=$val/100, format=, map=
2016.10.08 17:25:31 5: LS2024B: ParseObj for Batterie_Ladeleistung evaluates 144 with expr $val/100
2016.10.08 17:25:31 4: LS2024B: ParseObj for Batterie_Ladeleistung assigns 1.44
2016.10.08 17:25:31 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.08 17:25:31 4: ModBusLine1: sends 010390000001a90a (fcode 3 to 1, tid 0 for Batterie_Typ (36864), len 1)
2016.10.08 17:25:31 5: SW: 010390000001a90a
2016.10.08 17:25:34 5: ModBusLine1: raw read: 01030200017984
2016.10.08 17:25:34 5: ModBusLine1: ParseFrames got: 01030200017984
2016.10.08 17:25:34 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020001 calc crc = 33913, read = 33913  expect 3 from 1 for module LS2024B
2016.10.08 17:25:34 5: LS2024B: ParseObj called with 0001 and start 36864
2016.10.08 17:25:34 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Typ, unpack=n, expr=, format=%s, map=0:User, 1:AGM, 2:Gel, 3:Saeure
2016.10.08 17:25:34 5: LS2024B: ParseObj for Batterie_Typ maps value 1 with 0:User, 1:AGM, 2:Gel, 3:Saeure
2016.10.08 17:25:34 5: LS2024B: ParseObj for Batterie_Typ does sprintf with format %s value is AGM
2016.10.08 17:25:34 5: LS2024B: ParseObj for Batterie_Typ sprintf result is AGM
2016.10.08 17:25:34 4: LS2024B: ParseObj for Batterie_Typ assigns AGM
2016.10.08 17:25:34 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings


Ideen ?

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

StefanStrobel

Eigentlich sollte die Last nur alle 5 Minuten hoch gehen, wenn Dein Modbus-Gerät seine Daten abholt und verarbeitet. Leider ist der Log-Ausschnitt so kurz, dass man nicht sieht, was dazwischen passiert.
Generell könntest Du mit Combine dafür sorgen, dass nicht für jeden einzelnen Wert ein eigener Request erzeugt wird sondern dass diese zusammengefasst werden. Zudem könntest Du mit pollDelay dafür sorgen, dass Werte, die sich selten ändern auch nur seltener abgefragt werden.

Gruss
    Stefan

cotecmania

Hallo Stefan,

"combine" und "pollDelay" erzeugen weniger Requests, das ist mir klar.
Aber das Grundproblem der ansteigenden Systemlast wird dadurch doch nicht geloest.
Da muss im Modul doch irgendwas benutzt/allociert/erstellt werden, das nicht wieder freigegeben wird ?
Kannst Du im Modul speziell mal danach schauen ...
Kann man nicht weitere Infos wie Threads/Handles etc. im Raspy auslesen ?
CPU-Last sowie CPU-Temperatur steigen an, also arbeitet er mehr im Hintergrund ....

Denn eigentlich wollte ich noch viele weitere Daten aus dem Device auslesen ...
Ich optimiere das trotzdem Mal und melde mich wieder ...

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

StefanStrobel

Hallo Joe,

Das Modbus-Modul läuft innerhalb des normalen Fhem-Prozesses. Keine Threads oder zusätzliche Hintergrund-Prozesse. Entsprechend kannst Du die Last etc. mit den üblichen Tools wie top ansehen.
Bei verbose 5 ist Modbus bzw. ModbusAttr sehr geschwätzig und man kann eigentlich alles im Log nachvollziehen. Du müsstest nur einen deutlich längeren Ausschnitt posten. Wenn das Intervall auf 300 steht, würde ich auch einen 5-6 Minuten-Ausschnitt posten. Zudem wäre Deine Konfiguration (der relevante Ausschnitt aus der fhem.cfg) hilfreich.
Wenn sich da etwas aufstaut sollte man es im Log erkennen.

Auf was für einem Raspi läuft denn Dein Fhem?

Gruss
    Stefan

cotecmania

#6
Hier der längere Log :

2016.10.11 10:39:20 4: LS2024B: update timer modified: will call GetUpdate in 300.0 seconds at 2016-10-11 10:44:20
2016.10.11 10:39:20 5: LS2024B: GetUpdate called
2016.10.11 10:39:20 5: LS2024B: GetUpdate objects from attributes: h36883 i13068 i12546 i12549 i12545 i12558 h36864 i13083 i12561 h36885 i12557 i12556 i12570 h36884 i12544 i12571 h36970 i12550 i13070 h36925 i13082 i12560 i13072 d8204
2016.10.11 10:39:20 5: LS2024B: GetUpdate full object list: d8204 h36864 h36883 h36884 h36885 h36925 h36970 i12544 i12545 i12546 i12549 i12550 i12556 i12557 i12558 i12560 i12561 i12570 i12571 i13068 i13070 i13072 i13082 i13083
2016.10.11 10:39:20 5: LS2024B: GetUpdate check d8204 => TagesZustand, poll = 1, last = 1476174862.95699
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request TagesZustand
2016.10.11 10:39:20 5: LS2024B: GetUpdate check h36864 => Batterie_Typ, poll = 1, last = 1476174268.01075
2016.10.11 10:39:20 5: LS2024B: GetUpdate will skip Batterie_Typ, delay not over
2016.10.11 10:39:20 5: LS2024B: GetUpdate check h36883 => RTC1, poll = 1, last = 1476174861.795
2016.10.11 10:39:20 5: LS2024B: GetUpdate will skip RTC1, delay not over
2016.10.11 10:39:20 5: LS2024B: GetUpdate check h36884 => RTC2, poll = 1, last = 1476174861.80298
2016.10.11 10:39:20 5: LS2024B: GetUpdate will skip RTC2, delay not over
2016.10.11 10:39:20 5: LS2024B: GetUpdate check h36885 => RTC3, poll = 1, last = 1476174861.81003
2016.10.11 10:39:20 5: LS2024B: GetUpdate will skip RTC3, delay not over
2016.10.11 10:39:20 5: LS2024B: GetUpdate check h36925 => Last_Modus, poll = 1, last = 1476174864.31634
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Last_Modus
2016.10.11 10:39:20 5: LS2024B: GetUpdate check h36970 => Last_EinAus, poll = 1, last = 1476174864.16275
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Last_EinAus
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12544 => Solar_Spannung, poll = 1, last = 1476174867.15874
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Solar_Spannung
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12545 => Solar_Strom, poll = 1, last = 1476174867.16574
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Solar_Strom
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12546 => Solar_Leistung, poll = 1, last = 1476174867.17312
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Solar_Leistung
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12549 => Batterie_Ladestrom, poll = 1, last = 1476174867.18178
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Ladestrom
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12550 => Batterie_Ladeleistung, poll = 1, last = 1476174867.189
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Ladeleistung
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12556 => Last_Spannung, poll = 1, last = 1476174865.67709
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Last_Spannung
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12557 => Last_Strom, poll = 1, last = 1476174865.68401
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Last_Strom
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12558 => Last_Leistung, poll = 1, last = 1476174865.69078
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Last_Leistung
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12560 => Batterie_Temp, poll = 1, last = 1476174865.69901
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Temp
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12561 => Innen_Temperatur, poll = 1, last = 1476174865.70564
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Innen_Temperatur
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12570 => Batterie_Ladezustand, poll = 1, last = 1476174865.85542
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Ladezustand
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i12571 => Batterie_Temp_Remote, poll = 1, last = 1476174865.86278
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Temp_Remote
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i13068 => Solar_Ertrag_T, poll = 1, last = 1476164054.771
2016.10.11 10:39:20 5: LS2024B: GetUpdate will skip Solar_Ertrag_T, delay not over
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i13070 => Solar_Ertrag_M, poll = 1, last = 1476171258.06857
2016.10.11 10:39:20 5: LS2024B: GetUpdate will skip Solar_Ertrag_M, delay not over
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i13072 => Solar_Ertrag_J, poll = 1, last = 1476174860.47002
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Solar_Ertrag_J
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i13082 => Batterie_Spannung, poll = 1, last = 1476174860.29051
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Spannung
2016.10.11 10:39:20 5: LS2024B: GetUpdate check i13083 => Batterie_Strom, poll = 1, last = 1476174860.29757
2016.10.11 10:39:20 4: LS2024B: GetUpdate will request Batterie_Strom
2016.10.11 10:39:20 5: LS2024B: GetUpdate tries to combine read commands
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for d is 1
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine TagesZustand / d8204 with Last_Modus / h36925, span would be 28722
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for h is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine Last_Modus / h36925 with Last_EinAus / h36970, span would be 46
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for h is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine Last_EinAus / h36970 with Solar_Spannung / i12544, span would be -24425
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Solar_Strom / i12545, span = 2, dropping read for i12545
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Solar_Leistung / i12546, span = 3, dropping read for i12546
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Batterie_Ladestrom / i12549, span = 6, dropping read for i12549
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Batterie_Ladeleistung / i12550, span = 7, dropping read for i12550
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine Solar_Spannung / i12544 with Last_Spannung / i12556, span would be 13
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Last_Strom / i12557, span = 2, dropping read for i12557
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Last_Leistung / i12558, span = 3, dropping read for i12558
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Batterie_Temp / i12560, span = 5, dropping read for i12560
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Innen_Temperatur / i12561, span = 6, dropping read for i12561
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine Last_Spannung / i12556 with Batterie_Ladezustand / i12570, span would be 15
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Batterie_Ladezustand / i12570 with Batterie_Temp_Remote / i12571, span = 2, dropping read for i12571
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine Batterie_Ladezustand / i12570 with Solar_Ertrag_J / i13072, span would be 503
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate cannot combine Solar_Ertrag_J / i13072 with Batterie_Spannung / i13082, span would be 11
2016.10.11 10:39:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:39:20 5: LS2024B: GetUpdate combines Batterie_Spannung / i13082 with Batterie_Strom / i13083, span = 2, dropping read for i13083
2016.10.11 10:39:20 4: LS2024B: Send called with i 13082 len 1 / span 2 to id 1, queue has 0 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 4 for i 13082 (Batterie_Spannung), len / span 2 : 0104331a00025f48 pdu 04331a0002
2016.10.11 10:39:20 4: ModBusLine1: sends 0104331a00025f48 (fcode 4 to 1, tid 0 for Batterie_Spannung (13082), len 2)
2016.10.11 10:39:20 5: SW: 0104331a00025f48
2016.10.11 10:39:20 4: LS2024B: Send called with i 13072 len 1 / span 1 to id 1, queue has 0 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 4 for i 13072 (Solar_Ertrag_J), len / span 1 : 0104331000013f4b pdu 0433100001
2016.10.11 10:39:20 4: LS2024B: Send called with d 8204 len 1 / span 1 to id 1, queue has 1 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 2 for d 8204 (TagesZustand), len / span 1 : 0102200c00017209 pdu 02200c0001
2016.10.11 10:39:20 4: LS2024B: Send called with h 36970 len 1 / span 1 to id 1, queue has 2 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 3 for h 36970 (Last_EinAus), len / span 1 : 0103906a00018916 pdu 03906a0001
2016.10.11 10:39:20 4: LS2024B: Send called with h 36925 len 1 / span 1 to id 1, queue has 3 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 3 for h 36925 (Last_Modus), len / span 1 : 0103903d000138c6 pdu 03903d0001
2016.10.11 10:39:20 4: LS2024B: Send called with i 12556 len 1 / span 6 to id 1, queue has 4 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 4 for i 12556 (Last_Spannung), len / span 6 : 0104310c0006bef7 pdu 04310c0006
2016.10.11 10:39:20 4: LS2024B: Send called with i 12570 len 1 / span 2 to id 1, queue has 5 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 4 for i 12570 (Batterie_Ladezustand), len / span 2 : 0104311a00025ef0 pdu 04311a0002
2016.10.11 10:39:20 4: LS2024B: Send called with i 12544 len 1 / span 7 to id 1, queue has 6 requests
2016.10.11 10:39:20 4: LS2024B: Send queues fcode 4 for i 12544 (Solar_Spannung), len / span 7 : 010431000007bf34 pdu 0431000007
2016.10.11 10:39:20 5: ModBusLine1: raw read: 01040405b9006c2a80
2016.10.11 10:39:20 5: ModBusLine1: ParseFrames got: 01040405b9006c2a80
2016.10.11 10:39:20 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0405b9006c calc crc = 32810, read = 32810  expect 4 from 1 for module LS2024B
2016.10.11 10:39:20 5: LS2024B: ParseObj called with 05b9006c and start 13082
2016.10.11 10:39:20 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:20 5: LS2024B: ParseObj for Batterie_Spannung evaluates 1465 with expr $val/100
2016.10.11 10:39:20 4: LS2024B: ParseObj for Batterie_Spannung assigns 14.65
2016.10.11 10:39:20 5: LS2024B: ParseObj moves to next object, skip 1 to 13083
2016.10.11 10:39:20 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:20 5: LS2024B: ParseObj for Batterie_Strom evaluates 108 with expr $val/100
2016.10.11 10:39:20 4: LS2024B: ParseObj for Batterie_Strom assigns 1.08
2016.10.11 10:39:20 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:39:20 4: ModBusLine1: sends 0104331000013f4b (fcode 4 to 1, tid 0 for Solar_Ertrag_J (13072), len 1)
2016.10.11 10:39:20 5: SW: 0104331000013f4b
2016.10.11 10:39:20 5: ModBusLine1: raw read: 010402003a3923
2016.10.11 10:39:20 5: ModBusLine1: ParseFrames got: 010402003a3923
2016.10.11 10:39:20 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 02003a calc crc = 9017, read = 9017  expect 4 from 1 for module LS2024B
2016.10.11 10:39:20 5: LS2024B: ParseObj called with 003a and start 13072
2016.10.11 10:39:20 5: LS2024B: ParseObj ObjInfo: reading=Solar_Ertrag_J, unpack=n, expr=$val*10, format=, map=
2016.10.11 10:39:20 5: LS2024B: ParseObj for Solar_Ertrag_J evaluates 58 with expr $val*10
2016.10.11 10:39:20 4: LS2024B: ParseObj for Solar_Ertrag_J assigns 580
2016.10.11 10:39:20 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:39:20 4: ModBusLine1: CheckDelay sendDelay for LS2024B not over, try again in 0.035783052444458
2016.10.11 10:39:21 4: ModBusLine1: sends 0102200c00017209 (fcode 2 to 1, tid 0 for TagesZustand (8204), len 1)
2016.10.11 10:39:21 5: SW: 0102200c00017209
2016.10.11 10:39:21 5: ModBusLine1: raw read: 01020100a188
2016.10.11 10:39:21 5: ModBusLine1: ParseFrames got: 01020100a188
2016.10.11 10:39:21 4: ModBusLine1: ParseFrames: fcode 2 from 1, data 0100 calc crc = 34977, read = 34977  expect 2 from 1 for module LS2024B
2016.10.11 10:39:21 5: LS2024B: ParseObj called with 00 and start 8204, quantity 1
2016.10.11 10:39:21 5: LS2024B: ParseObj bit string: 0 and start 8204, quantity 1
2016.10.11 10:39:21 5: LS2024B: ParseObj ObjInfo: reading=TagesZustand, unpack=a, expr=, format=%s, map=0:Tag, 1:Nacht
2016.10.11 10:39:21 5: LS2024B: ParseObj for TagesZustand maps value 0 with 0:Tag, 1:Nacht
2016.10.11 10:39:21 5: LS2024B: ParseObj for TagesZustand does sprintf with format %s value is Tag
2016.10.11 10:39:21 5: LS2024B: ParseObj for TagesZustand sprintf result is Tag
2016.10.11 10:39:21 4: LS2024B: ParseObj for TagesZustand assigns Tag
2016.10.11 10:39:21 5: ModBusLine1: ParseFrames done, reply to fCode 1, 24 readings
2016.10.11 10:39:21 4: ModBusLine1: sends 0103906a00018916 (fcode 3 to 1, tid 0 for Last_EinAus (36970), len 1)
2016.10.11 10:39:21 5: SW: 0103906a00018916
2016.10.11 10:39:22 5: ModBusLine1: raw read: 0103020000b844
2016.10.11 10:39:22 5: ModBusLine1: ParseFrames got: 0103020000b844
2016.10.11 10:39:22 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020000 calc crc = 17592, read = 17592  expect 3 from 1 for module LS2024B
2016.10.11 10:39:22 5: LS2024B: ParseObj called with 0000 and start 36970
2016.10.11 10:39:22 5: LS2024B: ParseObj ObjInfo: reading=Last_EinAus, unpack=n, expr=, format=%s, map=0:aus, 1:ein
2016.10.11 10:39:22 5: LS2024B: ParseObj for Last_EinAus maps value 0 with 0:aus, 1:ein
2016.10.11 10:39:22 5: LS2024B: ParseObj for Last_EinAus does sprintf with format %s value is aus
2016.10.11 10:39:22 5: LS2024B: ParseObj for Last_EinAus sprintf result is aus
2016.10.11 10:39:22 4: LS2024B: ParseObj for Last_EinAus assigns aus
2016.10.11 10:39:22 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.11 10:39:22 4: ModBusLine1: sends 0103903d000138c6 (fcode 3 to 1, tid 0 for Last_Modus (36925), len 1)
2016.10.11 10:39:22 5: SW: 0103903d000138c6
2016.10.11 10:39:29 5: ModBusLine1: raw read: 01030200017984
2016.10.11 10:39:29 5: ModBusLine1: ParseFrames got: 01030200017984
2016.10.11 10:39:29 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020001 calc crc = 33913, read = 33913  expect 3 from 1 for module LS2024B
2016.10.11 10:39:29 5: LS2024B: ParseObj called with 0001 and start 36925
2016.10.11 10:39:29 5: LS2024B: ParseObj ObjInfo: reading=Last_Modus, unpack=n, expr=, format=%s, map=0:manuell, 1:nachts, 2:nachts+timer, 3:timer
2016.10.11 10:39:29 5: LS2024B: ParseObj for Last_Modus maps value 1 with 0:manuell, 1:nachts, 2:nachts+timer, 3:timer
2016.10.11 10:39:29 5: LS2024B: ParseObj for Last_Modus does sprintf with format %s value is nachts
2016.10.11 10:39:29 5: LS2024B: ParseObj for Last_Modus sprintf result is nachts
2016.10.11 10:39:29 4: LS2024B: ParseObj for Last_Modus assigns nachts
2016.10.11 10:39:29 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.11 10:39:29 4: ModBusLine1: sends 0104310c0006bef7 (fcode 4 to 1, tid 0 for Last_Spannung (12556), len 6)
2016.10.11 10:39:29 5: SW: 0104310c0006bef7
2016.10.11 10:39:30 5: ModBusLine1: raw read: 01040c0000000000000000040b040ba642
2016.10.11 10:39:30 5: ModBusLine1: ParseFrames got: 01040c0000000000000000040b040ba642
2016.10.11 10:39:30 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0c0000000000000000040b040b calc crc = 17062, read = 17062  expect 4 from 1 for module LS2024B
2016.10.11 10:39:30 5: LS2024B: ParseObj called with 0000000000000000040b040b and start 12556
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Last_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:30 5: LS2024B: ParseObj for Last_Spannung evaluates 0 with expr $val/100
2016.10.11 10:39:30 4: LS2024B: ParseObj for Last_Spannung assigns 0
2016.10.11 10:39:30 5: LS2024B: ParseObj moves to next object, skip 1 to 12557
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Last_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:30 5: LS2024B: ParseObj for Last_Strom evaluates 0 with expr $val/100
2016.10.11 10:39:30 4: LS2024B: ParseObj for Last_Strom assigns 0
2016.10.11 10:39:30 5: LS2024B: ParseObj moves to next object, skip 1 to 12558
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Last_Leistung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:30 5: LS2024B: ParseObj for Last_Leistung evaluates 0 with expr $val/100
2016.10.11 10:39:30 4: LS2024B: ParseObj for Last_Leistung assigns 0
2016.10.11 10:39:30 5: LS2024B: ParseObj moves to next object, skip 1 to 12559
2016.10.11 10:39:30 5: LS2024B: ParseObj has no parseInfo for i12559
2016.10.11 10:39:30 5: LS2024B: ParseObj moves to next object, skip 1 to 12560
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Temp, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:30 5: LS2024B: ParseObj for Batterie_Temp evaluates 1035 with expr $val/100
2016.10.11 10:39:30 4: LS2024B: ParseObj for Batterie_Temp assigns 10.35
2016.10.11 10:39:30 5: LS2024B: ParseObj moves to next object, skip 1 to 12561
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Innen_Temperatur, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:30 5: LS2024B: ParseObj for Innen_Temperatur evaluates 1035 with expr $val/100
2016.10.11 10:39:30 4: LS2024B: ParseObj for Innen_Temperatur assigns 10.35
2016.10.11 10:39:30 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:39:30 4: ModBusLine1: sends 0104311a00025ef0 (fcode 4 to 1, tid 0 for Batterie_Ladezustand (12570), len 2)
2016.10.11 10:39:30 5: SW: 0104311a00025ef0
2016.10.11 10:39:30 5: ModBusLine1: raw read: 0104040057040c4891
2016.10.11 10:39:30 5: ModBusLine1: ParseFrames got: 0104040057040c4891
2016.10.11 10:39:30 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 040057040c calc crc = 37192, read = 37192  expect 4 from 1 for module LS2024B
2016.10.11 10:39:30 5: LS2024B: ParseObj called with 0057040c and start 12570
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladezustand, unpack=n, expr=, format=, map=
2016.10.11 10:39:30 4: LS2024B: ParseObj for Batterie_Ladezustand assigns 87
2016.10.11 10:39:30 5: LS2024B: ParseObj moves to next object, skip 1 to 12571
2016.10.11 10:39:30 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Temp_Remote, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:30 5: LS2024B: ParseObj for Batterie_Temp_Remote evaluates 1036 with expr $val/100
2016.10.11 10:39:30 4: LS2024B: ParseObj for Batterie_Temp_Remote assigns 10.36
2016.10.11 10:39:31 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:39:31 4: ModBusLine1: CheckDelay sendDelay for LS2024B not over, try again in 0.0421969890594482
2016.10.11 10:39:32 4: ModBusLine1: sends 010431000007bf34 (fcode 4 to 1, tid 0 for Solar_Spannung (12544), len 7)
2016.10.11 10:39:32 5: SW: 010431000007bf34
2016.10.11 10:39:32 5: ModBusLine1: raw read: 01040e06eb006c062b000005b7006c062b7399
2016.10.11 10:39:32 5: ModBusLine1: ParseFrames got: 01040e06eb006c062b000005b7006c062b7399
2016.10.11 10:39:32 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0e06eb006c062b000005b7006c062b calc crc = 39283, read = 39283  expect 4 from 1 for module LS2024B
2016.10.11 10:39:32 5: LS2024B: ParseObj called with 06eb006c062b000005b7006c062b and start 12544
2016.10.11 10:39:32 5: LS2024B: ParseObj ObjInfo: reading=Solar_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:32 5: LS2024B: ParseObj for Solar_Spannung evaluates 1771 with expr $val/100
2016.10.11 10:39:32 4: LS2024B: ParseObj for Solar_Spannung assigns 17.71
2016.10.11 10:39:32 5: LS2024B: ParseObj moves to next object, skip 1 to 12545
2016.10.11 10:39:32 5: LS2024B: ParseObj ObjInfo: reading=Solar_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:32 5: LS2024B: ParseObj for Solar_Strom evaluates 108 with expr $val/100
2016.10.11 10:39:32 4: LS2024B: ParseObj for Solar_Strom assigns 1.08
2016.10.11 10:39:32 5: LS2024B: ParseObj moves to next object, skip 1 to 12546
2016.10.11 10:39:32 5: LS2024B: ParseObj ObjInfo: reading=Solar_Leistung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:32 5: LS2024B: ParseObj for Solar_Leistung evaluates 1579 with expr $val/100
2016.10.11 10:39:32 4: LS2024B: ParseObj for Solar_Leistung assigns 15.79
2016.10.11 10:39:32 5: LS2024B: ParseObj moves to next object, skip 1 to 12547
2016.10.11 10:39:32 5: LS2024B: ParseObj has no parseInfo for i12547
2016.10.11 10:39:32 5: LS2024B: ParseObj moves to next object, skip 1 to 12548
2016.10.11 10:39:32 5: LS2024B: ParseObj has no parseInfo for i12548
2016.10.11 10:39:32 5: LS2024B: ParseObj moves to next object, skip 1 to 12549
2016.10.11 10:39:32 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladestrom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:32 5: LS2024B: ParseObj for Batterie_Ladestrom evaluates 108 with expr $val/100
2016.10.11 10:39:32 4: LS2024B: ParseObj for Batterie_Ladestrom assigns 1.08
2016.10.11 10:39:32 5: LS2024B: ParseObj moves to next object, skip 1 to 12550
2016.10.11 10:39:32 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladeleistung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:39:32 5: LS2024B: ParseObj for Batterie_Ladeleistung evaluates 1579 with expr $val/100
2016.10.11 10:39:32 4: LS2024B: ParseObj for Batterie_Ladeleistung assigns 15.79
2016.10.11 10:39:32 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:44:20 4: LS2024B: update timer modified: will call GetUpdate in 300.0 seconds at 2016-10-11 10:49:20
2016.10.11 10:44:20 5: LS2024B: GetUpdate called
2016.10.11 10:44:20 5: LS2024B: GetUpdate objects from attributes: h36883 i13068 i12546 i12549 i12545 i12558 h36864 i13083 i12561 h36885 i12557 i12556 i12570 h36884 i12544 i12571 h36970 i12550 i13070 h36925 i13082 i12560 i13072 d8204
2016.10.11 10:44:20 5: LS2024B: GetUpdate full object list: d8204 h36864 h36883 h36884 h36885 h36925 h36970 i12544 i12545 i12546 i12549 i12550 i12556 i12557 i12558 i12560 i12561 i12570 i12571 i13068 i13070 i13072 i13082 i13083
2016.10.11 10:44:20 5: LS2024B: GetUpdate check d8204 => TagesZustand, poll = 1, last = 1476175161.55534
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request TagesZustand
2016.10.11 10:44:20 5: LS2024B: GetUpdate check h36864 => Batterie_Typ, poll = 1, last = 1476174268.01075
2016.10.11 10:44:20 5: LS2024B: GetUpdate will skip Batterie_Typ, delay not over
2016.10.11 10:44:20 5: LS2024B: GetUpdate check h36883 => RTC1, poll = 1, last = 1476174861.795
2016.10.11 10:44:20 5: LS2024B: GetUpdate will skip RTC1, delay not over
2016.10.11 10:44:20 5: LS2024B: GetUpdate check h36884 => RTC2, poll = 1, last = 1476174861.80298
2016.10.11 10:44:20 5: LS2024B: GetUpdate will skip RTC2, delay not over
2016.10.11 10:44:20 5: LS2024B: GetUpdate check h36885 => RTC3, poll = 1, last = 1476174861.81003
2016.10.11 10:44:20 5: LS2024B: GetUpdate will skip RTC3, delay not over
2016.10.11 10:44:20 5: LS2024B: GetUpdate check h36925 => Last_Modus, poll = 1, last = 1476175169.42951
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Last_Modus
2016.10.11 10:44:20 5: LS2024B: GetUpdate check h36970 => Last_EinAus, poll = 1, last = 1476175162.75151
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Last_EinAus
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12544 => Solar_Spannung, poll = 1, last = 1476175172.21281
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Solar_Spannung
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12545 => Solar_Strom, poll = 1, last = 1476175172.22544
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Solar_Strom
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12546 => Solar_Leistung, poll = 1, last = 1476175172.2381
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Solar_Leistung
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12549 => Batterie_Ladestrom, poll = 1, last = 1476175172.26016
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Ladestrom
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12550 => Batterie_Ladeleistung, poll = 1, last = 1476175172.27345
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Ladeleistung
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12556 => Last_Spannung, poll = 1, last = 1476175170.72912
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Last_Spannung
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12557 => Last_Strom, poll = 1, last = 1476175170.74231
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Last_Strom
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12558 => Last_Leistung, poll = 1, last = 1476175170.7555
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Last_Leistung
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12560 => Batterie_Temp, poll = 1, last = 1476175170.77252
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Temp
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12561 => Innen_Temperatur, poll = 1, last = 1476175170.78629
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Innen_Temperatur
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12570 => Batterie_Ladezustand, poll = 1, last = 1476175170.95309
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Ladezustand
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i12571 => Batterie_Temp_Remote, poll = 1, last = 1476175170.96625
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Temp_Remote
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i13068 => Solar_Ertrag_T, poll = 1, last = 1476164054.771
2016.10.11 10:44:20 5: LS2024B: GetUpdate will skip Solar_Ertrag_T, delay not over
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i13070 => Solar_Ertrag_M, poll = 1, last = 1476171258.06857
2016.10.11 10:44:20 5: LS2024B: GetUpdate will skip Solar_Ertrag_M, delay not over
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i13072 => Solar_Ertrag_J, poll = 1, last = 1476175160.80792
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Solar_Ertrag_J
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i13082 => Batterie_Spannung, poll = 1, last = 1476175160.62055
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Spannung
2016.10.11 10:44:20 5: LS2024B: GetUpdate check i13083 => Batterie_Strom, poll = 1, last = 1476175160.63323
2016.10.11 10:44:20 4: LS2024B: GetUpdate will request Batterie_Strom
2016.10.11 10:44:20 5: LS2024B: GetUpdate tries to combine read commands
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for d is 1
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine TagesZustand / d8204 with Last_Modus / h36925, span would be 28722
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for h is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine Last_Modus / h36925 with Last_EinAus / h36970, span would be 46
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for h is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine Last_EinAus / h36970 with Solar_Spannung / i12544, span would be -24425
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Solar_Strom / i12545, span = 2, dropping read for i12545
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Solar_Leistung / i12546, span = 3, dropping read for i12546
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Batterie_Ladestrom / i12549, span = 6, dropping read for i12549
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Solar_Spannung / i12544 with Batterie_Ladeleistung / i12550, span = 7, dropping read for i12550
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine Solar_Spannung / i12544 with Last_Spannung / i12556, span would be 13
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Last_Strom / i12557, span = 2, dropping read for i12557
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Last_Leistung / i12558, span = 3, dropping read for i12558
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Batterie_Temp / i12560, span = 5, dropping read for i12560
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Last_Spannung / i12556 with Innen_Temperatur / i12561, span = 6, dropping read for i12561
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine Last_Spannung / i12556 with Batterie_Ladezustand / i12570, span would be 15
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Batterie_Ladezustand / i12570 with Batterie_Temp_Remote / i12571, span = 2, dropping read for i12571
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine Batterie_Ladezustand / i12570 with Solar_Ertrag_J / i13072, span would be 503
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate cannot combine Solar_Ertrag_J / i13072 with Batterie_Spannung / i13082, span would be 11
2016.10.11 10:44:20 5: LS2024B: GetUpdate: combine for i is 10
2016.10.11 10:44:20 5: LS2024B: GetUpdate combines Batterie_Spannung / i13082 with Batterie_Strom / i13083, span = 2, dropping read for i13083
2016.10.11 10:44:20 4: LS2024B: Send called with i 13082 len 1 / span 2 to id 1, queue has 0 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 4 for i 13082 (Batterie_Spannung), len / span 2 : 0104331a00025f48 pdu 04331a0002
2016.10.11 10:44:20 4: ModBusLine1: sends 0104331a00025f48 (fcode 4 to 1, tid 0 for Batterie_Spannung (13082), len 2)
2016.10.11 10:44:20 5: SW: 0104331a00025f48
2016.10.11 10:44:20 4: LS2024B: Send called with i 13072 len 1 / span 1 to id 1, queue has 0 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 4 for i 13072 (Solar_Ertrag_J), len / span 1 : 0104331000013f4b pdu 0433100001
2016.10.11 10:44:20 4: LS2024B: Send called with d 8204 len 1 / span 1 to id 1, queue has 1 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 2 for d 8204 (TagesZustand), len / span 1 : 0102200c00017209 pdu 02200c0001
2016.10.11 10:44:20 4: LS2024B: Send called with h 36970 len 1 / span 1 to id 1, queue has 2 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 3 for h 36970 (Last_EinAus), len / span 1 : 0103906a00018916 pdu 03906a0001
2016.10.11 10:44:20 4: LS2024B: Send called with h 36925 len 1 / span 1 to id 1, queue has 3 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 3 for h 36925 (Last_Modus), len / span 1 : 0103903d000138c6 pdu 03903d0001
2016.10.11 10:44:20 4: LS2024B: Send called with i 12556 len 1 / span 6 to id 1, queue has 4 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 4 for i 12556 (Last_Spannung), len / span 6 : 0104310c0006bef7 pdu 04310c0006
2016.10.11 10:44:20 4: LS2024B: Send called with i 12570 len 1 / span 2 to id 1, queue has 5 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 4 for i 12570 (Batterie_Ladezustand), len / span 2 : 0104311a00025ef0 pdu 04311a0002
2016.10.11 10:44:20 4: LS2024B: Send called with i 12544 len 1 / span 7 to id 1, queue has 6 requests
2016.10.11 10:44:20 4: LS2024B: Send queues fcode 4 for i 12544 (Solar_Spannung), len / span 7 : 010431000007bf34 pdu 0431000007
2016.10.11 10:44:20 5: ModBusLine1: raw read: 01040405b700684a80
2016.10.11 10:44:20 5: ModBusLine1: ParseFrames got: 01040405b700684a80
2016.10.11 10:44:20 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0405b70068 calc crc = 32842, read = 32842  expect 4 from 1 for module LS2024B
2016.10.11 10:44:20 5: LS2024B: ParseObj called with 05b70068 and start 13082
2016.10.11 10:44:20 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:20 5: LS2024B: ParseObj for Batterie_Spannung evaluates 1463 with expr $val/100
2016.10.11 10:44:20 4: LS2024B: ParseObj for Batterie_Spannung assigns 14.63
2016.10.11 10:44:20 5: LS2024B: ParseObj moves to next object, skip 1 to 13083
2016.10.11 10:44:20 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:20 5: LS2024B: ParseObj for Batterie_Strom evaluates 104 with expr $val/100
2016.10.11 10:44:20 4: LS2024B: ParseObj for Batterie_Strom assigns 1.04
2016.10.11 10:44:20 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:44:20 4: ModBusLine1: sends 0104331000013f4b (fcode 4 to 1, tid 0 for Solar_Ertrag_J (13072), len 1)
2016.10.11 10:44:20 5: SW: 0104331000013f4b
2016.10.11 10:44:20 5: ModBusLine1: raw read: 010402003bf8e3
2016.10.11 10:44:20 5: ModBusLine1: ParseFrames got: 010402003bf8e3
2016.10.11 10:44:20 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 02003b calc crc = 58360, read = 58360  expect 4 from 1 for module LS2024B
2016.10.11 10:44:20 5: LS2024B: ParseObj called with 003b and start 13072
2016.10.11 10:44:20 5: LS2024B: ParseObj ObjInfo: reading=Solar_Ertrag_J, unpack=n, expr=$val*10, format=, map=
2016.10.11 10:44:20 5: LS2024B: ParseObj for Solar_Ertrag_J evaluates 59 with expr $val*10
2016.10.11 10:44:20 4: LS2024B: ParseObj for Solar_Ertrag_J assigns 590
2016.10.11 10:44:21 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:44:21 4: ModBusLine1: CheckDelay sendDelay for LS2024B not over, try again in 0.0508179664611816
2016.10.11 10:44:22 4: ModBusLine1: sends 0102200c00017209 (fcode 2 to 1, tid 0 for TagesZustand (8204), len 1)
2016.10.11 10:44:22 5: SW: 0102200c00017209
2016.10.11 10:44:22 5: ModBusLine1: raw read: 01020100a188
2016.10.11 10:44:22 5: ModBusLine1: ParseFrames got: 01020100a188
2016.10.11 10:44:22 4: ModBusLine1: ParseFrames: fcode 2 from 1, data 0100 calc crc = 34977, read = 34977  expect 2 from 1 for module LS2024B
2016.10.11 10:44:22 5: LS2024B: ParseObj called with 00 and start 8204, quantity 1
2016.10.11 10:44:22 5: LS2024B: ParseObj bit string: 0 and start 8204, quantity 1
2016.10.11 10:44:22 5: LS2024B: ParseObj ObjInfo: reading=TagesZustand, unpack=a, expr=, format=%s, map=0:Tag, 1:Nacht
2016.10.11 10:44:22 5: LS2024B: ParseObj for TagesZustand maps value 0 with 0:Tag, 1:Nacht
2016.10.11 10:44:22 5: LS2024B: ParseObj for TagesZustand does sprintf with format %s value is Tag
2016.10.11 10:44:22 5: LS2024B: ParseObj for TagesZustand sprintf result is Tag
2016.10.11 10:44:22 4: LS2024B: ParseObj for TagesZustand assigns Tag
2016.10.11 10:44:22 5: ModBusLine1: ParseFrames done, reply to fCode 1, 24 readings
2016.10.11 10:44:22 4: ModBusLine1: sends 0103906a00018916 (fcode 3 to 1, tid 0 for Last_EinAus (36970), len 1)
2016.10.11 10:44:22 5: SW: 0103906a00018916
2016.10.11 10:44:23 5: ModBusLine1: raw read: 0103020000b844
2016.10.11 10:44:23 5: ModBusLine1: ParseFrames got: 0103020000b844
2016.10.11 10:44:23 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020000 calc crc = 17592, read = 17592  expect 3 from 1 for module LS2024B
2016.10.11 10:44:23 5: LS2024B: ParseObj called with 0000 and start 36970
2016.10.11 10:44:23 5: LS2024B: ParseObj ObjInfo: reading=Last_EinAus, unpack=n, expr=, format=%s, map=0:aus, 1:ein
2016.10.11 10:44:23 5: LS2024B: ParseObj for Last_EinAus maps value 0 with 0:aus, 1:ein
2016.10.11 10:44:23 5: LS2024B: ParseObj for Last_EinAus does sprintf with format %s value is aus
2016.10.11 10:44:23 5: LS2024B: ParseObj for Last_EinAus sprintf result is aus
2016.10.11 10:44:23 4: LS2024B: ParseObj for Last_EinAus assigns aus
2016.10.11 10:44:23 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.11 10:44:23 4: ModBusLine1: sends 0103903d000138c6 (fcode 3 to 1, tid 0 for Last_Modus (36925), len 1)
2016.10.11 10:44:23 5: SW: 0103903d000138c6
2016.10.11 10:44:25 5: ModBusLine1: raw read: 01030200017984
2016.10.11 10:44:25 5: ModBusLine1: ParseFrames got: 01030200017984
2016.10.11 10:44:25 4: ModBusLine1: ParseFrames: fcode 3 from 1, data 020001 calc crc = 33913, read = 33913  expect 3 from 1 for module LS2024B
2016.10.11 10:44:25 5: LS2024B: ParseObj called with 0001 and start 36925
2016.10.11 10:44:25 5: LS2024B: ParseObj ObjInfo: reading=Last_Modus, unpack=n, expr=, format=%s, map=0:manuell, 1:nachts, 2:nachts+timer, 3:timer
2016.10.11 10:44:25 5: LS2024B: ParseObj for Last_Modus maps value 1 with 0:manuell, 1:nachts, 2:nachts+timer, 3:timer
2016.10.11 10:44:25 5: LS2024B: ParseObj for Last_Modus does sprintf with format %s value is nachts
2016.10.11 10:44:25 5: LS2024B: ParseObj for Last_Modus sprintf result is nachts
2016.10.11 10:44:25 4: LS2024B: ParseObj for Last_Modus assigns nachts
2016.10.11 10:44:25 5: ModBusLine1: ParseFrames done, reply to fCode 3, 24 readings
2016.10.11 10:44:25 4: ModBusLine1: sends 0104310c0006bef7 (fcode 4 to 1, tid 0 for Last_Spannung (12556), len 6)
2016.10.11 10:44:25 5: SW: 0104310c0006bef7
2016.10.11 10:44:26 5: ModBusLine1: raw read: 01040c000000000000000004140414d64c
2016.10.11 10:44:26 5: ModBusLine1: ParseFrames got: 01040c000000000000000004140414d64c
2016.10.11 10:44:26 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0c000000000000000004140414 calc crc = 19670, read = 19670  expect 4 from 1 for module LS2024B
2016.10.11 10:44:26 5: LS2024B: ParseObj called with 000000000000000004140414 and start 12556
2016.10.11 10:44:26 5: LS2024B: ParseObj ObjInfo: reading=Last_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:26 5: LS2024B: ParseObj for Last_Spannung evaluates 0 with expr $val/100
2016.10.11 10:44:26 4: LS2024B: ParseObj for Last_Spannung assigns 0
2016.10.11 10:44:26 5: LS2024B: ParseObj moves to next object, skip 1 to 12557
2016.10.11 10:44:26 5: LS2024B: ParseObj ObjInfo: reading=Last_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:26 5: LS2024B: ParseObj for Last_Strom evaluates 0 with expr $val/100
2016.10.11 10:44:26 4: LS2024B: ParseObj for Last_Strom assigns 0
2016.10.11 10:44:26 5: LS2024B: ParseObj moves to next object, skip 1 to 12558
2016.10.11 10:44:26 5: LS2024B: ParseObj ObjInfo: reading=Last_Leistung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:26 5: LS2024B: ParseObj for Last_Leistung evaluates 0 with expr $val/100
2016.10.11 10:44:26 4: LS2024B: ParseObj for Last_Leistung assigns 0
2016.10.11 10:44:26 5: LS2024B: ParseObj moves to next object, skip 1 to 12559
2016.10.11 10:44:26 5: LS2024B: ParseObj has no parseInfo for i12559
2016.10.11 10:44:26 5: LS2024B: ParseObj moves to next object, skip 1 to 12560
2016.10.11 10:44:26 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Temp, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:26 5: LS2024B: ParseObj for Batterie_Temp evaluates 1044 with expr $val/100
2016.10.11 10:44:26 4: LS2024B: ParseObj for Batterie_Temp assigns 10.44
2016.10.11 10:44:26 5: LS2024B: ParseObj moves to next object, skip 1 to 12561
2016.10.11 10:44:26 5: LS2024B: ParseObj ObjInfo: reading=Innen_Temperatur, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:26 5: LS2024B: ParseObj for Innen_Temperatur evaluates 1044 with expr $val/100
2016.10.11 10:44:26 4: LS2024B: ParseObj for Innen_Temperatur assigns 10.44
2016.10.11 10:44:26 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:44:26 4: ModBusLine1: sends 0104311a00025ef0 (fcode 4 to 1, tid 0 for Batterie_Ladezustand (12570), len 2)
2016.10.11 10:44:26 5: SW: 0104311a00025ef0
2016.10.11 10:44:27 5: ModBusLine1: raw read: 010404005904142958
2016.10.11 10:44:27 5: ModBusLine1: ParseFrames got: 010404005904142958
2016.10.11 10:44:27 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0400590414 calc crc = 22569, read = 22569  expect 4 from 1 for module LS2024B
2016.10.11 10:44:27 5: LS2024B: ParseObj called with 00590414 and start 12570
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladezustand, unpack=n, expr=, format=, map=
2016.10.11 10:44:27 4: LS2024B: ParseObj for Batterie_Ladezustand assigns 89
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12571
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Temp_Remote, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:27 5: LS2024B: ParseObj for Batterie_Temp_Remote evaluates 1044 with expr $val/100
2016.10.11 10:44:27 4: LS2024B: ParseObj for Batterie_Temp_Remote assigns 10.44
2016.10.11 10:44:27 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings
2016.10.11 10:44:27 4: ModBusLine1: sends 010431000007bf34 (fcode 4 to 1, tid 0 for Solar_Spannung (12544), len 7)
2016.10.11 10:44:27 5: SW: 010431000007bf34
2016.10.11 10:44:27 5: ModBusLine1: raw read: 01040e0737006b063d000005bb006b063d811f
2016.10.11 10:44:27 5: ModBusLine1: ParseFrames got: 01040e0737006b063d000005bb006b063d811f
2016.10.11 10:44:27 4: ModBusLine1: ParseFrames: fcode 4 from 1, data 0e0737006b063d000005bb006b063d calc crc = 8065, read = 8065  expect 4 from 1 for module LS2024B
2016.10.11 10:44:27 5: LS2024B: ParseObj called with 0737006b063d000005bb006b063d and start 12544
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Solar_Spannung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:27 5: LS2024B: ParseObj for Solar_Spannung evaluates 1847 with expr $val/100
2016.10.11 10:44:27 4: LS2024B: ParseObj for Solar_Spannung assigns 18.47
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12545
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Solar_Strom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:27 5: LS2024B: ParseObj for Solar_Strom evaluates 107 with expr $val/100
2016.10.11 10:44:27 4: LS2024B: ParseObj for Solar_Strom assigns 1.07
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12546
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Solar_Leistung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:27 5: LS2024B: ParseObj for Solar_Leistung evaluates 1597 with expr $val/100
2016.10.11 10:44:27 4: LS2024B: ParseObj for Solar_Leistung assigns 15.97
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12547
2016.10.11 10:44:27 5: LS2024B: ParseObj has no parseInfo for i12547
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12548
2016.10.11 10:44:27 5: LS2024B: ParseObj has no parseInfo for i12548
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12549
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladestrom, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:27 5: LS2024B: ParseObj for Batterie_Ladestrom evaluates 107 with expr $val/100
2016.10.11 10:44:27 4: LS2024B: ParseObj for Batterie_Ladestrom assigns 1.07
2016.10.11 10:44:27 5: LS2024B: ParseObj moves to next object, skip 1 to 12550
2016.10.11 10:44:27 5: LS2024B: ParseObj ObjInfo: reading=Batterie_Ladeleistung, unpack=n, expr=$val/100, format=, map=
2016.10.11 10:44:27 5: LS2024B: ParseObj for Batterie_Ladeleistung evaluates 1597 with expr $val/100
2016.10.11 10:44:27 4: LS2024B: ParseObj for Batterie_Ladeleistung assigns 15.97
2016.10.11 10:44:27 5: ModBusLine1: ParseFrames done, reply to fCode 4, 24 readings


fhem.cfg :
# MODBUS - LS2024B
###################
define LS2024B ModbusAttr 1 300

attr LS2024B userattr IODev dev-c-defPoll dev-d-defPoll dev-h-combine dev-h-defPoll dev-h-write dev-i-combine dev-i-defPoll dev-timing-sendDelay disable obj-c8204-format obj-c8204-map obj-c8204-polldelay obj-c8204-reading obj-d8204-format obj-d8204-map obj-d8204-reading obj-h36864-format obj-h36864-map obj-h36864-polldelay obj-h36864-reading obj-h36864-set obj-h36883-expr obj-h36883-format obj-h36883-len obj-h36883-polldelay obj-h36883-reading obj-h36884-expr obj-h36884-format obj-h36884-polldelay obj-h36884-reading obj-h36885-expr obj-h36885-format obj-h36885-polldelay obj-h36885-reading obj-h36925-format obj-h36925-map obj-h36925-polldelay obj-h36925-reading obj-h36925-set obj-h36970-format obj-h36970-map obj-h36970-reading obj-h36970-set obj-i12544-expr obj-i12544-reading obj-i12545-expr obj-i12545-reading obj-i12546-expr obj-i12546-reading obj-i12549-expr obj-i12549-reading obj-i12550-expr obj-i12550-reading obj-i12556-expr obj-i12556-reading obj-i12557-expr obj-i12557-reading obj-i12558-expr obj-i12558-reading obj-i12560-expr obj-i12560-reading obj-i12561-expr obj-i12561-reading obj-i12570-reading obj-i12571-expr obj-i12571-reading obj-i13068-expr obj-i13068-polldelay obj-i13068-reading obj-i13070-expr obj-i13070-polldelay obj-i13070-reading obj-i13072-expr obj-i13072-reading obj-i13082-expr obj-i13082-reading obj-i13083-expr obj-i13083-reading userReadings verbose
attr LS2024B IODev ModBusLine1
attr LS2024B dev-c-defPoll 1
attr LS2024B dev-d-defPoll 1
attr LS2024B dev-h-combine 10
attr LS2024B dev-h-defPoll 1
attr LS2024B dev-h-write 16
attr LS2024B dev-i-combine 10
attr LS2024B dev-i-defPoll 1
attr LS2024B dev-timing-sendDelay 0.2
attr LS2024B disable 0
attr LS2024B obj-d8204-format %s
attr LS2024B obj-d8204-map 0:Tag, 1:Nacht
attr LS2024B obj-d8204-reading TagesZustand
attr LS2024B obj-h36864-format %s
attr LS2024B obj-h36864-map 0:User, 1:AGM, 2:Gel, 3:Saeure
attr LS2024B obj-h36864-polldelay x12
attr LS2024B obj-h36864-reading Batterie_Typ
attr LS2024B obj-h36864-set 1
attr LS2024B obj-h36883-expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
attr LS2024B obj-h36883-format %s
attr LS2024B obj-h36883-polldelay x12
attr LS2024B obj-h36883-reading RTC1
attr LS2024B obj-h36884-expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
attr LS2024B obj-h36884-format %s
attr LS2024B obj-h36884-polldelay x12
attr LS2024B obj-h36884-reading RTC2
attr LS2024B obj-h36885-expr sprintf("%02d %02d", ($val & 0xff), ($val >> 8) )
attr LS2024B obj-h36885-format %s
attr LS2024B obj-h36885-polldelay x12
attr LS2024B obj-h36885-reading RTC3
attr LS2024B obj-h36925-format %s
attr LS2024B obj-h36925-map 0:manuell, 1:nachts, 2:nachts+timer, 3:timer
attr LS2024B obj-h36925-reading Last_Modus
attr LS2024B obj-h36925-set 1
attr LS2024B obj-h36970-format %s
attr LS2024B obj-h36970-map 0:aus, 1:ein
attr LS2024B obj-h36970-reading Last_EinAus
attr LS2024B obj-h36970-set 1
attr LS2024B obj-i12544-expr $val/100
attr LS2024B obj-i12544-reading Solar_Spannung
attr LS2024B obj-i12545-expr $val/100
attr LS2024B obj-i12545-reading Solar_Strom
attr LS2024B obj-i12546-expr $val/100
attr LS2024B obj-i12546-reading Solar_Leistung
attr LS2024B obj-i12549-expr $val/100
attr LS2024B obj-i12549-reading Batterie_Ladestrom
attr LS2024B obj-i12550-expr $val/100
attr LS2024B obj-i12550-reading Batterie_Ladeleistung
attr LS2024B obj-i12556-expr $val/100
attr LS2024B obj-i12556-reading Last_Spannung
attr LS2024B obj-i12557-expr $val/100
attr LS2024B obj-i12557-reading Last_Strom
attr LS2024B obj-i12558-expr $val/100
attr LS2024B obj-i12558-reading Last_Leistung
attr LS2024B obj-i12560-expr $val/100
attr LS2024B obj-i12560-reading Batterie_Temp
attr LS2024B obj-i12561-expr $val/100
attr LS2024B obj-i12561-reading Innen_Temperatur
attr LS2024B obj-i12570-reading Batterie_Ladezustand
attr LS2024B obj-i12571-expr $val/100
attr LS2024B obj-i12571-reading Batterie_Temp_Remote
attr LS2024B obj-i13068-expr $val*10
attr LS2024B obj-i13068-polldelay x48
attr LS2024B obj-i13068-reading Solar_Ertrag_T
attr LS2024B obj-i13070-expr $val*10
attr LS2024B obj-i13070-polldelay x24
attr LS2024B obj-i13070-reading Solar_Ertrag_M
attr LS2024B obj-i13072-expr $val*10
attr LS2024B obj-i13072-reading Solar_Ertrag_J
attr LS2024B obj-i13082-expr $val/100
attr LS2024B obj-i13082-reading Batterie_Spannung
attr LS2024B obj-i13083-expr $val/100
attr LS2024B obj-i13083-reading Batterie_Strom
attr LS2024B room Interfaces,Solar-Garten
attr LS2024B userReadings RTC:RTC3.* {return (split(' ', ReadingsVal("LS2024B","RTC2","")))[1].".".(split(' ', ReadingsVal("LS2024B","RTC3","")))[0].".20".(split(' ', ReadingsVal("LS2024B","RTC3","")))[1]." ".(split(' ', ReadingsVal("LS2024B","RTC2","")))[0].":".(split(' ', ReadingsVal("LS2024B","RTC1","")))[1].":".(split(' ', ReadingsVal("LS2024B","RTC1","")))[0];;;;}
attr LS2024B verbose 0


define FileLog_LS2024B FileLog ./log/LS2024B-%Y-%m.log LS2024B.*
attr FileLog_LS2024B room Solar-Garten
define SVG_FileLog_LS2024B_1 SVG FileLog_LS2024B:SVG_FileLog_LS2024B_1:CURRENT
attr SVG_FileLog_LS2024B_1 room Solar-Garten
define SVG_FileLog_LS2024B_2 SVG FileLog_LS2024B:SVG_FileLog_LS2024B_2:CURRENT
attr SVG_FileLog_LS2024B_2 room Solar-Garten
attr SVG_FileLog_LS2024B_2 title sprintf("LS2024B - Tagesertrag : %.1f Wh, Pspez: %.2f Wh/Wp, Batterie: %d%%", $data{max2}, $data{max2}/50,$data{max3})

# Workaround. Device 2h disablen
#####################
define AT_Disable_LS2024B at *21:30:00 {fhem("attr LS2024B disable 1")}
attr AT_Disable_LS2024B room Interfaces,Solar-Garten
define AT_Enable_LS2024B at *23:30:00 {fhem("attr LS2024B disable 0")}
attr AT_Enable_LS2024B room Interfaces,Solar-Garten


Trotz combine etc. steigt die CPU-Last langsam(er) an.

Es könnte ja auch am USB-Treiber liegen. Aktuell ist ein CHG341 USB to RS485 drin.
Gestern habe ich einen mit FTDI-Chipsatz getestet, aber damit konnte ich keine Kommunikation starten. Muss ein Fake sein, da ich 2 bestellt habe und diese beide die selbe Seriennummer haben. Kann das am Fake liegen, dass der gar nicht kommuniziert ?

Der Raspi ist Modell B mit 700 Mhz.

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

StefanStrobel

Hallo Joe,

Im Log sieht man schön was das Modbus-Gerät bzw. Modul alles macht und was es nicht macht.
Zwischen 10:39:20 und 10:39:32 ist es für 12 Sekunden mal stark beschäftigt. In dieser Zeit kann die CPU-Last durchaus hochgehen und das solltest Du in top beobachten können.

Zwischen 10:39:32 und 10:44:20 macht es dann aber gar nichts mehr und wartet nur darauf, dass der nächste GetUpdate-Zyklus losgehen soll. In diesen fast 5 Minuten kann es die CPU-Last nicht erhöhen. Für den Fhem-Perl-Prozess sollte top in dieser Zeit nur minimale CPU-Last anzeigen, es sei denn andere Module sind in der Zeit sehr aktiv ...

Mach doch mal in einem Fenster einen tail -f auf dem Logfile und beobachte in einem anderen Fenster die CPU-Nutzung der Prozesse.

Wenn ein RS485-Adapter nicht kommuniziert würde ich erst mal die Terminierung ansehen. Vielleicht liegt es ja daran ...

Gruss
    Stefan

StefanStrobel

Noch eine Idee:
wenn die CPU-Last erst nach oben geht, wenn auch "send queue too Long" im Log erscheint, dann bräuchte ich auch einen Log-Ausschnitt für diesen Zeitpunkt - am besten wieder 5 Minuten. Vermutlich ist in dieser Zeit die serielle Verbindung gestört. Aber das sollte man dann auch im Log sehen.
In Deinem obigen Log-Ausschnitt sieht ja alles gut aus.

Gruss
    Stefan

cotecmania

Hallo Stefan,

Send queue too long tritt aktuell nicht mehr auf.
Im Anhang nochmals die CPU-Auslastung von gestern. Diese steigt seit combine etc. nicht mehr so steil an aber sie steigt ...
Um 21.30 Uhr wir das MottbusAttr-Device für 2h disabled (AT-Job) und siehe da, die CPU-Last fällt wieder definitv zurück.

Terminiert habe ich den RS485 gar nicht. Habe nur 2 Leitungen vom Keller in die Garage.
Soll ich die 120 Ohm Widerstände am Anfang/Ende einbauen ? Mit dem einen USB-Konverter läufts ja ohne ...
Habe gelesen, dass die FTDI-Treiber die Fake-Chips erkennen und dann keine Kommunikation etc. zulassen ...

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

StefanStrobel

Hallo Joe,

das ist schon sehr seltsam.
Vor allem verstehe ich nicht wieso es nach dem Disablen doch noch fast eine Stunde dauert, bis Deine CPU-Load wieder abgesunken ist.
ich würde als erstes genauerer Messungen machen. Statt einer allgemeinen und gemittelten CPU-Last würde ich die CPU-Last und Speicher-Nutzung der einzelnen Prozesse mindestens minütlich betrachten. Während der fast 5 Minuten, in denen das Modbus-Modul gar nichts macht muss die Last ja irgendwo anders herkommen.

Zur Terminierung: ohne geht es bei mir nicht. Es mag aber Adapter geben, die eine Terminierung schon eingebaut haben.
Das Treiberproblem mit gefälschten FTDI-Adaptern kenne ich nur von Windows. Ich glaube nicht dass unter Linux so etwas vorkommen kann. Solche Treiber würde niemand in den Kerrnel aufnehmen.

gruss
    Stefan


cotecmania

Hallo Stefan,

zur Info. Seit dem Umstieg auf einen echten FTDI USB-RS485-Wandler anstatt CHG340 ist die CPU-Last nun konstant bei 0.2 !

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

StefanStrobel

Vielen Dank für den Hinweis.
Dann erzeugt wohl der CHG340-Treiber die Last und nicht Fhem.
Beruhigend zu wissen :-)

Gruß
   Stefan