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;
}
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.
-
- 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);
+ 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);
+ }
}
}
}