From ea9d77ff71e1a8e47a4a59004d46329f85f7d18d Mon Sep 17 00:00:00 2001 From: lsiepel Date: Wed, 23 Feb 2022 23:52:07 +0100 Subject: [PATCH] [plugwiseha] Add and enhance channels (#12349) * Add two-channels, fix scene and docs Signed-off-by: Leo Siepel --- .../org.openhab.binding.plugwiseha/README.md | 24 +++--- .../internal/PlugwiseHABindingConstants.java | 2 + .../api/model/PlugwiseHAController.java | 86 ++++++++++--------- .../model/dto/ActuatorFunctionalities.java | 9 ++ .../api/model/dto/ActuatorFunctionality.java | 14 +++ .../dto/ActuatorFunctionalityThermostat.java | 13 ++- .../internal/api/model/dto/Location.java | 12 +++ .../handler/PlugwiseHAApplianceHandler.java | 12 +-- .../handler/PlugwiseHAZoneHandler.java | 41 +++++++++ .../OH-INF/i18n/plugwiseha.properties | 14 ++- .../main/resources/OH-INF/thing/channels.xml | 33 ++++++- .../resources/OH-INF/thing/thing-types.xml | 2 + 12 files changed, 197 insertions(+), 65 deletions(-) diff --git a/bundles/org.openhab.binding.plugwiseha/README.md b/bundles/org.openhab.binding.plugwiseha/README.md index f566e973662..012216ad444 100644 --- a/bundles/org.openhab.binding.plugwiseha/README.md +++ b/bundles/org.openhab.binding.plugwiseha/README.md @@ -19,7 +19,7 @@ The 'Adam' (from hereon called the gateway) needs to be accessible from the open | - | A Plugwise heating zone configured with at least 1 of the devices below | zone | | [Adam](https://www.plugwise.com/en_US/products/adam-ha) | The Plugwise Home Automation Bridge is needed to connect to the Adam boiler gateway | gateway | | [Tom](https://www.plugwise.com/en_US/products/tom) | A Plugwise Home Automation radiator valve | appliance_valve | -| [Floor](https://www.plugwise.com/en_US/products/floor) | A Plugwise Home Automation radiator valve specifically used for floor heating | appliance_valve | +| [Floor](https://www.plugwise.com/en_US/products/floor) | A Plugwise Home Automation radiator valve specifically used for floor heating | appliance_valve | | [Circle](https://www.plugwise.com/en_US/products/circle) | A power outlet plug that provides energy measurement and switching control of appliances (e.g. floor heating pump) | appliance_pump | | [Lisa](https://www.plugwise.com/en_US/products/lisa) | A room thermostat (also supports the 'Anna' room thermostat) | appliance_thermostat | | [Boiler] | A central boiler used for heating and/or domestic hot water | appliance_boiler | @@ -39,7 +39,7 @@ You must define a Plugwise Home Automation gateway (Bridge) before defining zone #### Plugwise Home Automation gateway (Bridge): | Parameter | Description | Config | Default | -| --------- | ----------------------------------------------------------------------- | -------- | ------- | +|-----------|-------------------------------------------------------------------------|----------|---------| | host | The IP address or hostname of the Adam HA gateway | Required | 'adam' | | username | The username for the Adam HA gateway | Optional | 'smile' | | smileID | The 8 letter code on the sticker on the back of the Adam boiler gateway | Required | - | @@ -54,14 +54,14 @@ You must define a Plugwise Home Automation gateway (Bridge) before defining zone #### Plugwise Home Automation appliance (`appliance_valve`): | Parameter | Description | Config | Default | -| -------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | ------- | +|----------------------|--------------------------------------------------------------------------------------------------------------------|----------|---------| | id | The unique ID of the radiator valve appliance | Required | - | | lowBatteryPercentage | Battery charge remaining at which to trigger battery low warning. (*Only applicable for battery operated devices*) | Optional | 15 | #### Plugwise Home Automation appliance (`appliance_thermostat`): | Parameter | Description | Config | Default | -| -------------------- | ------------------------------------------------------------------------------------------------------------------ | -------- | ------- | +|----------------------|--------------------------------------------------------------------------------------------------------------------|----------|---------| | id | The unique ID of the room thermostat appliance | Required | - | | lowBatteryPercentage | Battery charge remaining at which to trigger battery low warning. (*Only applicable for battery operated devices*) | Optional | 15 | @@ -75,7 +75,7 @@ You must define a Plugwise Home Automation gateway (Bridge) before defining zone #### Plugwise Home Automation boiler (`appliance_boiler`): | Parameter | Description | Config | Default | -| --------- | --------------------------- | -------- | ------- | +|-----------|-----------------------------|----------|---------| | id | The unique ID of the boiler | Required | - | ## Channels @@ -92,9 +92,11 @@ You must define a Plugwise Home Automation gateway (Bridge) before defining zone | chState | Switch | Yes | The current central heating state of the boiler | | dhwState | Switch | Yes | The current domestic hot water state of the boiler | | waterPressure | Number:Pressure | Yes | The current water pressure of the boiler | -| presetScene | String | Yes | The current active scene for the zone | +| presetScene | String | No | The current active scene for the zone | +| regulationControl | String | No | Toggle current regulation control (Active, Passive, Off) for the zone | +| coolingAllowed | Switch | No | Toggle the cooling allowed of a zone ON/OFF | | valvePosition | Number | Yes | The current position of the valve | -| preHeat | Switch | Yes | Toggle the pre heating of a zone ON/OFF | +| preHeat | Switch | No | Toggle the pre heating of a zone ON/OFF | | coolingState | Switch | Yes | The current cooling state of the boiler | | intendedBoilerTemp | Number:Temperature | Yes | The intended boiler temperature | | flameState | Switch | Yes | The flame state of the boiler | @@ -107,8 +109,6 @@ You must define a Plugwise Home Automation gateway (Bridge) before defining zone | dhwSetpoint | Number:Temperature | Yes | The domestic hot water setpoint | | maxBoilerTemperature | Number:Temperature | Yes | The maximum temperature of the boiler | | dhwComfortMode | Switch | Yes | The domestic hot water confortmode | - | - ## Full Example @@ -131,8 +131,10 @@ Replace `$device_id` accordingly. ``` Number:Temperature living_room_zone_temperature "Zone temperature" {channel="plugwiseha:zone:home:living_room_zone:temperature"} Number:Temperature living_room_zone_temperature_setpoint "Zone temperature setpoint" {channel="plugwiseha:zone:home:living_room_zone:setpointTemperature"} -Number:Temperature living_room_zone_preset_scene "Zone preset scene" {channel="plugwiseha:zone:home:living_room_zone:presetScene"} +String living_room_zone_preset_scene "Zone preset scene" {channel="plugwiseha:zone:home:living_room_zone:presetScene"} Switch living_room_zone_preheat "Zone preheat enabled" {channel="plugwiseha:zone:home:living_room_zone:preHeat"} +String living_room_zone_cooling "Zone cooling enabled" {channel="plugwiseha:zone:home:living_room_zone:coolingAllowed"} +String living_room_zone_regulation_control "Zone regulation control" {channel="plugwiseha:zone:home:living_room_zone:regulationControl"} Number:Temperature living_room_radiator_temperature "Radiator valve temperature" {channel="plugwiseha:appliance_valve:home:living_room_radiator:temperature"} Number:Temperature living_room_radiator_temperature_setpoint "Radiator valve temperature setpoint" {channel="plugwiseha:appliance_valve:home:living_room_radiator:setpointTemperature"} @@ -181,6 +183,8 @@ sitemap plugwiseha label="PlugwiseHA Binding" Setpoint item=living_room_zone_temperature_setpoint label="Living room [%.1f °C]" minValue=5.0 maxValue=25 step=0.5 Text item=living_room_zone_presetScene Switch item=living_room_zone_preheat + Text item=living_room_zone_regulation_control + Switch item=living_room_zone_cooling Text item=living_room_radiator_temperature Setpoint item=living_room_radiator_temperature_setpoint label="Living room [%.1f °C]" minValue=5.0 maxValue=25 step=0.5 diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/PlugwiseHABindingConstants.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/PlugwiseHABindingConstants.java index ec97161add1..49b77e43705 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/PlugwiseHABindingConstants.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/PlugwiseHABindingConstants.java @@ -85,10 +85,12 @@ public class PlugwiseHABindingConstants { public static final String LOCATION_PROPERTY_FUNCTIONALITIES = "functionalities"; // List of all Channel IDs + public static final String ZONE_COOLING_CHANNEL = "coolingAllowed"; public static final String ZONE_SETPOINT_CHANNEL = "setpointTemperature"; public static final String ZONE_TEMPERATURE_CHANNEL = "temperature"; public static final String ZONE_PRESETSCENE_CHANNEL = "presetScene"; public static final String ZONE_PREHEAT_CHANNEL = "preHeat"; + public static final String ZONE_REGULATION_CHANNEL = "regulationControl"; public static final String APPLIANCE_SETPOINT_CHANNEL = "setpointTemperature"; public static final String APPLIANCE_TEMPERATURE_CHANNEL = "temperature"; diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/PlugwiseHAController.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/PlugwiseHAController.java index 2b6e4b72108..c46f0a8f091 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/PlugwiseHAController.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/PlugwiseHAController.java @@ -322,17 +322,6 @@ public class PlugwiseHAController { } } - public void switchRelay(Appliance appliance, String state) throws PlugwiseHAException { - List allowStates = Arrays.asList("on", "off"); - if (allowStates.contains(state.toLowerCase())) { - if (state.toLowerCase().equals("on")) { - switchRelayOn(appliance); - } else { - switchRelayOff(appliance); - } - } - } - public void setPreHeating(Location location, Boolean state) throws PlugwiseHAException { PlugwiseHAControllerRequest request = newRequest(Void.class); Optional thermostat = location.getActuatorFunctionalities().getFunctionalityThermostat(); @@ -340,58 +329,73 @@ public class PlugwiseHAController { request.setPath("/core/locations"); request.addPathParameter("id", String.format("%s/thermostat", location.getId())); request.addPathParameter("id", String.format("%s", thermostat.get().getId())); - request.setBodyParameter(new ActuatorFunctionalityThermostat(state)); + request.setBodyParameter(new ActuatorFunctionalityThermostat(state, null, null)); executeRequest(request); } - public void switchRelayOn(Appliance appliance) throws PlugwiseHAException { + public void setAllowCooling(Location location, Boolean state) throws PlugwiseHAException { PlugwiseHAControllerRequest request = newRequest(Void.class); + Optional thermostat = location.getActuatorFunctionalities().getFunctionalityThermostat(); - request.setPath("/core/appliances"); - request.addPathParameter("id", String.format("%s/relay", appliance.getId())); - request.setBodyParameter(new ActuatorFunctionalityRelay("on")); + request.setPath("/core/locations"); + request.addPathParameter("id", String.format("%s/thermostat", location.getId())); + request.addPathParameter("id", String.format("%s", thermostat.get().getId())); + request.setBodyParameter(new ActuatorFunctionalityThermostat(null, state, null)); executeRequest(request); } - public void switchRelayOff(Appliance appliance) throws PlugwiseHAException { - PlugwiseHAControllerRequest request = newRequest(Void.class); - - request.setPath("/core/appliances"); - request.addPathParameter("id", String.format("%s/relay", appliance.getId())); - request.setBodyParameter(new ActuatorFunctionalityRelay("off")); - - executeRequest(request); - } - - public void switchRelayLock(Appliance appliance, String state) throws PlugwiseHAException { - List allowStates = Arrays.asList("on", "off"); - if (allowStates.contains(state.toLowerCase())) { - if (state.toLowerCase().equals("on")) { - switchRelayLockOn(appliance); - } else { - switchRelayLockOff(appliance); - } + public void setRegulationControl(Location location, String state) throws PlugwiseHAException { + List allowStates = Arrays.asList("active", "passive", "off"); + if (!allowStates.contains(state.toLowerCase())) { + this.logger.warn("Trying to set the regulation control to an invalid state"); + return; } - } - public void switchRelayLockOff(Appliance appliance) throws PlugwiseHAException { PlugwiseHAControllerRequest request = newRequest(Void.class); + Optional thermostat = location.getActuatorFunctionalities().getFunctionalityThermostat(); - request.setPath("/core/appliances"); - request.addPathParameter("id", String.format("%s/relay", appliance.getId())); - request.setBodyParameter(new ActuatorFunctionalityRelay(null, false)); + request.setPath("/core/locations"); + request.addPathParameter("id", String.format("%s/thermostat", location.getId())); + request.addPathParameter("id", String.format("%s", thermostat.get().getId())); + request.setBodyParameter(new ActuatorFunctionalityThermostat(null, null, state)); executeRequest(request); } - public void switchRelayLockOn(Appliance appliance) throws PlugwiseHAException { + public void setRelay(Appliance appliance, Boolean state) throws PlugwiseHAException { PlugwiseHAControllerRequest request = newRequest(Void.class); request.setPath("/core/appliances"); request.addPathParameter("id", String.format("%s/relay", appliance.getId())); - request.setBodyParameter(new ActuatorFunctionalityRelay(null, true)); + request.setBodyParameter(new ActuatorFunctionalityRelay(state ? "on" : "off")); + + executeRequest(request); + } + + public void setRelayLock(Appliance appliance, Boolean state) throws PlugwiseHAException { + PlugwiseHAControllerRequest request = newRequest(Void.class); + + request.setPath("/core/appliances"); + request.addPathParameter("id", String.format("%s/relay", appliance.getId())); + request.setBodyParameter(new ActuatorFunctionalityRelay(null, state)); + + executeRequest(request); + } + + public void setPresetScene(Location location, String state) throws PlugwiseHAException { + List allowStates = Arrays.asList("home", "asleep", "away", "vacation", "no_frost"); + if (!allowStates.contains(state.toLowerCase())) { + this.logger.warn("Trying to set the preset scene to an invalid state"); + return; + } + + PlugwiseHAControllerRequest request = newRequest(Void.class); + + request.setPath("/core/locations"); + request.addPathParameter("id", String.format("%s", location.getId())); + request.setBodyParameter(new Location(state)); executeRequest(request); } diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalities.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalities.java index 2f9ff67f939..4d4ec3081ad 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalities.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalities.java @@ -35,6 +35,15 @@ public class ActuatorFunctionalities extends PlugwiseHACollection getRegulationControl() { + return this.getFunctionalityThermostat().flatMap(ActuatorFunctionality::getRegulationControl); + } + + public Optional getCoolingAllowed() { + return this.getFunctionalityThermostat().flatMap(ActuatorFunctionality::getCoolingAllowed) + .map(Boolean::parseBoolean); + } + public Optional getPreHeatState() { return this.getFunctionalityThermostat().flatMap(ActuatorFunctionality::getPreHeatState) .map(Boolean::parseBoolean); diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionality.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionality.java index ab4013be5fb..d42ff7ddef0 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionality.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionality.java @@ -35,6 +35,12 @@ public class ActuatorFunctionality extends PlugwiseBaseModel implements Plugwise private String resolution; private String lock; + @XStreamAlias("regulation_control") + private String regulationControl; + + @XStreamAlias("cooling_allowed") + private String coolingAllowed; + @XStreamAlias("preheating_allowed") private String preHeat; @@ -75,6 +81,14 @@ public class ActuatorFunctionality extends PlugwiseBaseModel implements Plugwise return updatedDate; } + public Optional getRegulationControl() { + return Optional.ofNullable(regulationControl); + } + + public Optional getCoolingAllowed() { + return Optional.ofNullable(coolingAllowed); + } + public Optional getPreHeatState() { return Optional.ofNullable(preHeat); } diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalityThermostat.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalityThermostat.java index fda09398168..311be627ab8 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalityThermostat.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/ActuatorFunctionalityThermostat.java @@ -28,11 +28,22 @@ public class ActuatorFunctionalityThermostat extends ActuatorFunctionality { @XStreamAlias("preheating_allowed") private Boolean preheatingAllowed; + @SuppressWarnings("unused") + @XStreamAlias("cooling_allowed") + private Boolean coolingAllowed; + + @SuppressWarnings("unused") + @XStreamAlias("regulation_control") + private String regulationControl; + public ActuatorFunctionalityThermostat(Double temperature) { this.setpoint = temperature; } - public ActuatorFunctionalityThermostat(Boolean preheatingAllowed) { + public ActuatorFunctionalityThermostat(Boolean preheatingAllowed, Boolean coolingAllowed, + String regulationControl) { this.preheatingAllowed = preheatingAllowed; + this.coolingAllowed = coolingAllowed; + this.regulationControl = regulationControl; } } diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/Location.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/Location.java index c91e4fc22c0..521849dc412 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/Location.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/Location.java @@ -47,6 +47,10 @@ public class Location extends PlugwiseBaseModel implements PlugwiseComparableDat @XStreamImplicit(itemFieldName = "actuator_functionality", keyFieldName = "type") private ActuatorFunctionalities actuatorFunctionalities; + public Location(String presetScene) { + this.preset = presetScene; + } + public String getName() { return name; } @@ -101,6 +105,14 @@ public class Location extends PlugwiseBaseModel implements PlugwiseComparableDat return this.actuatorFunctionalities.getPreHeatState(); } + public Optional getCoolingAllowed() { + return this.actuatorFunctionalities.getCoolingAllowed(); + } + + public Optional getRegulationControl() { + return this.actuatorFunctionalities.getRegulationControl(); + } + public int applianceCount() { if (this.locationAppliances == null) { return 0; diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/handler/PlugwiseHAApplianceHandler.java b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/handler/PlugwiseHAApplianceHandler.java index 0773ff46274..9a2df943742 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/handler/PlugwiseHAApplianceHandler.java +++ b/bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/handler/PlugwiseHAApplianceHandler.java @@ -142,11 +142,7 @@ public class PlugwiseHAApplianceHandler extends PlugwiseHABaseHandler unit = entity.getSetpointTemperatureUnit().orElse(UNIT_CELSIUS) @@ -143,6 +153,26 @@ public class PlugwiseHAZoneHandler extends PlugwiseHABaseHandler allowCoolingState = entity.getCoolingAllowed(); + if (allowCoolingState.isPresent()) { + state = OnOffType.from(allowCoolingState.get()); + } + break; case ZONE_PREHEAT_CHANNEL: Optional preHeatState = entity.getPreHeatState(); if (preHeatState.isPresent()) { @@ -185,6 +223,9 @@ public class PlugwiseHAZoneHandler extends PlugwiseHABaseHandler(entity.getSetpointTemperature().get(), unit); } break; + case ZONE_REGULATION_CHANNEL: + state = new StringType(entity.getRegulationControl().orElse(null)); + break; case ZONE_TEMPERATURE_CHANNEL: if (entity.getTemperature().isPresent()) { Unit unit = entity.getTemperatureUnit().orElse(UNIT_CELSIUS).equals(UNIT_CELSIUS) diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/i18n/plugwiseha.properties b/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/i18n/plugwiseha.properties index dba13ae55db..d45afdc7b38 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/i18n/plugwiseha.properties +++ b/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/i18n/plugwiseha.properties @@ -49,6 +49,8 @@ channel-type.plugwiseha.boilerTemperature.label = Boiler Temperature channel-type.plugwiseha.boilerTemperature.description = Gets the temperature of this boiler channel-type.plugwiseha.chState.label = Central Heating Active channel-type.plugwiseha.chState.description = Is the boiler active for central heating, On or OFF +channel-type.plugwiseha.coolingAllowed.label = Cooling Allowed +channel-type.plugwiseha.coolingAllowed.description = Switch the cooling allowed of a zone ON or OFF channel-type.plugwiseha.coolingState.label = Cooling State channel-type.plugwiseha.coolingState.description = Is the boiler active for cooling, On or OFF channel-type.plugwiseha.dhwComfortMode.label = Domestic Hot Water Comfort Mode @@ -83,7 +85,17 @@ channel-type.plugwiseha.powerUsage.label = Power Usage channel-type.plugwiseha.preHeat.label = Preheat channel-type.plugwiseha.preHeat.description = Switch the preheating of a zone ON or OFF channel-type.plugwiseha.presetScene.label = Preset Scene -channel-type.plugwiseha.presetScene.description = Gets the preset scene of the zone +channel-type.plugwiseha.presetScene.description = Gets or sets the preset scene of the zone +channel-type.plugwiseha.presetScene.state.option.home = Home +channel-type.plugwiseha.presetScene.state.option.asleep = A Sleep +channel-type.plugwiseha.presetScene.state.option.away = Away +channel-type.plugwiseha.presetScene.state.option.vacation = Vacation +channel-type.plugwiseha.presetScene.state.option.no_frost = No Frost +channel-type.plugwiseha.regulationControl.label = Regulation Control +channel-type.plugwiseha.regulationControl.description = Switch the regulation control of a zone to Active, Passive or Off +channel-type.plugwiseha.regulationControl.state.option.active = Active +channel-type.plugwiseha.regulationControl.state.option.passive = Passive +channel-type.plugwiseha.regulationControl.state.option.off = Off channel-type.plugwiseha.setpointTemperature.label = Setpoint Temperature channel-type.plugwiseha.setpointTemperature.description = Gets or sets the set point of this zone channel-type.plugwiseha.temperature.label = Zone Temperature diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/channels.xml index 7f57acc9717..5c605deca47 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/channels.xml @@ -35,6 +35,27 @@ switch + + Switch + + Switch the cooling allowed of a zone ON or OFF + switch + + + + String + + Switch the regulation control of a zone to Active, Passive or Off + switch + + + + + + + + + Switch @@ -178,9 +199,17 @@ String - Gets the preset scene of the zone + Gets or sets the preset scene of the zone heating - + + + + + + + + + diff --git a/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/thing-types.xml index 11d3b11e4b3..53d8754b25f 100644 --- a/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/thing-types.xml @@ -58,6 +58,8 @@ + + id