]> git.basschouten.com Git - openhab-addons.git/commitdiff
Add channel return temp (#13833)
authorlsiepel <leosiepel@gmail.com>
Fri, 9 Dec 2022 18:30:08 +0000 (19:30 +0100)
committerGitHub <noreply@github.com>
Fri, 9 Dec 2022 18:30:08 +0000 (19:30 +0100)
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
bundles/org.openhab.binding.plugwiseha/README.md
bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/PlugwiseHABindingConstants.java
bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/Appliance.java
bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/api/model/dto/Logs.java
bundles/org.openhab.binding.plugwiseha/src/main/java/org/openhab/binding/plugwiseha/internal/handler/PlugwiseHAApplianceHandler.java
bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/i18n/plugwiseha.properties
bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/channels.xml
bundles/org.openhab.binding.plugwiseha/src/main/resources/OH-INF/thing/thing-types.xml

index 22e86da08b4789f1816c7ad99c231e130505e0f0..093da9c8184ba585ce5913e17de4a2ecf18007e3 100644 (file)
@@ -153,17 +153,18 @@ Switch    main_boiler_chState "Heating active" { channel="plugwiseha:appliance_boil
 Switch main_boiler_dhwState "Domestic hot water active" { channel="plugwiseha:appliance_boiler:home:main_boiler:dhwState"}
 
 Switch main_boiler_coolingState "Cooling state" { channel="plugwiseha:appliance_boiler:home:main_boiler:coolingState"}
-Number:Temperature main_boiler_intendedBoilerTemp "Intended boiler temperature" {channel="plugwiseha:appliance_boiler:home:living_room_thermostat:intendedBoilerTemp"}
+Number:Temperature main_boiler_intendedBoilerTemp "Intended boiler temperature" {channel="plugwiseha:appliance_boiler:home:main_boiler:intendedBoilerTemp"}
 Switch main_boiler_flameState "Flame state" { channel="plugwiseha:appliance_boiler:home:main_boiler:flameState"}
 Switch main_boiler_intendedHeatingState "Intended heating state" { channel="plugwiseha:appliance_boiler:home:main_boiler:intendedHeatingState"}
 Number main_boiler_modulationLevel "Modulation level" {channel="plugwiseha:appliance_boiler:home:living_room_radiator:modulationLevel"}
 Number main_boiler_otAppFaultCode "Opentherm app. faultcode" {channel="plugwiseha:appliance_boiler:home:living_room_radiator:otAppFaultCode"}
-Number:Temperature main_boiler_dhwTemperature "DHW temperature" {channel="plugwiseha:appliance_boiler:home:living_room_thermostat:dhwTemperature"}
-Number main_boiler_otOEMFaultCode "Opentherm OEM faultcode" {channel="plugwiseha:appliance_boiler:home:living_room_radiator:otOEMFaultCode"}
-Number:Temperature main_boiler_boilerTemperature "Boiler temperature" {channel="plugwiseha:appliance_boiler:home:living_room_thermostat:boilerTemperature"}
-Number:Temperature main_boiler_dhwSetpoint "DHW setpoint" {channel="plugwiseha:appliance_boiler:home:living_room_thermostat:dhwSetpoint"}
-Number:Temperature main_boiler_maxBoilerTemperature "Max. boiler temperature" {channel="plugwiseha:appliance_boiler:home:living_room_thermostat:maxBoilerTemperature"}
+Number:Temperature main_boiler_dhwTemperature "DHW temperature" {channel="plugwiseha:appliance_boiler:home:main_boiler:dhwTemperature"}
+Number main_boiler_otOEMFaultCode "Opentherm OEM faultcode" {channel="plugwiseha:appliance_boiler:home:main_boiler:otOEMFaultCode"}
+Number:Temperature main_boiler_boilerTemperature "Boiler temperature" {channel="plugwiseha:appliance_boiler:home:main_boiler:boilerTemperature"}
+Number:Temperature main_boiler_dhwSetpoint "DHW setpoint" {channel="plugwiseha:appliance_boiler:home:main_boiler:dhwSetpoint"}
+Number:Temperature main_boiler_maxBoilerTemperature "Max. boiler temperature" {channel="plugwiseha:appliance_boiler:home:main_boiler:maxBoilerTemperature"}
 Switch main_boiler_dhwComfortMode "DHW comfort mode" { channel="plugwiseha:appliance_boiler:home:main_boiler:dhwComfortMode"}
+Number:Temperature main_boiler_returnTemperature "Boiler return temperature" {channel="plugwiseha:appliance_boiler:home:main_boiler:returnWaterTemperature"}
 ```
 
 **transform/plugwiseha.map**
@@ -214,6 +215,7 @@ sitemap plugwiseha label="PlugwiseHA Binding"
                Number item=main_boiler_dhwSetpoint
                Number item=main_boiler_maxBoilerTemperature
                Switch item=main_boiler_dhwComfortMode
+        Number item=main_boiler_returnTemperature
        }
 }
 ```
index 49b77e4370557f907d7efd9c72fc57831a4f573b..043ecfafac35d1201bdb269505306de56cebbbd8 100644 (file)
@@ -116,6 +116,7 @@ public class PlugwiseHABindingConstants {
     public static final String APPLIANCE_DHWSETPOINT_CHANNEL = "dhwSetpoint";
     public static final String APPLIANCE_MAXBOILERTEMPERATURE_CHANNEL = "maxBoilerTemperature";
     public static final String APPLIANCE_DHWCOMFORTMODE_CHANNEL = "dhwComfortMode";
+    public static final String APPLIANCE_RETURNWATERTEMPERATURE_CHANNEL = "returnWaterTemperature";
 
     // List of all Appliance Types
     public static final String APPLIANCE_TYPE_THERMOSTAT = "thermostat";
index 3c24e0547acd483320ba44c60b53dea57312b536..e71a329530bb92a0fe94b289747caa32d171db7a 100644 (file)
@@ -156,6 +156,14 @@ public class Appliance extends PlugwiseBaseModel implements PlugwiseComparableDa
         return this.pointLogs.getIntendedBoilerTempUnit();
     }
 
+    public Optional<Double> getReturnWaterTemp() {
+        return this.pointLogs.getReturnWaterTemp();
+    }
+
+    public Optional<String> getReturnWaterTempUnit() {
+        return this.pointLogs.getReturnWaterTempUnit();
+    }
+
     public Optional<Boolean> getFlameState() {
         return this.pointLogs.getFlameState();
     }
index 877cb67c613bbe251563034e241200dc69a5a0ad..f80b2ba081c53ade691ef979525c5167f40915d5 100644 (file)
@@ -47,6 +47,7 @@ public class Logs extends PlugwiseHACollection<Log> {
     private static final String CHSTATE = "central_heating_state";
     private static final String VALVE_POSITION = "valve_position";
     private static final String WATER_PRESSURE = "central_heater_water_pressure";
+    private static final String RETURNWATERTEMP = "return_water_temperature";
 
     public Optional<Boolean> getCoolingState() {
         return this.getLog(COOLINGSTATE).map(logEntry -> logEntry.getMeasurementAsBoolean()).orElse(Optional.empty());
@@ -99,6 +100,14 @@ public class Logs extends PlugwiseHACollection<Log> {
         return this.getLog(BOILERTEMP).map(logEntry -> logEntry.getMeasurementUnit()).orElse(Optional.empty());
     }
 
+    public Optional<Double> getReturnWaterTemp() {
+        return this.getLog(RETURNWATERTEMP).map(logEntry -> logEntry.getMeasurementAsDouble()).orElse(Optional.empty());
+    }
+
+    public Optional<String> getReturnWaterTempUnit() {
+        return this.getLog(RETURNWATERTEMP).map(logEntry -> logEntry.getMeasurementUnit()).orElse(Optional.empty());
+    }
+
     public Optional<Double> getDHTSetpoint() {
         return this.getLog(DHWSETPOINT).map(logEntry -> logEntry.getMeasurementAsDouble()).orElse(Optional.empty());
     }
index 9a2df943742097bc308cc05c62b927c3021b4614..cc3dc4800b4d714e66644e19dcb8c80df68c71c9 100644 (file)
@@ -220,6 +220,7 @@ public class PlugwiseHAApplianceHandler extends PlugwiseHABaseHandler<Appliance,
             case APPLIANCE_TEMPERATURE_CHANNEL:
             case APPLIANCE_VALVEPOSITION_CHANNEL:
             case APPLIANCE_WATERPRESSURE_CHANNEL:
+            case APPLIANCE_RETURNWATERTEMPERATURE_CHANNEL:
                 state = UnDefType.NULL;
                 break;
             case APPLIANCE_BATTERYLEVELLOW_CHANNEL:
@@ -359,6 +360,14 @@ public class PlugwiseHAApplianceHandler extends PlugwiseHABaseHandler<Appliance,
                     state = new QuantityType<Dimensionless>(entity.getOTAppFaultCode().get().intValue(), Units.PERCENT);
                 }
                 break;
+            case APPLIANCE_RETURNWATERTEMPERATURE_CHANNEL:
+                if (entity.getBoilerTemp().isPresent()) {
+                    Unit<Temperature> unit = entity.getReturnWaterTempUnit().orElse(UNIT_CELSIUS).equals(UNIT_CELSIUS)
+                            ? SIUnits.CELSIUS
+                            : ImperialUnits.FAHRENHEIT;
+                    state = new QuantityType<Temperature>(entity.getReturnWaterTemp().get(), unit);
+                }
+                break;
             case APPLIANCE_DHWTEMPERATURE_CHANNEL:
                 if (entity.getDHWTemp().isPresent()) {
                     Unit<Temperature> unit = entity.getDHWTempUnit().orElse(UNIT_CELSIUS).equals(UNIT_CELSIUS)
index d45afdc7b3836663d0db7160761979c3c521b3b4..fdca9b09d97ffa25709347312e592f8d4cc264ca 100644 (file)
@@ -96,6 +96,8 @@ channel-type.plugwiseha.regulationControl.description = Switch the regulation co
 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.returnWaterTemperature.label = Return Water Temperature
+channel-type.plugwiseha.returnWaterTemperature.description = Gets the temperature of the boiler return water
 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
index 5c605deca47625ceb27d66fd031c6d63d4698b1d..bf4472648a3ee4c529f704c2e14a3da1ebdef722 100644 (file)
                <state readOnly="true" pattern="%.1f %unit%"/>
        </channel-type>
 
+       <channel-type id="returnWaterTemperature">
+               <item-type>Number:Temperature</item-type>
+               <label>Return Water Temperature</label>
+               <description>Gets the temperature of the return water</description>
+               <category>heating</category>
+               <state readOnly="true" pattern="%.1f %unit%"/>
+       </channel-type>
+
        <channel-type id="dhwSetpoint">
                <item-type>Number:Temperature</item-type>
                <label>Domestic Hot Water Setpoint Temperature</label>
index 53d8754b25f3686d215eec9b799269ce06ca1cf6..3b7dd23b13a58afd789675490b9a5bbb3c1ab478 100644 (file)
@@ -37,6 +37,7 @@
                        <channel id="boilerTemperature" typeId="boilerTemperature"/>
                        <channel id="dhwSetpoint" typeId="dhwSetpoint"/>
                        <channel id="maxBoilerTemperature" typeId="maxBoilerTemperature"/>
+                       <channel id="returnWaterTemperature" typeId="returnWaterTemperature"/>
                </channels>
 
                <representation-property>id</representation-property>