[guntamatic] Add channel groups (#17901)

* guntamatic indexed channels

Signed-off-by: Michael Weger <weger.michael@gmx.net>
This commit is contained in:
MikeTheTux 2024-12-20 22:10:32 +01:00 committed by GitHub
parent fc9e564a2c
commit 84021f01a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 1394 additions and 1034 deletions

View File

@ -4,7 +4,7 @@ The Guntamatic Binding can be used to monitor and control [Guntamatic Heating Sy
## Supported Things ## Supported Things
The Guntamatic Binding was developed and tested using Guntamatic Biostar 15kW Pellets Heating System, running Firmware 3.2d. The Guntamatic Binding was developed and tested using Guntamatic Biostar 15kW Pellets Heating System, running Firmware 3.3d.
It should work for all other Guntamatic Heating Systems as well, that support the same web interface (Pellets, WoodChips, EnergyGrain as well as Log Heating Systems). It should work for all other Guntamatic Heating Systems as well, that support the same web interface (Pellets, WoodChips, EnergyGrain as well as Log Heating Systems).
## Things ## Things
@ -13,13 +13,13 @@ Guntamatic Heating Systems supported as Thing Types:
| Name | Thing Type ID | Heating System Type | Binding Development Status | | Name | Thing Type ID | Heating System Type | Binding Development Status |
| --------- | ------------- | -------------------- | ------------------------------------------------ | | --------- | ------------- | -------------------- | ------------------------------------------------ |
| Biostar | `biostar` | Pellets | tested via 15kW, firmware 3.2d, German & English | | Biostar | `biostar` | Pellets | tested via 15kW, firmware 3.3d, German & English |
| Biosmart | `biosmart` | Logs | tested via 22kW, firmware 3.2f, German | | Biosmart | `biosmart` | Logs | tested via 22kW, firmware 3.2f, German |
| Powerchip | `powerchip` | WoodChips | tested via 100kW, firmware 3.2d, French | | Powerchip | `powerchip` | WoodChips | tested via 100kW, firmware 3.2d, French |
| Powercorn | `powercorn` | EnergyGrain | untested | | Powercorn | `powercorn` | EnergyGrain | untested (no user feedback) |
| Biocom | `biocom` | Pellets | untested | | Biocom | `biocom` | Pellets | untested (no user feedback) |
| Pro | `pro` | Pellets or WoodChips | untested | | Pro | `pro` | Pellets or WoodChips | untested (no user feedback) |
| Therm | `therm` | Pellets | untested | | Therm | `therm` | Pellets | untested (no user feedback) |
| Generic | `generic` | - | use, if none from above | | Generic | `generic` | - | use, if none from above |
### Thing Configuration ### Thing Configuration
@ -34,12 +34,12 @@ Guntamatic Heating Systems supported as Thing Types:
### Properties ### Properties
| Property | Description | Supported | | Property | Description | Supported |
| ----------------- | --------------------------------------------------- | ------------------------------------------------- | | ----------------- | ---------------------------------------------- | ------------------------------------------------- |
| `extraWwHeat` | Parameter used by `controlExtraWwHeat` channels | all | | `extraWwHeat` | Parameter used by `extra-ww-heat` channels | all |
| `boilerApproval` | Parameter used by `controlBoilerApproval` channel | Biostar, Powerchip, Powercorn, Biocom, Pro, Therm | | `boilerApproval` | Parameter used by `boiler-approval` channel | Biostar, Powerchip, Powercorn, Biocom, Pro, Therm |
| `heatCircProgram` | Parameter used by `controlHeatCircProgram` channels | all | | `heatCircProgram` | Parameter used by `heat-circ-program` channels | all |
| `program` | Parameter used by `controlProgram` channel | all | | `program` | Parameter used by `program` channel | all |
| `wwHeat` | Parameter used by `controlWwHeat` channels | all | | `wwHeat` | Parameter used by `ww-heat` channels | all |
## Channels ## Channels
@ -48,150 +48,152 @@ Guntamatic Heating Systems supported as Thing Types:
The Guntamatic Heating System can be controlled using the following channels: The Guntamatic Heating System can be controlled using the following channels:
| Channel | Description | Type | Unit | Security Access Level | ReadOnly | Advanced | | Channel | Description | Type | Unit | Security Access Level | ReadOnly | Advanced |
| ------------------------- | ------------------------------------------------------------------------------- | -------- | :--: | :-------------------: | :------: | :------: | | --------------------- | ------------------------------------------------------------------------------- | -------- | :--: | :-------------------: | :------: | :------: |
| `controlBoilerApproval` | Set Boiler Approval (`AUTO`, `OFF`, `ON`) | `String` | | 🔐 W1 | R/W | true | | `boiler-approval` | Set Boiler Approval (`AUTO`, `OFF`, `ON`)<sup id="a1">[1](#f1)</sup>) | `String` | | 🔐 W1 | R/W | true |
| `controlProgram` | Set Program (`OFF`, `NORMAL`, `WARMWATER`, `MANUAL`<sup id="a1">[1](#f1)</sup>) | `String` | | 🔐 W1 | R/W | false | | `program` | Set Program (`OFF`, `NORMAL`, `WARMWATER`, `MANUAL`<sup id="a2">[2](#f2)</sup>) | `String` | | 🔐 W1 | R/W | false |
| `controlHeatCircProgram0` | Set Heat Circle 0 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-0` | Set Heat Circuit 0 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram1` | Set Heat Circle 1 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-1` | Set Heat Circuit 1 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram2` | Set Heat Circle 2 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-2` | Set Heat Circuit 2 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram3` | Set Heat Circle 3 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-3` | Set Heat Circuit 3 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram4` | Set Heat Circle 4 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-4` | Set Heat Circuit 4 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram5` | Set Heat Circle 5 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-5` | Set Heat Circuit 5 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram6` | Set Heat Circle 6 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-6` | Set Heat Circuit 6 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram7` | Set Heat Circle 7 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-7` | Set Heat Circuit 7 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlHeatCircProgram8` | Set Heat Circle 8 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | | `heat-circ-program-8` | Set Heat Circuit 8 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true |
| `controlWwHeat0` | Trigger Warm Water Circle 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | | `ww-heat-0` | Trigger Warm Water Circuit 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true |
| `controlWwHeat1` | Trigger Warm Water Circle 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | | `ww-heat-1` | Trigger Warm Water Circuit 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true |
| `controlWwHeat2` | Trigger Warm Water Circle 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | | `ww-heat-2` | Trigger Warm Water Circuit 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true |
| `controlExtraWwHeat0` | Trigger Extra Warm Water Circle 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | | `extra-ww-heat-0` | Trigger Extra Warm Water Circuit 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true |
| `controlExtraWwHeat1` | Trigger Extra Warm Water Circle 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | | `extra-ww-heat-1` | Trigger Extra Warm Water Circuit 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true |
| `controlExtraWwHeat2` | Trigger Extra Warm Water Circle 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | | `extra-ww-heat-2` | Trigger Extra Warm Water Circuit 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true |
- <b id="f1">1)</b> ... `MANUAL` is supported by Biostar, Powerchip, Powercorn, Biocom, Pro as well as Therm only [](#a1) - <b id="f1">1)</b> ... Channel is supported by Biostar, Powerchip, Powercorn, Biocom, Pro as well as Therm only [](#a1)
- <b id="f2">2)</b> ... `MANUAL` is supported by Biostar, Powerchip, Powercorn, Biocom, Pro as well as Therm only [](#a2)
#### Response of Control Channels #### Response of Control Channels
- `{"ack":"confirmation message"}` ... in case of success - `{"ack":"confirmation message"}` ... in case of success
- `{"err":"error message"}` ... in case of error - `{"err":"error message"}` ... in case of error
The reaction of the Guntamatic Heating System can be monitored via the corresponding data channel. E.g. `programHc1` if you triggered `controlHeatCircProgram1`. The data channel gets updated with the next cyclic update (according to the `refreshInterval` configuration). The reaction of the Guntamatic Heating System can be monitored via the corresponding data channel. E.g. `program-hc-1` if you triggered `heat-circ-program-1`. The data channel gets updated with the next cyclic update (according to the `refreshInterval` configuration).
### Monitoring Channels ### Status Channels
The Binding dynamically generates Channels, derived from the data provided from the actual Guntamatic Heating System. The Binding dynamically generates Channels, derived from the data provided from the actual Guntamatic Heating System.
Example list of Channels using a Guntamatic Biostar 15kW Pellets Heating System running firmware 3.2d and Guntamatic System Language configured to English: Example list of Channels using a Guntamatic Biostar 15kW Pellets Heating System running firmware 3.2d and Guntamatic System Language configured to English:
| Channel | Description | Type | Unit | Security Access Level | ReadOnly | Advanced | | Channel | Description | Type | Unit | Security Access Level | ReadOnly | Advanced |
| -------------------- | ---------------------- | ---------------------- | :--: | :-------------------: | :------: | :------: | |----------------------------|------------------------|------------------------|-:--:-|-:-------------------:-|-:------:-|-:------:-|
| `running` | Running | `String` | | 🔓 W0 | R/O | false | | `000-running` | Running | `String` | | 🔓 W0 | R/O | false |
| `outsideTemp` | Outside Temp. | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `001-outside-temp` | Outside Temp. | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `blrTargetTemp` | Blr.Target Temp | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `002-blr-target-temp` | Blr.Target Temp | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `boilerTemperature` | Boiler Temperature | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `003-boiler-temperature` | Boiler Temperature | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flueGasUtilisation` | Flue gas utilisation | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false | | `004-flue-gas-utilisation` | Flue gas utilisation | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false |
| `output` | Output | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `005-output` | Output | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
| `returnTemp` | Return temp | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `006-return-temp` | Return temp | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `co2Target` | CO2 Target | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false | | `007-co2-target` | CO2 Target | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false |
| `co2Content` | CO2 Content | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `008-co2-content` | CO2 Content | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
| `returnTempTarget` | Return temp target | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `009-return-temp-target` | Return temp target | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `statusCode` | Status code | `Number` | | 🔐 W1 | R/O | false | | `010-status-code` | Status code | `Number` | | 🔐 W1 | R/O | false |
| `efficiency` | Efficiency | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false | | `011-efficiency` | Efficiency | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false |
| `extractorSystem` | Extractor System | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `012-output` | Output | `Number:Dimensionless` | `%` | 🔐 W1 | R/O | false |
| `feedTurbine` | Feed Turbine | `String` | | 🔐 W1 | R/O | false | | `013-extractor-system` | Extractor System | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
| `dischargeMotor` | Discharge motor | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `014-feed-turbine` | Feed Turbine | `String` | | 🔐 W1 | R/O | false |
| `g1Target` | G1 Target | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `015-discharge-motor` | Discharge motor | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
| `bufferTop` | Buffer Top | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `016-g1-target` | G1 Target | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
| `bufferMid` | Buffer Mid | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `017-buffer-top` | Buffer Top | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `bufferBtm` | Buffer Btm | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `018-buffer-mid` | Buffer Mid | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `pumpHp0` | Pump HP0 | `Switch` | | 🔓 W0 | R/O | false | | `019-buffer-btm` | Buffer Btm | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `dhw0` | DHW 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `020-pump-hp0` | Pump HP0 | `Switch` | | 🔓 W0 | R/O | false |
| `bDhw0` | B DHW 0 | `Switch` | | 🔓 W0 | R/O | false | | `021-dhw-0` | DHW 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `dhw1` | DHW 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `022-b-dhw-0` | B DHW 0 | `Switch` | | 🔓 W0 | R/O | false |
| `bDhw1` | B DHW 1 | `Switch` | | 🔓 W0 | R/O | false | | `023-dhw-1` | DHW 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `dhw2` | DHW 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `024-b-dhw-1` | B DHW 1 | `Switch` | | 🔓 W0 | R/O | false |
| `bDhw2` | B DHW 2 | `Switch` | | 🔓 W0 | R/O | false | | `025-dhw-2` | DHW 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `roomTempHc0` | Room Temp:HC 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `026-b-dhw-2` | B DHW 2 | `Switch` | | 🔓 W0 | R/O | false |
| `heatCirc0` | Heat Circ. 0 | `Switch` | | 🔓 W0 | R/O | false | | `027-room-temp-hc-0` | Room Temp:HC 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `roomTempHc1` | Room Temp:HC 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `028-heat-circ-0` | Heat Circ. 0 | `Switch` | | 🔓 W0 | R/O | false |
| `flowTarget1` | Flow Target 1 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `029-room-temp-hc-1` | Room Temp:HC 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs1` | Flow is 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `030-flow-target-1` | Flow Target 1 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `mixer1` | Mixer 1 | `String` | | 🔐 W1 | R/O | false | | `031-flow-is-1` | Flow is 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `heatCirc1` | Heat Circ. 1 | `Switch` | | 🔐 W1 | R/O | false | | `032-mixer-1` | Mixer 1 | `String` | | 🔐 W1 | R/O | false |
| `roomTempHc2` | Room Temp:HC 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `033-heat-circ-1` | Heat Circ. 1 | `Switch` | | 🔐 W1 | R/O | false |
| `flowTarget2` | Flow Target 2 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `034-room-temp-hc-2` | Room Temp:HC 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs2` | Flow is 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `035-flow-target-2` | Flow Target 2 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `mixer2` | Mixer 2 | `String` | | 🔐 W1 | R/O | false | | `036-flow-is-2` | Flow is 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `heatCirc2` | Heat Circ. 2 | `Switch` | | 🔓 W0 | R/O | false | | `037-mixer-2` | Mixer 2 | `String` | | 🔐 W1 | R/O | false |
| `roomTempHc3` | Room Temp:HC 3 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `038-heat-circ-2` | Heat Circ. 2 | `Switch` | | 🔓 W0 | R/O | false |
| `heatCirc3` | Heat Circ. 3 | `Switch` | | 🔓 W0 | R/O | false | | `039-room-temp-hc-3` | Room Temp:HC 3 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `roomTempHc4` | Room Temp:HC 4 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `040-heat-circ-3` | Heat Circ. 3 | `Switch` | | 🔓 W0 | R/O | false |
| `flowTarget4` | Flow Target 4 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `041-room-temp-hc-4` | Room Temp:HC 4 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs4` | Flow is 4 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `042-flow-target-4` | Flow Target 4 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `mixer4` | Mixer 4 | `String` | | 🔐 W1 | R/O | false | | `043-flow-is-4` | Flow is 4 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `heatCirc4` | Heat Circ. 4 | `Switch` | | 🔓 W0 | R/O | false | | `044-mixer-4` | Mixer 4 | `String` | | 🔐 W1 | R/O | false |
| `roomTempHc5` | Room Temp:HC 5 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `045-heat-circ-4` | Heat Circ. 4 | `Switch` | | 🔓 W0 | R/O | false |
| `flowTarget5` | Flow Target 5 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `046-room-temp-hc-5` | Room Temp:HC 5 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs5` | Flow is 5 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `047-flow-target-5` | Flow Target 5 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `mixer5` | Mixer 5 | `String` | | 🔐 W1 | R/O | false | | `048-flow-is-5` | Flow is 5 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `heatCirc5` | Heat Circ. 5 | `Switch` | | 🔓 W0 | R/O | false | | `049-mixer-5` | Mixer 5 | `String` | | 🔐 W1 | R/O | false |
| `roomTempHc6` | Room Temp:HC 6 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `050-heat-circ-5` | Heat Circ. 5 | `Switch` | | 🔓 W0 | R/O | false |
| `heatCirc6` | Heat Circ. 6 | `Switch` | | 🔓 W0 | R/O | false | | `051-room-temp-hc-6` | Room Temp:HC 6 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `roomTempHc7` | Room Temp:HC 7 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `052-heat-circ-6` | Heat Circ. 6 | `Switch` | | 🔓 W0 | R/O | false |
| `flowTarget7` | Flow Target 7 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `053-room-temp-hc-7` | Room Temp:HC 7 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs7` | Flow is 7 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `054-flow-target-7` | Flow Target 7 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `mixer7` | Mixer 7 | `String` | | 🔐 W1 | R/O | false | | `055-flow-is-7` | Flow is 7 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `heatCirc7` | Heat Circ. 7 | `Switch` | | 🔓 W0 | R/O | false | | `056-mixer-7` | Mixer 7 | `String` | | 🔐 W1 | R/O | false |
| `roomTempHc8` | Room Temp:HC 8 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `057-heat-circ-7` | Heat Circ. 7 | `Switch` | | 🔓 W0 | R/O | false |
| `flowTarget8` | Flow Target 8 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `058-room-temp-hc-8` | Room Temp:HC 8 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs8` | Flow is 8 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `059-flow-target-8` | Flow Target 8 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `mixer8` | Mixer 8 | `String` | | 🔐 W1 | R/O | false | | `060-flow-is-8` | Flow is 8 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `heatCirc8` | Heat Circ. 8 | `Switch` | | 🔓 W0 | R/O | false | | `061-mixer-8` | Mixer 8 | `String` | | 🔐 W1 | R/O | false |
| `fuelLevel` | Fuel Level | `String` | | 🔐 W1 | R/O | false | | `062-heat-circ-8` | Heat Circ. 8 | `Switch` | | 🔓 W0 | R/O | false |
| `stb` | STB | `String` | | 🔐 W1 | R/O | false | | `065-fuel-level` | Fuel Level | `String` | | 🔐 W1 | R/O | false |
| `tks` | TKS | `String` | | 🔐 W1 | R/O | false | | `066-stb` | STB | `String` | | 🔐 W1 | R/O | false |
| `boilerApproval` | Boiler approval | `Switch` | | 🔐 W1 | R/O | false | | `067-tks` | TKS | `String` | | 🔐 W1 | R/O | false |
| `programme` | Programme | `String` | | 🔓 W0 | R/O | false | | `068-boiler-approval` | Boiler approval | `Switch` | | 🔐 W1 | R/O | false |
| `programHc0` | Program HC0 | `String` | | 🔓 W0 | R/O | false | | `069-programme` | Programme | `String` | | 🔓 W0 | R/O | false |
| `programHc1` | Program HC1 | `String` | | 🔓 W0 | R/O | false | | `070-program-hc0` | Program HC0 | `String` | | 🔓 W0 | R/O | false |
| `programHc2` | Program HC2 | `String` | | 🔓 W0 | R/O | false | | `071-program-hc1` | Program HC1 | `String` | | 🔓 W0 | R/O | false |
| `programHc3` | Program HC3 | `String` | | 🔓 W0 | R/O | false | | `072-program-hc2` | Program HC2 | `String` | | 🔓 W0 | R/O | false |
| `programHc4` | Program HC4 | `String` | | 🔓 W0 | R/O | false | | `073-program-hc3` | Program HC3 | `String` | | 🔓 W0 | R/O | false |
| `programHc5` | Program HC5 | `String` | | 🔓 W0 | R/O | false | | `074-program-hc4` | Program HC4 | `String` | | 🔓 W0 | R/O | false |
| `programHc6` | Program HC6 | `String` | | 🔓 W0 | R/O | false | | `075-program-hc5` | Program HC5 | `String` | | 🔓 W0 | R/O | false |
| `programHc7` | Program HC7 | `String` | | 🔓 W0 | R/O | false | | `076-program-hc6` | Program HC6 | `String` | | 🔓 W0 | R/O | false |
| `programHc8` | Program HC8 | `String` | | 🔓 W0 | R/O | false | | `077-program-hc7` | Program HC7 | `String` | | 🔓 W0 | R/O | false |
| `interuption0` | Interuption 0 | `String` | | 🔓 W0 | R/O | false | | `078-program-hc8` | Program HC8 | `String` | | 🔓 W0 | R/O | false |
| `interuption1` | Interuption 1 | `String` | | 🔓 W0 | R/O | false | | `079-interuption-0` | Interuption 0 | `String` | | 🔓 W0 | R/O | false |
| `serial` | Serial | `Number` | | 🔓 W0 | R/O | false | | `080-interuption-1` | Interuption 1 | `String` | | 🔓 W0 | R/O | false |
| `version` | Version | `String` | | 🔓 W0 | R/O | false | | `081-serial` | Serial | `Number` | | 🔓 W0 | R/O | false |
| `runningTime` | Running Time | `Number:Time` | `h` | 🔓 W0 | R/O | false | | `082-version` | Version | `String` | | 🔓 W0 | R/O | false |
| `serviceHrs` | Service Hrs | `Number:Time` | `d` | 🔓 W0 | R/O | false | | `083-running-time` | Running Time | `Number:Time` | `h` | 🔓 W0 | R/O | false |
| `emptyAshIn` | Empty ash in | `Number:Time` | `h` | 🔓 W0 | R/O | false | | `084-service-hrs` | Service Hrs | `Number:Time` | `d` | 🔓 W0 | R/O | false |
| `flowIs0` | Flow is 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `085-empty-ash-in` | Empty ash in | `Number:Time` | `h` | 🔓 W0 | R/O | false |
| `flowIs3` | Flow is 3 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `086-flow-is-0` | Flow is 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `flowIs6` | Flow is 6 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `087-flow-is-3` | Flow is 3 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `fuelCounter` | Fuel counter | `Number:Volume` | `m³` | 🔐 W1 | R/O | false | | `088-flow-is-6` | Flow is 6 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `bufferLoad` | Buffer load. | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `089-fuel-counter` | Fuel counter | `Number:Volume` | `m³` | 🔐 W1 | R/O | false |
| `bufferTop0` | Buffer Top 0 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `090-buffer-load` | Buffer load. | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
| `bufferBtm0` | Buffer Btm 0 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `091-buffer-top-0` | Buffer Top 0 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `bufferTop1` | Buffer Top 1 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `092-buffer-btm-0` | Buffer Btm 0 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `bufferBtm1` | Buffer Btm 1 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `093-buffer-top-1` | Buffer Top 1 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `bufferTop2` | Buffer Top 2 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `094-buffer-btm-1` | Buffer Btm 1 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `bufferBtm2` | Buffer Btm 2 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false | | `095-buffer-top-2` | Buffer Top 2 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `bExtraWw0` | B extra-WW. 0 | `Switch` | | 🔐 W1 | R/O | false | | `096-buffer-btm-2` | Buffer Btm 2 | `Number:Temperature` | `°C` | 🔐 W1 | R/O | false |
| `bExtraWw1` | B extra-WW. 1 | `Switch` | | 🔐 W1 | R/O | false | | `097-b-extra-ww-0` | B extra-WW. 0 | `Switch` | | 🔐 W1 | R/O | false |
| `bExtraWw2` | B extra-WW. 2 | `Switch` | | 🔐 W1 | R/O | false | | `098-b-extra-ww-1` | B extra-WW. 1 | `Switch` | | 🔐 W1 | R/O | false |
| `auxiliaryPump0` | Auxiliary pump 0 | `Switch` | | 🔐 W1 | R/O | false | | `099-b-extra-ww-2` | B extra-WW. 2 | `Switch` | | 🔐 W1 | R/O | false |
| `auxiliaryPump1` | Auxiliary pump 1 | `Switch` | | 🔐 W1 | R/O | false | | `100-auxiliary-pump-0` | Auxiliary pump 0 | `Switch` | | 🔐 W1 | R/O | false |
| `auxiliaryPump2` | Auxiliary pump 2 | `Switch` | | 🔐 W1 | R/O | false | | `101-auxiliary-pump-1` | Auxiliary pump 1 | `Switch` | | 🔐 W1 | R/O | false |
| `boilersConditionNo` | Boiler´s condition no. | `String` | | 🔐 W1 | R/O | false | | `102-auxiliary-pump-2` | Auxiliary pump 2 | `Switch` | | 🔐 W1 | R/O | false |
| `bufferT5` | Buffer T5 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `104-boilers-condition-no` | Boiler´s condition no. | `String` | | 🔐 W1 | R/O | false |
| `bufferT6` | Buffer T6 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `108-buffer-t5` | Buffer T5 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `bufferT7` | Buffer T7 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `109-buffer-t6` | Buffer T6 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `extraWw0` | Extra-WW. 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `110-buffer-t7` | Buffer T7 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `extraWw1` | Extra-WW. 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `111-extra-ww-0` | Extra-WW. 0 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `extraWw2` | Extra-WW. 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false | | `112-extra-ww-1` | Extra-WW. 1 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `grate` | Grate | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false | | `113-extra-ww-2` | Extra-WW. 2 | `Number:Temperature` | `°C` | 🔓 W0 | R/O | false |
| `114-grate` | Grate | `Number:Dimensionless` | `%` | 🔓 W0 | R/O | false |
#### Security Access Levels #### Security Access Levels
@ -210,131 +212,117 @@ Thing guntamatic:biostar:mybiostar "Guntamatic Biostar" [ hostname="192.1
### Item File ### Item File
```java ```java
String Biostar_ControlBoilerApproval "Set Boiler Approval" { channel="guntamatic:biostar:mybiostar:controlBoilerApproval" } String Biostar_ControlProgram "Control Program" { channel="guntamatic:biostar:mybiostar:control#program" }
String Biostar_ControlProgram "Set Program" { channel="guntamatic:biostar:mybiostar:controlProgram" }
String Biostar_ControlHeatCircProgram0 "Set Heat Circle 0 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram0" } String               Biostar_Running                 "Running"                            { channel="guntamatic:biostar:mybiostar:status#000-running" }
String Biostar_ControlHeatCircProgram1 "Set Heat Circle 1 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram1" } Number:Temperature   Biostar_OutsideTemp             "Outside Temp."                      { channel="guntamatic:biostar:mybiostar:status#001-outside-temp" }
String Biostar_ControlHeatCircProgram2 "Set Heat Circle 2 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram2" } Number:Temperature   Biostar_BlrTargetTemp           "Blr.Target Temp"                    { channel="guntamatic:biostar:mybiostar:status#002-blr-target-temp" }
String Biostar_ControlHeatCircProgram3 "Set Heat Circle 3 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram3" } Number:Temperature   Biostar_BoilerTemperature       "Boiler Temperature"                 { channel="guntamatic:biostar:mybiostar:status#003-boiler-temperature" }
String Biostar_ControlHeatCircProgram4 "Set Heat Circle 4 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram4" } Number:Dimensionless Biostar_FlueGasUtilisation      "Flue gas utilisation"               { channel="guntamatic:biostar:mybiostar:status#004-flue-gas-utilisation" }
String Biostar_ControlHeatCircProgram5 "Set Heat Circle 5 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram5" } Number:Dimensionless Biostar_Output                  "Output"                             { channel="guntamatic:biostar:mybiostar:status#005-output" }
String Biostar_ControlHeatCircProgram6 "Set Heat Circle 6 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram6" } Number:Temperature   Biostar_ReturnTemp              "Return temp"                        { channel="guntamatic:biostar:mybiostar:status#006-return-temp" }
String Biostar_ControlHeatCircProgram7 "Set Heat Circle 7 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram7" } Number:Dimensionless Biostar_Co2Target               "CO2 Target"                         { channel="guntamatic:biostar:mybiostar:status#007-co2-target" }
String Biostar_ControlHeatCircProgram8 "Set Heat Circle 8 Program" { channel="guntamatic:biostar:mybiostar:controlHeatCircProgram8" } Number:Dimensionless Biostar_Co2Content              "CO2 Content"                        { channel="guntamatic:biostar:mybiostar:status#008-co2-content" }
String Biostar_ControlWwHeat0 "Trigger Warm Water Circle 0" { channel="guntamatic:biostar:mybiostar:controlWwHeat0" } Number:Temperature   Biostar_ReturnTempTarget        "Return temp target"                 { channel="guntamatic:biostar:mybiostar:status#009-return-temp-target" }
String Biostar_ControlWwHeat1 "Trigger Warm Water Circle 1" { channel="guntamatic:biostar:mybiostar:controlWwHeat1" } Number               Biostar_StatusCode              "Status code"                        { channel="guntamatic:biostar:mybiostar:status#010-status-code" }
String Biostar_ControlWwHeat2 "Trigger Warm Water Circle 2" { channel="guntamatic:biostar:mybiostar:controlWwHeat2" } Number:Dimensionless Biostar_Efficiency              "Efficiency"                         { channel="guntamatic:biostar:mybiostar:status#011-efficiency" }
String Biostar_ControlExtraWwHeat0 "Trigger Extra Warm Water Circle 0" { channel="guntamatic:biostar:mybiostar:controlExtraWwHeat0" } Number:Dimensionless Biostar_Output2                 "Output"                             { channel="guntamatic:biostar:mybiostar:status#012-output" }
String Biostar_ControlExtraWwHeat1 "Trigger Extra Warm Water Circle 1" { channel="guntamatic:biostar:mybiostar:controlExtraWwHeat1" } Number:Dimensionless Biostar_ExtractorSystem         "Extractor System"                   { channel="guntamatic:biostar:mybiostar:status#013-extractor-system" }
String Biostar_ControlExtraWwHeat2 "Trigger Extra Warm Water Circle 2" { channel="guntamatic:biostar:mybiostar:controlExtraWwHeat2" } String               Biostar_FeedTurbine             "Feed Turbine"                       { channel="guntamatic:biostar:mybiostar:status#014-feed-turbine" }
String Biostar_Running "Running" { channel="guntamatic:biostar:mybiostar:running" } Number:Dimensionless Biostar_DischargeMotor          "Discharge motor"                    { channel="guntamatic:biostar:mybiostar:status#015-discharge-motor" }
Number:Temperature Biostar_OutsideTemp "Outside Temp." { channel="guntamatic:biostar:mybiostar:outsideTemp" } Number:Dimensionless Biostar_G1Target                "G1 Target"                          { channel="guntamatic:biostar:mybiostar:status#016-g1-target" }
Number:Temperature Biostar_BlrTargetTemp "Blr.Target Temp" { channel="guntamatic:biostar:mybiostar:blrTargetTemp" } Number:Temperature   Biostar_BufferTop               "Buffer Top"                         { channel="guntamatic:biostar:mybiostar:status#017-buffer-top" }
Number:Temperature Biostar_BoilerTemperature "Boiler Temperature" { channel="guntamatic:biostar:mybiostar:boilerTemperature" } Number:Temperature   Biostar_BufferMid               "Buffer Mid"                         { channel="guntamatic:biostar:mybiostar:status#018-buffer-mid" }
Number:Dimensionless Biostar_FlueGasUtilisation "Flue gas utilisation" { channel="guntamatic:biostar:mybiostar:flueGasUtilisation" } Number:Temperature   Biostar_BufferBtm               "Buffer Btm"                         { channel="guntamatic:biostar:mybiostar:status#019-buffer-btm" }
Number:Dimensionless Biostar_Output "Output" { channel="guntamatic:biostar:mybiostar:output" } Switch               Biostar_PumpHp0                 "Pump HP0"                           { channel="guntamatic:biostar:mybiostar:status#020-pump-hp0" }
Number:Temperature Biostar_ReturnTemp "Return temp" { channel="guntamatic:biostar:mybiostar:returnTemp" } Number:Temperature   Biostar_Dhw0                    "DHW 0"                              { channel="guntamatic:biostar:mybiostar:status#021-dhw-0" }
Number:Dimensionless Biostar_Co2Target "CO2 Target" { channel="guntamatic:biostar:mybiostar:co2Target" } Switch               Biostar_BDhw0                   "B DHW 0"                            { channel="guntamatic:biostar:mybiostar:status#022-b-dhw-0" }
Number:Dimensionless Biostar_Co2Content "CO2 Content" { channel="guntamatic:biostar:mybiostar:co2Content" } Number:Temperature   Biostar_Dhw1                    "DHW 1"                              { channel="guntamatic:biostar:mybiostar:status#023-dhw-1" }
Number:Temperature Biostar_ReturnTempTarget "Return temp target" { channel="guntamatic:biostar:mybiostar:returnTempTarget" } Switch               Biostar_BDhw1                   "B DHW 1"                            { channel="guntamatic:biostar:mybiostar:status#024-b-dhw-1" }
Number Biostar_StatusCode "Status code" { channel="guntamatic:biostar:mybiostar:statusCode" } Number:Temperature   Biostar_Dhw2                    "DHW 2"                              { channel="guntamatic:biostar:mybiostar:status#025-dhw-2" }
Number:Dimensionless Biostar_Efficiency "Efficiency" { channel="guntamatic:biostar:mybiostar:efficiency" } Switch               Biostar_BDhw2                   "B DHW 2"                            { channel="guntamatic:biostar:mybiostar:status#026-b-dhw-2" }
Number:Dimensionless Biostar_ExtractorSystem "Extractor System" { channel="guntamatic:biostar:mybiostar:extractorSystem" } Number:Temperature   Biostar_RoomTempHc0             "Room Temp:HC 0"                     { channel="guntamatic:biostar:mybiostar:status#027-room-temp-hc-0" }
String Biostar_FeedTurbine "Feed Turbine" { channel="guntamatic:biostar:mybiostar:feedTurbine" } Switch               Biostar_HeatCirc0               "Heat Circ. 0"                       { channel="guntamatic:biostar:mybiostar:status#028-heat-circ-0" }
Number:Dimensionless Biostar_DischargeMotor "Discharge motor" { channel="guntamatic:biostar:mybiostar:dischargeMotor" } Number:Temperature   Biostar_RoomTempHc1             "Room Temp:HC 1"                     { channel="guntamatic:biostar:mybiostar:status#029-room-temp-hc-1" }
Number:Dimensionless Biostar_G1Target "G1 Target" { channel="guntamatic:biostar:mybiostar:g1Target" } Number:Temperature   Biostar_FlowTarget1             "Flow Target 1"                      { channel="guntamatic:biostar:mybiostar:status#030-flow-target-1" }
Number:Temperature Biostar_BufferTop "Buffer Top" { channel="guntamatic:biostar:mybiostar:bufferTop" } Number:Temperature   Biostar_FlowIs1                 "Flow is 1"                          { channel="guntamatic:biostar:mybiostar:status#031-flow-is-1" }
Number:Temperature Biostar_BufferMid "Buffer Mid" { channel="guntamatic:biostar:mybiostar:bufferMid" } String               Biostar_Mixer1                  "Mixer 1"                            { channel="guntamatic:biostar:mybiostar:status#032-mixer-1" }
Number:Temperature Biostar_BufferBtm "Buffer Btm" { channel="guntamatic:biostar:mybiostar:bufferBtm" } Switch               Biostar_HeatCirc1               "Heat Circ. 1"                       { channel="guntamatic:biostar:mybiostar:status#033-heat-circ-1" }
Switch Biostar_PumpHp0 "Pump HP0" { channel="guntamatic:biostar:mybiostar:pumpHp0" } Number:Temperature   Biostar_RoomTempHc2             "Room Temp:HC 2"                     { channel="guntamatic:biostar:mybiostar:status#034-room-temp-hc-2" }
Number:Temperature Biostar_Dhw0 "DHW 0" { channel="guntamatic:biostar:mybiostar:dhw0" } Number:Temperature   Biostar_FlowTarget2             "Flow Target 2"                      { channel="guntamatic:biostar:mybiostar:status#035-flow-target-2" }
Switch Biostar_BDhw0 "B DHW 0" { channel="guntamatic:biostar:mybiostar:bDhw0" } Number:Temperature   Biostar_FlowIs2                 "Flow is 2"                          { channel="guntamatic:biostar:mybiostar:status#036-flow-is-2" }
Number:Temperature Biostar_Dhw1 "DHW 1" { channel="guntamatic:biostar:mybiostar:dhw1" } String               Biostar_Mixer2                  "Mixer 2"                            { channel="guntamatic:biostar:mybiostar:status#037-mixer-2" }
Switch Biostar_BDhw1 "B DHW 1" { channel="guntamatic:biostar:mybiostar:bDhw1" } Switch               Biostar_HeatCirc2               "Heat Circ. 2"                       { channel="guntamatic:biostar:mybiostar:status#038-heat-circ-2" }
Number:Temperature Biostar_Dhw2 "DHW 2" { channel="guntamatic:biostar:mybiostar:dhw2" } Number:Temperature   Biostar_RoomTempHc3             "Room Temp:HC 3"                     { channel="guntamatic:biostar:mybiostar:status#039-room-temp-hc-3" }
Switch Biostar_BDhw2 "B DHW 2" { channel="guntamatic:biostar:mybiostar:bDhw2" } Switch               Biostar_HeatCirc3               "Heat Circ. 3"                       { channel="guntamatic:biostar:mybiostar:status#040-heat-circ-3" }
Number:Temperature Biostar_RoomTempHc0 "Room Temp:HC 0" { channel="guntamatic:biostar:mybiostar:roomTempHc0" } Number:Temperature   Biostar_RoomTempHc4             "Room Temp:HC 4"                     { channel="guntamatic:biostar:mybiostar:status#041-room-temp-hc-4" }
Switch Biostar_HeatCirc0 "Heat Circ. 0" { channel="guntamatic:biostar:mybiostar:heatCirc0" } Number:Temperature   Biostar_FlowTarget4             "Flow Target 4"                      { channel="guntamatic:biostar:mybiostar:status#042-flow-target-4" }
Number:Temperature Biostar_RoomTempHc1 "Room Temp:HC 1" { channel="guntamatic:biostar:mybiostar:roomTempHc1" } Number:Temperature   Biostar_FlowIs4                 "Flow is 4"                          { channel="guntamatic:biostar:mybiostar:status#043-flow-is-4" }
Number:Temperature Biostar_FlowTarget1 "Flow Target 1" { channel="guntamatic:biostar:mybiostar:flowTarget1" } String               Biostar_Mixer4                  "Mixer 4"                            { channel="guntamatic:biostar:mybiostar:status#044-mixer-4" }
Number:Temperature Biostar_FlowIs1 "Flow is 1" { channel="guntamatic:biostar:mybiostar:flowIs1" } Switch               Biostar_HeatCirc4               "Heat Circ. 4"                       { channel="guntamatic:biostar:mybiostar:status#045-heat-circ-4" }
String Biostar_Mixer1 "Mixer 1" { channel="guntamatic:biostar:mybiostar:mixer1" } Number:Temperature   Biostar_RoomTempHc5             "Room Temp:HC 5"                     { channel="guntamatic:biostar:mybiostar:status#046-room-temp-hc-5" }
Switch Biostar_HeatCirc1 "Heat Circ. 1" { channel="guntamatic:biostar:mybiostar:heatCirc1" } Number:Temperature   Biostar_FlowTarget5             "Flow Target 5"                      { channel="guntamatic:biostar:mybiostar:status#047-flow-target-5" }
Number:Temperature Biostar_RoomTempHc2 "Room Temp:HC 2" { channel="guntamatic:biostar:mybiostar:roomTempHc2" } Number:Temperature   Biostar_FlowIs5                 "Flow is 5"                          { channel="guntamatic:biostar:mybiostar:status#048-flow-is-5" }
Number:Temperature Biostar_FlowTarget2 "Flow Target 2" { channel="guntamatic:biostar:mybiostar:flowTarget2" } String               Biostar_Mixer5                  "Mixer 5"                            { channel="guntamatic:biostar:mybiostar:status#049-mixer-5" }
Number:Temperature Biostar_FlowIs2 "Flow is 2" { channel="guntamatic:biostar:mybiostar:flowIs2" } Switch               Biostar_HeatCirc5               "Heat Circ. 5"                       { channel="guntamatic:biostar:mybiostar:status#050-heat-circ-5" }
String Biostar_Mixer2 "Mixer 2" { channel="guntamatic:biostar:mybiostar:mixer2" } Number:Temperature   Biostar_RoomTempHc6             "Room Temp:HC 6"                     { channel="guntamatic:biostar:mybiostar:status#051-room-temp-hc-6" }
Switch Biostar_HeatCirc2 "Heat Circ. 2" { channel="guntamatic:biostar:mybiostar:heatCirc2" } Switch               Biostar_HeatCirc6               "Heat Circ. 6"                       { channel="guntamatic:biostar:mybiostar:status#052-heat-circ-6" }
Number:Temperature Biostar_RoomTempHc3 "Room Temp:HC 3" { channel="guntamatic:biostar:mybiostar:roomTempHc3" } Number:Temperature   Biostar_RoomTempHc7             "Room Temp:HC 7"                     { channel="guntamatic:biostar:mybiostar:status#053-room-temp-hc-7" }
Switch Biostar_HeatCirc3 "Heat Circ. 3" { channel="guntamatic:biostar:mybiostar:heatCirc3" } Number:Temperature   Biostar_FlowTarget7             "Flow Target 7"                      { channel="guntamatic:biostar:mybiostar:status#054-flow-target-7" }
Number:Temperature Biostar_RoomTempHc4 "Room Temp:HC 4" { channel="guntamatic:biostar:mybiostar:roomTempHc4" } Number:Temperature   Biostar_FlowIs7                 "Flow is 7"                          { channel="guntamatic:biostar:mybiostar:status#055-flow-is-7" }
Number:Temperature Biostar_FlowTarget4 "Flow Target 4" { channel="guntamatic:biostar:mybiostar:flowTarget4" } String               Biostar_Mixer7                  "Mixer 7"                            { channel="guntamatic:biostar:mybiostar:status#056-mixer-7" }
Number:Temperature Biostar_FlowIs4 "Flow is 4" { channel="guntamatic:biostar:mybiostar:flowIs4" } Switch               Biostar_HeatCirc7               "Heat Circ. 7"                       { channel="guntamatic:biostar:mybiostar:status#057-heat-circ-7" }
String Biostar_Mixer4 "Mixer 4" { channel="guntamatic:biostar:mybiostar:mixer4" } Number:Temperature   Biostar_RoomTempHc8             "Room Temp:HC 8"                     { channel="guntamatic:biostar:mybiostar:status#058-room-temp-hc-8" }
Switch Biostar_HeatCirc4 "Heat Circ. 4" { channel="guntamatic:biostar:mybiostar:heatCirc4" } Number:Temperature   Biostar_FlowTarget8             "Flow Target 8"                      { channel="guntamatic:biostar:mybiostar:status#059-flow-target-8" }
Number:Temperature Biostar_RoomTempHc5 "Room Temp:HC 5" { channel="guntamatic:biostar:mybiostar:roomTempHc5" } Number:Temperature   Biostar_FlowIs8                 "Flow is 8"                          { channel="guntamatic:biostar:mybiostar:status#060-flow-is-8" }
Number:Temperature Biostar_FlowTarget5 "Flow Target 5" { channel="guntamatic:biostar:mybiostar:flowTarget5" } String               Biostar_Mixer8                  "Mixer 8"                            { channel="guntamatic:biostar:mybiostar:status#061-mixer-8" }
Number:Temperature Biostar_FlowIs5 "Flow is 5" { channel="guntamatic:biostar:mybiostar:flowIs5" } Switch               Biostar_HeatCirc8               "Heat Circ. 8"                       { channel="guntamatic:biostar:mybiostar:status#062-heat-circ-8" }
String Biostar_Mixer5 "Mixer 5" { channel="guntamatic:biostar:mybiostar:mixer5" } String               Biostar_FuelLevel               "Fuel Level"                         { channel="guntamatic:biostar:mybiostar:status#065-fuel-level" }
Switch Biostar_HeatCirc5 "Heat Circ. 5" { channel="guntamatic:biostar:mybiostar:heatCirc5" } String               Biostar_Stb                     "STB"                                { channel="guntamatic:biostar:mybiostar:status#066-stb" }
Number:Temperature Biostar_RoomTempHc6 "Room Temp:HC 6" { channel="guntamatic:biostar:mybiostar:roomTempHc6" } String               Biostar_Tks                     "TKS"                                { channel="guntamatic:biostar:mybiostar:status#067-tks" }
Switch Biostar_HeatCirc6 "Heat Circ. 6" { channel="guntamatic:biostar:mybiostar:heatCirc6" } Switch               Biostar_BoilerApproval          "Boiler approval"                    { channel="guntamatic:biostar:mybiostar:status#068-boiler-approval" }
Number:Temperature Biostar_RoomTempHc7 "Room Temp:HC 7" { channel="guntamatic:biostar:mybiostar:roomTempHc7" } String               Biostar_Programme               "Programme"                          { channel="guntamatic:biostar:mybiostar:status#069-programme" }
Number:Temperature Biostar_FlowTarget7 "Flow Target 7" { channel="guntamatic:biostar:mybiostar:flowTarget7" } String               Biostar_ProgramHc0              "Program HC0"                        { channel="guntamatic:biostar:mybiostar:status#070-program-hc0" }
Number:Temperature Biostar_FlowIs7 "Flow is 7" { channel="guntamatic:biostar:mybiostar:flowIs7" } String               Biostar_ProgramHc1              "Program HC1"                        { channel="guntamatic:biostar:mybiostar:status#071-program-hc1" }
String Biostar_Mixer7 "Mixer 7" { channel="guntamatic:biostar:mybiostar:mixer7" } String               Biostar_ProgramHc2              "Program HC2"                        { channel="guntamatic:biostar:mybiostar:status#072-program-hc2" }
Switch Biostar_HeatCirc7 "Heat Circ. 7" { channel="guntamatic:biostar:mybiostar:heatCirc7" } String               Biostar_ProgramHc3              "Program HC3"                        { channel="guntamatic:biostar:mybiostar:status#073-program-hc3" }
Number:Temperature Biostar_RoomTempHc8 "Room Temp:HC 8" { channel="guntamatic:biostar:mybiostar:roomTempHc8" } String               Biostar_ProgramHc4              "Program HC4"                        { channel="guntamatic:biostar:mybiostar:status#074-program-hc4" }
Number:Temperature Biostar_FlowTarget8 "Flow Target 8" { channel="guntamatic:biostar:mybiostar:flowTarget8" } String               Biostar_ProgramHc5              "Program HC5"                        { channel="guntamatic:biostar:mybiostar:status#075-program-hc5" }
Number:Temperature Biostar_FlowIs8 "Flow is 8" { channel="guntamatic:biostar:mybiostar:flowIs8" } String               Biostar_ProgramHc6              "Program HC6"                        { channel="guntamatic:biostar:mybiostar:status#076-program-hc6" }
String Biostar_Mixer8 "Mixer 8" { channel="guntamatic:biostar:mybiostar:mixer8" } String               Biostar_ProgramHc7              "Program HC7"                        { channel="guntamatic:biostar:mybiostar:status#077-program-hc7" }
Switch Biostar_HeatCirc8 "Heat Circ. 8" { channel="guntamatic:biostar:mybiostar:heatCirc8" } String               Biostar_ProgramHc8              "Program HC8"                        { channel="guntamatic:biostar:mybiostar:status#078-program-hc8" }
String Biostar_FuelLevel "Fuel Level" { channel="guntamatic:biostar:mybiostar:fuelLevel" } String               Biostar_Interuption0            "Interuption 0"                      { channel="guntamatic:biostar:mybiostar:status#079-interuption-0" }
String Biostar_Stb "STB" { channel="guntamatic:biostar:mybiostar:stb" } String               Biostar_Interuption1            "Interuption 1"                      { channel="guntamatic:biostar:mybiostar:status#080-interuption-1" }
String Biostar_Tks "TKS" { channel="guntamatic:biostar:mybiostar:tks" } Number               Biostar_Serial                  "Serial"                             { channel="guntamatic:biostar:mybiostar:status#081-serial" }
Switch Biostar_BoilerApproval "Boiler approval" { channel="guntamatic:biostar:mybiostar:boilerApproval" } String               Biostar_Version                 "Version"                            { channel="guntamatic:biostar:mybiostar:status#082-version" }
String Biostar_Programme "Programme" { channel="guntamatic:biostar:mybiostar:programme" } Number:Time          Biostar_RunningTime             "Running Time"                       { channel="guntamatic:biostar:mybiostar:status#083-running-time" }
String Biostar_ProgramHc0 "Program HC0" { channel="guntamatic:biostar:mybiostar:programHc0" } Number:Time          Biostar_ServiceHrs              "Service Hrs"                        { channel="guntamatic:biostar:mybiostar:status#084-service-hrs" }
String Biostar_ProgramHc1 "Program HC1" { channel="guntamatic:biostar:mybiostar:programHc1" } Number:Time          Biostar_EmptyAshIn              "Empty ash in"                       { channel="guntamatic:biostar:mybiostar:status#085-empty-ash-in" }
String Biostar_ProgramHc2 "Program HC2" { channel="guntamatic:biostar:mybiostar:programHc2" } Number:Temperature   Biostar_FlowIs0                 "Flow is 0"                          { channel="guntamatic:biostar:mybiostar:status#086-flow-is-0" }
String Biostar_ProgramHc3 "Program HC3" { channel="guntamatic:biostar:mybiostar:programHc3" } Number:Temperature   Biostar_FlowIs3                 "Flow is 3"                          { channel="guntamatic:biostar:mybiostar:status#087-flow-is-3" }
String Biostar_ProgramHc4 "Program HC4" { channel="guntamatic:biostar:mybiostar:programHc4" } Number:Temperature   Biostar_FlowIs6                 "Flow is 6"                          { channel="guntamatic:biostar:mybiostar:status#088-flow-is-6" }
String Biostar_ProgramHc5 "Program HC5" { channel="guntamatic:biostar:mybiostar:programHc5" } Number:Volume        Biostar_FuelCounter             "Fuel counter"                       { channel="guntamatic:biostar:mybiostar:status#089-fuel-counter" }
String Biostar_ProgramHc6 "Program HC6" { channel="guntamatic:biostar:mybiostar:programHc6" } Number:Dimensionless Biostar_BufferLoad              "Buffer load."                       { channel="guntamatic:biostar:mybiostar:status#090-buffer-load" }
String Biostar_ProgramHc7 "Program HC7" { channel="guntamatic:biostar:mybiostar:programHc7" } Number:Temperature   Biostar_BufferTop0              "Buffer Top 0"                       { channel="guntamatic:biostar:mybiostar:status#091-buffer-top-0" }
String Biostar_ProgramHc8 "Program HC8" { channel="guntamatic:biostar:mybiostar:programHc8" } Number:Temperature   Biostar_BufferBtm0              "Buffer Btm 0"                       { channel="guntamatic:biostar:mybiostar:status#092-buffer-btm-0" }
String Biostar_Interuption0 "Interuption 0" { channel="guntamatic:biostar:mybiostar:interuption0" } Number:Temperature   Biostar_BufferTop1              "Buffer Top 1"                       { channel="guntamatic:biostar:mybiostar:status#093-buffer-top-1" }
String Biostar_Interuption1 "Interuption 1" { channel="guntamatic:biostar:mybiostar:interuption1" } Number:Temperature   Biostar_BufferBtm1              "Buffer Btm 1"                       { channel="guntamatic:biostar:mybiostar:status#094-buffer-btm-1" }
Number Biostar_Serial "Serial" { channel="guntamatic:biostar:mybiostar:serial" } Number:Temperature   Biostar_BufferTop2              "Buffer Top 2"                       { channel="guntamatic:biostar:mybiostar:status#095-buffer-top-2" }
String Biostar_Version "Version" { channel="guntamatic:biostar:mybiostar:version" } Number:Temperature   Biostar_BufferBtm2              "Buffer Btm 2"                       { channel="guntamatic:biostar:mybiostar:status#096-buffer-btm-2" }
Number:Time Biostar_RunningTime "Running Time" { channel="guntamatic:biostar:mybiostar:runningTime" } Switch               Biostar_BExtraWw0               "B extra-WW. 0"                      { channel="guntamatic:biostar:mybiostar:status#097-b-extra-ww-0" }
Number:Time Biostar_ServiceHrs "Service Hrs" { channel="guntamatic:biostar:mybiostar:serviceHrs" } Switch               Biostar_BExtraWw1               "B extra-WW. 1"                      { channel="guntamatic:biostar:mybiostar:status#098-b-extra-ww-1" }
Number:Time Biostar_EmptyAshIn "Empty ash in" { channel="guntamatic:biostar:mybiostar:emptyAshIn" } Switch               Biostar_BExtraWw2               "B extra-WW. 2"                      { channel="guntamatic:biostar:mybiostar:status#099-b-extra-ww-2" }
Number:Temperature Biostar_FlowIs0 "Flow is 0" { channel="guntamatic:biostar:mybiostar:flowIs0" } Switch               Biostar_AuxiliaryPump0          "Auxiliary pump 0"                   { channel="guntamatic:biostar:mybiostar:status#100-auxiliary-pump-0" }
Number:Temperature Biostar_FlowIs3 "Flow is 3" { channel="guntamatic:biostar:mybiostar:flowIs3" } Switch               Biostar_AuxiliaryPump1          "Auxiliary pump 1"                   { channel="guntamatic:biostar:mybiostar:status#101-auxiliary-pump-1" }
Number:Temperature Biostar_FlowIs6 "Flow is 6" { channel="guntamatic:biostar:mybiostar:flowIs6" } Switch               Biostar_AuxiliaryPump2          "Auxiliary pump 2"                   { channel="guntamatic:biostar:mybiostar:status#102-auxiliary-pump-2" }
Number:Volume Biostar_FuelCounter "Fuel counter" { channel="guntamatic:biostar:mybiostar:fuelCounter" } String               Biostar_BoilersConditionNo      "Boiler´s condition no."             { channel="guntamatic:biostar:mybiostar:status#104-boilers-condition-no" }
Number:Dimensionless Biostar_BufferLoad "Buffer load." { channel="guntamatic:biostar:mybiostar:bufferLoad" } Number:Temperature   Biostar_BufferT5                "Buffer T5"                          { channel="guntamatic:biostar:mybiostar:status#108-buffer-t5" }
Number:Temperature Biostar_BufferTop0 "Buffer Top 0" { channel="guntamatic:biostar:mybiostar:bufferTop0" } Number:Temperature   Biostar_BufferT6                "Buffer T6"                          { channel="guntamatic:biostar:mybiostar:status#109-buffer-t6" }
Number:Temperature Biostar_BufferBtm0 "Buffer Btm 0" { channel="guntamatic:biostar:mybiostar:bufferBtm0" } Number:Temperature   Biostar_BufferT7                "Buffer T7"                          { channel="guntamatic:biostar:mybiostar:status#110-buffer-t7" }
Number:Temperature Biostar_BufferTop1 "Buffer Top 1" { channel="guntamatic:biostar:mybiostar:bufferTop1" } Number:Temperature   Biostar_ExtraWw0                "Extra-WW. 0"                        { channel="guntamatic:biostar:mybiostar:status#111-extra-ww-0" }
Number:Temperature Biostar_BufferBtm1 "Buffer Btm 1" { channel="guntamatic:biostar:mybiostar:bufferBtm1" } Number:Temperature   Biostar_ExtraWw1                "Extra-WW. 1"                        { channel="guntamatic:biostar:mybiostar:status#112-extra-ww-1" }
Number:Temperature Biostar_BufferTop2 "Buffer Top 2" { channel="guntamatic:biostar:mybiostar:bufferTop2" } Number:Temperature   Biostar_ExtraWw2                "Extra-WW. 2"                        { channel="guntamatic:biostar:mybiostar:status#113-extra-ww-2" }
Number:Temperature Biostar_BufferBtm2 "Buffer Btm 2" { channel="guntamatic:biostar:mybiostar:bufferBtm2" } Number:Dimensionless Biostar_Grate                   "Grate"                              { channel="guntamatic:biostar:mybiostar:status#114-grate" }
Switch Biostar_BExtraWw0 "B extra-WW. 0" { channel="guntamatic:biostar:mybiostar:bExtraWw0" }
Switch Biostar_BExtraWw1 "B extra-WW. 1" { channel="guntamatic:biostar:mybiostar:bExtraWw1" }
Switch Biostar_BExtraWw2 "B extra-WW. 2" { channel="guntamatic:biostar:mybiostar:bExtraWw2" }
Switch Biostar_AuxiliaryPump0 "Auxiliary pump 0" { channel="guntamatic:biostar:mybiostar:auxiliaryPump0" }
Switch Biostar_AuxiliaryPump1 "Auxiliary pump 1" { channel="guntamatic:biostar:mybiostar:auxiliaryPump1" }
Switch Biostar_AuxiliaryPump2 "Auxiliary pump 2" { channel="guntamatic:biostar:mybiostar:auxiliaryPump2" }
String Biostar_BoilersConditionNo "Boiler´s condition no." { channel="guntamatic:biostar:mybiostar:boilersConditionNo" }
Number:Temperature Biostar_BufferT5 "Buffer T5" { channel="guntamatic:biostar:mybiostar:bufferT5" }
Number:Temperature Biostar_BufferT6 "Buffer T6" { channel="guntamatic:biostar:mybiostar:bufferT6" }
Number:Temperature Biostar_BufferT7 "Buffer T7" { channel="guntamatic:biostar:mybiostar:bufferT7" }
Number:Temperature Biostar_ExtraWw0 "Extra-WW. 0" { channel="guntamatic:biostar:mybiostar:extraWw0" }
Number:Temperature Biostar_ExtraWw1 "Extra-WW. 1" { channel="guntamatic:biostar:mybiostar:extraWw1" }
Number:Temperature Biostar_ExtraWw2 "Extra-WW. 2" { channel="guntamatic:biostar:mybiostar:extraWw2" }
Number:Dimensionless Biostar_Grate "Grate" { channel="guntamatic:biostar:mybiostar:grate" }
``` ```
### Rule ### Rule
@ -360,7 +348,7 @@ end
## Your feedback is required ## Your feedback is required
The Guntamatic Binding was developed and tested using Guntamatic Biostar 15kW Pellets Heating System, running Firmware 3.2d. The Guntamatic Binding was developed and tested using Guntamatic Biostar 15kW Pellets Heating System, running Firmware 3.3d.
Please provide feedback (👍 as well as 👎) when using the Binding for other Guntamatic Heating Systems. Please provide feedback (👍 as well as 👎) when using the Binding for other Guntamatic Heating Systems.
Forum topic for feedback: Forum topic for feedback:

View File

@ -39,38 +39,42 @@ public class GuntamaticBindingConstants {
public static final ThingTypeUID THING_TYPE_THERM = new ThingTypeUID(BINDING_ID, "therm"); public static final ThingTypeUID THING_TYPE_THERM = new ThingTypeUID(BINDING_ID, "therm");
public static final ThingTypeUID THING_TYPE_GENERIC = new ThingTypeUID(BINDING_ID, "generic"); public static final ThingTypeUID THING_TYPE_GENERIC = new ThingTypeUID(BINDING_ID, "generic");
public static final String GROUP_CONTROL = "control#";
// List of all Channel ids // List of all Channel ids
public static final String CHANNEL_CONTROLBOILERAPPROVAL = "controlBoilerApproval"; public static final String CHANNEL_CONTROL_BOILERAPPROVAL = GROUP_CONTROL + "boiler-approval";
public static final String CHANNEL_CONTROLPROGRAM = "controlProgram"; public static final String CHANNEL_CONTROL_PROGRAM = GROUP_CONTROL + "program";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM0 = "controlHeatCircProgram0"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM0 = GROUP_CONTROL + "heat-circ-program-0";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM1 = "controlHeatCircProgram1"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM1 = GROUP_CONTROL + "heat-circ-program-1";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM2 = "controlHeatCircProgram2"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM2 = GROUP_CONTROL + "heat-circ-program-2";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM3 = "controlHeatCircProgram3"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM3 = GROUP_CONTROL + "heat-circ-program-3";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM4 = "controlHeatCircProgram4"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM4 = GROUP_CONTROL + "heat-circ-program-4";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM5 = "controlHeatCircProgram5"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM5 = GROUP_CONTROL + "heat-circ-program-5";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM6 = "controlHeatCircProgram6"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM6 = GROUP_CONTROL + "heat-circ-program-6";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM7 = "controlHeatCircProgram7"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM7 = GROUP_CONTROL + "heat-circ-program-7";
public static final String CHANNEL_CONTROLHEATCIRCPROGRAM8 = "controlHeatCircProgram8"; public static final String CHANNEL_CONTROL_HEATCIRCPROGRAM8 = GROUP_CONTROL + "heat-circ-program-8";
public static final String CHANNEL_CONTROLWWHEAT0 = "controlWwHeat0"; public static final String CHANNEL_CONTROL_WWHEAT0 = GROUP_CONTROL + "ww-heat-0";
public static final String CHANNEL_CONTROLWWHEAT1 = "controlWwHeat1"; public static final String CHANNEL_CONTROL_WWHEAT1 = GROUP_CONTROL + "ww-heat-1";
public static final String CHANNEL_CONTROLWWHEAT2 = "controlWwHeat2"; public static final String CHANNEL_CONTROL_WWHEAT2 = GROUP_CONTROL + "ww-heat-2";
public static final String CHANNEL_CONTROLEXTRAWWHEAT0 = "controlExtraWwHeat0"; public static final String CHANNEL_CONTROL_EXTRAWWHEAT0 = GROUP_CONTROL + "extra-ww-heat-0";
public static final String CHANNEL_CONTROLEXTRAWWHEAT1 = "controlExtraWwHeat1"; public static final String CHANNEL_CONTROL_EXTRAWWHEAT1 = GROUP_CONTROL + "extra-ww-heat-1";
public static final String CHANNEL_CONTROLEXTRAWWHEAT2 = "controlExtraWwHeat2"; public static final String CHANNEL_CONTROL_EXTRAWWHEAT2 = GROUP_CONTROL + "extra-ww-heat-2";
public static final List<String> STATIC_CHANNEL_IDS = Arrays.asList(CHANNEL_CONTROLBOILERAPPROVAL, public static final List<String> STATIC_CHANNEL_IDS = Arrays.asList(CHANNEL_CONTROL_BOILERAPPROVAL,
CHANNEL_CONTROLPROGRAM, CHANNEL_CONTROLHEATCIRCPROGRAM0, CHANNEL_CONTROLHEATCIRCPROGRAM1, CHANNEL_CONTROL_PROGRAM, CHANNEL_CONTROL_HEATCIRCPROGRAM0, CHANNEL_CONTROL_HEATCIRCPROGRAM1,
CHANNEL_CONTROLHEATCIRCPROGRAM2, CHANNEL_CONTROLHEATCIRCPROGRAM3, CHANNEL_CONTROLHEATCIRCPROGRAM4, CHANNEL_CONTROL_HEATCIRCPROGRAM2, CHANNEL_CONTROL_HEATCIRCPROGRAM3, CHANNEL_CONTROL_HEATCIRCPROGRAM4,
CHANNEL_CONTROLHEATCIRCPROGRAM5, CHANNEL_CONTROLHEATCIRCPROGRAM6, CHANNEL_CONTROLHEATCIRCPROGRAM7, CHANNEL_CONTROL_HEATCIRCPROGRAM5, CHANNEL_CONTROL_HEATCIRCPROGRAM6, CHANNEL_CONTROL_HEATCIRCPROGRAM7,
CHANNEL_CONTROLHEATCIRCPROGRAM8, CHANNEL_CONTROLWWHEAT0, CHANNEL_CONTROLWWHEAT1, CHANNEL_CONTROLWWHEAT2, CHANNEL_CONTROL_HEATCIRCPROGRAM8, CHANNEL_CONTROL_WWHEAT0, CHANNEL_CONTROL_WWHEAT1, CHANNEL_CONTROL_WWHEAT2,
CHANNEL_CONTROLEXTRAWWHEAT0, CHANNEL_CONTROLEXTRAWWHEAT1, CHANNEL_CONTROLEXTRAWWHEAT2); CHANNEL_CONTROL_EXTRAWWHEAT0, CHANNEL_CONTROL_EXTRAWWHEAT1, CHANNEL_CONTROL_EXTRAWWHEAT2);
public static final List<String> STATIC_CHANNEL_IDS_WOBOILERAPP = Arrays.asList(CHANNEL_CONTROLPROGRAM, public static final List<String> STATIC_CHANNEL_IDS_WOBOILERAPP = Arrays.asList(CHANNEL_CONTROL_PROGRAM,
CHANNEL_CONTROLHEATCIRCPROGRAM0, CHANNEL_CONTROLHEATCIRCPROGRAM1, CHANNEL_CONTROLHEATCIRCPROGRAM2, CHANNEL_CONTROL_HEATCIRCPROGRAM0, CHANNEL_CONTROL_HEATCIRCPROGRAM1, CHANNEL_CONTROL_HEATCIRCPROGRAM2,
CHANNEL_CONTROLHEATCIRCPROGRAM3, CHANNEL_CONTROLHEATCIRCPROGRAM4, CHANNEL_CONTROLHEATCIRCPROGRAM5, CHANNEL_CONTROL_HEATCIRCPROGRAM3, CHANNEL_CONTROL_HEATCIRCPROGRAM4, CHANNEL_CONTROL_HEATCIRCPROGRAM5,
CHANNEL_CONTROLHEATCIRCPROGRAM6, CHANNEL_CONTROLHEATCIRCPROGRAM7, CHANNEL_CONTROLHEATCIRCPROGRAM8, CHANNEL_CONTROL_HEATCIRCPROGRAM6, CHANNEL_CONTROL_HEATCIRCPROGRAM7, CHANNEL_CONTROL_HEATCIRCPROGRAM8,
CHANNEL_CONTROLWWHEAT0, CHANNEL_CONTROLWWHEAT1, CHANNEL_CONTROLWWHEAT2, CHANNEL_CONTROLEXTRAWWHEAT0, CHANNEL_CONTROL_WWHEAT0, CHANNEL_CONTROL_WWHEAT1, CHANNEL_CONTROL_WWHEAT2, CHANNEL_CONTROL_EXTRAWWHEAT0,
CHANNEL_CONTROLEXTRAWWHEAT1, CHANNEL_CONTROLEXTRAWWHEAT2); CHANNEL_CONTROL_EXTRAWWHEAT1, CHANNEL_CONTROL_EXTRAWWHEAT2);
public static final String GROUP_STATUS = "status#";
public static final String PARAMETER_BOILERAPPROVAL = "boilerApproval"; public static final String PARAMETER_BOILERAPPROVAL = "boilerApproval";
public static final String PARAMETER_PROGRAM = "program"; public static final String PARAMETER_PROGRAM = "program";

View File

@ -1,62 +0,0 @@
/**
* Copyright (c) 2010-2024 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.guntamatic.internal;
import java.util.Collection;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.thing.type.ChannelType;
import org.openhab.core.thing.type.ChannelTypeBuilder;
import org.openhab.core.thing.type.ChannelTypeProvider;
import org.openhab.core.thing.type.ChannelTypeUID;
import org.openhab.core.thing.type.StateChannelTypeBuilder;
import org.openhab.core.types.StateDescriptionFragmentBuilder;
import org.osgi.service.component.annotations.Component;
/**
* Provide channelTypes for Guntamatic Heating Systems
*
* @author Weger Michael - Initial contribution
*/
@Component(service = { ChannelTypeProvider.class, GuntamaticChannelTypeProvider.class })
@NonNullByDefault
public class GuntamaticChannelTypeProvider implements ChannelTypeProvider {
private final Map<String, ChannelType> channelTypes = new ConcurrentHashMap<>();
@Override
public Collection<ChannelType> getChannelTypes(@Nullable Locale locale) {
return channelTypes.values();
}
@Override
public @Nullable ChannelType getChannelType(ChannelTypeUID channelTypeUID, @Nullable Locale locale) {
return channelTypes.get(channelTypeUID.getAsString()); // returns null if not found
}
public void addChannelType(ChannelTypeUID channelTypeUID, String label, String itemType, String description,
boolean advanced, String pattern) {
StateDescriptionFragmentBuilder stateDescriptionFragmentBuilder = StateDescriptionFragmentBuilder.create()
.withReadOnly(true);
if (!pattern.isEmpty()) {
stateDescriptionFragmentBuilder.withPattern(pattern);
}
StateChannelTypeBuilder stateChannelTypeBuilder = ChannelTypeBuilder.state(channelTypeUID, label, itemType)
.withDescription(description).isAdvanced(advanced)
.withStateDescriptionFragment(stateDescriptionFragmentBuilder.build());
channelTypes.put(channelTypeUID.getAsString(), stateChannelTypeBuilder.build());
}
}

View File

@ -0,0 +1,45 @@
/**
* Copyright (c) 2010-2024 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.guntamatic.internal;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.storage.StorageService;
import org.openhab.core.thing.ThingUID;
import org.openhab.core.thing.binding.AbstractStorageBasedTypeProvider;
import org.openhab.core.thing.type.ChannelType;
import org.openhab.core.thing.type.ChannelTypeProvider;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
/**
* The {@link GuntamaticDynamicTypeProvider} is an instance of a {@link AbstractStorageBasedTypeProvider} for the
* Guntamatic Binding
*
* @author Weger Michael - Initial contribution
*/
@Component(service = { GuntamaticDynamicTypeProvider.class, ChannelTypeProvider.class })
@NonNullByDefault
public class GuntamaticDynamicTypeProvider extends AbstractStorageBasedTypeProvider {
@Activate
public GuntamaticDynamicTypeProvider(@Reference StorageService storageService) {
super(storageService);
}
public void removeChannelTypesForThing(ThingUID uid) {
String thingUid = uid.getAsString() + ":";
getChannelTypes(null).stream().map(ChannelType::getUID).filter(c -> c.getAsString().startsWith(thingUid))
.forEach(this::removeChannelType);
}
}

View File

@ -52,10 +52,13 @@ import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.thing.binding.builder.ChannelBuilder; import org.openhab.core.thing.binding.builder.ChannelBuilder;
import org.openhab.core.thing.binding.builder.ThingBuilder; import org.openhab.core.thing.binding.builder.ThingBuilder;
import org.openhab.core.thing.type.ChannelKind; import org.openhab.core.thing.type.ChannelKind;
import org.openhab.core.thing.type.ChannelType;
import org.openhab.core.thing.type.ChannelTypeBuilder;
import org.openhab.core.thing.type.ChannelTypeUID; import org.openhab.core.thing.type.ChannelTypeUID;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType; import org.openhab.core.types.RefreshType;
import org.openhab.core.types.State; import org.openhab.core.types.State;
import org.openhab.core.types.StateDescriptionFragmentBuilder;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -101,16 +104,16 @@ public class GuntamaticHandler extends BaseThingHandler {
private List<String> staticChannelIDs; private List<String> staticChannelIDs;
private GuntamaticConfiguration config = new GuntamaticConfiguration(); private GuntamaticConfiguration config = new GuntamaticConfiguration();
private Boolean channelsInitialized = false; private Boolean channelsInitialized = false;
private GuntamaticChannelTypeProvider guntamaticChannelTypeProvider; private GuntamaticDynamicTypeProvider typeProvider;
private Map<Integer, String> channels = new HashMap<>(); private Map<Integer, String> channels = new HashMap<>();
private Map<Integer, String> types = new HashMap<>(); private Map<Integer, String> types = new HashMap<>();
private Map<Integer, Unit<?>> units = new HashMap<>(); private Map<Integer, Unit<?>> units = new HashMap<>();
public GuntamaticHandler(Thing thing, HttpClient httpClient, public GuntamaticHandler(Thing thing, HttpClient httpClient, GuntamaticDynamicTypeProvider typeProvider,
GuntamaticChannelTypeProvider guntamaticChannelTypeProvider, List<String> staticChannelIDs) { List<String> staticChannelIDs) {
super(thing); super(thing);
this.httpClient = httpClient; this.httpClient = httpClient;
this.guntamaticChannelTypeProvider = guntamaticChannelTypeProvider; this.typeProvider = typeProvider;
this.staticChannelIDs = staticChannelIDs; this.staticChannelIDs = staticChannelIDs;
} }
@ -122,11 +125,11 @@ public class GuntamaticHandler extends BaseThingHandler {
Map<String, String> map; Map<String, String> map;
String channelID = channelUID.getId(); String channelID = channelUID.getId();
switch (channelID) { switch (channelID) {
case CHANNEL_CONTROLBOILERAPPROVAL: case CHANNEL_CONTROL_BOILERAPPROVAL:
param = getThing().getProperties().get(PARAMETER_BOILERAPPROVAL); param = getThing().getProperties().get(PARAMETER_BOILERAPPROVAL);
map = MAP_COMMAND_PARAM_APPROVAL; map = MAP_COMMAND_PARAM_APPROVAL;
break; break;
case CHANNEL_CONTROLPROGRAM: case CHANNEL_CONTROL_PROGRAM:
param = getThing().getProperties().get(PARAMETER_PROGRAM); param = getThing().getProperties().get(PARAMETER_PROGRAM);
ThingTypeUID thingTypeUID = getThing().getThingTypeUID(); ThingTypeUID thingTypeUID = getThing().getThingTypeUID();
@ -137,31 +140,30 @@ public class GuntamaticHandler extends BaseThingHandler {
} else { } else {
map = MAP_COMMAND_PARAM_PROG_WOMANU; map = MAP_COMMAND_PARAM_PROG_WOMANU;
} }
break; break;
case CHANNEL_CONTROLHEATCIRCPROGRAM0: case CHANNEL_CONTROL_HEATCIRCPROGRAM0:
case CHANNEL_CONTROLHEATCIRCPROGRAM1: case CHANNEL_CONTROL_HEATCIRCPROGRAM1:
case CHANNEL_CONTROLHEATCIRCPROGRAM2: case CHANNEL_CONTROL_HEATCIRCPROGRAM2:
case CHANNEL_CONTROLHEATCIRCPROGRAM3: case CHANNEL_CONTROL_HEATCIRCPROGRAM3:
case CHANNEL_CONTROLHEATCIRCPROGRAM4: case CHANNEL_CONTROL_HEATCIRCPROGRAM4:
case CHANNEL_CONTROLHEATCIRCPROGRAM5: case CHANNEL_CONTROL_HEATCIRCPROGRAM5:
case CHANNEL_CONTROLHEATCIRCPROGRAM6: case CHANNEL_CONTROL_HEATCIRCPROGRAM6:
case CHANNEL_CONTROLHEATCIRCPROGRAM7: case CHANNEL_CONTROL_HEATCIRCPROGRAM7:
case CHANNEL_CONTROLHEATCIRCPROGRAM8: case CHANNEL_CONTROL_HEATCIRCPROGRAM8:
param = getThing().getProperties().get(PARAMETER_HEATCIRCPROGRAM).replace("x", param = getThing().getProperties().get(PARAMETER_HEATCIRCPROGRAM).replace("x",
channelID.substring(channelID.length() - 1)); channelID.substring(channelID.length() - 1));
map = MAP_COMMAND_PARAM_HC; map = MAP_COMMAND_PARAM_HC;
break; break;
case CHANNEL_CONTROLWWHEAT0: case CHANNEL_CONTROL_WWHEAT0:
case CHANNEL_CONTROLWWHEAT1: case CHANNEL_CONTROL_WWHEAT1:
case CHANNEL_CONTROLWWHEAT2: case CHANNEL_CONTROL_WWHEAT2:
param = getThing().getProperties().get(PARAMETER_WWHEAT).replace("x", param = getThing().getProperties().get(PARAMETER_WWHEAT).replace("x",
channelID.substring(channelID.length() - 1)); channelID.substring(channelID.length() - 1));
map = MAP_COMMAND_PARAM_WW; map = MAP_COMMAND_PARAM_WW;
break; break;
case CHANNEL_CONTROLEXTRAWWHEAT0: case CHANNEL_CONTROL_EXTRAWWHEAT0:
case CHANNEL_CONTROLEXTRAWWHEAT1: case CHANNEL_CONTROL_EXTRAWWHEAT1:
case CHANNEL_CONTROLEXTRAWWHEAT2: case CHANNEL_CONTROL_EXTRAWWHEAT2:
param = getThing().getProperties().get(PARAMETER_EXTRAWWHEAT).replace("x", param = getThing().getProperties().get(PARAMETER_EXTRAWWHEAT).replace("x",
channelID.substring(channelID.length() - 1)); channelID.substring(channelID.length() - 1));
map = MAP_COMMAND_PARAM_WW; map = MAP_COMMAND_PARAM_WW;
@ -197,8 +199,9 @@ public class GuntamaticHandler extends BaseThingHandler {
String channel = channels.get(i); String channel = channels.get(i);
Unit<?> unit = units.get(i); Unit<?> unit = units.get(i);
if ((channel != null) && (i < daqdata.length)) { if ((channel != null) && (i < daqdata.length)) {
String channelId = GROUP_STATUS + String.format("%03d", i) + "-" + channel;
String value = daqdata[i]; String value = daqdata[i];
Channel chn = thing.getChannel(channel); Channel chn = thing.getChannel(channelId);
if ((chn != null) && (value != null)) { if ((chn != null) && (value != null)) {
value = value.trim(); value = value.trim();
String typeName = chn.getAcceptedItemType(); String typeName = chn.getAcceptedItemType();
@ -234,7 +237,7 @@ public class GuntamaticHandler extends BaseThingHandler {
} }
} }
if (newState != null) { if (newState != null) {
updateState(channel, newState); updateState(channelId, newState);
} else { } else {
logger.warn("Data for unknown typeName '{}' or unknown unit received", typeName); logger.warn("Data for unknown typeName '{}' or unknown unit received", typeName);
} }
@ -268,6 +271,9 @@ public class GuntamaticHandler extends BaseThingHandler {
private void parseAndInit(String html) { private void parseAndInit(String html) {
String[] daqdesc = html.split("\\n"); String[] daqdesc = html.split("\\n");
List<Channel> channelList = new ArrayList<>(); List<Channel> channelList = new ArrayList<>();
for (Channel chn : thing.getChannels()) {
logger.debug("Static Channel '{}' present", chn.getUID());
}
// make sure that static channels are present // make sure that static channels are present
for (String channelID : staticChannelIDs) { for (String channelID : staticChannelIDs) {
@ -285,14 +291,12 @@ public class GuntamaticHandler extends BaseThingHandler {
String label = param[0].replace("C02", "CO2"); String label = param[0].replace("C02", "CO2");
if (!"reserved".equals(label)) { if (!"reserved".equals(label)) {
String channel = toLowerCamelCase(replaceUmlaut(label)); String channel = toLowerCaseHyphen(replaceUmlaut(label));
label = label.substring(0, 1).toUpperCase() + label.substring(1); label = label.substring(0, 1).toUpperCase() + label.substring(1);
String unitStr = ((param.length == 1) || param[1].isBlank()) ? "" : param[1].trim(); String unitStr = ((param.length == 1) || param[1].isBlank()) ? "" : param[1].trim();
Unit<?> unit = guessUnit(unitStr); Unit<?> unit = guessUnit(unitStr);
boolean channelInitialized = channels.containsValue(channel);
if (!channelInitialized) {
String itemType; String itemType;
String pattern; String pattern;
String type = types.get(i); String type = types.get(i);
@ -331,10 +335,22 @@ public class GuntamaticHandler extends BaseThingHandler {
} }
} }
ChannelTypeUID channelTypeUID = new ChannelTypeUID(BINDING_ID, channel); String channelId = String.format("%03d", i) + "-" + channel;
guntamaticChannelTypeProvider.addChannelType(channelTypeUID, channel, itemType, ChannelTypeUID channelTypeUID = new ChannelTypeUID(BINDING_ID, channelId);
"Guntamatic " + label, false, pattern); StateDescriptionFragmentBuilder stateDescriptionFragmentBuilder = StateDescriptionFragmentBuilder
Channel newChannel = ChannelBuilder.create(new ChannelUID(thing.getUID(), channel), itemType) .create().withReadOnly(true);
if (!pattern.isEmpty()) {
stateDescriptionFragmentBuilder.withPattern(pattern);
}
ChannelType channelType = ChannelTypeBuilder.state(channelTypeUID, label, itemType)
.withDescription("Guntamatic " + label)
.withStateDescriptionFragment(stateDescriptionFragmentBuilder.build()).build();
typeProvider.putChannelType(channelType);
Channel newChannel = ChannelBuilder
.create(new ChannelUID(thing.getUID(), GROUP_STATUS + channelId), itemType)
.withType(channelTypeUID).withKind(ChannelKind.STATE).withLabel(label).build(); .withType(channelTypeUID).withKind(ChannelKind.STATE).withLabel(label).build();
channelList.add(newChannel); channelList.add(newChannel);
channels.put(i, channel); channels.put(i, channel);
@ -344,8 +360,7 @@ public class GuntamaticHandler extends BaseThingHandler {
logger.debug( logger.debug(
"Supported Channel: Idx: '{}', Name: '{}'/'{}', Type: '{}'/'{}', Unit: '{}', Pattern '{}' ", "Supported Channel: Idx: '{}', Name: '{}'/'{}', Type: '{}'/'{}', Unit: '{}', Pattern '{}' ",
String.format("%03d", i), label, channel, type, itemType, unitStr, pattern); String.format("%03d", i), label, GROUP_STATUS + channelId, type, itemType, unitStr, pattern);
}
} }
} }
ThingBuilder thingBuilder = editThing(); ThingBuilder thingBuilder = editThing();
@ -385,28 +400,14 @@ public class GuntamaticHandler extends BaseThingHandler {
return output; return output;
} }
private String toLowerCamelCase(String input) { private String toLowerCaseHyphen(String input) {
char delimiter = ' '; return input.replaceAll("[^a-zA-Z0-9\\s]", "").trim().replaceAll("([a-z])([A-Z0-9])", "$1-$2")
String output = input.replace("´", "").replaceAll("[^\\w]", String.valueOf(delimiter)); .replaceAll("\\s+", "-").toLowerCase();
StringBuilder builder = new StringBuilder();
boolean nextCharLow = true;
for (int i = 0; i < output.length(); i++) {
char currentChar = output.charAt(i);
if (delimiter == currentChar) {
nextCharLow = false;
} else if (nextCharLow) {
builder.append(Character.toLowerCase(currentChar));
} else {
builder.append(Character.toUpperCase(currentChar));
nextCharLow = true;
}
}
return builder.toString();
} }
private @Nullable String sendGetRequest(String url, String... params) { private @Nullable String sendGetRequest(String url, String... params) {
logger.debug("sendGetRequest '{}'", url);
String errorReason = ""; String errorReason = "";
String req = "http://" + config.hostname + url; String req = "http://" + config.hostname + url;
@ -436,13 +437,13 @@ public class GuntamaticHandler extends BaseThingHandler {
String response = new String(contentResponse.getContent(), Charset.forName(config.encoding)); String response = new String(contentResponse.getContent(), Charset.forName(config.encoding));
if (url.equals(DAQEXTDESC_URL)) { if (url.equals(DAQEXTDESC_URL)) {
parseAndJsonInit(response); parseAndJsonInit(response);
} else if (url.equals(DAQDATA_URL)) {
parseAndUpdate(response);
} else if (url.equals(DAQDESC_URL)) { } else if (url.equals(DAQDESC_URL)) {
parseAndInit(response); parseAndInit(response);
} else if (url.equals(DAQDATA_URL)) {
parseAndUpdate(response);
} else { } else {
logger.debug(req); logger.debug("parset request: {}", req);
// PARSET_URL via return // PARSET_URL request is handled via return value only
} }
return response; return response;
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
@ -471,7 +472,10 @@ public class GuntamaticHandler extends BaseThingHandler {
sendGetRequest(DAQEXTDESC_URL); sendGetRequest(DAQEXTDESC_URL);
} }
sendGetRequest(DAQDESC_URL); sendGetRequest(DAQDESC_URL);
} else { }
// above intialization usually changes channelsInitialized to TRUE
if (channelsInitialized) {
sendGetRequest(DAQDATA_URL); sendGetRequest(DAQDATA_URL);
} }
} }
@ -497,4 +501,10 @@ public class GuntamaticHandler extends BaseThingHandler {
} }
channelsInitialized = false; channelsInitialized = false;
} }
@Override
public void handleRemoval() {
typeProvider.removeChannelTypesForThing(getThing().getUID());
super.handleRemoval();
}
} }

View File

@ -45,13 +45,13 @@ public class GuntamaticHandlerFactory extends BaseThingHandlerFactory {
THING_TYPE_GENERIC); THING_TYPE_GENERIC);
private final HttpClient httpClient; private final HttpClient httpClient;
private GuntamaticChannelTypeProvider guntamaticChannelTypeProvider; private GuntamaticDynamicTypeProvider dynamicTypeProvider;
@Activate @Activate
public GuntamaticHandlerFactory(@Reference HttpClientFactory httpClientFactory, public GuntamaticHandlerFactory(@Reference HttpClientFactory httpClientFactory,
@Reference GuntamaticChannelTypeProvider guntamaticChannelTypeProvider) { @Reference GuntamaticDynamicTypeProvider dynamicTypeProvider) {
this.httpClient = httpClientFactory.getCommonHttpClient(); this.httpClient = httpClientFactory.getCommonHttpClient();
this.guntamaticChannelTypeProvider = guntamaticChannelTypeProvider; this.dynamicTypeProvider = dynamicTypeProvider;
} }
@Override @Override
@ -73,7 +73,7 @@ public class GuntamaticHandlerFactory extends BaseThingHandlerFactory {
} }
if (supportsThingType(thingTypeUID)) { if (supportsThingType(thingTypeUID)) {
return new GuntamaticHandler(thing, httpClient, guntamaticChannelTypeProvider, staticChannelIDs); return new GuntamaticHandler(thing, httpClient, dynamicTypeProvider, staticChannelIDs);
} }
return null; return null;

View File

@ -7,154 +7,20 @@ addon.guntamatic.description = Binding for Guntamatic Heating Systems.
thing-type.guntamatic.biocom.label = Guntamatic Biocom thing-type.guntamatic.biocom.label = Guntamatic Biocom
thing-type.guntamatic.biocom.description = Guntamatic Biocom Pellets Heating System. Untested! Please provide Feedback! thing-type.guntamatic.biocom.description = Guntamatic Biocom Pellets Heating System. Untested! Please provide Feedback!
thing-type.guntamatic.biocom.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.biocom.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.biocom.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.biocom.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.biocom.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.biocom.channel.controlProgram.label = Set Program
thing-type.guntamatic.biocom.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.biocom.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.biocom.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.biosmart.label = Guntamatic Biosmart thing-type.guntamatic.biosmart.label = Guntamatic Biosmart
thing-type.guntamatic.biosmart.description = Guntamatic Biosmart Log Heating System thing-type.guntamatic.biosmart.description = Guntamatic Biosmart Log Heating System
thing-type.guntamatic.biosmart.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.biosmart.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.biosmart.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.biosmart.channel.controlProgram.label = Set Program
thing-type.guntamatic.biosmart.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.biosmart.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.biosmart.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.biostar.label = Guntamatic Biostar thing-type.guntamatic.biostar.label = Guntamatic Biostar
thing-type.guntamatic.biostar.description = Guntamatic Biostar Pellets Heating System thing-type.guntamatic.biostar.description = Guntamatic Biostar Pellets Heating System
thing-type.guntamatic.biostar.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.biostar.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.biostar.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.biostar.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.biostar.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.biostar.channel.controlProgram.label = Set Program
thing-type.guntamatic.biostar.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.biostar.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.biostar.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.generic.label = Guntamatic Generic thing-type.guntamatic.generic.label = Guntamatic Generic
thing-type.guntamatic.generic.description = Generic Guntamatic Heating System. Use this type, if your Heating System is none of the others. Please provide Feedback! thing-type.guntamatic.generic.description = Generic Guntamatic Heating System. Use this type, if your Heating System is none of the others. Please provide Feedback!
thing-type.guntamatic.generic.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.generic.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.generic.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.generic.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.generic.channel.controlProgram.label = Set Program
thing-type.guntamatic.generic.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.generic.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.generic.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.powerchip.label = Guntamatic Powerchip thing-type.guntamatic.powerchip.label = Guntamatic Powerchip
thing-type.guntamatic.powerchip.description = Guntamatic Powerchip WoodChip Heating System thing-type.guntamatic.powerchip.description = Guntamatic Powerchip WoodChip Heating System
thing-type.guntamatic.powerchip.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.powerchip.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.powerchip.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.powerchip.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.powerchip.channel.controlProgram.label = Set Program
thing-type.guntamatic.powerchip.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.powerchip.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.powerchip.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.powercorn.label = Guntamatic Powercorn thing-type.guntamatic.powercorn.label = Guntamatic Powercorn
thing-type.guntamatic.powercorn.description = Guntamatic Powercorn EnergyGrain Heating System. Untested! Please provide Feedback! thing-type.guntamatic.powercorn.description = Guntamatic Powercorn EnergyGrain Heating System. Untested! Please provide Feedback!
thing-type.guntamatic.powercorn.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.powercorn.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.powercorn.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.powercorn.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.powercorn.channel.controlProgram.label = Set Program
thing-type.guntamatic.powercorn.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.powercorn.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.powercorn.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.pro.label = Guntamatic Pro thing-type.guntamatic.pro.label = Guntamatic Pro
thing-type.guntamatic.pro.description = Guntamatic Pro Pellets or WoodChip Heating System. Untested! Please provide Feedback! thing-type.guntamatic.pro.description = Guntamatic Pro Pellets or WoodChip Heating System. Untested! Please provide Feedback!
thing-type.guntamatic.pro.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.pro.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.pro.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.pro.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.pro.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.pro.channel.controlProgram.label = Set Program
thing-type.guntamatic.pro.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.pro.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.pro.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.therm.label = Guntamatic Therm thing-type.guntamatic.therm.label = Guntamatic Therm
thing-type.guntamatic.therm.description = Guntamatic Therm Pellets Heating System. Untested! Please provide Feedback! thing-type.guntamatic.therm.description = Guntamatic Therm Pellets Heating System. Untested! Please provide Feedback!
thing-type.guntamatic.therm.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.therm.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.therm.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.therm.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.therm.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.therm.channel.controlProgram.label = Set Program
thing-type.guntamatic.therm.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.therm.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.therm.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
# thing types config # thing types config
@ -167,6 +33,45 @@ thing-type.config.guntamatic.heatingsystem.key.description = Optional, but requi
thing-type.config.guntamatic.heatingsystem.refreshInterval.label = Refresh Interval thing-type.config.guntamatic.heatingsystem.refreshInterval.label = Refresh Interval
thing-type.config.guntamatic.heatingsystem.refreshInterval.description = Interval the Guntamatic Heating System is polled in seconds. Default: 60s thing-type.config.guntamatic.heatingsystem.refreshInterval.description = Interval the Guntamatic Heating System is polled in seconds. Default: 60s
# channel group types
channel-group-type.guntamatic.controlGroupType.label = Control
channel-group-type.guntamatic.controlGroupType.channel.boilerApproval.label = Set Boiler Approval
channel-group-type.guntamatic.controlGroupType.channel.extraWwHeat0.label = Trigger Extra Warm Water Circle 0
channel-group-type.guntamatic.controlGroupType.channel.extraWwHeat1.label = Trigger Extra Warm Water Circle 1
channel-group-type.guntamatic.controlGroupType.channel.extraWwHeat2.label = Trigger Extra Warm Water Circle 2
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram0.label = Set Heat Circle 0 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram1.label = Set Heat Circle 1 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram2.label = Set Heat Circle 2 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram3.label = Set Heat Circle 3 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram4.label = Set Heat Circle 4 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram5.label = Set Heat Circle 5 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram6.label = Set Heat Circle 6 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram7.label = Set Heat Circle 7 Program
channel-group-type.guntamatic.controlGroupType.channel.heatCircProgram8.label = Set Heat Circle 8 Program
channel-group-type.guntamatic.controlGroupType.channel.program.label = Set Program
channel-group-type.guntamatic.controlGroupType.channel.wwHeat0.label = Trigger Warm Water Circle 0
channel-group-type.guntamatic.controlGroupType.channel.wwHeat1.label = Trigger Warm Water Circle 1
channel-group-type.guntamatic.controlGroupType.channel.wwHeat2.label = Trigger Warm Water Circle 2
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.label = Control
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.extraWwHeat0.label = Trigger Extra Warm Water Circle 0
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.extraWwHeat1.label = Trigger Extra Warm Water Circle 1
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.extraWwHeat2.label = Trigger Extra Warm Water Circle 2
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram0.label = Set Heat Circle 0 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram1.label = Set Heat Circle 1 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram2.label = Set Heat Circle 2 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram3.label = Set Heat Circle 3 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram4.label = Set Heat Circle 4 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram5.label = Set Heat Circle 5 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram6.label = Set Heat Circle 6 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram7.label = Set Heat Circle 7 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.heatCircProgram8.label = Set Heat Circle 8 Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.program.label = Set Program
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.wwHeat0.label = Trigger Warm Water Circle 0
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.wwHeat1.label = Trigger Warm Water Circle 1
channel-group-type.guntamatic.controlGroupTypeWOBoilerApp.channel.wwHeat2.label = Trigger Warm Water Circle 2
channel-group-type.guntamatic.statusGroupType.label = Status
# channel types # channel types
channel-type.guntamatic.controlBoilerApproval.label = Set Boiler Approval channel-type.guntamatic.controlBoilerApproval.label = Set Boiler Approval
@ -197,3 +102,140 @@ channel-type.guntamatic.controlProgramWOManu.state.option.2 = WARMWATER
channel-type.guntamatic.controlWwHeat.label = Trigger Warm Water Circle channel-type.guntamatic.controlWwHeat.label = Trigger Warm Water Circle
channel-type.guntamatic.controlWwHeat.description = Trigger Warm Water Circle of the Guntamatic Heating System (RECHARGE) channel-type.guntamatic.controlWwHeat.description = Trigger Warm Water Circle of the Guntamatic Heating System (RECHARGE)
channel-type.guntamatic.controlWwHeat.state.option.0 = RECHARGE channel-type.guntamatic.controlWwHeat.state.option.0 = RECHARGE
# thing types
thing-type.guntamatic.biocom.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.biocom.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.biocom.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.biocom.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.biocom.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.biocom.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.biocom.channel.controlProgram.label = Set Program
thing-type.guntamatic.biocom.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.biocom.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.biocom.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.biosmart.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.biosmart.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.biosmart.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.biosmart.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.biosmart.channel.controlProgram.label = Set Program
thing-type.guntamatic.biosmart.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.biosmart.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.biosmart.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.biostar.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.biostar.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.biostar.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.biostar.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.biostar.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.biostar.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.biostar.channel.controlProgram.label = Set Program
thing-type.guntamatic.biostar.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.biostar.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.biostar.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.generic.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.generic.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.generic.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.generic.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.generic.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.generic.channel.controlProgram.label = Set Program
thing-type.guntamatic.generic.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.generic.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.generic.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.powerchip.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.powerchip.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.powerchip.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.powerchip.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.powerchip.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.powerchip.channel.controlProgram.label = Set Program
thing-type.guntamatic.powerchip.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.powerchip.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.powerchip.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.powercorn.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.powercorn.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.powercorn.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.powercorn.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.powercorn.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.powercorn.channel.controlProgram.label = Set Program
thing-type.guntamatic.powercorn.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.powercorn.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.powercorn.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.pro.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.pro.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.pro.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.pro.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.pro.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.pro.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.pro.channel.controlProgram.label = Set Program
thing-type.guntamatic.pro.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.pro.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.pro.channel.controlWwHeat2.label = Trigger Warm Water Circle 2
thing-type.guntamatic.therm.channel.controlBoilerApproval.label = Set Boiler Approval
thing-type.guntamatic.therm.channel.controlExtraWwHeat0.label = Trigger Extra Warm Water Circle 0
thing-type.guntamatic.therm.channel.controlExtraWwHeat1.label = Trigger Extra Warm Water Circle 1
thing-type.guntamatic.therm.channel.controlExtraWwHeat2.label = Trigger Extra Warm Water Circle 2
thing-type.guntamatic.therm.channel.controlHeatCircProgram0.label = Set Heat Circle 0 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram1.label = Set Heat Circle 1 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram2.label = Set Heat Circle 2 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram3.label = Set Heat Circle 3 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram4.label = Set Heat Circle 4 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram5.label = Set Heat Circle 5 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram6.label = Set Heat Circle 6 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram7.label = Set Heat Circle 7 Program
thing-type.guntamatic.therm.channel.controlHeatCircProgram8.label = Set Heat Circle 8 Program
thing-type.guntamatic.therm.channel.controlProgram.label = Set Program
thing-type.guntamatic.therm.channel.controlWwHeat0.label = Trigger Warm Water Circle 0
thing-type.guntamatic.therm.channel.controlWwHeat1.label = Trigger Warm Water Circle 1
thing-type.guntamatic.therm.channel.controlWwHeat2.label = Trigger Warm Water Circle 2

View File

@ -5,536 +5,280 @@
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="biostar"> <thing-type id="biostar">
<label>Guntamatic Biostar</label> <label>Guntamatic Biostar</label>
<description>Guntamatic Biostar Pellets Heating System</description> <description>Guntamatic Biostar Pellets Heating System</description>
<channels> <channel-groups>
<channel id="controlBoilerApproval" typeId="controlBoilerApproval"> <channel-group id="control" typeId="control-group-type"/>
<label>Set Boiler Approval</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlProgram" typeId="controlProgram">
<label>Set Program</label>
</channel>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="boilerApproval">K0010</property> <property name="boilerApproval">K0010</property>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="biosmart">
<thing-type id="biosmart">
<label>Guntamatic Biosmart</label> <label>Guntamatic Biosmart</label>
<description>Guntamatic Biosmart Log Heating System</description> <description>Guntamatic Biosmart Log Heating System</description>
<channels> <channel-groups>
<channel id="controlProgram" typeId="controlProgramWOManu"> <channel-group id="control" typeId="control-group-type-wo-boiler-app"/>
<label>Set Program</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="powerchip">
<thing-type id="powerchip">
<label>Guntamatic Powerchip</label> <label>Guntamatic Powerchip</label>
<description>Guntamatic Powerchip WoodChip Heating System</description> <description>Guntamatic Powerchip WoodChip Heating System</description>
<channels> <channel-groups>
<channel id="controlBoilerApproval" typeId="controlBoilerApproval"> <channel-group id="control" typeId="control-group-type"/>
<label>Set Boiler Approval</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlProgram" typeId="controlProgram">
<label>Set Program</label>
</channel>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="boilerApproval">PK002</property> <property name="boilerApproval">PK002</property>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="powercorn">
<thing-type id="powercorn">
<label>Guntamatic Powercorn</label> <label>Guntamatic Powercorn</label>
<description>Guntamatic Powercorn EnergyGrain Heating System. Untested! Please provide Feedback!</description> <description>Guntamatic Powercorn EnergyGrain Heating System. Untested! Please provide Feedback!</description>
<channels> <channel-groups>
<channel id="controlBoilerApproval" typeId="controlBoilerApproval"> <channel-group id="control" typeId="control-group-type"/>
<label>Set Boiler Approval</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlProgram" typeId="controlProgram">
<label>Set Program</label>
</channel>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="boilerApproval">PK002</property> <property name="boilerApproval">PK002</property>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="biocom">
<thing-type id="biocom">
<label>Guntamatic Biocom</label> <label>Guntamatic Biocom</label>
<description>Guntamatic Biocom Pellets Heating System. Untested! Please provide Feedback!</description> <description>Guntamatic Biocom Pellets Heating System. Untested! Please provide Feedback!</description>
<channels> <channel-groups>
<channel id="controlBoilerApproval" typeId="controlBoilerApproval"> <channel-group id="control" typeId="control-group-type"/>
<label>Set Boiler Approval</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlProgram" typeId="controlProgram">
<label>Set Program</label>
</channel>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="boilerApproval">PK002</property> <property name="boilerApproval">PK002</property>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="pro">
<thing-type id="pro">
<label>Guntamatic Pro</label> <label>Guntamatic Pro</label>
<description>Guntamatic Pro Pellets or WoodChip Heating System. Untested! Please provide Feedback!</description> <description>Guntamatic Pro Pellets or WoodChip Heating System. Untested! Please provide Feedback!</description>
<channels> <channel-groups>
<channel id="controlBoilerApproval" typeId="controlBoilerApproval"> <channel-group id="control" typeId="control-group-type"/>
<label>Set Boiler Approval</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlProgram" typeId="controlProgram">
<label>Set Program</label>
</channel>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="boilerApproval">PK002</property> <property name="boilerApproval">PK002</property>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="therm">
<thing-type id="therm">
<label>Guntamatic Therm</label> <label>Guntamatic Therm</label>
<description>Guntamatic Therm Pellets Heating System. Untested! Please provide Feedback!</description> <description>Guntamatic Therm Pellets Heating System. Untested! Please provide Feedback!</description>
<channels> <channel-groups>
<channel id="controlBoilerApproval" typeId="controlBoilerApproval"> <channel-group id="control" typeId="control-group-type"/>
<label>Set Boiler Approval</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlProgram" typeId="controlProgram">
<label>Set Program</label>
</channel>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="boilerApproval">K0010</property> <property name="boilerApproval">K0010</property>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<thing-type id="generic">
<thing-type id="generic">
<label>Guntamatic Generic</label> <label>Guntamatic Generic</label>
<description>Generic Guntamatic Heating System. Use this type, if your Heating System is none of the others. Please <description>Generic Guntamatic Heating System. Use this type, if your Heating System is none of the others. Please
provide Feedback!</description> provide Feedback!</description>
<channels> <channel-groups>
<channel id="controlProgram" typeId="controlProgramWOManu"> <channel-group id="control" typeId="control-group-type-wo-boiler-app"/>
<label>Set Program</label> <channel-group id="status" typeId="status-group-type"/>
</channel> </channel-groups>
<channel id="controlHeatCircProgram0" typeId="controlHeatCircProgram">
<label>Set Heat Circle 0 Program</label>
</channel>
<channel id="controlHeatCircProgram1" typeId="controlHeatCircProgram">
<label>Set Heat Circle 1 Program</label>
</channel>
<channel id="controlHeatCircProgram2" typeId="controlHeatCircProgram">
<label>Set Heat Circle 2 Program</label>
</channel>
<channel id="controlHeatCircProgram3" typeId="controlHeatCircProgram">
<label>Set Heat Circle 3 Program</label>
</channel>
<channel id="controlHeatCircProgram4" typeId="controlHeatCircProgram">
<label>Set Heat Circle 4 Program</label>
</channel>
<channel id="controlHeatCircProgram5" typeId="controlHeatCircProgram">
<label>Set Heat Circle 5 Program</label>
</channel>
<channel id="controlHeatCircProgram6" typeId="controlHeatCircProgram">
<label>Set Heat Circle 6 Program</label>
</channel>
<channel id="controlHeatCircProgram7" typeId="controlHeatCircProgram">
<label>Set Heat Circle 7 Program</label>
</channel>
<channel id="controlHeatCircProgram8" typeId="controlHeatCircProgram">
<label>Set Heat Circle 8 Program</label>
</channel>
<channel id="controlWwHeat0" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 0</label>
</channel>
<channel id="controlWwHeat1" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 1</label>
</channel>
<channel id="controlWwHeat2" typeId="controlWwHeat">
<label>Trigger Warm Water Circle 2</label>
</channel>
<channel id="controlExtraWwHeat0" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 0</label>
</channel>
<channel id="controlExtraWwHeat1" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 1</label>
</channel>
<channel id="controlExtraWwHeat2" typeId="controlExtraWwHeat">
<label>Trigger Extra Warm Water Circle 2</label>
</channel>
</channels>
<properties> <properties>
<property name="program">PR001</property> <property name="program">PR001</property>
<property name="heatCircProgram">HKx01</property> <property name="heatCircProgram">HKx01</property>
<property name="wwHeat">BKx06</property> <property name="wwHeat">BKx06</property>
<property name="extraWwHeat">ZKx06</property> <property name="extraWwHeat">ZKx06</property>
<property name="thingTypeVersion">1</property>
</properties> </properties>
<config-description-ref uri="thing-type:guntamatic:heatingsystem"/> <config-description-ref uri="thing-type:guntamatic:heatingsystem"/>
</thing-type> </thing-type>
<channel-type id="controlProgram" advanced="false"> <channel-group-type id="control-group-type">
<label>Control</label>
<channels>
<channel id="boiler-approval" typeId="control-boiler-approval">
<label>Set Boiler Approval</label>
</channel>
<channel id="program" typeId="control-program">
<label>Set Program</label>
</channel>
<channel id="heat-circ-program-0" typeId="control-heat-circ-program">
<label>Set Heat Circuit 0 Program</label>
</channel>
<channel id="heat-circ-program-1" typeId="control-heat-circ-program">
<label>Set Heat Circuit 1 Program</label>
</channel>
<channel id="heat-circ-program-2" typeId="control-heat-circ-program">
<label>Set Heat Circuit 2 Program</label>
</channel>
<channel id="heat-circ-program-3" typeId="control-heat-circ-program">
<label>Set Heat Circuit 3 Program</label>
</channel>
<channel id="heat-circ-program-4" typeId="control-heat-circ-program">
<label>Set Heat Circuit 4 Program</label>
</channel>
<channel id="heat-circ-program-5" typeId="control-heat-circ-program">
<label>Set Heat Circuit 5 Program</label>
</channel>
<channel id="heat-circ-program-6" typeId="control-heat-circ-program">
<label>Set Heat Circuit 6 Program</label>
</channel>
<channel id="heat-circ-program-7" typeId="control-heat-circ-program">
<label>Set Heat Circuit 7 Program</label>
</channel>
<channel id="heat-circ-program-8" typeId="control-heat-circ-program">
<label>Set Heat Circuit 8 Program</label>
</channel>
<channel id="ww-heat-0" typeId="control-ww-heat">
<label>Trigger Warm Water Circuit 0</label>
</channel>
<channel id="ww-heat-1" typeId="control-ww-heat">
<label>Trigger Warm Water Circuit 1</label>
</channel>
<channel id="ww-heat-2" typeId="control-ww-heat">
<label>Trigger Warm Water Circuit 2</label>
</channel>
<channel id="extra-ww-heat-0" typeId="control-extra-ww-heat">
<label>Trigger Extra Warm Water Circuit 0</label>
</channel>
<channel id="extra-ww-heat-1" typeId="control-extra-ww-heat">
<label>Trigger Extra Warm Water Circuit 1</label>
</channel>
<channel id="extra-ww-heat-2" typeId="control-extra-ww-heat">
<label>Trigger Extra Warm Water Circuit 2</label>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="control-group-type-wo-boiler-app">
<label>Control</label>
<channels>
<channel id="program" typeId="control-program-wo-manu">
<label>Set Program</label>
</channel>
<channel id="heat-circ-program-0" typeId="control-heat-circ-program">
<label>Set Heat Circuit 0 Program</label>
</channel>
<channel id="heat-circ-program-1" typeId="control-heat-circ-program">
<label>Set Heat Circuit 1 Program</label>
</channel>
<channel id="heat-circ-program-2" typeId="control-heat-circ-program">
<label>Set Heat Circuit 2 Program</label>
</channel>
<channel id="heat-circ-program-3" typeId="control-heat-circ-program">
<label>Set Heat Circuit 3 Program</label>
</channel>
<channel id="heat-circ-program-4" typeId="control-heat-circ-program">
<label>Set Heat Circuit 4 Program</label>
</channel>
<channel id="heat-circ-program-5" typeId="control-heat-circ-program">
<label>Set Heat Circuit 5 Program</label>
</channel>
<channel id="heat-circ-program-6" typeId="control-heat-circ-program">
<label>Set Heat Circuit 6 Program</label>
</channel>
<channel id="heat-circ-program-7" typeId="control-heat-circ-program">
<label>Set Heat Circuit 7 Program</label>
</channel>
<channel id="heat-circ-program-8" typeId="control-heat-circ-program">
<label>Set Heat Circuit 8 Program</label>
</channel>
<channel id="ww-heat-0" typeId="control-ww-heat">
<label>Trigger Warm Water Circuit 0</label>
</channel>
<channel id="ww-heat-1" typeId="control-ww-heat">
<label>Trigger Warm Water Circuit 1</label>
</channel>
<channel id="ww-heat-2" typeId="control-ww-heat">
<label>Trigger Warm Water Circuit 2</label>
</channel>
<channel id="extra-ww-heat-0" typeId="control-extra-ww-heat">
<label>Trigger Extra Warm Water Circuit 0</label>
</channel>
<channel id="extra-ww-heat-1" typeId="control-extra-ww-heat">
<label>Trigger Extra Warm Water Circuit 1</label>
</channel>
<channel id="extra-ww-heat-2" typeId="control-extra-ww-heat">
<label>Trigger Extra Warm Water Circuit 2</label>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="status-group-type">
<label>Status</label>
</channel-group-type>
<channel-type id="control-program" advanced="false">
<item-type>String</item-type> <item-type>String</item-type>
<label>Set Program</label> <label>Set Program</label>
<description>Set Program of the Guntamatic Heating System (OFF, NORMAL, WARMWATER, MANUAL)</description> <description>Set Program of the Guntamatic Heating System (OFF, NORMAL, WARMWATER, MANUAL)</description>
@ -547,7 +291,7 @@
</options> </options>
</state> </state>
</channel-type> </channel-type>
<channel-type id="controlProgramWOManu" advanced="false"> <channel-type id="control-program-wo-manu" advanced="false">
<item-type>String</item-type> <item-type>String</item-type>
<label>Set Program</label> <label>Set Program</label>
<description>Set Program of the Guntamatic Heating System (OFF, NORMAL, WARMWATER)</description> <description>Set Program of the Guntamatic Heating System (OFF, NORMAL, WARMWATER)</description>
@ -559,7 +303,7 @@
</options> </options>
</state> </state>
</channel-type> </channel-type>
<channel-type id="controlBoilerApproval" advanced="true"> <channel-type id="control-boiler-approval" advanced="true">
<item-type>String</item-type> <item-type>String</item-type>
<label>Set Boiler Approval</label> <label>Set Boiler Approval</label>
<description>Set Boiler Approval of the Guntamatic Heating System (AUTO, OFF, ON)</description> <description>Set Boiler Approval of the Guntamatic Heating System (AUTO, OFF, ON)</description>
@ -571,10 +315,10 @@
</options> </options>
</state> </state>
</channel-type> </channel-type>
<channel-type id="controlHeatCircProgram" advanced="true"> <channel-type id="control-heat-circ-program" advanced="true">
<item-type>String</item-type> <item-type>String</item-type>
<label>Set Heat Circle Program</label> <label>Set Heat Circuit Program</label>
<description>Set Heat Circle of the Guntamatic Heating System (OFF, NORMAL, HEAT, LOWER)</description> <description>Set Heat Circuit of the Guntamatic Heating System (OFF, NORMAL, HEAT, LOWER)</description>
<state> <state>
<options> <options>
<option value="0">OFF</option> <option value="0">OFF</option>
@ -584,20 +328,20 @@
</options> </options>
</state> </state>
</channel-type> </channel-type>
<channel-type id="controlWwHeat" advanced="true"> <channel-type id="control-ww-heat" advanced="true">
<item-type>String</item-type> <item-type>String</item-type>
<label>Trigger Warm Water Circle</label> <label>Trigger Warm Water Circuit</label>
<description>Trigger Warm Water Circle of the Guntamatic Heating System (RECHARGE)</description> <description>Trigger Warm Water Circuit of the Guntamatic Heating System (RECHARGE)</description>
<state> <state>
<options> <options>
<option value="0">RECHARGE</option> <option value="0">RECHARGE</option>
</options> </options>
</state> </state>
</channel-type> </channel-type>
<channel-type id="controlExtraWwHeat" advanced="true"> <channel-type id="control-extra-ww-heat" advanced="true">
<item-type>String</item-type> <item-type>String</item-type>
<label>Trigger Extra Warm Water Circle</label> <label>Trigger Extra Warm Water Circuit</label>
<description>Trigger Extra Warm Water Circle of the Guntamatic Heating System (RECHARGE)</description> <description>Trigger Extra Warm Water Circuit of the Guntamatic Heating System (RECHARGE)</description>
<state> <state>
<options> <options>
<option value="0">RECHARGE</option> <option value="0">RECHARGE</option>

View File

@ -0,0 +1,589 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<update:update-descriptions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:update="https://openhab.org/schemas/update-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/update-description/v1.0.0 https://openhab.org/schemas/update-description-1.0.0.xsd">
<thing-type uid="guntamatic:biostar">
<instruction-set targetVersion="1">
<remove-channel id="controlBoilerApproval"/>
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="boiler-approval" groupIds="control">
<type>guntamatic:control-boiler-approval</type>
</add-channel>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:biosmart">
<instruction-set targetVersion="1">
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program-wo-manu</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:powerchip">
<instruction-set targetVersion="1">
<remove-channel id="controlBoilerApproval"/>
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="boiler-approval" groupIds="control">
<type>guntamatic:control-boiler-approval</type>
</add-channel>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:powercorn">
<instruction-set targetVersion="1">
<remove-channel id="controlBoilerApproval"/>
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="boiler-approval" groupIds="control">
<type>guntamatic:control-boiler-approval</type>
</add-channel>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:biocom">
<instruction-set targetVersion="1">
<remove-channel id="controlBoilerApproval"/>
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="boiler-approval" groupIds="control">
<type>guntamatic:control-boiler-approval</type>
</add-channel>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:pro">
<instruction-set targetVersion="1">
<remove-channel id="controlBoilerApproval"/>
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="boiler-approval" groupIds="control">
<type>guntamatic:control-boiler-approval</type>
</add-channel>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:therm">
<instruction-set targetVersion="1">
<remove-channel id="controlBoilerApproval"/>
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="boiler-approval" groupIds="control">
<type>guntamatic:control-boiler-approval</type>
</add-channel>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
<thing-type uid="guntamatic:generic">
<instruction-set targetVersion="1">
<remove-channel id="controlProgram"/>
<remove-channel id="controlHeatCircProgram0"/>
<remove-channel id="controlHeatCircProgram1"/>
<remove-channel id="controlHeatCircProgram2"/>
<remove-channel id="controlHeatCircProgram3"/>
<remove-channel id="controlHeatCircProgram4"/>
<remove-channel id="controlHeatCircProgram5"/>
<remove-channel id="controlHeatCircProgram6"/>
<remove-channel id="controlHeatCircProgram7"/>
<remove-channel id="controlHeatCircProgram8"/>
<remove-channel id="controlWwHeat0"/>
<remove-channel id="controlWwHeat1"/>
<remove-channel id="controlWwHeat2"/>
<remove-channel id="controlExtraWwHeat0"/>
<remove-channel id="controlExtraWwHeat1"/>
<remove-channel id="controlExtraWwHeat2"/>
<add-channel id="program" groupIds="control">
<type>guntamatic:control-program-wo-manu</type>
</add-channel>
<add-channel id="heat-circ-program-0" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-1" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-2" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-3" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-4" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-5" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-6" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-7" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="heat-circ-program-8" groupIds="control">
<type>guntamatic:control-heat-circ-program</type>
</add-channel>
<add-channel id="ww-heat-0" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-1" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="ww-heat-2" groupIds="control">
<type>guntamatic:control-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-0" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-1" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
<add-channel id="extra-ww-heat-2" groupIds="control">
<type>guntamatic:control-extra-ww-heat</type>
</add-channel>
</instruction-set>
</thing-type>
</update:update-descriptions>