From d30e87f73943a6df54bc50c3d13f2cc70f1daed8 Mon Sep 17 00:00:00 2001 From: Ethan Dye Date: Wed, 1 Jan 2025 13:03:19 -0700 Subject: [PATCH 1/6] Fix minor spelling errors Signed-off-by: Ethan Dye --- .../omnilink/internal/handler/OmnilinkBridgeHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java index c7bcadfe69119..c6613f7ca62fd 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java @@ -647,13 +647,13 @@ private void pollEvents() { logger.debug("Processing event log message number: {}", logData.getEventNumber()); eventLogNumber = logData.getEventNumber(); String json = gson.toJson(logData); - logger.debug("Receieved event log message: {}", json); + logger.debug("Received event log message: {}", json); updateState(CHANNEL_EVENT_LOG, new StringType(json)); } } while (message.getMessageType() != Message.MESG_TYPE_END_OF_DATA); } catch (OmniInvalidResponseException | OmniUnknownMessageTypeException | BridgeOfflineException e) { - logger.debug("Exception recieved while polling for event log messages: {}", e.getMessage()); + logger.debug("Exception received while polling for event log messages: {}", e.getMessage()); } } From c3b1178934eb154d788cb4595ec53c6e2c1de6be Mon Sep 17 00:00:00 2001 From: Ethan Dye Date: Wed, 1 Jan 2025 13:28:21 -0700 Subject: [PATCH 2/6] Reduce complexity of BridgeHandler Signed-off-by: Ethan Dye --- .../handler/OmnilinkBridgeHandler.java | 168 +++++++++--------- 1 file changed, 83 insertions(+), 85 deletions(-) diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java index c6613f7ca62fd..d3f54c1681d74 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java @@ -95,7 +95,6 @@ public class OmnilinkBridgeHandler extends BaseBridgeHandler implements Notifica private @Nullable Connection omniConnection = null; private @Nullable ScheduledFuture connectJob; private @Nullable ScheduledFuture eventPollingJob; - private final int autoReconnectPeriod = 60; private Optional audioPlayer = Optional.empty(); private Optional systemType = Optional.empty(); private final Gson gson = new Gson(); @@ -240,9 +239,9 @@ private void makeOmnilinkConnection() { * HAI only supports one audio player - cycle through features until we find a feature that is an audio * player. */ - audioPlayer = Objects.requireNonNull(reqSystemFeatures().getFeatures().stream() - .map(featureCode -> AudioPlayer.getAudioPlayerForFeatureCode(featureCode)) - .filter(Optional::isPresent).findFirst().orElse(Optional.empty())); + audioPlayer = Objects.requireNonNull( + reqSystemFeatures().getFeatures().stream().map(AudioPlayer::getAudioPlayerForFeatureCode) + .filter(Optional::isPresent).findFirst().orElse(Optional.empty())); systemType = SystemType.getType(reqSystemInformation().getModel()); @@ -288,80 +287,83 @@ public void objectStatusNotification(@Nullable ObjectStatus objectStatus) { if (objectStatus != null) { Status[] statuses = objectStatus.getStatuses(); for (Status status : statuses) { - if (status instanceof ExtendedUnitStatus unitStatus) { - int unitNumber = unitStatus.getNumber(); - - logger.debug("Received status update for Unit: {}, status: {}", unitNumber, unitStatus); - Optional theThing = getUnitThing(unitNumber); - theThing.map(Thing::getHandler) - .ifPresent(theHandler -> ((UnitHandler) theHandler).handleStatus(unitStatus)); - } else if (status instanceof ExtendedZoneStatus zoneStatus) { - int zoneNumber = zoneStatus.getNumber(); - - logger.debug("Received status update for Zone: {}, status: {}", zoneNumber, zoneStatus); - Optional theThing = getChildThing(THING_TYPE_ZONE, zoneNumber); - theThing.map(Thing::getHandler) - .ifPresent(theHandler -> ((ZoneHandler) theHandler).handleStatus(zoneStatus)); - } else if (status instanceof ExtendedAreaStatus areaStatus) { - int areaNumber = areaStatus.getNumber(); - - logger.debug("Received status update for Area: {}, status: {}", areaNumber, areaStatus); - systemType.ifPresent(t -> { - Optional theThing = Optional.empty(); - switch (t) { - case LUMINA: - theThing = getChildThing(THING_TYPE_LUMINA_AREA, areaNumber); - break; - case OMNI: - theThing = getChildThing(THING_TYPE_OMNI_AREA, areaNumber); - break; - } + switch (status) { + case ExtendedUnitStatus unitStatus -> { + int unitNumber = unitStatus.getNumber(); + + logger.debug("Received status update for Unit: {}, status: {}", unitNumber, unitStatus); + Optional theThing = getUnitThing(unitNumber); + theThing.map(Thing::getHandler) + .ifPresent(theHandler -> ((UnitHandler) theHandler).handleStatus(unitStatus)); + } + case ExtendedZoneStatus zoneStatus -> { + int zoneNumber = zoneStatus.getNumber(); + + logger.debug("Received status update for Zone: {}, status: {}", zoneNumber, zoneStatus); + Optional theThing = getChildThing(THING_TYPE_ZONE, zoneNumber); theThing.map(Thing::getHandler) - .ifPresent(theHandler -> ((AbstractAreaHandler) theHandler).handleStatus(areaStatus)); - }); - } else if (status instanceof ExtendedAccessControlReaderLockStatus lockStatus) { - int lockNumber = lockStatus.getNumber(); - - logger.debug("Received status update for Lock: {}, status: {}", lockNumber, lockStatus); - Optional theThing = getChildThing(THING_TYPE_LOCK, lockNumber); - theThing.map(Thing::getHandler) - .ifPresent(theHandler -> ((LockHandler) theHandler).handleStatus(lockStatus)); - } else if (status instanceof ExtendedThermostatStatus thermostatStatus) { - int thermostatNumber = thermostatStatus.getNumber(); - - logger.debug("Received status update for Thermostat: {}, status: {}", thermostatNumber, - thermostatStatus); - Optional theThing = getChildThing(THING_TYPE_THERMOSTAT, thermostatNumber); - theThing.map(Thing::getHandler) - .ifPresent(theHandler -> ((ThermostatHandler) theHandler).handleStatus(thermostatStatus)); - } else if (status instanceof ExtendedAudioZoneStatus audioZoneStatus) { - int audioZoneNumber = audioZoneStatus.getNumber(); - - logger.debug("Received status update for Audio Zone: {}, status: {}", audioZoneNumber, - audioZoneStatus); - Optional theThing = getChildThing(THING_TYPE_AUDIO_ZONE, audioZoneNumber); - theThing.map(Thing::getHandler) - .ifPresent(theHandler -> ((AudioZoneHandler) theHandler).handleStatus(audioZoneStatus)); - } else if (status instanceof ExtendedAuxSensorStatus auxSensorStatus) { - int auxSensorNumber = auxSensorStatus.getNumber(); - - // Aux Sensors can be either temperature or humidity, need to check both. - Optional tempThing = getChildThing(THING_TYPE_TEMP_SENSOR, auxSensorNumber); - Optional humidityThing = getChildThing(THING_TYPE_HUMIDITY_SENSOR, auxSensorNumber); - if (tempThing.isPresent()) { - logger.debug("Received status update for Temperature Sensor: {}, status: {}", auxSensorNumber, - auxSensorStatus); - tempThing.map(Thing::getHandler).ifPresent( - theHandler -> ((TempSensorHandler) theHandler).handleStatus(auxSensorStatus)); + .ifPresent(theHandler -> ((ZoneHandler) theHandler).handleStatus(zoneStatus)); } - if (humidityThing.isPresent()) { - logger.debug("Received status update for Humidity Sensor: {}, status: {}", auxSensorNumber, - auxSensorStatus); - humidityThing.map(Thing::getHandler).ifPresent( - theHandler -> ((HumiditySensorHandler) theHandler).handleStatus(auxSensorStatus)); + case ExtendedAreaStatus areaStatus -> { + int areaNumber = areaStatus.getNumber(); + + logger.debug("Received status update for Area: {}, status: {}", areaNumber, areaStatus); + systemType.ifPresent(t -> { + Optional theThing = switch (t) { + case LUMINA -> getChildThing(THING_TYPE_LUMINA_AREA, areaNumber); + case OMNI -> getChildThing(THING_TYPE_OMNI_AREA, areaNumber); + }; + theThing.map(Thing::getHandler).ifPresent( + theHandler -> ((AbstractAreaHandler) theHandler).handleStatus(areaStatus)); + }); } - } else { - logger.debug("Received Object Status Notification that was not processed: {}", objectStatus); + case ExtendedAccessControlReaderLockStatus lockStatus -> { + int lockNumber = lockStatus.getNumber(); + + logger.debug("Received status update for Lock: {}, status: {}", lockNumber, lockStatus); + Optional theThing = getChildThing(THING_TYPE_LOCK, lockNumber); + theThing.map(Thing::getHandler) + .ifPresent(theHandler -> ((LockHandler) theHandler).handleStatus(lockStatus)); + } + case ExtendedThermostatStatus thermostatStatus -> { + int thermostatNumber = thermostatStatus.getNumber(); + + logger.debug("Received status update for Thermostat: {}, status: {}", thermostatNumber, + thermostatStatus); + Optional theThing = getChildThing(THING_TYPE_THERMOSTAT, thermostatNumber); + theThing.map(Thing::getHandler).ifPresent( + theHandler -> ((ThermostatHandler) theHandler).handleStatus(thermostatStatus)); + } + case ExtendedAudioZoneStatus audioZoneStatus -> { + int audioZoneNumber = audioZoneStatus.getNumber(); + + logger.debug("Received status update for Audio Zone: {}, status: {}", audioZoneNumber, + audioZoneStatus); + Optional theThing = getChildThing(THING_TYPE_AUDIO_ZONE, audioZoneNumber); + theThing.map(Thing::getHandler) + .ifPresent(theHandler -> ((AudioZoneHandler) theHandler).handleStatus(audioZoneStatus)); + } + case ExtendedAuxSensorStatus auxSensorStatus -> { + int auxSensorNumber = auxSensorStatus.getNumber(); + + // Aux Sensors can be either temperature or humidity, need to check both. + Optional tempThing = getChildThing(THING_TYPE_TEMP_SENSOR, auxSensorNumber); + Optional humidityThing = getChildThing(THING_TYPE_HUMIDITY_SENSOR, auxSensorNumber); + if (tempThing.isPresent()) { + logger.debug("Received status update for Temperature Sensor: {}, status: {}", + auxSensorNumber, auxSensorStatus); + tempThing.map(Thing::getHandler).ifPresent( + theHandler -> ((TempSensorHandler) theHandler).handleStatus(auxSensorStatus)); + } + if (humidityThing.isPresent()) { + logger.debug("Received status update for Humidity Sensor: {}, status: {}", auxSensorNumber, + auxSensorStatus); + humidityThing.map(Thing::getHandler).ifPresent( + theHandler -> ((HumiditySensorHandler) theHandler).handleStatus(auxSensorStatus)); + } + } + case null, default -> + logger.debug("Received Object Status Notification that was not processed: {}", objectStatus); } } } else { @@ -476,12 +478,9 @@ private void getSystemStatus() throws IOException, OmniNotConnectedException, Om SystemStatus status = getOmniConnection().reqSystemStatus(); logger.debug("Received system status: {}", status); // Update controller's reported time - String dateString = new StringBuilder().append(2000 + status.getYear()).append("-") - .append(String.format("%02d", status.getMonth())).append("-") - .append(String.format("%02d", status.getDay())).append("T") - .append(String.format("%02d", status.getHour())).append(":") - .append(String.format("%02d", status.getMinute())).append(":") - .append(String.format("%02d", status.getSecond())).toString(); + String dateString = (2000 + status.getYear()) + "-" + String.format("%02d", status.getMonth()) + "-" + + String.format("%02d", status.getDay()) + "T" + String.format("%02d", status.getHour()) + ":" + + String.format("%02d", status.getMinute()) + ":" + String.format("%02d", status.getSecond()); updateState(CHANNEL_SYSTEM_DATE, new DateTimeType(dateString)); } @@ -578,10 +577,8 @@ private void updateBridgeProperties() { SystemInformation systemInformation = reqSystemInformation(); Map properties = editProperties(); properties.put(Thing.PROPERTY_MODEL_ID, Integer.toString(systemInformation.getModel())); - properties.put(Thing.PROPERTY_FIRMWARE_VERSION, - Integer.toString(systemInformation.getMajor()) + "." - + Integer.toString(systemInformation.getMinor()) + "." - + Integer.toString(systemInformation.getRevision())); + properties.put(Thing.PROPERTY_FIRMWARE_VERSION, systemInformation.getMajor() + "." + + systemInformation.getMinor() + "." + systemInformation.getRevision()); properties.put(THING_PROPERTIES_PHONE_NUMBER, systemInformation.getPhone()); updateProperties(properties); } catch (OmniInvalidResponseException | OmniUnknownMessageTypeException | BridgeOfflineException e) { @@ -597,6 +594,7 @@ public void initialize() { private void scheduleReconnectJob() { ScheduledFuture currentReconnectJob = connectJob; if (currentReconnectJob == null || currentReconnectJob.isDone()) { + int autoReconnectPeriod = 60; connectJob = super.scheduler.scheduleWithFixedDelay(this::makeOmnilinkConnection, 0, autoReconnectPeriod, TimeUnit.SECONDS); } From 7ac9c64698654eafbea60a08366b48e3d27ddca2 Mon Sep 17 00:00:00 2001 From: Ethan Dye Date: Wed, 1 Jan 2025 13:51:40 -0700 Subject: [PATCH 3/6] Reduce code complexity Signed-off-by: Ethan Dye --- .../binding/omnilink/internal/AreaAlarm.java | 4 --- .../internal/OmnilinkBindingConstants.java | 1 - .../omnilink/internal/TemperatureFormat.java | 2 +- .../internal/action/OmnilinkActions.java | 7 ++--- .../discovery/OmnilinkDiscoveryService.java | 24 +++++++-------- .../exceptions/BridgeOfflineException.java | 1 - .../internal/handler/AbstractAreaHandler.java | 17 +++++------ .../handler/AbstractOmnilinkHandler.java | 4 +-- .../AbstractOmnilinkStatusHandler.java | 2 +- .../internal/handler/AudioSourceHandler.java | 30 +++++++++---------- .../internal/handler/ButtonHandler.java | 20 ++++++------- .../handler/HumiditySensorHandler.java | 2 +- .../internal/handler/LockHandler.java | 21 +++++++------ .../internal/handler/LuminaAreaHandler.java | 25 ++++++---------- .../internal/handler/OmniAreaHandler.java | 28 +++++++---------- .../internal/handler/TempSensorHandler.java | 6 ++-- .../internal/handler/ThermostatHandler.java | 8 ++--- .../internal/handler/UnitHandler.java | 7 ++--- .../internal/handler/ZoneHandler.java | 19 +++++------- .../handler/units/DimmableUnitHandler.java | 12 ++++---- .../handler/units/UpbRoomHandler.java | 2 +- .../units/dimmable/UpbUnitHandler.java | 22 +++++++------- 22 files changed, 108 insertions(+), 156 deletions(-) diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/AreaAlarm.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/AreaAlarm.java index 11738b1374f7b..c80202244093e 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/AreaAlarm.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/AreaAlarm.java @@ -47,10 +47,6 @@ public boolean isSet(BigInteger alarmBits) { return alarmBits.testBit(bit); } - public boolean isSet(int alarmBits) { - return isSet(BigInteger.valueOf(alarmBits)); - } - public String getChannelUID() { return channelUID; } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/OmnilinkBindingConstants.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/OmnilinkBindingConstants.java index 3e516a9c50a1e..51f782bef3742 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/OmnilinkBindingConstants.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/OmnilinkBindingConstants.java @@ -162,7 +162,6 @@ public class OmnilinkBindingConstants { public static final String TRIGGER_CHANNEL_DCM_EVENT = "dcm_event"; public static final String TRIGGER_CHANNEL_ENERGY_COST_EVENT = "energy_cost_event"; public static final String TRIGGER_CHANNEL_CAMERA_TRIGGER_EVENT = "camera_trigger_event"; - public static final String TRIGGER_CHANNEL_ACCESS_CONTROL_READER_EVENT = "access_control_reader_event"; public static final String TRIGGER_CHANNEL_AREA_ALL_ON_OFF_EVENT = "all_on_off_event"; public static final String TRIGGER_CHANNEL_SWITCH_PRESS_EVENT = "switch_press_event"; public static final String TRIGGER_CHANNEL_UPB_LINK_ACTIVATED_EVENT = "upb_link_activated_event"; diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/TemperatureFormat.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/TemperatureFormat.java index 943e0a5dd039b..ddf83b73e8100 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/TemperatureFormat.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/TemperatureFormat.java @@ -51,7 +51,7 @@ public int formatToOmni(float fahrenheit) { private final int formatNumber; - private TemperatureFormat(int formatNumber) { + TemperatureFormat(int formatNumber) { this.formatNumber = formatNumber; } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/action/OmnilinkActions.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/action/OmnilinkActions.java index f211454780b2c..9cef9266ae9fc 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/action/OmnilinkActions.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/action/OmnilinkActions.java @@ -67,11 +67,8 @@ public void synchronizeControllerTime( zdt = ZonedDateTime.now(ZoneId.of(zone)); } else { logger.debug("Time zone provided invalid, using system default!"); - if (timeZoneProvider.isPresent()) { - zdt = ZonedDateTime.now(timeZoneProvider.get().getTimeZone()); - } else { - zdt = ZonedDateTime.now(ZoneId.systemDefault()); - } + zdt = timeZoneProvider.map(zoneProvider -> ZonedDateTime.now(zoneProvider.getTimeZone())) + .orElseGet(() -> ZonedDateTime.now(ZoneId.systemDefault())); } actionsHandler.synchronizeControllerTime(zdt); } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/discovery/OmnilinkDiscoveryService.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/discovery/OmnilinkDiscoveryService.java index 9a4e44a286b7f..6d2b273d3bf74 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/discovery/OmnilinkDiscoveryService.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/discovery/OmnilinkDiscoveryService.java @@ -99,9 +99,9 @@ protected synchronized void stopScan() { } /** - * Calculate the area filter the a supplied area + * Calculate the area filter of a supplied area * - * @param area Area to calculate filter for. + * @param areaProperties Area to calculate filter for. * @return Calculated Bit Filter for the supplied area. Bit 0 is area 1, bit 2 is area 2 and so on. */ private static int bitFilterForArea(AreaProperties areaProperties) { @@ -328,7 +328,7 @@ private void discoverThermostats() { /** * Discovers OmniLink areas */ - private @Nullable List discoverAreas() { + private List discoverAreas() { final ThingUID bridgeUID = thingHandler.getThing().getUID(); List areas = new LinkedList<>(); @@ -356,22 +356,18 @@ private void discoverThermostats() { final String name = thingName; systemType.ifPresentOrElse(t -> { - ThingUID thingUID = null; - switch (t) { - case LUMINA: - thingUID = new ThingUID(THING_TYPE_LUMINA_AREA, bridgeUID, thingID); - break; - default: - thingUID = new ThingUID(THING_TYPE_OMNI_AREA, bridgeUID, thingID); + ThingUID thingUID; + if (t == SystemType.LUMINA) { + thingUID = new ThingUID(THING_TYPE_LUMINA_AREA, bridgeUID, thingID); + } else { + thingUID = new ThingUID(THING_TYPE_OMNI_AREA, bridgeUID, thingID); } DiscoveryResult discoveryResult = DiscoveryResultBuilder.create(thingUID).withProperties(properties) .withProperty(THING_PROPERTIES_NUMBER, thingID) .withRepresentationProperty(THING_PROPERTIES_NUMBER).withBridge(bridgeUID).withLabel(name) .build(); thingDiscovered(discoveryResult); - }, () -> { - logger.warn("Unknown System Type"); - }); + }, () -> logger.warn("Unknown System Type")); areas.add(areaProperties); } @@ -397,7 +393,7 @@ private void discoverUnits() { int thingType = unitProperties.getUnitType(); String thingName = unitProperties.getName(); String thingID = Integer.toString(unitProperties.getNumber()); - ThingUID thingUID = null; + ThingUID thingUID; Map properties = new HashMap<>(); properties.put(THING_PROPERTIES_NAME, thingName); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java index e28539075cab9..9156addf9fa9b 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java @@ -21,7 +21,6 @@ * @author Craig Hamilton - Initial contribution */ @NonNullByDefault -@SuppressWarnings("serial") public class BridgeOfflineException extends Exception { public BridgeOfflineException(Exception e) { super(e); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractAreaHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractAreaHandler.java index 4680aafca86ad..f0c731abaf76c 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractAreaHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractAreaHandler.java @@ -67,14 +67,14 @@ public void initialize() { super.initialize(); if (bridgeHandler != null) { - updateAreaProperties(bridgeHandler); + updateAreaProperties(); } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR, "Received null bridge while initializing Area!"); } } - private void updateAreaProperties(OmnilinkBridgeHandler bridgeHandler) { + private void updateAreaProperties() { final List areas = getAreaProperties(); if (areas != null) { for (AreaProperties areaProperties : areas) { @@ -99,13 +99,10 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - switch (channelUID.getId()) { - case CHANNEL_AREA_ACTIVATE_KEYPAD_EMERGENCY: - handleKeypadEmergency(channelUID, command); - break; - default: - handleSecurityMode(channelUID, command); - break; + if (channelUID.getId().equals(CHANNEL_AREA_ACTIVATE_KEYPAD_EMERGENCY)) { + handleKeypadEmergency(command); + } else { + handleSecurityMode(channelUID, command); } } @@ -176,7 +173,7 @@ private void handleSecurityMode(ChannelUID channelUID, Command command) { */ protected abstract EnumSet getAlarms(); - private void handleKeypadEmergency(ChannelUID channelUID, Command command) { + private void handleKeypadEmergency(Command command) { if (command instanceof DecimalType decimalCommand) { try { final OmnilinkBridgeHandler bridge = getOmnilinkBridgeHandler(); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkHandler.java index 109362d6c00bc..f6c5db2b0f4fb 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkHandler.java @@ -71,7 +71,7 @@ protected void sendOmnilinkCommand(int message, int param1, int param2) { } /** - * Calculate the area filter the a supplied area + * Calculate the area filter of a supplied area * * @param areaProperties Area to calculate filter for. * @return Calculated Bit Filter for the supplied area. Bit 0 is area 1, bit 2 is area 2 and so on. @@ -120,7 +120,7 @@ protected int getThingNumber() { protected int getAreaNumber() { String areaNumber = getThing().getProperties().get(THING_PROPERTIES_AREA); if (areaNumber != null) { - return Integer.valueOf(areaNumber); + return Integer.parseInt(areaNumber); } else { return -1; } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkStatusHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkStatusHandler.java index 0923944cb7b0f..53fbed52f46f5 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkStatusHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AbstractOmnilinkStatusHandler.java @@ -25,7 +25,7 @@ /** * The {@link AbstractOmnilinkStatusHandler} defines some methods that can be used across - * the many different units exposed by the OmniLink protocol to retrive updated status information. + * the many different units exposed by the OmniLink protocol to retrieve updated status information. * * @author Craig Hamilton - Initial contribution * @author Ethan Dye - openHAB3 rewrite diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java index a523a82d7dce7..69cc06042985b 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java @@ -50,7 +50,6 @@ @NonNullByDefault public class AudioSourceHandler extends AbstractOmnilinkHandler { private final Logger logger = LoggerFactory.getLogger(AudioSourceHandler.class); - private final int pollDelaySeconds = 5; private final int thingID = getThingNumber(); private @Nullable ScheduledFuture scheduledPolling = null; public @Nullable String number; @@ -64,7 +63,7 @@ public void initialize() { final OmnilinkBridgeHandler bridgeHandler = getOmnilinkBridgeHandler(); if (bridgeHandler != null) { updateStatus(ThingStatus.ONLINE); - if (((Boolean) getThing().getConfiguration().get(THING_PROPERTIES_AUTOSTART)).booleanValue()) { + if ((Boolean) getThing().getConfiguration().get(THING_PROPERTIES_AUTOSTART)) { logger.debug("Autostart enabled, scheduling polling for Audio Source: {}", thingID); schedulePolling(); } else { @@ -104,6 +103,7 @@ private synchronized void cancelPolling() { private synchronized void schedulePolling() { cancelPolling(); logger.debug("Scheduling polling for Audio Source: {}", thingID); + int pollDelaySeconds = 5; scheduledPolling = super.scheduler.scheduleWithFixedDelay(this::pollAudioSource, 0, pollDelaySeconds, TimeUnit.SECONDS); } @@ -113,19 +113,17 @@ public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("handleCommand called for channel: {}, command: {}", channelUID, command); final ScheduledFuture scheduledPolling = this.scheduledPolling; - switch (channelUID.getId()) { - case CHANNEL_AUDIO_SOURCE_POLLING: - if (command instanceof RefreshType) { - updateState(CHANNEL_AUDIO_SOURCE_POLLING, - OnOffType.from((scheduledPolling != null && !scheduledPolling.isDone()))); - } else if (command instanceof OnOffType onOffCommand) { - handlePolling(channelUID, onOffCommand); - } else { - logger.debug("Invalid command: {}, must be RefreshType or OnOffType", command); - } - break; - default: - logger.warn("Unknown channel for Audio Source thing: {}", channelUID); + if (channelUID.getId().equals(CHANNEL_AUDIO_SOURCE_POLLING)) { + if (command instanceof RefreshType) { + updateState(CHANNEL_AUDIO_SOURCE_POLLING, + OnOffType.from((scheduledPolling != null && !scheduledPolling.isDone()))); + } else if (command instanceof OnOffType onOffCommand) { + handlePolling(channelUID, onOffCommand); + } else { + logger.debug("Invalid command: {}, must be RefreshType or OnOffType", command); + } + } else { + logger.warn("Unknown channel for Audio Source thing: {}", channelUID); } } @@ -174,7 +172,7 @@ public void pollAudioSource() { logger.debug("Received null bridge while polling Audio Source statuses!"); } } catch (OmniInvalidResponseException | OmniUnknownMessageTypeException | BridgeOfflineException e) { - logger.debug("Exception recieved while polling for Audio Source statuses: {}", e.getMessage()); + logger.debug("Exception received while polling for Audio Source statuses: {}", e.getMessage()); } } } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java index a96ff12563eac..68686d841d4e5 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java @@ -95,17 +95,15 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - switch (channelUID.getId()) { - case CHANNEL_BUTTON_PRESS: - if (command instanceof OnOffType) { - sendOmnilinkCommand(CommandMessage.CMD_BUTTON, 0, thingID); - updateChannels(); - } else { - logger.debug("Invalid command: {}, must be OnOffType", command); - } - break; - default: - logger.warn("Unknown channel for Button thing: {}", channelUID); + if (channelUID.getId().equals(CHANNEL_BUTTON_PRESS)) { + if (command instanceof OnOffType) { + sendOmnilinkCommand(CommandMessage.CMD_BUTTON, 0, thingID); + updateChannels(); + } else { + logger.debug("Invalid command: {}, must be OnOffType", command); + } + } else { + logger.warn("Unknown channel for Button thing: {}", channelUID); } } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/HumiditySensorHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/HumiditySensorHandler.java index 0c5f1363a3a82..d2f0034ae05f9 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/HumiditySensorHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/HumiditySensorHandler.java @@ -125,7 +125,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { thingID); break; default: - logger.warn("Unknown channel for Humdity Sensor thing: {}", channelUID); + logger.warn("Unknown channel for Humidity Sensor thing: {}", channelUID); } } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java index 8cd4098e5d19d..37236e8c93b65 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java @@ -88,17 +88,16 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - switch (channelUID.getId()) { - case CHANNEL_LOCK_SWITCH: - if (command instanceof OnOffType) { - sendOmnilinkCommand(OnOffType.OFF.equals(command) ? CommandMessage.CMD_UNLOCK_DOOR - : CommandMessage.CMD_LOCK_DOOR, 0, thingID); - } else { - logger.debug("Invalid command {}, must be OnOffType", command); - } - break; - default: - logger.warn("Unknown channel for Lock thing: {}", channelUID); + if (channelUID.getId().equals(CHANNEL_LOCK_SWITCH)) { + if (command instanceof OnOffType) { + sendOmnilinkCommand( + OnOffType.OFF.equals(command) ? CommandMessage.CMD_UNLOCK_DOOR : CommandMessage.CMD_LOCK_DOOR, + 0, thingID); + } else { + logger.debug("Invalid command {}, must be OnOffType", command); + } + } else { + logger.warn("Unknown channel for Lock thing: {}", channelUID); } } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LuminaAreaHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LuminaAreaHandler.java index 56f57d490b2f5..7166fc0f65ab5 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LuminaAreaHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LuminaAreaHandler.java @@ -44,22 +44,15 @@ public LuminaAreaHandler(Thing thing) { @Override protected int getMode(ChannelUID channelUID) { - switch (channelUID.getId()) { - case CHANNEL_AREA_SECURITY_MODE_HOME: - return CommandMessage.CMD_SECURITY_LUMINA_HOME_MODE; - case CHANNEL_AREA_SECURITY_MODE_SLEEP: - return CommandMessage.CMD_SECURITY_LUMINA_SLEEP_MODE; - case CHANNEL_AREA_SECURITY_MODE_AWAY: - return CommandMessage.CMD_SECURITY_LUMINA_AWAY_MODE; - case CHANNEL_AREA_SECURITY_MODE_VACATION: - return CommandMessage.CMD_SECURITY_LUMINA_VACATION_MODE; - case CHANNEL_AREA_SECURITY_MODE_PARTY: - return CommandMessage.CMD_SECURITY_LUMINA_PARTY_MODE; - case CHANNEL_AREA_SECURITY_MODE_SPECIAL: - return CommandMessage.CMD_SECURITY_LUMINA_SPECIAL_MODE; - default: - throw new IllegalStateException("Unknown channel for area thing " + channelUID); - } + return switch (channelUID.getId()) { + case CHANNEL_AREA_SECURITY_MODE_HOME -> CommandMessage.CMD_SECURITY_LUMINA_HOME_MODE; + case CHANNEL_AREA_SECURITY_MODE_SLEEP -> CommandMessage.CMD_SECURITY_LUMINA_SLEEP_MODE; + case CHANNEL_AREA_SECURITY_MODE_AWAY -> CommandMessage.CMD_SECURITY_LUMINA_AWAY_MODE; + case CHANNEL_AREA_SECURITY_MODE_VACATION -> CommandMessage.CMD_SECURITY_LUMINA_VACATION_MODE; + case CHANNEL_AREA_SECURITY_MODE_PARTY -> CommandMessage.CMD_SECURITY_LUMINA_PARTY_MODE; + case CHANNEL_AREA_SECURITY_MODE_SPECIAL -> CommandMessage.CMD_SECURITY_LUMINA_SPECIAL_MODE; + default -> throw new IllegalStateException("Unknown channel for area thing " + channelUID); + }; } @Override diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmniAreaHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmniAreaHandler.java index 0cf13d997c9b1..22905fb17d9ed 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmniAreaHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmniAreaHandler.java @@ -45,24 +45,16 @@ public OmniAreaHandler(Thing thing) { @Override protected int getMode(ChannelUID channelUID) { - switch (channelUID.getId()) { - case CHANNEL_AREA_SECURITY_MODE_DISARM: - return CommandMessage.CMD_SECURITY_OMNI_DISARM; - case CHANNEL_AREA_SECURITY_MODE_DAY: - return CommandMessage.CMD_SECURITY_OMNI_DAY_MODE; - case CHANNEL_AREA_SECURITY_MODE_NIGHT: - return CommandMessage.CMD_SECURITY_OMNI_NIGHT_MODE; - case CHANNEL_AREA_SECURITY_MODE_AWAY: - return CommandMessage.CMD_SECURITY_OMNI_AWAY_MODE; - case CHANNEL_AREA_SECURITY_MODE_VACATION: - return CommandMessage.CMD_SECURITY_OMNI_VACATION_MODE; - case CHANNEL_AREA_SECURITY_MODE_DAY_INSTANT: - return CommandMessage.CMD_SECURITY_OMNI_DAY_INSTANT_MODE; - case CHANNEL_AREA_SECURITY_MODE_NIGHT_DELAYED: - return CommandMessage.CMD_SECURITY_OMNI_NIGHT_DELAYED_MODE; - default: - throw new IllegalStateException("Unknown channel for area thing " + channelUID); - } + return switch (channelUID.getId()) { + case CHANNEL_AREA_SECURITY_MODE_DISARM -> CommandMessage.CMD_SECURITY_OMNI_DISARM; + case CHANNEL_AREA_SECURITY_MODE_DAY -> CommandMessage.CMD_SECURITY_OMNI_DAY_MODE; + case CHANNEL_AREA_SECURITY_MODE_NIGHT -> CommandMessage.CMD_SECURITY_OMNI_NIGHT_MODE; + case CHANNEL_AREA_SECURITY_MODE_AWAY -> CommandMessage.CMD_SECURITY_OMNI_AWAY_MODE; + case CHANNEL_AREA_SECURITY_MODE_VACATION -> CommandMessage.CMD_SECURITY_OMNI_VACATION_MODE; + case CHANNEL_AREA_SECURITY_MODE_DAY_INSTANT -> CommandMessage.CMD_SECURITY_OMNI_DAY_INSTANT_MODE; + case CHANNEL_AREA_SECURITY_MODE_NIGHT_DELAYED -> CommandMessage.CMD_SECURITY_OMNI_NIGHT_DELAYED_MODE; + default -> throw new IllegalStateException("Unknown channel for area thing " + channelUID); + }; } @Override diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/TempSensorHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/TempSensorHandler.java index 0f882cd5746da..fb2ac46d2693e 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/TempSensorHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/TempSensorHandler.java @@ -103,7 +103,7 @@ private void updateTempSensorProperties(OmnilinkBridgeHandler bridgeHandler) { public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("handleCommand called for channel: {}, command: {}", channelUID, command); final OmnilinkBridgeHandler bridgeHandler = getOmnilinkBridgeHandler(); - Optional temperatureFormat = Optional.empty(); + Optional temperatureFormat; if (command instanceof RefreshType) { retrieveStatus().ifPresentOrElse(this::updateChannels, () -> updateStatus(ThingStatus.OFFLINE, @@ -118,7 +118,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { if (bridgeHandler != null) { temperatureFormat = bridgeHandler.getTemperatureFormat(); if (temperatureFormat.isEmpty()) { - logger.warn("Receieved null temperature format!"); + logger.warn("Received null temperature format!"); return; } } else { @@ -158,7 +158,7 @@ public void updateChannels(ExtendedAuxSensorStatus status) { temperatureFormat.get().omniToFormat(status.getHeatSetpoint()), temperatureFormat.get().getFormatNumber() == 1 ? ImperialUnits.FAHRENHEIT : SIUnits.CELSIUS)); } else { - logger.warn("Receieved null temperature format, could not update Temperature Sensor channels!"); + logger.warn("Received null temperature format, could not update Temperature Sensor channels!"); } } else { logger.debug("Received null bridge while updating Temperature Sensor channels!"); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ThermostatHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ThermostatHandler.java index c3241e2f2fbe8..e7c0d311f7a38 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ThermostatHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ThermostatHandler.java @@ -75,7 +75,7 @@ private enum ThermostatStatus { private final int bit; private final int modeValue; - private ThermostatStatus(int bit, int modeValue) { + ThermostatStatus(int bit, int modeValue) { this.bit = bit; this.modeValue = modeValue; } @@ -122,7 +122,7 @@ private void updateThermostatProperties(OmnilinkBridgeHandler bridgeHandler) { public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("handleCommand called for channel: {}, command: {}", channelUID, command); final OmnilinkBridgeHandler bridgeHandler = getOmnilinkBridgeHandler(); - Optional temperatureFormat = Optional.empty(); + Optional temperatureFormat; if (command instanceof RefreshType) { retrieveStatus().ifPresentOrElse(this::updateChannels, () -> updateStatus(ThingStatus.OFFLINE, @@ -137,7 +137,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { if (bridgeHandler != null) { temperatureFormat = bridgeHandler.getTemperatureFormat(); if (temperatureFormat.isEmpty()) { - logger.warn("Receieved null temperature format!"); + logger.warn("Received null temperature format!"); return; } } else { @@ -226,7 +226,7 @@ protected void updateChannels(ExtendedThermostatStatus status) { temperatureFormat.get().omniToFormat(status.getHeatSetpoint()), temperatureFormat.get().getFormatNumber() == 1 ? ImperialUnits.FAHRENHEIT : SIUnits.CELSIUS)); } else { - logger.warn("Receieved null temperature format, could not update Thermostat channels!"); + logger.warn("Received null temperature format, could not update Thermostat channels!"); } } else { logger.warn("Could not connect to Bridge, failed to get temperature format!"); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java index 15dd30795409f..5025089413361 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java @@ -162,9 +162,7 @@ public void updateChannels(ExtendedUnitStatus status) { int unitStatus = status.getStatus(); int level = 0; - if (unitStatus == Status.UNIT_OFF) { - level = 0; - } else if (unitStatus == Status.UNIT_ON) { + if (unitStatus == Status.UNIT_ON) { level = 100; } else if ((unitStatus >= Status.UNIT_SCENE_A) && (unitStatus <= Status.UNIT_SCENE_L)) { level = 100; @@ -195,7 +193,6 @@ protected Optional retrieveStatus() { } private static class Status { - private static final int UNIT_OFF = 0; private static final int UNIT_ON = 1; private static final int UNIT_SCENE_A = 2; private static final int UNIT_SCENE_L = 13; @@ -206,7 +203,7 @@ private static class Status { /** * Handle a switch press event by triggering the appropriate channel. * - * @param switchPressEvent + * @param switchPressEvent A switch press event to handle. */ public void handleSwitchPressEvent(SwitchPressEvent switchPressEvent) { ChannelUID activateChannel = new ChannelUID(getThing().getUID(), TRIGGER_CHANNEL_SWITCH_PRESS_EVENT); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ZoneHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ZoneHandler.java index 73f541c7d1f30..b5b9fda5765b3 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ZoneHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ZoneHandler.java @@ -81,7 +81,7 @@ private void updateZoneProperties(OmnilinkBridgeHandler bridgeHandler) { final List areas = super.getAreaProperties(); if (areas != null) { for (AreaProperties areaProperties : areas) { - int areaFilter = super.bitFilterForArea(areaProperties); + int areaFilter = bitFilterForArea(areaProperties); ObjectPropertyRequest objectPropertyRequest = ObjectPropertyRequest .builder(bridgeHandler, ObjectPropertyRequests.ZONE, getThingNumber(), 0).selectNamed() @@ -115,16 +115,11 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - switch (channelUID.getId()) { - case CHANNEL_ZONE_BYPASS: - mode = CommandMessage.CMD_SECURITY_BYPASS_ZONE; - break; - case CHANNEL_ZONE_RESTORE: - mode = CommandMessage.CMD_SECURITY_RESTORE_ZONE; - break; - default: - mode = -1; - } + mode = switch (channelUID.getId()) { + case CHANNEL_ZONE_BYPASS -> CommandMessage.CMD_SECURITY_BYPASS_ZONE; + case CHANNEL_ZONE_RESTORE -> CommandMessage.CMD_SECURITY_RESTORE_ZONE; + default -> -1; + }; logger.debug("mode {} on zone {} with code {}", mode, thingID, command.toFullString()); char[] code = command.toFullString().toCharArray(); if (code.length != 4) { @@ -174,7 +169,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { @Override protected void updateChannels(ExtendedZoneStatus zoneStatus) { // 0 Secure. 1 Not ready, 3 Trouble - int current = ((zoneStatus.getStatus() >> 0) & 0x03); + int current = ((zoneStatus.getStatus()) & 0x03); // 0 Secure, 1 Tripped, 2 Reset, but previously tripped int latched = ((zoneStatus.getStatus() >> 2) & 0x03); // 0 Disarmed, 1 Armed, 2 Bypass user, 3 Bypass system diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java index f16719f282123..6d33656f52dff 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java @@ -49,13 +49,11 @@ public DimmableUnitHandler(Thing thing) { @Override public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("handleCommand called for channel: {}, command: {}", channelUID, command); - switch (channelUID.getId()) { - case CHANNEL_UNIT_LEVEL: - handleUnitLevel(channelUID, command); - break; - default: - logger.debug("Unknown channel for Dimmable Unit thing: {}", channelUID); - super.handleCommand(channelUID, command); + if (channelUID.getId().equals(CHANNEL_UNIT_LEVEL)) { + handleUnitLevel(channelUID, command); + } else { + logger.debug("Unknown channel for Dimmable Unit thing: {}", channelUID); + super.handleCommand(channelUID, command); } } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/UpbRoomHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/UpbRoomHandler.java index 0cba3e35ee3ac..6bebcb959dcea 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/UpbRoomHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/UpbRoomHandler.java @@ -146,7 +146,7 @@ private void handleRoomState(ChannelUID channelUID, DecimalType command) { param2 = ((roomNum * 6) - 3) + cmdValue - 2; break; default: - logger.warn("Unexpected UPB Room state: {}", Integer.toString(cmdValue)); + logger.warn("Unexpected UPB Room state: {}", cmdValue); return; } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java index 1637d89dae0e5..ead8db3cc142a 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java @@ -55,18 +55,16 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - switch (channelUID.getId()) { - case CHANNEL_UPB_STATUS: - if (command instanceof StringType) { - sendOmnilinkCommand(CommandMessage.CMD_UNIT_UPB_REQ_STATUS, 0, thingID); - updateState(CHANNEL_UPB_STATUS, UnDefType.UNDEF); - } else { - logger.debug("Invalid command: {}, must be StringType", command); - } - break; - default: - logger.debug("Unknown channel for UPB Unit thing: {}", channelUID); - super.handleCommand(channelUID, command); + if (channelUID.getId().equals(CHANNEL_UPB_STATUS)) { + if (command instanceof StringType) { + sendOmnilinkCommand(CommandMessage.CMD_UNIT_UPB_REQ_STATUS, 0, thingID); + updateState(CHANNEL_UPB_STATUS, UnDefType.UNDEF); + } else { + logger.debug("Invalid command: {}, must be StringType", command); + } + } else { + logger.debug("Unknown channel for UPB Unit thing: {}", channelUID); + super.handleCommand(channelUID, command); } } } From b0a7fe3846d4afb530b7ffaaed1b746d9bf2ef4e Mon Sep 17 00:00:00 2001 From: Ethan Dye Date: Wed, 1 Jan 2025 13:58:58 -0700 Subject: [PATCH 4/6] Use constant Signed-off-by: Ethan Dye --- .../openhab/binding/omnilink/internal/handler/UnitHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java index 5025089413361..e098639d39f6a 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/UnitHandler.java @@ -160,7 +160,7 @@ protected void handleOnOff(ChannelUID channelUID, OnOffType command) { public void updateChannels(ExtendedUnitStatus status) { logger.debug("updateChannels called for Unit status: {}", status); int unitStatus = status.getStatus(); - int level = 0; + int level = Status.UNIT_OFF; if (unitStatus == Status.UNIT_ON) { level = 100; @@ -193,6 +193,7 @@ protected Optional retrieveStatus() { } private static class Status { + private static final int UNIT_OFF = 0; private static final int UNIT_ON = 1; private static final int UNIT_SCENE_A = 2; private static final int UNIT_SCENE_L = 13; From 068b8f692eccc9f03cb78a77fdf0e6a8879ae5b5 Mon Sep 17 00:00:00 2001 From: Ethan Dye Date: Thu, 2 Jan 2025 21:15:22 -0700 Subject: [PATCH 5/6] Address review suggestions Signed-off-by: Ethan Dye --- .../omnilink/internal/exceptions/BridgeOfflineException.java | 2 ++ .../binding/omnilink/internal/handler/AudioSourceHandler.java | 2 +- .../binding/omnilink/internal/handler/ButtonHandler.java | 2 +- .../openhab/binding/omnilink/internal/handler/LockHandler.java | 2 +- .../omnilink/internal/handler/OmnilinkBridgeHandler.java | 3 +-- .../omnilink/internal/handler/units/DimmableUnitHandler.java | 2 +- .../internal/handler/units/dimmable/UpbUnitHandler.java | 2 +- 7 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java index 9156addf9fa9b..e56f2ec718db2 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/exceptions/BridgeOfflineException.java @@ -22,6 +22,8 @@ */ @NonNullByDefault public class BridgeOfflineException extends Exception { + private static final long serialVersionUID = 1L; + public BridgeOfflineException(Exception e) { super(e); } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java index 69cc06042985b..580974705698b 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/AudioSourceHandler.java @@ -113,7 +113,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("handleCommand called for channel: {}, command: {}", channelUID, command); final ScheduledFuture scheduledPolling = this.scheduledPolling; - if (channelUID.getId().equals(CHANNEL_AUDIO_SOURCE_POLLING)) { + if (CHANNEL_AUDIO_SOURCE_POLLING.equals(channelUID.getId())) { if (command instanceof RefreshType) { updateState(CHANNEL_AUDIO_SOURCE_POLLING, OnOffType.from((scheduledPolling != null && !scheduledPolling.isDone()))); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java index 68686d841d4e5..f01a4ba313e80 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/ButtonHandler.java @@ -95,7 +95,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - if (channelUID.getId().equals(CHANNEL_BUTTON_PRESS)) { + if (CHANNEL_BUTTON_PRESS.equals(channelUID.getId())) { if (command instanceof OnOffType) { sendOmnilinkCommand(CommandMessage.CMD_BUTTON, 0, thingID); updateChannels(); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java index 37236e8c93b65..77409400a1baf 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/LockHandler.java @@ -88,7 +88,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - if (channelUID.getId().equals(CHANNEL_LOCK_SWITCH)) { + if (CHANNEL_LOCK_SWITCH.equals(channelUID.getId())) { if (command instanceof OnOffType) { sendOmnilinkCommand( OnOffType.OFF.equals(command) ? CommandMessage.CMD_UNLOCK_DOOR : CommandMessage.CMD_LOCK_DOOR, diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java index d3f54c1681d74..a6434c897fc1c 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java @@ -594,8 +594,7 @@ public void initialize() { private void scheduleReconnectJob() { ScheduledFuture currentReconnectJob = connectJob; if (currentReconnectJob == null || currentReconnectJob.isDone()) { - int autoReconnectPeriod = 60; - connectJob = super.scheduler.scheduleWithFixedDelay(this::makeOmnilinkConnection, 0, autoReconnectPeriod, + connectJob = super.scheduler.scheduleWithFixedDelay(this::makeOmnilinkConnection, 0, 60, TimeUnit.SECONDS); } } diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java index 6d33656f52dff..adc0066cbf3d8 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/DimmableUnitHandler.java @@ -49,7 +49,7 @@ public DimmableUnitHandler(Thing thing) { @Override public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("handleCommand called for channel: {}, command: {}", channelUID, command); - if (channelUID.getId().equals(CHANNEL_UNIT_LEVEL)) { + if (CHANNEL_UNIT_LEVEL.equals(channelUID.getId())) { handleUnitLevel(channelUID, command); } else { logger.debug("Unknown channel for Dimmable Unit thing: {}", channelUID); diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java index ead8db3cc142a..c3dde2af81ae1 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/units/dimmable/UpbUnitHandler.java @@ -55,7 +55,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - if (channelUID.getId().equals(CHANNEL_UPB_STATUS)) { + if (CHANNEL_UPB_STATUS.equals(channelUID.getId())) { if (command instanceof StringType) { sendOmnilinkCommand(CommandMessage.CMD_UNIT_UPB_REQ_STATUS, 0, thingID); updateState(CHANNEL_UPB_STATUS, UnDefType.UNDEF); From 9266154b8ebaa9323021eedaaaee79591747b60a Mon Sep 17 00:00:00 2001 From: Ethan Dye Date: Thu, 2 Jan 2025 21:16:48 -0700 Subject: [PATCH 6/6] Apply spotless Signed-off-by: Ethan Dye --- .../omnilink/internal/handler/OmnilinkBridgeHandler.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java index a6434c897fc1c..29fc958e3e1e1 100644 --- a/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java +++ b/bundles/org.openhab.binding.omnilink/src/main/java/org/openhab/binding/omnilink/internal/handler/OmnilinkBridgeHandler.java @@ -594,8 +594,7 @@ public void initialize() { private void scheduleReconnectJob() { ScheduledFuture currentReconnectJob = connectJob; if (currentReconnectJob == null || currentReconnectJob.isDone()) { - connectJob = super.scheduler.scheduleWithFixedDelay(this::makeOmnilinkConnection, 0, 60, - TimeUnit.SECONDS); + connectJob = super.scheduler.scheduleWithFixedDelay(this::makeOmnilinkConnection, 0, 60, TimeUnit.SECONDS); } }