diff --git a/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/PowermaxBindingConstants.java b/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/PowermaxBindingConstants.java
index 8e9ea6664..9578a1812 100644
--- a/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/PowermaxBindingConstants.java
+++ b/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/PowermaxBindingConstants.java
@@ -59,6 +59,7 @@ public class PowermaxBindingConstants {
public static final String LAST_TRIP = "last_trip";
public static final String BYPASSED = "bypassed";
public static final String ARMED = "armed";
+ public static final String LOCKED = "locked";
public static final String LOW_BATTERY = "low_battery";
public static final String PGM_STATUS = "pgm_status";
public static final String X10_STATUS = "x10_status";
diff --git a/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxBridgeHandler.java b/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxBridgeHandler.java
index 2095cc8dd..978babc86 100644
--- a/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxBridgeHandler.java
+++ b/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxBridgeHandler.java
@@ -558,20 +558,10 @@ public class PowermaxBridgeHandler extends BaseBridgeHandler implements Powermax
PowermaxThingHandler handler = (PowermaxThingHandler) thing.getHandler();
if (handler != null) {
if (thing.getThingTypeUID().equals(THING_TYPE_ZONE)) {
- if ((channel == null) || channel.equals(TRIPPED)) {
- handler.updateChannelFromAlarmState(TRIPPED, state);
- }
- if ((channel == null) || channel.equals(LAST_TRIP)) {
- handler.updateChannelFromAlarmState(LAST_TRIP, state);
- }
- if ((channel == null) || channel.equals(BYPASSED)) {
- handler.updateChannelFromAlarmState(BYPASSED, state);
- }
- if ((channel == null) || channel.equals(ARMED)) {
- handler.updateChannelFromAlarmState(ARMED, state);
- }
- if ((channel == null) || channel.equals(LOW_BATTERY)) {
- handler.updateChannelFromAlarmState(LOW_BATTERY, state);
+ for (String channelId : List.of(TRIPPED, LAST_TRIP, BYPASSED, ARMED, LOCKED, LOW_BATTERY)) {
+ 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)) {
diff --git a/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxThingHandler.java b/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxThingHandler.java
index 3c4e32dfe..c2bc845a2 100644
--- a/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxThingHandler.java
+++ b/bundles/org.openhab.binding.powermax/src/main/java/org/openhab/binding/powermax/internal/handler/PowermaxThingHandler.java
@@ -191,6 +191,8 @@ public class PowermaxThingHandler extends BaseThingHandler implements PowermaxPa
updateState(BYPASSED, state.isSensorBypassed(num) ? OnOffType.ON : OnOffType.OFF);
} else if (channel.equals(ARMED) && (state.isSensorArmed(num) != null)) {
updateState(ARMED, state.isSensorArmed(num) ? OnOffType.ON : OnOffType.OFF);
+ } else if (channel.equals(LOCKED) && (state.isSensorArmed(num) != null)) {
+ updateState(LOCKED, state.isSensorArmed(num) ? OpenClosedType.CLOSED : OpenClosedType.OPEN);
} else if (channel.equals(LOW_BATTERY) && (state.isSensorLowBattery(num) != null)) {
updateState(LOW_BATTERY, state.isSensorLowBattery(num) ? OnOffType.ON : OnOffType.OFF);
}
diff --git a/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/channels.xml
index d9d8cc193..9c42f44d1 100644
--- a/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/channels.xml
+++ b/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/channels.xml
@@ -109,11 +109,18 @@
Switch
-
+
Whether or not the zone is armed
+
+ Contact
+
+ Whether or not the zone is armed (CLOSED when armed)
+
+
+
Switch
diff --git a/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/zone.xml b/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/zone.xml
index 0529631a0..e85a0c780 100644
--- a/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/zone.xml
+++ b/bundles/org.openhab.binding.powermax/src/main/resources/OH-INF/thing/zone.xml
@@ -17,6 +17,7 @@
+