Neues Modul für Geräte mit Modbus Schnittstelle über RS232 bzw. RS485

Begonnen von StefanStrobel, 12 Juli 2014, 14:50:22

Vorheriges Thema - Nächstes Thema

StefanStrobel

Hallo,

aus meiner Sicht ist das ein Fehler im SDM220 Modul in der Definition von h86:


map => "1:import.active.energy, 2:import+export.active.energy, 4:export.active.energy, 6:import+export.reactive.energy, 8:export.reactive.energy", # map to convert visible values to internal numbers (for reading and writing)
hint => "0,1,4,5,6,8", # string for fhemweb to create a selection or slider
format => '%.f', # format string for sprintf


Das Modbus-Basismodul verwendet zuerst die Map um den numerischen Wert in einen String zu verwandeln. Danach wird der Wert mit sprintf konvertiert. Dabei soll %.f verwendet werden und das passt nicht für Strings.
Versuch doch mal die Zeile mit format => zu entfernen.

Gruss
    Stefan

satprofi

Hallo.
Was hast du unter Readings beim Wert "Relay1_Energy_Type" stehen? Keine 0 ?
Ich habe dort 0 stehen, und keine Probleme. Vielleicht stimmt der Wert dort nicht.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

holle75

@satprofi: Relay1_Energy_Type ist bei mir auch 0

@Stefan: ein (nur Zeile format geändert)

"h86" => { # holding register 0x0056
# 0001: Import active energy
# 0002: Import + export active energy
# 0004: Export active energy, (default)
# 0005: Import reactive energy
# 0006: Import + export reactive energy
# 0008: Export reactive energy
name => "Pulse1 output", # internal name of this register in the hardware doc
reading => "Relay1_Energy_Type", # name of the reading for this value
unpack => "f>", # ??? pack / unpack code to convert raw values
map => "1:import.active.energy, 2:import+export.active.energy, 4:export.active.energy, 6:import+export.reactive.energy, 8:export.reactive.energy", # map to convert visible values to internal numbers (for reading and writing)
hint => "0,1,4,5,6,8", # string for fhemweb to create a selection or slider
format => # format string for sprintf
poll => "once", # only poll once after define (or after a set)
set => 1, # this value can be set
},


oder auch ein (nur Zeile format geändert)

"h86" => { # holding register 0x0056
# 0001: Import active energy
# 0002: Import + export active energy
# 0004: Export active energy, (default)
# 0005: Import reactive energy
# 0006: Import + export reactive energy
# 0008: Export reactive energy
name => "Pulse1 output", # internal name of this register in the hardware doc
reading => "Relay1_Energy_Type", # name of the reading for this value
unpack => "f>", # ??? pack / unpack code to convert raw values
map => "1:import.active.energy, 2:import+export.active.energy, 4:export.active.energy, 6:import+export.reactive.energy, 8:export.reactive.energy", # map to convert visible values to internal numbers (for reading and writing)
hint => "0,1,4,5,6,8", # string for fhemweb to create a selection or slider
format => '', # format string for sprintf
poll => "once", # only poll once after define (or after a set)
set => 1, # this value can be set
},


führt jetzt zu anderen Fehlermeldungen. Auch ein komplettes Entfernen der format-Zeile.

Relay1_Energy_Type enthält in allen drei Fällen dann export.active.energy

2015.09.15 10:29:02 1: PERL WARNING: Missing argument in sprintf at ./FHEM/98_Modbus.pm line 401.
2015.09.15 10:29:02 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/98_Modbus.pm line 401.

2015.09.15 10:29:53 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 3894.

satprofi

hallo.
Lese mal deinen SDM manuell aus, am Gerät selbst, und schau ob du überhaupt diese Werte abrufen kannst? Vielleicht hast du andere Version deines 220er.
Was passiert wenn du das Register h86 komplett entfernst?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

holle75

Hallo Stefan, wenn ich das Register komplett entferne kommt nur noch

2015.09.15 14:50:23 1: PERL WARNING: Missing argument in sprintf at ./FHEM/98_Modbus.pm line 401.
2015.09.15 14:50:23 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/98_Modbus.pm line 401.


als Fehler.

Wie lese ich den Zähler manuell aus? Welches Progrämmchen kann das (Win)? EDIT: Quark nicht Win, das Ding hängt ja am Raspi.

Wenn ich wenigstens mal wüßte, was dieses Register genau macht?

satprofi

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

holle75

Ach so ;) ... bin gewohnt, dass es kompliziert sein muß :D ..... und wie würde es sich am Display nennen?

Edit: hab jetzt alle Anzeigen am Gerät durch. Nichts was Ähnlichkeit mit "Relay1_Energy_Type" hat gefunden.

holle75

Zitat von: StefanStrobel am 14 September 2015, 18:18:34
Das Modbus-Basismodul verwendet zuerst die Map um den numerischen Wert in einen String zu verwandeln. Danach wird der Wert mit sprintf konvertiert. Dabei soll %.f verwendet werden und das passt nicht für Strings.

welcher Ersatz für %.f würde denn für Strings passen?

satprofi

Zitat von: holle75 am 15 September 2015, 15:21:43
Ach so ;) ... bin gewohnt, dass es kompliziert sein muß :D ..... und wie würde es sich am Display nennen?

Edit: hab jetzt alle Anzeigen am Gerät durch. Nichts was Ähnlichkeit mit "Relay1_Energy_Type" hat gefunden.

Relay_Energy_Type musst du in den settings abfragen, heisst du musst ins Menü zu den Einstellungen. Wo auch ID, Baudrate, etc. eingestellt wird.
Hast du das auch gemacht?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

holle75

Jo, im device gibt es sowohl unter set als auch unter get Relay_Energy_Type. Get ergibt "0"

holle75

Hab jetzt mal spaßeshalber per set Relay_Energy_Type auf eine andere Zahl setzen wollen und bekomme als Ergebnis dann den Fehler "Set Value X did not match defined map"

und ein log mit verbose 5 auf dem einen Zähler:

2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate called
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate objects from attributes:
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate full object list: h12 h18 h20 h28 h62720 h63760 h63776 h86 i0 i12 i18 i24 i30 i342 i344 i36 i6 i70 i72 i74 i76 i78
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h12 => System_Pulse_Width__ms, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request System_Pulse_Width__ms
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h18 => Modbus_Parity_Stop, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Modbus_Parity_Stop
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h20 => Modbus_Node_adr, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Modbus_Node_adr
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h28 => Modbus_Speed__baud, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Modbus_Speed__baud
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h62720 => system_demand_interval, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request system_demand_interval
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h63760 => System_Pulse_constant, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request System_Pulse_constant
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h63776 => System_Measurement_mode, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request System_Measurement_mode
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check h86 => Relay1_Energy_Type, poll = once, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Relay1_Energy_Type
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i0 => Voltage__V, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Voltage__V
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i12 => Power__W, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Power__W
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i18 => Power__VA, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Power__VA
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i24 => Power__VAr, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Power__VAr
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i30 => PowerFactor, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request PowerFactor
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i342 => Energy_total__kWh, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Energy_total__kWh
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i344 => Energy_total__kVArh, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Energy_total__kVArh
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i36 => CosPhi, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request CosPhi
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i6 => Current__A, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Current__A
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i70 => Frequency__Hz, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Frequency__Hz
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i72 => Energy_import__kWh, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Energy_import__kWh
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i74 => Energy_export__kWh, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Energy_export__kWh
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i76 => Energy_import__kVArh, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Energy_import__kVArh
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate check i78 => Energy_export__kVArh, poll = 1, last = 0
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate will request Energy_export__kVArh
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate tries to combine read commands
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for h is 10
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines System_Pulse_Width__ms / h12 with Modbus_Parity_Stop / h18, span = 8, dropping read for h18
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines System_Pulse_Width__ms / h12 with Modbus_Node_adr / h20, span = 10, dropping read for h20
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine System_Pulse_Width__ms / h12 with Modbus_Speed__baud / h28, span would be 18
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for h is 10
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine Modbus_Speed__baud / h28 with system_demand_interval / h62720, span would be 62694
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for h is 10
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine system_demand_interval / h62720 with System_Pulse_constant / h63760, span would be 1042
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for h is 10
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine System_Pulse_constant / h63760 with System_Measurement_mode / h63776, span would be 18
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for h is 10
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine System_Measurement_mode / h63776 with Relay1_Energy_Type / h86, span would be -63688
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for h is 10
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine Relay1_Energy_Type / h86 with Voltage__V / i0, span would be -84
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for i is 40
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Voltage__V / i0 with Power__W / i12, span = 14, dropping read for i12
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Voltage__V / i0 with Power__VA / i18, span = 20, dropping read for i18
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Voltage__V / i0 with Power__VAr / i24, span = 26, dropping read for i24
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Voltage__V / i0 with PowerFactor / i30, span = 32, dropping read for i30
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine Voltage__V / i0 with Energy_total__kWh / i342, span would be 344
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for i is 40
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Energy_total__kWh / i342 with Energy_total__kVArh / i344, span = 4, dropping read for i344
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine Energy_total__kWh / i342 with CosPhi / i36, span would be -304
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for i is 40
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine CosPhi / i36 with Current__A / i6, span would be -28
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for i is 40
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate cannot combine Current__A / i6 with Frequency__Hz / i70, span would be 66
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate: combine for i is 40
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Frequency__Hz / i70 with Energy_import__kWh / i72, span = 4, dropping read for i72
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Frequency__Hz / i70 with Energy_export__kWh / i74, span = 6, dropping read for i74
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Frequency__Hz / i70 with Energy_import__kVArh / i76, span = 8, dropping read for i76
2015.09.15 19:11:38 5: Xtender_AC_in: GetUpdate combines Frequency__Hz / i70 with Energy_export__kVArh / i78, span = 10, dropping read for i78
2015.09.15 19:11:38 5: Eastron: Send adds fcode 3 for Modbus_Speed__baud to queue: 0103001c000205cd pdu 03001c0002
2015.09.15 19:11:38 5: Eastron: Send adds fcode 4 for CosPhi to queue: 01040024000231c0 pdu 0400240002
2015.09.15 19:11:38 5: Eastron: Send adds fcode 3 for Relay1_Energy_Type to queue: 010300560002241b pdu 0300560002
2015.09.15 19:11:38 5: Eastron: Send adds fcode 4 for Voltage__V to queue: 010400000020f1d2 pdu 0400000020
2015.09.15 19:11:38 5: Eastron: Send adds fcode 3 for system_demand_interval to queue: 0103f5000002f7c7 pdu 03f5000002
2015.09.15 19:11:38 5: Eastron: Send adds fcode 3 for System_Pulse_constant to queue: 0103f9100002f552 pdu 03f9100002
2015.09.15 19:11:38 5: Eastron: Send adds fcode 4 for Energy_total__kWh to queue: 0104015600041025 pdu 0401560004
2015.09.15 19:11:38 5: Eastron: Send adds fcode 3 for System_Measurement_mode to queue: 0103f9200002f55d pdu 03f9200002
2015.09.15 19:11:38 5: Eastron: Send adds fcode 4 for Frequency__Hz to queue: 01040046000a91d8 pdu 040046000a
2015.09.15 19:11:38 5: Eastron: Send adds fcode 3 for System_Pulse_Width__ms to queue: 0103000c000a05ce pdu 03000c000a
2015.09.15 19:11:38 5: Eastron: Send adds fcode 4 for Current__A to queue: 01040006000291ca pdu 0400060002
2015.09.15 19:11:38 5: Xtender_AC_in: ParseObj called with 40000000 and start 28
2015.09.15 19:11:38 5: Xtender_AC_in: ParseObj ObjInfo: reading=Modbus_Speed__baud, unpack=f>, expr=, format=, map=0:2400, 1:4800, 2:9600, 5:1200
2015.09.15 19:11:38 5: Xtender_AC_in: ParseObj for Modbus_Speed__baud maps value 2 with 0:2400, 1:4800, 2:9600, 5:1200
2015.09.15 19:11:38 4: Xtender_AC_in: ParseObj for Modbus_Speed__baud assigns 9600

2015.09.15 19:11:39 5: Xtender_AC_in: ParseObj called with 41b37836 and start 36
2015.09.15 19:11:39 5: Xtender_AC_in: ParseObj ObjInfo: reading=CosPhi, unpack=f>, expr=, format=%.1f %, map=
2015.09.15 19:11:39 5: Xtender_AC_in: ParseObj for CosPhi does sprintf with format %.1f % value is 22.4336967468262
2015.09.15 19:11:39 1: PERL WARNING: Missing argument in sprintf at ./FHEM/98_Modbus.pm line 401.
2015.09.15 19:11:39 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/98_Modbus.pm line 401.
2015.09.15 19:11:39 5: Xtender_AC_in: ParseObj for CosPhi sprintf result is 22.4 %
2015.09.15 19:11:39 4: Xtender_AC_in: ParseObj for CosPhi assigns 22.4 %

2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj called with 40800000 and start 86
2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj ObjInfo: reading=Relay1_Energy_Type, unpack=f>, expr=, format=%.f, map=1:import.active.energy, 2:import+export.active.energy, 4:export.active.energy, 6:import+export.reactive.energy, 8:export.reactive.energy
2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj for Relay1_Energy_Type maps value 4 with 1:import.active.energy, 2:import+export.active.energy, 4:export.active.energy, 6:import+export.reactive.energy, 8:export.reactive.energy
2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj for Relay1_Energy_Type does sprintf with format %.f value is export.active.energy
2015.09.15 19:11:40 1: PERL WARNING: Argument "export.active.energy" isn't numeric in sprintf at ./FHEM/98_Modbus.pm line 401.
2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj for Relay1_Energy_Type sprintf result is 0
2015.09.15 19:11:40 4: Xtender_AC_in: ParseObj for Relay1_Energy_Type assigns 0
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj called with 43601b1700000000000000003f290eb500000000000000004308aad000000000000000004313fec20000000000000000426324ad00000000000000003f6c67ac and start 0
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=Voltage__V, unpack=f>, expr=, format=%.1f V, map=
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Voltage__V does sprintf with format %.1f V value is 224.105819702148
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Voltage__V sprintf result is 224.1 V
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for Voltage__V assigns 224.1 V
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 2
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i2
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 4
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i4
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 6
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=Current__A, unpack=f>, expr=, format=%.2f A, map=
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Current__A does sprintf with format %.2f A value is 0.660380661487579
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Current__A sprintf result is 0.66 A
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for Current__A assigns 0.66 A
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 8
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i8
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 10
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i10
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 12
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=Power__W, unpack=f>, expr=, format=%.f W, map=
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Power__W does sprintf with format %.f W value is 136.667236328125
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Power__W sprintf result is 137 W
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for Power__W assigns 137 W
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 14
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i14
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 16
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i16
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 18
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=Power__VA, unpack=f>, expr=, format=%.1f VA, map=
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Power__VA does sprintf with format %.1f VA value is 147.995147705078
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Power__VA sprintf result is 148.0 VA
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for Power__VA assigns 148.0 VA
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 20
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i20
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 22
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i22
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 24
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=Power__VAr, unpack=f>, expr=, format=%.1f VAr, map=
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Power__VAr does sprintf with format %.1f VAr value is 56.785816192627
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for Power__VAr sprintf result is 56.8 VAr
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for Power__VAr assigns 56.8 VAr
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 26
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i26
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 28
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj has no parseInfo for i28
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 30
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=PowerFactor, unpack=f>, expr=, format=%.1f, map=
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for PowerFactor does sprintf with format %.1f value is 0.923456907272339
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj for PowerFactor sprintf result is 0.9
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for PowerFactor assigns 0.9
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj called with 15010060 and start 62720
2015.09.15 19:11:41 5: Xtender_AC_in: ParseObj ObjInfo: reading=system_demand_interval, unpack=N, expr=, format=, map=
2015.09.15 19:11:41 4: Xtender_AC_in: ParseObj for system_demand_interval assigns 352387168
2015.09.15 19:11:42 5: Xtender_AC_in: ParseObj called with 00000000 and start 63760
2015.09.15 19:11:42 5: Xtender_AC_in: ParseObj ObjInfo: reading=System_Pulse_constant, unpack=H*, expr=, format=, map=0:0.001/imp, 1:0.01/imp, 2:0.1/imp, 3:1/imp
2015.09.15 19:11:42 5: Xtender_AC_in: ParseObj for System_Pulse_constant maps value 00000000 with 0:0.001/imp, 1:0.01/imp, 2:0.1/imp, 3:1/imp
2015.09.15 19:11:42 4: Xtender_AC_in: ParseObj for System_Pulse_constant assigns 00000000

2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj called with 42e1d0e54238051f and start 342
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj ObjInfo: reading=Energy_total__kWh, unpack=f>, expr=, format=%.3f kWh, map=
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj for Energy_total__kWh does sprintf with format %.3f kWh value is 112.907997131348
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj for Energy_total__kWh sprintf result is 112.908 kWh
2015.09.15 19:11:43 4: Xtender_AC_in: ParseObj for Energy_total__kWh assigns 112.908 kWh
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 344
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj ObjInfo: reading=Energy_total__kVArh, unpack=f>, expr=, format=%.3f kVArh, map=
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj for Energy_total__kVArh does sprintf with format %.3f kVArh value is 46.0050010681152
2015.09.15 19:11:43 5: Xtender_AC_in: ParseObj for Energy_total__kVArh sprintf result is 46.005 kVArh
2015.09.15 19:11:43 4: Xtender_AC_in: ParseObj for Energy_total__kVArh assigns 46.005 kVArh
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj called with 00020000 and start 63776
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj ObjInfo: reading=System_Measurement_mode, unpack=H*, expr=, format=, map=1:import, 2:import+export, 3:import-export
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for System_Measurement_mode maps value 00020000 with 1:import, 2:import+export, 3:import-export
2015.09.15 19:11:44 4: Xtender_AC_in: ParseObj for System_Measurement_mode assigns 00020000
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj called with 4248002542e1c1893cf5c28f41590a3d4201c28f and start 70
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj ObjInfo: reading=Frequency__Hz, unpack=f>, expr=, format=%.1f Hz, map=
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Frequency__Hz does sprintf with format %.1f Hz value is 50.0001411437988
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Frequency__Hz sprintf result is 50.0 Hz
2015.09.15 19:11:44 4: Xtender_AC_in: ParseObj for Frequency__Hz assigns 50.0 Hz
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 72
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj ObjInfo: reading=Energy_import__kWh, unpack=f>, expr=, format=%.3f kWh, map=
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_import__kWh does sprintf with format %.3f kWh value is 112.877998352051
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_import__kWh sprintf result is 112.878 kWh
2015.09.15 19:11:44 4: Xtender_AC_in: ParseObj for Energy_import__kWh assigns 112.878 kWh
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 74
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj ObjInfo: reading=Energy_export__kWh, unpack=f>, expr=, format=%.3f kWh, map=
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_export__kWh does sprintf with format %.3f kWh value is 0.0299999993294477
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_export__kWh sprintf result is 0.030 kWh
2015.09.15 19:11:44 4: Xtender_AC_in: ParseObj for Energy_export__kWh assigns 0.030 kWh
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 76
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj ObjInfo: reading=Energy_import__kVArh, unpack=f>, expr=, format=%.3f kVArh, map=
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_import__kVArh does sprintf with format %.3f kVArh value is 13.5649995803833
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_import__kVArh sprintf result is 13.565 kVArh
2015.09.15 19:11:44 4: Xtender_AC_in: ParseObj for Energy_import__kVArh assigns 13.565 kVArh
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 78
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj ObjInfo: reading=Energy_export__kVArh, unpack=f>, expr=, format=%.3f kVArh, map=
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_export__kVArh does sprintf with format %.3f kVArh value is 32.439998626709
2015.09.15 19:11:44 5: Xtender_AC_in: ParseObj for Energy_export__kVArh sprintf result is 32.440 kVArh
2015.09.15 19:11:44 4: Xtender_AC_in: ParseObj for Energy_export__kVArh assigns 32.440 kVArh

2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj called with 42c800000000000000000000000000003f800000 and start 12
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj ObjInfo: reading=System_Pulse_Width__ms, unpack=f>, expr=, format=%.f ms, map=
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj for System_Pulse_Width__ms does sprintf with format %.f ms value is 100
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj for System_Pulse_Width__ms sprintf result is 100 ms
2015.09.15 19:11:45 4: Xtender_AC_in: ParseObj for System_Pulse_Width__ms assigns 100 ms
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 14
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj has no parseInfo for h14
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 16
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj has no parseInfo for h16
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 18
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj ObjInfo: reading=Modbus_Parity_Stop, unpack=f>, expr=, format=, map=0:1stop.bit_no.parity, 1:1stop.bit_even.parity, 2:1stop.bit_odd.parity, 3:2stop.bits_no.parity
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj for Modbus_Parity_Stop maps value 0 with 0:1stop.bit_no.parity, 1:1stop.bit_even.parity, 2:1stop.bit_odd.parity, 3:2stop.bits_no.parity
2015.09.15 19:11:45 4: Xtender_AC_in: ParseObj for Modbus_Parity_Stop assigns 1stop.bit_no.parity
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj moves to next object, skip 2 to 20
2015.09.15 19:11:45 5: Xtender_AC_in: ParseObj ObjInfo: reading=Modbus_Node_adr, unpack=f>, expr=, format=, map=
2015.09.15 19:11:45 4: Xtender_AC_in: ParseObj for Modbus_Node_adr assigns 1
2015.09.15 19:11:46 5: Xtender_AC_in: ParseObj called with 3f29f8e4 and start 6
2015.09.15 19:11:46 5: Xtender_AC_in: ParseObj ObjInfo: reading=Current__A, unpack=f>, expr=, format=%.2f A, map=
2015.09.15 19:11:46 5: Xtender_AC_in: ParseObj for Current__A does sprintf with format %.2f A value is 0.663954019546509
2015.09.15 19:11:46 5: Xtender_AC_in: ParseObj for Current__A sprintf result is 0.66 A
2015.09.15 19:11:46 4: Xtender_AC_in: ParseObj for Current__A assigns 0.66 A


die Fehler kommen immer nach einem %.f. Was wäre der richtige Ersatz?

StefanStrobel

Hallo,

das Problem liegt an den format-Angaben im Modul.
Bei h86 ist das offensichtlich. Ein %f ist für floats gedacht und funktioniert nicht bei Strings.
Siehe http://perldoc.perl.org/functions/sprintf.html

Das Log ist hier eindeutig:

2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj for Relay1_Energy_Type maps value 4 with 1:import.active.energy, 2:import+export.active.energy, 4:export.active.energy, 6:import+export.reactive.energy, 8:export.reactive.energy
2015.09.15 19:11:40 5: Xtender_AC_in: ParseObj for Relay1_Energy_Type does sprintf with format %.f value is export.active.energy
2015.09.15 19:11:40 1: PERL WARNING: Argument "export.active.energy" isn't numeric in sprintf at ./FHEM/98_Modbus.pm line 401.

sprintf soll den string export.active.energy mit dem Format %.f formattieren, was keinen Sinn macht.

ähnlich ist es mit i36.
Hier ist ein % ohne Format-Spezifikation am Ende im Format-String (%.1f %). Das kann auch nicht klappen. Auch hier ist das im Log offensichtlich:

2015.09.15 19:11:39 5: Xtender_AC_in: ParseObj for CosPhi does sprintf with format %.1f % value is 22.4336967468262
2015.09.15 19:11:39 1: PERL WARNING: Missing argument in sprintf at ./FHEM/98_Modbus.pm line 401.
2015.09.15 19:11:39 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/98_Modbus.pm line 401.

Wenn ein %-Zeichen ausgegeben werden soll, muss das als %% angegeben werden. Wenn ein String ausgegeben werden soll, kann %s verwendet werden. Die oben verlinkte Website zur sprintf erklärt das alles.

Das Modbus-Basismodul verzichtet auf den Aufruf von sprintf wenn kein format angegeben wurde (die ganze Zeile würde dann entfallen, es darf aber auch kein defFormat für den Objekt-Typ hinterlegt sein, sonst wird das format von dort verwendet)

aus Modbus.pm:

$format  = ModbusLD_ObjInfo($logHash, $key, "format", "defFormat");   

und danach

if ($format) {
    Log3 $name, 5, "$name: ParseObj for $reading does sprintf with format " . $format . " value is $val";
    $val = sprintf($format, $val);
    Log3 $name, 5, "$name: ParseObj for $reading sprintf result is $val";
}


Gruss
    Stefan

Roger

Hi,
habe format-Angaben der Module für die beiden Modbus-Zähler SDM220M und SDM630M Dank der Hinweise korrigiert.

Roger
Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron

holle75

Danke Stefan für deine Ausführungen, danke Roger für die fixes. Jetzt läuft es ohne Fehlermeldungen.

sportster

Hallo zusammen,

ich versuche zur Zeit eine Danfoss ECL300 WP Steuerung mit Modbus an FHEM zu koppeln.
Siehe auch hier http://forum.fhem.de/index.php/topic,41382.msg336110.html#msg336110

Die Danfoss ECL300 ist eine Universalsteuerung, die mit einem Modbus Kommunikationsmodul nachgerüstet wurde.

Ich habe nun ein USB/seriel gateway per Modbus Modul erstellt. Die Kommunikation scheint zu funktionieren (state: "opened").
Über ModbusAttr versuche ich nun vorerst mal nur einen Temperaturwert auszulesen der als Holding Register unter der Register Nr. 11201 
in der ECL300 Steuerung zu finden ist. Jedoch erhalte ich in der Abfrage jeweils einen timeout.
Daher vermute ich, dass ich entweder nicht die richtigen Einstellungen/Code eingegeben habe oder auch dass die Registeraddresse von FHEM nicht korrekt weitergegeben wird (o/1-basiert). Die Nachbaradressen habe ich daher auch schon versucht, jedoch vergeblich.

Vielleicht könnte ja mal ein Profi auf die cfg- und filelog Einträge schauen, ob ich hier schon groben Unfug getrieben habe, das ware wirklich nett.
Sorry, bin noch FHEM Anfänger, aber ich finde die Anwendung mit den Möglichkeiten und die Community einfach super. 

Config sieht folgendermaßen aus:
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global backup_before_update 0
attr global logfile ./log/fhem-%Y-%m-%d.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBphone,WEBtablet has no basicAuth attribute.\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global nofork 1
attr global nrarchive 14
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 5

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB editConfig 1

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m-%d.log fakelog
attr Logfile icon edit_copy
attr Logfile nrarchive 14

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
define ModbusRS485 Modbus COM3@19200,8,E,1
define ECL300 ModbusAttr 3 60
attr ECL300 userattr IODev dev-h-defPoll dev-h-defShowGet dev-timing-timeout obj-h11201-reading
attr ECL300 IODev ModbusRS485
attr ECL300 dev-h-defPoll 1
attr ECL300 dev-h-defShowGet 1
attr ECL300 dev-timing-timeout 6
attr ECL300 obj-h11201-reading Temp_aussen
     


Die Aufzeichnung des logfiles der letzten Minuten (verbose 5):
2015.09.29 15:56:32 5: ECL300: GetUpdate called
2015.09.29 15:56:32 5: ECL300: GetUpdate objects from attributes: h11201
2015.09.29 15:56:32 5: ECL300: GetUpdate full object list: h11201
2015.09.29 15:56:32 5: ECL300: GetUpdate check h11201 => Temp_aussen, poll = 1, last = 0
2015.09.29 15:56:32 5: ECL300: GetUpdate will request Temp_aussen
2015.09.29 15:56:32 5: ECL300: GetUpdate tries to combine read commands
2015.09.29 15:56:32 5: ECL300: GetUpdate: combine for h is 1
2015.09.29 15:56:32 5: ModbusRS485: Send adds fcode 3 for Temp_aussen to queue: 03032bc10001ddf0 pdu 032bc10001
2015.09.29 15:56:32 4: ModbusRS485: handle queue sends 03032bc10001ddf0 (fcode 3 to 3 for Temp_aussen, len 1)
2015.09.29 15:56:32 5: SW: 03032bc10001ddf0
2015.09.29 15:56:38 4: ModbusRS485: timeout waiting for 3 from 3, Request was 03032bc10001ddf0, last Buffer:
2015.09.29 15:57:32 5: ECL300: GetUpdate called
2015.09.29 15:57:32 5: ECL300: GetUpdate objects from attributes: h11201
2015.09.29 15:57:32 5: ECL300: GetUpdate full object list: h11201
2015.09.29 15:57:32 5: ECL300: GetUpdate check h11201 => Temp_aussen, poll = 1, last = 0
2015.09.29 15:57:32 5: ECL300: GetUpdate will request Temp_aussen
2015.09.29 15:57:32 5: ECL300: GetUpdate tries to combine read commands
2015.09.29 15:57:32 5: ECL300: GetUpdate: combine for h is 1
2015.09.29 15:57:32 5: ModbusRS485: Send adds fcode 3 for Temp_aussen to queue: 03032bc10001ddf0 pdu 032bc10001
2015.09.29 15:57:32 4: ModbusRS485: handle queue sends 03032bc10001ddf0 (fcode 3 to 3 for Temp_aussen, len 1)
2015.09.29 15:57:32 5: SW: 03032bc10001ddf0
2015.09.29 15:57:38 4: ModbusRS485: timeout waiting for 3 from 3, Request was 03032bc10001ddf0, last Buffer:
2015.09.29 15:58:32 5: ECL300: GetUpdate called
2015.09.29 15:58:32 5: ECL300: GetUpdate objects from attributes: h11201
2015.09.29 15:58:32 5: ECL300: GetUpdate full object list: h11201
2015.09.29 15:58:32 5: ECL300: GetUpdate check h11201 => Temp_aussen, poll = 1, last = 0
2015.09.29 15:58:32 5: ECL300: GetUpdate will request Temp_aussen
2015.09.29 15:58:32 5: ECL300: GetUpdate tries to combine read commands
2015.09.29 15:58:32 5: ECL300: GetUpdate: combine for h is 1
2015.09.29 15:58:32 5: ModbusRS485: Send adds fcode 3 for Temp_aussen to queue: 03032bc10001ddf0 pdu 032bc10001
2015.09.29 15:58:32 4: ModbusRS485: handle queue sends 03032bc10001ddf0 (fcode 3 to 3 for Temp_aussen, len 1)
2015.09.29 15:58:32 5: SW: 03032bc10001ddf0
2015.09.29 15:58:38 4: ModbusRS485: timeout waiting for 3 from 3, Request was 03032bc10001ddf0, last Buffer:
2015.09.29 15:58:51 4: Connection accepted from FHEMWEB:127.0.0.1:58560
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58560 GET /fhem?cmd=style%20edit%20fhem.cfg
2015.09.29 15:58:51 4: 4596:FHEMWEB:127.0.0.1:58560: /fhem?cmd=style%20edit%20fhem.cfg / RL:1783 / text/html; charset=UTF-8 / Content-Encoding: gzip

/
2015.09.29 15:58:51 4: Connection accepted from FHEMWEB:127.0.0.1:58564
2015.09.29 15:58:51 4: Connection accepted from FHEMWEB:127.0.0.1:58566
2015.09.29 15:58:51 4: Connection closed for FHEMWEB:127.0.0.1:58560: Bad file descriptor
2015.09.29 15:58:51 4: Connection accepted from FHEMWEB:127.0.0.1:58568
2015.09.29 15:58:51 4: Connection accepted from FHEMWEB:127.0.0.1:58570
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58566 GET /fhem?cmd=style%20edit%20fhem.cfg
2015.09.29 15:58:51 4: 4596:FHEMWEB:127.0.0.1:58566: /fhem?cmd=style%20edit%20fhem.cfg / RL:1783 / text/html; charset=UTF-8 / Content-Encoding: gzip

/
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58566 GET /fhem/pgm2/style.css
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58564 GET /fhem/pgm2/jquery-ui.min.css
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58570 GET /fhem/pgm2/jquery.min.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58568 GET /fhem/pgm2/fhemweb.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58566 GET /fhem/pgm2/jquery-ui.min.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58564 GET /fhem/pgm2/fhemweb_colorpicker.js
2015.09.29 15:58:51 4: Connection accepted from FHEMWEB:127.0.0.1:58571
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58568 GET /fhem/pgm2/fhemweb_readingsGroup.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58566 GET /fhem/pgm2/fhemweb_readingsHistory.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58564 GET /fhem/pgm2/fhemweb_sortable.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58570 GET /fhem/pgm2/fhemweb_fbcalllist.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58566 GET /fhem/images/default/icoEverything.png
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58568 GET /fhem/pgm2/fhemweb_uzsu.js
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58571 GET /fhem/pgm2/fhemweb_knob.js
2015.09.29 15:58:51 4: Connection closed for FHEMWEB:127.0.0.1:58545: Bad file descriptor
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58571 GET /fhem/pgm2/defaultCommon.css
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58571 GET /fhem/pgm2/dashboard_style.css
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58571 GET /fhem/images/default/fhemicon.png
2015.09.29 15:58:51 4: HTTP FHEMWEB:127.0.0.1:58571 GET /fhem?XHR=1&inform=type=status;filter=;since=1443535130;fmt=JSON×tamp=1443535131504
2015.09.29 15:59:32 5: ECL300: GetUpdate called
2015.09.29 15:59:32 5: ECL300: GetUpdate objects from attributes: h11201
2015.09.29 15:59:32 5: ECL300: GetUpdate full object list: h11201
2015.09.29 15:59:32 5: ECL300: GetUpdate check h11201 => Temp_aussen, poll = 1, last = 0
2015.09.29 15:59:32 5: ECL300: GetUpdate will request Temp_aussen
2015.09.29 15:59:32 5: ECL300: GetUpdate tries to combine read commands
2015.09.29 15:59:32 5: ECL300: GetUpdate: combine for h is 1
2015.09.29 15:59:32 5: ModbusRS485: Send adds fcode 3 for Temp_aussen to queue: 03032bc10001ddf0 pdu 032bc10001
2015.09.29 15:59:32 4: ModbusRS485: handle queue sends 03032bc10001ddf0 (fcode 3 to 3 for Temp_aussen, len 1)
2015.09.29 15:59:32 5: SW: 03032bc10001ddf0
2015.09.29 15:59:38 4: ModbusRS485: timeout waiting for 3 from 3, Request was 03032bc10001ddf0, last Buffer:
2015.09.29 16:00:06 4: Connection closed for FHEMWEB:127.0.0.1:58568: EOF
2015.09.29 16:00:06 4: Connection closed for FHEMWEB:127.0.0.1:58570: EOF
2015.09.29 16:00:06 4: Connection closed for FHEMWEB:127.0.0.1:58566: EOF
2015.09.29 16:00:06 4: Connection closed for FHEMWEB:127.0.0.1:58564: EOF
2015.09.29 16:00:06 4: Connection accepted from FHEMWEB:127.0.0.1:58577
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58577 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09-29.log
2015.09.29 16:00:06 4: Connection accepted from FHEMWEB:127.0.0.1:58578
2015.09.29 16:00:06 4: Connection accepted from FHEMWEB:127.0.0.1:58580
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58578 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09-29.log
2015.09.29 16:00:06 4: Connection accepted from FHEMWEB:127.0.0.1:58582
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58578 GET /fhem/pgm2/style.css
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/pgm2/jquery-ui.min.css
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58582 GET /fhem/pgm2/jquery.min.js
2015.09.29 16:00:06 4: Connection accepted from FHEMWEB:127.0.0.1:58587
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58578 GET /fhem/pgm2/jquery-ui.min.js
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/pgm2/fhemweb_colorpicker.js
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58587 GET /fhem/pgm2/fhemweb.js
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58578 GET /fhem/pgm2/fhemweb_readingsGroup.js
2015.09.29 16:00:06 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/pgm2/fhemweb_readingsHistory.js
2015.09.29 16:00:07 4: Connection accepted from FHEMWEB:127.0.0.1:58588
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58582 GET /fhem/pgm2/fhemweb_fbcalllist.js
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58588 GET /fhem/pgm2/fhemweb_knob.js
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58587 GET /fhem/pgm2/fhemweb_sortable.js
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58578 GET /fhem/pgm2/fhemweb_uzsu.js
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/images/default/icoEverything.png
2015.09.29 16:00:07 4: Connection closed for FHEMWEB:127.0.0.1:58571: Bad file descriptor
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/pgm2/defaultCommon.css
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/pgm2/dashboard_style.css
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/images/default/fhemicon.png
2015.09.29 16:00:07 4: HTTP FHEMWEB:127.0.0.1:58580 GET /fhem/FileLog_logWrapper?XHR=1&inform=type=status;filter=;since=1443535205;fmt=JSON×tamp=1443535207914
2015.09.29 16:00:32 5: ECL300: GetUpdate called
2015.09.29 16:00:32 5: ECL300: GetUpdate objects from attributes: h11201
2015.09.29 16:00:32 5: ECL300: GetUpdate full object list: h11201
2015.09.29 16:00:32 5: ECL300: GetUpdate check h11201 => Temp_aussen, poll = 1, last = 0
2015.09.29 16:00:32 5: ECL300: GetUpdate will request Temp_aussen
2015.09.29 16:00:32 5: ECL300: GetUpdate tries to combine read commands
2015.09.29 16:00:32 5: ECL300: GetUpdate: combine for h is 1
2015.09.29 16:00:32 5: ModbusRS485: Send adds fcode 3 for Temp_aussen to queue: 03032bc10001ddf0 pdu 032bc10001
2015.09.29 16:00:32 4: ModbusRS485: handle queue sends 03032bc10001ddf0 (fcode 3 to 3 for Temp_aussen, len 1)
2015.09.29 16:00:32 5: SW: 03032bc10001ddf0
2015.09.29 16:00:38 4: ModbusRS485: timeout waiting for 3 from 3, Request was 03032bc10001ddf0, last Buffer:
2015.09.29 16:01:22 4: Closing inactive connection FHEMWEB:127.0.0.1:58587
2015.09.29 16:01:22 4: Closing inactive connection FHEMWEB:127.0.0.1:58578
2015.09.29 16:01:22 4: Closing inactive connection FHEMWEB:127.0.0.1:58588
2015.09.29 16:01:22 4: Closing inactive connection FHEMWEB:127.0.0.1:58577
2015.09.29 16:01:22 4: Closing inactive connection FHEMWEB:127.0.0.1:58582
2015.09.29 16:01:22 4: Connection accepted from FHEMWEB:127.0.0.1:58607
2015.09.29 16:01:22 4: Connection accepted from FHEMWEB:127.0.0.1:58609
2015.09.29 16:01:22 4: Connection accepted from FHEMWEB:127.0.0.1:58611
2015.09.29 16:01:22 4: HTTP FHEMWEB:127.0.0.1:58607 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09-29.log
2015.09.29 16:01:23 4: Connection accepted from FHEMWEB:127.0.0.1:58614
2015.09.29 16:01:23 4: HTTP FHEMWEB:127.0.0.1:58609 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2015-09-29.log




LG
Dieter