[danfossairunit] Remove deprecated channel main#manual_fan_speed when unlinked (#11668)
* Remove deprecated channel if unlinked. Signed-off-by: Jacob Laursen <jacob-github@vindvejr.dk>
This commit is contained in:
parent
2dfcb4cb3c
commit
4eea4ac4f4
|
@ -23,12 +23,14 @@ import java.util.concurrent.TimeUnit;
|
||||||
import org.eclipse.jdt.annotation.NonNullByDefault;
|
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||||
import org.eclipse.jdt.annotation.Nullable;
|
import org.eclipse.jdt.annotation.Nullable;
|
||||||
import org.openhab.binding.danfossairunit.internal.Channel;
|
import org.openhab.binding.danfossairunit.internal.Channel;
|
||||||
|
import org.openhab.binding.danfossairunit.internal.ChannelGroup;
|
||||||
import org.openhab.binding.danfossairunit.internal.DanfossAirUnit;
|
import org.openhab.binding.danfossairunit.internal.DanfossAirUnit;
|
||||||
import org.openhab.binding.danfossairunit.internal.DanfossAirUnitCommunicationController;
|
import org.openhab.binding.danfossairunit.internal.DanfossAirUnitCommunicationController;
|
||||||
import org.openhab.binding.danfossairunit.internal.DanfossAirUnitConfiguration;
|
import org.openhab.binding.danfossairunit.internal.DanfossAirUnitConfiguration;
|
||||||
import org.openhab.binding.danfossairunit.internal.DanfossAirUnitWriteAccessor;
|
import org.openhab.binding.danfossairunit.internal.DanfossAirUnitWriteAccessor;
|
||||||
import org.openhab.binding.danfossairunit.internal.UnexpectedResponseValueException;
|
import org.openhab.binding.danfossairunit.internal.UnexpectedResponseValueException;
|
||||||
import org.openhab.binding.danfossairunit.internal.ValueCache;
|
import org.openhab.binding.danfossairunit.internal.ValueCache;
|
||||||
|
import org.openhab.core.thing.ChannelGroupUID;
|
||||||
import org.openhab.core.thing.ChannelUID;
|
import org.openhab.core.thing.ChannelUID;
|
||||||
import org.openhab.core.thing.Thing;
|
import org.openhab.core.thing.Thing;
|
||||||
import org.openhab.core.thing.ThingStatus;
|
import org.openhab.core.thing.ThingStatus;
|
||||||
|
@ -96,6 +98,7 @@ public class DanfossAirUnitHandler extends BaseThingHandler {
|
||||||
updateStatus(ThingStatus.UNKNOWN);
|
updateStatus(ThingStatus.UNKNOWN);
|
||||||
config = getConfigAs(DanfossAirUnitConfiguration.class);
|
config = getConfigAs(DanfossAirUnitConfiguration.class);
|
||||||
valueCache = new ValueCache(config.updateUnchangedValuesEveryMillis);
|
valueCache = new ValueCache(config.updateUnchangedValuesEveryMillis);
|
||||||
|
removeDeprecatedChannels();
|
||||||
try {
|
try {
|
||||||
var localCommunicationController = new DanfossAirUnitCommunicationController(
|
var localCommunicationController = new DanfossAirUnitCommunicationController(
|
||||||
InetAddress.getByName(config.host), TCP_PORT);
|
InetAddress.getByName(config.host), TCP_PORT);
|
||||||
|
@ -119,6 +122,21 @@ public class DanfossAirUnitHandler extends BaseThingHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void removeDeprecatedChannels() {
|
||||||
|
ChannelGroupUID mainChannelGroupUid = new ChannelGroupUID(thing.getUID(), ChannelGroup.MAIN.getGroupName());
|
||||||
|
ChannelUID manualFanSpeedChannelUid = new ChannelUID(mainChannelGroupUid,
|
||||||
|
Channel.CHANNEL_MANUAL_FAN_SPEED.getChannelName());
|
||||||
|
if (this.isLinked(manualFanSpeedChannelUid)) {
|
||||||
|
ChannelUID manualFanStepChannelUid = new ChannelUID(mainChannelGroupUid,
|
||||||
|
Channel.CHANNEL_MANUAL_FAN_STEP.getChannelName());
|
||||||
|
logger.warn("Channel '{}' is deprecated, please use '{}' instead.", manualFanSpeedChannelUid,
|
||||||
|
manualFanStepChannelUid);
|
||||||
|
} else {
|
||||||
|
logger.debug("Removing deprecated unlinked channel '{}'.", manualFanSpeedChannelUid);
|
||||||
|
updateThing(editThing().withoutChannel(manualFanSpeedChannelUid).build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void updateAllChannels() {
|
private void updateAllChannels() {
|
||||||
DanfossAirUnit localAirUnit = this.airUnit;
|
DanfossAirUnit localAirUnit = this.airUnit;
|
||||||
if (localAirUnit == null) {
|
if (localAirUnit == null) {
|
||||||
|
|
|
@ -24,6 +24,8 @@ channel-group-type.danfossairunit.humidity.channel.humidity.description = Curren
|
||||||
channel-group-type.danfossairunit.main.label = Mode and Fan Speeds
|
channel-group-type.danfossairunit.main.label = Mode and Fan Speeds
|
||||||
channel-group-type.danfossairunit.main.channel.boost.label = Boost
|
channel-group-type.danfossairunit.main.channel.boost.label = Boost
|
||||||
channel-group-type.danfossairunit.main.channel.boost.description = Enables fan boost
|
channel-group-type.danfossairunit.main.channel.boost.description = Enables fan boost
|
||||||
|
channel-group-type.danfossairunit.main.channel.manual_fan_speed.label = Manual Fan Speed
|
||||||
|
channel-group-type.danfossairunit.main.channel.manual_fan_speed.description = Deprecated, please use Manual Fan Step instead. This channel will be removed in a later version.
|
||||||
channel-group-type.danfossairunit.main.channel.night_cooling.label = Night Cooling
|
channel-group-type.danfossairunit.main.channel.night_cooling.label = Night Cooling
|
||||||
channel-group-type.danfossairunit.main.channel.night_cooling.description = Enables night cooling
|
channel-group-type.danfossairunit.main.channel.night_cooling.description = Enables night cooling
|
||||||
channel-group-type.danfossairunit.recuperator.label = Recuperator
|
channel-group-type.danfossairunit.recuperator.label = Recuperator
|
||||||
|
@ -60,8 +62,6 @@ channel-type.danfossairunit.extractFanStep.description = Current step setting of
|
||||||
channel-type.danfossairunit.filterPeriod.label = Filter Period
|
channel-type.danfossairunit.filterPeriod.label = Filter Period
|
||||||
channel-type.danfossairunit.filterPeriod.description = Number of months between filter replacements
|
channel-type.danfossairunit.filterPeriod.description = Number of months between filter replacements
|
||||||
channel-type.danfossairunit.humidity.label = Humidity
|
channel-type.danfossairunit.humidity.label = Humidity
|
||||||
channel-type.danfossairunit.manualFanSpeed.label = Manual Fan Speed
|
|
||||||
channel-type.danfossairunit.manualFanSpeed.description = Deprecated, please use Manual Fan Step instead. This channel will be removed in a later version.
|
|
||||||
channel-type.danfossairunit.manualFanStep.label = Manual Fan Step
|
channel-type.danfossairunit.manualFanStep.label = Manual Fan Step
|
||||||
channel-type.danfossairunit.manualFanStep.description = Controls 10-step setting of the fan when operation mode is manual
|
channel-type.danfossairunit.manualFanStep.description = Controls 10-step setting of the fan when operation mode is manual
|
||||||
channel-type.danfossairunit.mode.label = Mode
|
channel-type.danfossairunit.mode.label = Mode
|
||||||
|
|
|
@ -50,7 +50,10 @@
|
||||||
<channel id="current_time" typeId="currentTime"/>
|
<channel id="current_time" typeId="currentTime"/>
|
||||||
<channel id="mode" typeId="mode"/>
|
<channel id="mode" typeId="mode"/>
|
||||||
<channel id="manual_fan_step" typeId="manualFanStep"/>
|
<channel id="manual_fan_step" typeId="manualFanStep"/>
|
||||||
<channel id="manual_fan_speed" typeId="manualFanSpeed"/>
|
<channel id="manual_fan_speed" typeId="manualFanStep">
|
||||||
|
<label>Manual Fan Speed</label>
|
||||||
|
<description>Deprecated, please use Manual Fan Step instead. This channel will be removed in a later version.</description>
|
||||||
|
</channel>
|
||||||
<channel id="supply_fan_speed" typeId="supplyFanSpeed"/>
|
<channel id="supply_fan_speed" typeId="supplyFanSpeed"/>
|
||||||
<channel id="extract_fan_speed" typeId="extractFanSpeed"/>
|
<channel id="extract_fan_speed" typeId="extractFanSpeed"/>
|
||||||
<channel id="supply_fan_step" typeId="supplyFanStep"/>
|
<channel id="supply_fan_step" typeId="supplyFanStep"/>
|
||||||
|
@ -157,13 +160,6 @@
|
||||||
<category>Fan</category>
|
<category>Fan</category>
|
||||||
<state step="10" min="0" max="100"/>
|
<state step="10" min="0" max="100"/>
|
||||||
</channel-type>
|
</channel-type>
|
||||||
<channel-type id="manualFanSpeed" advanced="true">
|
|
||||||
<item-type>Dimmer</item-type>
|
|
||||||
<label>Manual Fan Speed</label>
|
|
||||||
<description>Deprecated, please use Manual Fan Step instead. This channel will be removed in a later version.</description>
|
|
||||||
<category>Fan</category>
|
|
||||||
<state step="10" min="0" max="100"/>
|
|
||||||
</channel-type>
|
|
||||||
<channel-type id="supplyFanSpeed">
|
<channel-type id="supplyFanSpeed">
|
||||||
<item-type>Number</item-type>
|
<item-type>Number</item-type>
|
||||||
<label>Supply Fan Speed</label>
|
<label>Supply Fan Speed</label>
|
||||||
|
|
Loading…
Reference in New Issue