Modbus, slider, write function 0x06

example.things

Bridge modbus:tcp:10_10_5_143 [ host="10.10.5.143", port=10502, id=2, timeBetweenTransactionsMillis=500] {
                    Bridge poller suwak [ start=14, length=1, refresh=1000, type="holding"] {
                            Thing data hr14_dimmer          [ readStart="14", readValueType="uint16", writeStart="14", writeValueType="uint16", writeType="holding"]
                    }
}

example.items
Dimmer Suwak_HR_14 "Suwak HR 14 [%d]"{channel="modbus:data:10_10_5_143:suwak:hr14_dimmer:number", autoupdate="true" }

example.sitemaps
    sitemap home label="aaaaaaa" {
          Frame label="bbbbbbb" {
                  slider item=Suwak_HR_14
          }
    }

When slider mooving i set value (0-100). How to write this value to HR14?
How to write this value multiplied 655?
slider 0 -> write 0
slider 10 -> write 6550
slider 100 write 65500
Maybe there is another method like textbox, spinner (Microsoft Visual) to write integer

  • Platform information:
    • Hardware: iMX8/4GB/8GBemmc
    • OS: debian
    • Java OpenJDK Runtime Environment (Zulu Embedded 8.25.0.76-linux-aarch32hf)
    • openHAB version: 2.5.1

When you use a UI control like a slider, it sends commands to your Item.

When your Item receives commands, from rules or UI, these are passed to bindings for writing.

When a binding receives a command, if that channel/Thing is configured for writing, it writes/sends to the device.

You use a transformation to process a command value into some other value that you want to send to your device.
In Modbus data Things, there is writeTransform= parameter.
Transformation is in the documentation with examples.