]> git.basschouten.com Git - openhab-addons.git/commitdiff
[openwebnet] Thermo: Fixed handling of mode=AUTO for bus_thermo_zone (#16534)
authorM Valla <12682715+mvalla@users.noreply.github.com>
Mon, 18 Mar 2024 10:49:43 +0000 (11:49 +0100)
committerGitHub <noreply@github.com>
Mon, 18 Mar 2024 10:49:43 +0000 (11:49 +0100)
* [openwebnet] improved Thermo mode/weekly/scenario channels descriptions
* [openwebnet] Fixed handling of mode=AUTO for bus_thermo_zone
Fixes #13754

---------

Signed-off-by: Massimo Valla <mvcode00@gmail.com>
bundles/org.openhab.binding.openwebnet/README.md
bundles/org.openhab.binding.openwebnet/src/main/java/org/openhab/binding/openwebnet/internal/handler/OpenWebNetThermoregulationHandler.java
bundles/org.openhab.binding.openwebnet/src/main/resources/OH-INF/i18n/openwebnet.properties
bundles/org.openhab.binding.openwebnet/src/main/resources/OH-INF/thing/BusThermoCentralUnit.xml
bundles/org.openhab.binding.openwebnet/src/main/resources/OH-INF/thing/channels.xml

index 84184b447dd110b15c1ac7c98e43b3e8bffa47b2..e076f49e1374ca5c1963528771078438a2e6025a 100644 (file)
@@ -44,7 +44,7 @@ The following Things and OpenWebNet `WHOs` are supported:
 | Gateway Management            |    `13`     |                       `bus_gateway`                        | Any IP gateway supporting OpenWebNet protocol should work        | Successfully tested: F452, F453, F453AV,F454, F455, MyHOMEServer1, MyHOME_Screen10, MyHOME_Screen3,5, MH201, MH202, MH200N. Some connection stability issues/gateway resets reported with MH202            |
 | Lighting                      |     `1`     |             `bus_on_off_switch`, `bus_dimmer`              | BUS switches and dimmers                                         | Successfully tested: F411/2, F411/4, F411U2, F422, F429. Some discovery issues reported with F429 (DALI Dimmers)                                                                                           |
 | Automation                    |     `2`     |                      `bus_automation`                      | BUS roller shutters, with position feedback and auto-calibration | Successfully tested: LN4672M2                                                                                                                                                                              |
-| Temperature Control           |     `4`     |  `bus_thermo_zone`, `bus_thermo_sensor`, `bus_thermo_cu`   | Thermo zones management and temperature sensors (probes)         | Successfully tested: H/LN4691, HS4692, KG4691; thermo sensors: L/N/NT4577 + 3455; Central Units (4 or 99 zones) are not fully supported yet. See [Channels - Thermo](#configuring-thermo) for more details |
+| Temperature Control           |     `4`     |  `bus_thermo_zone`, `bus_thermo_sensor`, `bus_thermo_cu`   | Thermo zones management and temperature sensors (probes)         | Successfully tested: H/LN4691, HS4692, KG4691; thermo sensors: L/N/NT4577 + 3455. Partially tested: Central Units 4-zones (models L/N/NT/HD/HC/HS4695) and 99-zones (model 3550). See [Channels - Thermo](#configuring-thermo) for more details |
 | Alarm                         |     `5`     |  `bus_alarm_system`, `bus_alarm_zone`                      | BUS Alarm system and zones                                       | Successfully tested: Burglar-alarm Unit 3486  |
 | Auxiliary (AUX)               |     `9`     |  `bus_aux`                                                 | AUX commands                                                     | Successfully tested: AUX configured for Burglar-alarm Unit 3486. **Only sending AUX commands is supported**    |
 | Basic, CEN & CEN+ Scenarios   | `0`, `15`, `25` | `bus_scenario_control`, `bus_cen_scenario_control`, `bus_cenplus_scenario_control` | Basic and CEN/CEN+ Scenarios events and virtual activation                 | Successfully tested: CEN/CEN+ scenario control: HC/HD/HS/L/N/NT4680 and basic scenario modules F420/IR3456 + L4680 (WHO=0)      |
@@ -159,11 +159,12 @@ Temperature sensors can be configured defining a `bus_thermo_sensor` Thing with
   - example sensor `5` of external zone `00` --> `where="500"`
   - example: slave sensor `3` of zone `2` --> `where="302"`
 
-The (optional) Central Unit can be configured defining a `bus_themo_cu` Thing with the `where` configuration parameter (`OpenWebNet Address`) set to `where="#0"` for a 99-zone Central Unit or `where="#0#1"` for a 4-zone Central Unit configured as zone 1.
+The (optional) Central Unit can be configured defining a `bus_themo_cu` Thing with the `where` configuration parameter (`OpenWebNet Address`) set to `where="#0"` for a 99-zone Central Unit (model 3550) or `where="#0#1"` for a 4-zone Central Unit (models L/N/NT/HD/HC/HS 4695) configured as zone 1.
 
-##### Thermo Central Unit integration missing points
+##### Thermo Central Unit integration known limitations
 
 - Read setPoint temperature and current mode
+- Central Unit Programming and Customisations settings (T1/2/3 temperature levels, date & time, weekly/scenarios/holiday programming, etc.)
 - Holiday/Vacation activation command
 
 #### Configuring Alarm and Auxiliary (AUX)
@@ -244,7 +245,7 @@ OPEN command to execute: *5*8#134##
 | `temperature`                | `bus_thermo_zone`, `bus_thermo_sensor` | Number:Temperature | The zone currently sensed temperature                                                                                                 | R          | N        |
 | `setpointTemperature`        | `bus_thermo_zone`, `bus_thermo_cu`     | Number:Temperature | The zone or Central Unit setpoint temperature                                                                                         | R/W        | N        |
 | `function`                   | `bus_thermo_zone`, `bus_thermo_cu`     | String             | The zone set thermo function (`COOLING`, `HEATING`, `GENERIC`) or the Central Unit thermo function (`COOLING`, `HEATING`)             | R/W        | N        |
-| `mode`                       | `bus_thermo_zone`, `bus_thermo_cu`     | String             | The zone set mode (`MANUAL`, `PROTECTION`, `OFF`) or the Central Unit set mode ( `MANUAL`, `PROTECTION`, `OFF`, `WEEKLY`, `SCENARIO`) | R/W        | N        |
+| `mode`                       | `bus_thermo_zone`, `bus_thermo_cu`     | String             | The zone set mode (`AUTO`, `MANUAL`, `PROTECTION`, `OFF`) or the Central Unit set mode (`WEEKLY`, `SCENARIO`, `MANUAL`, `PROTECTION`, `OFF`) | R/W        | N        |
 | `speedFanCoil`               | `bus_thermo_zone`                      | String             | The zone fancoil speed: `AUTO`, `SPEED_1`, `SPEED_2`, `SPEED_3`                                                                       | R/W        | N        |
 | `actuators`                  | `bus_thermo_zone`                      | String             | The zone actuator(s) status: `OFF`, `ON`, `OPENED`, `CLOSED` , `STOP`, `OFF_FAN_COIL`, `ON_SPEED_1`, `ON_SPEED_2`, `ON_SPEED_3`, `OFF_SPEED_1`, `OFF_SPEED_2`, `OFF_SPEED_3`            | R          | Y        |
 | `heatingValves`              | `bus_thermo_zone`                      | String             | The zone heating valve(s) status: `OFF`, `ON`, `OPENED`, `CLOSED` , `STOP`, `OFF_FAN_COIL`, `ON_SPEED_1`, `ON_SPEED_2`, `ON_SPEED_3`, `OFF_SPEED_1`, `OFF_SPEED_2`, `OFF_SPEED_3`            | R          | Y        |
@@ -252,8 +253,8 @@ OPEN command to execute: *5*8#134##
 | `localOffset`                | `bus_thermo_zone`                      | String             | The zone local offset status: `OFF`, `PROTECTION`, `MINUS_3`, `MINUS_2` , `MINUS_1`, `NORMAL`, `PLUS_1`, `PLUS_2`, `PLUS_3`           | R          | Y        |
 | `remoteControl`              | `bus_thermo_cu`                        | String             | The Central Unit Remote Control status: `ENABLED`, `DISABLED`                                                                         | R          | Y        |
 | `batteryStatus`              | `bus_thermo_cu`                        | String             | The Central Unit Battery status: `OK`, `KO`                                                                                           | R          | Y        |
-| `weeklyProgram`              | `bus_thermo_cu`                        | Number             | The program number (`1`, `2`, `3`) when Central Unit mode is `WEEKLY`                                                                 | R/W        | N        |
-| `scenarioProgram`            | `bus_thermo_cu`                        | Number             | The program number (`1`, `2`, ... ,  `16`) when Central Unit mode is `SCENARIO`                                                       | R/W        | N        |
+| `weeklyProgram`              | `bus_thermo_cu`                        | Number             | The weekly program number (`1`, `2`, `3`) when Central Unit mode is `WEEKLY`                                                                 | R/W        | N        |
+| `scenarioProgram`            | `bus_thermo_cu`                        | Number             | The scenario program number (`1`, `2`, ... ,  `16`) when Central Unit mode is `SCENARIO`                                                       | R/W        | N        |
 | `failureDiscovered`          | `bus_thermo_cu`                        | Switch             | Indicates if a Failure was discovered by the Central Unit: `ON`, `OFF`                                                                | R          | Y        |
 | `atLeastOneProbeOff`         | `bus_thermo_cu`                        | Switch             | Indicates if at least one probe is in OFF mode: `ON`, `OFF`                                                                           | R          | Y        |
 | `atLeastOneProbeProtection`  | `bus_thermo_cu`                        | Switch             | Indicates if at least one probe is in PROTECTION mode: `ON`, `OFF`                                                                    | R          | Y        |
@@ -305,16 +306,16 @@ See [openwebnet.sitemap](#openwebnet-sitemap) & [openwebnet.rules](#openwebnet-r
       - `EXTENDED_PRESS` - sent after `START_EXTENDED_PRESS` if you keep the button pressed longer; will be sent again every 0,5sec as long as you hold pressed (good for rules involving dimming/volume)
       - `RELEASE_EXTENDED_PRESS` - sent once when you finally release the button after having it pressed longer than 0,5sec
 
-#### `mode` for values WEEKLY and SCENARIO (thermo Central Unit)
+#### Thermo Central Unit `mode`: `WEEKLY` and `SCENARIO`
 
 There are three WEEKLY and sixteen SCENARIO programs defined for the thermo Central Unit.
 
-In order to activate one of them you have to use two different channels:
+In order to activate one specific weekly or scenario program two different channels must be used:
 
-- with `mode` you can set the mode (`WEEKLY` or `SCENARIO`)
-- with `weeklyProgram` (if `WEEKLY` was set) or with `scenarioProgram` (if `SCENARIO` was set) you can set the program number
+- with the `mode` channel it's possible to set the mode (`WEEKLY` or `SCENARIO`)
+- with `weeklyProgram` (if `WEEKLY` was set) or `scenarioProgram` (if `SCENARIO` was set) channels you can set the specific weekly/scenario program number
 
-Example: if you want to activate SCENARIO number 9 on the thermo Central Unit you have to set `mode` = `SCENARIO` and `scenarioProgram` = `9`.
+Example: if you want to activate SCENARIO number 9 on the thermo Central Unit you have to set channel `mode` = `SCENARIO` and channel `scenarioProgram` = `9`.
 
 ## Full Example
 
index 8f2e37c36ecc780b2f96e6581ab5514f768cdf93..c0e60027178beb6cdffe672a909f15d65735bc9f 100644 (file)
@@ -87,6 +87,8 @@ public class OpenWebNetThermoregulationHandler extends OpenWebNetThingHandler {
     private static final String CU_REMOTE_CONTROL_DISABLED = "DISABLED";
     private static final String CU_BATTERY_OK = "OK";
     private static final String CU_BATTERY_KO = "KO";
+    private static final String MODE_WEEKLY = "WEEKLY";
+    private static final String MODE_AUTO = "AUTO";
 
     public OpenWebNetThermoregulationHandler(Thing thing) {
         super(thing);
@@ -253,7 +255,7 @@ public class OpenWebNetThermoregulationHandler extends OpenWebNetThingHandler {
 
                     if (isCentralUnit && WhatThermo.isComplex(command.toString())) {
                         int programNumber = 0;
-                        if ("WEEKLY".equalsIgnoreCase(command.toString())) {
+                        if (MODE_WEEKLY.equalsIgnoreCase(command.toString())) {
                             programNumber = currentWeeklyPrgNum;
                         } else {
                             programNumber = currentScenarioPrgNum;
@@ -261,7 +263,11 @@ public class OpenWebNetThermoregulationHandler extends OpenWebNetThingHandler {
                         newMode = Thermoregulation.OperationMode.valueOf(command.toString() + "_" + programNumber);
                         currentMode = newMode;
                     } else {
-                        newMode = Thermoregulation.OperationMode.valueOf(command.toString());
+                        if (MODE_AUTO.equalsIgnoreCase(command.toString())) {
+                            newMode = Thermoregulation.OperationMode.PROGRAM;
+                        } else {
+                            newMode = Thermoregulation.OperationMode.valueOf(command.toString());
+                        }
                     }
                     send(Thermoregulation.requestWriteMode(getWhere(w.value()), newMode, currentFunction,
                             currentSetPointTemp));
@@ -418,7 +424,13 @@ public class OpenWebNetThermoregulationHandler extends OpenWebNetThingHandler {
 
         // must convert from OperationMode to Mode and set ProgramNumber when necessary
         if (operationMode != null) {
-            updateState(CHANNEL_MODE, new StringType(operationMode.mode()));
+            String newMode;
+            if (operationMode == Thermoregulation.OperationMode.PROGRAM) { // translate PROGRAM -> AUTO
+                newMode = MODE_AUTO;
+            } else {
+                newMode = operationMode.mode();
+            }
+            updateState(CHANNEL_MODE, new StringType(newMode));
             Integer programN = 0;
             try {
                 @Nullable
index c73164cc124809624d7158e55c2ed8ffb20fcef7..f1b8c182003d8703f514f32dfd7a32a9e4772957 100644 (file)
@@ -143,11 +143,11 @@ channel-type.openwebnet.alarmZoneState.description = Alarm zone is active (ON) o
 channel-type.openwebnet.armedState.label = Armed State
 channel-type.openwebnet.armedState.description = Alarm is armed (ON) or disarmed (OFF) (read only).
 channel-type.openwebnet.atLeastOneProbeManual.label = At least one probe in MANUAL
-channel-type.openwebnet.atLeastOneProbeManual.description = At least one probe in MANUAL indicator in Central Unit (read only)
+channel-type.openwebnet.atLeastOneProbeManual.description = At least one probe in MANUAL mode indicator from Central Unit (read only)
 channel-type.openwebnet.atLeastOneProbeOff.label = At least one probe OFF
-channel-type.openwebnet.atLeastOneProbeOff.description = At least one probe OFF indicator in Central Unit (read only)
+channel-type.openwebnet.atLeastOneProbeOff.description = At least one probe in OFF mode indicator from Central Unit (read only)
 channel-type.openwebnet.atLeastOneProbeProtection.label = At least one probe in PROTECTION
-channel-type.openwebnet.atLeastOneProbeProtection.description = At least one probe in PROTECTION (Antifreeze / Heat Protection) indicator in Central Unit (read only)
+channel-type.openwebnet.atLeastOneProbeProtection.description = At least one probe in PROTECTION mode (Antifreeze / Heat Protection) indicator from Central Unit (read only)
 channel-type.openwebnet.aux.label = Auxiliary
 channel-type.openwebnet.aux.description = Controls an Auxiliary command (read/write)
 channel-type.openwebnet.aux.state.option.OFF = Off
@@ -200,8 +200,8 @@ channel-type.openwebnet.function.state.option.COOLING = Cooling
 channel-type.openwebnet.function.state.option.GENERIC = Generic
 channel-type.openwebnet.functionCentralUnit.label = Thermo Function
 channel-type.openwebnet.functionCentralUnit.description = Thermo function of the Central Unit (read only)
-channel-type.openwebnet.functionCentralUnit.state.option.HEATING = Heating
-channel-type.openwebnet.functionCentralUnit.state.option.COOLING = Cooling
+channel-type.openwebnet.functionCentralUnit.state.option.HEATING = Winter
+channel-type.openwebnet.functionCentralUnit.state.option.COOLING = Summer
 channel-type.openwebnet.heatingValves.label = Heating Valves
 channel-type.openwebnet.heatingValves.description = Heating Valves status (read only)
 channel-type.openwebnet.heatingValves.state.option.OFF = Off
@@ -223,23 +223,23 @@ channel-type.openwebnet.localOffset.state.option.PROTECTION = Antifreeze / Heat
 channel-type.openwebnet.localOffset.state.option.PLUS_3 = +3
 channel-type.openwebnet.localOffset.state.option.PLUS_2 = +2
 channel-type.openwebnet.localOffset.state.option.PLUS_1 = +1
-channel-type.openwebnet.localOffset.state.option.NORMAL = 0
+channel-type.openwebnet.localOffset.state.option.NORMAL = No offset
 channel-type.openwebnet.localOffset.state.option.MINUS_1 = -1
 channel-type.openwebnet.localOffset.state.option.MINUS_2 = -2
 channel-type.openwebnet.localOffset.state.option.MINUS_3 = -3
 channel-type.openwebnet.mode.label = Mode
 channel-type.openwebnet.mode.description = Set mode of the zone (read/write)
+channel-type.openwebnet.mode.state.option.AUTO = Automatic
 channel-type.openwebnet.mode.state.option.MANUAL = Manual
 channel-type.openwebnet.mode.state.option.PROTECTION = Antifreeze / Heat Protection
 channel-type.openwebnet.mode.state.option.OFF = Off
-channel-type.openwebnet.mode.state.option.AUTO = Automatic
 channel-type.openwebnet.modeCentralUnit.label = Central Unit Mode
 channel-type.openwebnet.modeCentralUnit.description = Set mode of the Central Unit (read/write)
+channel-type.openwebnet.modeCentralUnit.state.option.WEEKLY = Weekly
+channel-type.openwebnet.modeCentralUnit.state.option.SCENARIO = Scenarios
 channel-type.openwebnet.modeCentralUnit.state.option.MANUAL = Manual
 channel-type.openwebnet.modeCentralUnit.state.option.PROTECTION = Antifreeze / Heat Protection
 channel-type.openwebnet.modeCentralUnit.state.option.OFF = Off
-channel-type.openwebnet.modeCentralUnit.state.option.WEEKLY = Weekly
-channel-type.openwebnet.modeCentralUnit.state.option.SCENARIO = Scenario
 channel-type.openwebnet.power.label = Power
 channel-type.openwebnet.power.description = Current active power
 channel-type.openwebnet.remoteControl.label = Remote Control
@@ -250,22 +250,22 @@ channel-type.openwebnet.scenarioEvent.label = Activated Scenario Event
 channel-type.openwebnet.scenarioEvent.description = Event corresponding to the number of Basic Scenario that has been activated (read only)
 channel-type.openwebnet.scenarioProgramCentralUnit.label = Scenario Program Number
 channel-type.openwebnet.scenarioProgramCentralUnit.description = Set scenario program number for the Central Unit, valid only with Central Unit mode = "SCENARIO" (read/write)
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.1 = Program 1
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.2 = Program 2
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.3 = Program 3
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.4 = Program 4
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.5 = Program 5
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.6 = Program 6
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.7 = Program 7
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.8 = Program 8
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.9 = Program 9
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.10 = Program 10
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.11 = Program 11
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.12 = Program 12
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.13 = Program 13
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.14 = Program 14
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.15 = Program 15
-channel-type.openwebnet.scenarioProgramCentralUnit.state.option.16 = Program 16
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.1 = Scenario 1
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.2 = Scenario 2
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.3 = Scenario 3
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.4 = Scenario 4
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.5 = Scenario 5
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.6 = Scenario 6
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.7 = Scenario 7
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.8 = Scenario 8
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.9 = Scenario 9
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.10 = Scenario 10
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.11 = Scenario 11
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.12 = Scenario 12
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.13 = Scenario 13
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.14 = Scenario 14
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.15 = Scenario 15
+channel-type.openwebnet.scenarioProgramCentralUnit.state.option.16 = Scenario 16
 channel-type.openwebnet.setpointTemperature.label = Setpoint Temperature
 channel-type.openwebnet.setpointTemperature.description = Setpoint temperature (read/write)
 channel-type.openwebnet.shutter.label = Roller Shutter
@@ -283,9 +283,9 @@ channel-type.openwebnet.temperature.label = Temperature
 channel-type.openwebnet.temperature.description = Current temperature (read only)
 channel-type.openwebnet.weeklyProgramCentralUnit.label = Weekly Program Number
 channel-type.openwebnet.weeklyProgramCentralUnit.description = Set weekly program number for the Central Unit, valid only with Central Unit mode = "WEEKLY" (read/write)
-channel-type.openwebnet.weeklyProgramCentralUnit.state.option.1 = Program 1
-channel-type.openwebnet.weeklyProgramCentralUnit.state.option.2 = Program 2
-channel-type.openwebnet.weeklyProgramCentralUnit.state.option.3 = Program 3
+channel-type.openwebnet.weeklyProgramCentralUnit.state.option.1 = Weekly Program 1
+channel-type.openwebnet.weeklyProgramCentralUnit.state.option.2 = Weekly Program 2
+channel-type.openwebnet.weeklyProgramCentralUnit.state.option.3 = Weekly Program 3
 channel-type.openwebnet.zoneAlarm.label = Zone Alarm
 channel-type.openwebnet.zoneAlarm.description = Current alarm for the zone (read only).
 channel-type.openwebnet.zoneAlarm.state.option.INTRUSION = Intrusion
index edcf2711d3d0764c83fd0e7f236751f856bff54c..e7c08153482abccff998c1cf2ea8d3523bb20c3e 100644 (file)
@@ -31,7 +31,7 @@
 
                <properties>
                        <property name="vendor">BTicino/Legrand</property>
-                       <property name="model">BTicino Central Unit 3550 (99 zones) or BTI-L/NT/HC/4695 (4 zones) </property>
+                       <property name="model">BTicino Central Unit 3550 (99 zones) or L/N/NT/HD/HC/HS4695 (4 zones) </property>
                        <property name="ownDeviceType">430</property>
                </properties>
 
index 1d0fba1a1ad9d5b7559e2f65ca72de99dde83cad..37732d63b5dce279163ee14edb156cc5b6c2c6f9 100644 (file)
@@ -95,8 +95,8 @@
                <description>Thermo function of the Central Unit (read only)</description>
                <state readOnly="true">
                        <options>
-                               <option value="HEATING">Heating</option>
-                               <option value="COOLING">Cooling</option>
+                               <option value="HEATING">Winter</option>
+                               <option value="COOLING">Summer</option>
                        </options>
                </state>
        </channel-type>
                <description>Set mode of the zone (read/write)</description>
                <state>
                        <options>
+                               <option value="AUTO">Automatic</option>
                                <option value="MANUAL">Manual</option>
                                <option value="PROTECTION">Antifreeze / Heat Protection</option>
                                <option value="OFF">Off</option>
-                               <option value="AUTO">Automatic</option>
                        </options>
                </state>
        </channel-type>
                                <option value="PLUS_3">+3</option>
                                <option value="PLUS_2">+2</option>
                                <option value="PLUS_1">+1</option>
-                               <option value="NORMAL">0</option>
+                               <option value="NORMAL">No offset</option>
                                <option value="MINUS_1">-1</option>
                                <option value="MINUS_2">-2</option>
                                <option value="MINUS_3">-3</option>
                <description>Set mode of the Central Unit (read/write)</description>
                <state>
                        <options>
+                               <option value="WEEKLY">Weekly</option>
+                               <option value="SCENARIO">Scenarios</option>
                                <option value="MANUAL">Manual</option>
                                <option value="PROTECTION">Antifreeze / Heat Protection</option>
                                <option value="OFF">Off</option>
-                               <option value="WEEKLY">Weekly</option>
-                               <option value="SCENARIO">Scenario</option>
                        </options>
                </state>
        </channel-type>
                <description>Set weekly program number for the Central Unit, valid only with Central Unit mode = "WEEKLY" (read/write)</description>
                <state>
                        <options>
-                               <option value="1">Program 1</option>
-                               <option value="2">Program 2</option>
-                               <option value="3">Program 3</option>
+                               <option value="1">Weekly Program 1</option>
+                               <option value="2">Weekly Program 2</option>
+                               <option value="3">Weekly Program 3</option>
                        </options>
                </state>
        </channel-type>
                        (read/write)</description>
                <state>
                        <options>
-                               <option value="1">Program 1</option>
-                               <option value="2">Program 2</option>
-                               <option value="3">Program 3</option>
-                               <option value="4">Program 4</option>
-                               <option value="5">Program 5</option>
-                               <option value="6">Program 6</option>
-                               <option value="7">Program 7</option>
-                               <option value="8">Program 8</option>
-                               <option value="9">Program 9</option>
-                               <option value="10">Program 10</option>
-                               <option value="11">Program 11</option>
-                               <option value="12">Program 12</option>
-                               <option value="13">Program 13</option>
-                               <option value="14">Program 14</option>
-                               <option value="15">Program 15</option>
-                               <option value="16">Program 16</option>
+                               <option value="1">Scenario 1</option>
+                               <option value="2">Scenario 2</option>
+                               <option value="3">Scenario 3</option>
+                               <option value="4">Scenario 4</option>
+                               <option value="5">Scenario 5</option>
+                               <option value="6">Scenario 6</option>
+                               <option value="7">Scenario 7</option>
+                               <option value="8">Scenario 8</option>
+                               <option value="9">Scenario 9</option>
+                               <option value="10">Scenario 10</option>
+                               <option value="11">Scenario 11</option>
+                               <option value="12">Scenario 12</option>
+                               <option value="13">Scenario 13</option>
+                               <option value="14">Scenario 14</option>
+                               <option value="15">Scenario 15</option>
+                               <option value="16">Scenario 16</option>
                        </options>
                </state>
        </channel-type>
        <channel-type id="atLeastOneProbeOff" advanced="true">
                <item-type>Switch</item-type>
                <label>At least one probe OFF</label>
-               <description>At least one probe OFF indicator in Central Unit (read only)</description>
+               <description>At least one probe in OFF mode indicator from Central Unit (read only)</description>
                <state readOnly="true"></state>
        </channel-type>
 
        <channel-type id="atLeastOneProbeProtection" advanced="true">
                <item-type>Switch</item-type>
                <label>At least one probe in PROTECTION</label>
-               <description>At least one probe in PROTECTION (Antifreeze / Heat Protection) indicator in Central Unit (read only)</description>
+               <description>At least one probe in PROTECTION mode (Antifreeze / Heat Protection) indicator from Central Unit (read
+                       only)</description>
                <state readOnly="true"></state>
        </channel-type>
 
        <channel-type id="atLeastOneProbeManual" advanced="true">
                <item-type>Switch</item-type>
                <label>At least one probe in MANUAL</label>
-               <description>At least one probe in MANUAL indicator in Central Unit (read only)</description>
+               <description>At least one probe in MANUAL mode indicator from Central Unit (read only)</description>
                <state readOnly="true"></state>
        </channel-type>