Modbus serial IF no longer working after migration to 3.3

I’m running OH 3.1 in a docker on Synlogy NAS and using Modbus via serial IF

I created a new 3.3 docker instance and the migration worked fine except for the modbus serial binding.
This no longer works. When I switch to the 3.1 container it works again so there is nothing wrong with Synology configuration of ports.
Also all configurations are done by text file which are copied so the config is the same.

I’m lost how to check what changed.

I’m starting the containers in exactly the same way

sudo docker run --name openhab33 --net=host --tty -v /etc/localtime:/etc/localtime:ro -v /volume1/Shared_docker_data/openhab33/conf:/openhab/conf -v /volume1/Shared_docker_data/openhab33/userdata:/openhab/userdata -v /volume1/Shared_docker_data/openhab33/addons:/openhab/addons -e “EXTRA_JAVA_OPTS=-Duser.timezone=Europe/Brussels -Dgnu.io.rxtx.SerialPorts=/dev/ttyUSB1” -d --device=/dev/ttyUSB0 --device=/dev/ttyUSB1 --device=/dev/ttyUSB2 -e USER_ID=1029 -e GROUP_ID=65537 --restart=always openhab/openhab:3.3.0

Has anything changed regarding Dgnu.io.rxtx.SerialPorts for OH 3.3 ?

release notes are at Releases · openhab/openhab-distro · GitHub :

Modbus Binding

openHAB 3.3 enforces more strict configuration validation that might invalidate previously valid textual modbus configuration. As a result, manual corrections might be needed for data things defined in things configuration file.
See details
Previously textual config accepted “unsigned” writeValueTypes such “uint16”. These are no longer accepted in openHAB 3.3.

Replace the writeValueType as follows with openHAB 3.3:

uint16 with int16
uint32 with int32
uint32_swap with int32_swap
uint64 with int64
uint64_swap with int64_swap

Despite the change in parameter value, the behavior is exactly the same as before.

Note that things defined in MainUI require no change. Also note that readValueType parameter requires no change.

Thank but I’m only reading.

This is my things config file and the error is bridge_unitialized

Bridge modbus:serial:wp8026 [ port=“/dev/ttyUSB1”, baud=9600, id=1, stopBits=“1”, parity=“none”,dataBits=8, echo=false, encoding=“rtu” ]
{
Bridge poller wp8026inputs [ start=0, length=16, refresh=1000, type=“discrete” ] {
Thing data wp8026input0 [ readStart=“0”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input1 [ readStart=“1”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input2 [ readStart=“2”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input3 [ readStart=“3”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input4 [ readStart=“4”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input5 [ readStart=“5”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input6 [ readStart=“6”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input7 [ readStart=“7”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input8 [ readStart=“8”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input9 [ readStart=“9”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input10 [ readStart=“10”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input11 [ readStart=“11”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input12 [ readStart=“12”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input13 [ readStart=“13”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input14 [ readStart=“14”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
Thing data wp8026input15 [ readStart=“15”, readValueType=“bit”, readTransform=“MAP(raamstatus.map)” ]
}

}

@rossko57 this config is based on one that you shared in another topic. Do you also have issues when changing to OH3.3 ? I’m doubting whether it’s the serial that causes the issues or MODBUS.

Issue solved. 1 is no longer a valid value for stopbits, it now needs to be 1.0 :slight_smile: