diff --git a/bundles/org.openhab.binding.guntamatic/README.md b/bundles/org.openhab.binding.guntamatic/README.md index 3fb9a056d..196fd11d2 100644 --- a/bundles/org.openhab.binding.guntamatic/README.md +++ b/bundles/org.openhab.binding.guntamatic/README.md @@ -5,39 +5,41 @@ The Guntamatic Binding can be used to monitor and control [Guntamatic Heating Sy ## Supported Things The Guntamatic Binding was developed and tested using Guntamatic Biostar 15kW Pellets Heating System, running Firmware 3.2d. -It should work for all other Guntamatic Heating Systems as well, that support the same web interface. +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 Guntamatic Heating Systems supported as Thing Types: -| Name | Thing Type ID | Status | -|---------------|---------------|-----------------------------------| -| Biostar | `biostar` | tested via 15kW, firmware 3.2d | -| Powerchip | `powerchip` | untested | -| Powercorn | `powercorn` | untested | -| Biocom | `biocom` | untested | -| Pro | `pro` | untested | -| Therm | `therm` | untested | +| Name | Thing Type ID | Heating System Type | Binding Development Status | +|---------------|---------------|----------------------|--------------------------------------------------| +| Biostar | `biostar` | Pellets | tested via 15kW, firmware 3.2d, German & English | +| Biosmart | `biosmart` | Logs | tested via 22kW, firmware 3.2f, German | +| Powerchip | `powerchip` | WoodChips | tested via 100kW, firmware 3.2d, French | +| Powercorn | `powercorn` | EnergyGrain | untested | +| Biocom | `biocom` | Pellets | untested | +| Pro | `pro` | Pellets or WoodChips | untested | +| Therm | `therm` | Pellets | untested | +| Generic | `generic` | - | use, if none from above | ### Thing Configuration -| Parameter | Description | Default | -|------------------|-----------------------------------------------------------------------------|-----------------| -| `hostname` | Hostname or IP address of the Guntamatic Heating System | | -| `key` | Optional, but required to read protected parameters and to control the Guntamatic Heating System.
The key needs to be requested from Guntamatic support, e.g. via https://www.guntamatic.com/en/contact/. | | -| `refreshInterval` | Interval the Guntamatic Heating System is polled in seconds | `60` | -| `encoding` | Code page used by the Guntamatic Heating System | `windows-1252` | +| Parameter | Description | Default | +|--------------------|-----------------------------------------------------------------------------|-----------------| +| `hostname` | Hostname or IP address of the Guntamatic Heating System | | +| `key` | Optional, but required to read protected parameters and to control the Guntamatic Heating System.
The key needs to be requested from Guntamatic support, e.g. via https://www.guntamatic.com/en/contact/. | | +| `refreshInterval` | Interval the Guntamatic Heating System is polled in seconds | `60` | +| `encoding` | Code page used by the Guntamatic Heating System | `windows-1252` | ### Properties -| Property | Description | -|---------------------|---------------------------------------------------------------| -| `extraWwHeat` | Parameter used by `controlExtraWwHeat` channels | -| `boilerApproval` | Parameter used by `controlBoilerApproval` channel | -| `heatCircProgram` | Parameter used by `controlHeatCircProgram` channels | -| `program` | Parameter used by `controlProgram` channel | -| `wwHeat` | Parameter used by `controlWwHeat` channels | +| Property | Description | Supported | +|---------------------|---------------------------------------------------------------|---------------------------------------------------| +| `extraWwHeat` | Parameter used by `controlExtraWwHeat` channels | all | +| `boilerApproval` | Parameter used by `controlBoilerApproval` channel | Biostar, Powerchip, Powercorn, Biocom, Pro, Therm | +| `heatCircProgram` | Parameter used by `controlHeatCircProgram` channels | all | +| `program` | Parameter used by `controlProgram` channel | all | +| `wwHeat` | Parameter used by `controlWwHeat` channels | all | ## Channels @@ -45,10 +47,10 @@ Guntamatic Heating Systems supported as Thing Types: The Guntamatic Heating System can be controlled using the following channels: -| Channel | Description | Type | Unit | Security Access Level | ReadOnly | Advanced | -|-----------------------|-----------------------------------------------------------|-------|:---------:|:-------------------------:|:--------:|:--------:| -| `controlBoilerApproval` | Set Boiler Approval (`AUTO`, `OFF`, `ON`) | `String` | | 🔐 W1 | R/W | true | -| `controlProgram` | Set Program (`OFF`, `NORMAL`, `WARMWATER`, `MANUAL`) | `String` | | 🔐 W1 | R/W | false | +| Channel | Description | Type | Unit | Security Access Level | ReadOnly | Advanced | +|-----------------------|---------------------------------------------------------------------------|-------|:---------:|:-------------------------:|:--------:|:--------:| +| `controlBoilerApproval` | Set Boiler Approval (`AUTO`, `OFF`, `ON`) | `String` | | 🔐 W1 | R/W | true | +| `controlProgram` | Set Program (`OFF`, `NORMAL`, `WARMWATER`, `MANUAL`[1](#f1)) | `String` | | 🔐 W1 | R/W | false | | `controlHeatCircProgram0` | Set Heat Circle 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 | | `controlHeatCircProgram2` | Set Heat Circle 2 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | @@ -58,18 +60,22 @@ The Guntamatic Heating System can be controlled using the following channels: | `controlHeatCircProgram6` | Set Heat Circle 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 | | `controlHeatCircProgram8` | Set Heat Circle 8 Program (`OFF`, `NORMAL`, `HEAT`, `LOWER`) | `String` | | 🔐 W1 | R/W | true | -| `controlWwHeat0` | Trigger Warm Water Circle 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | -| `controlWwHeat1` | Trigger Warm Water Circle 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | -| `controlWwHeat2` | Trigger Warm Water Circle 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | -| `controlExtraWwHeat0` | Trigger Extra Warm Water Circle 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | -| `controlExtraWwHeat1` | Trigger Extra Warm Water Circle 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | -| `controlExtraWwHeat2` | Trigger Extra Warm Water Circle 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | +| `controlWwHeat0` | Trigger Warm Water Circle 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | +| `controlWwHeat1` | Trigger Warm Water Circle 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | +| `controlWwHeat2` | Trigger Warm Water Circle 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | +| `controlExtraWwHeat0` | Trigger Extra Warm Water Circle 0 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | +| `controlExtraWwHeat1` | Trigger Extra Warm Water Circle 1 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | +| `controlExtraWwHeat2` | Trigger Extra Warm Water Circle 2 (`RECHARGE`) | `String` | | 🔐 W1 | R/W | true | + +- 1) ... `MANUAL` is supported by Biostar, Powerchip, Powercorn, Biocom, Pro as well as Therm only [↩](#a1) #### Response of Control Channels - `{"ack":"confirmation message"}` ... in case of success - `{"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). + ### Monitoring Channels The Binding dynamically generates Channels, derived from the data provided from the actual Guntamatic Heating System. diff --git a/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticBindingConstants.java b/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticBindingConstants.java index 1d52bcff6..917838aa9 100644 --- a/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticBindingConstants.java +++ b/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticBindingConstants.java @@ -31,11 +31,13 @@ public class GuntamaticBindingConstants { // List of all Thing Type UIDs public static final ThingTypeUID THING_TYPE_BIOSTAR = new ThingTypeUID(BINDING_ID, "biostar"); + public static final ThingTypeUID THING_TYPE_BIOSMART = new ThingTypeUID(BINDING_ID, "biosmart"); public static final ThingTypeUID THING_TYPE_POWERCHIP = new ThingTypeUID(BINDING_ID, "powerchip"); public static final ThingTypeUID THING_TYPE_POWERCORN = new ThingTypeUID(BINDING_ID, "powercorn"); public static final ThingTypeUID THING_TYPE_BIOCOM = new ThingTypeUID(BINDING_ID, "biocom"); public static final ThingTypeUID THING_TYPE_PRO = new ThingTypeUID(BINDING_ID, "pro"); public static final ThingTypeUID THING_TYPE_THERM = new ThingTypeUID(BINDING_ID, "therm"); + public static final ThingTypeUID THING_TYPE_GENERIC = new ThingTypeUID(BINDING_ID, "generic"); // List of all Channel ids public static final String CHANNEL_CONTROLBOILERAPPROVAL = "controlBoilerApproval"; @@ -56,7 +58,14 @@ public class GuntamaticBindingConstants { public static final String CHANNEL_CONTROLEXTRAWWHEAT1 = "controlExtraWwHeat1"; public static final String CHANNEL_CONTROLEXTRAWWHEAT2 = "controlExtraWwHeat2"; - public static final List CHANNELIDS = Arrays.asList(CHANNEL_CONTROLBOILERAPPROVAL, CHANNEL_CONTROLPROGRAM, + public static final List STATIC_CHANNEL_IDS = Arrays.asList(CHANNEL_CONTROLBOILERAPPROVAL, + CHANNEL_CONTROLPROGRAM, CHANNEL_CONTROLHEATCIRCPROGRAM0, CHANNEL_CONTROLHEATCIRCPROGRAM1, + CHANNEL_CONTROLHEATCIRCPROGRAM2, CHANNEL_CONTROLHEATCIRCPROGRAM3, CHANNEL_CONTROLHEATCIRCPROGRAM4, + CHANNEL_CONTROLHEATCIRCPROGRAM5, CHANNEL_CONTROLHEATCIRCPROGRAM6, CHANNEL_CONTROLHEATCIRCPROGRAM7, + CHANNEL_CONTROLHEATCIRCPROGRAM8, CHANNEL_CONTROLWWHEAT0, CHANNEL_CONTROLWWHEAT1, CHANNEL_CONTROLWWHEAT2, + CHANNEL_CONTROLEXTRAWWHEAT0, CHANNEL_CONTROLEXTRAWWHEAT1, CHANNEL_CONTROLEXTRAWWHEAT2); + + public static final List STATIC_CHANNEL_IDS_WOBOILERAPP = Arrays.asList(CHANNEL_CONTROLPROGRAM, CHANNEL_CONTROLHEATCIRCPROGRAM0, CHANNEL_CONTROLHEATCIRCPROGRAM1, CHANNEL_CONTROLHEATCIRCPROGRAM2, CHANNEL_CONTROLHEATCIRCPROGRAM3, CHANNEL_CONTROLHEATCIRCPROGRAM4, CHANNEL_CONTROLHEATCIRCPROGRAM5, CHANNEL_CONTROLHEATCIRCPROGRAM6, CHANNEL_CONTROLHEATCIRCPROGRAM7, CHANNEL_CONTROLHEATCIRCPROGRAM8, diff --git a/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandler.java b/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandler.java index 442c8521a..abca7d469 100644 --- a/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandler.java +++ b/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandler.java @@ -47,6 +47,7 @@ import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.Thing; import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingStatusDetail; +import org.openhab.core.thing.ThingTypeUID; import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.builder.ChannelBuilder; import org.openhab.core.thing.binding.builder.ThingBuilder; @@ -83,11 +84,21 @@ public class GuntamaticHandler extends BaseThingHandler { SIUnits.CELSIUS, NUMBER_TEMPERATURE, ImperialUnits.FAHRENHEIT, NUMBER_TEMPERATURE, SIUnits.CUBIC_METRE, NUMBER_VOLUME, Units.DAY, NUMBER_TIME, Units.HOUR, NUMBER_TIME); + private static final Map MAP_COMMAND_PARAM_APPROVAL = Map.of("AUTO", "0", "OFF", "1", "ON", "2"); + private static final Map MAP_COMMAND_PARAM_PROG = Map.of("OFF", "0", "NORMAL", "1", "WARMWATER", + "2", "MANUAL", "8"); + private static final Map MAP_COMMAND_PARAM_PROG_WOMANU = Map.of("OFF", "0", "NORMAL", "1", + "WARMWATER", "2"); + private static final Map MAP_COMMAND_PARAM_HC = Map.of("OFF", "0", "NORMAL", "1", "HEAT", "2", + "LOWER", "3"); + private static final Map MAP_COMMAND_PARAM_WW = Map.of("RECHARGE", "0"); + private final Logger logger = LoggerFactory.getLogger(GuntamaticHandler.class); private final HttpClient httpClient; private @Nullable ScheduledFuture pollingFuture = null; + private List staticChannelIDs; private GuntamaticConfiguration config = new GuntamaticConfiguration(); private Boolean channelsInitialized = false; private GuntamaticChannelTypeProvider guntamaticChannelTypeProvider; @@ -96,10 +107,11 @@ public class GuntamaticHandler extends BaseThingHandler { private Map> units = new HashMap<>(); public GuntamaticHandler(Thing thing, HttpClient httpClient, - GuntamaticChannelTypeProvider guntamaticChannelTypeProvider) { + GuntamaticChannelTypeProvider guntamaticChannelTypeProvider, List staticChannelIDs) { super(thing); this.httpClient = httpClient; this.guntamaticChannelTypeProvider = guntamaticChannelTypeProvider; + this.staticChannelIDs = staticChannelIDs; } @Override @@ -107,13 +119,25 @@ public class GuntamaticHandler extends BaseThingHandler { if (!(command instanceof RefreshType)) { if (!config.key.isBlank()) { String param; + Map map; String channelID = channelUID.getId(); switch (channelID) { case CHANNEL_CONTROLBOILERAPPROVAL: param = getThing().getProperties().get(PARAMETER_BOILERAPPROVAL); + map = MAP_COMMAND_PARAM_APPROVAL; break; case CHANNEL_CONTROLPROGRAM: param = getThing().getProperties().get(PARAMETER_PROGRAM); + ThingTypeUID thingTypeUID = getThing().getThingTypeUID(); + + if (THING_TYPE_BIOSTAR.equals(thingTypeUID) || THING_TYPE_POWERCHIP.equals(thingTypeUID) + || THING_TYPE_POWERCORN.equals(thingTypeUID) || THING_TYPE_BIOCOM.equals(thingTypeUID) + || THING_TYPE_PRO.equals(thingTypeUID) || THING_TYPE_THERM.equals(thingTypeUID)) { + map = MAP_COMMAND_PARAM_PROG; + } else { + map = MAP_COMMAND_PARAM_PROG_WOMANU; + } + break; case CHANNEL_CONTROLHEATCIRCPROGRAM0: case CHANNEL_CONTROLHEATCIRCPROGRAM1: @@ -126,23 +150,36 @@ public class GuntamaticHandler extends BaseThingHandler { case CHANNEL_CONTROLHEATCIRCPROGRAM8: param = getThing().getProperties().get(PARAMETER_HEATCIRCPROGRAM).replace("x", channelID.substring(channelID.length() - 1)); + map = MAP_COMMAND_PARAM_HC; break; case CHANNEL_CONTROLWWHEAT0: case CHANNEL_CONTROLWWHEAT1: case CHANNEL_CONTROLWWHEAT2: param = getThing().getProperties().get(PARAMETER_WWHEAT).replace("x", channelID.substring(channelID.length() - 1)); + map = MAP_COMMAND_PARAM_WW; break; case CHANNEL_CONTROLEXTRAWWHEAT0: case CHANNEL_CONTROLEXTRAWWHEAT1: case CHANNEL_CONTROLEXTRAWWHEAT2: param = getThing().getProperties().get(PARAMETER_EXTRAWWHEAT).replace("x", channelID.substring(channelID.length() - 1)); + map = MAP_COMMAND_PARAM_WW; break; default: return; } - String response = sendGetRequest(PARSET_URL, "syn=" + param, "value=" + command.toString()); + String cmd = command.toString().trim(); + if (map.containsValue(cmd)) { + // cmd = cmd; + } else if (map.containsKey(cmd)) { + cmd = map.get(cmd); + } else { + logger.warn("Invalid command '{}' for channel '{}' received ", cmd, channelID); + return; + } + + String response = sendGetRequest(PARSET_URL, "syn=" + param, "value=" + cmd); if (response != null) { State newState = new StringType(response); updateState(channelID, newState); @@ -232,7 +269,8 @@ public class GuntamaticHandler extends BaseThingHandler { String[] daqdesc = html.split("\\n"); List channelList = new ArrayList<>(); - for (String channelID : CHANNELIDS) { + // make sure that static channels are present + for (String channelID : staticChannelIDs) { Channel channel = thing.getChannel(channelID); if (channel == null) { logger.warn("Static Channel '{}' is not present: remove and re-add Thing", channelID); @@ -241,6 +279,7 @@ public class GuntamaticHandler extends BaseThingHandler { } } + // add dynamic channels, based on data provided by Guntamatic Heating System for (int i = 0; i < daqdesc.length; i++) { String[] param = daqdesc[i].split(";"); String label = param[0].replace("C02", "CO2"); @@ -401,8 +440,10 @@ public class GuntamaticHandler extends BaseThingHandler { parseAndUpdate(response); } else if (url.equals(DAQDESC_URL)) { parseAndInit(response); + } else { + logger.debug(req); + // PARSET_URL via return } - // PARSET_URL via return return response; } catch (IllegalArgumentException e) { errorReason = String.format("IllegalArgumentException: %s", diff --git a/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandlerFactory.java b/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandlerFactory.java index 6ef605aed..6b32053ec 100644 --- a/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandlerFactory.java +++ b/bundles/org.openhab.binding.guntamatic/src/main/java/org/openhab/binding/guntamatic/internal/GuntamaticHandlerFactory.java @@ -14,6 +14,7 @@ package org.openhab.binding.guntamatic.internal; import static org.openhab.binding.guntamatic.internal.GuntamaticBindingConstants.*; +import java.util.List; import java.util.Set; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -39,8 +40,9 @@ import org.osgi.service.component.annotations.Reference; @Component(configurationPid = "binding.guntamatic", service = ThingHandlerFactory.class) public class GuntamaticHandlerFactory extends BaseThingHandlerFactory { - private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_BIOSTAR, THING_TYPE_POWERCHIP, - THING_TYPE_POWERCORN, THING_TYPE_BIOCOM, THING_TYPE_PRO, THING_TYPE_THERM); + private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_BIOSTAR, THING_TYPE_BIOSMART, + THING_TYPE_POWERCHIP, THING_TYPE_POWERCORN, THING_TYPE_BIOCOM, THING_TYPE_PRO, THING_TYPE_THERM, + THING_TYPE_GENERIC); private final HttpClient httpClient; private GuntamaticChannelTypeProvider guntamaticChannelTypeProvider; @@ -60,9 +62,18 @@ public class GuntamaticHandlerFactory extends BaseThingHandlerFactory { @Override protected @Nullable ThingHandler createHandler(Thing thing) { ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + List staticChannelIDs; + + if (THING_TYPE_BIOSTAR.equals(thingTypeUID) || THING_TYPE_POWERCHIP.equals(thingTypeUID) + || THING_TYPE_POWERCORN.equals(thingTypeUID) || THING_TYPE_BIOCOM.equals(thingTypeUID) + || THING_TYPE_PRO.equals(thingTypeUID) || THING_TYPE_THERM.equals(thingTypeUID)) { + staticChannelIDs = STATIC_CHANNEL_IDS; + } else { + staticChannelIDs = STATIC_CHANNEL_IDS_WOBOILERAPP; + } if (supportsThingType(thingTypeUID)) { - return new GuntamaticHandler(thing, httpClient, guntamaticChannelTypeProvider); + return new GuntamaticHandler(thing, httpClient, guntamaticChannelTypeProvider, staticChannelIDs); } return null; diff --git a/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/i18n/guntamatic.properties b/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/i18n/guntamatic.properties index 8d3e99cc4..844919ee5 100644 --- a/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/i18n/guntamatic.properties +++ b/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/i18n/guntamatic.properties @@ -6,7 +6,7 @@ binding.guntamatic.description = Binding for Guntamatic Heating Systems. # thing types thing-type.guntamatic.biocom.label = Guntamatic Biocom -thing-type.guntamatic.biocom.description = Guntamatic Biocom 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 @@ -24,8 +24,26 @@ 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.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.description = Guntamatic Biostar 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 @@ -43,8 +61,26 @@ 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.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.description = Guntamatic Powerchip Heating System. Untested! Please provide Feedback! +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 @@ -63,7 +99,7 @@ thing-type.guntamatic.powerchip.channel.controlWwHeat0.label = Trigger Warm Wate 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.description = Guntamatic Powercorn 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 @@ -82,7 +118,7 @@ thing-type.guntamatic.powercorn.channel.controlWwHeat0.label = Trigger Warm Wate 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.description = Guntamatic Pro 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 @@ -101,7 +137,7 @@ thing-type.guntamatic.pro.channel.controlWwHeat0.label = Trigger Warm Water Circ 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.description = Guntamatic Therm 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 @@ -153,6 +189,11 @@ channel-type.guntamatic.controlProgram.state.option.0 = OFF channel-type.guntamatic.controlProgram.state.option.1 = NORMAL channel-type.guntamatic.controlProgram.state.option.2 = WARMWATER channel-type.guntamatic.controlProgram.state.option.8 = MANUAL +channel-type.guntamatic.controlProgramWOManu.label = Set Program +channel-type.guntamatic.controlProgramWOManu.description = Set Program of the Guntamatic Heating System (OFF, NORMAL, WARMWATER) +channel-type.guntamatic.controlProgramWOManu.state.option.0 = OFF +channel-type.guntamatic.controlProgramWOManu.state.option.1 = NORMAL +channel-type.guntamatic.controlProgramWOManu.state.option.2 = WARMWATER 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.state.option.0 = RECHARGE diff --git a/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/thing/thing-types.xml index a47745155..676cb34de 100644 --- a/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.guntamatic/src/main/resources/OH-INF/thing/thing-types.xml @@ -7,7 +7,7 @@ - Guntamatic Biostar Heating System + Guntamatic Biostar Pellets Heating System @@ -71,10 +71,73 @@ + + + + Guntamatic Biosmart Log Heating System + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PR001 + HKx01 + BKx06 + ZKx06 + + + - Guntamatic Powerchip Heating System. Untested! Please provide Feedback! + Guntamatic Powerchip WoodChip Heating System @@ -141,7 +204,7 @@ - Guntamatic Powercorn Heating System. Untested! Please provide Feedback! + Guntamatic Powercorn EnergyGrain Heating System. Untested! Please provide Feedback! @@ -208,7 +271,7 @@ - Guntamatic Biocom Heating System. Untested! Please provide Feedback! + Guntamatic Biocom Pellets Heating System. Untested! Please provide Feedback! @@ -275,7 +338,7 @@ - Guntamatic Pro Heating System. Untested! Please provide Feedback! + Guntamatic Pro Pellets or WoodChip Heating System. Untested! Please provide Feedback! @@ -342,7 +405,7 @@ - Guntamatic Therm Heating System. Untested! Please provide Feedback! + Guntamatic Therm Pellets Heating System. Untested! Please provide Feedback! @@ -406,7 +469,70 @@ + + + Generic Guntamatic Heating System. Use this type, if your Heating System is none of the others. Please + provide Feedback! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PR001 + HKx01 + BKx06 + ZKx06 + + + String @@ -421,6 +547,18 @@ + + String + + Set Program of the Guntamatic Heating System (OFF, NORMAL, WARMWATER) + + + + + + + + String