[powermax] Ignore disabled things (#12684)
* [powermax] Ignore disabled things Signed-off-by: Laurent Garnier <lg.hc@free.fr>
This commit is contained in:
parent
4180eac57c
commit
bfca6d2201
|
@ -49,6 +49,7 @@ import org.openhab.core.thing.Thing;
|
|||
import org.openhab.core.thing.ThingStatus;
|
||||
import org.openhab.core.thing.ThingStatusDetail;
|
||||
import org.openhab.core.thing.binding.BaseBridgeHandler;
|
||||
import org.openhab.core.thing.binding.ThingHandler;
|
||||
import org.openhab.core.thing.binding.ThingHandlerService;
|
||||
import org.openhab.core.types.Command;
|
||||
import org.openhab.core.types.RefreshType;
|
||||
|
@ -623,25 +624,27 @@ public class PowermaxBridgeHandler extends BaseBridgeHandler implements Powermax
|
|||
}
|
||||
|
||||
for (Thing thing : getThing().getThings()) {
|
||||
if (thing.getHandler() != null) {
|
||||
PowermaxThingHandler handler = (PowermaxThingHandler) thing.getHandler();
|
||||
if (handler != null) {
|
||||
if (thing.getThingTypeUID().equals(THING_TYPE_ZONE)) {
|
||||
// All of the zone state objects will have the same list of values.
|
||||
// The use of getZone(1) here is just to get any PowermaxZoneState
|
||||
// and use it to get the list of zone channels.
|
||||
if (!thing.isEnabled()) {
|
||||
continue;
|
||||
}
|
||||
ThingHandler thingHandler = thing.getHandler();
|
||||
if (thingHandler instanceof PowermaxThingHandler) {
|
||||
PowermaxThingHandler handler = (PowermaxThingHandler) thingHandler;
|
||||
if (thing.getThingTypeUID().equals(THING_TYPE_ZONE)) {
|
||||
// All of the zone state objects will have the same list of values.
|
||||
// The use of getZone(1) here is just to get any PowermaxZoneState
|
||||
// and use it to get the list of zone channels.
|
||||
|
||||
for (Value<?> value : state.getZone(1).getValues()) {
|
||||
String channelId = value.getChannel();
|
||||
if ((channel == null) || channel.equals(channelId)) {
|
||||
handler.updateChannelFromAlarmState(channelId, state);
|
||||
}
|
||||
}
|
||||
} else if (thing.getThingTypeUID().equals(THING_TYPE_X10)) {
|
||||
if ((channel == null) || channel.equals(X10_STATUS)) {
|
||||
handler.updateChannelFromAlarmState(X10_STATUS, state);
|
||||
for (Value<?> value : state.getZone(1).getValues()) {
|
||||
String channelId = value.getChannel();
|
||||
if ((channel == null) || channel.equals(channelId)) {
|
||||
handler.updateChannelFromAlarmState(channelId, state);
|
||||
}
|
||||
}
|
||||
} else if (thing.getThingTypeUID().equals(THING_TYPE_X10)) {
|
||||
if ((channel == null) || channel.equals(X10_STATUS)) {
|
||||
handler.updateChannelFromAlarmState(X10_STATUS, state);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue