Add defrost status channel (#18398)

Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This commit is contained in:
Jacob Laursen
2025-03-22 22:21:10 +01:00
committed by GitHub
parent 96c38dfb11
commit f5878ff9c1
7 changed files with 23 additions and 1 deletions
@@ -37,6 +37,7 @@ These are the available configuration parameters:
| outdoor_temp | temps | Number:Temperature | RO | Temperature of the air outside |
| humidity | humidity | Number:Dimensionless | RO | Current relative humidity measured by the air unit |
| bypass | recuperator | Switch | RW | Disables the heat exchange. Useful in summer when room temperature is above target and outside temperature is below target. |
| defrost | recuperator | Switch | RO | Defrost status. Active when low outdoor temperatures pose a risk of ice formation in the heat exchanger. |
| supply_temp | recuperator | Number | RO | Temperature of air which is passed to the rooms |
| extract_temp | recuperator | Number | RO | Temperature of the air as extracted from the rooms |
| exhaust_temp | recuperator | Number | RO | Temperature of the air when pushed outside |
@@ -50,6 +50,7 @@ public enum Channel {
// recuperator channels
CHANNEL_BYPASS("bypass", ChannelGroup.RECUPERATOR, DanfossAirUnit::getBypass, DanfossAirUnit::setBypass),
CHANNEL_DEFROST("defrost", ChannelGroup.RECUPERATOR, DanfossAirUnit::getDefrostStatus),
CHANNEL_SUPPLY_TEMP("supply_temp", ChannelGroup.RECUPERATOR, DanfossAirUnit::getSupplyTemperature),
CHANNEL_EXTRACT_TEMP("extract_temp", ChannelGroup.RECUPERATOR, DanfossAirUnit::getExtractTemperature),
CHANNEL_EXHAUST_TEMP("exhaust_temp", ChannelGroup.RECUPERATOR, DanfossAirUnit::getExhaustTemperature),
@@ -46,6 +46,7 @@ public class Commands {
public static final byte[] BYPASS_DEACTIVATION = { 0x14, 0x63 };
public static final byte[] BOOST = { 0x15, 0x30 };
public static final byte[] NIGHT_COOLING = { 0x15, 0x71 };
public static final byte[] DEFROST_STATUS = { 0x15, (byte) 0xf1 };
public static final byte[] AUTOMATIC_BYPASS = { 0x17, 0x06 };
public static final byte[] AUTOMATIC_RUSH_AIRING = { 0x17, 0x02 };
public static final byte[] HUMIDITY = { 0x14, 0x70 };
@@ -173,6 +173,10 @@ public class DanfossAirUnit {
return OnOffType.from(getBoolean(REGISTER_1_READ, NIGHT_COOLING));
}
public OnOffType getDefrostStatus() throws IOException {
return OnOffType.from(getBoolean(REGISTER_1_READ, DEFROST_STATUS));
}
public OnOffType getBypass() throws IOException {
return OnOffType.from(getBoolean(REGISTER_1_READ, BYPASS));
}
@@ -56,6 +56,8 @@ channel-group-type.danfossairunit.temps.channel.room_temp_calculated.description
channel-type.danfossairunit.currentTime.label = Current Time
channel-type.danfossairunit.currentTime.description = Current time reported by the air unit
channel-type.danfossairunit.defrost.label = Defrost
channel-type.danfossairunit.defrost.description = Defrost status. Active when low outdoor temperatures pose a risk of ice formation in the heat exchanger
channel-type.danfossairunit.extractFanSpeed.label = Extract Fan Speed
channel-type.danfossairunit.extractFanSpeed.description = Current rotation of the fan extracting air from the rooms
channel-type.danfossairunit.extractFanStep.label = Extract Fan Step
@@ -19,7 +19,7 @@
<properties>
<property name="vendor">Danfoss</property>
<property name="thingTypeVersion">2</property>
<property name="thingTypeVersion">3</property>
</properties>
<representation-property>serialNumber</representation-property>
@@ -109,6 +109,7 @@
<description>Disables the heat exchange. Useful in summer when room temperature is above target and outside
temperature is below target.</description>
</channel>
<channel id="defrost" typeId="defrost"/>
<channel id="supply_temp" typeId="temperature">
<label>Supply Air Temperature</label>
<description>Temperature of air which is passed to the rooms</description>
@@ -217,5 +218,11 @@
<category>Temperature</category>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="defrost" advanced="true">
<item-type>Switch</item-type>
<label>Defrost</label>
<description>Defrost status. Active when low outdoor temperatures pose a risk of ice formation in the heat exchanger</description>
<state readOnly="true"/>
</channel-type>
</thing:thing-descriptions>
@@ -19,6 +19,12 @@
</update-channel>
</instruction-set>
<instruction-set targetVersion="3">
<add-channel id="defrost" groupIds="recuperator">
<type>danfossairunit:defrost</type>
</add-channel>
</instruction-set>
</thing-type>
</update:update-descriptions>