Z-Wave, Thermostats and Heating Mode Names

Hi!

My setup:
OH 3.4.1
Raspi 4
JDK 11.0.11 (AdoptOpenJDK-11.0.11+9)
Eurotronics Z-Wave Plus Thermostats

This is more about understanding how things work than it is a problem.
I’m using Eurotronics Z-Wave Plus Thermostats. To set the Thermostat Heating Mode it provides a Number Item which is configured in an .item file, e.g.

Number BathroomSystemMode "BathroomSystemMode" (gThermostatMode, Bathroom, gHeatingPersistence) { channel = "zwave:device:a640e92a:node25:thermostat_mode"}

The heating modes are set by different numeric values:

Aus=0
Normal=1
Eco=11
Boost=15

I can set the modes by value in rules, e.g. :

BathroomSystemMode.sendCommand(1)

Now if I look at the Item in the UI, the state is not shown as a numeric value, but in a textual representation, e.g. “Heat”, “Economy Heat”, “Full Power” and “Off”, while the Item type is still a number.

Where does this text come from? Is this done by the binding? Should I apply mappings to the Item to get the text in another language?

To add some context, I found this during my first steps migrating HABPanel to MainUI. Seems there is no 1:1 replacement for the “Selection” widget, but it can be done now with “oh_label_card”, but does not provide the same mapping capabilities, so this strings are now shown in the label of the card.

I think it comes from the binding.

/**
     * Z-Wave ModeType enumeration. The mode type indicates the type of mode that is reported.
     *
     * @author Dan Cunningham
     */
    @XStreamAlias("modeType")
    public enum ModeType {

        OFF(0, "Off"),
        HEAT(1, "Heat"),
        COOL(2, "Cool"),
        AUTO(3, "Auto"),
        AUX_HEAT(4, "Aux Heat"),
        RESUME(5, "Resume"),
        FAN_ONLY(6, "Fan Only"),
        FURNANCE(7, "Furnace"),
        DRY_AIR(8, "Dry Air"),
        MOIST_AIR(9, "Moist Air"),
        AUTO_CHANGEOVER(10, "Auto Changeover"),
        HEAT_ECON(11, "Heat Econ"),
        COOL_ECON(12, "Cool Econ"),
        AWAY(13, "Away"),
        FULL_POWER(15, "Full Power"),
        MANUAL(31, "Manual");

I don’t know about translations