Wago /SPS über Modbus(TCP/IP) in FHEM steuern

Begonnen von lechez, 05 Mai 2013, 10:50:13

Vorheriges Thema - Nächstes Thema

fischle

#150
Hallo,
ich habe den ersten Test durchgeführt. Die Fehlermeldungen in der Kommandozeile sind auf jeden Fall schon mal weg.  :)

Das Zusammensetzen scheint auch zu funktionieren:


2014.05.07 23:11:47 5: SimpleWrite 01 04 00 08 00 02 F0 09
2014.05.07 23:11:47 5: Read 01 04 04 00 00
2014.05.07 23:11:47 5: Read 01 04 04 00 00 00 00 FB 84
2014.05.07 23:11:47 5: Received 01 04 04 00 00 00 00 FB 84
2014.05.07 23:11:47 5: MB_RTU dispatch ModbusRegister:1:8:4:2:0:0
2014.05.07 23:11:47 5: ModbusRegister_Parse: 4 1 8
2014.05.07 23:11:47 5: Triggering I_L2 (2 changes)
2014.05.07 23:11:47 5: Notify loop for I_L2 0
2014.05.07 23:11:47 4: eventTypes: ModbusRegister I_L2 0 -> .*
2014.05.07 23:11:47 4: eventTypes: ModbusRegister I_L2 RAW: 00000000 -> RAW: .*


Dann habe ich mal ein neues Device konfiguriert, danach steht das ganze wieder. Hier mal das (umfangreiche) log, begonnen mit den letzten Einträgen wo es noch funktioniert hat. Dannach kommt nichts mehr.


014.05.07 23:09:36 5: SimpleWrite 01 04 00 02 00 02 D0 0B
2014.05.07 23:09:37 5: Read 01 04 04 00 00 00 00 FB 84
2014.05.07 23:09:37 5: Received 01 04 04 00 00 00 00 FB 84
2014.05.07 23:09:37 5: MB_RTU dispatch ModbusRegister:1:2:4:2:0:0
2014.05.07 23:09:37 5: ModbusRegister_Parse: 4 1 2
2014.05.07 23:09:37 5: Triggering U_L2 (2 changes)
2014.05.07 23:09:37 5: Notify loop for U_L2 0
2014.05.07 23:09:37 4: eventTypes: ModbusRegister U_L2 0 -> .*
2014.05.07 23:09:37 4: eventTypes: ModbusRegister U_L2 RAW: 00000000 -> RAW: .*
2014.05.07 23:09:37 4: RQUEUE: 2
2014.05.07 23:09:37 5: SimpleWrite 01 04 00 04 00 02 30 0A
2014.05.07 23:09:37 5: Read 01 04 04 00 00 00
2014.05.07 23:09:37 5: Read 01 04 04 00 00 00 00 FB 84
2014.05.07 23:09:37 5: Received 01 04 04 00 00 00 00 FB 84
2014.05.07 23:09:37 5: MB_RTU dispatch ModbusRegister:1:4:4:2:0:0
2014.05.07 23:09:37 5: ModbusRegister_Parse: 4 1 4
2014.05.07 23:09:37 5: Triggering U_L3 (2 changes)
2014.05.07 23:09:37 5: Notify loop for U_L3 0
2014.05.07 23:09:37 4: eventTypes: ModbusRegister U_L3 0 -> .*
2014.05.07 23:09:37 4: eventTypes: ModbusRegister U_L3 RAW: 00000000 -> RAW: .*
2014.05.07 23:09:37 4: RQUEUE: 1
2014.05.07 23:09:37 5: SimpleWrite 01 04 00 48 00 02 F1 DD
2014.05.07 23:09:37 5: Read 01 04 04 3A 83 12 6F 4A 38
2014.05.07 23:09:37 5: Received 01 04 04 3A 83 12 6F 4A 38
2014.05.07 23:09:37 5: MB_RTU dispatch ModbusRegister:1:72:4:2:14979:4719
2014.05.07 23:09:37 5: ModbusRegister_Parse: 4 1 72
2014.05.07 23:09:37 5: Triggering kWh (2 changes)
2014.05.07 23:09:37 5: Notify loop for kWh 0.00100000004749745
2014.05.07 23:09:37 4: eventTypes: ModbusRegister kWh 0.00100000004749745 -> .*
2014.05.07 23:09:37 4: eventTypes: ModbusRegister kWh RAW: 3a83126f -> RAW: 3a83126f
2014.05.07 23:09:41 4: Connection closed for FHEMWEB:127.0.0.1:2769
2014.05.07 23:09:41 4: HTTP FHEMWEB:127.0.0.1:2768 GET /fhem?cmd=style%20edit%20fhem.cfg&save=Save+fhem.cfg&saveName=fhem.cfg&cmd=style+save+fhem.cfg&data=attr+global+autoload_undefined_devices+1%0D%0Aattr+global+logfile+.%2Flog%2Ffhem-%25Y-%25m-%25d.log%0D%0Aattr+global+modpath+.%0D%0Aattr+global+motd+SecurityCheck%3A%5C%0D%0A%5C%0D%0AWEB%2CWEBphone%2CWEBtablet+has+no+basicAuth+attribute.%5C%0D%0AtelnetPort+has+no+password%2Fglobalpassword+attribute.%5C%0D%0A%5C%0D%0ARestart+fhem+for+a+new+check+if+the+problem+is+fixed%2C%5C%0D%0Aor+set+the+global+attribute+motd+to+none+to+supress+this+message.%5C%0D%0A%0D%0Aattr+global+nofork+1%0D%0Aattr+global+statefile+.%2Flog%2Ffhem.save%0D%0Aattr+global+updateInBackground+1%0D%0Aattr+global+userattr+devStateIcon+devStateStyle+icon+sortby+webCmd%0D%0Aattr+global+verbose+5%0D%0A%0D%0Adefine+telnetPort+telnet+7072+global%0D%0A%0D%0Adefine+WEB+FHEMWEB+8083+global%0D%0A%0D%0Adefine+WEBphone+FHEMWEB+8084+global%0D%0Aattr+WEBphone+stylesheetPrefix+smallscreen%0D%0A%0D%0Adefine+WEBtablet+FHEMWEB+8085+global%0D%0Aattr+WEBtablet+stylesheetPrefix+touchpad%0D%0A%0D%0A%23+Fake+FileLog+entry%2C+to+access+the+fhem+log+from+FHEMWEB+%0D%0Adefine+Logfile+FileLog+.%2Flog%2Ffhem-%25Y-%25m-%25d.log+fakelog%0D%0A%0D%0Adefine+autocreate+autocreate%0D%0Aattr+autocreate+filelog+.%2Flog%2F%25NAME-%25Y.log%0D%0A%0D%0Adefine+eventTypes+eventTypes+.%2Flog%2FeventTypes.txt%0D%0A%0D%0A%23+Disable+this+to+avoid+looking+for+new+USB+devices+on+startup%0D%0Adefine+initialUsbCheck+notify+global%3AINITIALIZED+usb+create%0D%0A%0D%0Adefine+MB_RTU+ModbusRTU+COM9%409600%0D%0Aattr+MB_RTU+charformat+8N1%0D%0Aattr+MB_RTU+pollIntervall+5%0D%0Aattr+MB_RTU+timeout+8%0D%0A%0D%0Adefine+U_L1+ModbusRegister+1+30001%0D%0Aattr+U_L1+group+Stromzaehler%0D%0Aattr+U_L1+plcDataType+REAL_BE%0D%0Adefine+U_L2+ModbusRegister+1+30003%0D%0Aattr+U_L2+group+Stromzaehler%0D%0Aattr+U_L2+plcDataType+REAL_BE%0D%0Adefine+U_L3+ModbusRegister+1+30005%0D%0Aattr+U_L3+group+Stromzaehler%0D%0Aattr+U_L3+plcDataType+REAL_BE%0D%0A%0D%0Adefine+I_L1+ModbusRegister+1+30007%0D%0Aattr+I_L1+group+Stromzaehler%0D%0Aattr+I_L1+plcDataType+REAL_BE%0D%0Adefine+I_L2+ModbusRegister+1+30009%0D%0Aattr+I_L2+group+Stromzaehler%0D%0Aattr+I_L2+plcDataType+REAL_BE%0D%0Adefine+I_L3+ModbusRegister+1+30011%0D%0Aattr+I_L3+group+Stromzaehler%0D%0Aattr+I_L3+plcDataType+REAL_BE%0D%0A%0D%0Adefine+P_L1+ModbusRegister+1+30013%0D%0Aattr+P_L1+group+Stromzaehler%0D%0Aattr+P_L1+plcDataType+REAL_BE%0D%0Adefine+P_L2+ModbusRegister+1+30015%0D%0Aattr+P_L2+group+Stromzaehler%0D%0Aattr+P_L2+plcDataType+REAL_BE%0D%0Adefine+P_L3+ModbusRegister+1+30017%0D%0Aattr+P_L3+group+Stromzaehler%0D%0Aattr+P_L3+plcDataType+REAL_BE%0D%0A%0D%0Adefine+P_Ges+ModbusRegister+1+30053%0D%0Aattr+P_Ges+group+Stromzaehler%0D%0Aattr+P_Ges+plcDataType+REAL_BE%0D%0A%0D%0Adefine+Freq+ModbusRegister+1+30071%0D%0Aattr+Freq+group+Stromzaehler%0D%0Aattr+Freq+plcDataType+REAL_BE%0D%0A%0D%0Adefine+kWh+ModbusRegister+1+30073%0D%0Aattr+kWh+group+Stromzaehler%0D%0Aattr+kWh+plcDataType+REAL_BE%0D%0A%0D%0Adefine+kVar+ModbusRegister+1+30077%0D%0Aattr+kVar+group+Stromzaehler%0D%0Aattr+kVar+plcDataType+REAL_BE
2014.05.07 23:09:41 5: Cmd: >rereadcfg<
2014.05.07 23:09:41 5: Undef 4 1 72 kWh
2014.05.07 23:09:41 5: Undef 4 1 70 Freq
2014.05.07 23:09:41 5: Undef 4 1 52 P_Ges
2014.05.07 23:09:41 5: Undef 4 1 16 P_L3
2014.05.07 23:09:41 5: Undef 4 1 14 P_L2
2014.05.07 23:09:41 5: Undef 4 1 12 P_L1
2014.05.07 23:09:41 5: Undef 4 1 10 I_L3
2014.05.07 23:09:41 5: Undef 4 1 8 I_L2
2014.05.07 23:09:41 5: Undef 4 1 6 I_L1
2014.05.07 23:09:41 5: Undef 4 1 4 U_L3
2014.05.07 23:09:41 5: Undef 4 1 2 U_L2
2014.05.07 23:09:41 5: Undef 4 1 0 U_L1
2014.05.07 23:09:41 1: Including fhem.cfg
2014.05.07 23:09:41 5: Cmd: >attr global autoload_undefined_devices 1<
2014.05.07 23:09:41 5: Cmd: >attr global logfile ./log/fhem-%Y-%m-%d.log<
2014.05.07 23:09:41 5: Cmd: >attr global modpath .<
2014.05.07 23:09:41 5: Cmd: >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.\
<
2014.05.07 23:09:41 5: Cmd: >attr global nofork 1<
2014.05.07 23:09:41 5: Cmd: >attr global statefile ./log/fhem.save<
2014.05.07 23:09:41 5: Cmd: >attr global updateInBackground 1<
2014.05.07 23:09:41 5: Cmd: >attr global userattr devStateIcon devStateStyle icon sortby webCmd<
2014.05.07 23:09:41 5: Cmd: >attr global verbose 5<
2014.05.07 23:09:41 5: Cmd: >define telnetPort telnet 7072 global<
2014.05.07 23:09:41 3: telnetPort: port 7072 opened
2014.05.07 23:09:41 5: Cmd: >define WEB FHEMWEB 8083 global<
2014.05.07 23:09:41 3: WEB: port 8083 opened
2014.05.07 23:09:41 5: Cmd: >define WEBphone FHEMWEB 8084 global<
2014.05.07 23:09:41 3: WEBphone: port 8084 opened
2014.05.07 23:09:41 5: Cmd: >attr WEBphone stylesheetPrefix smallscreen<
2014.05.07 23:09:41 5: Cmd: >define WEBtablet FHEMWEB 8085 global<
2014.05.07 23:09:41 3: WEBtablet: port 8085 opened
2014.05.07 23:09:41 5: Cmd: >attr WEBtablet stylesheetPrefix touchpad<
2014.05.07 23:09:41 5: Cmd: >define Logfile FileLog ./log/fhem-%Y-%m-%d.log fakelog<
2014.05.07 23:09:41 5: Cmd: >define autocreate autocreate<
2014.05.07 23:09:41 5: Cmd: >attr autocreate filelog ./log/%NAME-%Y.log<
2014.05.07 23:09:41 5: Cmd: >define eventTypes eventTypes ./log/eventTypes.txt<
2014.05.07 23:09:41 5: Cmd: >define initialUsbCheck notify global:INITIALIZED usb create<
2014.05.07 23:09:41 5: Cmd: >define MB_RTU ModbusRTU COM9@9600<
2014.05.07 23:09:41 5: t35: 4.0625 ms, t15: 1.77083333333333 ms
2014.05.07 23:09:41 5: Cmd: >attr MB_RTU charformat 8N1<
2014.05.07 23:09:41 5: Cmd: >attr MB_RTU pollIntervall 5<
2014.05.07 23:09:41 5: Cmd: >attr MB_RTU timeout 8<
2014.05.07 23:09:41 5: Cmd: >define U_L1 ModbusRegister 1 30001<
2014.05.07 23:09:41 3: U_L1: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 0 U_L1
2014.05.07 23:09:41 5: Cmd: >attr U_L1 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr U_L1 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define U_L2 ModbusRegister 1 30003<
2014.05.07 23:09:41 3: U_L2: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 2 U_L2
2014.05.07 23:09:41 5: Cmd: >attr U_L2 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr U_L2 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define U_L3 ModbusRegister 1 30005<
2014.05.07 23:09:41 3: U_L3: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 4 U_L3
2014.05.07 23:09:41 5: Cmd: >attr U_L3 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr U_L3 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define I_L1 ModbusRegister 1 30007<
2014.05.07 23:09:41 3: I_L1: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 6 I_L1
2014.05.07 23:09:41 5: Cmd: >attr I_L1 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr I_L1 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define I_L2 ModbusRegister 1 30009<
2014.05.07 23:09:41 3: I_L2: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 8 I_L2
2014.05.07 23:09:41 5: Cmd: >attr I_L2 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr I_L2 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define I_L3 ModbusRegister 1 30011<
2014.05.07 23:09:41 3: I_L3: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 10 I_L3
2014.05.07 23:09:41 5: Cmd: >attr I_L3 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr I_L3 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define P_L1 ModbusRegister 1 30013<
2014.05.07 23:09:41 3: P_L1: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 12 P_L1
2014.05.07 23:09:41 5: Cmd: >attr P_L1 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr P_L1 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define P_L2 ModbusRegister 1 30015<
2014.05.07 23:09:41 3: P_L2: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 14 P_L2
2014.05.07 23:09:41 5: Cmd: >attr P_L2 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr P_L2 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define P_L3 ModbusRegister 1 30017<
2014.05.07 23:09:41 3: P_L3: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 16 P_L3
2014.05.07 23:09:41 5: Cmd: >attr P_L3 group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr P_L3 plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define P_Ges ModbusRegister 1 30053<
2014.05.07 23:09:41 3: P_Ges: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 52 P_Ges
2014.05.07 23:09:41 5: Cmd: >attr P_Ges group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr P_Ges plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define Freq ModbusRegister 1 30071<
2014.05.07 23:09:41 3: Freq: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 70 Freq
2014.05.07 23:09:41 5: Cmd: >attr Freq group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr Freq plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define kWh ModbusRegister 1 30073<
2014.05.07 23:09:41 3: kWh: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 72 kWh
2014.05.07 23:09:41 5: Cmd: >attr kWh group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr kWh plcDataType REAL_BE<
2014.05.07 23:09:41 5: Cmd: >define kVar ModbusRegister 1 30077<
2014.05.07 23:09:41 3: kVar: I/O device is MB_RTU
2014.05.07 23:09:41 5: Def 4 1 76 kVar
2014.05.07 23:09:41 5: Cmd: >attr kVar group Stromzaehler<
2014.05.07 23:09:41 5: Cmd: >attr kVar plcDataType REAL_BE<
2014.05.07 23:09:41 1: Including ./log/fhem.save
2014.05.07 23:09:41 5: Cmd: >setstate Freq 50.0143623352051<
2014.05.07 23:09:41 5: Cmd: >setstate Freq 2014-05-07 23:09:36 RAW 42480eb5<
2014.05.07 23:09:41 5: Cmd: >setstate Freq 2014-05-07 23:09:36 state 50.0143623352051<
2014.05.07 23:09:41 5: Cmd: >setstate I_L1 0<
2014.05.07 23:09:41 5: Cmd: >setstate I_L1 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate I_L1 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate I_L2 0<
2014.05.07 23:09:41 5: Cmd: >setstate I_L2 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate I_L2 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate I_L3 0<
2014.05.07 23:09:41 5: Cmd: >setstate I_L3 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate I_L3 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate Logfile active<
2014.05.07 23:09:41 5: Cmd: >setstate MB_RTU ok<
2014.05.07 23:09:41 5: Cmd: >setstate P_Ges 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_Ges 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate P_Ges 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_L1 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_L1 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate P_L1 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_L2 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_L2 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate P_L2 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_L3 0<
2014.05.07 23:09:41 5: Cmd: >setstate P_L3 2014-05-07 23:09:36 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate P_L3 2014-05-07 23:09:36 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate U_L1 236.793640136719<
2014.05.07 23:09:41 5: Cmd: >setstate U_L1 2014-05-07 23:09:36 RAW 436ccb2c<
2014.05.07 23:09:41 5: Cmd: >setstate U_L1 2014-05-07 23:09:36 state 236.793640136719<
2014.05.07 23:09:41 5: Cmd: >setstate U_L2 0<
2014.05.07 23:09:41 5: Cmd: >setstate U_L2 2014-05-07 23:09:37 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate U_L2 2014-05-07 23:09:37 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate U_L3 0<
2014.05.07 23:09:41 5: Cmd: >setstate U_L3 2014-05-07 23:09:37 RAW 00000000<
2014.05.07 23:09:41 5: Cmd: >setstate U_L3 2014-05-07 23:09:37 state 0<
2014.05.07 23:09:41 5: Cmd: >setstate autocreate active<
2014.05.07 23:09:41 5: Cmd: >setstate eventTypes active<
2014.05.07 23:09:41 5: Cmd: >setstate global <no definition><
2014.05.07 23:09:41 5: Cmd: >setstate initialUsbCheck active<
2014.05.07 23:09:41 5: Cmd: >setstate kWh 0.00100000004749745<
2014.05.07 23:09:41 5: Cmd: >setstate kWh 2014-05-07 23:09:37 RAW 3a83126f<
2014.05.07 23:09:41 5: Cmd: >setstate kWh 2014-05-07 23:09:37 state 0.00100000004749745<
2014.05.07 23:09:41 5: Triggering global (1 changes)
2014.05.07 23:09:41 5: Notify loop for global REREADCFG
2014.05.07 23:09:41 4: eventTypes: Global global REREADCFG -> REREADCFG
2014.05.07 23:09:41 4: /fhem?cmd=style%20edit%20fhem.cfg&save=Save+fhem.cfg&saveName=fhem.cfg&cmd=style+save+fhem.cfg&data=attr+global+autoload_undefined_devices+1%0D%0Aattr+global+logfile+.%2Flog%2Ffhem-%25Y-%25m-%25d.log%0D%0Aattr+global+modpath+.%0D%0Aattr+global+motd+SecurityCheck%3A%5C%0D%0A%5C%0D%0AWEB%2CWEBphone%2CWEBtablet+has+no+basicAuth+attribute.%5C%0D%0AtelnetPort+has+no+password%2Fglobalpassword+attribute.%5C%0D%0A%5C%0D%0ARestart+fhem+for+a+new+check+if+the+problem+is+fixed%2C%5C%0D%0Aor+set+the+global+attribute+motd+to+none+to+supress+this+message.%5C%0D%0A%0D%0Aattr+global+nofork+1%0D%0Aattr+global+statefile+.%2Flog%2Ffhem.save%0D%0Aattr+global+updateInBackground+1%0D%0Aattr+global+userattr+devStateIcon+devStateStyle+icon+sortby+webCmd%0D%0Aattr+global+verbose+5%0D%0A%0D%0Adefine+telnetPort+telnet+7072+global%0D%0A%0D%0Adefine+WEB+FHEMWEB+8083+global%0D%0A%0D%0Adefine+WEBphone+FHEMWEB+8084+global%0D%0Aattr+WEBphone+stylesheetPrefix+smallscreen%0D%0A%0D%0Adefine+WEBtablet+FHEMWEB+8085+global%0D%0Aattr+WEBtablet+stylesheetPrefix+touchpad%0D%0A%0D%0A%23+Fake+FileLog+entry%2C+to+access+the+fhem+log+from+FHEMWEB+%0D%0Adefine+Logfile+FileLog+.%2Flog%2Ffhem-%25Y-%25m-%25d.log+fakelog%0D%0A%0D%0Adefine+autocreate+autocreate%0D%0Aattr+autocreate+filelog+.%2Flog%2F%25NAME-%25Y.log%0D%0A%0D%0Adefine+eventTypes+eventTypes+.%2Flog%2FeventTypes.txt%0D%0A%0D%0A%23+Disable+this+to+avoid+looking+for+new+USB+devices+on+startup%0D%0Adefine+initialUsbCheck+notify+global%3AINITIALIZED+usb+create%0D%0A%0D%0Adefine+MB_RTU+ModbusRTU+COM9%409600%0D%0Aattr+MB_RTU+charformat+8N1%0D%0Aattr+MB_RTU+pollIntervall+5%0D%0Aattr+MB_RTU+timeout+8%0D%0A%0D%0Adefine+U_L1+ModbusRegister+1+30001%0D%0Aattr+U_L1+group+Stromzaehler%0D%0Aattr+U_L1+plcDataType+REAL_BE%0D%0Adefine+U_L2+ModbusRegister+1+30003%0D%0Aattr+U_L2+group+Stromzaehler%0D%0Aattr+U_L2+plcDataType+REAL_BE%0D%0Adefine+U_L3+ModbusRegister+1+30005%0D%0Aattr+U_L3+group+Stromzaehler%0D%0Aattr+U_L3+plcDataType+REAL_BE%0D%0A%0D%0Adefine+I_L1+ModbusRegister+1+30007%0D%0Aattr+I_L1+group+Stromzaehler%0D%0Aattr+I_L1+plcDataType+REAL_BE%0D%0Adefine+I_L2+ModbusRegister+1+30009%0D%0Aattr+I_L2+group+Stromzaehler%0D%0Aattr+I_L2+plcDataType+REAL_BE%0D%0Adefine+I_L3+ModbusRegister+1+30011%0D%0Aattr+I_L3+group+Stromzaehler%0D%0Aattr+I_L3+plcDataType+REAL_BE%0D%0A%0D%0Adefine+P_L1+ModbusRegister+1+30013%0D%0Aattr+P_L1+group+Stromzaehler%0D%0Aattr+P_L1+plcDataType+REAL_BE%0D%0Adefine+P_L2+ModbusRegister+1+30015%0D%0Aattr+P_L2+group+Stromzaehler%0D%0Aattr+P_L2+plcDataType+REAL_BE%0D%0Adefine+P_L3+ModbusRegister+1+30017%0D%0Aattr+P_L3+group+Stromzaehler%0D%0Aattr+P_L3+plcDataType+REAL_BE%0D%0A%0D%0Adefine+P_Ges+ModbusRegister+1+30053%0D%0Aattr+P_Ges+group+Stromzaehler%0D%0Aattr+P_Ges+plcDataType+REAL_BE%0D%0A%0D%0Adefine+Freq+ModbusRegister+1+30071%0D%0Aattr+Freq+group+Stromzaehler%0D%0Aattr+Freq+plcDataType+REAL_BE%0D%0A%0D%0Adefine+kWh+ModbusRegister+1+30073%0D%0Aattr+kWh+group+Stromzaehler%0D%0Aattr+kWh+plcDataType+REAL_BE%0D%0A%0D%0Adefine+kVar+ModbusRegister+1+30077%0D%0Aattr+kVar+group+Stromzaehler%0D%0Aattr+kVar+plcDataType+REAL_BE / RL:1627 / text/html; charset=UTF-8 / Content-Encoding: gzip

RPi,
- USB RS485 Adapter für Stromzähler DRS155M und SDM630M-DC (B+G E-Tech)
- Viesmann KO2B Heizung mit selbstbau Optolink Adapter
- Mi-Light WiFi-Bridge V4, WW/CW LED-Birne

ChrisD

#151
Hallo,

Danke für deine Hilfe und die Logs. Bei einem rereadcfg (erfolgt automatisch beim Speichern in 'Edit files') wurde die Schnittstelle nicht neu geöffnet da ich nicht auf das zugehörige Event geachtet habe. Ich habe dies jetzt geändert. Das ModbusTCPServer-Modul ist ebenfalls davon betroffen.

Grüße,

ChrisD

Edit: Die aktuellen Versionen der Module sind unter https://github.com/ChrisD70/FHEM-Modules zu finden.

golem

Hallo Chris,

habe gerade getestet, im Webinterface werden die state readings nicht akualisiert, nur wenn ich die Seite neu lade bekomme ich eine Anzeige der aktuellen Werte.

gruß Denis
Pi - Max-Lan - 8x max Ht -3x Max WT - Max Fk -modbus umg103- 2x Arduino mit Firmata Ethernet- ws300 - 433Mhz Sender Empfänger - 7x 1wire ds1820

ChrisD

Hallo,

Welchen Browser verwendest du ?

Grüße,

ChrisD

golem

Firefox 29.0
Internet Explorer 10

Bei beiden wird state nicht aktualisiert nur nach neu laden der Seite.
Pi - Max-Lan - 8x max Ht -3x Max WT - Max Fk -modbus umg103- 2x Arduino mit Firmata Ethernet- ws300 - 433Mhz Sender Empfänger - 7x 1wire ds1820

ChrisD

Hast du das Attribut longpoll in der WEB-Instanz gesetzt (auf 0 oder 1) ?
Welche Version von 01_FHEMWEB hast du ?

Mit FF29 sollte longpoll funktionieren, in IE10/11 geht es nur wenn der Kompatibilitätsmodus nicht aktiv ist.

Grüße,

ChrisD

fischle

Hallo,
habe es getestet, jetzt werden Änderungen sofort übernommen.
Vielen Dank, jetzt tut erst mal alles wie ich will.

Gruß

Fabian
RPi,
- USB RS485 Adapter für Stromzähler DRS155M und SDM630M-DC (B+G E-Tech)
- Viesmann KO2B Heizung mit selbstbau Optolink Adapter
- Mi-Light WiFi-Bridge V4, WW/CW LED-Birne

golem

Hallo Chris,

attr WEB longpoll 1

# $Id: 01_FHEMWEB.pm 5080 2014-03-01 08:02:45Z rudolfkoenig $


Das RAW reading wird ja auch immer schön aktualisiert, nur state wird nicht aktualisiert. Im EventMonitor sieht man jede Aktualisiertung.
Pi - Max-Lan - 8x max Ht -3x Max WT - Max Fk -modbus umg103- 2x Arduino mit Firmata Ethernet- ws300 - 433Mhz Sender Empfänger - 7x 1wire ds1820

ChrisD

Hallo,

Mit der Version 5080 habe ich das gleiche Verhalten, state wird nicht aktualisiert. Das betrifft aber nicht nur ModbusRegister sondern alle Bausteine. Du kannst es mit einem Dummy testen:

define d1 dummy
define at_d1 at +*00:00:01 {fhem "set d1 ".(ReadingsVal("d1","state",0)+1)}


Wenn du auf d1 gehst wird state nicht mehr aktualisiert.

In r5452 vom 6.4.2014 wurde dies geändert. Entweder musst du ein Update machen oder 01_FHEMWEB ändern. Details dazu gibt es hier:
http://forum.fhem.de/index.php/topic,22029.msg156430.html#msg156430, Beiträge 5 und 12.

Grüße,

ChrisD


oniT

Hallo ChrisD,

würdest Du mir hier bitte helfen? Warum kann ich kein Coil schreiben?

Ich gebe in die Befehlszeile ein:
{write_modbus_coil(161,1)}


und bekomme im Logfile zurück:


2014.07.21 21:33:58 1: write error 161 Wert 1, er 7 ex 3


An was kann das liegen? Mit dem Modbus Scanner kann ich den Wert auf Coil 161 schreiben. Aber nicht über fhem. Im Code steht immer noch:


write_modbus_coil($$)
{
  if ($m->write_single_coil($_[0], $_[1])) {
    $m->close();
  } else {
    Log 1, Log 1, "write error $_[0] Wert $_[1], er ".$m->last_error()." ex ".$m->last_except();
    $m = MBclient->new();
    # define server target
    $m->host("192.168.1.150");
    $m->unit_id(1);
  }
}


Danke,

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

ChrisD

Hallo,

Die Meldung kann auftreten wenn du die ursprüngliche MBClient.pm-Datei verwendest. Diese enthält 2 Fehler durch die das Schreiben von Coils je nach Gerät nicht oder fehlerhaft funktioniert. Schau dir die Zeilen 372 und 373 von MBClient.pm an, wenn da
  $bit_value = ($bit_value) ? 0xFF : 0;
  my $tx_buffer = $self->_mbus_frame(WRITE_SINGLE_COIL, pack("nC", $bit_addr, $bit_value));
steht, kann es nicht gehen. Richtig muss es so sein:
  $bit_value = ($bit_value) ? 0xFF00 : 0;
  my $tx_buffer = $self->_mbus_frame(WRITE_SINGLE_COIL, pack("nn", $bit_addr, $bit_value));

Du kannst die beiden Zeilen entweder selbst ändern oder deine MBClient durch die angehängte Version ersetzen (ist die Gleiche wie in Beitrag 85) und mit 'reload MBClient' aktivieren.

Falls deine MBClient bereits auf dem aktuellen Stand ist kann ich dir eine Version mit erweiterten Debug-Ausgaben schicken um den Fehler einzugrenzen.

Grüße,

ChrisD

oniT

Hallo ChrisD,

es funktioniert jetzt. Die betreffende Zeile korrekt, es scheint am nicht durchgeführten Reload gelegen zu haben. Nach diesem ist es nun möglich ein Coil zu schreiben.

Danke nochmals,

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

oniT

Hallo ChrisD,

jetzt habe ich doch eben im Logfile diese Meldung gesehen:


2014.07.22 20:41:57 1: write error 107 Wert 1, er 0 ex 0


Diese Meeldung kommt nur wenn ich den Wert 1 schreibe. Der Wert 1 wird aber trotzdem übernommen. Wird eine 0 geschrieben wird auch diese übernommen und keine Meldung im Logfile ausgegeben.

Dies zur Info.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP

ChrisD

Hallo,

Die Antwort auf den Schreibbefehl wird nicht korrekt ausgewertet, in MBClient.pm muss dafür die Zeile 383 von
  my ($rx_bit_addr, $rx_bit_value) = unpack 'nC', $f_body;
in  my ($rx_bit_addr, $rx_bit_value) = unpack 'nn', $f_body;

geändert werden.

Anbei eine korrigierte Version von MBClient.pm.

Grüße,

ChrisD

oniT

Hallo ChrisD,

vielen Dank, es funktioniert.

Gruß
Tino
BBB - debian weezy - FHEM 5.7
HMLAN - HM-LC-Bl1-FM, HM-ES-PMSw1-PI, HM-LC-Sw1-FM, HM-TC-IT-WM-W-EU, HM-WDS40-TH-I, HM-Sen-Wa-Od, HM-Sec-RHS
Dimplex Wärmepumpe / Dimplex ZL 300 - Modbus TCP
SDM630M - Modbus TCP
SolarLog 200 / SMA SonnyBoy 1.5/2.5 - Modbus TCP