diff --git a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/CaddxBridgeHandler.java b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/CaddxBridgeHandler.java index 33bc24e4cceb1..73a6657e75c56 100644 --- a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/CaddxBridgeHandler.java +++ b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/CaddxBridgeHandler.java @@ -65,7 +65,6 @@ public class CaddxBridgeHandler extends BaseBridgeHandler implements CaddxPanelListener { private final Logger logger = LoggerFactory.getLogger(CaddxBridgeHandler.class); - static final byte[] DISCOVERY_PARTITION_STATUS_REQUEST_0 = { 0x26, 0x00 }; static final byte[] DISCOVERY_ZONES_SNAPSHOT_REQUEST_00 = { 0x25, 0x00 }; // 1 - 16 static final byte[] DISCOVERY_ZONES_SNAPSHOT_REQUEST_10 = { 0x25, 0x01 }; // 17 - 32 static final byte[] DISCOVERY_ZONES_SNAPSHOT_REQUEST_20 = { 0x25, 0x02 }; // 33 - 48 @@ -156,8 +155,13 @@ public void initialize() { comm.transmit(new CaddxMessage(DISCOVERY_ZONES_SNAPSHOT_REQUEST_B0, false)); // Send discovery commands for the partitions - comm.transmit(new CaddxMessage(DISCOVERY_PARTITION_STATUS_REQUEST_0, false)); comm.transmit(new CaddxMessage(DISCOVERY_PARTITIONS_SNAPSHOT_REQUEST, false)); + + // Send status commands to the zones and partitions + thingZonesMap.forEach((k, v) -> sendCommand(CaddxBindingConstants.ZONE_STATUS_REQUEST, + k.subtract(BigDecimal.ONE).toString())); + thingPartitionsMap.forEach((k, v) -> sendCommand(CaddxBindingConstants.PARTITION_STATUS_REQUEST, + k.subtract(BigDecimal.ONE).toString())); } // list all channels diff --git a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/LogEventMessage.java b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/LogEventMessage.java index f15c1c97e0ef8..967f440c5737f 100644 --- a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/LogEventMessage.java +++ b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/LogEventMessage.java @@ -56,9 +56,6 @@ public String toString() { int eventType = Integer.parseInt(type); logger.trace("eventType received: {}", eventType); LogEventType logEventType = LogEventType.valueOfLogEventType(eventType); - if (logEventType == null) { - return "Unknown log event type received"; - } // Date sb.append(String.format("%02d", Integer.parseInt(day))).append('-') @@ -66,23 +63,27 @@ public String toString() { .append(String.format("%02d", Integer.parseInt(hour))).append(':') .append(String.format("%02d", Integer.parseInt(minute))).append(' '); - sb.append(logEventType.description); - if (logEventType.isPartitionValid) { - sb.append(" Partition ").append(Integer.parseInt(partition) + 1); - } + if (logEventType == null) { + sb.append("Unknown log event type"); + } else { + sb.append(logEventType.description); + if (logEventType.isPartitionValid) { + sb.append(" Partition ").append(Integer.parseInt(partition) + 1); + } - switch (logEventType.zud) { - case None: - break; - case Zone: - sb.append(" Zone ").append(Integer.parseInt(zud) + 1); - break; - case User: - sb.append(" User ").append(Integer.parseInt(zud) + 1); - break; - case Device: - sb.append(" Device ").append(zud); - break; + switch (logEventType.zud) { + case None: + break; + case Zone: + sb.append(" Zone ").append(Integer.parseInt(zud) + 1); + break; + case User: + sb.append(" User ").append(Integer.parseInt(zud) + 1); + break; + case Device: + sb.append(" Device ").append(zud); + break; + } } return sb.toString(); diff --git a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerPanel.java b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerPanel.java index ee529e2df7822..3c3053f418437 100644 --- a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerPanel.java +++ b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerPanel.java @@ -67,7 +67,7 @@ public void updateChannel(ChannelUID channelUID, String data) { @Override public void handleCommand(ChannelUID channelUID, Command command) { - logger.trace("handleCommand(): Command Received - {} {}.", channelUID, command); + logger.debug("handleCommand(): Command Received - {} {}.", channelUID, command); String cmd = null; String data = null; @@ -167,10 +167,12 @@ private void handleLogEventMessage(CaddxMessage message) { // get the channel id from the map HashMap logMap = panelLogMessagesMap; - String id = logMap.get(eventNumberString); - if (logMap != null && id != null) { - ChannelUID channelUID = new ChannelUID(getThing().getUID(), id); - updateChannel(channelUID, logEventMessage.toString()); + if (logMap != null) { + String id = logMap.get(eventNumberString); + if (id != null) { + ChannelUID channelUID = new ChannelUID(getThing().getUID(), id); + updateChannel(channelUID, logEventMessage.toString()); + } } if (communicatorStackPointer != null && eventNumberString.equals(communicatorStackPointer)) { diff --git a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerZone.java b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerZone.java index b8d21f9673571..b8bff044e8f81 100644 --- a/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerZone.java +++ b/bundles/org.openhab.binding.caddx/src/main/java/org/openhab/binding/caddx/internal/handler/ThingHandlerZone.java @@ -52,7 +52,6 @@ public ThingHandlerZone(Thing thing) { @Override public void updateChannel(ChannelUID channelUID, String data) { if (channelUID.getId().equals(CaddxBindingConstants.ZONE_NAME)) { - getThing().setLabel(data); updateState(channelUID, new StringType(data)); logger.trace(" updateChannel: {} = {}", channelUID, data); @@ -71,7 +70,7 @@ public void updateChannel(ChannelUID channelUID, String data) { @Override public void handleCommand(ChannelUID channelUID, Command command) { - logger.trace("handleCommand(): Command Received - {} {}.", channelUID, command); + logger.debug("handleCommand(): Command Received - {} {}.", channelUID, command); String cmd1 = null; String cmd2 = null; @@ -124,9 +123,9 @@ public void caddxEventReceived(CaddxEvent event, Thing thing) { logger.trace(" updateChannel: {} = {}", channelUID, value); } } - - updateStatus(ThingStatus.ONLINE); } + + updateStatus(ThingStatus.ONLINE); } @Override