diff --git a/bundles/org.openhab.binding.velux/README.md b/bundles/org.openhab.binding.velux/README.md index df277da3c..a5d7dd356 100644 --- a/bundles/org.openhab.binding.velux/README.md +++ b/bundles/org.openhab.binding.velux/README.md @@ -197,7 +197,7 @@ The bridge Thing provides the following properties. | products | List of all recognized products | | scenes | List of all defined scenes | | subnetMask | IP subnetmask of the Bridge | -| vendor | Vendow name | +| vendor | Vendor name | | WLANSSID | Name of the wireless network (not suported any more) | | WLANPassword | WLAN Authentication Password (not suported any more) | diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBinding.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBinding.java index c213dffc2..b483c9ff8 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBinding.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBinding.java @@ -16,7 +16,6 @@ import static org.apache.commons.lang.StringUtils.isNotBlank; import java.lang.reflect.Field; -import org.apache.commons.lang.StringUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.velux.internal.config.VeluxBridgeConfiguration; @@ -56,8 +55,9 @@ public class VeluxBinding extends VeluxBridgeConfiguration { logger.trace("VeluxBinding(constructor) called."); if (logger.isTraceEnabled()) { for (Field field : VeluxBridgeConfiguration.class.getFields()) { - if (!StringUtils.capitalize(field.getName()).contentEquals(field.getName())) { - logger.trace("VeluxBinding(): FYI: a potential configuration string is '{}'.", field.getName()); + String fName = field.getName(); + if ((fName.length() > 0) && Character.isUpperCase(fName.charAt(0))) { + logger.trace("VeluxBinding(): FYI: a potential configuration string is '{}'.", fName); } } } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeActuators.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeActuators.java index b09ddbf56..e77d39c2c 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeActuators.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeActuators.java @@ -64,7 +64,6 @@ public class VeluxBridgeActuators { *
* Used within structure {@link JCgetFirmware} to describe the software of the Bridge. */ - @NonNullByDefault private static class BCfirmwareVersion { /* * "version": "0.1.1.0.41.0" @@ -100,7 +98,6 @@ class JCgetFirmware extends GetFirmware implements JsonBridgeCommunicationProtoc * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetLANConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetLANConfig.java index 14165afb4..1b1537daa 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetLANConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetLANConfig.java @@ -57,7 +57,6 @@ class JCgetLANConfig extends GetLANConfig implements BridgeCommunicationProtocol * {"action":"get","params":{}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -81,7 +80,6 @@ class JCgetLANConfig extends GetLANConfig implements BridgeCommunicationProtocol * {"ipAddress":"192.168.45.9","subnetMask":"255.255.255.0","defaultGateway":"192.168.45.129","dhcp":false} * */ - @NonNullByDefault private static class BCLANConfig { private String ipAddress = VeluxBindingConstants.UNKNOWN; private String subnetMask = VeluxBindingConstants.UNKNOWN; @@ -111,7 +109,6 @@ class JCgetLANConfig extends GetLANConfig implements BridgeCommunicationProtocol * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetProducts.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetProducts.java index b70c6566f..64bba1bbd 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetProducts.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetProducts.java @@ -61,7 +61,6 @@ class JCgetProducts extends GetProducts implements JsonBridgeCommunicationProtoc * ] * */ - @NonNullByDefault private class BCproduct { private String name = VeluxBindingConstants.UNKNOWN; @SuppressWarnings("unused") @@ -84,7 +83,6 @@ class JCgetProducts extends GetProducts implements JsonBridgeCommunicationProtoc * {"action":"get","params":{}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -126,7 +124,6 @@ class JCgetProducts extends GetProducts implements JsonBridgeCommunicationProtoc * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetScenes.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetScenes.java index 284a28579..e3dedd392 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetScenes.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetScenes.java @@ -59,7 +59,6 @@ class JCgetScenes extends GetScenes implements JsonBridgeCommunicationProtocol { * "status": 0 * */ - @NonNullByDefault private static class BCproductState { private int typeId; private String name = VeluxBindingConstants.UNKNOWN; @@ -91,7 +90,6 @@ class JCgetScenes extends GetScenes implements JsonBridgeCommunicationProtocol { * }, * */ - @NonNullByDefault private static class BCscene { private String name = VeluxBindingConstants.UNKNOWN; private int id; @@ -110,7 +108,6 @@ class JCgetScenes extends GetScenes implements JsonBridgeCommunicationProtocol { * {"action":"get","params":{}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -150,7 +147,6 @@ class JCgetScenes extends GetScenes implements JsonBridgeCommunicationProtocol { * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetWLANConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetWLANConfig.java index 0831033db..50a36b51e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetWLANConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetWLANConfig.java @@ -57,7 +57,6 @@ class JCgetWLANConfig extends GetWLANConfig implements JsonBridgeCommunicationPr * {"action":"wifi","params":{}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -81,7 +80,6 @@ class JCgetWLANConfig extends GetWLANConfig implements JsonBridgeCommunicationPr * {"password":"Esf56mxqFY","name":"VELUX_KLF_847C"} * */ - @NonNullByDefault private static class BCWLANConfig { private String password = VeluxBindingConstants.UNKNOWN; @@ -110,7 +108,6 @@ class JCgetWLANConfig extends GetWLANConfig implements JsonBridgeCommunicationPr * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogin.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogin.java index 3e8880dc0..2cbf552d3 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogin.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogin.java @@ -45,7 +45,6 @@ class JClogin extends Login implements JsonBridgeCommunicationProtocol { /* * Message Objects */ - @NonNullByDefault private static class ParamsLogin { @SuppressWarnings("unused") private String password = VeluxBindingConstants.UNKNOWN; @@ -61,7 +60,6 @@ class JClogin extends Login implements JsonBridgeCommunicationProtocol { * {"action":"login","params":{"password":"PASSWORD"}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -83,7 +81,6 @@ class JClogin extends Login implements JsonBridgeCommunicationProtocol { * '{"token": "PHPnfLda71xfGlxoYEOTGQ==", "result": true, "deviceStatus": "IDLE", "data": {}, "errors": [] }' * */ - @NonNullByDefault private static class Response { private String token = VeluxBindingConstants.UNKNOWN; private boolean result; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogout.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogout.java index 62f788d21..57a04cd87 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogout.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JClogout.java @@ -51,7 +51,6 @@ class JClogout extends Logout implements JsonBridgeCommunicationProtocol { * {"action":"logout","params":{}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -75,7 +74,6 @@ class JClogout extends Logout implements JsonBridgeCommunicationProtocol { * '{"token": "PHPnfLda71xfGlxoYEOTGQ==", "result": true, "deviceStatus": "IDLE", "data": {}, "errors": [] }' * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductDiscovery.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductDiscovery.java index 4f01d18c6..1d5ddcbf6 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductDiscovery.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductDiscovery.java @@ -58,7 +58,6 @@ class JCrunProductDiscovery extends RunProductDiscovery implements JsonBridgeCom * NOTE: the gateway software is extremely sensitive to this exact JSON structure. * Any modifications (like omitting empty params) will lead to an gateway error. */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -89,7 +88,6 @@ class JCrunProductDiscovery extends RunProductDiscovery implements JsonBridgeCom * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductIdentification.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductIdentification.java index a70b9227d..0f0e2c17c 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductIdentification.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductIdentification.java @@ -46,7 +46,6 @@ class JCrunProductIdentification extends RunProductIdentification implements Jso /* * Message Objects */ - @NonNullByDefault private static class ParamsIdentifyProduct { @SuppressWarnings("unused") private int id; @@ -68,7 +67,6 @@ class JCrunProductIdentification extends RunProductIdentification implements Jso * {"action":"identify","params":{"id":23,"time":254}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") private String action; @@ -98,7 +96,6 @@ class JCrunProductIdentification extends RunProductIdentification implements Jso * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductSearch.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductSearch.java index df42711c8..01c809712 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductSearch.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunProductSearch.java @@ -60,7 +60,6 @@ class JCrunProductSearch extends RunProductSearch implements JsonBridgeCommunica * NOTE: the gateway software is extremely sensitive to this exact JSON structure. * Any modifications (like omitting empty params) will lead to an gateway error. */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") @@ -91,7 +90,6 @@ class JCrunProductSearch extends RunProductSearch implements JsonBridgeCommunica * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunScene.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunScene.java index bc4475599..9f94a3267 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunScene.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCrunScene.java @@ -42,7 +42,6 @@ class JCrunScene extends RunScene implements JsonBridgeCommunicationProtocol { /* * Message Objects */ - @NonNullByDefault private static class ParamsRunScene { @SuppressWarnings("unused") private int id; @@ -58,7 +57,6 @@ class JCrunScene extends RunScene implements JsonBridgeCommunicationProtocol { * {"action":"run","params":{"id":9}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") private String action; @@ -86,7 +84,6 @@ class JCrunScene extends RunScene implements JsonBridgeCommunicationProtocol { * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCsetSceneVelocity.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCsetSceneVelocity.java index 6b5073b11..e96f30f2d 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCsetSceneVelocity.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCsetSceneVelocity.java @@ -45,7 +45,6 @@ class JCsetSceneVelocity extends SetSceneVelocity implements JsonBridgeCommunica /* * Message Objects */ - @NonNullByDefault private static class ParamsRunScene { @SuppressWarnings("unused") private int id; @@ -68,7 +67,6 @@ class JCsetSceneVelocity extends SetSceneVelocity implements JsonBridgeCommunica * {"action":"setSilentMode","params":{"id":9,"silent":false}}} * */ - @NonNullByDefault private static class Request { @SuppressWarnings("unused") private String action; @@ -97,7 +95,6 @@ class JCsetSceneVelocity extends SetSceneVelocity implements JsonBridgeCommunica * } * */ - @NonNullByDefault private static class Response { @SuppressWarnings("unused") private String token = VeluxBindingConstants.UNKNOWN; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonVeluxBridge.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonVeluxBridge.java index 17f937112..b5092e1a8 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonVeluxBridge.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonVeluxBridge.java @@ -12,13 +12,13 @@ */ package org.openhab.binding.velux.internal.bridge.json; +import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Properties; import java.util.TreeSet; -import org.apache.commons.io.IOUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.binding.velux.internal.bridge.VeluxBridge; import org.openhab.binding.velux.internal.bridge.VeluxBridgeInstance; @@ -185,6 +185,9 @@ public class JsonVeluxBridge extends VeluxBridge { } else { response = ioUnauthenticated(sapURL, getRequest, classOfResponse); } + if (response == null) { + throw new IOException("Failed to create 'response' object"); + } communication.setResponse(response); logger.trace("bridgeCommunicate(): communication result is {}, returning details.", communication.isCommunicationSuccessful()); @@ -233,7 +236,7 @@ public class JsonVeluxBridge extends VeluxBridge { if (authentication.length() > 0) { headerItems.setProperty("Authorization", String.format("Bearer %s", authentication)); } - InputStream content = IOUtils.toInputStream(jsonRequest, StandardCharsets.UTF_8.name()); + InputStream content = new ByteArrayInputStream(jsonRequest.getBytes(StandardCharsets.UTF_8)); String jsonResponse = HttpUtil.executeUrl("PUT", url, headerItems, content, "application/json", this.bridgeInstance.veluxBridgeConfiguration().timeoutMsecs); @@ -253,7 +256,6 @@ public class JsonVeluxBridge extends VeluxBridge { T response = gson.fromJson(jsonResponse, classOfResponse); lastCommunicationInMSecs = lastSuccessfulCommunicationInMSecs = System.currentTimeMillis(); return response; - } catch (IOException ioe) { logger.trace("io(): Exception occurred during I/O: {}.", ioe.getMessage()); // Error Retries with Exponential Backoff @@ -269,7 +271,6 @@ public class JsonVeluxBridge extends VeluxBridge { logger.info("io(): Exception occurred on deserialization: {}, aborting.", jse.getMessage()); throw jse; } - } while (retryCount++ < this.bridgeInstance.veluxBridgeConfiguration().retries); throw new IOException(String.format("io(): socket I/O failed (%d times).", this.bridgeInstance.veluxBridgeConfiguration().retries)); diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipEncoding.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipEncoding.java index 3c4e74064..2af5030b7 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipEncoding.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipEncoding.java @@ -58,7 +58,7 @@ public class SlipEncoding { */ public SlipEncoding(short command, byte[] data) { logger.trace("SlipEncoding(constructor) for command 0x{} with data size {} called.", - Integer.toHexString(new Short(command).intValue()), data.length); + Integer.toHexString(Short.valueOf(command).intValue()), data.length); if (data.length > 250) { logger.warn("SlipEncoding(constructor) called with data size {}: too big, aborting.", data.length); encodingValid = false; diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/factory/VeluxHandlerFactory.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/factory/VeluxHandlerFactory.java index 52710a791..41b8708c4 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/factory/VeluxHandlerFactory.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/factory/VeluxHandlerFactory.java @@ -68,9 +68,11 @@ public class VeluxHandlerFactory extends BaseThingHandlerFactory { private void registerDeviceDiscoveryService(VeluxBridgeHandler bridgeHandler) { logger.trace("registerDeviceDiscoveryService({}) called.", bridgeHandler); - boolean createNew = (discoveryService == null); - if (createNew) { + boolean createNew = false; + VeluxDiscoveryService discoveryService = this.discoveryService; + if (discoveryService == null) { discoveryService = new VeluxDiscoveryService(localization); + createNew = true; } discoveryService.addBridge(bridgeHandler); if (createNew) { @@ -81,10 +83,14 @@ public class VeluxHandlerFactory extends BaseThingHandlerFactory { private synchronized void unregisterDeviceDiscoveryService(VeluxBridgeHandler bridgeHandler) { logger.trace("unregisterDeviceDiscoveryService({}) called.", bridgeHandler); + VeluxDiscoveryService discoveryService = this.discoveryService; if (discoveryService != null) { discoveryService.removeBridge(bridgeHandler); if (discoveryService.isEmpty()) { - discoveryServiceRegistration.unregister(); + ServiceRegistration> discoveryServiceRegistration = this.discoveryServiceRegistration; + if (discoveryServiceRegistration != null) { + discoveryServiceRegistration.unregister(); + } } } } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBridgeHandler.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBridgeHandler.java index c39a3415f..cf178211c 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBridgeHandler.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBridgeHandler.java @@ -156,7 +156,6 @@ public class VeluxBridgeHandler extends ExtendedBaseBridgeHandler implements Vel *