Hello, I want to integrate a Modbus in OPENHAB.
The device is a MOXA E2212
The modbus addresses are the following.
ioLogik E2212 Modbus Mapping
0xxxx Read/Write Coils (Functions 1, 5, 15)
Reference Address Data Type Description
00001 0x0000 1 bit “CH0 DO value 0: off 1: on”
00002 0x0001 1 bit “CH1 DO value 0: off 1: on”
00003 0x0002 1 bit “CH2 DO value 0: off 1: on”
00004 0x0003 1 bit “CH3 DO value 0: off 1: on”
00005 0x0004 1 bit “CH4 DO value 0: off 1: on”
00006 0x0005 1 bit “CH5 DO value 0: off 1: on”
00007 0x0006 1 bit “CH6 DO value 0: off 1: on”
00008 0x0007 1 bit “CH7 DO value 0: off 1: on”
00009 0x0008 1 bit “CH8 DO value 0: off 1: on”
00010 0x0009 1 bit “CH9 DO value 0: off 1: on”
00011 0x000A 1 bit “CH10 DO value 0: off 1: on”
00012 0x000B 1 bit “CH11 DO value 0: off 1: on”
1xxxx Read Only Coils (Function 2)
Reference Address Data Type Description
10001 0x0000 1 bit CH0 DI value
10002 0x0001 1 bit CH1 DI value
10003 0x0002 1 bit CH2 DI value
10004 0x0003 1 bit CH3 DI value
10005 0x0004 1 bit CH4 DI value
10006 0x0005 1 bit CH5 DI value
10007 0x0006 1 bit CH6 DI value
10008 0x0007 1 bit CH7 DI value
10009 0x0008 1 bit CH8 DI value
10010 0x0009 1 bit CH9 DI value
10011 0x000A 1 bit CH10 DI value
10012 0x000B 1 bit CH11 DI value
I have configured the following:
modbus.things
Bridge modbus:tcp:garten [ host="192.168.0.12", port=502, id=1 ] {
Bridge poller coils [ start=0, length=4, refresh=1000, type="coil" ] {
Thing data 12_0[ readStart="0", readValueType="bit", writeStart="0", writeValueType="bit", writeType="coil" ]
Thing data 12_1[ readStart="1", readValueType="bit", writeStart="1", writeValueType="bit", writeType="coil" ]
Thing data 12_2[ readStart="2", readValueType="bit", writeStart="2", writeValueType="bit", writeType="coil" ]
Thing data 12_3[ readStart="3", readValueType="bit", writeStart="3", writeValueType="bit", writeType="coil" ]
}
Bridge poller discreteInputs [ start=0, length=4, refresh=1000, type="discrete" ] {
Thing data di0 [ readStart="0", readValueType="bit" ]
Thing data di1 [ readStart="1", readValueType="bit" ]
Thing data di2 [ readStart="2", readValueType="bit" ]
Thing data di3 [ readStart="3", readValueType="bit" ]
}
}
and
modbus.items
//DO
Number Moxa_IO_12_0 { channel="modbus:data:garten:coils:12_0:number" , autopudate="true"}
Number Moxa_IO_12_1 { channel="modbus:data:garten:coils:12_1:number" , autopudate="true"}
Number Moxa_IO_12_2 { channel="modbus:data:garten:coils:12_2:number" , autopudate="true"}
Number Moxa_IO_12_3 { channel="modbus:data:garten:coils:12_3:number" , autopudate="true"}
//DI
Contact Moxa_Garten_DI0 { channel="modbus:data:garten:discreteInputs:di0:contact" , autopudate="true"}
Contact Moxa_Garten_DI1 { channel="modbus:data:garten:discreteInputs:di1:contact" , autopudate="true"}
Contact Moxa_Garten_DI2 { channel="modbus:data:garten:discreteInputs:di2:contact" , autopudate="true"}
Contact Moxa_Garten_DI3 { channel="modbus:data:garten:discreteInputs:di3:contact" , autopudate="true"}
but it does not work. the values are not updated and are not displayed. what am I doing wrong?