From 55c8556783e1e870c71c0ba05c237825b3b03fc6 Mon Sep 17 00:00:00 2001 From: J-N-K Date: Mon, 27 Apr 2020 13:51:28 +0200 Subject: [PATCH] Apply Spotless formatter (#7449) Signed-off-by: Jan N. Klug --- .gitattributes | 2 + bom/openhab-addons/pom.xml | 6 +- bom/openhab-core-index/pom.xml | 4 +- bom/pom.xml | 13 +- bom/runtime-index/pom.xml | 4 +- bom/test-index/pom.xml | 4 +- bundles/create_openhab_binding_skeleton.cmd | 88 +- bundles/org.openhab.binding.adorne/pom.xml | 4 +- .../internal/handler/AdorneDimmerHandler.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 10 +- .../org.openhab.binding.airquality/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/AirQualityBindingConstants.java | 1 - .../internal/AirQualityConfiguration.java | 1 - .../internal/AirQualityHandlerFactory.java | 1 - .../discovery/AirQualityDiscoveryService.java | 1 - .../internal/handler/AirQualityHandler.java | 1 - .../internal/json/AirQualityJsonCity.java | 1 - .../internal/json/AirQualityJsonData.java | 1 - .../internal/json/AirQualityJsonIaqi.java | 1 - .../internal/json/AirQualityJsonResponse.java | 1 - .../internal/json/AirQualityJsonTime.java | 1 - .../airquality/internal/json/Attribute.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 48 +- .../org.openhab.binding.airvisualnode/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../AirVisualNodeBindingConstants.java | 7 +- .../AirVisualNodeDiscoveryService.java | 1 - .../handler/AirVisualNodeHandler.java | 24 +- .../internal/json/DateAndTime.java | 1 - .../internal/json/Measurements.java | 5 +- .../airvisualnode/internal/json/NodeData.java | 1 - .../internal/json/PowerSaving.java | 2 +- .../internal/json/PowerSavingTime.java | 1 - .../internal/json/PowerSavingTimeSlot.java | 1 - .../airvisualnode/internal/json/Settings.java | 1 - .../airvisualnode/internal/json/Status.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 32 +- bundles/org.openhab.binding.allplay/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../allplay/internal/AllPlayAudioSink.java | 1 - .../internal/AllPlayHandlerFactory.java | 1 - .../AllPlaySpeakerDiscoveryService.java | 2 - .../internal/handler/AllPlayHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 47 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../AmazonDashButtonBindingConstants.java | 1 - .../AmazonDashButtonConfigOptionProvider.java | 1 - .../AmazonDashButtonDiscoveryService.java | 1 - .../pcap/PcapNetworkInterfaceService.java | 1 - .../pcap/PcapNetworkInterfaceWrapper.java | 1 - .../pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../AmazonEchoControlBindingConstants.java | 224 +- .../AmazonEchoControlHandlerFactory.java | 355 +- .../internal/WebSocketConnection.java | 4 +- .../channelhandler/ChannelHandler.java | 1 - .../ChannelHandlerSendMessage.java | 1 - .../internal/handler/AccountHandler.java | 2 - .../internal/jsons/JsonActivities.java | 2 - .../jsons/JsonAnnouncementContent.java | 2 - .../internal/jsons/JsonBluetoothStates.java | 2 - ...sonCommandPayloadPushAudioPlayerState.java | 1 - .../internal/jsons/JsonDevices.java | 1 - .../internal/jsons/JsonEnabledFeeds.java | 1 - .../jsons/JsonExchangeTokenResponse.java | 1 - .../internal/jsons/JsonPlayerState.java | 1 - .../jsons/JsonRegisterAppRequest.java | 1 - .../jsons/JsonRegisterAppResponse.java | 1 - .../resources/ESH-INF/binding/binding.xml | 20 +- .../resources/ESH-INF/thing/thing-types.xml | 956 +-- .../pom.xml | 4 +- .../ESH-INF/config/bridge-config.xml | 3 +- .../ESH-INF/config/station-config.xml | 3 +- .../main/resources/ESH-INF/thing/bridge.xml | 5 +- .../ESH-INF/thing/channel-group-types.xml | 29 +- .../main/resources/ESH-INF/thing/channels.xml | 77 +- .../main/resources/ESH-INF/thing/ws0265.xml | 11 +- .../main/resources/ESH-INF/thing/ws0900.xml | 45 +- .../main/resources/ESH-INF/thing/ws1400ip.xml | 57 +- .../main/resources/ESH-INF/thing/ws2902a.xml | 57 +- .../main/resources/ESH-INF/thing/ws8482.xml | 15 +- bundles/org.openhab.binding.astro/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../astro/internal/AstroHandlerFactory.java | 1 - .../astro/internal/calc/SeasonCalc.java | 1 - .../internal/config/AstroChannelConfig.java | 1 - .../discovery/AstroDiscoveryService.java | 1 - .../astro/internal/handler/MoonHandler.java | 1 - .../astro/internal/handler/SunHandler.java | 1 - .../astro/internal/job/AbstractJob.java | 1 - .../astro/internal/job/DailyJobMoon.java | 1 - .../astro/internal/job/DailyJobSun.java | 1 - .../binding/astro/internal/job/EventJob.java | 1 - .../binding/astro/internal/job/Job.java | 1 - .../astro/internal/job/PositionalJob.java | 1 - .../astro/internal/job/PublishPlanetJob.java | 1 - .../astro/internal/job/SunPhaseJob.java | 1 - .../binding/astro/internal/model/Eclipse.java | 1 - .../binding/astro/internal/model/RiseSet.java | 1 - .../binding/astro/internal/model/Sun.java | 1 - .../astro/internal/model/SunEclipse.java | 1 - .../astro/internal/model/SunPhase.java | 1 - .../binding/astro/internal/model/Zodiac.java | 1 - .../astro/internal/util/PropertyUtils.java | 1 - .../main/resources/ESH-INF/thing/channels.xml | 152 +- .../src/main/resources/ESH-INF/thing/moon.xml | 8 +- .../src/main/resources/ESH-INF/thing/sun.xml | 12 +- bundles/org.openhab.binding.atlona/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/AtlonaBindingConstants.java | 1 - .../internal/discovery/AtlonaDiscovery.java | 1 - .../atlona/internal/net/SocketSession.java | 1 - .../internal/pro3/AtlonaPro3Constants.java | 1 - .../pro3/AtlonaPro3PortocolHandler.java | 3 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 18 +- bundles/org.openhab.binding.autelis/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/jandy.xml | 57 +- .../main/resources/ESH-INF/thing/pentair.xml | 65 +- bundles/org.openhab.binding.avmfritz/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/ahamodel/AVMFritzBaseModel.java | 20 +- ...FritzAhaSetHeatingTemperatureCallback.java | 4 +- .../callbacks/FritzAhaSetSwitchCallback.java | 2 +- .../resources/ESH-INF/thing/bridge-types.xml | 20 +- .../resources/ESH-INF/thing/channel-types.xml | 32 +- .../resources/ESH-INF/thing/thing-types.xml | 218 +- bundles/org.openhab.binding.bigassfan/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/BigAssFanHandlerFactory.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 67 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../resources/ESH-INF/thing/airthings.xml | 34 +- .../pom.xml | 6 +- .../src/main/feature/feature.xml | 14 +- .../am43/internal/AM43BindingConstants.java | 1 - .../am43/internal/AM43Configuration.java | 1 - .../bluetooth/am43/internal/AM43Handler.java | 1 - .../am43/internal/command/AM43Command.java | 1 - .../am43/internal/command/ControlCommand.java | 1 - .../internal/command/ResetLimitsCommand.java | 1 - .../internal/command/ResponseListener.java | 1 - .../internal/command/SetPositionCommand.java | 1 - .../internal/command/SetSettingsCommand.java | 1 - .../am43/internal/command/SetTimeCommand.java | 1 - .../am43/internal/data/Direction.java | 1 - .../am43/internal/data/MotorSettings.java | 1 - .../am43/internal/data/OperationMode.java | 1 - .../src/main/resources/ESH-INF/thing/am43.xml | 58 +- .../binding/bluetooth/am43/CommandTest.java | 1 - .../pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/BlueGigaDeviceCommand.java | 1 - .../bluegiga/internal/BlueGigaException.java | 1 - .../internal/BlueGigaHandlerListener.java | 1 - .../internal/BlueGigaTransactionManager.java | 1 - .../main/resources/ESH-INF/thing/bluegiga.xml | 15 +- .../pom.xml | 6 +- .../src/main/feature/feature.xml | 14 +- .../bluez/BlueZAdapterConstants.java | 1 - .../handler/BlueZAdapterConfiguration.java | 1 - .../bluez/handler/BlueZBridgeHandler.java | 1 - .../main/resources/ESH-INF/thing/bluez.xml | 3 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../blukii/handler/BlukiiHandler.java | 1 - .../internal/BlukiiDiscoveryParticipant.java | 1 - .../blukii/internal/data/Accelerometer.java | 1 - .../blukii/internal/data/BlukiiData.java | 1 - .../internal/data/BlukiiDataDecoder.java | 1 - .../blukii/internal/data/Environment.java | 1 - .../blukii/internal/data/Magnetometer.java | 1 - .../main/resources/ESH-INF/thing/blukii.xml | 39 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/RuuviTagBindingConstants.java | 1 - .../RuuviTagDiscoveryParticipant.java | 1 - .../main/resources/ESH-INF/thing/ruuvitag.xml | 50 +- bundles/org.openhab.binding.bluetooth/pom.xml | 4 +- .../AbstractBluetoothBridgeHandler.java | 1 - .../bluetooth/BeaconBluetoothHandler.java | 1 - .../binding/bluetooth/BluetoothAdapter.java | 1 - .../bluetooth/BluetoothBindingConstants.java | 1 - .../bluetooth/BluetoothCharacteristic.java | 1 - .../bluetooth/BluetoothDescriptor.java | 2 - .../bluetooth/ConnectedBluetoothHandler.java | 1 - .../internal/BluetoothDeviceSnapshot.java | 1 - .../internal/BluetoothDiscoveryProcess.java | 1 - .../internal/BluetoothDiscoveryService.java | 3 - .../main/resources/ESH-INF/thing/channels.xml | 2 +- .../resources/ESH-INF/thing/thing-types.xml | 12 +- .../bluetooth/MockBluetoothAdapter.java | 1 - .../bluetooth/MockBluetoothDevice.java | 1 - .../BluetoothDiscoveryServiceTest.java | 2 - .../org.openhab.binding.boschindego/pom.xml | 4 +- .../src/main/feature/feature.xml | 18 +- .../internal/BoschIndegoBindingConstants.java | 1 - .../internal/IndegoStateConstants.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 88 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../BoseSoundTouchBindingConstants.java | 193 +- .../internal/BoseSoundTouchConfiguration.java | 70 +- ...TouchNotificationChannelConfiguration.java | 84 +- .../internal/CommandExecutor.java | 6 +- .../bosesoundtouch/internal/ContentItem.java | 4 +- .../internal/ContentItemMaker.java | 1 - .../internal/RemoteKeyType.java | 1 - .../internal/XMLResponseHandler.java | 1381 ++- .../internal/XMLResponseProcessor.java | 346 +- .../SoundTouchDiscoveryParticipant.java | 426 +- .../handler/BoseSoundTouchHandler.java | 1127 ++- .../main/resources/ESH-INF/config/config.xml | 43 +- .../resources/ESH-INF/thing/SoundTouch10.xml | 49 +- .../resources/ESH-INF/thing/SoundTouch20.xml | 51 +- .../resources/ESH-INF/thing/SoundTouch30.xml | 49 +- .../resources/ESH-INF/thing/SoundTouch300.xml | 45 +- .../ESH-INF/thing/SoundTouchSA5Amplifier.xml | 47 +- .../thing/SoundTouchWirelessLinkAdapter.xml | 45 +- .../ESH-INF/thing/UnknownSoundTouch.xml | 47 +- .../thing/WaveSoundTouchMusicSystemIV.xml | 47 +- .../main/resources/ESH-INF/thing/channels.xml | 31 +- bundles/org.openhab.binding.bsblan/.classpath | 98 +- bundles/org.openhab.binding.bsblan/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../bsblan/internal/BsbLanHandlerFactory.java | 134 +- .../bsblan/internal/api/BsbLanApiCaller.java | 310 +- .../api/BsbLanApiContentConverter.java | 102 +- .../api/dto/BsbLanApiParameterDTO.java | 18 +- .../BsbLanApiParameterQueryResponseDTO.java | 5 +- .../dto/BsbLanApiParameterSetRequestDTO.java | 3 +- .../dto/BsbLanApiParameterSetResponseDTO.java | 5 +- .../dto/BsbLanApiParameterSetResultDTO.java | 1 + .../handler/BsbLanBaseThingHandler.java | 6 +- .../internal/handler/BsbLanBridgeHandler.java | 29 +- .../handler/BsbLanParameterHandler.java | 341 +- .../helper/BsbLanParameterConverter.java | 328 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/bridge.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 21 +- .../api/BsbLanApiContentConverterTests.java | 167 +- .../helper/BsbLanParameterConverterTests.java | 507 +- .../org.openhab.binding.buienradar/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/BuienradarBindingConstants.java | 1 - .../BuienradarParseException.java | 1 - .../BuienradarPredictionAPI.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 107 +- .../BuienradarPredictionAPITest.java | 1 - bundles/org.openhab.binding.cbus/pom.xml | 4 +- .../discovery/CBusNetworkDiscovery.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 44 +- .../org.openhab.binding.chromecast/pom.xml | 4 +- .../factory/ChromecastHandlerFactory.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 246 +- bundles/org.openhab.binding.cm11a/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../cm11a/internal/CM11ABindingConstants.java | 1 - .../internal/InvalidAddressException.java | 1 - .../binding/cm11a/internal/X10Interface.java | 1 - .../cm11a/internal/X10ReceivedData.java | 1 - .../cm11a/internal/config/Cm11aConfig.java | 1 - .../handler/Cm11aAbstractHandler.java | 1 - .../handler/Cm11aApplianceHandler.java | 1 - .../internal/handler/Cm11aLampHandler.java | 1 - .../handler/ReceivedDataListener.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 8 +- .../org.openhab.binding.coolmasternet/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../CoolMasterNetBindingConstants.java | 1 - .../internal/CoolMasterNetHandlerFactory.java | 1 - .../config/ControllerConfiguration.java | 1 - .../internal/config/HVACConfiguration.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 17 +- .../.classpath | 98 +- .../org.openhab.binding.coronastats/.project | 46 +- .../org.openhab.binding.coronastats/README.md | 254 +- .../org.openhab.binding.coronastats/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/CoronaStatsBindingConstants.java | 124 +- .../internal/CoronaStatsHandlerFactory.java | 132 +- .../internal/CoronaStatsPollingException.java | 66 +- .../CoronaStatsCountryConfiguration.java | 66 +- .../config/CoronaStatsWorldConfiguration.java | 58 +- .../coronastats/internal/dto/CoronaStats.java | 4 +- .../handler/CoronaStatsCountryHandler.java | 220 +- .../handler/CoronaStatsWorldHandler.java | 438 +- .../resources/ESH-INF/binding/binding.xml | 20 +- .../resources/ESH-INF/thing/channel-type.xml | 122 +- .../main/resources/ESH-INF/thing/country.xml | 76 +- .../main/resources/ESH-INF/thing/world.xml | 60 +- bundles/org.openhab.binding.daikin/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../daikin/internal/DaikinHandlerFactory.java | 4 +- .../daikin/internal/DaikinWebTargets.java | 14 +- .../binding/daikin/internal/api/Enums.java | 9 +- .../api/airbase/AirbaseBasicInfo.java | 2 +- .../internal/api/airbase/AirbaseEnums.java | 72 +- .../api/airbase/AirbaseModelInfo.java | 12 +- .../internal/api/airbase/AirbaseZoneInfo.java | 9 +- .../DaikinACUnitDiscoveryService.java | 2 +- .../internal/handler/DaikinBaseHandler.java | 1 - .../main/resources/ESH-INF/config/config.xml | 23 +- .../resources/ESH-INF/thing/thing-types.xml | 65 +- bundles/org.openhab.binding.darksky/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../resources/ESH-INF/thing/bridge-types.xml | 2 +- .../resources/ESH-INF/thing/channel-types.xml | 244 +- .../resources/ESH-INF/thing/thing-types.xml | 6 +- bundles/org.openhab.binding.deconz/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../resources/ESH-INF/binding/binding.xml | 6 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 132 +- .../org.openhab.binding.denonmarantz/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/DenonMarantzState.java | 2 - .../DenonMarantzStateChangedListener.java | 2 +- .../UnsupportedCommandTypeException.java | 1 - .../config/DenonMarantzConfiguration.java | 1 - .../DenonMarantzConnectorFactory.java | 1 - .../http/DenonMarantzHttpConnector.java | 1 - .../telnet/DenonMarantzTelnetClient.java | 1 - .../telnet/DenonMarantzTelnetListener.java | 1 - .../internal/xml/entities/Main.java | 1 - .../internal/xml/entities/ZoneStatus.java | 1 - .../internal/xml/entities/ZoneStatusLite.java | 1 - .../xml/entities/types/OnOffType.java | 1 - .../xml/entities/types/StringType.java | 1 - .../xml/entities/types/VolumeType.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 44 +- bundles/org.openhab.binding.digiplex/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/DigiplexBindingConstants.java | 1 - .../internal/DigiplexHandlerFactory.java | 1 - .../communication/AreaArmDisarmResponse.java | 2 - .../communication/AreaLabelRequest.java | 1 - .../internal/communication/AreaStatus.java | 1 - .../communication/AreaStatusRequest.java | 1 - .../communication/AreaStatusResponse.java | 1 - .../internal/communication/ArmDisarmType.java | 1 - .../communication/CommunicationStatus.java | 1 - .../communication/DigiplexMessageHandler.java | 1 - .../communication/DigiplexRequest.java | 1 - .../communication/DigiplexResponse.java | 1 - .../DigiplexResponseResolver.java | 1 - .../communication/UnknownResponse.java | 1 - .../communication/ZoneLabelRequest.java | 1 - .../internal/communication/ZoneStatus.java | 1 - .../communication/ZoneStatusRequest.java | 1 - .../communication/events/AbstractEvent.java | 1 - .../communication/events/TroubleType.java | 1 - .../communication/events/ZoneStatusEvent.java | 1 - .../internal/handler/DigiplexAreaHandler.java | 1 - .../handler/DigiplexBridgeHandler.java | 1 - .../digiplex/internal/handler/TypeUtils.java | 1 - .../src/main/resources/ESH-INF/thing/area.xml | 23 +- .../main/resources/ESH-INF/thing/bridge.xml | 26 +- .../src/main/resources/ESH-INF/thing/zone.xml | 18 +- .../org.openhab.binding.digitalstrom/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../DigitalSTROMBindingConstants.java | 1 - .../discovery/DiscoveryServiceManager.java | 2 - .../internal/handler/CircuitHandler.java | 2 - .../internal/handler/DeviceHandler.java | 2 - .../internal/handler/SceneHandler.java | 1 - .../ZoneTemperatureControlHandler.java | 2 - .../climate/datatypes/CachedSensorValue.java | 1 - .../BaseTemperatureControl.java | 1 - .../impl/AssignedSensors.java | 1 - .../impl/SensorValues.java | 1 - .../impl/TemperatureControlConfig.java | 1 - .../impl/TemperatureControlInternals.java | 1 - .../internal/lib/event/EventListener.java | 1 - .../lib/event/constants/EventNames.java | 1 - .../manager/impl/DeviceStatusManagerImpl.java | 2 - .../manager/impl/StructureManagerImpl.java | 1 - .../SceneReadingJobExecutor.java | 1 - .../impl/DeviceOutputValueSensorJob.java | 1 - .../internal/lib/serverconnection/DsAPI.java | 1 - .../constants/JSONApiResponseKeysEnum.java | 1 - .../lib/serverconnection/impl/DsAPIImpl.java | 1 - .../impl/HttpTransportImpl.java | 2 - .../impl/JSONResponseHandler.java | 1 - .../SimpleRequestBuilder.java | 1 - .../constants/ClassKeys.java | 1 - .../lib/structure/devices/Circuit.java | 1 - .../deviceparameters/DeviceConstants.java | 1 - .../constants/FunctionalColorGroupEnum.java | 1 - .../constants/SensorEnum.java | 1 - .../impl/DeviceBinaryInput.java | 1 - .../impl/DeviceSensorValue.java | 1 - .../structure/devices/impl/DeviceImpl.java | 1 - .../lib/structure/scene/InternalScene.java | 2 - .../providers/DsDeviceThingTypeProvider.java | 1 - .../resources/ESH-INF/binding/binding.xml | 6 +- .../resources/ESH-INF/config/bridgeConfig.xml | 6 +- .../resources/ESH-INF/config/deviceConfig.xml | 6 +- .../ESH-INF/thing/AppartmentScene.xml | 10 +- .../resources/ESH-INF/thing/GroupScene.xml | 10 +- .../resources/ESH-INF/thing/NamedScene.xml | 10 +- .../resources/ESH-INF/thing/ZoneScene.xml | 10 +- .../ESH-INF/thing/ZoneTemperatureControl.xml | 8 +- .../resources/ESH-INF/thing/dssBridge.xml | 14 +- .../pom.xml | 6 +- .../src/main/feature/feature.xml | 14 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 6 +- bundles/org.openhab.binding.dmx/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../dmx/internal/action/BaseAction.java | 1 - .../dmx/internal/action/ResumeAction.java | 1 - .../dmxoverethernet/ArtnetPacket.java | 1 - .../DmxOverEthernetHandler.java | 1 - .../DmxOverEthernetPacket.java | 1 - .../internal/dmxoverethernet/SacnPacket.java | 1 - .../internal/handler/ChaserThingHandler.java | 1 - .../internal/handler/Lib485BridgeHandler.java | 1 - .../handler/TunableWhiteThingHandler.java | 1 - .../dmx/internal/multiverse/DmxChannel.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/artnet-bridge.xml | 9 +- .../main/resources/ESH-INF/thing/channels.xml | 10 +- .../resources/ESH-INF/thing/chaser-thing.xml | 8 +- .../resources/ESH-INF/thing/color-thing.xml | 24 +- .../resources/ESH-INF/thing/dimmer-thing.xml | 18 +- .../resources/ESH-INF/thing/lib485-bridge.xml | 6 +- .../resources/ESH-INF/thing/sacn-bridge.xml | 9 +- .../ESH-INF/thing/tunablewhite-thing.xml | 26 +- .../binding/dmx/internal/UtilTest.java | 3 - .../handler/ArtnetBridgeHandlerTest.java | 4 +- .../handler/ChaserThingHandlerTest.java | 4 +- .../handler/ColorThingHandlerTest.java | 4 +- .../handler/DimmerThingHandlerTest.java | 5 +- .../handler/DmxBridgeHandlerTest.java | 1 - .../handler/Lib485BridgeHandlerTest.java | 4 +- .../handler/SacnBridgeHandlerTest.java | 4 +- .../handler/TunableWhiteThingHandlerTest.java | 4 +- .../internal/multiverse/BaseChannelTest.java | 1 - .../internal/multiverse/DmxChannelTest.java | 2 - .../dmx/test/AbstractDmxThingTestParent.java | 1 - .../binding/dmx/test/TestBridgeHandler.java | 3 - bundles/org.openhab.binding.doorbird/pom.xml | 4 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 85 +- bundles/org.openhab.binding.dscalarm/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/DSCAlarmBindingConstants.java | 1 - .../dscalarm/internal/DSCAlarmEvent.java | 1 - .../config/TCPServerBridgeConfiguration.java | 1 - .../discovery/DSCAlarmDiscoveryService.java | 1 - .../factory/DSCAlarmHandlerFactory.java | 1 - .../handler/DSCAlarmBaseBridgeHandler.java | 1 - .../handler/DSCAlarmBaseThingHandler.java | 1 - .../internal/handler/DSCAlarmThingType.java | 1 - .../internal/handler/IT100BridgeHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/channels.xml | 6 +- .../ESH-INF/thing/envisalinkbridge.xml | 6 +- .../resources/ESH-INF/thing/it100bridge.xml | 6 +- .../main/resources/ESH-INF/thing/keypad.xml | 9 +- .../main/resources/ESH-INF/thing/panel.xml | 9 +- .../resources/ESH-INF/thing/partition.xml | 12 +- .../ESH-INF/thing/tcpserverbridge.xml | 6 +- .../src/main/resources/ESH-INF/thing/zone.xml | 9 +- bundles/org.openhab.binding.dsmr/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/device/DSMRSerialAutoDevice.java | 1 - .../config/configuration_parameters.xml | 11 +- .../thing/channeltypes_electricity.xml | 122 +- .../resources/ESH-INF/thing/dsmr_device.xml | 2 +- .../ESH-INF/thing/meter_cooling_ace4000.xml | 6 +- .../ESH-INF/thing/meter_cooling_v2_2.xml | 10 +- .../ESH-INF/thing/meter_device_dsmr_v2_v3.xml | 8 +- .../ESH-INF/thing/meter_device_dsmr_v4.xml | 14 +- .../ESH-INF/thing/meter_device_dsmr_v5.xml | 12 +- .../ESH-INF/thing/meter_device_emucs_v1_0.xml | 10 +- .../thing/meter_electricity_ace4000.xml | 32 +- .../thing/meter_electricity_dsmr_v2_1.xml | 22 +- .../thing/meter_electricity_dsmr_v2_2.xml | 22 +- .../thing/meter_electricity_dsmr_v3.xml | 24 +- .../thing/meter_electricity_dsmr_v4.xml | 82 +- .../thing/meter_electricity_dsmr_v4_0_4.xml | 100 +- .../thing/meter_electricity_dsmr_v4_2.xml | 96 +- .../thing/meter_electricity_dsmr_v5.xml | 102 +- .../thing/meter_electricity_emucs_v1_0.xml | 38 +- .../meter_electricity_slave1_ace4000.xml | 24 +- .../meter_electricity_slave2_ace4000.xml | 24 +- .../thing/meter_electricity_slave_v4.xml | 14 +- .../thing/meter_electricity_slave_v5.xml | 12 +- .../thing/meter_electricity_smarty_v1.xml | 110 +- .../ESH-INF/thing/meter_gas_ace4000.xml | 12 +- .../ESH-INF/thing/meter_gas_v2_1.xml | 16 +- .../ESH-INF/thing/meter_gas_v2_2.xml | 16 +- .../ESH-INF/thing/meter_gas_v3_0.xml | 14 +- .../thing/meter_gasmeter_emucs_v1_0.xml | 14 +- .../ESH-INF/thing/meter_generic_v3_0.xml | 12 +- .../resources/ESH-INF/thing/meter_gj_v3_0.xml | 12 +- .../resources/ESH-INF/thing/meter_gj_v4.xml | 14 +- .../resources/ESH-INF/thing/meter_gj_v5_0.xml | 12 +- .../ESH-INF/thing/meter_heating_ace4000.xml | 8 +- .../ESH-INF/thing/meter_heating_v2_2.xml | 10 +- .../resources/ESH-INF/thing/meter_m3_v4.xml | 14 +- .../resources/ESH-INF/thing/meter_m3_v5_0.xml | 12 +- .../ESH-INF/thing/meter_water_ace4000.xml | 8 +- .../ESH-INF/thing/meter_water_v2_2.xml | 10 +- .../ESH-INF/thing/meter_water_v3_0.xml | 12 +- .../resources/ESH-INF/thing/smarty_device.xml | 2 +- .../discovery/DSMRMeterDetectorTest.java | 1 - .../.classpath | 98 +- .../.project | 46 +- .../README.md | 406 +- .../org.openhab.binding.dwdpollenflug/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../DWDPollenflugBindingConstants.java | 154 +- .../internal/DWDPollenflugHandlerFactory.java | 132 +- .../internal/DWDPollingException.java | 68 +- .../DWDPollenflugBridgeConfiguration.java | 58 +- .../DWDPollenflugRegionConfiguration.java | 58 +- .../internal/dto/DWDPollenflug.java | 222 +- .../internal/dto/DWDPollenflugPollen.java | 78 +- .../internal/dto/DWDPollentypeJSON.java | 64 +- .../dwdpollenflug/internal/dto/DWDRegion.java | 160 +- .../handler/DWDPollenflugBridgeHandler.java | 422 +- .../handler/DWDPollenflugRegionHandler.java | 224 +- .../resources/ESH-INF/binding/binding.xml | 20 +- .../main/resources/ESH-INF/thing/bridge.xml | 102 +- .../main/resources/ESH-INF/thing/region.xml | 226 +- .../org.openhab.binding.dwdunwetter/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/DwdUnwetterBindingConstants.java | 1 - .../internal/data/DwdWarningCache.java | 1 - .../internal/data/DwdWarningData.java | 1 - .../internal/data/DwdWarningDataAccess.java | 1 - .../internal/data/DwdWarningsData.java | 1 - .../dwdunwetter/internal/data/DwdXmlTag.java | 1 - .../dwdunwetter/internal/data/Severity.java | 1 - .../internal/data/SeverityComparator.java | 1 - .../dwdunwetter/internal/data/Urgency.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 28 +- .../dwdunwetter/DwdUnwetterHandlerTest.java | 2 - .../internal/data/DwdWarningCacheTest.java | 1 - bundles/org.openhab.binding.ecobee/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../binding/ecobee/action/EcobeeActions.java | 3 +- .../dto/thermostat/EquipmentSettingDTO.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 1023 +-- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/stick/CommandPacket.java | 1 - .../internal/stick/DelayedCommand.java | 1 - .../internal/stick/Response.java | 1 - .../internal/stick/ResponseUtil.java | 1 - .../internal/stick/SerialConnection.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 14 +- bundles/org.openhab.binding.enocean/pom.xml | 4 +- .../config/EnOceanChannelDimmerConfig.java | 1 - .../EnOceanDeviceDiscoveryService.java | 1 - .../EnOceanUsbSerialDiscoveryParticipant.java | 1 - .../enocean/internal/eep/A5_02/A5_02_01.java | 1 - .../enocean/internal/eep/A5_02/A5_02_02.java | 1 - .../enocean/internal/eep/A5_02/A5_02_03.java | 1 - .../enocean/internal/eep/A5_02/A5_02_04.java | 1 - .../enocean/internal/eep/A5_02/A5_02_05.java | 1 - .../enocean/internal/eep/A5_02/A5_02_06.java | 1 - .../enocean/internal/eep/A5_02/A5_02_07.java | 1 - .../enocean/internal/eep/A5_02/A5_02_08.java | 1 - .../enocean/internal/eep/A5_02/A5_02_09.java | 1 - .../enocean/internal/eep/A5_02/A5_02_0A.java | 1 - .../enocean/internal/eep/A5_02/A5_02_0B.java | 1 - .../enocean/internal/eep/A5_02/A5_02_10.java | 1 - .../enocean/internal/eep/A5_02/A5_02_11.java | 1 - .../enocean/internal/eep/A5_02/A5_02_12.java | 1 - .../enocean/internal/eep/A5_02/A5_02_13.java | 1 - .../enocean/internal/eep/A5_02/A5_02_14.java | 1 - .../enocean/internal/eep/A5_02/A5_02_15.java | 1 - .../enocean/internal/eep/A5_02/A5_02_16.java | 1 - .../enocean/internal/eep/A5_02/A5_02_17.java | 1 - .../enocean/internal/eep/A5_02/A5_02_18.java | 1 - .../enocean/internal/eep/A5_02/A5_02_19.java | 1 - .../enocean/internal/eep/A5_02/A5_02_1A.java | 1 - .../enocean/internal/eep/A5_02/A5_02_1B.java | 1 - .../enocean/internal/eep/A5_02/A5_02_20.java | 1 - .../enocean/internal/eep/A5_02/A5_02_30.java | 1 - .../enocean/internal/eep/A5_07/A5_07_01.java | 1 - .../enocean/internal/eep/A5_07/A5_07_02.java | 1 - .../enocean/internal/eep/A5_08/A5_08_03.java | 1 - .../enocean/internal/eep/A5_20/A5_20_04.java | 534 +- .../internal/eep/Base/_4BSMessage.java | 1 - .../internal/eep/Base/_SIGMessage.java | 1 - .../internal/eep/Base/_VLDMessage.java | 1 - .../enocean/internal/eep/D0/D0_06.java | 3 +- .../enocean/internal/eep/D2_01/D2_01.java | 3 +- .../enocean/internal/eep/D2_01/D2_01_00.java | 1 - .../enocean/internal/eep/D2_01/D2_01_01.java | 1 - .../enocean/internal/eep/D2_01/D2_01_02.java | 1 - .../enocean/internal/eep/D2_01/D2_01_03.java | 1 - .../enocean/internal/eep/D2_01/D2_01_04.java | 1 - .../enocean/internal/eep/D2_01/D2_01_05.java | 1 - .../enocean/internal/eep/D2_01/D2_01_06.java | 1 - .../enocean/internal/eep/D2_01/D2_01_07.java | 1 - .../enocean/internal/eep/D2_01/D2_01_08.java | 1 - .../enocean/internal/eep/D2_01/D2_01_09.java | 1 - .../enocean/internal/eep/D2_01/D2_01_0A.java | 1 - .../enocean/internal/eep/D2_01/D2_01_0B.java | 1 - .../enocean/internal/eep/D2_01/D2_01_0C.java | 1 - .../enocean/internal/eep/D2_01/D2_01_0D.java | 1 - .../enocean/internal/eep/D2_01/D2_01_0E.java | 1 - .../enocean/internal/eep/D2_01/D2_01_0F.java | 1 - .../enocean/internal/eep/D2_01/D2_01_11.java | 1 - .../enocean/internal/eep/D2_01/D2_01_12.java | 1 - .../internal/eep/D2_01/D2_01_12_NodON.java | 1 - .../enocean/internal/eep/D2_05/D2_05_00.java | 1 - .../enocean/internal/eep/EEPFactory.java | 1 - .../binding/enocean/internal/eep/EEPType.java | 1 - .../eep/F6_10/F6_10_00_EltakoFPE.java | 1 - .../enocean/internal/messages/BasePacket.java | 1 - .../internal/messages/BaseResponse.java | 1 - .../internal/messages/RDBaseIdResponse.java | 1 - .../enocean/internal/messages/Response.java | 1 - .../ESH-INF/thing/AutomatedMeterSensor.xml | 2 +- .../ESH-INF/thing/CentralCommand.xml | 2 +- .../resources/ESH-INF/thing/ClassicDevice.xml | 16 +- .../main/resources/ESH-INF/thing/Contact.xml | 2 +- .../ESH-INF/thing/EnvironmentalSensor.xml | 2 +- .../resources/ESH-INF/thing/GenericThing.xml | 2 +- .../resources/ESH-INF/thing/LightSensor.xml | 2 +- .../thing/LightTemperatureOccupancySensor.xml | 2 +- .../ESH-INF/thing/MeasurementSwitch.xml | 2 +- .../ESH-INF/thing/MechanicalHandle.xml | 2 +- .../thing/MultiFunctionSmokeDetector.xml | 2 +- .../ESH-INF/thing/OccupancySensor.xml | 2 +- .../resources/ESH-INF/thing/PushButton.xml | 2 +- .../resources/ESH-INF/thing/RockerSwitch.xml | 2 +- .../resources/ESH-INF/thing/Rollershutter.xml | 2 +- .../ESH-INF/thing/RoomOperatingPanel.xml | 2 +- .../thing/TemperatureHumiditySensor.xml | 2 +- .../ESH-INF/thing/TemperatureSensor.xml | 2 +- .../resources/ESH-INF/thing/Thermostat.xml | 2 +- .../main/resources/ESH-INF/thing/bridge.xml | 4 +- .../main/resources/ESH-INF/thing/channels.xml | 74 +- .../ESH-INF/thing/gernericChannels.xml | 14 +- bundles/org.openhab.binding.enturno/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/EnturNoBindingConstants.java | 1 - .../internal/EnturNoHandlerFactory.java | 10 +- .../connection/EnturNoConnection.java | 3 +- .../model/estimated/EstimatedCalls.java | 2 - .../main/resources/ESH-INF/config/config.xml | 6 +- .../resources/ESH-INF/thing/channel-types.xml | 50 +- .../resources/ESH-INF/thing/thing-types.xml | 7 +- bundles/org.openhab.binding.etherrain/pom.xml | 6 +- .../src/main/feature/feature.xml | 10 +- .../internal/EtherRainBindingConstants.java | 1 - .../internal/api/EtherRainCommandResult.java | 1 - .../internal/api/EtherRainCommandStatus.java | 1 - .../api/EtherRainOperatingStatus.java | 1 - .../internal/api/EtherRainUdpResponse.java | 1 - .../config/EtherRainConfiguration.java | 1 - .../discovery/EtherrainDiscoveryService.java | 1 - .../internal/handler/EtherRainHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 28 +- bundles/org.openhab.binding.evohome/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/EvohomeHandlerFactory.java | 1 - .../evohome/internal/RunnableWithTimeout.java | 1 - .../internal/api/EvohomeApiClient.java | 1 - .../internal/api/EvohomeApiConstants.java | 17 +- .../api/models/v2/request/HeatSetPoint.java | 1 - .../v2/request/HeatSetPointBuilder.java | 1 - .../internal/api/models/v2/request/Mode.java | 1 - .../api/models/v2/request/ModeBuilder.java | 1 - .../api/models/v2/request/RequestBuilder.java | 1 - .../v2/request/TimedRequestBuilder.java | 1 - .../models/v2/response/Authentication.java | 1 - .../api/models/v2/response/Gateway.java | 1 - .../api/models/v2/response/GatewayStatus.java | 1 - .../v2/response/HeatSetpointCapabilities.java | 1 - .../v2/response/HeatSetpointStatus.java | 1 - .../api/models/v2/response/LocationInfo.java | 1 - .../api/models/v2/response/LocationOwner.java | 1 - .../models/v2/response/LocationStatus.java | 1 - .../internal/api/models/v2/response/Mode.java | 1 - .../v2/response/ScheduleCapabilities.java | 1 - .../models/v2/response/SystemModeStatus.java | 1 - .../v2/response/TemperatureControlSystem.java | 1 - .../TemperatureControlSystemStatus.java | 1 - .../models/v2/response/TemperatureStatus.java | 1 - .../api/models/v2/response/TimeZone.java | 1 - .../api/models/v2/response/UserAccount.java | 1 - .../internal/api/models/v2/response/Zone.java | 1 - .../api/models/v2/response/ZoneStatus.java | 1 - .../discovery/EvohomeDiscoveryService.java | 1 - .../handler/AccountStatusListener.java | 1 - .../internal/handler/BaseEvohomeHandler.java | 1 - .../handler/EvohomeAccountBridgeHandler.java | 1 - .../handler/EvohomeHeatingZoneHandler.java | 1 - ...vohomeTemperatureControlSystemHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../main/resources/ESH-INF/thing/bridge.xml | 8 +- .../main/resources/ESH-INF/thing/channels.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 19 +- bundles/org.openhab.binding.exec/pom.xml | 4 +- .../src/main/feature/feature.xml | 3 +- .../exec/internal/ExecHandlerFactory.java | 10 +- .../exec/internal/handler/ExecHandler.java | 51 +- .../resources/ESH-INF/thing/thing-types.xml | 10 +- bundles/org.openhab.binding.feed/pom.xml | 4 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 35 +- bundles/org.openhab.binding.feican/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 14 +- bundles/org.openhab.binding.folding/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/FoldingBindingConstants.java | 1 - .../discovery/FoldingDiscoveryProxy.java | 1 - .../folding/internal/handler/SlotHandler.java | 1 - .../folding/internal/handler/SlotInfo.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 21 +- bundles/org.openhab.binding.foobot/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/handler/FoobotDeviceHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 34 +- bundles/org.openhab.binding.freebox/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/FreeboxAirPlayAudioSink.java | 1 - .../internal/FreeboxHandlerFactory.java | 1 - .../internal/api/FreeboxApiManager.java | 1 - .../internal/api/model/FreeboxResponse.java | 1 - .../FreeboxAirPlayDeviceConfiguration.java | 1 - .../config/FreeboxNetDeviceConfiguration.java | 1 - .../FreeboxNetInterfaceConfiguration.java | 1 - .../config/FreeboxPhoneConfiguration.java | 1 - .../config/FreeboxServerConfiguration.java | 1 - .../discovery/FreeboxDiscoveryService.java | 1 - .../FreeboxServerDiscoveryParticipant.java | 1 - .../internal/handler/FreeboxThingHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 170 +- bundles/org.openhab.binding.fronius/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../FroniusBaseDeviceConfiguration.java | 1 - .../internal/FroniusBindingConstants.java | 1 - .../internal/api/BaseFroniusResponse.java | 1 - .../fronius/internal/api/DeviceStatus.java | 1 - .../binding/fronius/internal/api/Head.java | 1 - .../internal/api/HeadRequestArguments.java | 1 - .../fronius/internal/api/HeadStatus.java | 1 - .../internal/api/InverterRealtimeBody.java | 1 - .../api/InverterRealtimeBodyData.java | 1 - .../api/InverterRealtimeResponse.java | 1 - .../api/PowerFlowRealtimeBodyData.java | 1 - .../api/PowerFlowRealtimeInverter.java | 1 - .../api/PowerFlowRealtimeResponse.java | 1 - .../internal/api/PowerFlowRealtimeSite.java | 1 - .../fronius/internal/api/ValueUnit.java | 1 - .../handler/FroniusBaseThingHandler.java | 1 - .../handler/FroniusBridgeHandler.java | 1 - .../handler/FroniusSymoInverterHandler.java | 439 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/bridge.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 33 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../handler/FSInternetRadioHandler.java | 1 - .../internal/radio/FrontierSiliconRadio.java | 1 - .../radio/FrontierSiliconRadioConnection.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 29 +- .../test/FSInternetRadioHandlerJavaTest.java | 1 - bundles/org.openhab.binding.ftpupload/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/ftp/FtpServerEventListener.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 4 +- bundles/org.openhab.binding.gardena/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/GardenaSmartEventListener.java | 1 - .../internal/config/GardenaConfig.java | 1 - .../config/GardenaConfigDataWrapper.java | 1 - .../internal/config/GardenaConfigWrapper.java | 1 - .../GardenaDeviceDiscoveryService.java | 1 - .../GardenaDeviceNotFoundException.java | 1 - .../AccountHandlerNotAvailableException.java | 1 - .../handler/GardenaAccountHandler.java | 1 - .../internal/handler/GardenaThingHandler.java | 1 - .../gardena/internal/model/Device.java | 1 - .../gardena/internal/model/Devices.java | 1 - .../binding/gardena/internal/model/Error.java | 1 - .../gardena/internal/model/Errors.java | 1 - .../gardena/internal/model/Location.java | 1 - .../gardena/internal/model/Locations.java | 1 - .../gardena/internal/model/Property.java | 1 - .../gardena/internal/model/PropertyValue.java | 1 - .../internal/model/ScheduledEvent.java | 1 - .../gardena/internal/model/Session.java | 1 - .../internal/model/SessionWrapper.java | 1 - .../internal/model/command/Command.java | 1 - .../MowerParkUntilFurtherNoticeCommand.java | 1 - .../MowerParkUntilNextTimerCommand.java | 1 - .../model/command/SettingCommand.java | 1 - .../model/command/SettingCommandWrapper.java | 1 - .../deser/PropertyValueDeserializer.java | 1 - .../model/property/StringProperty.java | 1 - .../gardena/internal/util/DateUtils.java | 2 - .../gardena/internal/util/UidUtils.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/bridge.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 358 +- .../org.openhab.binding.globalcache/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 10 +- .../resources/ESH-INF/thing/channel-types.xml | 3 +- .../main/resources/ESH-INF/thing/channels.xml | 11 +- .../resources/ESH-INF/thing/gc-100-06.xml | 7 +- .../resources/ESH-INF/thing/gc-100-12.xml | 13 +- .../main/resources/ESH-INF/thing/itach-cc.xml | 5 +- .../resources/ESH-INF/thing/itach-flex.xml | 9 +- .../main/resources/ESH-INF/thing/itach-ir.xml | 5 +- .../main/resources/ESH-INF/thing/itach-sl.xml | 5 +- .../main/resources/ESH-INF/thing/zmote.xml | 5 +- .../org.openhab.binding.goecharger/pom.xml | 4 +- .../internal/handler/GoEChargerHandler.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 78 +- .../org.openhab.binding.gpstracker/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/GPSTrackerBindingConstants.java | 14 +- .../internal/GPSTrackerHandlerFactory.java | 19 +- .../internal/config/ConfigHelper.java | 13 +- .../discovery/TrackerDiscoveryService.java | 16 +- .../internal/handler/TrackerHandler.java | 10 +- .../internal/message/MessageUtil.java | 9 +- .../internal/message/NotificationBroker.java | 4 +- .../internal/message/NotificationHandler.java | 7 +- .../internal/message/TransitionMessage.java | 4 +- .../profile/GPSTrackerProfileFactory.java | 30 +- .../provider/AbstractCallbackServlet.java | 4 +- .../gpslogger/GPSLoggerCallbackServlet.java | 2 +- .../owntracks/OwnTracksCallbackServlet.java | 2 +- .../main/resources/ESH-INF/config/config.xml | 6 +- .../main/resources/ESH-INF/config/profile.xml | 6 +- .../main/resources/ESH-INF/thing/tracker.xml | 5 +- .../org.openhab.binding.groheondus/pom.xml | 4 +- .../src/main/feature/feature.xml | 16 +- .../resources/ESH-INF/thing/thing-types.xml | 36 +- .../org.openhab.binding.harmonyhub/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/HarmonyHubBindingConstants.java | 1 - .../internal/HarmonyHubHandlerFactory.java | 1 - .../internal/handler/HarmonyHubHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 14 +- .../org.openhab.binding.hdanywhere/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/HDanywhereBindingConstants.java | 2 - .../internal/handler/Mhub4K431Handler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/mhub4k431.xml | 9 +- .../resources/ESH-INF/thing/multiroomplus.xml | 12 +- .../org.openhab.binding.hdpowerview/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/HDPowerViewBindingConstants.java | 1 - .../internal/HDPowerViewWebTargets.java | 1 - .../internal/api/ShadePositionKind.java | 1 - .../internal/api/responses/Scenes.java | 1 - .../config/HDPowerViewSceneConfiguration.java | 1 - .../config/HDPowerViewShadeConfiguration.java | 1 - .../HDPowerViewHubDiscoveryService.java | 1 - .../HDPowerViewShadeDiscoveryService.java | 1 - .../handler/AbstractHubbedThingHandler.java | 1 - .../handler/HDPowerViewHubHandler.java | 1 - .../handler/HDPowerViewShadeHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 8 +- bundles/org.openhab.binding.helios/pom.xml | 4 +- .../src/main/feature/feature.xml | 24 +- .../helios/internal/ws/rest/RESTError.java | 1 - .../ws/rest/RESTSubscribeResponse.java | 1 - .../internal/ws/rest/RESTSystemInfo.java | 1 - .../ws/soap/SOAPCallStateChanged.java | 1 - .../internal/ws/soap/SOAPCardEntered.java | 1 - .../internal/ws/soap/SOAPCodeEntered.java | 1 - .../internal/ws/soap/SOAPDeviceState.java | 1 - .../internal/ws/soap/SOAPKeyPressed.java | 1 - .../internal/ws/soap/SOAPObjectFactory.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/channel-types.xml | 37 +- .../resources/ESH-INF/thing/ipvario221.xml | 53 +- .../resources/ESH-INF/thing/ipvario27.xml | 29 +- bundles/org.openhab.binding.heos/.project | 46 +- bundles/org.openhab.binding.heos/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../binding/heos/HeosBindingConstants.java | 1 - .../heos/handler/HeosThingBaseHandler.java | 1 - .../internal/api/HeosEventController.java | 1 - .../binding/heos/internal/api/HeosFacade.java | 21 +- .../binding/heos/internal/api/HeosSystem.java | 2 - .../internal/handler/HeosChannelHandler.java | 12 +- .../internal/resources/HeosConstants.java | 1 - .../internal/resources/HeosEventListener.java | 1 - .../heos/internal/resources/HeosResponse.java | 1 - .../resources/HeosResponseDecoder.java | 1 - .../resources/HeosSystemEventListener.java | 10 +- .../resources/ESH-INF/binding/binding.xml | 6 +- .../resources/ESH-INF/thing/HeosGroup.xml | 36 +- .../resources/ESH-INF/thing/HeosPlayer.xml | 36 +- .../resources/ESH-INF/thing/HeosSystem.xml | 1 - bundles/org.openhab.binding.homematic/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/HomematicBindingConstants.java | 4 +- .../AbstractHomematicGateway.java | 1 - .../internal/communicator/CcuGateway.java | 1 - .../internal/communicator/DefaultGateway.java | 1 - .../communicator/HomegearGateway.java | 1 - .../communicator/HomematicGateway.java | 5 +- .../communicator/HomematicGatewayAdapter.java | 1 - .../communicator/HomematicGatewayFactory.java | 4 +- .../communicator/client/BinRpcClient.java | 1 - .../communicator/client/RpcClient.java | 1 - .../client/UnknownParameterSetException.java | 1 - .../client/UnknownRpcFailureException.java | 1 - .../communicator/message/RpcResponse.java | 1 - .../communicator/message/RpcUtils.java | 1 - .../communicator/message/XmlRpcResponse.java | 1 - .../parser/CcuParamsetDescriptionParser.java | 1 - .../communicator/parser/CommonRpcParser.java | 4 +- .../parser/DeleteDevicesParser.java | 1 - .../parser/DisplayOptionsParser.java | 1 - .../parser/GetAllScriptsParser.java | 1 - .../parser/GetAllSystemVariablesParser.java | 1 - .../communicator/parser/NewDevicesParser.java | 1 - .../communicator/parser/RpcParser.java | 1 - .../server/BinRpcNetworkService.java | 1 - .../communicator/server/RpcEventListener.java | 1 - .../server/RpcResponseHandler.java | 1 - .../communicator/server/RpcServer.java | 1 - .../communicator/server/XmlRpcServer.java | 1 - .../AbstractVirtualDatapointHandler.java | 1 - .../BatteryTypeVirtualDatapointHandler.java | 4 +- .../FirmwareVirtualDatapointHandler.java | 1 - .../virtual/InstallModeVirtualDatapoint.java | 1 - ...oadFromGatewayVirtualDatapointHandler.java | 1 - .../ReloadRssiVirtualDatapointHandler.java | 1 - .../converter/ConverterException.java | 1 - .../internal/converter/ConverterFactory.java | 1 - .../converter/ConverterTypeException.java | 1 - .../internal/converter/StateInvertInfo.java | 1 - .../internal/converter/TypeConverter.java | 1 - .../converter/type/AbstractTypeConverter.java | 1 - .../converter/type/DecimalTypeConverter.java | 1 - .../converter/type/OnOffTypeConverter.java | 1 - .../type/OpenClosedTypeConverter.java | 1 - .../converter/type/QuantityTypeConverter.java | 1 - .../converter/type/StringTypeConverter.java | 1 - .../HomematicDeviceDiscoveryService.java | 1 - .../discovery/eq3udp/Eq3UdpResponse.java | 1 - .../handler/GatewayNotAvailableException.java | 1 - .../handler/HomematicBridgeHandler.java | 1 - .../internal/misc/DelayedExecuter.java | 2 - .../homematic/internal/model/HmChannel.java | 1 - .../homematic/internal/model/HmDatapoint.java | 1 - .../internal/model/HmDatapointConfig.java | 1 - .../homematic/internal/model/HmRssiInfo.java | 1 - .../homematic/internal/model/HmValueType.java | 1 - .../homematic/internal/model/TclScript.java | 1 - .../internal/model/TclScriptDataList.java | 1 - .../internal/model/TclScriptList.java | 1 - .../HomematicChannelGroupTypeProvider.java | 1 - ...HomematicChannelGroupTypeProviderImpl.java | 1 - .../type/HomematicChannelTypeProvider.java | 1 - .../HomematicChannelTypeProviderImpl.java | 1 - .../HomematicConfigDescriptionProvider.java | 2 +- ...omematicConfigDescriptionProviderImpl.java | 1 - .../type/HomematicThingTypeProvider.java | 3 +- .../internal/type/HomematicTypeGenerator.java | 1 - .../type/HomematicTypeGeneratorImpl.java | 1 - .../internal/type/MetadataUtils.java | 1 - .../homematic/internal/type/UidUtils.java | 1 - .../type/HomematicThingTypeExcluder.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 6 +- .../main/resources/ESH-INF/thing/bridge.xml | 17 +- .../resources/homematic/tclrega-scripts.xml | 36 +- .../virtual/ButtonDatapointTest.java | 3 - .../internal/converter/BaseConverterTest.java | 1 - .../converter/ConvertFromBindingTest.java | 2 - .../converter/ConverterFactoryTest.java | 1 - .../internal/handler/SimplePortPoolTest.java | 6 +- .../homematic/internal/type/UidUtilsTest.java | 2 - .../test/util/RpcClientMockImpl.java | 1 - bundles/org.openhab.binding.hpprinter/pom.xml | 4 +- .../hpprinter/internal/api/HPUsage.java | 1 - .../internal/api/HPWebServerClient.java | 1 - .../ESH-INF/thing/channel-groups.xml | 2 +- .../resources/ESH-INF/thing/channel-types.xml | 10 +- .../resources/ESH-INF/thing/thing-printer.xml | 8 +- bundles/org.openhab.binding.hue/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../binding/hue/internal/ApiVersion.java | 2 - .../openhab/binding/hue/internal/Config.java | 1 - .../binding/hue/internal/HueBridge.java | 8 +- .../hue/internal/HueConfigStatusMessage.java | 1 - .../binding/hue/internal/StateUpdate.java | 7 +- .../discovery/BridgeJsonParameters.java | 1 - .../HueBridgeDiscoveryParticipant.java | 1 - .../discovery/HueBridgeNupnpDiscovery.java | 1 - .../discovery/HueLightDiscoveryService.java | 1 - .../internal/handler/LightStateConverter.java | 3 +- .../internal/handler/sensors/ClipHandler.java | 7 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../ESH-INF/thing/CLIPGenericFlagSensor.xml | 6 +- .../ESH-INF/thing/CLIPGenericStatusSensor.xml | 6 +- .../resources/ESH-INF/thing/ColorLight.xml | 8 +- .../ESH-INF/thing/ColorTemperatureLight.xml | 10 +- .../resources/ESH-INF/thing/DimmableLight.xml | 6 +- .../resources/ESH-INF/thing/DimmablePlug.xml | 4 +- .../resources/ESH-INF/thing/DimmerSwitch.xml | 12 +- .../ESH-INF/thing/ExtendedColorLight.xml | 10 +- .../ESH-INF/thing/LightLevelSensor.xml | 25 +- .../resources/ESH-INF/thing/OnOffLight.xml | 6 +- .../resources/ESH-INF/thing/OnOffPlug.xml | 4 +- .../ESH-INF/thing/PresenceSensor.xml | 13 +- .../resources/ESH-INF/thing/TapSwitch.xml | 8 +- .../ESH-INF/thing/TemperatureSensor.xml | 13 +- .../main/resources/ESH-INF/thing/bridge.xml | 3 +- .../main/resources/ESH-INF/thing/channels.xml | 16 +- .../binding/hue/internal/ApiVersionTest.java | 1 - .../hue/internal/LightStateConverterTest.java | 2 - .../internal/handler/HueLightHandlerTest.java | 1 - bundles/org.openhab.binding.hydrawise/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/HydrawiseBindingConstants.java | 1 - .../internal/HydrawiseCloudHandler.java | 1 - .../internal/HydrawiseLocalHandler.java | 1 - .../internal/api/model/BocTopologyActual.java | 1 - .../api/model/BocTopologyDesired.java | 1 - .../internal/api/model/Controller.java | 1 - .../api/model/CustomerDetailsResponse.java | 1 - .../internal/api/model/Features.java | 1 - .../internal/api/model/Forecast.java | 1 - .../api/model/LocalScheduleResponse.java | 1 - .../internal/api/model/PlanArray.java | 1 - .../hydrawise/internal/api/model/Relay.java | 1 - .../internal/api/model/Response.java | 1 - .../hydrawise/internal/api/model/Running.java | 1 - .../hydrawise/internal/api/model/Sensor.java | 1 - .../api/model/SetControllerResponse.java | 1 - .../internal/api/model/SetZoneResponse.java | 1 - .../api/model/StatusScheduleResponse.java | 1 - .../resources/ESH-INF/thing/channel-types.xml | 56 +- .../main/resources/ESH-INF/thing/things.xml | 4 +- bundles/org.openhab.binding.hyperion/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/HyperionBindingConstants.java | 1 - .../HyperionDiscoveryParticipant.java | 1 - .../internal/handler/HyperionNgHandler.java | 2 - .../internal/protocol/ColorCommand.java | 1 - .../internal/protocol/EffectCommand.java | 1 - .../internal/protocol/HyperionCommand.java | 1 - .../internal/protocol/ServerInfoCommand.java | 1 - .../internal/protocol/ng/Adjustment.java | 1 - .../protocol/ng/AdjustmentCommand.java | 1 - .../internal/protocol/ng/Component.java | 1 - .../internal/protocol/ng/ComponentState.java | 1 - .../protocol/ng/ComponentStateCommand.java | 1 - .../internal/protocol/ng/Hyperion.java | 1 - .../hyperion/internal/protocol/ng/NgInfo.java | 1 - .../internal/protocol/ng/NgResponse.java | 1 - .../internal/protocol/ng/Priority.java | 1 - .../internal/protocol/ng/Session.java | 1 - .../hyperion/internal/protocol/ng/Value.java | 1 - .../internal/protocol/v1/ActiveEffect.java | 1 - .../internal/protocol/v1/ClearAllCommand.java | 1 - .../internal/protocol/v1/ClearCommand.java | 1 - .../internal/protocol/v1/Correction.java | 1 - .../internal/protocol/v1/HyperionBuild.java | 1 - .../internal/protocol/v1/Priority.java | 1 - .../internal/protocol/v1/Transform.java | 1 - .../protocol/v1/TransformCommand.java | 1 - .../hyperion/internal/protocol/v1/V1Info.java | 1 - .../internal/protocol/v1/V1Response.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 57 +- bundles/org.openhab.binding.iaqualink/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../iaqualink/internal/api/model/Device.java | 1 - .../internal/api/model/OneTouch.java | 1 - .../iaqualink/internal/api/model/SignIn.java | 1 - .../internal/handler/IAqualinkHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/iAqualink.xml | 18 +- bundles/org.openhab.binding.icloud/pom.xml | 4 +- .../icloud/internal/ICloudHandlerFactory.java | 1 - .../internal/handler/ICloudDeviceHandler.java | 2 +- .../utilities/ICloudTextTranslator.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 22 +- bundles/org.openhab.binding.ihc/pom.xml | 4 +- .../src/main/feature/feature.xml | 16 +- .../ihc/internal/profiles/IhcProfiles.java | 1 - .../ws/datatypes/WSTimeManagerSettings.java | 2 +- .../resourcevalues/WSFloatingPointValue.java | 4 +- .../main/resources/ESH-INF/thing/channels.xml | 6 +- .../resources/ESH-INF/thing/controller.xml | 30 +- .../services/IhcConfigurationServiceTest.java | 1 - .../ws/services/IhcControllerServiceTest.java | 1 - .../ws/services/IhcTimeServiceTest.java | 1 - .../pom.xml | 4 +- .../internal/client/InnogyClient.java | 6 +- .../internal/client/entity/action/Action.java | 1 - .../entity/action/DoubleActionParam.java | 1 - .../entity/action/IntegerActionParam.java | 1 - .../client/entity/action/ShutterAction.java | 1 - .../entity/action/StateActionSetter.java | 1 - .../entity/action/StringActionParam.java | 1 - .../internal/client/entity/device/Device.java | 2 - .../client/entity/device/DeviceConfig.java | 1 - .../client/entity/event/BaseEvent.java | 1 - .../client/entity/event/EventProperties.java | 1 - .../entity/message/MessageProperties.java | 1 - .../client/entity/state/DoubleState.java | 1 - .../client/entity/state/IntegerState.java | 1 - .../client/entity/state/StringState.java | 1 - .../exception/AuthenticationException.java | 1 - .../exception/ControllerOfflineException.java | 1 - .../RemoteAccessNotAllowedException.java | 1 - .../exception/SessionNotFoundException.java | 1 - .../handler/InnogyBridgeConfiguration.java | 1 - .../internal/handler/InnogyBridgeHandler.java | 6 +- .../internal/handler/InnogyDeviceHandler.java | 5 +- .../resources/ESH-INF/thing/AnalogMeter.xml | 14 +- .../src/main/resources/ESH-INF/thing/BRC8.xml | 38 +- .../main/resources/ESH-INF/thing/BT-PSS.xml | 6 +- .../ESH-INF/thing/GenerationMeter.xml | 16 +- .../src/main/resources/ESH-INF/thing/ISC2.xml | 12 +- .../src/main/resources/ESH-INF/thing/ISD2.xml | 14 +- .../src/main/resources/ESH-INF/thing/ISR2.xml | 14 +- .../src/main/resources/ESH-INF/thing/ISS2.xml | 14 +- .../src/main/resources/ESH-INF/thing/PSD.xml | 6 +- .../src/main/resources/ESH-INF/thing/PSS.xml | 6 +- .../src/main/resources/ESH-INF/thing/PSSO.xml | 6 +- .../src/main/resources/ESH-INF/thing/RST.xml | 20 +- .../src/main/resources/ESH-INF/thing/RST2.xml | 23 +- .../resources/ESH-INF/thing/SmartMeter.xml | 16 +- .../resources/ESH-INF/thing/TwoWayMeter.xml | 26 +- .../ESH-INF/thing/VariableActuator.xml | 6 +- .../src/main/resources/ESH-INF/thing/WDS.xml | 8 +- .../src/main/resources/ESH-INF/thing/WMD.xml | 10 +- .../src/main/resources/ESH-INF/thing/WMDO.xml | 10 +- .../src/main/resources/ESH-INF/thing/WRT.xml | 23 +- .../src/main/resources/ESH-INF/thing/WSC2.xml | 14 +- .../src/main/resources/ESH-INF/thing/WSD.xml | 10 +- .../src/main/resources/ESH-INF/thing/WSD2.xml | 10 +- .../main/resources/ESH-INF/thing/bridge.xml | 12 +- .../main/resources/ESH-INF/thing/channels.xml | 6 +- bundles/org.openhab.binding.insteon/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../insteon/internal/InsteonBinding.java | 1 - .../insteon/internal/device/DeviceType.java | 1 - .../internal/device/MessageHandler.java | 1 - .../insteon/internal/driver/Poller.java | 1 - .../binding/insteon/internal/driver/Port.java | 1 - .../insteon/internal/message/MsgType.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 4 +- .../src/main/resources/device_features.xml | 1677 ++-- .../src/main/resources/device_types.xml | 1154 +-- .../src/main/resources/msg_definitions.xml | 492 +- bundles/org.openhab.binding.ipp/pom.xml | 18 +- .../src/main/feature/feature.xml | 12 +- .../internal/handler/IppPrinterHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 10 +- .../resources/ESH-INF/thing/thing-types.xml | 9 +- bundles/org.openhab.binding.irtrans/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/handler/BlasterHandler.java | 2 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/thing/blaster.xml | 13 +- .../ESH-INF/thing/ethernetbridge.xml | 21 +- bundles/org.openhab.binding.jeelink/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/JeeLinkBindingConstants.java | 2 +- .../jeelink/internal/JeeLinkHandler.java | 20 +- .../jeelink/internal/SensorDefinition.java | 2 +- .../connection/AbstractJeeLinkConnection.java | 2 +- .../internal/ec3k/Ec3kSensorDefinition.java | 1 - .../jeelink/internal/lacrosse/LgwReading.java | 4 +- .../lacrosse/LgwReadingConverter.java | 35 +- .../internal/lacrosse/LgwSensorHandler.java | 11 +- .../pca301/Pca301SensorDefinition.java | 1 - .../internal/revolt/RevoltReading.java | 4 +- .../revolt/RevoltReadingConverter.java | 18 +- .../internal/revolt/RevoltSensorHandler.java | 6 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 136 +- bundles/org.openhab.binding.keba/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/kecontact.xml | 58 +- bundles/org.openhab.binding.km200/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../binding/km200/internal/KM200Comm.java | 1 - .../binding/km200/internal/KM200Device.java | 1 - .../resources/ESH-INF/binding/binding.xml | 13 +- .../resources/ESH-INF/thing/appliance.xml | 2 +- .../main/resources/ESH-INF/thing/device.xml | 3 +- .../resources/ESH-INF/thing/dhwCircuit.xml | 2 +- .../main/resources/ESH-INF/thing/gateway.xml | 2 +- .../resources/ESH-INF/thing/heatSource.xml | 2 +- .../ESH-INF/thing/heatingCircuit.xml | 2 +- .../resources/ESH-INF/thing/holidayMode.xml | 2 +- .../resources/ESH-INF/thing/notification.xml | 2 +- .../main/resources/ESH-INF/thing/sensor.xml | 2 +- .../resources/ESH-INF/thing/solarCircuit.xml | 2 +- .../resources/ESH-INF/thing/switchProgram.xml | 4 +- .../main/resources/ESH-INF/thing/system.xml | 2 +- .../resources/ESH-INF/thing/systemStates.xml | 2 +- bundles/org.openhab.binding.knx/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../knx/internal/KNXBindingConstants.java | 1 - .../binding/knx/internal/KNXTypeMapper.java | 1 - .../knx/internal/channel/AbstractSpec.java | 1 - .../channel/ChannelConfiguration.java | 1 - .../channel/GroupAddressConfiguration.java | 1 - .../knx/internal/channel/KNXChannelType.java | 1 - .../knx/internal/channel/KNXChannelTypes.java | 1 - .../knx/internal/channel/ListenSpecImpl.java | 1 - .../internal/channel/ReadRequestSpecImpl.java | 1 - .../channel/ReadResponseSpecImpl.java | 1 - .../knx/internal/channel/TypeContact.java | 1 - .../knx/internal/channel/TypeDateTime.java | 1 - .../knx/internal/channel/TypeNumber.java | 1 - .../internal/channel/TypeRollershutter.java | 1 - .../knx/internal/channel/TypeString.java | 1 - .../knx/internal/channel/TypeSwitch.java | 1 - .../knx/internal/channel/WriteSpecImpl.java | 1 - .../internal/client/AbstractKNXClient.java | 2 - .../internal/client/BusMessageListener.java | 1 - .../client/CustomKNXNetworkLinkIP.java | 1 - .../knx/internal/client/DeviceInfoClient.java | 1 - .../internal/client/DeviceInfoClientImpl.java | 1 - .../knx/internal/client/DeviceInspector.java | 3 - .../binding/knx/internal/client/IPClient.java | 1 - .../knx/internal/client/InboundSpec.java | 1 - .../knx/internal/client/KNXClient.java | 1 - .../knx/internal/client/NoOpClient.java | 1 - .../knx/internal/client/OutboundSpec.java | 1 - .../knx/internal/client/ReadDatapoint.java | 1 - .../knx/internal/client/SerialClient.java | 1 - .../internal/client/StatusUpdateCallback.java | 1 - .../knx/internal/config/DeviceConfig.java | 1 - .../config/IPBridgeConfiguration.java | 1 - .../config/SerialBridgeConfiguration.java | 1 - .../internal/factory/KNXHandlerFactory.java | 1 - .../handler/AbstractKNXThingHandler.java | 3 +- .../knx/internal/handler/DeviceConstants.java | 1 - .../internal/handler/DeviceThingHandler.java | 1 - .../knx/internal/handler/Firmware.java | 1 - .../handler/GroupAddressListener.java | 1 - .../handler/IPBridgeThingHandler.java | 1 - .../handler/KNXBridgeBaseThingHandler.java | 1 - .../handler/SerialBridgeThingHandler.java | 1 - .../internal/profiles/KNXProfileAdvisor.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../ESH-INF/config/channelConfig.xml | 11 +- .../main/resources/ESH-INF/thing/device.xml | 36 +- .../src/main/resources/ESH-INF/thing/ip.xml | 5 +- .../internal/channel/KNXChannelTypeTest.java | 2 - .../internal/dpt/KNXCoreTypeMapperTest.java | 1 - bundles/org.openhab.binding.kodi/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../KodiUpnpDiscoveryParticipant.java | 1 - .../kodi/internal/model/KodiProfile.java | 84 +- .../kodi/internal/model/KodiSubtitle.java | 102 +- .../internal/protocol/KodiClientSocket.java | 1 - .../KodiClientSocketEventListener.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 112 +- bundles/org.openhab.binding.konnected/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/KonnectedBindingConstants.java | 1 - .../internal/KonnectedConfiguration.java | 2 +- .../internal/gson/KonnectedModulePayload.java | 1 - .../internal/handler/KonnectedHandler.java | 1 - .../servlet/KonnectedHTTPServlet.java | 1 - .../main/resources/ESH-INF/config/config.xml | 18 +- .../resources/ESH-INF/thing/thing-types.xml | 14 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../inverter/KostalInverterFactory.java | 1 - .../firstgeneration/WebscrapeHandler.java | 1 - .../ThirdGenerationBindingConstants.java | 1 - ...ThirdGenerationChannelMappingToWebApi.java | 6 +- .../ThirdGenerationEncryptionHelper.java | 10 +- .../ThirdGenerationHandler.java | 1 - .../ThirdGenerationHttpHelper.java | 38 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../ESH-INF/config/ThirdGeneration.xml | 11 +- .../main/resources/ESH-INF/thing/Channels.xml | 144 +- .../resources/ESH-INF/thing/PIKOIQ100.xml | 114 +- .../main/resources/ESH-INF/thing/PIKOIQ42.xml | 114 +- .../main/resources/ESH-INF/thing/PIKOIQ55.xml | 114 +- .../main/resources/ESH-INF/thing/PIKOIQ70.xml | 114 +- .../main/resources/ESH-INF/thing/PIKOIQ85.xml | 115 +- .../thing/PLENTICOREPLUS100WITHBATTERY.xml | 140 +- .../thing/PLENTICOREPLUS100WITHOUTBATTERY.xml | 120 +- .../thing/PLENTICOREPLUS42WITHBATTERY.xml | 140 +- .../thing/PLENTICOREPLUS42WITHOUTBATTERY.xml | 120 +- .../thing/PLENTICOREPLUS55WITHBATTERY.xml | 140 +- .../thing/PLENTICOREPLUS55WITHOUTBATTERY.xml | 120 +- .../thing/PLENTICOREPLUS70WITHBATTERY.xml | 140 +- .../thing/PLENTICOREPLUS70WITHOUTBATTERY.xml | 120 +- .../thing/PLENTICOREPLUS85WITHBATTERY.xml | 140 +- .../thing/PLENTICOREPLUS85WITHOUTBATTERY.xml | 120 +- .../resources/ESH-INF/thing/thing-types.xml | 28 +- .../org.openhab.binding.lametrictime/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/clock-app.xml | 2 +- .../resources/ESH-INF/thing/countdown-app.xml | 2 +- .../resources/ESH-INF/thing/radio-app.xml | 2 +- .../resources/ESH-INF/thing/stopwatch-app.xml | 2 +- .../resources/ESH-INF/thing/weather-app.xml | 2 +- .../org.openhab.binding.leapmotion/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/LeapMotionBindingConstants.java | 1 - .../internal/LeapMotionColorProfile.java | 1 - .../internal/LeapMotionDimmerProfile.java | 1 - .../internal/LeapMotionProfileFactory.java | 1 - .../internal/LeapMotionSwitchProfile.java | 1 - .../discovery/LeapMotionDiscoveryService.java | 1 - .../ESH-INF/config/dimmerprofile.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 5 +- bundles/org.openhab.binding.lghombot/pom.xml | 4 +- .../binding/lghombot/internal/CameraUtil.java | 1 - .../internal/LGHomBotBindingConstants.java | 1 - .../internal/LGHomBotConfiguration.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 77 +- .../org.openhab.binding.lgtvserial/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/LgTvSerialBindingConstants.java | 1 - .../internal/handler/LgTvSerialHandler.java | 1 - .../protocol/serial/LGSerialCommand.java | 7 +- .../protocol/serial/LGSerialCommunicator.java | 1 - .../protocol/serial/LGSerialResponse.java | 1 - .../serial/LGSerialResponseListener.java | 1 - .../protocol/serial/RegistrationCallback.java | 1 - .../serial/SerialCommunicatorFactory.java | 1 - .../serial/commands/AspectRatioCommand.java | 1 - .../serial/commands/AutoSleepCommand.java | 1 - .../serial/commands/AutoVolumeCommand.java | 1 - .../serial/commands/BacklightCommand.java | 1 - .../serial/commands/BalanceCommand.java | 1 - .../serial/commands/BaseDecimalCommand.java | 9 +- .../serial/commands/BaseLGSerialCommand.java | 1 - .../serial/commands/BaseOnOffCommand.java | 1 - .../serial/commands/BasePercentCommand.java | 1 - .../serial/commands/BaseStringCommand.java | 1 - .../protocol/serial/commands/BassCommand.java | 1 - .../serial/commands/BrightnessCommand.java | 1 - .../serial/commands/ColorCommand.java | 1 - .../commands/ColorTemperature2Command.java | 1 - .../commands/ColorTemperatureCommand.java | 1 - .../serial/commands/CommandFactory.java | 1 - .../serial/commands/ContrastCommand.java | 1 - .../protocol/serial/commands/DPMCommand.java | 1 - .../serial/commands/ElapsedTimeCommand.java | 1 - .../serial/commands/EnergySavingCommand.java | 1 - .../serial/commands/FanFaultCheckCommand.java | 1 - .../serial/commands/HPositionCommand.java | 1 - .../serial/commands/HSizeCommand.java | 1 - .../serial/commands/IRKeyCodeCommand.java | 1 - .../serial/commands/ISMMethodCommand.java | 1 - .../serial/commands/InputSelect2Command.java | 1 - .../serial/commands/InputSelectCommand.java | 1 - .../protocol/serial/commands/LG3DCommand.java | 1 - .../serial/commands/LG3DExtendedCommand.java | 1 - .../commands/LampFaultCheckCommand.java | 1 - .../serial/commands/NaturalModeCommand.java | 1 - .../serial/commands/OSDLanguageCommand.java | 1 - .../serial/commands/OSDSelectCommand.java | 1 - .../serial/commands/PictureModeCommand.java | 1 - .../serial/commands/PowerCommand.java | 1 - .../commands/PowerIndicatorCommand.java | 1 - .../serial/commands/PowerSavingCommand.java | 1 - .../protocol/serial/commands/RawCommand.java | 1 - .../serial/commands/ScreenMuteCommand.java | 1 - .../serial/commands/SerialNoCommand.java | 1 - .../serial/commands/SharpnessCommand.java | 1 - .../serial/commands/SleepTimeCommand.java | 1 - .../commands/SoftwareVersionCommand.java | 1 - .../serial/commands/SoundModeCommand.java | 1 - .../serial/commands/SpeakerCommand.java | 1 - .../commands/TemperatureValueCommand.java | 1 - .../protocol/serial/commands/TileCommand.java | 1 - .../serial/commands/TileHPositionCommand.java | 1 - .../serial/commands/TileHSizeCommand.java | 1 - .../serial/commands/TileIdSetCommand.java | 1 - .../serial/commands/TileVPositionCommand.java | 1 - .../serial/commands/TileVSizeCommand.java | 1 - .../protocol/serial/commands/TimeCommand.java | 1 - .../protocol/serial/commands/TintCommand.java | 1 - .../serial/commands/TrebleCommand.java | 1 - .../serial/commands/VPositionCommand.java | 1 - .../serial/commands/VSizeCommand.java | 1 - .../serial/commands/VolumeCommand.java | 1 - .../serial/commands/VolumeMuteCommand.java | 1 - .../serial/responses/DecimalResponse.java | 1 - .../serial/responses/OnOffResponse.java | 1 - .../serial/responses/PercentResponse.java | 1 - .../serial/responses/QuantityResponse.java | 1 - .../serial/responses/StringResponse.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 1 - .../ESH-INF/thing/thing-channels.xml | 17 +- .../ESH-INF/thing/thing-types-M6503C.xml | 20 +- .../ESH-INF/thing/thing-types-SAC34134216.xml | 41 +- .../resources/ESH-INF/thing/thing-types.xml | 12 +- bundles/org.openhab.binding.lgwebos/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../binding/lgwebos/action/Application.java | 1 - .../lgwebos/action/LGWebOSActions.java | 2 - .../lgwebos/internal/BaseChannelHandler.java | 2 - .../lgwebos/internal/ChannelHandler.java | 1 - .../internal/LGWebOSHandlerFactory.java | 1 - .../lgwebos/internal/LauncherApplication.java | 2 - .../lgwebos/internal/PowerControlPower.java | 1 - .../lgwebos/internal/TVControlChannel.java | 2 - .../lgwebos/internal/VolumeControlMute.java | 1 - .../lgwebos/internal/VolumeControlVolume.java | 1 - .../lgwebos/internal/WakeOnLanUtility.java | 1 - .../LGWebOSUpnpDiscoveryParticipant.java | 1 - .../handler/LGWebOSConfiguration.java | 1 - .../internal/handler/LGWebOSHandler.java | 1 - .../handler/LGWebOSTVKeyboardInput.java | 1 - .../handler/LGWebOSTVMouseSocket.java | 5 - .../internal/handler/LGWebOSTVSocket.java | 9 - .../handler/command/ServiceCommand.java | 1 - .../handler/command/ServiceSubscription.java | 1 - .../internal/handler/core/AppInfo.java | 1 - .../internal/handler/core/ChannelInfo.java | 1 - .../handler/core/CommandConfirmation.java | 1 - .../internal/handler/core/LaunchSession.java | 1 - .../main/resources/ESH-INF/config/config.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 30 +- bundles/org.openhab.binding.lifx/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../lifx/internal/LifxBindingConstants.java | 1 - .../lifx/internal/LifxChannelFactory.java | 1 - .../lifx/internal/LifxChannelFactoryImpl.java | 1 - .../lifx/internal/LifxHandlerFactory.java | 1 - .../LifxLightCommunicationHandler.java | 1 - .../lifx/internal/LifxLightConfig.java | 1 - .../lifx/internal/LifxLightContext.java | 1 - .../lifx/internal/LifxLightDiscovery.java | 1 - .../internal/LifxLightOnlineStateUpdater.java | 1 - .../binding/lifx/internal/LifxLightState.java | 3 +- .../lifx/internal/LifxLightStateChanger.java | 3 +- .../lifx/internal/LifxSelectorContext.java | 1 - .../lifx/internal/fields/ByteField.java | 1 - .../binding/lifx/internal/fields/Field.java | 1 - .../lifx/internal/fields/FloatField.java | 1 - .../lifx/internal/fields/HSBKField.java | 1 - .../lifx/internal/fields/LittleField.java | 1 - .../lifx/internal/fields/MACAddress.java | 1 - .../lifx/internal/fields/MACAddressField.java | 1 - .../lifx/internal/fields/StringField.java | 1 - .../lifx/internal/fields/UInt16Field.java | 1 - .../lifx/internal/fields/UInt32Field.java | 1 - .../lifx/internal/fields/UInt64Field.java | 1 - .../lifx/internal/fields/UInt8Field.java | 1 - .../binding/lifx/internal/fields/Version.java | 1 - .../lifx/internal/fields/VersionField.java | 1 - .../internal/handler/LifxLightHandler.java | 1 - .../listener/LifxLightStateListener.java | 2 +- .../protocol/AcknowledgementResponse.java | 1 - .../protocol/EchoRequestResponse.java | 1 - .../internal/protocol/GenericHandler.java | 1 - .../lifx/internal/protocol/GenericPacket.java | 1 - .../protocol/GetColorZonesRequest.java | 1 - .../internal/protocol/GetEchoRequest.java | 1 - .../internal/protocol/GetGroupRequest.java | 1 - .../protocol/GetHostFirmwareRequest.java | 1 - .../internal/protocol/GetHostInfoRequest.java | 1 - .../internal/protocol/GetInfoRequest.java | 1 - .../internal/protocol/GetLabelRequest.java | 1 - .../protocol/GetLightInfraredRequest.java | 1 - .../protocol/GetLightPowerRequest.java | 1 - .../internal/protocol/GetLocationRequest.java | 1 - .../internal/protocol/GetPowerRequest.java | 1 - .../lifx/internal/protocol/GetRequest.java | 1 - .../internal/protocol/GetServiceRequest.java | 1 - .../protocol/GetTagLabelsRequest.java | 1 - .../internal/protocol/GetTagsRequest.java | 1 - .../protocol/GetTileEffectRequest.java | 1 - .../internal/protocol/GetVersionRequest.java | 1 - .../protocol/GetWifiFirmwareRequest.java | 1 - .../internal/protocol/GetWifiInfoRequest.java | 1 - .../lifx/internal/protocol/Packet.java | 1 - .../lifx/internal/protocol/PacketFactory.java | 1 - .../lifx/internal/protocol/PacketHandler.java | 1 - .../lifx/internal/protocol/PowerState.java | 1 - .../lifx/internal/protocol/Product.java | 1 - .../internal/protocol/SetColorRequest.java | 1 - .../protocol/SetColorZonesRequest.java | 1 - .../protocol/SetDimAbsoluteRequest.java | 1 - .../internal/protocol/SetLabelRequest.java | 1 - .../protocol/SetLightInfraredRequest.java | 1 - .../protocol/SetLightPowerRequest.java | 1 - .../internal/protocol/SetPowerRequest.java | 1 - .../internal/protocol/SetTagsRequest.java | 1 - .../protocol/SetTileEffectRequest.java | 1 - .../internal/protocol/SignalStrength.java | 1 - .../internal/protocol/StateGroupResponse.java | 1 - .../protocol/StateHostFirmwareResponse.java | 1 - .../protocol/StateHostInfoResponse.java | 1 - .../internal/protocol/StateInfoResponse.java | 1 - .../internal/protocol/StateLabelResponse.java | 1 - .../protocol/StateLightInfraredResponse.java | 1 - .../protocol/StateLightPowerResponse.java | 1 - .../protocol/StateLocationResponse.java | 1 - .../protocol/StateMultiZoneResponse.java | 1 - .../internal/protocol/StatePowerResponse.java | 1 - .../lifx/internal/protocol/StateResponse.java | 1 - .../protocol/StateServiceResponse.java | 1 - .../protocol/StateVersionResponse.java | 1 - .../protocol/StateWifiFirmwareResponse.java | 1 - .../protocol/StateWifiInfoResponse.java | 1 - .../internal/protocol/StateZoneResponse.java | 1 - .../internal/protocol/TagLabelsResponse.java | 1 - .../lifx/internal/protocol/TagsResponse.java | 1 - .../lifx/internal/util/LifxMessageUtil.java | 1 - .../lifx/internal/util/LifxNetworkUtil.java | 1 - .../lifx/internal/util/LifxSelectorUtil.java | 1 - .../internal/util/LifxThrottlingUtil.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 6 +- .../main/resources/ESH-INF/thing/channel.xml | 8 +- .../resources/ESH-INF/thing/colorirlight.xml | 13 +- .../resources/ESH-INF/thing/colorlight.xml | 11 +- .../resources/ESH-INF/thing/colormzlight.xml | 11 +- .../resources/ESH-INF/thing/tilelight.xml | 10 +- .../resources/ESH-INF/thing/whitelight.xml | 11 +- bundles/org.openhab.binding.linky/pom.xml | 8 +- .../src/main/feature/feature.xml | 13 +- .../linky/internal/LinkyBindingConstants.java | 1 - .../console/LinkyCommandExtension.java | 1 - .../linky/internal/handler/LinkyHandler.java | 1 - .../internal/model/LinkyConsumptionData.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 36 +- .../org.openhab.binding.linuxinput/pom.xml | 4 +- .../src/main/feature/feature.xml | 32 +- .../internal/DeviceReadingHandler.java | 11 +- .../internal/LinuxInputBindingConstants.java | 3 +- .../internal/LinuxInputDiscoveryService.java | 22 +- .../internal/LinuxInputHandler.java | 23 +- .../internal/LinuxInputHandlerFactory.java | 10 +- .../internal/evdev4j/EvdevDevice.java | 21 +- .../internal/evdev4j/LastErrorException.java | 3 +- .../linuxinput/internal/evdev4j/Utils.java | 3 +- .../internal/evdev4j/jnr/EvdevLibrary.java | 6 +- bundles/org.openhab.binding.lirc/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../lirc/internal/LIRCBindingConstants.java | 1 - .../lirc/internal/LIRCResponseException.java | 1 - .../config/LIRCBridgeConfiguration.java | 1 - .../config/LIRCRemoteConfiguration.java | 1 - .../internal/connector/LIRCConnector.java | 1 - .../internal/connector/LIRCEventListener.java | 1 - .../internal/connector/LIRCStreamReader.java | 1 - .../discovery/LIRCRemoteDiscoveryService.java | 1 - .../internal/handler/LIRCBridgeHandler.java | 2 - .../lirc/internal/messages/LIRCResponse.java | 1 - .../resources/ESH-INF/binding/binding.xml | 6 +- .../resources/ESH-INF/thing/thing-types.xml | 7 +- bundles/org.openhab.binding.logreader/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/thing/channels.xml | 3 +- .../main/resources/ESH-INF/thing/reader.xml | 23 +- bundles/org.openhab.binding.loxone/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../LxDynamicStateDescriptionProvider.java | 2 +- .../loxone/internal/LxServerHandler.java | 1 - .../loxone/internal/LxServerHandlerApi.java | 6 +- .../loxone/internal/controls/LxControl.java | 1 - .../internal/controls/LxControlJalousie.java | 2 +- .../internal/security/LxWsSecurity.java | 1 - .../internal/security/LxWsSecurityHash.java | 8 +- .../internal/security/LxWsSecurityToken.java | 1 - .../loxone/internal/types/LxResponse.java | 2 +- .../loxone/internal/types/LxState.java | 4 +- .../internal/types/LxTemperatureHSBType.java | 11 +- .../internal/types/LxWsBinaryHeader.java | 54 +- .../internal/types/LxWsSecurityType.java | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 22 +- .../controls/LxServerHandlerDummy.java | 2 - bundles/org.openhab.binding.lutron/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/discovery/project/GreenMode.java | 1 - .../internal/discovery/project/Project.java | 1 - .../internal/discovery/project/Timeclock.java | 1 - .../internal/grxprg/GrafikEyeConfig.java | 1 - .../internal/grxprg/GrafikEyeHandler.java | 5 +- .../internal/grxprg/PrgBridgeHandler.java | 2 - .../internal/grxprg/PrgHandlerCallback.java | 10 +- .../internal/grxprg/PrgProtocolHandler.java | 3 - .../internal/handler/BaseKeypadHandler.java | 1 - .../lutron/internal/handler/CcoHandler.java | 1 - .../handler/GrafikEyeKeypadHandler.java | 1 - .../internal/handler/IntlKeypadHandler.java | 1 - .../internal/handler/KeypadHandler.java | 1 - .../internal/handler/LutronHandler.java | 1 - .../handler/MaintainedCcoHandler.java | 1 - .../handler/OccupancySensorHandler.java | 1 - .../handler/PalladiomKeypadHandler.java | 1 - .../internal/handler/PicoKeypadHandler.java | 1 - .../internal/handler/PulsedCcoHandler.java | 1 - .../lutron/internal/handler/QSIOHandler.java | 1 - .../handler/TabletopKeypadHandler.java | 1 - .../internal/handler/TimeclockHandler.java | 1 - .../lutron/internal/handler/VcrxHandler.java | 1 - .../lutron/internal/handler/WciHandler.java | 1 - .../internal/hw/HwSerialBridgeHandler.java | 2 - .../keypadconfig/KeypadConfigGrafikEye.java | 1 - .../KeypadConfigTabletopSeetouch.java | 1 - .../internal/radiora/RS232Connection.java | 1 - .../internal/radiora/RS232MessageParser.java | 1 - .../internal/radiora/RadioRAConnection.java | 1 - .../radiora/RadioRAConnectionException.java | 1 - .../internal/radiora/RadioRAConstants.java | 1 - .../radiora/RadioRAFeedbackListener.java | 1 - .../internal/radiora/config/DimmerConfig.java | 1 - .../radiora/config/PhantomButtonConfig.java | 1 - .../internal/radiora/config/RS232Config.java | 1 - .../internal/radiora/config/SwitchConfig.java | 1 - .../radiora/handler/PhantomButtonHandler.java | 2 - .../radiora/handler/SwitchHandler.java | 2 - .../radiora/protocol/ButtonPressCommand.java | 1 - .../radiora/protocol/LEDMapFeedback.java | 1 - .../protocol/LocalZoneChangeFeedback.java | 1 - .../radiora/protocol/RadioRACommand.java | 1 - .../radiora/protocol/RadioRAFeedback.java | 1 - .../protocol/SetDimmerLevelCommand.java | 1 - .../protocol/SetSwitchLevelCommand.java | 1 - .../radiora/protocol/ZoneMapFeedback.java | 1 - .../protocol/ZoneMapInquiryCommand.java | 1 - .../resources/ESH-INF/binding/binding.xml | 10 +- .../resources/ESH-INF/thing/thing-types.xml | 30 +- bundles/org.openhab.binding.mail/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../openhab/binding/mail/MailBuilderTest.java | 1 - bundles/org.openhab.binding.max/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../binding/max/internal/MaxBackupUtils.java | 1 - .../max/internal/command/ACommand.java | 1 - .../max/internal/command/CCommand.java | 1 - .../max/internal/command/CubeCommand.java | 1 - .../max/internal/command/FCommand.java | 1 - .../max/internal/command/LCommand.java | 1 - .../max/internal/command/MCommand.java | 1 - .../max/internal/command/NCommand.java | 1 - .../max/internal/command/TCommand.java | 1 - .../max/internal/command/UdpCubeCommand.java | 2 - .../max/internal/command/ZCommand.java | 1 - .../config/MaxCubeBridgeConfiguration.java | 1 - .../internal/device/DeviceConfiguration.java | 1 - .../internal/device/HeatingThermostat.java | 1 - .../max/internal/device/ShutterContact.java | 1 - .../internal/device/UnsupportedDevice.java | 1 - .../discovery/MaxCubeBridgeDiscovery.java | 1 - .../IncompleteMessageException.java | 1 - .../IncorrectMultilineIndexException.java | 1 - .../exceptions/MessageIsWaitingException.java | 1 - .../NoMessageAvailableException.java | 1 - .../UnprocessableMessageException.java | 1 - .../UnsupportedMessageTypeException.java | 1 - .../factory/MaxCubeHandlerFactory.java | 1 - .../handler/DeviceStatusListener.java | 1 - .../handler/MaxCubeBridgeHandler.java | 2 - .../max/internal/handler/SendCommand.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/bridge.xml | 8 +- .../resources/ESH-INF/thing/thing-types.xml | 68 +- bundles/org.openhab.binding.mcp23017/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/Mcp23017BindingConstants.java | 1 - .../internal/Mcp23017HandlerFactory.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../main/resources/ESH-INF/thing/channels.xml | 75 +- .../resources/ESH-INF/thing/thing-types.xml | 3 +- bundles/org.openhab.binding.melcloud/pom.xml | 20 +- .../src/main/feature/feature.xml | 10 +- .../internal/MelCloudHandlerFactory.java | 1 - .../internal/api/MelCloudConnection.java | 1 - .../melcloud/internal/api/json/Device.java | 1 - .../internal/api/json/DeviceProps.java | 1 - .../melcloud/internal/api/json/LoginData.java | 1 - .../melcloud/internal/api/json/Preset.java | 1 - .../api/json/QuantizedCoordinates.java | 1 - .../melcloud/internal/api/json/Structure.java | 1 - .../internal/api/json/WeatherObservation.java | 1 - .../main/resources/ESH-INF/thing/acDevice.xml | 24 +- .../main/resources/ESH-INF/thing/channels.xml | 18 +- .../ESH-INF/thing/heatpumpDevice.xml | 20 +- bundles/org.openhab.binding.meteoblue/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/bridge.xml | 31 +- .../resources/ESH-INF/thing/thing-types.xml | 118 +- .../org.openhab.binding.meteostick/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 35 +- bundles/org.openhab.binding.miele/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../miele/internal/MieleBindingConstants.java | 1 - .../MieleMDNSDiscoveryParticipant.java | 1 - .../handler/ApplianceStatusListener.java | 1 - .../handler/CoffeeMachineChannelSelector.java | 1 - .../handler/CoffeeMachineHandler.java | 1 - .../internal/handler/DishWasherHandler.java | 1 - .../handler/DishwasherChannelSelector.java | 1 - .../handler/FridgeChannelSelector.java | 3 +- .../handler/FridgeFreezerHandler.java | 1 - .../miele/internal/handler/HobHandler.java | 1 - .../internal/handler/HoodChannelSelector.java | 3 +- .../miele/internal/handler/HoodHandler.java | 1 - .../handler/MieleApplianceHandler.java | 8 +- .../handler/TumbleDryerChannelSelector.java | 1 - .../internal/handler/TumbleDryerHandler.java | 1 - .../handler/WashingMachineHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/channeltypes.xml | 6 +- .../resources/ESH-INF/thing/coffeemachine.xml | 17 +- .../resources/ESH-INF/thing/dishwasher.xml | 23 +- .../main/resources/ESH-INF/thing/fridge.xml | 17 +- .../resources/ESH-INF/thing/fridgefreezer.xml | 27 +- .../src/main/resources/ESH-INF/thing/hob.xml | 43 +- .../src/main/resources/ESH-INF/thing/hood.xml | 13 +- .../src/main/resources/ESH-INF/thing/oven.xml | 35 +- .../resources/ESH-INF/thing/tumbledryer.xml | 27 +- .../ESH-INF/thing/washingmachine.xml | 29 +- .../main/resources/ESH-INF/thing/xgw3000.xml | 6 +- bundles/org.openhab.binding.mihome/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../mihome/internal/EncryptionHelper.java | 1 - .../handler/XiaomiActorCurtainHandler.java | 4 +- .../handler/XiaomiActorGatewayHandler.java | 1 - .../handler/XiaomiActorPlugHandler.java | 1 - .../XiaomiAqaraActorSwitch2Handler.java | 1 - .../handler/XiaomiSensorMagnetHandler.java | 1 - .../socket/XiaomiDiscoverySocket.java | 1 - .../resources/ESH-INF/binding/binding.xml | 6 +- .../resources/ESH-INF/thing/aqara_86sw1.xml | 8 +- .../resources/ESH-INF/thing/aqara_86sw2.xml | 8 +- .../ESH-INF/thing/aqara_ctrl_ln1.xml | 4 +- .../ESH-INF/thing/aqara_ctrl_ln2.xml | 4 +- .../ESH-INF/thing/aqara_ctrl_neutral1.xml | 4 +- .../ESH-INF/thing/aqara_ctrl_neutral2.xml | 4 +- .../main/resources/ESH-INF/thing/basic.xml | 9 +- .../main/resources/ESH-INF/thing/bridge.xml | 2 +- .../main/resources/ESH-INF/thing/channel.xml | 2 +- .../main/resources/ESH-INF/thing/curtain.xml | 6 +- .../main/resources/ESH-INF/thing/gateway.xml | 18 +- .../resources/ESH-INF/thing/sensor_cube.xml | 8 +- .../resources/ESH-INF/thing/sensor_gas.xml | 8 +- .../resources/ESH-INF/thing/sensor_ht.xml | 15 +- .../ESH-INF/thing/sensor_lock_aq1.xml | 8 +- .../resources/ESH-INF/thing/sensor_magnet.xml | 16 +- .../ESH-INF/thing/sensor_magnet_aq2.xml | 16 +- .../resources/ESH-INF/thing/sensor_motion.xml | 14 +- .../ESH-INF/thing/sensor_motion_aq2.xml | 16 +- .../resources/ESH-INF/thing/sensor_plug.xml | 12 +- .../resources/ESH-INF/thing/sensor_smoke.xml | 8 +- .../resources/ESH-INF/thing/sensor_switch.xml | 10 +- .../ESH-INF/thing/sensor_switch_aq2.xml | 10 +- .../ESH-INF/thing/sensor_vibration.xml | 13 +- .../ESH-INF/thing/sensor_weather_v1.xml | 17 +- .../ESH-INF/thing/sensor_wleak_aq1.xml | 9 +- bundles/org.openhab.binding.miio/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../miio/internal/MiIoBindingConstants.java | 1 - .../binding/miio/internal/MiIoCommand.java | 1 - .../binding/miio/internal/MiIoCrypto.java | 10 +- .../miio/internal/MiIoMessageListener.java | 1 - .../miio/internal/basic/Conversions.java | 1 - .../miio/internal/basic/MiIoBasicDevice.java | 1 - .../miio/internal/cloud/MiCloudConnector.java | 1 - .../internal/handler/MiIoAbstractHandler.java | 1 - .../miio/internal/robot/RRMapFileParser.java | 1 - .../resources/ESH-INF/thing/basicThing.xml | 8 +- .../ESH-INF/thing/commonChannels.xml | 88 +- .../resources/ESH-INF/thing/genericThing.xml | 6 +- .../ESH-INF/thing/unsupportedThing.xml | 12 +- .../resources/ESH-INF/thing/vacuumThing.xml | 150 +- .../binding/miio/internal/RoboMapViewer.java | 3 - bundles/org.openhab.binding.milight/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../handler/AbstractLedV6Handler.java | 1 - .../handler/MilightV3WhiteHandler.java | 1 - .../protocol/MilightV6SessionManager.java | 2 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../src/main/resources/ESH-INF/thing/v2.xml | 8 +- .../src/main/resources/ESH-INF/thing/v3.xml | 33 +- .../src/main/resources/ESH-INF/thing/v6.xml | 58 +- bundles/org.openhab.binding.millheat/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/MillheatBindingConstants.java | 1 - .../internal/MillheatHandlerFactory.java | 1 - .../config/MillheatHomeConfiguration.java | 1 - .../handler/MillheatBaseThingHandler.java | 1 - .../millheat/internal/model/Heater.java | 1 - .../main/resources/ESH-INF/thing/account.xml | 2 +- .../main/resources/ESH-INF/thing/channels.xml | 20 +- .../main/resources/ESH-INF/thing/heater.xml | 16 +- .../src/main/resources/ESH-INF/thing/home.xml | 14 +- .../src/main/resources/ESH-INF/thing/room.xml | 20 +- bundles/org.openhab.binding.minecraft/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/message/data/PlayerData.java | 1 - .../internal/message/data/SignData.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 39 +- .../pom.xml | 48 +- .../src/main/feature/feature.xml | 14 +- .../SunspecDiscoveryParticipant.java | 1 - .../discovery/SunspecDiscoveryProcess.java | 1 - .../internal/dto/CommonModelBlock.java | 1 - .../internal/dto/InverterModelBlock.java | 1 - .../sunspec/internal/dto/MeterModelBlock.java | 1 - .../internal/handler/InverterHandler.java | 1 - .../internal/handler/MeterHandler.java | 1 - .../internal/parser/CommonModelParser.java | 2 - .../internal/parser/InverterModelParser.java | 1 - .../ESH-INF/thing/inverter-channel-groups.xml | 17 +- .../ESH-INF/thing/inverter-channel-types.xml | 25 +- .../ESH-INF/thing/inverter-types.xml | 69 +- .../ESH-INF/thing/meter-channel-groups.xml | 65 +- .../ESH-INF/thing/meter-channel-types.xml | 3 +- .../resources/ESH-INF/thing/meter-types.xml | 72 +- bundles/org.openhab.binding.modbus/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../modbus/ModbusBindingConstants.java | 1 - .../EndpointNotInitializedException.java | 1 - .../ModbusConfigurationException.java | 1 - .../modbus/internal/ModbusHandlerFactory.java | 1 - .../config/ModbusPollerConfiguration.java | 1 - .../config/ModbusTcpConfiguration.java | 1 - .../handler/ModbusDataThingHandler.java | 5 +- .../handler/ModbusPollerThingHandler.java | 1 - .../handler/ModbusPollerThingHandlerImpl.java | 1 - .../handler/ModbusSerialThingHandler.java | 1 - .../handler/ModbusTcpThingHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/bridge-poller.xml | 11 +- .../resources/ESH-INF/thing/bridge-serial.xml | 8 +- .../resources/ESH-INF/thing/bridge-tcp.xml | 8 +- .../resources/ESH-INF/thing/thing-data.xml | 48 +- .../resources/ESH-INF/thing/thing-types.xml | 3 +- .../org.openhab.binding.mqtt.generic/pom.xml | 4 +- .../mqtt/generic/AvailabilityTracker.java | 1 - .../binding/mqtt/generic/ChannelState.java | 1 - .../internal/MqttThingHandlerFactory.java | 1 - .../mapping/AbstractMqttAttributeClass.java | 1 - .../generic/tools/JsonReaderDelegate.java | 1 - .../mqtt/generic/values/ValueFactory.java | 1 - .../ESH-INF/config/color-channel-config.xml | 3 +- .../main/resources/ESH-INF/thing/channels.xml | 10 +- .../resources/ESH-INF/thing/generic-thing.xml | 4 +- .../handler/ThingChannelConstants.java | 1 - .../SubscribeFieldToMQTTtopicTests.java | 1 - .../mqtt/generic/values/ValueTests.java | 1 - .../pom.xml | 4 +- .../src/main/feature/feature.xml | 16 +- .../internal/MqttThingHandlerFactory.java | 1 - .../internal/ComponentSensor.java | 1 - .../internal/ConnectionDeserializer.java | 4 +- .../internal/ListOrStringDeserializer.java | 1 - .../discovery/HomeAssistantDiscovery.java | 1 - .../ESH-INF/thing/homeassistant-thing.xml | 7 +- .../homeassistant/internal/HaIDTests.java | 1 - .../handler/ThingChannelConstants.java | 1 - .../org.openhab.binding.mqtt.homie/pom.xml | 4 +- .../src/main/feature/feature.xml | 16 +- .../internal/MqttThingHandlerFactory.java | 2 - .../ESH-INF/config/homie-channel-config.xml | 3 +- .../resources/ESH-INF/thing/homie-thing.xml | 9 +- .../internal/mapping/HomieChildMapTests.java | 3 +- .../handler/ThingChannelConstants.java | 1 - .../internal/homie300/PropertyHelper.java | 3 +- bundles/org.openhab.binding.mqtt/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../binding/mqtt/action/MQTTActions.java | 3 +- .../mqtt/handler/AbstractBrokerHandler.java | 18 +- .../internal/MqttBrokerHandlerFactory.java | 12 +- .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 59 +- .../handler/AbstractBrokerHandlerTest.java | 4 +- .../binding/mqtt/handler/BrokerHandlerEx.java | 1 - .../mqtt/handler/BrokerHandlerTest.java | 1 - .../mqtt/handler/MqttBrokerConnectionEx.java | 1 - .../MQTTTopicDiscoveryServiceTest.java | 1 - .../ServiceDiscoveryServiceTest.java | 3 +- bundles/org.openhab.binding.nanoleaf/pom.xml | 4 +- .../nanoleaf/internal/OpenAPIUtils.java | 5 +- .../NanoleafMDNSDiscoveryParticipant.java | 11 +- .../handler/NanoleafControllerHandler.java | 2 +- .../nanoleaf/internal/model/AuthToken.java | 1 - .../nanoleaf/internal/model/Brightness.java | 1 - .../nanoleaf/internal/model/Command.java | 1 - .../nanoleaf/internal/model/Effects.java | 1 - .../internal/model/GlobalOrientation.java | 1 - .../binding/nanoleaf/internal/model/Hue.java | 1 - .../nanoleaf/internal/model/Layout.java | 2 +- .../binding/nanoleaf/internal/model/On.java | 1 - .../nanoleaf/internal/model/Palette.java | 1 - .../nanoleaf/internal/model/PanelLayout.java | 1 - .../internal/model/PositionDatum.java | 1 - .../nanoleaf/internal/model/Rhythm.java | 1 - .../nanoleaf/internal/model/RhythmPos.java | 1 - .../binding/nanoleaf/internal/model/Sat.java | 1 - .../nanoleaf/internal/model/TouchEvents.java | 1 - .../resources/ESH-INF/thing/lightpanels.xml | 54 +- bundles/org.openhab.binding.neato/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../neato/internal/NeatoBindingConstants.java | 1 - .../internal/NeatoCommunicationException.java | 1 - .../internal/classes/AvailableCommands.java | 1 - .../internal/classes/AvailableServices.java | 1 - .../neato/internal/classes/Battery.java | 1 - .../classes/BeehiveAuthentication.java | 1 - .../neato/internal/classes/ErrorMessage.java | 1 - .../internal/config/NeatoRobotConfig.java | 1 - .../NeatoAccountDiscoveryService.java | 1 - .../internal/handler/NeatoAccountHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/vacuumcleaner.xml | 44 +- bundles/org.openhab.binding.neeo/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../discovery/NeeoBrainDiscovery.java | 1 - .../internal/handler/NeeoBrainHandler.java | 1 - .../neeo/internal/models/ExecuteResult.java | 1 - .../neeo/internal/models/NeeoAction.java | 1 - .../neeo/internal/models/NeeoBrain.java | 1 - .../internal/models/NeeoDeviceDetails.java | 1 - .../models/NeeoDeviceDetailsTiming.java | 1 - .../neeo/internal/models/NeeoMacro.java | 1 - .../models/NeeoMacrosDeserializer.java | 1 - .../models/NeeoRecipesDeserializer.java | 1 - .../neeo/internal/models/NeeoRoom.java | 1 - .../models/NeeoRoomsDeserializer.java | 1 - .../models/NeeoScenariosDeserializer.java | 1 - .../resources/ESH-INF/binding/binding.xml | 11 +- .../resources/ESH-INF/thing/thing-types.xml | 42 +- bundles/org.openhab.binding.neohub/pom.xml | 20 +- .../src/main/feature/feature.xml | 10 +- .../neohub/internal/NeoBaseConfiguration.java | 1 - .../neohub/internal/NeoBaseHandler.java | 36 +- .../internal/NeoHubBindingConstants.java | 7 +- .../neohub/internal/NeoHubConfiguration.java | 1 - .../neohub/internal/NeoHubDebouncer.java | 1 - .../internal/NeoHubDiscoveryService.java | 4 +- .../neohub/internal/NeoHubHandler.java | 1 - .../neohub/internal/NeoHubHandlerFactory.java | 1 - .../neohub/internal/NeoHubInfoResponse.java | 1 - .../binding/neohub/internal/NeoHubSocket.java | 1 - .../neohub/internal/NeoStatHandler.java | 1 - .../binding/neohub/internal/NeohubBool.java | 1 - .../internal/NeohubBoolDeserializer.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 29 +- .../binding/neohub/test/NeoHubTestData.java | 69 +- bundles/org.openhab.binding.nest/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../binding/nest/internal/NestUtils.java | 1 - .../nest/internal/data/AccessTokenData.java | 1 - .../nest/internal/data/ActivityZone.java | 1 - .../nest/internal/data/BaseNestDevice.java | 1 - .../binding/nest/internal/data/Camera.java | 1 - .../nest/internal/data/CameraEvent.java | 1 - .../binding/nest/internal/data/ETA.java | 1 - .../binding/nest/internal/data/ErrorData.java | 1 - .../nest/internal/data/NestDevices.java | 1 - .../nest/internal/data/NestMetadata.java | 1 - .../nest/internal/data/SmokeDetector.java | 1 - .../binding/nest/internal/data/Structure.java | 1 - .../nest/internal/data/Thermostat.java | 1 - .../nest/internal/data/TopLevelData.java | 1 - .../internal/data/TopLevelStreamingData.java | 1 - .../internal/handler/NestBaseHandler.java | 1 - .../internal/handler/NestBridgeHandler.java | 1 - .../handler/NestSmokeDetectorHandler.java | 1 - .../handler/NestStructureHandler.java | 1 - .../handler/NestThermostatHandler.java | 1 - .../listener/NestThingDataListener.java | 1 - .../nest/internal/rest/NestAuthorizer.java | 1 - .../rest/NestStreamingRestClient.java | 1 - .../update/NestCompositeUpdateHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 13 +- .../main/resources/ESH-INF/thing/bridge.xml | 5 +- .../main/resources/ESH-INF/thing/camera.xml | 9 +- .../main/resources/ESH-INF/thing/channels.xml | 124 +- .../ESH-INF/thing/smoke-detector.xml | 21 +- .../resources/ESH-INF/thing/structure.xml | 32 +- .../resources/ESH-INF/thing/thermostat.xml | 57 +- bundles/org.openhab.binding.netatmo/pom.xml | 4 +- .../src/main/feature/feature.xml | 22 +- .../internal/NetatmoBindingConstants.java | 1 - .../internal/NetatmoHandlerFactory.java | 1 - .../netatmo/internal/RefreshStrategy.java | 1 - .../netatmo/internal/WeatherUtils.java | 1 - .../internal/channelhelper/RadioHelper.java | 1 - .../NetatmoModuleDiscoveryService.java | 1 - .../handler/NetatmoBridgeHandler.java | 1 - .../handler/NetatmoDeviceHandler.java | 1 - .../handler/NetatmoModuleHandler.java | 1 - .../homecoach/NAHealthyHomeCoachHandler.java | 1 - .../internal/thermostat/NAPlugHandler.java | 1 - .../internal/thermostat/NATherm1Handler.java | 1 - .../webhook/NAWebhookCameraEvent.java | 1 - .../webhook/WelcomeWebHookServlet.java | 1 - .../welcome/NAWelcomeCameraHandler.java | 1 - .../welcome/NAWelcomeHomeHandler.java | 1 - .../welcome/NAWelcomePersonHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 10 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../main/resources/ESH-INF/thing/bridge.xml | 2 +- .../main/resources/ESH-INF/thing/channels.xml | 188 +- .../ESH-INF/thing/healthyhomecoach.xml | 39 +- .../main/resources/ESH-INF/thing/station.xml | 387 +- .../resources/ESH-INF/thing/thermostat.xml | 46 +- .../resources/ESH-INF/thing/welcomecamera.xml | 12 +- .../resources/ESH-INF/thing/welcomehome.xml | 11 +- .../resources/ESH-INF/thing/welcomeperson.xml | 11 +- bundles/org.openhab.binding.network/pom.xml | 16 +- .../src/main/feature/feature.xml | 15 +- .../internal/NetworkBindingConfiguration.java | 12 +- .../internal/NetworkBindingConstants.java | 1 - .../network/internal/dhcp/DHCPPacket.java | 1 - .../internal/handler/NetworkHandler.java | 3 +- .../network/internal/utils/LatencyParser.java | 10 +- .../network/internal/utils/NetworkUtils.java | 26 +- .../network/internal/utils/PingResult.java | 11 +- .../resources/ESH-INF/binding/binding.xml | 26 +- .../resources/ESH-INF/thing/thing-types.xml | 42 +- .../cache/ExpiringCacheHelper.java | 2 - .../internal/utils/LatencyParserTest.java | 14 +- .../pom.xml | 20 +- .../src/main/feature/feature.xml | 10 +- .../NUTDynamicChannelConfiguration.java | 1 - .../main/resources/ESH-INF/thing/channels.xml | 38 +- .../ESH-INF/thing/dynamic-channels.xml | 32 +- .../resources/ESH-INF/thing/thing-types.xml | 42 +- .../internal/NutNameChannelsTest.java | 7 +- .../internal/nut/NutApiTest.java | 1 - .../org.openhab.binding.nibeheatpump/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/NibeHeatPumpCommandResult.java | 1 - .../internal/NibeHeatPumpException.java | 1 - .../connection/NibeHeatPumpConnector.java | 1 - .../connection/NibeHeatPumpEventListener.java | 1 - .../message/NibeHeatPumpBaseMessage.java | 2 - .../nibeheatpump/internal/models/F1X45.java | 2 +- .../nibeheatpump/internal/models/F1X55.java | 8 +- .../nibeheatpump/internal/models/F750.java | 2 +- .../protocol/NibeHeatPumpProtocolStates.java | 4 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../ESH-INF/thing/f1x45-channel-groups.xml | 1465 ++-- .../resources/ESH-INF/thing/f1x45-types.xml | 84 +- .../main/resources/ESH-INF/thing/f1x45.xml | 21 +- .../ESH-INF/thing/f1x55-channel-groups.xml | 3 +- .../resources/ESH-INF/thing/f1x55-types.xml | 96 +- .../main/resources/ESH-INF/thing/f1x55.xml | 21 +- .../ESH-INF/thing/f470-channel-groups.xml | 972 +-- .../resources/ESH-INF/thing/f470-types.xml | 84 +- .../src/main/resources/ESH-INF/thing/f470.xml | 21 +- .../ESH-INF/thing/f750-channel-groups.xml | 1281 +-- .../resources/ESH-INF/thing/f750-types.xml | 113 +- .../src/main/resources/ESH-INF/thing/f750.xml | 21 +- .../NibeHeatPumpHandlerCommand2NibeTest.java | 36 +- .../org.openhab.binding.nibeuplink/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/AtomicReferenceTrait.java | 3 +- .../internal/NibeUplinkBindingConstants.java | 1 - .../AbstractUplinkCommandCallback.java | 1 - .../internal/command/NibeUplinkCommand.java | 1 - .../connector/CommunicationStatus.java | 1 - .../connector/StatusUpdateListener.java | 1 - .../connector/UplinkWebInterface.java | 2 - .../internal/handler/ChannelProvider.java | 1 - .../internal/handler/GenericHandler.java | 5 +- .../internal/handler/NibeUplinkHandler.java | 5 +- .../internal/handler/UplinkBaseHandler.java | 1 - .../internal/model/BaseChannels.java | 1 - .../nibeuplink/internal/model/Channel.java | 12 +- .../internal/model/CustomChannel.java | 1 - .../internal/model/CustomChannels.java | 1 - .../model/DataResponseTransformer.java | 1 - .../internal/model/F1145Channels.java | 1 - .../internal/model/F1155Channels.java | 1 - .../internal/model/F730Channels.java | 1 - .../internal/model/F750Channels.java | 1 - .../internal/model/GenericDataResponse.java | 1 - .../internal/model/QuantityChannel.java | 15 +- .../internal/model/ScaledChannel.java | 16 +- .../internal/model/SwitchChannel.java | 29 +- .../internal/model/ValidationException.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../ESH-INF/thing/base-channel-groups.xml | 74 +- .../ESH-INF/thing/base-channel-types.xml | 3 +- .../ESH-INF/thing/custom-channel-groups.xml | 16 +- .../ESH-INF/thing/f1145-channel-groups.xml | 30 +- .../resources/ESH-INF/thing/f1145-thing.xml | 14 +- .../ESH-INF/thing/f1155-channel-groups.xml | 32 +- .../ESH-INF/thing/f1155-channel-types.xml | 4 +- .../resources/ESH-INF/thing/f1155-thing.xml | 14 +- .../ESH-INF/thing/f730-channel-groups.xml | 42 +- .../resources/ESH-INF/thing/f730-thing.xml | 12 +- .../ESH-INF/thing/f750-channel-groups.xml | 34 +- .../resources/ESH-INF/thing/f750-thing.xml | 12 +- .../ESH-INF/thing/vvm310-channel-groups.xml | 68 +- .../ESH-INF/thing/vvm310-channel-types.xml | 6 +- .../resources/ESH-INF/thing/vvm310-thing.xml | 14 +- .../ESH-INF/thing/vvm320-channel-groups.xml | 76 +- .../ESH-INF/thing/vvm320-channel-types.xml | 6 +- .../resources/ESH-INF/thing/vvm320-thing.xml | 14 +- bundles/org.openhab.binding.nikobus/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/NikobusBindingConstants.java | 1 - .../handler/NikobusPushButtonHandler.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 10 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/protocol/nhc1/NhcAction1.java | 8 +- .../protocol/nhc1/NhcThermostat1.java | 2 +- .../internal/protocol/nhc2/NhcAction2.java | 12 +- .../nhc2/NikoHomeControlCommunication2.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 68 +- bundles/org.openhab.binding.ntp/README.md | 106 +- bundles/org.openhab.binding.ntp/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../ntp/internal/NtpBindingConstants.java | 102 +- .../ntp/internal/NtpHandlerFactory.java | 126 +- .../ntp/internal/discovery/NtpDiscovery.java | 195 +- .../ntp/internal/handler/NtpHandler.java | 541 +- .../resources/ESH-INF/binding/binding.xml | 19 +- .../resources/ESH-INF/thing/thing-types.xml | 141 +- bundles/org.openhab.binding.nuki/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../nuki/internal/NukiBindingConstants.java | 1 - .../nuki/internal/NukiHandlerFactory.java | 1 - .../converter/LockActionConverter.java | 1 - .../BridgeCallbackAddResponse.java | 1 - .../BridgeCallbackListResponse.java | 1 - .../BridgeCallbackRemoveResponse.java | 1 - .../dataexchange/BridgeInfoResponse.java | 1 - .../BridgeLockActionResponse.java | 1 - .../dataexchange/BridgeLockStateResponse.java | 1 - .../internal/dataexchange/NukiApiServlet.java | 1 - .../internal/dataexchange/NukiHttpClient.java | 1 - .../internal/dto/BridgeApiCallbackAddDto.java | 1 - .../dto/BridgeApiCallbackListCallbackDto.java | 1 - .../dto/BridgeApiCallbackListDto.java | 1 - .../dto/BridgeApiCallbackRemoveDto.java | 1 - .../nuki/internal/dto/BridgeApiInfoDto.java | 1 - .../nuki/internal/dto/BridgeApiInfoIdDto.java | 1 - .../dto/BridgeApiInfoScanResultDto.java | 1 - .../internal/dto/BridgeApiInfoVersionDto.java | 1 - .../internal/dto/BridgeApiLockActionDto.java | 1 - .../internal/dto/BridgeApiLockStateDto.java | 1 - .../dto/BridgeApiLockStateRequestDto.java | 1 - .../dto/NukiHttpServerStatusResponseDto.java | 1 - .../internal/handler/NukiBridgeHandler.java | 1 - .../handler/NukiSmartLockHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 10 +- .../resources/ESH-INF/thing/thing-types.xml | 38 +- bundles/org.openhab.binding.oceanic/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../NetworkOceanicBindingConfiguration.java | 1 - .../internal/OceanicBindingConstants.java | 3 - .../SerialOceanicBindingConfiguration.java | 1 - .../internal/handler/OceanicThingHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/channel-types.xml | 3 +- .../main/resources/ESH-INF/thing/network.xml | 83 +- .../main/resources/ESH-INF/thing/serial.xml | 83 +- .../org.openhab.binding.omnikinverter/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../OmnikInverterBindingConstants.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 12 +- .../test/OmnikInverterMessageTest.java | 1 - .../org.openhab.binding.onebusaway/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/config/ApiConfiguration.java | 1 - .../internal/handler/ApiHandler.java | 1 - .../handler/ObaStopArrivalResponse.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../src/main/resources/ESH-INF/thing/api.xml | 6 +- .../main/resources/ESH-INF/thing/channels.xml | 18 +- .../main/resources/ESH-INF/thing/route.xml | 16 +- .../src/main/resources/ESH-INF/thing/stop.xml | 8 +- bundles/org.openhab.binding.onewire/pom.xml | 4 +- .../onewire/internal/OwPageBuffer.java | 1 - .../device/AbstractDigitalOwDevice.java | 1 - .../internal/device/AbstractOwDevice.java | 1 - .../onewire/internal/device/DS2405.java | 1 - .../internal/device/DS2406_DS2413.java | 1 - .../onewire/internal/device/DS2438.java | 1 - .../discovery/OwDiscoveryService.java | 1 - .../handler/BasicMultisensorThingHandler.java | 1 - .../internal/owserver/OwserverConnection.java | 1 - .../owserver/OwserverControlFlag.java | 1 - .../internal/owserver/OwserverPacket.java | 2 - .../owserver/OwserverTemperatureScale.java | 1 - .../main/resources/ESH-INF/thing/bae09x.xml | 6 +- .../main/resources/ESH-INF/thing/basic.xml | 4 +- .../main/resources/ESH-INF/thing/bridge.xml | 4 +- .../main/resources/ESH-INF/thing/common.xml | 28 +- .../resources/ESH-INF/thing/multisensor.xml | 10 +- .../onewire/OwserverDeviceParameterTest.java | 2 - .../openhab/binding/onewire/SensorIdTest.java | 1 - .../org/openhab/binding/onewire/UtilTest.java | 1 - .../internal/OwserverBridgeHandlerTest.java | 1 - .../org.openhab.binding.onewiregpio/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/OneWireGPIOBindingConstants.java | 1 - .../internal/handler/OneWireGPIOHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 7 +- bundles/org.openhab.binding.onkyo/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../onkyo/internal/OnkyoBindingConstants.java | 1 - .../binding/onkyo/internal/OnkyoModel.java | 1 - .../OnkyoStateDescriptionProvider.java | 3 +- .../OnkyoUpnpDiscoveryParticipant.java | 1 - .../onkyo/internal/eiscp/EiscpException.java | 1 - .../onkyo/internal/handler/OnkyoHandler.java | 5 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 4 +- .../ESH-INF/thing/channel-groups.xml | 51 +- .../main/resources/ESH-INF/thing/ht-rc560.xml | 13 +- .../main/resources/ESH-INF/thing/onkyoAVR.xml | 15 +- .../ESH-INF/thing/onkyoUnsupported.xml | 14 +- .../resources/ESH-INF/thing/tx-nr3007.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr414.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr474.xml | 39 +- .../main/resources/ESH-INF/thing/tx-nr509.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr515.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr525.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr535.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr545.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr555.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr575.xml | 13 +- .../resources/ESH-INF/thing/tx-nr575e.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr616.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr626.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr636.xml | 41 +- .../main/resources/ESH-INF/thing/tx-nr646.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr656.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr676.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr686.xml | 41 +- .../main/resources/ESH-INF/thing/tx-nr708.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr717.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr727.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr737.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr747.xml | 13 +- .../main/resources/ESH-INF/thing/tx-nr809.xml | 12 +- .../main/resources/ESH-INF/thing/tx-nr818.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr828.xml | 15 +- .../main/resources/ESH-INF/thing/tx-nr838.xml | 15 +- .../org.openhab.binding.opengarage/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/OpenGarageBindingConstants.java | 2 +- .../internal/OpenGarageHandler.java | 34 +- .../internal/OpenGarageWebTargets.java | 18 +- .../internal/api/ControllerVariables.java | 8 +- .../resources/ESH-INF/thing/thing-types.xml | 8 +- .../org.openhab.binding.opensprinkler/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../OpenSprinklerBaseBridgeHandler.java | 1 - .../handler/OpenSprinklerBaseHandler.java | 1 - .../handler/OpenSprinklerDeviceHandler.java | 1 - .../handler/OpenSprinklerStationHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 12 +- bundles/org.openhab.binding.openuv/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../openuv/internal/OpenUVHandlerFactory.java | 1 - .../discovery/OpenUVDiscoveryService.java | 1 - .../openuv/internal/json/OpenUVResult.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 51 +- .../pom.xml | 4 +- .../resources/ESH-INF/thing/bridge-types.xml | 2 +- .../resources/ESH-INF/thing/channel-types.xml | 170 +- .../resources/ESH-INF/thing/thing-types.xml | 14 +- bundles/org.openhab.binding.orvibo/pom.xml | 6 +- .../src/main/feature/feature.xml | 12 +- .../orvibo/internal/OrviboActivator.java | 1 - .../internal/OrviboBindingConstants.java | 1 - .../orvibo/internal/OrviboHandlerFactory.java | 1 - .../discovery/SocketDiscoveryService.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 6 +- .../.classpath | 64 +- .../org.openhab.binding.paradoxalarm/NOTICE | 26 +- .../README.md | 354 +- .../org.openhab.binding.paradoxalarm/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../communication/CommunicationState.java | 11 - .../internal/communication/EpromRequest.java | 1 - .../communication/EvoCommunicator.java | 796 +- .../communication/GenericCommunicator.java | 298 +- .../communication/IConnectionHandler.java | 1 - .../internal/communication/IP150Command.java | 52 +- .../communication/IParadoxCommunicator.java | 82 +- .../IParadoxInitialLoginCommunicator.java | 85 +- .../internal/communication/MemoryMap.java | 92 +- .../communication/ParadoxBuilderFactory.java | 82 +- .../internal/communication/RamRequest.java | 2 - .../internal/communication/Response.java | 1 - .../internal/communication/SyncQueue.java | 1 - .../messages/EpromRequestPayload.java | 99 +- .../communication/messages/HeaderCommand.java | 96 +- .../messages/HeaderMessageType.java | 78 +- .../messages/IPPacketPayload.java | 48 +- .../messages/IpMessagesConstants.java | 57 +- .../messages/MemoryRequestPayload.java | 177 +- .../messages/ParadoxIPPacket.java | 396 +- .../messages/RamRequestPayload.java | 71 +- .../discovery/ParadoxDiscoveryService.java | 1 - .../internal/exceptions/ParadoxException.java | 80 +- .../exceptions/ParadoxRuntimeException.java | 7 +- .../internal/handlers/EntityBaseHandler.java | 161 +- .../handlers/EntityConfiguration.java | 52 +- .../ParadoxAlarmBindingConstants.java | 187 +- .../handlers/ParadoxAlarmHandlerFactory.java | 194 +- .../ParadoxIP150BridgeConfiguration.java | 207 +- .../handlers/ParadoxIP150BridgeHandler.java | 1 - .../handlers/ParadoxPanelHandler.java | 111 +- .../handlers/ParadoxPartitionHandler.java | 174 +- .../internal/handlers/ParadoxZoneHandler.java | 135 +- .../paradoxalarm/internal/model/Entity.java | 113 +- .../internal/model/PanelType.java | 165 +- .../internal/model/ParadoxInformation.java | 145 +- .../model/ParadoxInformationConstants.java | 1 - .../internal/model/ParadoxPanel.java | 297 +- .../internal/model/Partition.java | 86 +- .../internal/model/PartitionState.java | 526 +- .../paradoxalarm/internal/model/Version.java | 197 +- .../paradoxalarm/internal/model/Zone.java | 88 +- .../internal/model/ZoneState.java | 108 +- .../internal/model/ZoneStateFlags.java | 97 +- .../internal/parsers/AbstractParser.java | 84 +- .../internal/parsers/EvoParser.java | 163 +- .../internal/parsers/IParadoxParser.java | 70 +- .../internal/util/ParadoxUtil.java | 269 +- .../resources/ESH-INF/binding/binding.xml | 20 +- .../ESH-INF/thing/ip150connector.xml | 138 +- .../main/resources/ESH-INF/thing/panel.xml | 128 +- .../resources/ESH-INF/thing/partition.xml | 304 +- .../src/main/resources/ESH-INF/thing/zone.xml | 94 +- .../src/test/java/main/Main.java | 287 +- bundles/org.openhab.binding.pentair/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/easytouch.xml | 12 +- .../resources/ESH-INF/thing/intellichlor.xml | 10 +- .../resources/ESH-INF/thing/intelliflo.xml | 12 +- .../resources/ESH-INF/thing/serial_bridge.xml | 5 +- bundles/org.openhab.binding.phc/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/handler/PHCBridgeHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/channel-types.xml | 64 +- .../resources/ESH-INF/thing/thing-types.xml | 16 +- .../org.openhab.binding.pioneeravr/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/PioneerAvrBindingConstants.java | 21 +- .../internal/handler/AbstractAvrHandler.java | 1 - .../internal/handler/IpAvrHandler.java | 1 - .../internal/handler/SerialAvrHandler.java | 1 - .../protocol/ParameterizedCommand.java | 1 - .../protocol/RequestResponseFactory.java | 1 - .../internal/protocol/Response.java | 1 - .../internal/protocol/SimpleCommand.java | 1 - .../protocol/StreamAvrConnection.java | 8 +- .../internal/protocol/avr/AvrCommand.java | 1 - .../internal/protocol/avr/AvrConnection.java | 1 - .../protocol/avr/AvrConnectionException.java | 1 - .../internal/protocol/avr/AvrResponse.java | 1 - .../avr/CommandTypeNotSupportedException.java | 1 - .../protocol/event/AvrDisconnectionEvent.java | 1 - .../event/AvrDisconnectionListener.java | 1 - .../protocol/event/AvrStatusUpdateEvent.java | 1 - .../protocol/event/AvrUpdateListener.java | 1 - .../internal/protocol/ip/IpAvrConnection.java | 1 - .../protocol/serial/SerialAvrConnection.java | 1 - .../protocol/states/MuteStateValues.java | 1 - .../protocol/states/PowerStateValues.java | 1 - .../utils/DisplayInformationConverter.java | 1 - .../protocol/utils/VolumeConverter.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 373 +- bundles/org.openhab.binding.pixometer/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../pixometer/handler/AccountHandler.java | 1 - .../pixometer/internal/config/Annotation.java | 1 - .../pixometer/internal/config/ImageMeta.java | 1 - .../config/PixometerAccountConfiguration.java | 1 - .../config/PixometerMeterConfiguration.java | 1 - .../internal/config/ReadingInstance.java | 1 - .../pixometer/internal/data/MeterState.java | 1 - .../CustomReadingInstanceDeserializer.java | 1 - .../main/resources/ESH-INF/thing/channels.xml | 4 +- .../resources/ESH-INF/thing/energymeter.xml | 13 +- .../main/resources/ESH-INF/thing/gasmeter.xml | 13 +- .../resources/ESH-INF/thing/watermeter.xml | 13 +- .../org.openhab.binding.pjlinkdevice/pom.xml | 4 +- .../internal/device/PJLinkDevice.java | 1 - .../command/AcknowledgeResponseValue.java | 1 - .../device/command/CacheException.java | 1 - .../device/command/CachedCommand.java | 1 - .../device/command/ResponseException.java | 1 - .../authentication/AuthenticationCommand.java | 1 - .../authentication/AuthenticationRequest.java | 1 - .../errorstatus/ErrorStatusQueryRequest.java | 1 - .../errorstatus/ErrorStatusQueryResponse.java | 1 - .../identification/IdentificationCommand.java | 1 - .../identification/IdentificationRequest.java | 1 - .../IdentificationResponse.java | 1 - .../input/InputInstructionRequest.java | 1 - .../input/InputInstructionResponse.java | 1 - .../command/input/InputListQueryRequest.java | 1 - .../command/input/InputListQueryResponse.java | 1 - .../command/input/InputQueryRequest.java | 1 - .../command/lampstatus/LampStatesCommand.java | 1 - .../lampstatus/LampStatesResponse.java | 1 - .../command/mute/MuteInstructionRequest.java | 1 - .../device/command/mute/MuteQueryRequest.java | 1 - .../power/PowerInstructionRequest.java | 1 - .../power/PowerInstructionResponse.java | 1 - .../command/power/PowerQueryRequest.java | 1 - .../command/power/PowerQueryResponse.java | 1 - .../AbstractDiscoveryParticipant.java | 1 - .../discovery/DiscoveryParticipantClass1.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 16 +- .../lib/bit_io.patch | 7584 ++++++++--------- bundles/org.openhab.binding.plclogo/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/PLCLogoBindingConstants.java | 381 +- .../plclogo/internal/PLCLogoClient.java | 410 +- .../internal/PLCLogoHandlerFactory.java | 1 - .../config/PLCAnalogConfiguration.java | 1 - .../config/PLCCommonConfiguration.java | 1 - .../config/PLCDateTimeConfiguration.java | 1 - .../config/PLCDigitalConfiguration.java | 1 - .../config/PLCLogoBridgeConfiguration.java | 273 +- .../config/PLCPulseConfiguration.java | 1 - .../discovery/PLCDiscoveryService.java | 1 - .../internal/handler/PLCAnalogHandler.java | 1 - .../internal/handler/PLCBridgeHandler.java | 755 +- .../internal/handler/PLCCommonHandler.java | 1 - .../internal/handler/PLCDateTimeHandler.java | 1 - .../internal/handler/PLCDigitalHandler.java | 1 - .../internal/handler/PLCMemoryHandler.java | 651 +- .../internal/handler/PLCPulseHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/analog.xml | 51 +- .../main/resources/ESH-INF/config/bridge.xml | 83 +- .../resources/ESH-INF/config/datetime.xml | 3 +- .../main/resources/ESH-INF/config/digital.xml | 39 +- .../main/resources/ESH-INF/config/memory.xml | 6 +- .../main/resources/ESH-INF/config/pulse.xml | 6 +- .../ESH-INF/i18n/plclogo_de_DE.properties | 50 +- .../main/resources/ESH-INF/thing/analog.xml | 32 +- .../main/resources/ESH-INF/thing/bridge.xml | 119 +- .../main/resources/ESH-INF/thing/datetime.xml | 8 +- .../main/resources/ESH-INF/thing/digital.xml | 32 +- .../main/resources/ESH-INF/thing/memory.xml | 8 +- .../main/resources/ESH-INF/thing/pulse.xml | 8 +- bundles/org.openhab.binding.plugwise/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/PlugwiseBindingConstants.java | 1 - .../PlugwiseCommunicationContext.java | 1 - .../PlugwiseCommunicationHandler.java | 1 - .../plugwise/internal/PlugwiseDeviceTask.java | 1 - .../PlugwiseFilteredMessageListenerList.java | 1 - .../internal/PlugwiseHandlerFactory.java | 1 - .../PlugwiseInitializationException.java | 1 - .../internal/PlugwiseMessageProcessor.java | 2 - .../internal/PlugwiseMessageSender.java | 2 - .../internal/config/PlugwiseRelayConfig.java | 1 - .../internal/config/PlugwiseScanConfig.java | 1 - .../internal/config/PlugwiseSenseConfig.java | 1 - .../handler/AbstractPlugwiseThingHandler.java | 1 - .../AbstractSleepingEndDeviceHandler.java | 1 - .../handler/PlugwiseRelayDeviceHandler.java | 1 - .../handler/PlugwiseSenseHandler.java | 1 - .../handler/PlugwiseStickHandler.java | 1 - .../handler/PlugwiseSwitchHandler.java | 1 - .../listener/PlugwiseMessageListener.java | 1 - .../listener/PlugwiseStickStatusListener.java | 1 - .../protocol/AcknowledgementMessage.java | 1 - .../protocol/AnnounceAwakeRequestMessage.java | 1 - .../BroadcastGroupSwitchResponseMessage.java | 1 - .../protocol/ClockGetRequestMessage.java | 1 - .../protocol/ClockGetResponseMessage.java | 1 - .../protocol/ClockSetRequestMessage.java | 1 - .../protocol/InformationRequestMessage.java | 1 - .../protocol/InformationResponseMessage.java | 1 - .../LightCalibrationRequestMessage.java | 1 - .../plugwise/internal/protocol/Message.java | 1 - .../internal/protocol/MessageFactory.java | 1 - .../ModuleJoinedNetworkRequestMessage.java | 1 - .../protocol/NetworkResetRequestMessage.java | 1 - .../protocol/NetworkStatusRequestMessage.java | 1 - .../NetworkStatusResponseMessage.java | 1 - .../protocol/NodeAvailableMessage.java | 1 - .../NodeAvailableResponseMessage.java | 1 - .../PlugwisePayloadMismatchException.java | 1 - .../protocol/PowerBufferRequestMessage.java | 1 - .../protocol/PowerBufferResponseMessage.java | 1 - .../PowerCalibrationRequestMessage.java | 1 - .../PowerCalibrationResponseMessage.java | 1 - .../protocol/PowerChangeRequestMessage.java | 1 - .../PowerInformationRequestMessage.java | 1 - .../PowerInformationResponseMessage.java | 1 - .../PowerLogIntervalSetRequestMessage.java | 1 - .../RealTimeClockGetRequestMessage.java | 1 - .../RealTimeClockGetResponseMessage.java | 1 - .../RealTimeClockSetRequestMessage.java | 1 - .../protocol/RoleCallRequestMessage.java | 1 - .../protocol/RoleCallResponseMessage.java | 1 - .../ScanParametersSetRequestMessage.java | 1 - .../SenseBoundariesSetRequestMessage.java | 1 - .../SenseReportIntervalSetRequest.java | 1 - .../protocol/SenseReportRequestMessage.java | 1 - .../protocol/SleepSetRequestMessage.java | 1 - .../protocol/field/BoundaryAction.java | 1 - .../internal/protocol/field/BoundaryType.java | 1 - .../internal/protocol/field/Energy.java | 1 - .../internal/protocol/field/Humidity.java | 1 - .../protocol/field/PowerCalibration.java | 1 - .../internal/protocol/field/Sensitivity.java | 1 - .../internal/protocol/field/Temperature.java | 1 - .../resources/ESH-INF/binding/binding.xml | 10 +- .../main/resources/ESH-INF/config/config.xml | 21 +- .../main/resources/ESH-INF/thing/channel.xml | 33 +- .../main/resources/ESH-INF/thing/circle.xml | 19 +- .../resources/ESH-INF/thing/circleplus.xml | 21 +- .../src/main/resources/ESH-INF/thing/scan.xml | 11 +- .../main/resources/ESH-INF/thing/sense.xml | 15 +- .../main/resources/ESH-INF/thing/stealth.xml | 19 +- .../main/resources/ESH-INF/thing/stick.xml | 5 +- .../main/resources/ESH-INF/thing/switch.xml | 13 +- bundles/org.openhab.binding.powermax/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/PowermaxBindingConstants.java | 1 - .../config/PowermaxIpConfiguration.java | 1 - .../config/PowermaxSerialConfiguration.java | 1 - .../config/PowermaxX10Configuration.java | 1 - .../config/PowermaxZoneConfiguration.java | 1 - .../internal/connector/PowermaxConnector.java | 1 - .../connector/PowermaxConnectorInterface.java | 1 - .../connector/PowermaxReaderThread.java | 1 - .../connector/PowermaxSerialConnector.java | 5 +- .../connector/PowermaxTcpConnector.java | 1 - .../console/PowermaxCommandExtension.java | 1 - .../discovery/PowermaxDiscoveryService.java | 1 - .../handler/PowermaxBridgeHandler.java | 1 - .../internal/message/PowermaxAckMessage.java | 1 - .../internal/message/PowermaxBaseMessage.java | 1 - .../internal/message/PowermaxCommManager.java | 1 - .../message/PowermaxDeniedMessage.java | 1 - .../message/PowermaxDownloadRetryMessage.java | 1 - .../message/PowermaxEventLogMessage.java | 1 - .../internal/message/PowermaxInfoMessage.java | 1 - .../message/PowermaxMessageEvent.java | 1 - .../message/PowermaxMessageEventListener.java | 1 - .../message/PowermaxPanelMessage.java | 2 - .../message/PowermaxPowerMasterMessage.java | 1 - .../message/PowermaxPowerlinkMessage.java | 1 - .../internal/message/PowermaxSendType.java | 1 - .../message/PowermaxSettingsMessage.java | 1 - .../message/PowermaxStatusMessage.java | 1 - .../message/PowermaxTimeoutMessage.java | 1 - .../message/PowermaxZonesNameMessage.java | 1 - .../message/PowermaxZonesTypeMessage.java | 1 - .../internal/state/PowermaxState.java | 1 - .../internal/state/PowermaxStateEvent.java | 1 - .../state/PowermaxStateEventListener.java | 1 - .../internal/state/PowermaxX10Settings.java | 1 - .../internal/state/PowermaxZoneSettings.java | 1 - .../internal/state/PowermaxZoneState.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../src/main/resources/ESH-INF/thing/ip.xml | 47 +- .../main/resources/ESH-INF/thing/serial.xml | 50 +- .../src/main/resources/ESH-INF/thing/x10.xml | 6 +- .../src/main/resources/ESH-INF/thing/zone.xml | 14 +- .../org.openhab.binding.pulseaudio/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../pulseaudio/internal/PulseaudioClient.java | 1 - .../handler/DeviceStatusListener.java | 1 - .../items/AbstractAudioDeviceConfig.java | 1 - .../pulseaudio/internal/items/Module.java | 1 - .../pulseaudio/internal/items/Sink.java | 1 - .../pulseaudio/internal/items/SinkInput.java | 1 - .../pulseaudio/internal/items/Source.java | 1 - .../internal/items/SourceOutput.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../main/resources/ESH-INF/thing/bridge.xml | 6 +- .../main/resources/ESH-INF/thing/channels.xml | 3 +- .../resources/ESH-INF/thing/combined-sink.xml | 13 +- .../resources/ESH-INF/thing/sink-input.xml | 13 +- .../src/main/resources/ESH-INF/thing/sink.xml | 11 +- .../resources/ESH-INF/thing/source-output.xml | 11 +- .../main/resources/ESH-INF/thing/source.xml | 11 +- .../org.openhab.binding.pushbullet/pom.xml | 6 +- .../src/main/feature/feature.xml | 10 +- .../internal/PushbulletBindingConstants.java | 6 +- .../internal/action/PushbulletActions.java | 6 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 6 +- .../org.openhab.binding.regoheatpump/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 89 +- bundles/org.openhab.binding.rfxcom/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/DeviceMessageListener.java | 2 +- .../internal/RFXComBindingConstants.java | 1 - .../connector/RFXComConnectorInterface.java | 1 - .../connector/RFXComEventListener.java | 1 - .../connector/RFXComJD2XXConnector.java | 1 - .../internal/exceptions/RFXComException.java | 1 - .../RFXComMessageTooLongException.java | 1 - .../messages/RFXComBlinds1Message.java | 4 +- .../messages/RFXComDeviceMessage.java | 4 +- .../messages/RFXComHomeConfortMessage.java | 1 - .../messages/RFXComLighting1Message.java | 1 - .../messages/RFXComLighting6Message.java | 1 - .../messages/RFXComRFXSensorMessage.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/RFXrec433.xml | 9 +- .../resources/ESH-INF/thing/RFXtrx315.xml | 9 +- .../resources/ESH-INF/thing/RFXtrx433.xml | 9 +- .../ESH-INF/thing/bbqtemperature.xml | 21 +- .../main/resources/ESH-INF/thing/blinds1.xml | 21 +- .../main/resources/ESH-INF/thing/bridge.xml | 6 +- .../main/resources/ESH-INF/thing/channels.xml | 3 +- .../main/resources/ESH-INF/thing/chime.xml | 15 +- .../main/resources/ESH-INF/thing/current.xml | 23 +- .../resources/ESH-INF/thing/currentenergy.xml | 25 +- .../main/resources/ESH-INF/thing/curtain1.xml | 21 +- .../main/resources/ESH-INF/thing/datetime.xml | 19 +- .../main/resources/ESH-INF/thing/energy.xml | 25 +- .../src/main/resources/ESH-INF/thing/fan.xml | 19 +- .../resources/ESH-INF/thing/fan_falmec.xml | 19 +- .../resources/ESH-INF/thing/fan_lucci_dc.xml | 17 +- .../ESH-INF/thing/fan_lucci_dc_ii.xml | 19 +- .../resources/ESH-INF/thing/homeconfort.xml | 17 +- .../main/resources/ESH-INF/thing/humidity.xml | 21 +- .../resources/ESH-INF/thing/lighting1.xml | 21 +- .../resources/ESH-INF/thing/lighting2.xml | 19 +- .../resources/ESH-INF/thing/lighting4.xml | 17 +- .../resources/ESH-INF/thing/lighting5.xml | 23 +- .../resources/ESH-INF/thing/lighting6.xml | 17 +- .../src/main/resources/ESH-INF/thing/rain.xml | 21 +- .../resources/ESH-INF/thing/rfxsensor.xml | 21 +- .../src/main/resources/ESH-INF/thing/rfy.xml | 19 +- .../resources/ESH-INF/thing/security1.xml | 25 +- .../resources/ESH-INF/thing/security2.xml | 25 +- .../resources/ESH-INF/thing/tcpbridge.xml | 9 +- .../resources/ESH-INF/thing/temperature.xml | 19 +- .../ESH-INF/thing/temperaturehumidity.xml | 23 +- .../thing/temperaturehumiditybarometric.xml | 27 +- .../ESH-INF/thing/temperaturerain.xml | 21 +- .../resources/ESH-INF/thing/thermostat1.xml | 19 +- .../resources/ESH-INF/thing/thermostat3.xml | 21 +- .../resources/ESH-INF/thing/undecoded.xml | 15 +- .../src/main/resources/ESH-INF/thing/uv.xml | 21 +- .../src/main/resources/ESH-INF/thing/wind.xml | 21 +- .../messages/RFXComCamera1MessageTest.java | 1 - .../messages/RFXComLighting1MessageTest.java | 1 - .../RFXComTemperatureHumidityMessageTest.java | 1 - bundles/org.openhab.binding.rme/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../rme/internal/RMEBindingConstants.java | 2 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../src/main/resources/ESH-INF/thing/rme.xml | 11 +- bundles/org.openhab.binding.robonect/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/RobonectBindingConstants.java | 12 +- .../robonect/internal/RobonectClient.java | 29 +- .../robonect/internal/RobonectEndpoint.java | 8 +- .../internal/RobonectHandlerFactory.java | 1 - .../internal/config/JobChannelConfig.java | 6 +- .../internal/config/RobonectConfig.java | 10 +- .../internal/handler/RobonectHandler.java | 2 - .../robonect/internal/model/ErrorEntry.java | 14 +- .../robonect/internal/model/ErrorList.java | 2 +- .../robonect/internal/model/Health.java | 4 +- .../robonect/internal/model/ModelParser.java | 11 +- .../robonect/internal/model/MowerMode.java | 4 +- .../robonect/internal/model/MowerStatus.java | 5 +- .../model/MowerStatusDeserializer.java | 2 +- .../binding/robonect/internal/model/Name.java | 2 +- .../robonect/internal/model/NextTimer.java | 2 +- .../internal/model/RobonectAnswer.java | 10 +- .../robonect/internal/model/Timer.java | 12 +- .../internal/model/TimerModeDeserializer.java | 6 +- .../robonect/internal/model/VersionInfo.java | 18 +- .../robonect/internal/model/cmd/Command.java | 9 +- .../internal/model/cmd/ErrorCommand.java | 13 +- .../internal/model/cmd/ModeCommand.java | 26 +- .../internal/model/cmd/NameCommand.java | 10 +- .../internal/model/cmd/StartCommand.java | 4 +- .../internal/model/cmd/StatusCommand.java | 2 +- .../internal/model/cmd/StopCommand.java | 5 +- .../internal/model/cmd/VersionCommand.java | 5 +- .../resources/ESH-INF/binding/binding.xml | 8 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 12 +- .../robonect/internal/RobonectClientTest.java | 17 +- .../internal/handler/RobonectHandlerTest.java | 117 +- .../internal/model/ModelParserTest.java | 61 +- bundles/org.openhab.binding.rotel/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../binding/rotel/internal/RotelModel.java | 1 - .../communication/RotelFlagsMapping.java | 1 - .../communication/RotelMessageEvent.java | 1 - .../RotelMessageEventListener.java | 1 - .../internal/communication/RotelProtocol.java | 1 - .../RotelThingConfiguration.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 18 +- .../src/main/resources/ESH-INF/thing/a11.xml | 16 +- .../src/main/resources/ESH-INF/thing/a12.xml | 18 +- .../src/main/resources/ESH-INF/thing/a14.xml | 18 +- .../src/main/resources/ESH-INF/thing/cd11.xml | 10 +- .../src/main/resources/ESH-INF/thing/cd14.xml | 10 +- .../main/resources/ESH-INF/thing/channels.xml | 132 +- .../src/main/resources/ESH-INF/thing/ra11.xml | 20 +- .../src/main/resources/ESH-INF/thing/ra12.xml | 20 +- .../main/resources/ESH-INF/thing/ra1570.xml | 20 +- .../main/resources/ESH-INF/thing/ra1572.xml | 18 +- .../main/resources/ESH-INF/thing/ra1592.xml | 18 +- .../main/resources/ESH-INF/thing/rap1580.xml | 14 +- .../main/resources/ESH-INF/thing/rc1570.xml | 20 +- .../main/resources/ESH-INF/thing/rc1572.xml | 18 +- .../main/resources/ESH-INF/thing/rc1590.xml | 18 +- .../main/resources/ESH-INF/thing/rcd1570.xml | 8 +- .../main/resources/ESH-INF/thing/rcd1572.xml | 10 +- .../main/resources/ESH-INF/thing/rcx1500.xml | 12 +- .../main/resources/ESH-INF/thing/rdd1580.xml | 10 +- .../main/resources/ESH-INF/thing/rdg1520.xml | 8 +- .../main/resources/ESH-INF/thing/rsp1066.xml | 6 +- .../main/resources/ESH-INF/thing/rsp1068.xml | 6 +- .../main/resources/ESH-INF/thing/rsp1069.xml | 10 +- .../main/resources/ESH-INF/thing/rsp1098.xml | 6 +- .../main/resources/ESH-INF/thing/rsp1570.xml | 10 +- .../main/resources/ESH-INF/thing/rsp1572.xml | 10 +- .../main/resources/ESH-INF/thing/rsp1576.xml | 14 +- .../main/resources/ESH-INF/thing/rsp1582.xml | 14 +- .../main/resources/ESH-INF/thing/rsx1055.xml | 6 +- .../main/resources/ESH-INF/thing/rsx1056.xml | 6 +- .../main/resources/ESH-INF/thing/rsx1057.xml | 6 +- .../main/resources/ESH-INF/thing/rsx1058.xml | 10 +- .../main/resources/ESH-INF/thing/rsx1065.xml | 6 +- .../main/resources/ESH-INF/thing/rsx1067.xml | 6 +- .../main/resources/ESH-INF/thing/rsx1550.xml | 10 +- .../main/resources/ESH-INF/thing/rsx1560.xml | 10 +- .../main/resources/ESH-INF/thing/rsx1562.xml | 10 +- .../src/main/resources/ESH-INF/thing/rt09.xml | 10 +- .../src/main/resources/ESH-INF/thing/rt11.xml | 8 +- .../main/resources/ESH-INF/thing/rt1570.xml | 8 +- .../src/main/resources/ESH-INF/thing/t11.xml | 8 +- .../src/main/resources/ESH-INF/thing/t14.xml | 8 +- bundles/org.openhab.binding.rotelra1x/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/ConfigurationError.java | 1 - .../internal/RotelRa1xBindingConstants.java | 1 - .../internal/handler/RotelRa1xHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 8 +- bundles/org.openhab.binding.russound/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/RussoundHandlerFactory.java | 1 - .../discovery/RioSystemDiscovery.java | 2 - .../russound/internal/net/SocketSession.java | 1 - .../rio/RioSystemFavoritesProtocol.java | 1 - .../internal/rio/StatefulHandlerCallback.java | 4 - .../rio/controller/RioControllerHandler.java | 2 - .../rio/controller/RioControllerProtocol.java | 1 - .../rio/source/RioSourceProtocol.java | 2 - .../internal/rio/system/RioSystemHandler.java | 2 - .../rio/system/RioSystemProtocol.java | 1 - .../internal/rio/zone/RioZoneProtocol.java | 4 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 9 +- .../org.openhab.binding.sagercaster/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/handler/SagerCasterHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 95 +- .../org.openhab.binding.samsungtv/.classpath | 86 +- bundles/org.openhab.binding.samsungtv/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../SamsungTvTlsTrustManagerProvider.java | 80 +- .../samsungtv/internal/WakeOnLanUtility.java | 1 - .../internal/handler/SamsungTvHandler.java | 1 - .../internal/protocol/RemoteController.java | 1 - .../protocol/RemoteControllerException.java | 1 - .../protocol/RemoteControllerWebSocket.java | 1 - .../internal/protocol/WebSocketArt.java | 1 - .../internal/protocol/WebSocketBase.java | 1 - .../internal/protocol/WebSocketRemote.java | 3 - .../service/MediaRendererService.java | 1 - .../service/RemoteControllerService.java | 3 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 2 +- .../resources/ESH-INF/thing/channel-types.xml | 8 +- .../resources/ESH-INF/thing/thing-types.xml | 36 +- bundles/org.openhab.binding.satel/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../satel/action/SatelEventLogActions.java | 1 - .../satel/internal/SatelBindingConstants.java | 1 - .../command/ClearTroublesCommand.java | 1 - .../internal/command/ControlCommand.java | 3 +- .../command/ControlObjectCommand.java | 7 +- .../internal/command/IntegraStateCommand.java | 3 +- .../command/IntegraStatusCommand.java | 1 - .../command/IntegraVersionCommand.java | 1 - .../command/ModuleVersionCommand.java | 1 - .../internal/command/NewStatesCommand.java | 1 - .../command/ReadDeviceInfoCommand.java | 3 +- .../internal/command/ReadEventCommand.java | 1 - .../command/ReadEventDescCommand.java | 5 +- .../internal/command/ReadZoneTemperature.java | 1 - .../satel/internal/command/SatelCommand.java | 13 +- .../internal/command/SatelCommandBase.java | 3 +- .../internal/command/SetClockCommand.java | 1 - .../satel/internal/config/Atd100Config.java | 1 - .../satel/internal/config/Ethm1Config.java | 1 - .../satel/internal/config/IntRSConfig.java | 1 - .../internal/config/SatelBridgeConfig.java | 1 - .../internal/config/SatelThingConfig.java | 1 - .../SatelDeviceDiscoveryService.java | 1 - .../internal/event/ConnectionStatusEvent.java | 2 +- .../satel/internal/event/EventDispatcher.java | 1 - .../internal/event/IntegraStateEvent.java | 6 +- .../internal/event/IntegraVersionEvent.java | 6 +- .../internal/event/ModuleVersionEvent.java | 2 +- .../internal/event/SatelEventListener.java | 1 - .../internal/event/ZoneTemperatureEvent.java | 2 +- .../satel/internal/handler/Atd100Handler.java | 1 - .../internal/handler/Ethm1BridgeHandler.java | 1 - .../internal/handler/IntRSBridgeHandler.java | 1 - .../internal/handler/SatelBridgeHandler.java | 3 +- .../handler/SatelEventLogHandler.java | 4 - .../internal/handler/SatelOutputHandler.java | 1 - .../handler/SatelPartitionHandler.java | 1 - .../internal/handler/SatelShutterHandler.java | 1 - .../handler/SatelStateThingHandler.java | 1 - .../internal/handler/SatelSystemHandler.java | 1 - .../internal/handler/SatelThingHandler.java | 7 +- .../internal/handler/SatelZoneHandler.java | 1 - .../handler/WirelessChannelsHandler.java | 1 - .../internal/protocol/EncryptionHelper.java | 5 +- .../satel/internal/protocol/Ethm1Module.java | 7 +- .../satel/internal/protocol/IntRSModule.java | 4 +- .../satel/internal/protocol/SatelMessage.java | 5 +- .../satel/internal/protocol/SatelModule.java | 1 - .../satel/internal/types/ControlType.java | 1 - .../satel/internal/types/DoorControl.java | 1 - .../satel/internal/types/DoorState.java | 1 - .../satel/internal/types/OutputControl.java | 1 - .../satel/internal/types/OutputState.java | 1 - .../internal/types/PartitionControl.java | 1 - .../satel/internal/types/PartitionState.java | 1 - .../satel/internal/types/StateType.java | 2 - .../internal/types/TroubleMemoryState.java | 1 - .../satel/internal/types/TroubleState.java | 1 - .../satel/internal/types/ZoneControl.java | 1 - .../satel/internal/types/ZoneState.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/thing/atd-100.xml | 12 +- .../main/resources/ESH-INF/thing/common.xml | 2 +- .../main/resources/ESH-INF/thing/ethm-1.xml | 6 +- .../resources/ESH-INF/thing/event-log.xml | 22 +- .../main/resources/ESH-INF/thing/int-rs.xml | 3 +- .../main/resources/ESH-INF/thing/output.xml | 6 +- .../resources/ESH-INF/thing/partition.xml | 59 +- .../main/resources/ESH-INF/thing/shutter.xml | 9 +- .../main/resources/ESH-INF/thing/system.xml | 34 +- .../src/main/resources/ESH-INF/thing/zone.xml | 48 +- bundles/org.openhab.binding.seneye/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/SeneyeBindingConstants.java | 1 - .../internal/SeneyeDeviceReadingNh4.java | 1 - .../internal/SeneyeDeviceReadingO2.java | 1 - .../internal/SeneyeDeviceReadingPh.java | 1 - .../SeneyeDeviceReadingTemperature.java | 1 - .../binding/seneye/internal/SeneyeStatus.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 38 +- bundles/org.openhab.binding.sensebox/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../sensebox/internal/model/SenseBoxData.java | 9 +- .../sensebox/internal/model/SenseBoxLoc.java | 1 - .../internal/model/SenseBoxMeasurement.java | 1 - .../src/main/resources/ESH-INF/thing/box.xml | 8 +- .../main/resources/ESH-INF/thing/channels.xml | 44 +- bundles/org.openhab.binding.sensibo/pom.xml | 4 +- .../main/resources/ESH-INF/config/config.xml | 6 +- .../main/resources/ESH-INF/thing/account.xml | 2 +- .../main/resources/ESH-INF/thing/channels.xml | 6 +- .../resources/ESH-INF/thing/sensibosky.xml | 12 +- .../org.openhab.binding.serialbutton/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../SerialButtonBindingConstants.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 5 +- bundles/org.openhab.binding.shelly/pom.xml | 20 +- .../src/main/feature/feature.xml | 14 +- .../internal/api/ShellyDeviceProfile.java | 1 - .../internal/coap/ShellyCoapHandler.java | 4 - .../internal/coap/ShellyCoapServer.java | 1 - .../discovery/ShellyThingCreator.java | 1 - .../internal/handler/ShellyBaseHandler.java | 1 - .../internal/handler/ShellyRelayHandler.java | 1 - .../main/resources/ESH-INF/thing/device.xml | 6 +- .../main/resources/ESH-INF/thing/lights.xml | 109 +- .../main/resources/ESH-INF/thing/relay.xml | 138 +- .../main/resources/ESH-INF/thing/sensor.xml | 46 +- .../org.openhab.binding.siemensrds/pom.xml | 28 +- .../src/main/feature/feature.xml | 10 +- .../siemensrds/internal/RdsAccessToken.java | 1 - .../internal/RdsBindingConstants.java | 9 +- .../internal/RdsCloudConfiguration.java | 1 - .../internal/RdsCloudException.java | 6 +- .../siemensrds/internal/RdsCloudHandler.java | 16 +- .../siemensrds/internal/RdsConfiguration.java | 3 +- .../siemensrds/internal/RdsDataPoints.java | 3 +- .../siemensrds/internal/RdsDebouncer.java | 1 - .../internal/RdsDiscoveryService.java | 10 +- .../siemensrds/internal/RdsHandler.java | 195 +- .../internal/RdsHandlerFactory.java | 1 - .../siemensrds/internal/RdsPlants.java | 1 - .../resources/ESH-INF/binding/binding.xml | 5 +- .../resources/ESH-INF/thing/thing-types.xml | 31 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../SilvercrestWifiSocketHandlerFactory.java | 1 - ...SilvercrestWifiSocketDiscoveryService.java | 1 - .../MacAddressNotValidException.java | 1 - .../handler/SilvercrestWifiSocketHandler.java | 1 - ...crestWifiSocketUpdateReceiverRunnable.java | 1 - .../internal/utils/ValidationUtils.java | 1 - .../utils/WifiSocketPacketConverter.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 10 +- bundles/org.openhab.binding.sinope/pom.xml | 20 +- .../src/main/feature/feature.xml | 12 +- .../sinope/SinopeBindingConstants.java | 1 - .../internal/core/SinopeApiLoginRequest.java | 1 - .../core/SinopeAuthenticationKeyAnswer.java | 1 - .../core/SinopeAuthenticationKeyRequest.java | 1 - .../internal/core/SinopeDataReadAnswer.java | 1 - .../internal/core/SinopeDataReadRequest.java | 1 - .../internal/core/SinopeDataWriteAnswer.java | 1 - .../internal/core/SinopeDataWriteRequest.java | 1 - .../core/SinopeDeviceReportAnswer.java | 1 - .../internal/core/SinopePingAnswer.java | 1 - .../internal/core/SinopePingRequest.java | 1 - .../internal/core/appdata/SinopeAppData.java | 1 - .../core/appdata/SinopeHeatLevelData.java | 1 - .../core/appdata/SinopeLocalTimeData.java | 1 - .../core/appdata/SinopeOutTempData.java | 1 - .../core/appdata/SinopeRoomTempData.java | 1 - .../core/appdata/SinopeSetPointModeData.java | 1 - .../core/appdata/SinopeSetPointTempData.java | 1 - .../core/base/NotSupportedException.java | 1 - .../internal/core/base/SinopeAnswer.java | 1 - .../internal/core/base/SinopeDataAnswer.java | 1 - .../internal/core/base/SinopeFrame.java | 1 - .../sinope/internal/util/ByteUtil.java | 1 - .../binding/sinope/internal/util/CRC8.java | 1 - .../resources/ESH-INF/binding/binding.xml | 9 +- .../resources/ESH-INF/thing/thing-types.xml | 23 +- bundles/org.openhab.binding.sleepiq/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 41 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../SMAEnergyMeterBindingConstants.java | 1 - .../SMAEnergyMeterHandlerFactory.java | 1 - .../configuration/EnergyMeterConfig.java | 1 - .../SMAEnergyMeterDiscoveryService.java | 1 - .../internal/handler/EnergyMeter.java | 1 - .../internal/handler/FieldDTO.java | 1 - .../handler/SMAEnergyMeterHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/energyMeter.xml | 19 +- .../org.openhab.binding.smartmeter/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../smartmeter/internal/MeterValue.java | 1 - .../binding/smartmeter/internal/ObisCode.java | 1 - .../SmartMeterChannelTypeProvider.java | 2 - .../internal/SmartMeterConfigProvider.java | 1 - .../internal/SmartMeterHandler.java | 1 - .../internal/SmartMeterHandlerFactory.java | 1 - .../conformity/negate/NegateBitModel.java | 1 - .../iec62056/Iec62056_21MeterReader.java | 1 - .../iec62056/Iec62056_21SerialConnector.java | 1 - .../iec62056/Iec62056_21UnitConversion.java | 1 - .../internal/sml/SmlSerialConnector.java | 1 - .../resources/ESH-INF/binding/binding.xml | 6 +- .../resources/ESH-INF/thing/thing-types.xml | 9 +- .../binding/smartmeter/TestMeterReading.java | 1 - bundles/org.openhab.binding.snmp/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../snmp/internal/SnmpTargetHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 2 +- .../snmp/internal/SnmpTargetHandlerTest.java | 2 - bundles/org.openhab.binding.solaredge/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/AtomicReferenceTrait.java | 2 +- .../internal/SolarEdgeBindingConstants.java | 1 - .../internal/SolarEdgeHandlerFactory.java | 1 - .../callback/AbstractCommandCallback.java | 3 - .../command/LiveDataUpdateMeterless.java | 1 - .../command/LiveDataUpdatePrivateApi.java | 1 - .../command/PrivateApiTokenCheck.java | 1 - .../internal/command/PublicApiKeyCheck.java | 1 - .../internal/command/SolarEdgeCommand.java | 1 - .../config/SolarEdgeConfiguration.java | 1 - .../connector/CommunicationStatus.java | 1 - .../connector/StatusUpdateListener.java | 1 - .../internal/connector/WebInterface.java | 3 - .../handler/SolarEdgeBaseHandler.java | 1 - .../internal/handler/SolarEdgeHandler.java | 4 +- ...stractAggregateDataResponsePrivateApi.java | 1 - .../model/AggregateDataResponsePublicApi.java | 1 - .../AggregateMonthDataResponsePrivateApi.java | 1 - .../AggregateWeekDataResponsePrivateApi.java | 1 - .../AggregateYearDataResponsePrivateApi.java | 1 - .../internal/model/DataResponse.java | 1 - .../internal/model/LiveDataResponse.java | 1 - .../model/LiveDataResponseMeterless.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 16 +- .../ESH-INF/thing/generic-channel-groups.xml | 85 +- .../ESH-INF/thing/generic-channel-types.xml | 3 +- .../resources/ESH-INF/thing/generic-thing.xml | 15 +- bundles/org.openhab.binding.solarlog/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../resources/ESH-INF/binding/binding.xml | 6 +- .../resources/ESH-INF/thing/thing-types.xml | 3 +- .../org.openhab.binding.somfytahoma/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/SomfyTahomaBindingConstants.java | 35 +- .../internal/config/SomfyTahomaConfig.java | 2 +- ...maAdjustableSlatsRollerShutterHandler.java | 2 +- .../handler/SomfyTahomaAwningHandler.java | 2 +- .../handler/SomfyTahomaBaseThingHandler.java | 4 +- .../handler/SomfyTahomaBridgeHandler.java | 69 +- .../SomfyTahomaElectricitySensorHandler.java | 2 +- .../SomfyTahomaExternalAlarmHandler.java | 1 - .../handler/SomfyTahomaGatewayHandler.java | 3 +- .../SomfyTahomaMyfoxCameraHandler.java | 2 +- .../SomfyTahomaOccupancySensorHandler.java | 1 - .../SomfyTahomaRollerShutterHandler.java | 2 +- ...SomfyTahomaSilentRollerShutterHandler.java | 2 +- .../handler/SomfyTahomaSirenHandler.java | 3 +- .../SomfyTahomaSmokeSensorHandler.java | 2 - .../SomfyTahomaTemperatureSensorHandler.java | 2 +- .../handler/SomfyTahomaThermostatHandler.java | 2 +- .../SomfyTahomaVenetianBlindHandler.java | 7 +- .../handler/SomfyTahomaWindowHandler.java | 6 +- .../internal/model/SomfyTahomaEvent.java | 3 +- .../internal/model/SomfyTahomaState.java | 6 +- .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/actiongroup.xml | 5 +- .../thing/adjustableslatsrollershutter.xml | 3 +- .../main/resources/ESH-INF/thing/awning.xml | 3 +- .../main/resources/ESH-INF/thing/channels.xml | 7 +- .../resources/ESH-INF/thing/contactsensor.xml | 5 +- .../main/resources/ESH-INF/thing/curtain.xml | 3 +- .../src/main/resources/ESH-INF/thing/dock.xml | 5 +- .../main/resources/ESH-INF/thing/doorlock.xml | 5 +- .../ESH-INF/thing/electricitysensor.xml | 3 +- .../ESH-INF/thing/exteriorscreen.xml | 3 +- .../ESH-INF/thing/exteriorvenetianblind.xml | 3 +- .../resources/ESH-INF/thing/externalalarm.xml | 5 +- .../resources/ESH-INF/thing/garagedoor.xml | 3 +- .../src/main/resources/ESH-INF/thing/gate.xml | 3 +- .../main/resources/ESH-INF/thing/gateway.xml | 5 +- .../resources/ESH-INF/thing/heatingsystem.xml | 3 +- .../ESH-INF/thing/humiditysensor.xml | 5 +- .../resources/ESH-INF/thing/internalalarm.xml | 5 +- .../main/resources/ESH-INF/thing/light.xml | 5 +- .../resources/ESH-INF/thing/lightsensor.xml | 5 +- .../resources/ESH-INF/thing/myfoxalarm.xml | 5 +- .../resources/ESH-INF/thing/myfoxcamera.xml | 5 +- .../ESH-INF/thing/occupancysensor.xml | 5 +- .../main/resources/ESH-INF/thing/onoff.xml | 5 +- .../ESH-INF/thing/onoffheatingsystem.xml | 3 +- .../main/resources/ESH-INF/thing/pergola.xml | 3 +- .../src/main/resources/ESH-INF/thing/pod.xml | 5 +- .../resources/ESH-INF/thing/rollershutter.xml | 3 +- .../ESH-INF/thing/rollershutter_silent.xml | 3 +- .../ESH-INF/thing/rollershutter_uno.xml | 3 +- .../main/resources/ESH-INF/thing/screen.xml | 3 +- .../main/resources/ESH-INF/thing/siren.xml | 5 +- .../resources/ESH-INF/thing/smokesensor.xml | 5 +- .../ESH-INF/thing/temperaturesensor.xml | 5 +- .../resources/ESH-INF/thing/thermostat.xml | 3 +- .../resources/ESH-INF/thing/venetianblind.xml | 3 +- .../resources/ESH-INF/thing/watersensor.xml | 5 +- .../main/resources/ESH-INF/thing/window.xml | 3 +- .../resources/ESH-INF/thing/windowhandler.xml | 3 +- bundles/org.openhab.binding.sonos/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../sonos/internal/SonosAudioSink.java | 1 - .../sonos/internal/SonosBindingConstants.java | 1 - .../binding/sonos/internal/SonosEntry.java | 1 - .../sonos/internal/SonosHandlerFactory.java | 1 - .../sonos/internal/SonosMusicService.java | 1 - .../sonos/internal/SonosResourceMetaData.java | 1 - .../sonos/internal/SonosXMLParser.java | 4 - .../sonos/internal/SonosZoneGroup.java | 1 - .../sonos/internal/SonosZonePlayerState.java | 1 - .../config/ZonePlayerConfiguration.java | 1 - .../ZonePlayerDiscoveryParticipant.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../src/main/resources/ESH-INF/thing/Beam.xml | 94 +- .../main/resources/ESH-INF/thing/CONNECT.xml | 90 +- .../resources/ESH-INF/thing/CONNECTAMP.xml | 90 +- .../src/main/resources/ESH-INF/thing/One.xml | 88 +- .../main/resources/ESH-INF/thing/PLAY1.xml | 88 +- .../main/resources/ESH-INF/thing/PLAY3.xml | 88 +- .../main/resources/ESH-INF/thing/PLAY5.xml | 90 +- .../main/resources/ESH-INF/thing/PLAYBAR.xml | 94 +- .../main/resources/ESH-INF/thing/PLAYBASE.xml | 94 +- .../resources/ESH-INF/thing/SYMFONISK.xml | 86 +- .../resources/ESH-INF/thing/ZonePlayer.xml | 88 +- .../main/resources/ESH-INF/thing/channels.xml | 36 +- bundles/org.openhab.binding.sonyaudio/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/SonyAudioHandlerFactory.java | 1 - .../internal/protocol/SonyAudioMethod.java | 1 - .../main/resources/ESH-INF/config/config.xml | 7 +- .../main/resources/ESH-INF/thing/ht-ct800.xml | 12 +- .../main/resources/ESH-INF/thing/ht-mt500.xml | 12 +- .../resources/ESH-INF/thing/ht-st5000.xml | 12 +- .../resources/ESH-INF/thing/ht-z9f-zf9.xml | 24 +- .../main/resources/ESH-INF/thing/srs-zr5.xml | 12 +- .../resources/ESH-INF/thing/str-dn1080.xml | 42 +- .../org.openhab.binding.sonyprojector/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../SonyProjectorBindingConstants.java | 1 - .../communication/SonyProjectorItem.java | 1 - .../serial/SonyProjectorSerialConnector.java | 1 - .../SonyProjectorSerialOverIpConnector.java | 1 - .../SonyProjectorEthernetConfiguration.java | 1 - .../SonyProjectorSerialConfiguration.java | 1 - ...onyProjectorSerialOverIpConfiguration.java | 1 - .../main/resources/ESH-INF/thing/channels.xml | 12 +- .../main/resources/ESH-INF/thing/ethernet.xml | 60 +- .../main/resources/ESH-INF/thing/serial.xml | 60 +- .../resources/ESH-INF/thing/serialoverip.xml | 60 +- bundles/org.openhab.binding.spotify/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../SpotifyAuthorizationException.java | 1 - .../api/exception/SpotifyException.java | 1 - .../handler/SpotifyBridgeHandler.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 169 +- .../org.openhab.binding.squeezebox/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../SqueezeBoxServerDiscoveryParticipant.java | 1 - .../handler/SqueezeBoxPlayerHandler.java | 2 - .../handler/SqueezeBoxServerHandler.java | 3 - .../squeezebox/internal/utils/HttpUtils.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 63 +- .../org.openhab.binding.synopanalyzer/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/synop/Constants.java | 324 +- .../synopanalyser/internal/synop/Synop.java | 732 +- .../internal/synop/SynopLand.java | 260 +- .../internal/synop/SynopMobile.java | 328 +- .../internal/synop/SynopMobileLand.java | 66 +- .../internal/synop/SynopShip.java | 78 +- .../handler/SynopAnalyzerHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 30 +- .../org.openhab.binding.systeminfo/pom.xml | 4 +- .../src/main/feature/feature.xml | 16 +- .../internal/SysteminfoBindingConstants.java | 1 - .../internal/handler/SysteminfoHandler.java | 2 - .../internal/model/SysteminfoInterface.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../ESH-INF/config/channelConfig.xml | 10 +- .../ESH-INF/config/computerConfig.xml | 7 +- .../main/resources/ESH-INF/thing/channels.xml | 229 +- .../main/resources/ESH-INF/thing/computer.xml | 29 +- bundles/org.openhab.binding.tado/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../adapter/TadoZoneStateAdapter.java | 4 +- .../tado/internal/api/TadoApiTypeUtils.java | 1 - .../builder/TerminationConditionBuilder.java | 3 +- .../internal/handler/TadoBatteryChecker.java | 2 - .../internal/handler/TadoHandlerFactory.java | 1 - .../internal/handler/TadoHomeHandler.java | 8 +- .../internal/handler/TadoZoneHandler.java | 5 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 13 +- .../org.openhab.binding.tankerkoenig/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../TankerkoenigBindingConstants.java | 1 - .../internal/config/LittleStation.java | 1 - .../internal/config/OpeningTimes.java | 1 - .../internal/handler/WebserviceHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 6 +- .../main/resources/ESH-INF/thing/station.xml | 13 +- .../resources/ESH-INF/thing/webservice.xml | 2 +- bundles/org.openhab.binding.telegram/.project | 46 +- bundles/org.openhab.binding.telegram/pom.xml | 4 +- .../src/main/feature/feature.xml | 3 +- .../telegram/internal/TelegramHandler.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 26 +- bundles/org.openhab.binding.tellstick/pom.xml | 4 +- .../src/main/feature/feature.xml | 20 +- .../internal/TelldusBindingException.java | 1 - .../internal/TellstickBindingConstants.java | 1 - .../core/TelldusCoreBridgeHandler.java | 2 - .../core/TelldusCoreDeviceController.java | 1 - .../discovery/TellstickBridgeDiscovery.java | 1 - .../handler/DeviceStatusListener.java | 1 - .../handler/TelldusBridgeHandler.java | 1 - .../handler/TelldusDeviceController.java | 1 - .../handler/TelldusDevicesHandler.java | 1 - .../live/TelldusLiveDeviceController.java | 2 - .../internal/live/TelldusLiveException.java | 1 - .../internal/live/xml/NameToDataType.java | 1 - .../live/xml/NumberToBooleanMapper.java | 1 - .../live/xml/TelldusLiveResponse.java | 1 - .../internal/live/xml/TellstickNetDevice.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../main/resources/ESH-INF/thing/devices.xml | 19 +- .../main/resources/ESH-INF/thing/sensor.xml | 56 +- bundles/org.openhab.binding.tesla/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../tesla/internal/TeslaBindingConstants.java | 1 - .../internal/TeslaChannelSelectorProxy.java | 1 - .../internal/handler/TeslaAccountHandler.java | 2 - .../internal/handler/TeslaVehicleHandler.java | 1 - .../tesla/internal/protocol/ChargeState.java | 1 - .../tesla/internal/protocol/DriveState.java | 1 - .../tesla/internal/protocol/GUIState.java | 1 - .../tesla/internal/protocol/TokenRequest.java | 1 - .../protocol/TokenRequestPassword.java | 1 - .../internal/protocol/VehicleConfig.java | 1 - .../tesla/internal/protocol/VehicleState.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/channels.xml | 5 +- .../main/resources/ESH-INF/thing/model3.xml | 202 +- .../main/resources/ESH-INF/thing/models.xml | 216 +- .../main/resources/ESH-INF/thing/modelx.xml | 216 +- .../main/resources/ESH-INF/thing/modely.xml | 206 +- bundles/org.openhab.binding.tibber/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/TibberBindingConstants.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 72 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../tplinksmarthome/internal/CryptUtil.java | 1 - .../internal/device/DimmerDevice.java | 18 +- .../internal/device/RangeExtenderDevice.java | 3 +- .../internal/model/LightState.java | 1 - .../internal/model/Realtime.java | 1 - .../internal/model/SetLedOff.java | 1 - .../internal/model/TransitionLightState.java | 1 - .../model/TransitionLightStateResponse.java | 1 - .../main/resources/ESH-INF/thing/HS100.xml | 8 +- .../main/resources/ESH-INF/thing/HS103.xml | 8 +- .../main/resources/ESH-INF/thing/HS105.xml | 8 +- .../main/resources/ESH-INF/thing/HS107.xml | 4 +- .../main/resources/ESH-INF/thing/HS110.xml | 16 +- .../main/resources/ESH-INF/thing/HS200.xml | 8 +- .../main/resources/ESH-INF/thing/HS210.xml | 8 +- .../main/resources/ESH-INF/thing/HS220.xml | 8 +- .../main/resources/ESH-INF/thing/HS300.xml | 4 +- .../main/resources/ESH-INF/thing/KB100.xml | 6 +- .../main/resources/ESH-INF/thing/KB130.xml | 10 +- .../main/resources/ESH-INF/thing/KL110.xml | 8 +- .../main/resources/ESH-INF/thing/KL120.xml | 12 +- .../main/resources/ESH-INF/thing/KL130.xml | 12 +- .../src/main/resources/ESH-INF/thing/KL50.xml | 8 +- .../src/main/resources/ESH-INF/thing/KL60.xml | 8 +- .../main/resources/ESH-INF/thing/KP100.xml | 8 +- .../main/resources/ESH-INF/thing/KP200.xml | 4 +- .../main/resources/ESH-INF/thing/KP303.xml | 4 +- .../main/resources/ESH-INF/thing/KP400.xml | 4 +- .../main/resources/ESH-INF/thing/LB100.xml | 8 +- .../main/resources/ESH-INF/thing/LB110.xml | 8 +- .../main/resources/ESH-INF/thing/LB120.xml | 12 +- .../main/resources/ESH-INF/thing/LB130.xml | 12 +- .../main/resources/ESH-INF/thing/LB200.xml | 8 +- .../main/resources/ESH-INF/thing/LB230.xml | 12 +- .../main/resources/ESH-INF/thing/RE270K.xml | 6 +- .../main/resources/ESH-INF/thing/RE370K.xml | 6 +- .../main/resources/ESH-INF/thing/channels.xml | 24 +- .../internal/CryptUtilTest.java | 1 - .../TPLinkSmartHomeDiscoveryServiceTest.java | 2 - .../internal/device/BulbDeviceTest.java | 1 - .../internal/device/DimmerDeviceTest.java | 2 +- .../device/EnergySwitchDeviceTest.java | 1 - .../device/RangeExtenderDeviceTest.java | 1 - .../internal/model/ModelTestUtil.java | 1 - bundles/org.openhab.binding.tradfri/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/TradfriHandlerFactory.java | 1 - .../internal/handler/TradfriPlugHandler.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 72 +- .../tradfri/internal/TradfriColorTest.java | 1 - bundles/org.openhab.binding.unifi/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../unifi/internal/UniFiBindingConstants.java | 1 - .../internal/UniFiClientThingConfig.java | 1 - .../internal/UniFiThingHandlerFactory.java | 1 - .../api/UniFiCommunicationException.java | 1 - .../unifi/internal/api/UniFiException.java | 1 - .../api/UniFiExpiredSessionException.java | 1 - .../api/UniFiInvalidCredentialsException.java | 1 - .../api/UniFiInvalidHostException.java | 1 - .../api/UniFiNotAuthorizedException.java | 1 - .../unifi/internal/api/UniFiSSLException.java | 1 - .../unifi/internal/api/cache/UniFiCache.java | 1 - .../internal/api/cache/UniFiClientCache.java | 1 - .../internal/api/cache/UniFiDeviceCache.java | 1 - .../internal/api/cache/UniFiSiteCache.java | 1 - .../unifi/internal/api/model/UniFiClient.java | 1 - .../internal/api/model/UniFiController.java | 2 - .../api/model/UniFiControllerRequest.java | 1 - .../unifi/internal/api/model/UniFiSite.java | 1 - .../api/model/UniFiUnknownClient.java | 1 - .../internal/api/model/UniFiWiredClient.java | 1 - .../api/model/UniFiWirelessClient.java | 1 - .../api/util/UniFiClientDeserializer.java | 1 - .../api/util/UniFiClientInstanceCreator.java | 1 - .../api/util/UniFiDeviceInstanceCreator.java | 1 - .../api/util/UniFiSiteInstanceCreator.java | 1 - .../UniFiTidyLowerCaseStringDeserializer.java | 1 - .../api/util/UniFiTimestampDeserializer.java | 1 - .../handler/UniFiBaseThingHandler.java | 1 - .../handler/UniFiClientThingHandler.java | 1 - .../handler/UniFiControllerThingHandler.java | 1 - .../unifi/internal/ssl/UniFiTrustManager.java | 1 - .../ssl/UniFiTrustManagerProvider.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 24 +- bundles/org.openhab.binding.urtsi/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../urtsi/internal/UrtsiBindingConstants.java | 1 - .../urtsi/internal/handler/RtsCommand.java | 1 - .../internal/handler/RtsDeviceHandler.java | 1 - .../internal/mapping/UrtsiChannelMapping.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../resources/ESH-INF/thing/thing-types.xml | 10 +- bundles/org.openhab.binding.valloxmv/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../valloxmv/internal/ValloxMVHandler.java | 12 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 130 +- bundles/org.openhab.binding.vektiva/pom.xml | 4 +- .../src/main/feature/feature.xml | 13 +- .../internal/VektivaHandlerFactory.java | 3 +- .../handler/VektivaSmarwiHandler.java | 43 +- .../main/resources/ESH-INF/thing/smarwi.xml | 4 +- bundles/org.openhab.binding.velbus/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../VelbusTemperatureSensorHandler.java | 2 +- .../packets/VelbusBlindOffPacket.java | 1 - .../packets/VelbusBlindPositionPacket.java | 1 - .../packets/VelbusBlindUpDownPacket.java | 1 - .../VelbusChannelNameRequestPacket.java | 1 - .../internal/packets/VelbusDimmerPacket.java | 1 - .../internal/packets/VelbusRelayPacket.java | 1 - .../internal/packets/VelbusScanPacket.java | 1 - .../packets/VelbusStatusRequestPacket.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 6 +- .../resources/ESH-INF/thing/thing-types.xml | 561 +- bundles/org.openhab.binding.velux/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../binding/velux/internal/VeluxBinding.java | 1 - .../velux/internal/VeluxBindingConfig.java | 1 - .../velux/internal/VeluxBindingConstants.java | 1 - .../internal/VeluxBindingProperties.java | 1 - .../binding/velux/internal/VeluxItemType.java | 1 - .../velux/internal/VeluxRSBindingConfig.java | 3 - .../velux/internal/bridge/VeluxBridge.java | 1 - .../internal/bridge/VeluxBridgeActuators.java | 1 - .../bridge/VeluxBridgeDeviceStatus.java | 1 - .../bridge/VeluxBridgeGetFirmware.java | 1 - .../bridge/VeluxBridgeGetHouseStatus.java | 1 - .../bridge/VeluxBridgeGetLimitation.java | 1 - .../internal/bridge/VeluxBridgeInstance.java | 1 - .../internal/bridge/VeluxBridgeProvider.java | 1 - .../bridge/VeluxBridgeRunProductCommand.java | 1 - .../internal/bridge/VeluxBridgeRunScene.java | 1 - .../internal/bridge/VeluxBridgeScenes.java | 1 - .../VeluxBridgeSetHouseStatusMonitor.java | 1 - .../bridge/VeluxBridgeSetLimitation.java | 1 - .../bridge/VeluxBridgeWLANConfig.java | 1 - .../internal/bridge/common/BridgeAPI.java | 1 - .../common/BridgeCommunicationProtocol.java | 1 - .../internal/bridge/common/GetFirmware.java | 1 - .../internal/bridge/common/GetLANConfig.java | 1 - .../internal/bridge/common/GetProduct.java | 1 - .../bridge/common/GetProductLimitation.java | 1 - .../internal/bridge/common/GetProducts.java | 1 - .../internal/bridge/common/GetScenes.java | 1 - .../velux/internal/bridge/common/Login.java | 1 - .../bridge/common/RunProductCommand.java | 1 - .../common/RunProductIdentification.java | 1 - .../internal/bridge/common/RunScene.java | 1 - .../bridge/common/SetHouseStatusMonitor.java | 1 - .../bridge/common/SetProductLimitation.java | 1 - .../bridge/common/SetSceneVelocity.java | 1 - .../bridge/json/JCgetDeviceStatus.java | 1 - .../internal/bridge/json/JCgetFirmware.java | 1 - .../internal/bridge/json/JCgetLANConfig.java | 1 - .../internal/bridge/json/JCgetProducts.java | 1 - .../internal/bridge/json/JCgetScenes.java | 1 - .../internal/bridge/json/JCgetWLANConfig.java | 1 - .../velux/internal/bridge/json/JClogin.java | 1 - .../velux/internal/bridge/json/JClogout.java | 1 - .../bridge/json/JCrunProductDiscovery.java | 1 - .../bridge/json/JCrunProductSearch.java | 2 - .../internal/bridge/json/JCrunScene.java | 1 - .../bridge/json/JCsetSceneVelocity.java | 1 - .../internal/bridge/json/JsonBridgeAPI.java | 1 - .../json/JsonBridgeCommunicationProtocol.java | 1 - .../internal/bridge/json/JsonVeluxBridge.java | 1 - .../bridge/slip/SCgetDeviceStatus.java | 1 - .../internal/bridge/slip/SCgetFirmware.java | 1 - .../bridge/slip/SCgetHouseStatus.java | 1 - .../internal/bridge/slip/SCgetLANConfig.java | 1 - .../internal/bridge/slip/SCgetLimitation.java | 1 - .../internal/bridge/slip/SCgetProduct.java | 1 - .../internal/bridge/slip/SCgetProducts.java | 1 - .../internal/bridge/slip/SCgetScenes.java | 5 +- .../internal/bridge/slip/SCgetWLANConfig.java | 1 - .../velux/internal/bridge/slip/SClogin.java | 1 - .../velux/internal/bridge/slip/SClogout.java | 1 - .../bridge/slip/SCrunProductCommand.java | 1 - .../bridge/slip/SCrunProductDiscovery.java | 1 - .../slip/SCrunProductIdentification.java | 1 - .../bridge/slip/SCrunProductSearch.java | 1 - .../internal/bridge/slip/SCrunScene.java | 1 - .../bridge/slip/SCsetHouseStatusMonitor.java | 1 - .../internal/bridge/slip/SCsetLimitation.java | 1 - .../bridge/slip/SCsetSceneVelocity.java | 3 +- .../internal/bridge/slip/SlipBridgeAPI.java | 1 - .../slip/SlipBridgeCommunicationProtocol.java | 1 - .../internal/bridge/slip/SlipVeluxBridge.java | 1 - .../internal/bridge/slip/io/Connection.java | 1 - .../slip/io/DataInputStreamWithTimeout.java | 2 - .../bridge/slip/io/SSLconnection.java | 1 - .../internal/bridge/slip/utils/Packet.java | 1 - .../bridge/slip/utils/SlipEncoding.java | 1 - .../bridge/slip/utils/SlipRFC1055.java | 1 - .../discovery/VeluxDiscoveryService.java | 1 - .../internal/factory/VeluxHandlerFactory.java | 3 - .../internal/handler/BridgeChannels.java | 1 - .../handler/ChannelActuatorLimitation.java | 1 - .../handler/ChannelActuatorPosition.java | 1 - .../internal/handler/ChannelBridgeCheck.java | 1 - .../handler/ChannelBridgeDoDetection.java | 1 - .../handler/ChannelBridgeFirmware.java | 1 - .../handler/ChannelBridgeLANconfig.java | 1 - .../handler/ChannelBridgeProducts.java | 1 - .../internal/handler/ChannelBridgeScenes.java | 1 - .../internal/handler/ChannelBridgeStatus.java | 1 - .../handler/ChannelBridgeWLANconfig.java | 1 - .../handler/ChannelHandlerTemplate.java | 1 - .../internal/handler/ChannelSceneAction.java | 1 - .../handler/ChannelSceneSilentmode.java | 1 - .../handler/ChannelVShutterPosition.java | 1 - .../handler/PropertyHandlerTemplate.java | 1 - .../internal/handler/VeluxBindingHandler.java | 1 - .../internal/handler/VeluxBridgeHandler.java | 2 - .../velux/internal/handler/VeluxHandler.java | 1 - .../utils/ExtendedBaseThingHandler.java | 1 - .../internal/handler/utils/StateUtils.java | 1 - .../handler/utils/Thing2VeluxActuator.java | 1 - .../handler/utils/ThingConfiguration.java | 1 - .../internal/handler/utils/ThingProperty.java | 1 - .../things/VeluxExistingProducts.java | 1 - .../internal/things/VeluxGwFirmware.java | 1 - .../velux/internal/things/VeluxGwLAN.java | 1 - .../velux/internal/things/VeluxGwState.java | 1 - .../velux/internal/things/VeluxGwWLAN.java | 1 - .../velux/internal/things/VeluxKLFAPI.java | 3 - .../velux/internal/things/VeluxProduct.java | 1 - .../internal/things/VeluxProductName.java | 1 - .../internal/things/VeluxProductPosition.java | 1 - .../things/VeluxProductReference.java | 1 - .../internal/things/VeluxProductSerialNo.java | 1 - .../internal/things/VeluxProductState.java | 1 - .../internal/things/VeluxProductType.java | 1 - .../internal/things/VeluxProductVelocity.java | 1 - .../velux/internal/things/VeluxScene.java | 1 - .../velux/internal/utils/Localization.java | 1 - .../internal/utils/ManifestInformation.java | 1 - .../main/resources/ESH-INF/config/config.xml | 1 - .../main/resources/ESH-INF/thing/actuator.xml | 12 +- .../main/resources/ESH-INF/thing/binding.xml | 2 +- .../main/resources/ESH-INF/thing/bridge.xml | 30 +- .../main/resources/ESH-INF/thing/channels.xml | 42 +- .../resources/ESH-INF/thing/rollershutter.xml | 10 +- .../main/resources/ESH-INF/thing/scene.xml | 8 +- .../main/resources/ESH-INF/thing/vshutter.xml | 6 +- .../main/resources/ESH-INF/thing/window.xml | 8 +- .../org.openhab.binding.vitotronic/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../VitotronicBindingConfiguration.java | 1 - .../discovery/VitotronicBridgeDiscovery.java | 1 - .../handler/VitotronicBridgeHandler.java | 8 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/thing/bridge.xml | 8 +- .../resources/ESH-INF/thing/thing-types.xml | 207 +- .../org.openhab.binding.volvooncall/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/VolvoOnCallBindingConstants.java | 1 - .../VolvoOnCallDiscoveryService.java | 1 - .../volvooncall/internal/dto/Attributes.java | 1 - .../volvooncall/internal/dto/Heater.java | 3 - .../volvooncall/internal/dto/HvBattery.java | 3 - .../volvooncall/internal/dto/TripDetail.java | 1 - .../main/resources/ESH-INF/config/config.xml | 3 +- .../main/resources/ESH-INF/thing/bridge.xml | 2 +- .../main/resources/ESH-INF/thing/vehicle.xml | 60 +- .../pom.xml | 4 +- .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 119 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../WeatherUndergroundHandlerFactory.java | 1 - .../WeatherUndergroundConfiguration.java | 1 - .../WeatherUndergroundDiscoveryService.java | 1 - .../json/WeatherUndergroundJsonData.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 108 +- bundles/org.openhab.binding.wemo/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../wemo/internal/WemoBindingConstants.java | 1 - .../wemo/internal/WemoHandlerFactory.java | 1 - .../discovery/WemoDiscoveryParticipant.java | 1 - .../discovery/WemoDiscoveryService.java | 1 - .../discovery/WemoLinkDiscoveryService.java | 1 - .../internal/handler/WemoBridgeHandler.java | 1 - .../internal/handler/WemoCoffeeHandler.java | 1 - .../internal/handler/WemoCrockpotHandler.java | 1 - .../internal/handler/WemoDimmerHandler.java | 1 - .../wemo/internal/handler/WemoHandler.java | 1 - .../internal/handler/WemoHolmesHandler.java | 1 - .../internal/handler/WemoLightHandler.java | 1 - .../internal/handler/WemoMakerHandler.java | 1 - .../resources/ESH-INF/binding/binding.xml | 3 +- .../main/resources/ESH-INF/thing/bridge.xml | 3 +- .../resources/ESH-INF/thing/thing-types.xml | 105 +- bundles/org.openhab.binding.wifiled/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/WiFiLEDBindingConstants.java | 1 - .../internal/WiFiLEDHandlerFactory.java | 1 - .../internal/configuration/WiFiLEDConfig.java | 1 - .../discovery/WiFiLEDDiscoveryService.java | 1 - .../handler/AbstractWiFiLEDDriver.java | 1 - .../handler/ClassicWiFiLEDDriver.java | 1 - .../internal/handler/FadingWiFiLEDDriver.java | 1 - .../internal/handler/InternalLedState.java | 1 - .../wifiled/internal/handler/LEDState.java | 1 - .../internal/handler/WiFiLEDHandler.java | 15 +- .../resources/ESH-INF/binding/binding.xml | 4 +- .../main/resources/ESH-INF/thing/wifiled.xml | 15 +- .../internal/handler/LEDStateDTOTest.java | 1 - .../org.openhab.binding.windcentrale/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../WindcentraleBindingConstants.java | 1 - .../internal/WindcentraleHandlerFactory.java | 1 - .../internal/config/MillConfig.java | 1 - .../resources/ESH-INF/thing/millThing.xml | 40 +- bundles/org.openhab.binding.xmltv/pom.xml | 4 +- .../discovery/XmlTVDiscoveryService.java | 1 - .../internal/handler/ChannelHandler.java | 1 - .../xmltv/internal/handler/XmlTVHandler.java | 1 - .../xmltv/internal/jaxb/Programme.java | 1 - .../xmltv/internal/jaxb/WithLangType.java | 1 - .../resources/ESH-INF/thing/thing-types.xml | 64 +- .../org.openhab.binding.xmppclient/pom.xml | 4 +- .../src/main/feature/feature.xml | 38 +- .../xmppclient/action/XMPPActions.java | 7 +- .../handler/PublishTriggerChannel.java | 7 +- .../xmppclient/handler/XMPPClientHandler.java | 18 +- .../handler/XMPPClientMessageSubscriber.java | 1 + .../xmppclient/internal/XMPPClient.java | 24 +- .../internal/XMPPClientHandlerFactory.java | 8 +- .../resources/ESH-INF/thing/thing-types.xml | 7 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/ChannelsTypeProviderPreset.java | 1 - .../internal/handler/YamahaBridgeHandler.java | 8 +- .../internal/protocol/InputConverter.java | 1 - .../internal/protocol/SystemControl.java | 1 - .../internal/protocol/xml/XMLConstants.java | 1 - .../internal/state/AvailableInputState.java | 1 - .../state/DeviceInformationState.java | 1 - .../resources/ESH-INF/binding/binding.xml | 4 +- .../resources/ESH-INF/thing/thing-types.xml | 103 +- .../internal/ResponseLoader.java | 5 +- .../yamahareceiver/internal/TestModels.java | 1 - .../protocol/XMLProtocolFactoryTest.java | 1 - .../protocol/xml/AbstractXMLProtocolTest.java | 5 +- .../xml/AbstractZoneControlXMLTest.java | 7 +- .../protocol/xml/DeviceDescriptorXMLTest.java | 1 - .../xml/DeviceInformationXMLTest.java | 1 - .../protocol/xml/InputConverterXMLTest.java | 8 +- .../xml/InputWithPlayControlXMLTest.java | 21 +- .../internal/protocol/xml/ModelContext.java | 10 +- .../protocol/xml/SystemControlXMLTest.java | 1 - .../protocol/xml/ZoneBControlXMLTest.java | 18 +- .../protocol/xml/ZoneControlXMLTest.java | 28 +- bundles/org.openhab.binding.yeelight/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/handler/YeelightHandlerBase.java | 1 - .../CeilingDeviceWithAmbientDevice.java | 1 - .../internal/lib/device/ColorFlowItem.java | 1 - .../internal/lib/device/DeviceBase.java | 2 - .../internal/lib/device/DeviceFactory.java | 1 - .../internal/lib/device/DeviceMethod.java | 1 - .../internal/lib/device/DeviceStatus.java | 1 - .../lib/device/connection/ConnectionBase.java | 1 - .../lib/device/connection/WifiConnection.java | 1 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../main/resources/ESH-INF/config/config.xml | 3 +- .../main/resources/ESH-INF/thing/ceiling.xml | 11 +- .../main/resources/ESH-INF/thing/ceiling4.xml | 5 +- .../main/resources/ESH-INF/thing/channels.xml | 3 +- .../main/resources/ESH-INF/thing/ct_bulb.xml | 8 +- .../main/resources/ESH-INF/thing/desklamp.xml | 11 +- .../main/resources/ESH-INF/thing/dolphin.xml | 9 +- .../main/resources/ESH-INF/thing/stripe.xml | 11 +- .../main/resources/ESH-INF/thing/wonder.xml | 11 +- .../org.openhab.binding.zoneminder/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/ZoneMinderConstants.java | 1 - .../config/ZoneMinderBridgeServerConfig.java | 1 - .../config/ZoneMinderThingConfig.java | 1 - .../handler/ZoneMinderBaseThingHandler.java | 2 - .../internal/handler/ZoneMinderHandler.java | 1 - .../ZoneMinderServerBridgeHandler.java | 3 - .../ZoneMinderThingMonitorHandler.java | 4 - .../resources/ESH-INF/binding/binding.xml | 7 +- .../ESH-INF/config/monitor-channels.xml | 2 +- .../ESH-INF/config/zoneminderserver.xml | 16 +- .../resources/ESH-INF/thing/monitor-thing.xml | 45 +- .../resources/ESH-INF/thing/server-bridge.xml | 2 +- bundles/org.openhab.binding.zway/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../resources/ESH-INF/binding/binding.xml | 11 +- .../ESH-INF/config/bridge-config.xml | 15 +- .../main/resources/ESH-INF/thing/bridge.xml | 19 +- .../main/resources/ESH-INF/thing/channels.xml | 78 +- .../main/resources/ESH-INF/thing/device.xml | 7 +- .../ESH-INF/thing/virtual_device.xml | 5 +- .../pom.xml | 4 +- .../src/main/feature/feature.xml | 2 +- .../internal/AutomationExtensionHandler.java | 1 - .../MarketplaceRuleTemplateProvider.java | 1 - .../pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../marketplace/MarketplaceExtension.java | 1 - .../internal/BundleExtensionHandler.java | 15 +- .../internal/MarketplaceExtensionService.java | 1 - .../internal/MarketplaceXMLReader.java | 1 - .../MarketplaceExtensionServiceTest.java | 1 - bundles/org.openhab.io.homekit/pom.xml | 6 +- .../src/main/feature/feature.xml | 18 +- .../homekit/internal/HomekitAuthInfoImpl.java | 1 - .../internal/HomekitCommandExtension.java | 1 - .../io/homekit/internal/HomekitSettings.java | 1 - .../AbstractHomekitLightbulbImpl.java | 1 - .../internal/accessories/HomekitLockImpl.java | 3 +- .../main/resources/ESH-INF/config/config.xml | 33 +- bundles/org.openhab.io.hueemulation/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../internal/HueEmulationService.java | 4 +- .../hueemulation/internal/NetworkUtils.java | 1 - .../internal/dto/HueRuleEntry.java | 1 - .../internal/dto/HueScheduleEntry.java | 2 +- .../internal/dto/HueStateColorBulb.java | 2 +- .../io/hueemulation/internal/rest/Scenes.java | 1 - .../hueemulation/internal/rest/Schedules.java | 1 - .../hueemulation/internal/rest/Sensors.java | 1 - .../internal/rest/StatusResource.java | 2 - .../internal/upnp/UpnpServer.java | 1 - .../main/resources/ESH-INF/config/config.xml | 36 +- .../automation/RuleConditionHandlerTests.java | 2 - .../internal/rest/LightsAndGroupsTests.java | 1 - .../internal/rest/RulesTests.java | 1 - .../internal/rest/UsersAndConfigTests.java | 1 - .../rest/mocks/DummyItemRegistry.java | 2 - .../rest/mocks/DummyMetadataRegistry.java | 2 - .../rest/mocks/DummyUsersStorage.java | 1 - bundles/org.openhab.io.imperihome/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/ImperiHomeApiServlet.java | 1 - .../imperihome/internal/ImperiHomeConfig.java | 1 - .../io/imperihome/internal/action/Action.java | 1 - .../internal/action/ActionRegistry.java | 1 - .../internal/action/LaunchSceneAction.java | 1 - .../internal/action/SetChoiceAction.java | 1 - .../internal/action/SetColorAction.java | 1 - .../internal/action/SetLevelAction.java | 1 - .../internal/action/SetModeAction.java | 7 +- .../internal/action/SetSetPointAction.java | 1 - .../internal/action/SetStatusAction.java | 2 +- .../internal/action/StopShutterAction.java | 4 +- .../internal/handler/DeviceActionHandler.java | 1 - .../handler/DeviceHistoryHandler.java | 1 - .../internal/handler/DevicesListHandler.java | 1 - .../internal/handler/RoomListHandler.java | 1 - .../internal/handler/SystemHandler.java | 1 - .../io/DeviceParametersSerializer.java | 1 - .../internal/io/DeviceTypeSerializer.java | 1 - .../internal/io/ParamTypeSerializer.java | 1 - .../internal/model/HistoryItem.java | 1 - .../internal/model/HistoryList.java | 1 - .../io/imperihome/internal/model/Room.java | 1 - .../imperihome/internal/model/RoomList.java | 1 - .../io/imperihome/internal/model/System.java | 1 - .../internal/model/device/AbstractDevice.java | 6 +- .../device/AbstractEnergyLinkDevice.java | 1 - .../device/AbstractNumericValueDevice.java | 1 - .../model/device/Co2SensorDevice.java | 1 - .../internal/model/device/DeviceList.java | 1 - .../internal/model/device/DeviceType.java | 1 - .../internal/model/device/DimmerDevice.java | 1 - .../model/device/ElectricityDevice.java | 1 - .../model/device/GenericSensorDevice.java | 1 - .../model/device/HygrometryDevice.java | 1 - .../internal/model/device/LockDevice.java | 1 - .../model/device/LuminosityDevice.java | 1 - .../model/device/MultiSwitchDevice.java | 1 - .../internal/model/device/NoiseDevice.java | 1 - .../internal/model/device/PressureDevice.java | 1 - .../internal/model/device/RainDevice.java | 1 - .../internal/model/device/RgbLightDevice.java | 1 - .../internal/model/device/SceneDevice.java | 1 - .../internal/model/device/ShutterDevice.java | 1 - .../internal/model/device/SwitchDevice.java | 1 - .../model/device/TempHygroDevice.java | 1 - .../model/device/TemperatureDevice.java | 1 - .../model/device/ThermostatDevice.java | 4 +- .../model/device/TrippableDevice.java | 1 - .../internal/model/device/UvDevice.java | 1 - .../internal/model/device/WindDevice.java | 1 - .../internal/model/param/DeviceParam.java | 1 - .../model/param/DeviceParameters.java | 1 - .../model/param/NumericValueParam.java | 1 - .../internal/model/param/ParamType.java | 3 +- .../internal/processor/DeviceRegistry.java | 8 +- .../internal/processor/ItemProcessor.java | 1 - .../internal/processor/TagType.java | 1 - .../imperihome/internal/util/DigestUtil.java | 1 - bundles/org.openhab.io.javasound/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/JavaSoundAudioSink.java | 5 +- .../internal/JavaSoundAudioSource.java | 1 - .../org.openhab.io.mqttembeddedbroker/pom.xml | 4 +- .../src/main/feature/feature.xml | 18 +- .../main/resources/ESH-INF/config/config.xml | 18 +- bundles/org.openhab.io.neeo/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../neeo/internal/NeeoDeviceDefinitions.java | 4 +- .../openhab/io/neeo/internal/NeeoUtil.java | 18 +- .../internal/discovery/BrainDiscovery.java | 1 - .../discovery/MdnsBrainDiscovery.java | 1 - .../io/neeo/internal/models/BrainStatus.java | 1 - .../NeeoDeviceChannelDirectoryListItem.java | 6 +- .../internal/models/NeeoDirectoryRequest.java | 1 - .../models/NeeoDirectoryResultItem.java | 1 - .../models/NeeoDirectoryResultMeta.java | 1 - .../neeo/internal/models/NeeoSystemInfo.java | 1 - .../io/neeo/internal/models/TokenScore.java | 1 - .../NeeoBrainDeviceSerializer.java | 24 +- .../serialization/NeeoThingUIDSerializer.java | 1 - .../NeeoBrainSearchService.java | 6 +- .../servletservices/NeeoBrainService.java | 2 - .../ThingDashboardService.java | 4 +- .../servletservices/models/PathInfo.java | 1 - .../main/resources/ESH-INF/config/config.xml | 5 +- bundles/org.openhab.io.openhabcloud/pom.xml | 4 +- .../src/main/feature/feature.xml | 24 +- .../io/openhabcloud/NotificationAction.java | 1 - .../openhabcloud/internal/CloudService.java | 1 - .../org.openhab.io.transport.modbus/pom.xml | 4 +- .../src/main/feature/feature.xml | 14 +- .../BasicModbusReadRequestBlueprint.java | 1 - .../modbus/BasicModbusRegisterArray.java | 1 - .../BasicModbusWriteCoilRequestBlueprint.java | 1 - ...icModbusWriteRegisterRequestBlueprint.java | 1 - .../transport/modbus/BasicPollTaskImpl.java | 1 - .../openhab/io/transport/modbus/BitArray.java | 1 - .../transport/modbus/ModbusBitUtilities.java | 1 - .../io/transport/modbus/ModbusConstants.java | 1 - .../io/transport/modbus/ModbusManager.java | 1 - .../modbus/ModbusManagerListener.java | 1 - .../transport/modbus/ModbusReadCallback.java | 1 - .../modbus/ModbusReadRequestBlueprint.java | 1 - .../io/transport/modbus/ModbusRegister.java | 1 - .../transport/modbus/ModbusRegisterArray.java | 1 - .../modbus/ModbusRequestBlueprint.java | 1 - .../io/transport/modbus/ModbusResponse.java | 1 - .../ModbusSlaveErrorResponseException.java | 1 - .../modbus/ModbusSlaveIOException.java | 1 - .../modbus/ModbusTransportException.java | 1 - ...expectedResponseFunctionCodeException.java | 2 - ...ModbusUnexpectedResponseSizeException.java | 2 - ...odbusUnexpectedTransactionIdException.java | 2 - .../transport/modbus/ModbusWriteCallback.java | 1 - .../modbus/ModbusWriteFunctionCode.java | 1 - .../modbus/ModbusWriteRequestBlueprint.java | 1 - .../ModbusWriteRequestBlueprintVisitor.java | 1 - .../endpoint/EndpointPoolConfiguration.java | 1 - .../endpoint/ModbusTCPSlaveEndpoint.java | 1 - .../endpoint/ModbusUDPSlaveEndpoint.java | 1 - .../internal/BitArrayWrappingBitVector.java | 1 - .../modbus/internal/ModbusLibraryWrapper.java | 1 - .../modbus/internal/ModbusManagerImpl.java | 3 - .../modbus/internal/ModbusResponseImpl.java | 1 - .../RegisterArrayWrappingInputRegister.java | 2 - .../modbus/internal/SimpleStopWatch.java | 1 - .../ModbusSlaveConnectionFactoryImpl.java | 2 - .../json/WriteRequestJsonUtilities.java | 1 - .../BitUtilitiesCommandToRegistersTest.java | 1 - ...tilitiesExtractStateFromRegistersTest.java | 1 - ...ilitiesExtractStringFromRegistersTest.java | 1 - .../modbus/test/IntegrationTestSupport.java | 4 - .../transport/modbus/test/ResultCaptor.java | 105 +- .../io/transport/modbus/test/SmokeTest.java | 2 - .../test/WriteRequestJsonUtilitiesTest.java | 1 - bundles/org.openhab.io.webaudio/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../webaudio/internal/WebAudioAudioSink.java | 1 - .../internal/WebAudioEventFactory.java | 1 - .../org.openhab.transform.bin2json/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- bundles/org.openhab.transform.exec/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/ExecTransformationService.java | 6 +- .../resources/ESH-INF/config/execProfile.xml | 3 +- .../org.openhab.transform.javascript/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../JavaScriptTransformationService.java | 6 +- .../ESH-INF/config/javascriptProfile.xml | 3 +- bundles/org.openhab.transform.jinja/pom.xml | 4 +- .../src/main/feature/feature.xml | 28 +- .../internal/JinjaTransformationService.java | 2 +- .../JinjaTransformationServiceTest.java | 1 - .../org.openhab.transform.jsonpath/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../JSonPathTransformationService.java | 4 +- bundles/org.openhab.transform.map/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/MapTransformationService.java | 1 - .../MapTransformationServiceTest.java | 1 - bundles/org.openhab.transform.regex/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/RegExTransformationService.java | 1 - .../resources/ESH-INF/config/regexProfile.xml | 3 +- .../AbstractTransformationServiceTest.java | 1 - bundles/org.openhab.transform.scale/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../transform/scale/internal/Range.java | 1 - .../internal/ScaleTransformationService.java | 3 +- .../internal/ScaleTransformServiceTest.java | 1 - bundles/org.openhab.transform.xpath/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/XPathTransformationService.java | 1 - .../resources/ESH-INF/config/xpathProfile.xml | 3 +- .../AbstractTransformationServiceTest.java | 1 - .../XPathTransformationServiceTest.java | 1 - bundles/org.openhab.transform.xslt/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../internal/XsltTransformationService.java | 1 - .../AbstractTransformationServiceTest.java | 1 - .../XsltTransformationServiceTest.java | 1 - bundles/org.openhab.voice.googletts/pom.xml | 4 +- .../src/main/feature/feature.xml | 34 +- .../googletts/internal/GoogleCloudAPI.java | 1 - .../googletts/internal/GoogleTTSConfig.java | 10 +- .../internal/protocol/ListVoicesResponse.java | 1 - .../internal/protocol/SynthesisInput.java | 1 - .../protocol/SynthesizeSpeechRequest.java | 1 - .../googletts/internal/protocol/Voice.java | 1 - .../main/resources/ESH-INF/config/config.xml | 14 +- bundles/org.openhab.voice.mactts/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../voice/mactts/internal/MacTTSService.java | 279 +- bundles/org.openhab.voice.marytts/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../marytts/internal/MaryTTSAudioStream.java | 4 +- .../marytts/internal/MaryTTSService.java | 1 - bundles/org.openhab.voice.picotts/pom.xml | 4 +- .../src/main/feature/feature.xml | 10 +- .../picotts/internal/PicoTTSService.java | 173 +- bundles/org.openhab.voice.pollytts/pom.xml | 4 +- .../src/main/feature/feature.xml | 26 +- .../internal/PollyTTSAudioStream.java | 1 - .../pollytts/internal/PollyTTSService.java | 1 - .../internal/cloudapi/PollyTTSCloudImpl.java | 1 - .../main/resources/ESH-INF/config/config.xml | 5 +- bundles/org.openhab.voice.voicerss/pom.xml | 4 +- .../src/main/feature/feature.xml | 12 +- .../internal/VoiceRSSAudioStream.java | 1 - .../internal/cloudapi/VoiceRSSCloudImpl.java | 1 - .../main/resources/ESH-INF/config/config.xml | 3 +- bundles/pom.xml | 6 +- features/openhab-addons-external/pom.xml | 4 +- features/openhab-addons/pom.xml | 7 +- .../src/main/resources/footer.xml | 68 +- .../src/main/resources/header.xml | 3 +- features/pom.xml | 4 +- .../org.openhab.binding.astro.tests/pom.xml | 4 +- .../pom.xml | 4 +- itests/org.openhab.binding.feed.tests/pom.xml | 4 +- .../binding/feed/test/FeedHandlerTest.java | 1 - itests/org.openhab.binding.hue.tests/pom.xml | 4 +- .../internal/AbstractHueOSGiTestParent.java | 1 - .../HueLightDiscoveryServiceOSGiTest.java | 1 - ...HueBridgeDiscoveryParticipantOSGITest.java | 3 +- .../HueBridgeNupnpDiscoveryOSGITest.java | 1 - itests/org.openhab.binding.max.tests/pom.xml | 4 +- .../max/internal/command/FCommandTest.java | 1 - .../max/internal/command/MCommandTest.java | 1 - .../internal/message/ConfigurationTest.java | 1 - .../max/internal/message/MMessageTest.java | 1 - .../message/MessageProcessorTest.java | 1 - .../max/internal/message/SMessageTest.java | 1 - .../max/internal/message/UtilsTest.java | 2 - .../test/MaxCubeBridgeHandlerOSGiTest.java | 1 - .../org.openhab.binding.modbus.tests/pom.xml | 4 +- .../modbus/tests/AbstractModbusOSGiTest.java | 2 - itests/org.openhab.binding.nest.tests/pom.xml | 4 +- .../nest/handler/NestBridgeHandlerTest.java | 1 - .../handler/NestThermostatHandlerTest.java | 1 - .../handler/NestThingHandlerOSGiTest.java | 1 - .../nest/internal/data/GsonParsingTest.java | 1 - .../nest/internal/data/NestDataUtil.java | 1 - .../binding/nest/test/NestTestApiServlet.java | 1 - .../nest/test/NestTestBridgeHandler.java | 1 - .../resources/ESH-INF/thing/test-bridge.xml | 5 +- itests/org.openhab.binding.ntp.tests/pom.xml | 4 +- .../openhab/binding/ntp/test/NtpOSGiTest.java | 1 - .../pom.xml | 4 +- .../systeminfo/test/SysteminfoOSGiTest.java | 1 - .../org.openhab.binding.tradfri.tests/pom.xml | 4 +- itests/org.openhab.binding.wemo.tests/pom.xml | 4 +- .../internal/test/GenericWemoOSGiTest.java | 1 - .../org.openhab.io.hueemulation.tests/pom.xml | 4 +- .../internal/HueEmulationServiceOSGiTest.java | 1 - itests/pom.xml | 16 +- pom.xml | 37 +- .../checkstyle/suppressions.xml | 2 + 4014 files changed, 37629 insertions(+), 38775 deletions(-) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000000000..c4b674eff71a6 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +.java text=auto +.xml text=auto diff --git a/bom/openhab-addons/pom.xml b/bom/openhab-addons/pom.xml index affcd5325dc06..65427f72ef8a8 100644 --- a/bom/openhab-addons/pom.xml +++ b/bom/openhab-addons/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -118,7 +120,7 @@ org.openhab.addons.bundles org.openhab.binding.bosesoundtouch ${project.version} - + org.openhab.addons.bundles org.openhab.binding.bsblan diff --git a/bom/openhab-core-index/pom.xml b/bom/openhab-core-index/pom.xml index 1a74a24d1eaca..b4be297362d0d 100644 --- a/bom/openhab-core-index/pom.xml +++ b/bom/openhab-core-index/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bom/pom.xml b/bom/pom.xml index 9d3559e43988f..ff958de8f197c 100644 --- a/bom/pom.xml +++ b/bom/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -37,11 +39,14 @@ - + - + - + header diff --git a/bom/runtime-index/pom.xml b/bom/runtime-index/pom.xml index f3101452c8cc9..db5223bb77cbd 100644 --- a/bom/runtime-index/pom.xml +++ b/bom/runtime-index/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bom/test-index/pom.xml b/bom/test-index/pom.xml index fd60560d568a1..4bc25b5740c60 100644 --- a/bom/test-index/pom.xml +++ b/bom/test-index/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/create_openhab_binding_skeleton.cmd b/bundles/create_openhab_binding_skeleton.cmd index ae56d52999182..699c59fca36fd 100644 --- a/bundles/create_openhab_binding_skeleton.cmd +++ b/bundles/create_openhab_binding_skeleton.cmd @@ -1,44 +1,44 @@ -@echo off - -SETLOCAL -SET ARGC=0 - -FOR %%x IN (%*) DO SET /A ARGC+=1 - -IF %ARGC% NEQ 3 ( - echo Usage: %0 BindingIdInCamelCase Author GithubUser - exit /B 1 -) - -SET OpenhabCoreVersion="2.5.0" -SET OpenhabVersion="2.5.5-SNAPSHOT" - -SET BindingIdInCamelCase=%~1 -SET BindingIdInLowerCase=%BindingIdInCamelCase% -SET Author=%~2 -SET GithubUser=%~3 - -call :LoCase BindingIdInLowerCase - -call mvn -s archetype-settings.xml archetype:generate -N -DarchetypeGroupId=org.openhab.core.tools.archetypes -DarchetypeArtifactId=org.openhab.core.tools.archetypes.binding -DarchetypeVersion=%OpenhabCoreVersion% -DgroupId=org.openhab.binding -DartifactId=org.openhab.binding.%BindingIdInLowerCase% -Dpackage=org.openhab.binding.%BindingIdInLowerCase% -Dversion=%OpenhabVersion% -DbindingId=%BindingIdInLowerCase% -DbindingIdCamelCase=%BindingIdInCamelCase% -DvendorName=openHAB -Dnamespace=org.openhab -Dauthor="%Author%" -DgithubUser="%GithubUser%" - -COPY ..\src\etc\NOTICE org.openhab.binding.%BindingIdInLowerCase%\ - -:: temporary fix -:: replace ${project.version} by ${ohc.version} in src/main/feature/feature.xml -@powershell -command "(Get-Content org.openhab.binding.$env:BindingIdInLowerCase/src/main/feature/feature.xml).replace('-core/${project.version}', '-core/${ohc.version}') | Set-Content org.openhab.binding.$env:BindingIdInLowerCase/src/main/feature/feature.xml" - -(SET BindingIdInLowerCase=) -(SET BindingIdInCamelCase=) -(SET Author=) -(SET GithubUser=) - -GOTO:EOF - -:LoCase -:: Subroutine to convert a variable VALUE to all lower case. -:: The argument for this subroutine is the variable NAME. -FOR %%i IN ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z") DO CALL SET "%1=%%%1:%%~i%%" -GOTO:EOF - -ENDLOCAL +@echo off + +SETLOCAL +SET ARGC=0 + +FOR %%x IN (%*) DO SET /A ARGC+=1 + +IF %ARGC% NEQ 3 ( + echo Usage: %0 BindingIdInCamelCase Author GithubUser + exit /B 1 +) + +SET OpenhabCoreVersion="2.5.0" +SET OpenhabVersion="2.5.5-SNAPSHOT" + +SET BindingIdInCamelCase=%~1 +SET BindingIdInLowerCase=%BindingIdInCamelCase% +SET Author=%~2 +SET GithubUser=%~3 + +call :LoCase BindingIdInLowerCase + +call mvn -s archetype-settings.xml archetype:generate -N -DarchetypeGroupId=org.openhab.core.tools.archetypes -DarchetypeArtifactId=org.openhab.core.tools.archetypes.binding -DarchetypeVersion=%OpenhabCoreVersion% -DgroupId=org.openhab.binding -DartifactId=org.openhab.binding.%BindingIdInLowerCase% -Dpackage=org.openhab.binding.%BindingIdInLowerCase% -Dversion=%OpenhabVersion% -DbindingId=%BindingIdInLowerCase% -DbindingIdCamelCase=%BindingIdInCamelCase% -DvendorName=openHAB -Dnamespace=org.openhab -Dauthor="%Author%" -DgithubUser="%GithubUser%" + +COPY ..\src\etc\NOTICE org.openhab.binding.%BindingIdInLowerCase%\ + +:: temporary fix +:: replace ${project.version} by ${ohc.version} in src/main/feature/feature.xml +@powershell -command "(Get-Content org.openhab.binding.$env:BindingIdInLowerCase/src/main/feature/feature.xml).replace('-core/${project.version}', '-core/${ohc.version}') | Set-Content org.openhab.binding.$env:BindingIdInLowerCase/src/main/feature/feature.xml" + +(SET BindingIdInLowerCase=) +(SET BindingIdInCamelCase=) +(SET Author=) +(SET GithubUser=) + +GOTO:EOF + +:LoCase +:: Subroutine to convert a variable VALUE to all lower case. +:: The argument for this subroutine is the variable NAME. +FOR %%i IN ("A=a" "B=b" "C=c" "D=d" "E=e" "F=f" "G=g" "H=h" "I=i" "J=j" "K=k" "L=l" "M=m" "N=n" "O=o" "P=p" "Q=q" "R=r" "S=s" "T=t" "U=u" "V=v" "W=w" "X=x" "Y=y" "Z=z") DO CALL SET "%1=%%%1:%%~i%%" +GOTO:EOF + +ENDLOCAL diff --git a/bundles/org.openhab.binding.adorne/pom.xml b/bundles/org.openhab.binding.adorne/pom.xml index c30d3bfb3f206..7a66d3882981e 100644 --- a/bundles/org.openhab.binding.adorne/pom.xml +++ b/bundles/org.openhab.binding.adorne/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.adorne/src/main/java/org/openhab/binding/adorne/internal/handler/AdorneDimmerHandler.java b/bundles/org.openhab.binding.adorne/src/main/java/org/openhab/binding/adorne/internal/handler/AdorneDimmerHandler.java index 187453d0c2f47..ce5b0506fabbb 100644 --- a/bundles/org.openhab.binding.adorne/src/main/java/org/openhab/binding/adorne/internal/handler/AdorneDimmerHandler.java +++ b/bundles/org.openhab.binding.adorne/src/main/java/org/openhab/binding/adorne/internal/handler/AdorneDimmerHandler.java @@ -95,5 +95,4 @@ public void refresh() { super.refresh(); refreshBrightness(); } - } diff --git a/bundles/org.openhab.binding.adorne/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.adorne/src/main/resources/ESH-INF/thing/thing-types.xml index 417a8cda5d012..02f299343d151 100644 --- a/bundles/org.openhab.binding.adorne/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.adorne/src/main/resources/ESH-INF/thing/thing-types.xml @@ -6,14 +6,14 @@ - + Controls an Adorne switch or outlet. - + @@ -25,15 +25,15 @@ - + Controls an Adorne dimmer switch. - - + + diff --git a/bundles/org.openhab.binding.airquality/pom.xml b/bundles/org.openhab.binding.airquality/pom.xml index 44da3ac2600ff..5095205d28d13 100644 --- a/bundles/org.openhab.binding.airquality/pom.xml +++ b/bundles/org.openhab.binding.airquality/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.airquality/src/main/feature/feature.xml b/bundles/org.openhab.binding.airquality/src/main/feature/feature.xml index 6e9f744f2a713..24cc88f1acbd7 100644 --- a/bundles/org.openhab.binding.airquality/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.airquality/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.airquality/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.airquality/${project.version} + diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityBindingConstants.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityBindingConstants.java index 65bb101bf3aa8..d9636bbea9c57 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityBindingConstants.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityBindingConstants.java @@ -72,5 +72,4 @@ public class AirQualityBindingConstants { public static final Unit API_TEMPERATURE_UNIT = SIUnits.CELSIUS; public static final Unit API_HUMIDITY_UNIT = SmartHomeUnits.PERCENT; public static final Unit API_PRESSURE_UNIT = HECTO(SIUnits.PASCAL); - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityConfiguration.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityConfiguration.java index 7bb3253d21042..67eeca388490f 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityConfiguration.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityConfiguration.java @@ -26,5 +26,4 @@ public class AirQualityConfiguration { public String location; public Integer stationId; public Integer refresh; - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityHandlerFactory.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityHandlerFactory.java index d7e4ec691a23d..88df58ebc64e4 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityHandlerFactory.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/AirQualityHandlerFactory.java @@ -51,5 +51,4 @@ protected ThingHandler createHandler(Thing thing) { return null; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/discovery/AirQualityDiscoveryService.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/discovery/AirQualityDiscoveryService.java index 6f603d8d4697f..de0a1418c64bd 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/discovery/AirQualityDiscoveryService.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/discovery/AirQualityDiscoveryService.java @@ -125,5 +125,4 @@ protected void setLocationProvider(LocationProvider locationProvider) { protected void unsetLocationProvider(LocationProvider locationProvider) { this.locationProvider = null; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/handler/AirQualityHandler.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/handler/AirQualityHandler.java index 10af8f9eabd97..109635f64e643 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/handler/AirQualityHandler.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/handler/AirQualityHandler.java @@ -318,5 +318,4 @@ public static Object getValue(String channelId, AirQualityJsonResponse data) thr return null; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonCity.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonCity.java index ec595de9212f8..0b04d9da20190 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonCity.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonCity.java @@ -45,5 +45,4 @@ public String getGeo() { } return String.join(",", list); } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonData.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonData.java index ef4ff8e22fd90..300d4c7c46350 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonData.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonData.java @@ -130,5 +130,4 @@ public String getAqiDescription() { public String getDominentPol() { return dominentpol; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonIaqi.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonIaqi.java index b2f8b550975b5..21bb21efe7477 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonIaqi.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonIaqi.java @@ -84,5 +84,4 @@ public BigDecimal getH() { public BigDecimal getW() { return wind.getValue(); } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonResponse.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonResponse.java index cf85c87ed7263..4a4bc0f4b346c 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonResponse.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonResponse.java @@ -34,5 +34,4 @@ public String getStatus() { public AirQualityJsonData getData() { return data; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonTime.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonTime.java index c7a008ef419c1..9624f504f793d 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonTime.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/AirQualityJsonTime.java @@ -42,5 +42,4 @@ public ZonedDateTime getObservationTime() throws Exception { ZonedDateTime observationTime = ZonedDateTime.parse(fullString); return observationTime; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/Attribute.java b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/Attribute.java index d1b358d8ea0c4..bc1b4f25f7291 100644 --- a/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/Attribute.java +++ b/bundles/org.openhab.binding.airquality/src/main/java/org/openhab/binding/airquality/internal/json/Attribute.java @@ -28,5 +28,4 @@ public String getName() { public void setName(String name) { this.name = name; } - } diff --git a/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/binding/binding.xml index 4c752d959df99..676f6db35c6ff 100644 --- a/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Air Quality Binding Measure Air Quality Index and details about pollution particles for a given location diff --git a/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/thing/thing-types.xml index e687504542d88..f382283411ce3 100644 --- a/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.airquality/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -7,27 +8,29 @@ - Provides various air quality data from the World Air Quality Project. - In order to receive the data, you must register an account on http://aqicn.org/data-platform/token/ and get your API token. + Provides various air quality data from the World Air Quality Project. + In order to receive the data, you + must register an account on http://aqicn.org/data-platform/token/ and get your API + token. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -130,7 +133,7 @@ Location of the measuring station Station Location - + @@ -170,9 +173,9 @@ Current humidity Humidity - + - + String @@ -180,4 +183,3 @@ - diff --git a/bundles/org.openhab.binding.airvisualnode/pom.xml b/bundles/org.openhab.binding.airvisualnode/pom.xml index e60c73277e9fc..d1de6590b1bdb 100644 --- a/bundles/org.openhab.binding.airvisualnode/pom.xml +++ b/bundles/org.openhab.binding.airvisualnode/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/feature/feature.xml b/bundles/org.openhab.binding.airvisualnode/src/main/feature/feature.xml index 36da7d2e34811..66adc39bd0085 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.airvisualnode/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.samba.jcifs/jcifs/1.3.17 - mvn:org.openhab.addons.bundles/org.openhab.binding.airvisualnode/${project.version} - + + openhab-runtime-base + mvn:org.samba.jcifs/jcifs/1.3.17 + mvn:org.openhab.addons.bundles/org.openhab.binding.airvisualnode/${project.version} + diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/AirVisualNodeBindingConstants.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/AirVisualNodeBindingConstants.java index 9d6a4f13a05e8..80be5560c0d40 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/AirVisualNodeBindingConstants.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/AirVisualNodeBindingConstants.java @@ -53,8 +53,7 @@ public class AirVisualNodeBindingConstants { .unmodifiableSet(new HashSet<>(Arrays.asList(THING_TYPE_AVNODE))); // List of all supported Channel ids - public static final Set SUPPORTED_CHANNEL_IDS = Collections - .unmodifiableSet(new HashSet<>(Arrays.asList(CHANNEL_CO2, CHANNEL_HUMIDITY, CHANNEL_AQI_US, - CHANNEL_PM_25, CHANNEL_TEMP_CELSIUS, CHANNEL_BATTERY_LEVEL, - CHANNEL_WIFI_STRENGTH, CHANNEL_TIMESTAMP, CHANNEL_USED_MEMORY))); + public static final Set SUPPORTED_CHANNEL_IDS = Collections.unmodifiableSet(new HashSet<>( + Arrays.asList(CHANNEL_CO2, CHANNEL_HUMIDITY, CHANNEL_AQI_US, CHANNEL_PM_25, CHANNEL_TEMP_CELSIUS, + CHANNEL_BATTERY_LEVEL, CHANNEL_WIFI_STRENGTH, CHANNEL_TIMESTAMP, CHANNEL_USED_MEMORY))); } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/discovery/AirVisualNodeDiscoveryService.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/discovery/AirVisualNodeDiscoveryService.java index 0a2aa98653070..6e68cfb620660 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/discovery/AirVisualNodeDiscoveryService.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/discovery/AirVisualNodeDiscoveryService.java @@ -129,5 +129,4 @@ private void scan() { } } } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/handler/AirVisualNodeHandler.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/handler/AirVisualNodeHandler.java index b99a34f33c639..c1e2d6aee3952 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/handler/AirVisualNodeHandler.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/handler/AirVisualNodeHandler.java @@ -12,6 +12,15 @@ */ package org.openhab.binding.airvisualnode.internal.handler; +import static org.eclipse.smarthome.core.library.unit.MetricPrefix.MICRO; +import static org.eclipse.smarthome.core.library.unit.SIUnits.CELSIUS; +import static org.eclipse.smarthome.core.library.unit.SIUnits.CUBIC_METRE; +import static org.eclipse.smarthome.core.library.unit.SIUnits.GRAM; +import static org.eclipse.smarthome.core.library.unit.SmartHomeUnits.ONE; +import static org.eclipse.smarthome.core.library.unit.SmartHomeUnits.PARTS_PER_MILLION; +import static org.eclipse.smarthome.core.library.unit.SmartHomeUnits.PERCENT; +import static org.openhab.binding.airvisualnode.internal.AirVisualNodeBindingConstants.*; + import java.io.IOException; import java.math.BigDecimal; import java.nio.charset.StandardCharsets; @@ -27,14 +36,6 @@ import org.eclipse.smarthome.core.library.types.DateTimeType; import org.eclipse.smarthome.core.library.types.DecimalType; import org.eclipse.smarthome.core.library.types.QuantityType; -import static org.eclipse.smarthome.core.library.unit.SIUnits.CELSIUS; -import static org.eclipse.smarthome.core.library.unit.SIUnits.GRAM; -import static org.eclipse.smarthome.core.library.unit.SIUnits.CUBIC_METRE; -import static org.eclipse.smarthome.core.library.unit.SmartHomeUnits.ONE; -import static org.eclipse.smarthome.core.library.unit.SmartHomeUnits.PERCENT; -import static org.openhab.binding.airvisualnode.internal.AirVisualNodeBindingConstants.*; -import static org.eclipse.smarthome.core.library.unit.SmartHomeUnits.PARTS_PER_MILLION; -import static org.eclipse.smarthome.core.library.unit.MetricPrefix.MICRO; import org.eclipse.smarthome.core.thing.Channel; import org.eclipse.smarthome.core.thing.ChannelUID; import org.eclipse.smarthome.core.thing.Thing; @@ -196,7 +197,8 @@ private State getChannelState(String channelId, NodeData nodeData) { if (CHANNEL_BATTERY_LEVEL.equals(channelId)) { state = new DecimalType(BigDecimal.valueOf(nodeData.getStatus().getBattery()).longValue()); } else if (CHANNEL_WIFI_STRENGTH.equals(channelId)) { - state = new DecimalType(BigDecimal.valueOf(Math.max(0, nodeData.getStatus().getWifiStrength()-1)).longValue()); + state = new DecimalType( + BigDecimal.valueOf(Math.max(0, nodeData.getStatus().getWifiStrength() - 1)).longValue()); } else { // Handle binding-specific channel IDs switch (channelId) { @@ -211,7 +213,8 @@ private State getChannelState(String channelId, NodeData nodeData) { break; case CHANNEL_PM_25: // PM2.5 is in ug/m3 - state = new QuantityType<>(nodeData.getMeasurements().getPm25Ugm3(), MICRO(GRAM).divide(CUBIC_METRE)); + state = new QuantityType<>(nodeData.getMeasurements().getPm25Ugm3(), + MICRO(GRAM).divide(CUBIC_METRE)); break; case CHANNEL_TEMP_CELSIUS: state = new QuantityType<>(nodeData.getMeasurements().getTemperatureC(), CELSIUS); @@ -237,5 +240,4 @@ private State getChannelState(String channelId, NodeData nodeData) { return state; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/DateAndTime.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/DateAndTime.java index f8e58b2b64323..cd9bdbfd544d4 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/DateAndTime.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/DateAndTime.java @@ -52,5 +52,4 @@ public String getTimestamp() { public void setTimestamp(String timestamp) { this.timestamp = timestamp; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Measurements.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Measurements.java index 8d0a9bd93000d..62418e13d9c00 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Measurements.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Measurements.java @@ -35,8 +35,8 @@ public class Measurements { private float temperatureF; private int vocPpb; - public Measurements(int co2Ppm, int humidityRH, int pm25AQICN, int pm25AQIUS, float pm25Ugm3, - float temperatureC, float temperatureF, int vocPpb) { + public Measurements(int co2Ppm, int humidityRH, int pm25AQICN, int pm25AQIUS, float pm25Ugm3, float temperatureC, + float temperatureF, int vocPpb) { this.co2Ppm = co2Ppm; this.humidityRH = humidityRH; this.pm25AQICN = pm25AQICN; @@ -110,5 +110,4 @@ public int getVocPpb() { public void setVocPpb(int vocPpb) { this.vocPpb = vocPpb; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/NodeData.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/NodeData.java index be3aa436a129e..31175e5a60d7b 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/NodeData.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/NodeData.java @@ -73,5 +73,4 @@ public Status getStatus() { public void setStatus(Status status) { this.status = status; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSaving.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSaving.java index ed201f3b34e86..5a9dd81b89cfd 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSaving.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSaving.java @@ -13,6 +13,7 @@ package org.openhab.binding.airvisualnode.internal.json; import java.util.List; + import com.google.gson.annotations.SerializedName; /** @@ -57,5 +58,4 @@ public String getMode() { public void setMode(String mode) { this.mode = mode; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTime.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTime.java index 9871d0a02be1f..bee3ff3ee97e6 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTime.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTime.java @@ -42,5 +42,4 @@ public int getMinute() { public void setMinute(int minute) { this.minute = minute; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTimeSlot.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTimeSlot.java index 3b3ac553a1b4a..97701c2ea269c 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTimeSlot.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/PowerSavingTimeSlot.java @@ -42,5 +42,4 @@ public int getHourOn() { public void setHourOn(int hourOn) { this.hourOn = hourOn; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Settings.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Settings.java index 45643d3e6afec..b8294b1a5936d 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Settings.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Settings.java @@ -154,5 +154,4 @@ public String getTimezone() { public void setTimezone(String timezone) { this.timezone = timezone; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Status.java b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Status.java index 1f53ac377ca8f..f48c6e2dadd92 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Status.java +++ b/bundles/org.openhab.binding.airvisualnode/src/main/java/org/openhab/binding/airvisualnode/internal/json/Status.java @@ -113,5 +113,4 @@ public int getWifiStrength() { public void setWifiStrength(int wifiStrength) { this.wifiStrength = wifiStrength; } - } diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/binding/binding.xml index e07a27374a3a6..9ff5fb3d00c75 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - AirVisual Node Binding diff --git a/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/thing/thing-types.xml index d017f5b8c86d1..7fc108b8f807d 100644 --- a/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.airvisualnode/src/main/resources/ESH-INF/thing/thing-types.xml @@ -11,15 +11,15 @@ - - - - - - - - - + + + + + + + + + @@ -65,7 +65,7 @@ CO₂ level, ppm CarbonDioxide - + @@ -73,21 +73,21 @@ Humidity, % Humidity - + Number:Dimensionless Air Quality Index (US) - + Number:Density PM2.5 level, µg/m³ - + @@ -95,21 +95,21 @@ Current temperature Temperature - + DateTime Status timestamp - + Number Used memory - + diff --git a/bundles/org.openhab.binding.allplay/pom.xml b/bundles/org.openhab.binding.allplay/pom.xml index bf7c024df9540..da42815acb55b 100644 --- a/bundles/org.openhab.binding.allplay/pom.xml +++ b/bundles/org.openhab.binding.allplay/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.allplay/src/main/feature/feature.xml b/bundles/org.openhab.binding.allplay/src/main/feature/feature.xml index 5215b1397b52a..1660ef9ae98eb 100644 --- a/bundles/org.openhab.binding.allplay/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.allplay/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.allplay/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.allplay/${project.version} + diff --git a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayAudioSink.java b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayAudioSink.java index f33e5c8abae4d..311c0f7ea6c68 100644 --- a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayAudioSink.java +++ b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayAudioSink.java @@ -145,5 +145,4 @@ public AllPlayCallbackException(String message) { super(message); } } - } diff --git a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayHandlerFactory.java b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayHandlerFactory.java index 62938017785e1..e82e496b048eb 100644 --- a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayHandlerFactory.java +++ b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/AllPlayHandlerFactory.java @@ -158,5 +158,4 @@ private String assembleCallbackUrl() { } return callbackUrl; } - } diff --git a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/discovery/AllPlaySpeakerDiscoveryService.java b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/discovery/AllPlaySpeakerDiscoveryService.java index 0f1c22ab8268e..68a69f6cc667c 100644 --- a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/discovery/AllPlaySpeakerDiscoveryService.java +++ b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/discovery/AllPlaySpeakerDiscoveryService.java @@ -106,7 +106,5 @@ public void onSpeakerAnnounced(Speaker speaker) { DiscoveryResult discoveryResult = DiscoveryResultBuilder.create(thingUID).withProperties(properties) .withRepresentationProperty(AllPlayBindingConstants.DEVICE_ID).withLabel(speaker.getName()).build(); thingDiscovered(discoveryResult); - } - } diff --git a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/handler/AllPlayHandler.java b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/handler/AllPlayHandler.java index 85f7985bfa4e2..1116049b916ad 100644 --- a/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/handler/AllPlayHandler.java +++ b/bundles/org.openhab.binding.allplay/src/main/java/org/openhab/binding/allplay/internal/handler/AllPlayHandler.java @@ -398,7 +398,6 @@ public void onPlaylistChanged() { public void onLoopModeChanged(LoopMode loopMode) { logger.debug("{}: LoopMode changed to {}", speaker.getName(), loopMode); updateState(LOOP_MODE, new StringType(loopMode.toString())); - } @Override diff --git a/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/binding/binding.xml index b8c2197b9cc8a..7f5520336ffac 100644 --- a/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - AllPlay Binding diff --git a/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/thing/thing-types.xml index a2b3e6a9cd593..33f8a72e3ed64 100644 --- a/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.allplay/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,28 +9,28 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.amazondashbutton/pom.xml b/bundles/org.openhab.binding.amazondashbutton/pom.xml index 689eaf48fbbe9..0370d3f786436 100644 --- a/bundles/org.openhab.binding.amazondashbutton/pom.xml +++ b/bundles/org.openhab.binding.amazondashbutton/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.amazondashbutton/src/main/feature/feature.xml b/bundles/org.openhab.binding.amazondashbutton/src/main/feature/feature.xml index 1947c72512e69..1c51e2dda30d6 100644 --- a/bundles/org.openhab.binding.amazondashbutton/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.amazondashbutton/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-runtime-jna - mvn:org.openhab.addons.bundles/org.openhab.binding.amazondashbutton/${project.version} - + + openhab-runtime-base + openhab-runtime-jna + mvn:org.openhab.addons.bundles/org.openhab.binding.amazondashbutton/${project.version} + diff --git a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/AmazonDashButtonBindingConstants.java b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/AmazonDashButtonBindingConstants.java index f0bbd0088c90d..5ca721a602dc3 100644 --- a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/AmazonDashButtonBindingConstants.java +++ b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/AmazonDashButtonBindingConstants.java @@ -36,5 +36,4 @@ public class AmazonDashButtonBindingConstants { public static final String PROPERTY_MAC_ADDRESS = "macAddress"; public static final String PROPERTY_NETWORK_INTERFACE_NAME = "pcapNetworkInterfaceName"; public static final String PROPERTY_PACKET_INTERVAL = "packetInterval"; - } diff --git a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/config/AmazonDashButtonConfigOptionProvider.java b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/config/AmazonDashButtonConfigOptionProvider.java index 8ed12afcac3cc..82a362bdbce7f 100644 --- a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/config/AmazonDashButtonConfigOptionProvider.java +++ b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/config/AmazonDashButtonConfigOptionProvider.java @@ -96,5 +96,4 @@ private String getLabel(PcapNetworkInterfaceWrapper pcapNetworkInterface) { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/discovery/AmazonDashButtonDiscoveryService.java b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/discovery/AmazonDashButtonDiscoveryService.java index 736966477d2f7..a324daac25186 100644 --- a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/discovery/AmazonDashButtonDiscoveryService.java +++ b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/discovery/AmazonDashButtonDiscoveryService.java @@ -230,5 +230,4 @@ public void packetCaptured(MacAddress macAddress) { logger.debug("Started capturing for {}.", interfaceName); } } - } diff --git a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceService.java b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceService.java index 7808850fb1ad8..5ef84a0e5899c 100644 --- a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceService.java +++ b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceService.java @@ -188,5 +188,4 @@ private void updatePollingState() { future = scheduler.scheduleWithFixedDelay(pollingRunnable, 0, 2, TimeUnit.SECONDS); } } - } diff --git a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceWrapper.java b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceWrapper.java index 1f73fd9876436..40037fab737c9 100644 --- a/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceWrapper.java +++ b/bundles/org.openhab.binding.amazondashbutton/src/main/java/org/openhab/binding/amazondashbutton/internal/pcap/PcapNetworkInterfaceWrapper.java @@ -92,5 +92,4 @@ public int hashCode() { public String toString() { return pcapNetworkInterface.toString(); } - } diff --git a/bundles/org.openhab.binding.amazonechocontrol/pom.xml b/bundles/org.openhab.binding.amazonechocontrol/pom.xml index e9966b098970a..088677af9f5a2 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/pom.xml +++ b/bundles/org.openhab.binding.amazonechocontrol/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/feature/feature.xml b/bundles/org.openhab.binding.amazonechocontrol/src/main/feature/feature.xml index 038bb5321e4ce..8b54251981d87 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.amazonechocontrol/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.amazonechocontrol/${project.version} + diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlBindingConstants.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlBindingConstants.java index c1229f4e94b57..9cef8ad28a221 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlBindingConstants.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlBindingConstants.java @@ -1,112 +1,112 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.amazonechocontrol.internal; - -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; - -/** - * The {@link AmazonEchoControlBindingConstants} class defines common constants, which are - * used across the whole binding. - * - * @author Michael Geramb - Initial contribution - */ -@NonNullByDefault -public class AmazonEchoControlBindingConstants { - - public static final String BINDING_ID = "amazonechocontrol"; - public static final String BINDING_NAME = "Amazon Echo Control"; - - // List of all Thing Type UIDs - public static final ThingTypeUID THING_TYPE_ACCOUNT = new ThingTypeUID(BINDING_ID, "account"); - public static final ThingTypeUID THING_TYPE_ECHO = new ThingTypeUID(BINDING_ID, "echo"); - public static final ThingTypeUID THING_TYPE_ECHO_SPOT = new ThingTypeUID(BINDING_ID, "echospot"); - public static final ThingTypeUID THING_TYPE_ECHO_SHOW = new ThingTypeUID(BINDING_ID, "echoshow"); - public static final ThingTypeUID THING_TYPE_ECHO_WHA = new ThingTypeUID(BINDING_ID, "wha"); - - public static final ThingTypeUID THING_TYPE_FLASH_BRIEFING_PROFILE = new ThingTypeUID(BINDING_ID, - "flashbriefingprofile"); - - public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>( - Arrays.asList(THING_TYPE_ACCOUNT, THING_TYPE_ECHO, THING_TYPE_ECHO_SPOT, THING_TYPE_ECHO_SHOW, - THING_TYPE_ECHO_WHA, THING_TYPE_FLASH_BRIEFING_PROFILE)); - - // List of all Channel ids - public static final String CHANNEL_PLAYER = "player"; - public static final String CHANNEL_VOLUME = "volume"; - public static final String CHANNEL_EQUALIZER_TREBLE = "equalizerTreble"; - public static final String CHANNEL_EQUALIZER_MIDRANGE = "equalizerMidrange"; - public static final String CHANNEL_EQUALIZER_BASS = "equalizerBass"; - public static final String CHANNEL_ERROR = "error"; - public static final String CHANNEL_SHUFFLE = "shuffle"; - public static final String CHANNEL_LOOP = "loop"; - public static final String CHANNEL_IMAGE_URL = "imageUrl"; - public static final String CHANNEL_TITLE = "title"; - public static final String CHANNEL_SUBTITLE1 = "subtitle1"; - public static final String CHANNEL_SUBTITLE2 = "subtitle2"; - public static final String CHANNEL_PROVIDER_DISPLAY_NAME = "providerDisplayName"; - public static final String CHANNEL_BLUETOOTH_MAC = "bluetoothMAC"; - public static final String CHANNEL_BLUETOOTH = "bluetooth"; - public static final String CHANNEL_BLUETOOTH_DEVICE_NAME = "bluetoothDeviceName"; - public static final String CHANNEL_RADIO_STATION_ID = "radioStationId"; - public static final String CHANNEL_RADIO = "radio"; - public static final String CHANNEL_AMAZON_MUSIC_TRACK_ID = "amazonMusicTrackId"; - public static final String CHANNEL_AMAZON_MUSIC = "amazonMusic"; - public static final String CHANNEL_AMAZON_MUSIC_PLAY_LIST_ID = "amazonMusicPlayListId"; - public static final String CHANNEL_TEXT_TO_SPEECH = "textToSpeech"; - public static final String CHANNEL_TEXT_TO_SPEECH_VOLUME = "textToSpeechVolume"; - public static final String CHANNEL_REMIND = "remind"; - public static final String CHANNEL_PLAY_ALARM_SOUND = "playAlarmSound"; - public static final String CHANNEL_START_ROUTINE = "startRoutine"; - public static final String CHANNEL_MUSIC_PROVIDER_ID = "musicProviderId"; - public static final String CHANNEL_PLAY_MUSIC_VOICE_COMMAND = "playMusicVoiceCommand"; - public static final String CHANNEL_START_COMMAND = "startCommand"; - public static final String CHANNEL_LAST_VOICE_COMMAND = "lastVoiceCommand"; - public static final String CHANNEL_MEDIA_PROGRESS = "mediaProgress"; - public static final String CHANNEL_MEDIA_LENGTH = "mediaLength"; - public static final String CHANNEL_MEDIA_PROGRESS_TIME = "mediaProgressTime"; - public static final String CHANNEL_ASCENDING_ALARM = "ascendingAlarm"; - public static final String CHANNEL_NOTIFICATION_VOLUME = "notificationVolume"; - public static final String CHANNEL_NEXT_REMINDER = "nextReminder"; - public static final String CHANNEL_NEXT_ALARM = "nextAlarm"; - public static final String CHANNEL_NEXT_MUSIC_ALARM = "nextMusicAlarm"; - public static final String CHANNEL_NEXT_TIMER = "nextTimer"; - - public static final String CHANNEL_SAVE = "save"; - public static final String CHANNEL_ACTIVE = "active"; - public static final String CHANNEL_PLAY_ON_DEVICE = "playOnDevice"; - - // List of channel Type UIDs - public static final ChannelTypeUID CHANNEL_TYPE_BLUETHOOTH_MAC = new ChannelTypeUID(BINDING_ID, "bluetoothMAC"); - public static final ChannelTypeUID CHANNEL_TYPE_AMAZON_MUSIC_PLAY_LIST_ID = new ChannelTypeUID(BINDING_ID, - "amazonMusicPlayListId"); - public static final ChannelTypeUID CHANNEL_TYPE_PLAY_ALARM_SOUND = new ChannelTypeUID(BINDING_ID, "playAlarmSound"); - public static final ChannelTypeUID CHANNEL_TYPE_CHANNEL_PLAY_ON_DEVICE = new ChannelTypeUID(BINDING_ID, - "playOnDevice"); - public static final ChannelTypeUID CHANNEL_TYPE_MUSIC_PROVIDER_ID = new ChannelTypeUID(BINDING_ID, - "musicProviderId"); - public static final ChannelTypeUID CHANNEL_TYPE_START_COMMAND = new ChannelTypeUID(BINDING_ID, "startCommand"); - - // List of all Properties - public static final String DEVICE_PROPERTY_SERIAL_NUMBER = "serialNumber"; - public static final String DEVICE_PROPERTY_FAMILY = "deviceFamily"; - public static final String DEVICE_PROPERTY_FLASH_BRIEFING_PROFILE = "configurationJson"; - - // Other - public static final String FLASH_BRIEFING_COMMAND_PREFIX = "FlashBriefing."; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.amazonechocontrol.internal; + +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; + +/** + * The {@link AmazonEchoControlBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Michael Geramb - Initial contribution + */ +@NonNullByDefault +public class AmazonEchoControlBindingConstants { + + public static final String BINDING_ID = "amazonechocontrol"; + public static final String BINDING_NAME = "Amazon Echo Control"; + + // List of all Thing Type UIDs + public static final ThingTypeUID THING_TYPE_ACCOUNT = new ThingTypeUID(BINDING_ID, "account"); + public static final ThingTypeUID THING_TYPE_ECHO = new ThingTypeUID(BINDING_ID, "echo"); + public static final ThingTypeUID THING_TYPE_ECHO_SPOT = new ThingTypeUID(BINDING_ID, "echospot"); + public static final ThingTypeUID THING_TYPE_ECHO_SHOW = new ThingTypeUID(BINDING_ID, "echoshow"); + public static final ThingTypeUID THING_TYPE_ECHO_WHA = new ThingTypeUID(BINDING_ID, "wha"); + + public static final ThingTypeUID THING_TYPE_FLASH_BRIEFING_PROFILE = new ThingTypeUID(BINDING_ID, + "flashbriefingprofile"); + + public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>( + Arrays.asList(THING_TYPE_ACCOUNT, THING_TYPE_ECHO, THING_TYPE_ECHO_SPOT, THING_TYPE_ECHO_SHOW, + THING_TYPE_ECHO_WHA, THING_TYPE_FLASH_BRIEFING_PROFILE)); + + // List of all Channel ids + public static final String CHANNEL_PLAYER = "player"; + public static final String CHANNEL_VOLUME = "volume"; + public static final String CHANNEL_EQUALIZER_TREBLE = "equalizerTreble"; + public static final String CHANNEL_EQUALIZER_MIDRANGE = "equalizerMidrange"; + public static final String CHANNEL_EQUALIZER_BASS = "equalizerBass"; + public static final String CHANNEL_ERROR = "error"; + public static final String CHANNEL_SHUFFLE = "shuffle"; + public static final String CHANNEL_LOOP = "loop"; + public static final String CHANNEL_IMAGE_URL = "imageUrl"; + public static final String CHANNEL_TITLE = "title"; + public static final String CHANNEL_SUBTITLE1 = "subtitle1"; + public static final String CHANNEL_SUBTITLE2 = "subtitle2"; + public static final String CHANNEL_PROVIDER_DISPLAY_NAME = "providerDisplayName"; + public static final String CHANNEL_BLUETOOTH_MAC = "bluetoothMAC"; + public static final String CHANNEL_BLUETOOTH = "bluetooth"; + public static final String CHANNEL_BLUETOOTH_DEVICE_NAME = "bluetoothDeviceName"; + public static final String CHANNEL_RADIO_STATION_ID = "radioStationId"; + public static final String CHANNEL_RADIO = "radio"; + public static final String CHANNEL_AMAZON_MUSIC_TRACK_ID = "amazonMusicTrackId"; + public static final String CHANNEL_AMAZON_MUSIC = "amazonMusic"; + public static final String CHANNEL_AMAZON_MUSIC_PLAY_LIST_ID = "amazonMusicPlayListId"; + public static final String CHANNEL_TEXT_TO_SPEECH = "textToSpeech"; + public static final String CHANNEL_TEXT_TO_SPEECH_VOLUME = "textToSpeechVolume"; + public static final String CHANNEL_REMIND = "remind"; + public static final String CHANNEL_PLAY_ALARM_SOUND = "playAlarmSound"; + public static final String CHANNEL_START_ROUTINE = "startRoutine"; + public static final String CHANNEL_MUSIC_PROVIDER_ID = "musicProviderId"; + public static final String CHANNEL_PLAY_MUSIC_VOICE_COMMAND = "playMusicVoiceCommand"; + public static final String CHANNEL_START_COMMAND = "startCommand"; + public static final String CHANNEL_LAST_VOICE_COMMAND = "lastVoiceCommand"; + public static final String CHANNEL_MEDIA_PROGRESS = "mediaProgress"; + public static final String CHANNEL_MEDIA_LENGTH = "mediaLength"; + public static final String CHANNEL_MEDIA_PROGRESS_TIME = "mediaProgressTime"; + public static final String CHANNEL_ASCENDING_ALARM = "ascendingAlarm"; + public static final String CHANNEL_NOTIFICATION_VOLUME = "notificationVolume"; + public static final String CHANNEL_NEXT_REMINDER = "nextReminder"; + public static final String CHANNEL_NEXT_ALARM = "nextAlarm"; + public static final String CHANNEL_NEXT_MUSIC_ALARM = "nextMusicAlarm"; + public static final String CHANNEL_NEXT_TIMER = "nextTimer"; + + public static final String CHANNEL_SAVE = "save"; + public static final String CHANNEL_ACTIVE = "active"; + public static final String CHANNEL_PLAY_ON_DEVICE = "playOnDevice"; + + // List of channel Type UIDs + public static final ChannelTypeUID CHANNEL_TYPE_BLUETHOOTH_MAC = new ChannelTypeUID(BINDING_ID, "bluetoothMAC"); + public static final ChannelTypeUID CHANNEL_TYPE_AMAZON_MUSIC_PLAY_LIST_ID = new ChannelTypeUID(BINDING_ID, + "amazonMusicPlayListId"); + public static final ChannelTypeUID CHANNEL_TYPE_PLAY_ALARM_SOUND = new ChannelTypeUID(BINDING_ID, "playAlarmSound"); + public static final ChannelTypeUID CHANNEL_TYPE_CHANNEL_PLAY_ON_DEVICE = new ChannelTypeUID(BINDING_ID, + "playOnDevice"); + public static final ChannelTypeUID CHANNEL_TYPE_MUSIC_PROVIDER_ID = new ChannelTypeUID(BINDING_ID, + "musicProviderId"); + public static final ChannelTypeUID CHANNEL_TYPE_START_COMMAND = new ChannelTypeUID(BINDING_ID, "startCommand"); + + // List of all Properties + public static final String DEVICE_PROPERTY_SERIAL_NUMBER = "serialNumber"; + public static final String DEVICE_PROPERTY_FAMILY = "deviceFamily"; + public static final String DEVICE_PROPERTY_FLASH_BRIEFING_PROFILE = "configurationJson"; + + // Other + public static final String FLASH_BRIEFING_COMMAND_PREFIX = "FlashBriefing."; +} diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlHandlerFactory.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlHandlerFactory.java index 47242988769f2..69bb3d816e778 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlHandlerFactory.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/AmazonEchoControlHandlerFactory.java @@ -1,178 +1,177 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.amazonechocontrol.internal; - -import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*; - -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.config.discovery.DiscoveryService; -import org.eclipse.smarthome.core.storage.Storage; -import org.eclipse.smarthome.core.storage.StorageService; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.ThingUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; -import org.openhab.binding.amazonechocontrol.internal.discovery.AmazonEchoDiscovery; -import org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler; -import org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler; -import org.openhab.binding.amazonechocontrol.internal.handler.FlashBriefingProfileHandler; -import org.osgi.framework.ServiceRegistration; -import org.osgi.service.component.ComponentContext; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; -import org.osgi.service.component.annotations.ReferenceCardinality; -import org.osgi.service.component.annotations.ReferencePolicy; -import org.osgi.service.http.HttpService; - -import com.google.gson.Gson; - -/** - * The {@link AmazonEchoControlHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Michael Geramb - Initial contribution - */ -@Component(service = ThingHandlerFactory.class, configurationPid = "binding.amazonechocontrol") -@NonNullByDefault -public class AmazonEchoControlHandlerFactory extends BaseThingHandlerFactory { - - private final Map> discoveryServiceRegistrations = new HashMap<>(); - - @Nullable - HttpService httpService; - @Nullable - StorageService storageService; - @Nullable - BindingServlet bindingServlet; - @Nullable - Gson gson; - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected void activate(ComponentContext componentContext) { - super.activate(componentContext); - HttpService httpService = this.httpService; - if (bindingServlet == null && httpService != null) { - bindingServlet = new BindingServlet(httpService); - } - } - - @Override - protected void deactivate(ComponentContext componentContext) { - BindingServlet bindingServlet = this.bindingServlet; - this.bindingServlet = null; - if (bindingServlet != null) { - bindingServlet.dispose(); - } - super.deactivate(componentContext); - } - - @Override - protected @Nullable ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - - HttpService httpService = this.httpService; - if (httpService == null) { - return null; - } - StorageService storageService = this.storageService; - if (storageService == null) { - return null; - } - Gson gson = this.gson; - if (gson == null) - { - gson = new Gson(); - this.gson = gson; - } - - if (thingTypeUID.equals(THING_TYPE_ACCOUNT)) { - Storage storage = storageService.getStorage(thing.getUID().toString(), - String.class.getClassLoader()); - AccountHandler bridgeHandler = new AccountHandler((Bridge) thing, httpService, storage, gson); - registerDiscoveryService(bridgeHandler); - BindingServlet bindingServlet = this.bindingServlet; - if (bindingServlet != null) { - bindingServlet.addAccountThing(thing); - } - return bridgeHandler; - } - if (thingTypeUID.equals(THING_TYPE_FLASH_BRIEFING_PROFILE)) { - Storage storage = storageService.getStorage(thing.getUID().toString(), - String.class.getClassLoader()); - return new FlashBriefingProfileHandler(thing, storage); - } - if (SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID)) { - return new EchoHandler(thing, gson); - } - return null; - } - - private synchronized void registerDiscoveryService(AccountHandler bridgeHandler) { - AmazonEchoDiscovery discoveryService = new AmazonEchoDiscovery(bridgeHandler); - discoveryService.activate(); - this.discoveryServiceRegistrations.put(bridgeHandler.getThing().getUID(), bundleContext - .registerService(DiscoveryService.class.getName(), discoveryService, new Hashtable<>())); - } - - @Override - protected synchronized void removeHandler(ThingHandler thingHandler) { - if (thingHandler instanceof AccountHandler) { - BindingServlet bindingServlet = this.bindingServlet; - if (bindingServlet != null) { - bindingServlet.removeAccountThing(thingHandler.getThing()); - } - - ServiceRegistration serviceReg = this.discoveryServiceRegistrations - .remove(thingHandler.getThing().getUID()); - if (serviceReg != null) { - // remove discovery service, if bridge handler is removed - AmazonEchoDiscovery service = (AmazonEchoDiscovery) bundleContext.getService(serviceReg.getReference()); - serviceReg.unregister(); - if (service != null) { - service.deactivate(); - } - } - } - } - - @Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.DYNAMIC) - protected void setHttpService(HttpService httpService) { - this.httpService = httpService; - } - - protected void unsetHttpService(HttpService httpService) { - this.httpService = null; - } - - @Reference - protected void setStorageService(StorageService storageService) { - this.storageService = storageService; - } - - protected void unsetStorageService(StorageService storageService) { - this.storageService = null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.amazonechocontrol.internal; + +import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*; + +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.config.discovery.DiscoveryService; +import org.eclipse.smarthome.core.storage.Storage; +import org.eclipse.smarthome.core.storage.StorageService; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.ThingUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.openhab.binding.amazonechocontrol.internal.discovery.AmazonEchoDiscovery; +import org.openhab.binding.amazonechocontrol.internal.handler.AccountHandler; +import org.openhab.binding.amazonechocontrol.internal.handler.EchoHandler; +import org.openhab.binding.amazonechocontrol.internal.handler.FlashBriefingProfileHandler; +import org.osgi.framework.ServiceRegistration; +import org.osgi.service.component.ComponentContext; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; +import org.osgi.service.component.annotations.ReferenceCardinality; +import org.osgi.service.component.annotations.ReferencePolicy; +import org.osgi.service.http.HttpService; + +import com.google.gson.Gson; + +/** + * The {@link AmazonEchoControlHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Michael Geramb - Initial contribution + */ +@Component(service = ThingHandlerFactory.class, configurationPid = "binding.amazonechocontrol") +@NonNullByDefault +public class AmazonEchoControlHandlerFactory extends BaseThingHandlerFactory { + + private final Map> discoveryServiceRegistrations = new HashMap<>(); + + @Nullable + HttpService httpService; + @Nullable + StorageService storageService; + @Nullable + BindingServlet bindingServlet; + @Nullable + Gson gson; + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected void activate(ComponentContext componentContext) { + super.activate(componentContext); + HttpService httpService = this.httpService; + if (bindingServlet == null && httpService != null) { + bindingServlet = new BindingServlet(httpService); + } + } + + @Override + protected void deactivate(ComponentContext componentContext) { + BindingServlet bindingServlet = this.bindingServlet; + this.bindingServlet = null; + if (bindingServlet != null) { + bindingServlet.dispose(); + } + super.deactivate(componentContext); + } + + @Override + protected @Nullable ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + HttpService httpService = this.httpService; + if (httpService == null) { + return null; + } + StorageService storageService = this.storageService; + if (storageService == null) { + return null; + } + Gson gson = this.gson; + if (gson == null) { + gson = new Gson(); + this.gson = gson; + } + + if (thingTypeUID.equals(THING_TYPE_ACCOUNT)) { + Storage storage = storageService.getStorage(thing.getUID().toString(), + String.class.getClassLoader()); + AccountHandler bridgeHandler = new AccountHandler((Bridge) thing, httpService, storage, gson); + registerDiscoveryService(bridgeHandler); + BindingServlet bindingServlet = this.bindingServlet; + if (bindingServlet != null) { + bindingServlet.addAccountThing(thing); + } + return bridgeHandler; + } + if (thingTypeUID.equals(THING_TYPE_FLASH_BRIEFING_PROFILE)) { + Storage storage = storageService.getStorage(thing.getUID().toString(), + String.class.getClassLoader()); + return new FlashBriefingProfileHandler(thing, storage); + } + if (SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID)) { + return new EchoHandler(thing, gson); + } + return null; + } + + private synchronized void registerDiscoveryService(AccountHandler bridgeHandler) { + AmazonEchoDiscovery discoveryService = new AmazonEchoDiscovery(bridgeHandler); + discoveryService.activate(); + this.discoveryServiceRegistrations.put(bridgeHandler.getThing().getUID(), + bundleContext.registerService(DiscoveryService.class.getName(), discoveryService, new Hashtable<>())); + } + + @Override + protected synchronized void removeHandler(ThingHandler thingHandler) { + if (thingHandler instanceof AccountHandler) { + BindingServlet bindingServlet = this.bindingServlet; + if (bindingServlet != null) { + bindingServlet.removeAccountThing(thingHandler.getThing()); + } + + ServiceRegistration serviceReg = this.discoveryServiceRegistrations + .remove(thingHandler.getThing().getUID()); + if (serviceReg != null) { + // remove discovery service, if bridge handler is removed + AmazonEchoDiscovery service = (AmazonEchoDiscovery) bundleContext.getService(serviceReg.getReference()); + serviceReg.unregister(); + if (service != null) { + service.deactivate(); + } + } + } + } + + @Reference(cardinality = ReferenceCardinality.MANDATORY, policy = ReferencePolicy.DYNAMIC) + protected void setHttpService(HttpService httpService) { + this.httpService = httpService; + } + + protected void unsetHttpService(HttpService httpService) { + this.httpService = null; + } + + @Reference + protected void setStorageService(StorageService storageService) { + this.storageService = storageService; + } + + protected void unsetStorageService(StorageService storageService) { + this.storageService = null; + } +} diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/WebSocketConnection.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/WebSocketConnection.java index ec996bfde5a43..5c64e94533afc 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/WebSocketConnection.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/WebSocketConnection.java @@ -409,7 +409,6 @@ public void onWebSocketBinary(byte @Nullable [] data, int offset, int len) { logger.debug("Handling of push notification failed", e); } } - } @Override @@ -426,7 +425,6 @@ public void onWebSocketClose(int code, @Nullable String reason) { public void onWebSocketError(@Nullable Throwable error) { logger.info("Web Socket error", error); WebSocketConnection.this.close(); - } public void sendPing() { @@ -555,7 +553,7 @@ void encode(byte[] data, long b, int offset, int len) { } byte[] encodePing() { - // MSG 0x00000065 0x0e414e47 f 0x00000001 0xbc2fbb5f 0x00000062 PIN� ��� ��RegularFABE + // MSG 0x00000065 0x0e414e47 f 0x00000001 0xbc2fbb5f 0x00000062 this.messageId++; String msg = "MSG 0x00000065 "; // Message-type and Channel = CHANNEL_FOR_HEARTBEAT; msg += this.encodeNumber(this.messageId) + " f 0x00000001 "; diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandler.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandler.java index b24bb64594f48..1c947956975b4 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandler.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandler.java @@ -55,6 +55,5 @@ protected ChannelHandler(IAmazonThingHandler thingHandler, Gson gson) { protected @Nullable T parseJson(String json, Class type) throws JsonSyntaxException { return gson.fromJson(json, type); - } } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandlerSendMessage.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandlerSendMessage.java index 75893ec405310..5d1be525be3bd 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandlerSendMessage.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/channelhandler/ChannelHandlerSendMessage.java @@ -124,5 +124,4 @@ static class Payload { public @Nullable String text; } } - } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/handler/AccountHandler.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/handler/AccountHandler.java index 5f70a4216f7e1..b7ef5d9207156 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/handler/AccountHandler.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/handler/AccountHandler.java @@ -436,7 +436,6 @@ private void refreshNotifications(@Nullable JsonCommandPayloadPushNotificationCh for (EchoHandler child : echoHandlers) { child.updateNotifications(timeStamp, timeStampNow, pushPayload, notifications); } - } private void refreshData() { @@ -699,7 +698,6 @@ private void updateFlashBriefingProfiles(Connection currentConnection) { } catch (HttpException | JsonSyntaxException | IOException | URISyntaxException | ConnectionException e) { logger.warn("get flash briefing profiles fails", e); } - } @Override diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonActivities.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonActivities.java index 7892ce1300ce3..321ab282bd21d 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonActivities.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonActivities.java @@ -49,7 +49,6 @@ public static class SourceDeviceId { public @Nullable String deviceAccountId; public @Nullable String deviceType; public @Nullable String serialNumber; - } public static class Description { @@ -57,7 +56,6 @@ public static class Description { public @Nullable String summary; public @Nullable String firstUtteranceId; public @Nullable String firstStreamId; - } public Description ParseDescription() { diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonAnnouncementContent.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonAnnouncementContent.java index 9d94cd5d84f6d..c5a0386ea7834 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonAnnouncementContent.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonAnnouncementContent.java @@ -31,12 +31,10 @@ public class JsonAnnouncementContent { public static class Display { public @Nullable String title; public @Nullable String body; - } public static class Speak { public String type = "text"; public @Nullable String value; - } } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonBluetoothStates.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonBluetoothStates.java index db8d256ba6770..fef529fe76b39 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonBluetoothStates.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonBluetoothStates.java @@ -50,7 +50,6 @@ public static class PairedDevice { public @Nullable String deviceClass; public @Nullable String friendlyName; public @Nullable String @Nullable [] profiles; - } public static class BluetoothState { @@ -60,6 +59,5 @@ public static class BluetoothState { public boolean gadgetPaired; public boolean online; public @Nullable PairedDevice @Nullable [] pairedDeviceList; - } } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonCommandPayloadPushAudioPlayerState.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonCommandPayloadPushAudioPlayerState.java index d33188b4372a4..0382ab2dcf578 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonCommandPayloadPushAudioPlayerState.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonCommandPayloadPushAudioPlayerState.java @@ -27,5 +27,4 @@ public class JsonCommandPayloadPushAudioPlayerState extends JsonCommandPayloadPu public @Nullable Boolean error; public @Nullable String audioPlayerState; public @Nullable String errorMessage; - } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonDevices.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonDevices.java index 37e074e3e4112..6d6733ff1d839 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonDevices.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonDevices.java @@ -33,7 +33,6 @@ public static class Device { public @Nullable String softwareVersion; public boolean online; public @Nullable String @Nullable [] capabilities; - } public @Nullable Device @Nullable [] devices; diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonEnabledFeeds.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonEnabledFeeds.java index b2976238f2f5e..b7764d3e787de 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonEnabledFeeds.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonEnabledFeeds.java @@ -23,5 +23,4 @@ @NonNullByDefault public class JsonEnabledFeeds { public @Nullable JsonFeed @Nullable [] enabledFeeds; - } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonExchangeTokenResponse.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonExchangeTokenResponse.java index 559837d514779..dc357c3cac3c7 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonExchangeTokenResponse.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonExchangeTokenResponse.java @@ -41,6 +41,5 @@ public static class Cookie { public @Nullable String Expires; public @Nullable Boolean HttpOnly; public @Nullable String Name; - } } diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonPlayerState.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonPlayerState.java index dd106fd811623..a1ad89ecde326 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonPlayerState.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonPlayerState.java @@ -42,7 +42,6 @@ public static class InfoText { public @Nullable String subText1; public @Nullable String subText2; public @Nullable String title; - } public static class Provider { diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppRequest.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppRequest.java index 42e5d2d94e1e5..878ce532d9a3d 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppRequest.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppRequest.java @@ -43,7 +43,6 @@ public static class Cookies { public JsonWebSiteCookie @Nullable [] website_cookies; @Nullable public String domain = ".amazon.com"; - } public static class RegistrationData { diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppResponse.java b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppResponse.java index 8a7391b4c3fce..277e815d03b30 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppResponse.java +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/java/org/openhab/binding/amazonechocontrol/internal/jsons/JsonRegisterAppResponse.java @@ -59,7 +59,6 @@ public static class DeviceInfo { public String device_serial_number; @Nullable public String device_type; - } public static class CustomerInfo { diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/binding/binding.xml index b6c76c2bd9f9a..6036baea74da3 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/binding/binding.xml @@ -1,9 +1,11 @@ - - - - Amazon Echo Control Binding - Binding to control Amazon Echo devices (Alexa). This binding enables openHAB to control the volume, playing state, bluetooth connection of your amazon echo devices or allow to use it as TTS device. - Michael Geramb - - + + + + Amazon Echo Control Binding + Binding to control Amazon Echo devices (Alexa). This binding enables openHAB to control the volume, + playing state, bluetooth connection of your amazon echo devices or allow to use it as TTS device. + Michael Geramb + + diff --git a/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/thing/thing-types.xml index ae8b0443f071b..0618a2b93f8ce 100644 --- a/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.amazonechocontrol/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,485 +1,471 @@ - - - - - Amazon Account where the amazon echo devices are registered. - - - - - - - - - - Amazon Echo device (Amazon Echo, Amazon Echo Dot, Amazon Echo Plus...) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - serialNumber - - - - The serial number of the device from the Alexa app - - - - - - - - - Amazon Echo Spot device - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - serialNumber - - - - The serial number of the device from the Alexa app - - - - - - - - - Amazon Echo Show device - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - serialNumber - - - - The serial number of the device from the Alexa app - - - - - - - - - Amazon Multiroom Music - - - - - - - - - - - - - - - - - - serialNumber - - - - The serial number of the device from the Alexa app - - - - - - - - - - Store and load a flash briefing configuration - - - - - - - - Switch - - Save the current flash briefing configuration (Write only) - - - Switch - - Activate this flash briefing configuration - - - String - - Plays the briefing on the device (serial number or name, write only) - - - String - - Connected bluetooth device - - - - String - - Id of the radio station - - - String - - Speak the reminder and send a notification to the Alexa app - - - String - - The command which must be spoken to active the routing without the preceding "Alexa," (Write Only) - - - - String - - Plays an alarm sound - - - String - - Id of the amazon music track - - - Switch - - Amazon Music turned on - - - String - - Amazon Music play list id (Write only, no current state) - - - String - - Id of the playlist which was started with openHAB - - - String - - Name of music provider - - - - String - - MAC-Address of the bluetooth connected device - - - String - - Url of the album image or radio station logo - - - - String - - Title - - - - String - - Subtitle 1 - - - - String - - Subtitle 2 - - - - Switch - - Radio turned on - - - Switch - - Connect to last used device - - - Switch - - Loop - - - Switch - - Shuffle play - - - Player - - Music Player - - - Dimmer - - Volume of the sound - - - Number - - Equalizer Treble - - - - Number - - Equalizer Midrange - - - - Number - - Equalizer Bass - - - - String - - Music provider - - - String - - Voice command as text. E.g. 'Yesterday from the Beatles' (Write only) - - - String - - Sends a message to the Echo devices (Write only). - - - String - - Display the announcement message on the display (Write only). See in the tutorial section of the binding description to learn how it's possible to set the title and turn off the sound. - - - String - - Speak the text (Write only). It is possible to use plain text or SSML: <speak>I want to tell you a secret.<amazon:effect name="whispered">I am not a real human.</amazon:effect>.Can you believe it?</speak> - - - Dimmer - - Volume of the Speak channel. If 0, the current volume will be used. - - - String - - Last voice command spoken to the device. Writing to the channel starts voice output. - - - - Dimmer - - Media progress in percent - - - - Number:Time - - Media play time - - - - Number:Time - - Media length - - - - String - - Start information (Write only) - - - - - - - - - - - - - Dimmer - - Notification Volume - - - - Switch - - Ascending alarm up to the configured volume - - - - DateTime - - Next Reminder - - - - DateTime - - Next alarm - - - - DateTime - - Next music alarm - - - - DateTime - - Next timer - - - + + + + + Amazon Account where the amazon echo devices are registered. + + + + + + + + + + Amazon Echo device (Amazon Echo, Amazon Echo Dot, Amazon Echo Plus...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + serialNumber + + + + The serial number of the device from the Alexa app + + + + + + + + + Amazon Echo Spot device + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + serialNumber + + + + The serial number of the device from the Alexa app + + + + + + + + + Amazon Echo Show device + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + serialNumber + + + + The serial number of the device from the Alexa app + + + + + + + + + Amazon Multiroom Music + + + + + + + + + + + + + + + + + + serialNumber + + + + The serial number of the device from the Alexa app + + + + + + + + + + Store and load a flash briefing configuration + + + + + + + + Switch + + Save the current flash briefing configuration (Write only) + + + Switch + + Activate this flash briefing configuration + + + String + + Plays the briefing on the device (serial number or name, write only) + + + String + + Connected bluetooth device + + + + String + + Id of the radio station + + + String + + Speak the reminder and send a notification to the Alexa app + + + String + + The command which must be spoken to active the routing without the preceding "Alexa," (Write Only) + + + + String + + Plays an alarm sound + + + String + + Id of the amazon music track + + + Switch + + Amazon Music turned on + + + String + + Amazon Music play list id (Write only, no current state) + + + String + + Id of the playlist which was started with openHAB + + + String + + Name of music provider + + + + String + + MAC-Address of the bluetooth connected device + + + String + + Url of the album image or radio station logo + + + + String + + Title + + + + String + + Subtitle 1 + + + + String + + Subtitle 2 + + + + Switch + + Radio turned on + + + Switch + + Connect to last used device + + + Switch + + Loop + + + Switch + + Shuffle play + + + Player + + Music Player + + + Dimmer + + Volume of the sound + + + Number + + Equalizer Treble + + + + Number + + Equalizer Midrange + + + + Number + + Equalizer Bass + + + + String + + Music provider + + + String + + Voice command as text. E.g. 'Yesterday from the Beatles' (Write only) + + + String + + Sends a message to the Echo devices (Write only). + + + String + + Display the announcement message on the display (Write only). See in the tutorial section of the binding + description to learn how it's possible to set the title and turn off the sound. + + + String + + Speak the text (Write only). It is possible to use plain text or SSML: <speak>I want to tell you a + secret.<amazon:effect name="whispered">I am not a real human.</amazon:effect>.Can you believe + it?</speak> + + + Dimmer + + Volume of the Speak channel. If 0, the current volume will be used. + + + String + + Last voice command spoken to the device. Writing to the channel starts voice output. + + + + Dimmer + + Media progress in percent + + + + Number:Time + + Media play time + + + + Number:Time + + Media length + + + + String + + Start information (Write only) + + + + + + + + + + + + + Dimmer + + Notification Volume + + + + Switch + + Ascending alarm up to the configured volume + + + + DateTime + + Next Reminder + + + + DateTime + + Next alarm + + + + DateTime + + Next music alarm + + + + DateTime + + Next timer + + + diff --git a/bundles/org.openhab.binding.ambientweather/pom.xml b/bundles/org.openhab.binding.ambientweather/pom.xml index 619685fe4576a..27560b23ae0bc 100644 --- a/bundles/org.openhab.binding.ambientweather/pom.xml +++ b/bundles/org.openhab.binding.ambientweather/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/bridge-config.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/bridge-config.xml index b7700982f44dc..5c3cccb479790 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/bridge-config.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/bridge-config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/station-config.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/station-config.xml index 3f8f31c13303f..a3a0fc6a40a70 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/station-config.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/config/station-config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/bridge.xml index bd26988812923..edb6c133e4e06 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,5 +1,6 @@ - @@ -7,6 +8,6 @@ Represents an account at Ambient Weather (ambientweather.net) - + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channel-group-types.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channel-group-types.xml index 6d9310a214598..43f6f4c7a9cc1 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channel-group-types.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channel-group-types.xml @@ -1,5 +1,6 @@ - @@ -9,8 +10,8 @@ Station Information - - + + @@ -18,9 +19,9 @@ Indoor Sensor - - - + + + @@ -28,14 +29,14 @@ Remote Sensor - - - - - - - - + + + + + + + + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channels.xml index a18e7e5860a5b..e5abee109cf81 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - @@ -29,7 +30,7 @@ Temperature Temperature - + @@ -37,7 +38,7 @@ Dew Point temperature Temperature - + @@ -45,7 +46,7 @@ Feeling temperature Temperature - + @@ -53,7 +54,7 @@ Forecast relative humidity Humidity - + @@ -61,7 +62,7 @@ Barometric Pressure Pressure - + @@ -69,7 +70,7 @@ Pressure evolution trend (up, down, stable) Pressure - + @@ -77,7 +78,7 @@ Rain fall hourly rate Rain - + @@ -85,7 +86,7 @@ Rain fall during the day Rain - + @@ -93,7 +94,7 @@ Rain fall amount for the week Rain - + @@ -101,7 +102,7 @@ Rain fall amount for the month Rain - + @@ -109,7 +110,7 @@ Rain fall amount for the year Rain - + @@ -117,7 +118,7 @@ Rain fall total amount since factpry reset Rain - + @@ -125,7 +126,7 @@ Rain fall in last 24 hours Rain - + @@ -133,7 +134,7 @@ Rain fall total for last rain event Rain - + @@ -148,7 +149,7 @@ Wind speed Wind - + @@ -156,21 +157,21 @@ Maximum daily wind speed Wind - + Number:Angle Wind direction in degrees - + String Wind direction - + @@ -178,21 +179,21 @@ Wind gust Wind - + Number:Angle Wind gust direction in degrees - + String Wind gust direction - + @@ -200,7 +201,7 @@ Maximum daily wind gust Wind - + @@ -208,21 +209,21 @@ Wind speed 2-minute average Wind - + Number:Angle Wind direction 2-minute average in degrees - + String Wind direction 2-minute Average - + @@ -230,42 +231,42 @@ Wind speed 10-minute average Wind - + Number:Angle Wind direction 10-minute average in degrees - + String Wind direction 10-minute Average - + Number:Intensity Solar radiation - + Number:Dimensionless Ultraviolet radiation index - + String Ultraviolet radiation danger level - + @@ -273,7 +274,7 @@ Temperature of the soil Sensor - + @@ -281,7 +282,7 @@ Amount of moisture in the soil Sensor - + @@ -289,7 +290,7 @@ Soil moisture level from Very Dry to Very Wet Sensor - + @@ -297,7 +298,7 @@ Amount of carbon dioxide Sensor - + @@ -305,7 +306,7 @@ Relay Switch - + @@ -313,7 +314,7 @@ Indicates if battery is good or needs replacing Battery - + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0265.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0265.xml index 9a2a8869367fb..cb9a59e3026a6 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0265.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0265.xml @@ -1,12 +1,13 @@ - - + @@ -49,15 +50,15 @@ - + Weather Data - - + + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0900.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0900.xml index c6a73c55705e6..9d471e0f3c4be 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0900.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws0900.xml @@ -1,12 +1,13 @@ - - + @@ -25,7 +26,7 @@ - + @@ -33,25 +34,25 @@ Weather Data - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws1400ip.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws1400ip.xml index 13fbd28271e10..6dfa79d56ef32 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws1400ip.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws1400ip.xml @@ -1,12 +1,13 @@ - - + @@ -57,7 +58,7 @@ - + @@ -65,31 +66,31 @@ Weather Data - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws2902a.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws2902a.xml index e91c25130d7e3..29d33f92362af 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws2902a.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws2902a.xml @@ -1,12 +1,13 @@ - - + @@ -25,7 +26,7 @@ - + @@ -33,31 +34,31 @@ Weather Data - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws8482.xml b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws8482.xml index 11d02807e81e5..b27e8558ca8c3 100644 --- a/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws8482.xml +++ b/bundles/org.openhab.binding.ambientweather/src/main/resources/ESH-INF/thing/ws8482.xml @@ -1,12 +1,13 @@ - - + @@ -49,17 +50,17 @@ - + Weather Data - - - - + + + + diff --git a/bundles/org.openhab.binding.astro/pom.xml b/bundles/org.openhab.binding.astro/pom.xml index 14bf0a65d68b3..a08d89dfc1f3b 100644 --- a/bundles/org.openhab.binding.astro/pom.xml +++ b/bundles/org.openhab.binding.astro/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.astro/src/main/feature/feature.xml b/bundles/org.openhab.binding.astro/src/main/feature/feature.xml index ea697a208bd43..31d8250d95783 100644 --- a/bundles/org.openhab.binding.astro/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.astro/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.astro/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.astro/${project.version} + diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroHandlerFactory.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroHandlerFactory.java index 590971da7fc6e..b1dc0059c2aa5 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroHandlerFactory.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroHandlerFactory.java @@ -95,5 +95,4 @@ protected void setCronScheduler(CronScheduler scheduler) { protected void unsetCronScheduler(CronScheduler scheduler) { this.scheduler = null; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/calc/SeasonCalc.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/calc/SeasonCalc.java index fe8971bee9b30..e95954c257de1 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/calc/SeasonCalc.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/calc/SeasonCalc.java @@ -160,5 +160,4 @@ private double periodic24(double T) { private double cosDeg(double deg) { return Math.cos(deg * Math.PI / 180); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/config/AstroChannelConfig.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/config/AstroChannelConfig.java index e9f501829fc6a..17696174d037d 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/config/AstroChannelConfig.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/config/AstroChannelConfig.java @@ -64,5 +64,4 @@ public String getLatest() { public void setLatest(String latest) { this.latest = latest; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/discovery/AstroDiscoveryService.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/discovery/AstroDiscoveryService.java index e67a27b642c76..10bab4f550a53 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/discovery/AstroDiscoveryService.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/discovery/AstroDiscoveryService.java @@ -155,5 +155,4 @@ protected void setTranslationProvider(TranslationProvider i18nProvider) { protected void unsetTranslationProvider(TranslationProvider i18nProvider) { this.i18nProvider = null; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/MoonHandler.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/MoonHandler.java index 380bbd149fd05..46d84a1d69629 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/MoonHandler.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/MoonHandler.java @@ -87,5 +87,4 @@ protected Job getDailyJob() { private void initializeMoon() { moon = moonCalc.getMoonInfo(Calendar.getInstance(), thingConfig.getLatitude(), thingConfig.getLongitude()); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/SunHandler.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/SunHandler.java index 60fee63061ae5..1c6cdcca5108c 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/SunHandler.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/handler/SunHandler.java @@ -89,5 +89,4 @@ private void initializeSun() { sun = sunCalc.getSunInfo(Calendar.getInstance(), thingConfig.getLatitude(), thingConfig.getLongitude(), thingConfig.getAltitude()); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/AbstractJob.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/AbstractJob.java index 67ecc35a226fa..85dc0a0555875 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/AbstractJob.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/AbstractJob.java @@ -44,5 +44,4 @@ public static void checkArgument(boolean expression, String errorMessage) { throw new IllegalArgumentException(errorMessage); } } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobMoon.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobMoon.java index 3123afa440122..9090b652df23f 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobMoon.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobMoon.java @@ -79,5 +79,4 @@ public void run() { public String toString() { return "Daily job moon " + getThingUID(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobSun.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobSun.java index 62314f9ced43e..e0c258f874431 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobSun.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/DailyJobSun.java @@ -97,5 +97,4 @@ public void run() { public String toString() { return "Daily job sun " + getThingUID(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/EventJob.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/EventJob.java index 649654735c119..c2a62e2257116 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/EventJob.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/EventJob.java @@ -58,5 +58,4 @@ public void run() { public String toString() { return "Event job " + getThingUID() + "/" + channelID + "/" + event; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/Job.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/Job.java index 9f4c0638f5059..348a6f0ad43bc 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/Job.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/Job.java @@ -231,5 +231,4 @@ public static boolean checkNull(T obj, String message) { * Returns the thing UID that is associated with this {@link Job} (cannot be {@code null}) */ public String getThingUID(); - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PositionalJob.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PositionalJob.java index f1caa38f612fa..939dd387349c9 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PositionalJob.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PositionalJob.java @@ -49,5 +49,4 @@ public void run() { public String toString() { return "Positional job " + getThingUID(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PublishPlanetJob.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PublishPlanetJob.java index 63eff15deabe0..17297dae6667a 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PublishPlanetJob.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/PublishPlanetJob.java @@ -49,5 +49,4 @@ public void run() { public String toString() { return "Publish planet job " + getThingUID(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/SunPhaseJob.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/SunPhaseJob.java index 2614190ce427d..12a52ebb50a7f 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/SunPhaseJob.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/job/SunPhaseJob.java @@ -68,5 +68,4 @@ public void run() { public String toString() { return "Sun phase job " + getThingUID() + "/" + sunPhaseName; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Eclipse.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Eclipse.java index e3d50dab066b1..7e0dce6baf082 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Eclipse.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Eclipse.java @@ -60,5 +60,4 @@ public String toString() { .append("total", total == null ? null : total.getTime()) .append("partial", partial == null ? null : partial.getTime()).toString(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/RiseSet.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/RiseSet.java index 7c6e1ecdddac7..03af22228cf11 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/RiseSet.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/RiseSet.java @@ -48,5 +48,4 @@ public Range getSet() { public void setSet(Range set) { this.set = set; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Sun.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Sun.java index 1bb1fc1a940d1..16932467d36dd 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Sun.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Sun.java @@ -306,5 +306,4 @@ public String toString() { .append("eveningNight", getEveningNight()).append("eclipse", eclipse).append("phase", phase) .append("radiation", radiation).toString(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunEclipse.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunEclipse.java index d936a1bea82f9..47f9e36a028b5 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunEclipse.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunEclipse.java @@ -47,5 +47,4 @@ public String toString() { .append("partial", DateTimeUtils.getDate(getPartial())).append("ring", DateTimeUtils.getDate(ring)) .toString(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunPhase.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunPhase.java index bc229a9099f07..4167041a44e50 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunPhase.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/SunPhase.java @@ -41,5 +41,4 @@ public void setName(SunPhaseName name) { public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("name", name).toString(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Zodiac.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Zodiac.java index c8aefbaba03d1..7df48bb414807 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Zodiac.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/model/Zodiac.java @@ -30,5 +30,4 @@ public Zodiac(ZodiacSign sign) { public ZodiacSign getSign() { return sign; } - } diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/util/PropertyUtils.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/util/PropertyUtils.java index fec1cd6eac9da..e8e22439d7ee7 100644 --- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/util/PropertyUtils.java +++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/util/PropertyUtils.java @@ -112,5 +112,4 @@ private static String toGetterString(String str) { sb.append(str.substring(1)); return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/channels.xml index f8ad8d84c14af..be1ab48d540e5 100644 --- a/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/channels.xml @@ -9,9 +9,9 @@ The position of the planet - - - + + + @@ -19,9 +19,9 @@ The radiation level of the sun - - - + + + @@ -29,42 +29,42 @@ Number:Angle The azimuth of the planet - + Number:Angle The elevation of the planet - + Number Projected shade length ratio (derived from Elevation) - + Number:Intensity Level of radiation after penetration of the atmospheric layer - + Number:Intensity Level of radiation diffracted by clouds and atmosphere - + Number:Intensity Total quantity of radiation on the ground - + @@ -72,10 +72,10 @@ Range for a sun event - - - - + + + + @@ -83,9 +83,9 @@ Range for a moon event - - - + + + @@ -93,23 +93,23 @@ DateTime The start time of the event - - + + DateTime The end time of the event - - + + Number:Time The duration of the event - + @@ -122,7 +122,7 @@ - + @@ -130,9 +130,9 @@ The zodiac of the sun - - - + + + @@ -163,11 +163,11 @@ The seasons this year - - - - - + + + + + @@ -189,28 +189,28 @@ DateTime The beginning of spring - + DateTime The beginning of summer - + DateTime The beginning of autumn - + DateTime The beginning of winter - + @@ -218,10 +218,10 @@ The DateTime of the next sun eclipses - - - - + + + + @@ -229,21 +229,21 @@ DateTime The DateTime of the next total eclipse - + DateTime The DateTime of the next partial eclipse - + DateTime The DateTime of the next ring eclipse - + @@ -257,7 +257,7 @@ - + @@ -265,7 +265,7 @@ The details of the current sun phase - + @@ -295,16 +295,16 @@ The details of the current and next moon phases - - - - - - - - - - + + + + + + + + + + @@ -312,56 +312,56 @@ DateTime The DateTime the moon is in the first quarter - + DateTime The DateTime the moon is in the third quarter - + DateTime The DateTime for full moon - + DateTime The DateTime for new moon - + Number:Time The age of the moon in days - + Number:Angle The age of the moon - + Number:Dimensionless The age of the moon - + Number:Dimensionless The illumination of the moon - + @@ -394,7 +394,7 @@ - + @@ -403,9 +403,9 @@ The DateTime of the next moon eclipses - - - + + + @@ -419,7 +419,7 @@ - + @@ -427,9 +427,9 @@ Distance data - - - + + + @@ -437,14 +437,14 @@ DateTime The DateTime when the distance is reached - + Number:Length The distance of the object - + @@ -457,7 +457,7 @@ - + @@ -465,7 +465,7 @@ The zodiac of the moon - + diff --git a/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/moon.xml b/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/moon.xml index 7e8918b151584..9c11bd7f00351 100644 --- a/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/moon.xml +++ b/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/moon.xml @@ -17,8 +17,8 @@ The moonset event range - - + + The distance to the moon @@ -33,12 +33,12 @@ The position of the moon - + geolocation - + diff --git a/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/sun.xml b/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/sun.xml index 79d07f7704606..da90fa9e4ef8e 100644 --- a/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/sun.xml +++ b/bundles/org.openhab.binding.astro/src/main/resources/ESH-INF/thing/sun.xml @@ -64,16 +64,16 @@ The position of the sun - - - - - + + + + + geolocation - + diff --git a/bundles/org.openhab.binding.atlona/pom.xml b/bundles/org.openhab.binding.atlona/pom.xml index bd6764ec33827..2b8b4adf29183 100644 --- a/bundles/org.openhab.binding.atlona/pom.xml +++ b/bundles/org.openhab.binding.atlona/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.atlona/src/main/feature/feature.xml b/bundles/org.openhab.binding.atlona/src/main/feature/feature.xml index 602ed7fc48665..cbc8bdfea1806 100644 --- a/bundles/org.openhab.binding.atlona/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.atlona/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.atlona/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.atlona/${project.version} + diff --git a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/AtlonaBindingConstants.java b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/AtlonaBindingConstants.java index c4faa20669b2f..f2abaf1ca4d0b 100644 --- a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/AtlonaBindingConstants.java +++ b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/AtlonaBindingConstants.java @@ -47,5 +47,4 @@ public class AtlonaBindingConstants { * Thing ID for the AT-UHD-PRO3-1616m (16x16 hdbaset matrix) */ public static final ThingTypeUID THING_TYPE_PRO3_1616M = new ThingTypeUID(BINDING_ID, "pro3-1616m"); - } diff --git a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/discovery/AtlonaDiscovery.java b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/discovery/AtlonaDiscovery.java index 0146b870e584a..e7c172943a91e 100644 --- a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/discovery/AtlonaDiscovery.java +++ b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/discovery/AtlonaDiscovery.java @@ -156,7 +156,6 @@ protected void startScan() { } catch (IOException e) { logger.debug("Error getting ip addresses: {}", e.getMessage(), e); } - } /** diff --git a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/net/SocketSession.java b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/net/SocketSession.java index cd8b3e33d3b32..ec89dc412211c 100644 --- a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/net/SocketSession.java +++ b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/net/SocketSession.java @@ -75,5 +75,4 @@ public interface SocketSession { * @throws java.io.IOException an exception that occurred while sending */ void sendCommand(String command) throws IOException; - } diff --git a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3Constants.java b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3Constants.java index 94eda2fa6e0c9..be930fb41fa81 100644 --- a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3Constants.java +++ b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3Constants.java @@ -58,5 +58,4 @@ class AtlonaPro3Constants { static final String CMD_MATRIXRESET = "resetmatrix"; static final String CMD_MATRIXRESETPORTS = "resetports"; static final String CMD_MATRIXPORTALL = "allports"; - } diff --git a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3PortocolHandler.java b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3PortocolHandler.java index e2637d0e32130..fbb6be623e977 100644 --- a/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3PortocolHandler.java +++ b/bundles/org.openhab.binding.atlona/src/main/java/org/openhab/binding/atlona/internal/pro3/AtlonaPro3PortocolHandler.java @@ -1111,7 +1111,6 @@ public void responseException(Exception e) { callback.statusChanged(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Exception occurred reading from Atlona: " + e); } - } /** @@ -1162,8 +1161,6 @@ public void responseException(Exception e) { responses.put(e); } catch (InterruptedException e1) { } - } - } } diff --git a/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/binding/binding.xml index 5cd32a208d642..ab992b79b7ee4 100644 --- a/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Atlona Products Binding for Atlona PRO3 HDBaseT Matrix switches. diff --git a/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/thing/thing-types.xml index 4bd479432f5a8..40a4ed2f7bcfe 100644 --- a/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.atlona/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -529,8 +529,8 @@ Output Port Channels - - + + @@ -539,8 +539,8 @@ HDMI Port Mirroring Channels - - + + @@ -548,8 +548,8 @@ Volume channels - - + + diff --git a/bundles/org.openhab.binding.autelis/pom.xml b/bundles/org.openhab.binding.autelis/pom.xml index 4259b830deba1..5e8f3818a55be 100644 --- a/bundles/org.openhab.binding.autelis/pom.xml +++ b/bundles/org.openhab.binding.autelis/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.autelis/src/main/feature/feature.xml b/bundles/org.openhab.binding.autelis/src/main/feature/feature.xml index 53541e4096688..06423ebc6d0a3 100644 --- a/bundles/org.openhab.binding.autelis/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.autelis/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.autelis/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.autelis/${project.version} + diff --git a/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/binding/binding.xml index f73636fadddfb..22e1cc6bf7dfe 100644 --- a/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Autelis Pool Control Binding This is the binding for a Autelis pool controller. diff --git a/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/jandy.xml b/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/jandy.xml index c2dd522bbd228..dd220c4121cfe 100644 --- a/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/jandy.xml +++ b/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/jandy.xml @@ -1,18 +1,19 @@ - A Jandy pool control thing represents a Autelis pool controller for Jandy systems - - - - - - - + + + + + + + The current state of the pump @@ -173,27 +174,27 @@ The current solar temperature - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - + network-address diff --git a/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/pentair.xml b/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/pentair.xml index 93e1d8f0140bc..8dcf058185314 100644 --- a/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/pentair.xml +++ b/bundles/org.openhab.binding.autelis/src/main/resources/ESH-INF/thing/pentair.xml @@ -1,16 +1,17 @@ - A Pentair pool control thing represents an Autelis pool controller for Pentair systems - - - - - + + + + + The state of sensor 1 (water sensor) @@ -31,8 +32,8 @@ The state of sensor 5 (water sensor) - - + + The current state of circuit 1 (Spa or Lo-Temp) @@ -121,21 +122,21 @@ The current spa/hi-temp heater settings - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + Pump 2 @@ -164,15 +165,15 @@ Pump 8 - - - - - - - - - + + + + + + + + + diff --git a/bundles/org.openhab.binding.avmfritz/pom.xml b/bundles/org.openhab.binding.avmfritz/pom.xml index ffdf2d86d1e99..3b64feb55e3eb 100644 --- a/bundles/org.openhab.binding.avmfritz/pom.xml +++ b/bundles/org.openhab.binding.avmfritz/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.avmfritz/src/main/feature/feature.xml b/bundles/org.openhab.binding.avmfritz/src/main/feature/feature.xml index 73e0fc4f79453..23952103eaa19 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.avmfritz/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - openhab.tp-jaxb - mvn:org.openhab.addons.bundles/org.openhab.binding.avmfritz/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + openhab.tp-jaxb + mvn:org.openhab.addons.bundles/org.openhab.binding.avmfritz/${project.version} + diff --git a/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/ahamodel/AVMFritzBaseModel.java b/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/ahamodel/AVMFritzBaseModel.java index aa2c3f3e40212..a899c2937b179 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/ahamodel/AVMFritzBaseModel.java +++ b/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/ahamodel/AVMFritzBaseModel.java @@ -23,16 +23,16 @@ * In the functionbitmask element value the following bits are used: * *
    - *
  1. Bit 0: HAN-FUN Gerät
  2. - *
  3. Bit 3: Button
  4. - *
  5. Bit 4: Alarm-Sensor
  6. - *
  7. Bit 6: Comet DECT, Heizkostenregler
  8. - *
  9. Bit 7: Energie Messgerät
  10. - *
  11. Bit 8: Temperatursensor
  12. - *
  13. Bit 9: Schaltsteckdose
  14. - *
  15. Bit 10: AVM DECT Repeater
  16. - *
  17. Bit 11: Mikrofon
  18. - *
  19. Bit 13: HAN-FUN Unit
  20. + *
  21. Bit 0: HAN-FUN Gerät
  22. + *
  23. Bit 3: Button
  24. + *
  25. Bit 4: Alarm-Sensor
  26. + *
  27. Bit 6: Comet DECT, Heizkostenregler
  28. + *
  29. Bit 7: Energie Messgerät
  30. + *
  31. Bit 8: Temperatursensor
  32. + *
  33. Bit 9: Schaltsteckdose
  34. + *
  35. Bit 10: AVM DECT Repeater
  36. + *
  37. Bit 11: Mikrofon
  38. + *
  39. Bit 13: HAN-FUN Unit
  40. *
* * @author Robert Bausdorf - Initial contribution diff --git a/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetHeatingTemperatureCallback.java b/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetHeatingTemperatureCallback.java index 290d8aca7146e..d485ab242b779 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetHeatingTemperatureCallback.java +++ b/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetHeatingTemperatureCallback.java @@ -39,8 +39,8 @@ public class FritzAhaSetHeatingTemperatureCallback extends FritzAhaReauthCallbac /** * Constructor * - * @param webIface Interface to FRITZ!Box - * @param ain AIN of the device that should be switched + * @param webIface Interface to FRITZ!Box + * @param ain AIN of the device that should be switched * @param temperature New temperature */ public FritzAhaSetHeatingTemperatureCallback(FritzAhaWebInterface webIface, String ain, BigDecimal temperature) { diff --git a/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetSwitchCallback.java b/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetSwitchCallback.java index d5c3e04883ec5..dac911464419c 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetSwitchCallback.java +++ b/bundles/org.openhab.binding.avmfritz/src/main/java/org/openhab/binding/avmfritz/internal/hardware/callbacks/FritzAhaSetSwitchCallback.java @@ -34,7 +34,7 @@ public class FritzAhaSetSwitchCallback extends FritzAhaReauthCallback { * Constructor * * @param webIface Interface to FRITZ!Box - * @param ain AIN of the device that should be switched + * @param ain AIN of the device that should be switched * @param switchOn true - switch on, false - switch off */ public FritzAhaSetSwitchCallback(FritzAhaWebInterface webIface, String ain, boolean switchOn) { diff --git a/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/bridge-types.xml b/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/bridge-types.xml index 3baf1d84574f5..e99d649931f72 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/bridge-types.xml +++ b/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/bridge-types.xml @@ -10,10 +10,10 @@ This bridge represents a FRITZ!Box. - + - + @@ -21,15 +21,15 @@ FRITZ!Powerline 546E with switchable outlet in stand-alone mode. - - - - - - - + + + + + + + - +
diff --git a/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/channel-types.xml index 05bb38c688e88..505758b019ff4 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/channel-types.xml @@ -9,7 +9,7 @@ String Apply template for device(s). - + @@ -31,7 +31,7 @@ Device is locked for switching over external sources. Contact - + @@ -39,7 +39,7 @@ Device is locked for switching by pressing the button on the device. Contact - + @@ -48,9 +48,9 @@ Current measured temperature. Temperature - + - + @@ -58,7 +58,7 @@ Accumulated energy consumption. Energy - + @@ -66,7 +66,7 @@ Current power consumption. Energy - + @@ -74,7 +74,7 @@ Current voltage. Energy - + @@ -89,7 +89,7 @@ Current measured temperature. Temperature - + @@ -97,7 +97,7 @@ Thermostat Setpoint temperature. Temperature - + @@ -105,7 +105,7 @@ Thermostat Eco temperature. Temperature - + @@ -113,7 +113,7 @@ Thermostat Comfort temperature. Temperature - + @@ -137,7 +137,7 @@ Next change of Setpoint Temperature. Time - + @@ -145,7 +145,7 @@ Next Setpoint Temperature. Temperature - + @@ -153,7 +153,7 @@ Contact state information (OPEN/CLOSED). Contact - + @@ -161,6 +161,6 @@ States the last time the button was pressed. Time - +
diff --git a/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/thing-types.xml index b251b0fda53c8..03a46a87bd0a5 100644 --- a/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.avmfritz/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,143 +7,143 @@ - - + + Comet DECT heating thermostat. - - - - - - - - - - - - + + + + + + + + + + + + ain - + - - + + FRITZ!DECT 301 heating thermostat. - - - - - - - - - - - - + + + + + + + + + + + + ain - + - - + + FRITZ!DECT 300 heating thermostat. - - - - - - - - - - - - + + + + + + + + + + + + ain - + - - + + FRITZ!DECT210 switchable outlet. - - - - - - - + + + + + + + ain - + - - + + FRITZ!DECT200 switchable outlet. - - - - - - - + + + + + + + ain - + - - + + @@ -151,59 +151,59 @@ - - - - - - + + + + + + ain - + - - + + FRITZ!DECT Repeater 100 DECT repeater. - + ain - + - - + + HAN-FUN contact (e.g. SmartHome Tür-/Fensterkontakt or SmartHome Bewegungsmelder). - + ain - + - - + + @@ -214,63 +214,63 @@ Triggered when a button was pressed. - + ain - + - - + + Group for heating thermostats. - - - - - - - - - - - + + + + + + + + + + + ain - + - - + + Group for switchable outlets and power meters. - - - - - - + + + + + + ain - +
diff --git a/bundles/org.openhab.binding.bigassfan/pom.xml b/bundles/org.openhab.binding.bigassfan/pom.xml index a7db44b67711b..9efb0e27446d1 100644 --- a/bundles/org.openhab.binding.bigassfan/pom.xml +++ b/bundles/org.openhab.binding.bigassfan/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bigassfan/src/main/feature/feature.xml b/bundles/org.openhab.binding.bigassfan/src/main/feature/feature.xml index a1fe880d1f1d2..581e6047e683b 100644 --- a/bundles/org.openhab.binding.bigassfan/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bigassfan/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.bigassfan/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.bigassfan/${project.version} + diff --git a/bundles/org.openhab.binding.bigassfan/src/main/java/org/openhab/binding/bigassfan/internal/BigAssFanHandlerFactory.java b/bundles/org.openhab.binding.bigassfan/src/main/java/org/openhab/binding/bigassfan/internal/BigAssFanHandlerFactory.java index 6ccd5f6fc4b1c..8cf7b64785cc8 100644 --- a/bundles/org.openhab.binding.bigassfan/src/main/java/org/openhab/binding/bigassfan/internal/BigAssFanHandlerFactory.java +++ b/bundles/org.openhab.binding.bigassfan/src/main/java/org/openhab/binding/bigassfan/internal/BigAssFanHandlerFactory.java @@ -57,5 +57,4 @@ protected void setNetworkAddressService(NetworkAddressService networkAddressServ protected void unsetNetworkAddressService(NetworkAddressService networkAddressService) { this.networkAddressService = null; } - } diff --git a/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/binding/binding.xml index 6ae5c5744cadf..664ec1389cc1a 100644 --- a/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - BigAssFan Binding diff --git a/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/config/config.xml index 794fe12edd6ae..5413ad64981d5 100644 --- a/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/thing/thing-types.xml index c5f02ec0f18da..cf256e18a326c 100644 --- a/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.bigassfan/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -10,36 +11,36 @@ - - + + - - - - - - - - - + + + + + + + + + - - - - - - - + + + + + + + - + - + - + @@ -49,20 +50,20 @@ - - - - - + + + + + - + - + - + @@ -71,11 +72,11 @@ Wall controller for Big Ass Fan - - + + - + diff --git a/bundles/org.openhab.binding.bluetooth.airthings/pom.xml b/bundles/org.openhab.binding.bluetooth.airthings/pom.xml index 643394a1a4886..73595db6a8b69 100644 --- a/bundles/org.openhab.binding.bluetooth.airthings/pom.xml +++ b/bundles/org.openhab.binding.bluetooth.airthings/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bluetooth.airthings/src/main/feature/feature.xml b/bundles/org.openhab.binding.bluetooth.airthings/src/main/feature/feature.xml index e173dbc0692fd..61515fa537b95 100644 --- a/bundles/org.openhab.binding.bluetooth.airthings/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bluetooth.airthings/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.airthings/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.airthings/${project.version} + diff --git a/bundles/org.openhab.binding.bluetooth.airthings/src/main/resources/ESH-INF/thing/airthings.xml b/bundles/org.openhab.binding.bluetooth.airthings/src/main/resources/ESH-INF/thing/airthings.xml index 8abff7c1d8d2d..076566cbd54ae 100644 --- a/bundles/org.openhab.binding.bluetooth.airthings/src/main/resources/ESH-INF/thing/airthings.xml +++ b/bundles/org.openhab.binding.bluetooth.airthings/src/main/resources/ESH-INF/thing/airthings.xml @@ -6,23 +6,23 @@ - - + + Indoor air quality monitor with radon detection - + - - - - - - - + + + + + + + @@ -42,42 +42,42 @@ Number:Dimensionless Humidity level - + Number:Temperature Temperature - + Number:Pressure Pressure - + Number:Dimensionless Carbon dioxide level - + Number:Dimensionless Total volatile organic compounds - + Number:Density Radon gas level - + Number:Density Radon gas level - + diff --git a/bundles/org.openhab.binding.bluetooth.am43/pom.xml b/bundles/org.openhab.binding.bluetooth.am43/pom.xml index 4caedd32166df..8e54e662a7376 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/pom.xml +++ b/bundles/org.openhab.binding.bluetooth.am43/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -12,7 +14,7 @@ openHAB Add-ons :: Bundles :: AM43 Bluetooth Adapter - + org.openhab.addons.bundles org.openhab.binding.bluetooth diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/feature/feature.xml b/bundles/org.openhab.binding.bluetooth.am43/src/main/feature/feature.xml index b610ed0d9a3fe..f514c54332a48 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.am43/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.am43/${project.version} + diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43BindingConstants.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43BindingConstants.java index 8768767fbddbf..9324adbb152b5 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43BindingConstants.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43BindingConstants.java @@ -59,5 +59,4 @@ public static List getAllChannels() { CHANNEL_ID_HAS_LIGHT_SENSOR, CHANNEL_ID_OPERATION_MODE, CHANNEL_ID_SPEED, CHANNEL_ID_ELECTRIC, CHANNEL_ID_POSITION, CHANNEL_ID_LENGTH, CHANNEL_ID_DIAMETER, CHANNEL_ID_TYPE, CHANNEL_ID_LIGHT_LEVEL); } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Configuration.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Configuration.java index b327d56bf596d..9ee5132563019 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Configuration.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Configuration.java @@ -29,5 +29,4 @@ public String toString() { return "AM43Configuration [address=" + address + ", refreshInterval=" + refreshInterval + ", invertPosition=" + invertPosition + ", commandTimeout=" + commandTimeout + "]"; } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Handler.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Handler.java index da53d21b9df3d..95a97d875ce28 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Handler.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/AM43Handler.java @@ -464,5 +464,4 @@ private void updateStateIfLinked(String channelUID, State state) { updateState(channelUID, state); } } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/AM43Command.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/AM43Command.java index 0bda2bb59149b..0abffe2e941ac 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/AM43Command.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/AM43Command.java @@ -167,5 +167,4 @@ public byte[] getResponse() { public String toString() { return getClass().getSimpleName(); } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ControlCommand.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ControlCommand.java index a989b3bf895a1..80e638ad66683 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ControlCommand.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ControlCommand.java @@ -28,5 +28,4 @@ public class ControlCommand extends AM43Command { public ControlCommand(ControlAction action) { super(COMMAND, action.getCode()); } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResetLimitsCommand.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResetLimitsCommand.java index 8a9bfd36992c9..ee5ee89358a3b 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResetLimitsCommand.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResetLimitsCommand.java @@ -27,5 +27,4 @@ public class ResetLimitsCommand extends AM43Command { public ResetLimitsCommand() { super(COMMAND, (byte) 0, (byte) 0, (byte) 1); } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResponseListener.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResponseListener.java index eea54008da042..9d6f3834f6ec4 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResponseListener.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/ResponseListener.java @@ -31,5 +31,4 @@ public interface ResponseListener { public void receivedResponse(GetPositionCommand command); public void receivedResponse(GetSpeedCommand command); - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetPositionCommand.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetPositionCommand.java index 414929528a78c..69e4ae55f8394 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetPositionCommand.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetPositionCommand.java @@ -27,5 +27,4 @@ public class SetPositionCommand extends AM43Command { public SetPositionCommand(int position) { super(COMMAND, (byte) position); } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetSettingsCommand.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetSettingsCommand.java index 35953d4f8f063..6a22fc9361437 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetSettingsCommand.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetSettingsCommand.java @@ -45,5 +45,4 @@ private static byte[] createContent(MotorSettings motorSettings) { return new byte[] { (byte) dataHead, (byte) deviceSpeed, 0, (byte) ((deviceLength & 0xFF00) >> 8), (byte) (deviceLength & 0xFF), (byte) deviceDiameter }; } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetTimeCommand.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetTimeCommand.java index c22cd378add93..59d3185a9f939 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetTimeCommand.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/command/SetTimeCommand.java @@ -41,5 +41,4 @@ private static byte[] createContent() { int dayOfWeek = instance.get(Calendar.DAY_OF_WEEK) - 1; return new byte[] { (byte) dayOfWeek, (byte) hour, (byte) minute, (byte) second }; } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/Direction.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/Direction.java index aa8deb78b7acd..3e8e4dbeb2fac 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/Direction.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/Direction.java @@ -34,5 +34,4 @@ public byte toByte() { public static Direction valueOf(boolean bitValue) { return bitValue ? Forward : Reverse; } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/MotorSettings.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/MotorSettings.java index 7814e226168dc..4eedf401ec009 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/MotorSettings.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/MotorSettings.java @@ -107,5 +107,4 @@ public int getDiameter() { public void setDiameter(int diameter) { this.diameter = diameter; } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/OperationMode.java b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/OperationMode.java index 76636e1850551..075ece063119f 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/OperationMode.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/java/org/openhab/binding/bluetooth/am43/internal/data/OperationMode.java @@ -34,5 +34,4 @@ public byte toByte() { public static OperationMode valueOf(boolean bitValue) { return bitValue ? Inching : Continuous; } - } diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/main/resources/ESH-INF/thing/am43.xml b/bundles/org.openhab.binding.bluetooth.am43/src/main/resources/ESH-INF/thing/am43.xml index 04522273d5f57..bfd0234f0be08 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/main/resources/ESH-INF/thing/am43.xml +++ b/bundles/org.openhab.binding.bluetooth.am43/src/main/resources/ESH-INF/thing/am43.xml @@ -1,13 +1,13 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - - + + @@ -15,19 +15,19 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Blinds - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -66,26 +66,26 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ - + Switch - + Switch - + Switch Whether or not a light sensor is attached to the motor - + String @@ -96,19 +96,19 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ - + Number:Dimensionless The speed value in RPMs set for this motor - + Rollershutter The percent value of the blind position - + @@ -117,26 +117,26 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ The distance the blinds travel from full open and close (not really important) - + Number:Length The diameter of the pulley of this motor (not really important) - + Number:Dimensionless The type of blinds this motor is operating. (not really important) - + Number:Dimensionless Light level detected by the solar sensor. Will range from 0-10 - + diff --git a/bundles/org.openhab.binding.bluetooth.am43/src/test/java/org/openhab/binding/bluetooth/am43/CommandTest.java b/bundles/org.openhab.binding.bluetooth.am43/src/test/java/org/openhab/binding/bluetooth/am43/CommandTest.java index d39046dda9b69..3cc87a162d28f 100644 --- a/bundles/org.openhab.binding.bluetooth.am43/src/test/java/org/openhab/binding/bluetooth/am43/CommandTest.java +++ b/bundles/org.openhab.binding.bluetooth.am43/src/test/java/org/openhab/binding/bluetooth/am43/CommandTest.java @@ -49,5 +49,4 @@ public void controlOpenCommandTest() { Assert.assertArrayEquals(expected, actual); } - } diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml b/bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml index 76dde9bfceae0..cbc4fc4ba792f 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/feature/feature.xml b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/feature/feature.xml index 20d5b6946e564..00dbbf4cd6a27 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.bluegiga/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.bluegiga/${project.version} + diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaDeviceCommand.java b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaDeviceCommand.java index 3bb6f131028b1..13a45b1502024 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaDeviceCommand.java +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaDeviceCommand.java @@ -49,5 +49,4 @@ public final void setConnection(int connection) { public final int getConnection() { return connection; } - } diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaException.java b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaException.java index 75556563699fb..1182723a52323 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaException.java +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaException.java @@ -36,5 +36,4 @@ public BlueGigaException(String message) { public BlueGigaException(String message, Throwable cause) { super(message, cause); } - } diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaHandlerListener.java b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaHandlerListener.java index cda1ff5e6644e..2ef5c6f403ac8 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaHandlerListener.java +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaHandlerListener.java @@ -28,5 +28,4 @@ public interface BlueGigaHandlerListener { * @param reason a reason caused to be closed */ void bluegigaClosed(Exception reason); - } diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaTransactionManager.java b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaTransactionManager.java index 14f05f42f5a87..b99fc693798f4 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaTransactionManager.java +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/java/org/openhab/binding/bluetooth/bluegiga/internal/BlueGigaTransactionManager.java @@ -231,7 +231,6 @@ public T call() throws TimeoutException { } else { throw new TimeoutException("No response from BlueGiga controller"); } - } @Override diff --git a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/resources/ESH-INF/thing/bluegiga.xml b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/resources/ESH-INF/thing/bluegiga.xml index ddef05a56a1f3..34ef247b71825 100644 --- a/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/resources/ESH-INF/thing/bluegiga.xml +++ b/bundles/org.openhab.binding.bluetooth.bluegiga/src/main/resources/ESH-INF/thing/bluegiga.xml @@ -40,25 +40,29 @@ - Passive scan interval defines the interval when scanning is re-started in units of 625us. Default is 4000ms. + Passive scan interval defines the interval when scanning is re-started in units of 625us. Default is + 4000ms. true 6400 - Passive scan Window defines how long time the scanner will listen on a certain frequency and try to pick up advertisement packets. Default is 4000ms. + Passive scan Window defines how long time the scanner will listen on a certain frequency and try to + pick up advertisement packets. Default is 4000ms. true 6400 - Active scan interval defines the interval when scanning is re-started in units of 625us. Default is 4000ms. + Active scan interval defines the interval when scanning is re-started in units of 625us. Default is + 4000ms. true 6400 - Active scan Window defines how long time the scanner will listen on a certain frequency and try to pick up advertisement packets. Default is 4000ms. + Active scan Window defines how long time the scanner will listen on a certain frequency and try to pick + up advertisement packets. Default is 4000ms. true 6400 @@ -82,7 +86,8 @@ - Connection supervision timeout in units of 10ms defines how long the devices can be out of range before the connection is closed. Default is 10000ms. + Connection supervision timeout in units of 10ms defines how long the devices can be out of range before + the connection is closed. Default is 10000ms. true 1000 diff --git a/bundles/org.openhab.binding.bluetooth.bluez/pom.xml b/bundles/org.openhab.binding.bluetooth.bluez/pom.xml index e5a3fd60a10d2..d7d8631523543 100644 --- a/bundles/org.openhab.binding.bluetooth.bluez/pom.xml +++ b/bundles/org.openhab.binding.bluetooth.bluez/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -26,5 +28,5 @@ compile - + diff --git a/bundles/org.openhab.binding.bluetooth.bluez/src/main/feature/feature.xml b/bundles/org.openhab.binding.bluetooth.bluez/src/main/feature/feature.xml index 9885924e6ef87..1119f1727a4b1 100644 --- a/bundles/org.openhab.binding.bluetooth.bluez/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bluetooth.bluez/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.bluez/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.bluez/${project.version} + diff --git a/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/BlueZAdapterConstants.java b/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/BlueZAdapterConstants.java index 9bacff6ea89b9..b982eaa694666 100644 --- a/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/BlueZAdapterConstants.java +++ b/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/BlueZAdapterConstants.java @@ -30,5 +30,4 @@ public class BlueZAdapterConstants { // Properties public static final String PROPERTY_ADDRESS = "address"; - } diff --git a/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZAdapterConfiguration.java b/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZAdapterConfiguration.java index b85ce17496e9e..0999624eeeb09 100644 --- a/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZAdapterConfiguration.java +++ b/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZAdapterConfiguration.java @@ -22,5 +22,4 @@ public class BlueZAdapterConfiguration extends BaseBluetoothBridgeHandlerConfiguration { public String address; - } diff --git a/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZBridgeHandler.java b/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZBridgeHandler.java index ef0b12d886324..cabaabb1d3698 100644 --- a/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZBridgeHandler.java +++ b/bundles/org.openhab.binding.bluetooth.bluez/src/main/java/org/openhab/binding/bluetooth/bluez/handler/BlueZBridgeHandler.java @@ -166,5 +166,4 @@ public void dispose() { } super.dispose(); } - } diff --git a/bundles/org.openhab.binding.bluetooth.bluez/src/main/resources/ESH-INF/thing/bluez.xml b/bundles/org.openhab.binding.bluetooth.bluez/src/main/resources/ESH-INF/thing/bluez.xml index ec8fdc6a9e502..32cb28cd3907e 100644 --- a/bundles/org.openhab.binding.bluetooth.bluez/src/main/resources/ESH-INF/thing/bluez.xml +++ b/bundles/org.openhab.binding.bluetooth.bluez/src/main/resources/ESH-INF/thing/bluez.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.bluetooth.blukii/pom.xml b/bundles/org.openhab.binding.bluetooth.blukii/pom.xml index 34b6eb18d5a84..cde4cbf3cd6da 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/pom.xml +++ b/bundles/org.openhab.binding.bluetooth.blukii/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/feature/feature.xml b/bundles/org.openhab.binding.bluetooth.blukii/src/main/feature/feature.xml index 9de45bf093a61..5b9fba476a60d 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.blukii/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.blukii/${project.version} + diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/handler/BlukiiHandler.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/handler/BlukiiHandler.java index 7046c29fd59fd..a8b28c8a90912 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/handler/BlukiiHandler.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/handler/BlukiiHandler.java @@ -76,5 +76,4 @@ public void onScanRecordReceived(BluetoothScanNotification scanNotification) { } super.onScanRecordReceived(scanNotification); } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/BlukiiDiscoveryParticipant.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/BlukiiDiscoveryParticipant.java index 83ec28e117328..bbbdb17076745 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/BlukiiDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/BlukiiDiscoveryParticipant.java @@ -79,5 +79,4 @@ public DiscoveryResult createResult(@NonNull BluetoothDevice device) { return null; } } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Accelerometer.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Accelerometer.java index 33eb5e88b01c9..2727154e4c053 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Accelerometer.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Accelerometer.java @@ -35,5 +35,4 @@ public Accelerometer(final double tiltX, final double tiltY, final double tiltZ) public String toString() { return "Accelerometer [tiltX=" + tiltX + ", tiltY=" + tiltY + ", tiltZ=" + tiltZ + "]"; } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiData.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiData.java index 71dab74be4caf..a69f870bc16d2 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiData.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiData.java @@ -42,5 +42,4 @@ public String toString() { return "BlukiiData [battery=" + battery + ", magnetometer=" + magnetometer + ", environment=" + environment + ", accelerometer=" + accelerometer + "]"; } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiDataDecoder.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiDataDecoder.java index 4afa8504faf5c..21f44460b67eb 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiDataDecoder.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/BlukiiDataDecoder.java @@ -106,5 +106,4 @@ private static int doubleByteToInt(byte b1, byte b2) { int i2 = b2 & 0xFF; return (i1 * 0x100) + i2; } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Environment.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Environment.java index c8b8a8d20a6ee..43179434f6e34 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Environment.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Environment.java @@ -38,5 +38,4 @@ public String toString() { return "Environment [pressure=" + pressure + ", luminance=" + luminance + ", humidity=" + humidity + ", temperature=" + temperature + "]"; } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Magnetometer.java b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Magnetometer.java index 7ae9597d62dcf..02347bf68e75e 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Magnetometer.java +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/java/org/openhab/binding/bluetooth/blukii/internal/data/Magnetometer.java @@ -35,5 +35,4 @@ public Magnetometer(final int x, final int y, final int z) { public String toString() { return "Magnetometer [x=" + x + ", y=" + y + ", z=" + z + "]"; } - } diff --git a/bundles/org.openhab.binding.bluetooth.blukii/src/main/resources/ESH-INF/thing/blukii.xml b/bundles/org.openhab.binding.bluetooth.blukii/src/main/resources/ESH-INF/thing/blukii.xml index 81ae24a0affe2..ae55d8b90f0ee 100644 --- a/bundles/org.openhab.binding.bluetooth.blukii/src/main/resources/ESH-INF/thing/blukii.xml +++ b/bundles/org.openhab.binding.bluetooth.blukii/src/main/resources/ESH-INF/thing/blukii.xml @@ -1,29 +1,30 @@ - - - + + A Blukii SmartBeacon - - + + - - - - + + + + - - - + + + @@ -38,43 +39,43 @@ Number:Temperature - + Number:Dimensionless - + Number:Pressure - + Number:Illuminance - + Number:Angle - + Number:Angle - + Number:Angle - + diff --git a/bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml b/bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml index 3f1e1641f9135..ba9090f035631 100644 --- a/bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml +++ b/bundles/org.openhab.binding.bluetooth.ruuvitag/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/feature/feature.xml b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/feature/feature.xml index 0e9d99154bb29..00d77179b89c6 100644 --- a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.ruuvitag/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.bluetooth.ruuvitag/${project.version} + diff --git a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagBindingConstants.java b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagBindingConstants.java index 316a13777f933..2cf83a8537b2b 100644 --- a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagBindingConstants.java +++ b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagBindingConstants.java @@ -40,5 +40,4 @@ public class RuuviTagBindingConstants { public static final String CHANNEL_ID_ACCELERATIONZ = "accelerationz"; public static final String CHANNEL_ID_MEASUREMENT_SEQUENCE_NUMBER = "measurementSequenceNumber"; public static final String CHANNEL_ID_MOVEMENT_COUNTER = "movementCounter"; - } diff --git a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagDiscoveryParticipant.java b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagDiscoveryParticipant.java index 17f885b148e8c..baa91a226b87f 100644 --- a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/java/org/openhab/binding/bluetooth/ruuvitag/internal/RuuviTagDiscoveryParticipant.java @@ -78,5 +78,4 @@ public DiscoveryResult createResult(BluetoothDevice device) { .withRepresentationProperty(BluetoothBindingConstants.CONFIGURATION_ADDRESS) .withBridge(device.getAdapter().getUID()).withLabel(label).build(); } - } diff --git a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/resources/ESH-INF/thing/ruuvitag.xml b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/resources/ESH-INF/thing/ruuvitag.xml index ab6ff81e4f7ea..4ab48881c9121 100644 --- a/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/resources/ESH-INF/thing/ruuvitag.xml +++ b/bundles/org.openhab.binding.bluetooth.ruuvitag/src/main/resources/ESH-INF/thing/ruuvitag.xml @@ -6,27 +6,27 @@ - - + + A RuuviTag SmartBeacon - + - - - - - - - - - - - + + + + + + + + + + + @@ -41,56 +41,56 @@ Number:Acceleration - + Number:Acceleration - + Number:Acceleration - + Number:ElectricPotential - + Number - + Number:Dimensionless - + Number:Dimensionless - + Number:Dimensionless - + Number:Pressure - + Number:Temperature - + Number:Power - + diff --git a/bundles/org.openhab.binding.bluetooth/pom.xml b/bundles/org.openhab.binding.bluetooth/pom.xml index 717d5ebf6cf4e..33d594357c62f 100644 --- a/bundles/org.openhab.binding.bluetooth/pom.xml +++ b/bundles/org.openhab.binding.bluetooth/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/AbstractBluetoothBridgeHandler.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/AbstractBluetoothBridgeHandler.java index 91680f8da66b9..dec999ada3abe 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/AbstractBluetoothBridgeHandler.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/AbstractBluetoothBridgeHandler.java @@ -219,5 +219,4 @@ private boolean deviceReachable(BluetoothDevice device) { Integer rssi = device.getRssi(); return rssi != null && rssi != 0; } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BeaconBluetoothHandler.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BeaconBluetoothHandler.java index 3149716c0a52c..9226c4862dbb8 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BeaconBluetoothHandler.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BeaconBluetoothHandler.java @@ -173,5 +173,4 @@ public void onCharacteristicUpdate(BluetoothCharacteristic characteristic) { @Override public void onDescriptorUpdate(BluetoothDescriptor bluetoothDescriptor) { } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothAdapter.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothAdapter.java index da3ff8fe92b6f..eb85592d70d0c 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothAdapter.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothAdapter.java @@ -82,5 +82,4 @@ public interface BluetoothAdapter extends Identifiable { * @return true if this adapter has a {@link BluetoothDevice} with that address */ boolean hasHandlerForDevice(BluetoothAddress address); - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothBindingConstants.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothBindingConstants.java index 6e9669cdef320..90c894c0dd3e5 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothBindingConstants.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothBindingConstants.java @@ -52,5 +52,4 @@ public class BluetoothBindingConstants { public static final UUID PROFILE_HEADSET = UUID.fromString("00001108-0000-1000-8000-00805f9b34fb"); public static final UUID PROFILE_HFP = UUID.fromString("0000111e-0000-1000-8000-00805f9b34fb"); public static final UUID PROFILE_HFP_AUDIOGATEWAY = UUID.fromString("0000111f-0000-1000-8000-00805f9b34fb"); - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothCharacteristic.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothCharacteristic.java index 2a83a27fd0bb2..e3bbf466351d6 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothCharacteristic.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothCharacteristic.java @@ -654,5 +654,4 @@ public UUID getUUID() { return uuid; } } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothDescriptor.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothDescriptor.java index 73f323a3d8d13..8ac763c1d180a 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothDescriptor.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/BluetoothDescriptor.java @@ -50,7 +50,6 @@ public BluetoothDescriptor(BluetoothCharacteristic characteristic, UUID uuid) { */ BluetoothCharacteristic getCharacteristic() { return characteristic; - } /** @@ -69,7 +68,6 @@ public int getPermissions() { */ public UUID getUuid() { return uuid; - } /** diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/ConnectedBluetoothHandler.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/ConnectedBluetoothHandler.java index e7517b59a4e81..68bf24f3b9c37 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/ConnectedBluetoothHandler.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/ConnectedBluetoothHandler.java @@ -254,5 +254,4 @@ protected void activateChannel(@Nullable BluetoothCharacteristic characteristic, protected void activateChannel(@Nullable BluetoothCharacteristic characteristic, ChannelTypeUID channelTypeUID) { activateChannel(characteristic, channelTypeUID, null); } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDeviceSnapshot.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDeviceSnapshot.java index 37b8aa764d5cc..d4df3a9efe0d9 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDeviceSnapshot.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDeviceSnapshot.java @@ -245,5 +245,4 @@ public void merge(BluetoothDevice device) { this.softwareRevision = softwareRevision; } } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryProcess.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryProcess.java index 99d53c327e9c8..2db45f0cfb088 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryProcess.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryProcess.java @@ -371,5 +371,4 @@ public void onCharacteristicUpdate(BluetoothCharacteristic characteristic) { @Override public void onDescriptorUpdate(BluetoothDescriptor bluetoothDescriptor) { } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryService.java b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryService.java index 4df93ec2c7625..be47261ca34ba 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryService.java +++ b/bundles/org.openhab.binding.bluetooth/src/main/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryService.java @@ -273,7 +273,6 @@ private CompletableFuture startDiscoveryProcess(BluetoothDevice return CompletableFuture.supplyAsync(new BluetoothDiscoveryProcess(device, participants, adapters), scheduler); } - } private static class SnapshotFuture { @@ -284,7 +283,5 @@ public SnapshotFuture(BluetoothDeviceSnapshot snapshot, CompletableFutureRSSI Received signal strength indicator QualityOfService - + diff --git a/bundles/org.openhab.binding.bluetooth/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.bluetooth/src/main/resources/ESH-INF/thing/thing-types.xml index 24a0a105356d2..20fc62175bd6c 100644 --- a/bundles/org.openhab.binding.bluetooth/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.bluetooth/src/main/resources/ESH-INF/thing/thing-types.xml @@ -6,14 +6,14 @@ - - + + A generic Bluetooth device in beacon-mode - + @@ -26,14 +26,14 @@ - - + + A generic Bluetooth device in connected-mode - + diff --git a/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothAdapter.java b/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothAdapter.java index d5ace31518b34..25211f3af3bcb 100644 --- a/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothAdapter.java +++ b/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothAdapter.java @@ -66,5 +66,4 @@ public MockBluetoothDevice getDevice(BluetoothAddress address) { public boolean hasHandlerForDevice(BluetoothAddress address) { return false; } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothDevice.java b/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothDevice.java index 35f3fbfb40c4d..a2a3c32761859 100644 --- a/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothDevice.java +++ b/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/MockBluetoothDevice.java @@ -88,5 +88,4 @@ public void setDeviceName(String deviceName) { protected void notifyListeners(BluetoothEventType event, Object... args) { CompletableFuture.runAsync(() -> super.notifyListeners(event, args)); } - } diff --git a/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryServiceTest.java b/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryServiceTest.java index 62b392dbebb2f..e9ce8af3c9939 100644 --- a/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryServiceTest.java +++ b/bundles/org.openhab.binding.bluetooth/src/test/java/org/openhab/binding/bluetooth/discovery/internal/BluetoothDiscoveryServiceTest.java @@ -476,7 +476,6 @@ public Set getSupportedThingTypeUIDs() { String id = device.getName() != null ? device.getName() : RandomStringUtils.randomAlphabetic(6); return new ThingUID(typeUID, device.getAdapter().getUID(), id); } - } private class BadConnectionDevice extends MockBluetoothDevice { @@ -502,5 +501,4 @@ public boolean connect() { return false; } } - } diff --git a/bundles/org.openhab.binding.boschindego/pom.xml b/bundles/org.openhab.binding.boschindego/pom.xml index aae6e7e34c4bc..7023695acd33f 100644 --- a/bundles/org.openhab.binding.boschindego/pom.xml +++ b/bundles/org.openhab.binding.boschindego/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.boschindego/src/main/feature/feature.xml b/bundles/org.openhab.binding.boschindego/src/main/feature/feature.xml index 22bafe1398949..5dfb526148149 100644 --- a/bundles/org.openhab.binding.boschindego/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.boschindego/src/main/feature/feature.xml @@ -1,13 +1,13 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab.tp-jackson - mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9 - mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5 - mvn:commons-codec/commons-codec/1.10 - mvn:org.openhab.addons.bundles/org.openhab.binding.boschindego/${project.version} - + + openhab-runtime-base + openhab.tp-jackson + mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9 + mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5 + mvn:commons-codec/commons-codec/1.10 + mvn:org.openhab.addons.bundles/org.openhab.binding.boschindego/${project.version} + diff --git a/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/BoschIndegoBindingConstants.java b/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/BoschIndegoBindingConstants.java index 7a1fb6e9da62a..46c4b53fec129 100644 --- a/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/BoschIndegoBindingConstants.java +++ b/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/BoschIndegoBindingConstants.java @@ -36,5 +36,4 @@ public class BoschIndegoBindingConstants { public static final String ERRORCODE = "errorcode"; public static final String STATECODE = "statecode"; public static final String READY = "ready"; - } diff --git a/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/IndegoStateConstants.java b/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/IndegoStateConstants.java index 5c325339aa8ee..cec3c5ff81c8b 100644 --- a/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/IndegoStateConstants.java +++ b/bundles/org.openhab.binding.boschindego/src/main/java/org/openhab/binding/boschindego/internal/IndegoStateConstants.java @@ -26,5 +26,4 @@ public class IndegoStateConstants { public static final int STATE_DOCKED_3 = 261; public static final int STATE_PAUSED = 517; public static final int STATE_IDLE_IN_LAWN = 519; - } diff --git a/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/binding/binding.xml index 74cb41eb51d7c..3c9baea8775ed 100644 --- a/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + BoschIndego Binding This is the binding for Bosch Indego Connect lawn mowers. diff --git a/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/thing/thing-types.xml index cc6798ff0179c..431de7e9ecaa7 100644 --- a/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.boschindego/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -16,21 +16,21 @@ - - - Username for the Bosch Indego account. - - - password - - Password for the Bosch Indego account. - - - - Specifies the refresh interval in seconds. - 180 - - + + + Username for the Bosch Indego account. + + + password + + Password for the Bosch Indego account. + + + + Specifies the refresh interval in seconds. + 180 + + @@ -55,38 +55,38 @@ API-code of the Indego state - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + String - + Dimmer diff --git a/bundles/org.openhab.binding.bosesoundtouch/pom.xml b/bundles/org.openhab.binding.bosesoundtouch/pom.xml index 5d7bb1fdcd380..ddc8cc2c41f15 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/pom.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/feature/feature.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/feature/feature.xml index fc7d06348db1a..6ec7719042c08 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.bosesoundtouch/${project.version} - + + openhab-runtime-base + openhab-transport-http + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.bosesoundtouch/${project.version} + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchBindingConstants.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchBindingConstants.java index 0bd8c8bec0123..ef86e02e30a9b 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchBindingConstants.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchBindingConstants.java @@ -1,97 +1,96 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal; - -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.eclipse.smarthome.core.thing.ThingTypeUID; - -/** - * The {@link BoseSoundTouchBindinConstantsg} class defines common constants, which are - * used across the whole binding. - * - * @author Christian Niessner - Initial contribution - * @author Thomas Traunbauer - Initial contribution - */ -public class BoseSoundTouchBindingConstants { - - public static final String BINDING_ID = "bosesoundtouch"; - - // List of all Thing Type UIDs - public static final ThingTypeUID BST_UNKNOWN_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "device"); - - public static final ThingTypeUID BST_10_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "10"); - public static final ThingTypeUID BST_20_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "20"); - public static final ThingTypeUID BST_30_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "30"); - public static final ThingTypeUID BST_300_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "300"); - public static final ThingTypeUID BST_WLA_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "wirelessLinkAdapter"); - public static final ThingTypeUID BST_WSMS_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, - "waveSoundTouchMusicSystemIV"); - public static final ThingTypeUID BST_SA5A_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "sa5Amplifier"); - - public static final Set SUPPORTED_KNOWN_THING_TYPES_UIDS = Collections.unmodifiableSet(Stream - .of(BST_UNKNOWN_THING_TYPE_UID, BST_10_THING_TYPE_UID, BST_20_THING_TYPE_UID, BST_30_THING_TYPE_UID, - BST_300_THING_TYPE_UID, BST_WLA_THING_TYPE_UID, BST_WSMS_THING_TYPE_UID, BST_SA5A_THING_TYPE_UID) - .collect(Collectors.toSet())); - - public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>(SUPPORTED_KNOWN_THING_TYPES_UIDS); - - // Partial list of Channel Type IDs - public static final String CHANNEL_TYPE_OPERATION_MODE_DEFAULT = "operationMode_default"; - public static final String CHANNEL_TYPE_OPERATION_MODE_BST_10_20_30 = "operationMode_BST_10_20_30"; - public static final String CHANNEL_TYPE_OPERATION_MODE_BST_300 = "operationMode_BST_300"; - public static final String CHANNEL_TYPE_OPERATION_MODE_BST_SA5A = "operationMode_BST_SA5_Amplifier"; - public static final String CHANNEL_TYPE_OPERATION_MODE_BST_WLA = "operationMode_BST_WLA"; - - // List of all Channel IDs - public static final String CHANNEL_POWER = "power"; - public static final String CHANNEL_VOLUME = "volume"; - public static final String CHANNEL_MUTE = "mute"; - public static final String CHANNEL_OPERATIONMODE = "operationMode"; - public static final String CHANNEL_PLAYER_CONTROL = "playerControl"; - public static final String CHANNEL_PRESET = "preset"; - public static final String CHANNEL_BASS = "bass"; - public static final String CHANNEL_RATEENABLED = "rateEnabled"; - public static final String CHANNEL_SKIPENABLED = "skipEnabled"; - public static final String CHANNEL_SKIPPREVIOUSENABLED = "skipPreviousEnabled"; - public static final String CHANNEL_SAVE_AS_PRESET = "saveAsPreset"; - public static final String CHANNEL_KEY_CODE = "keyCode"; - public static final String CHANNEL_NOWPLAYING_ALBUM = "nowPlayingAlbum"; - public static final String CHANNEL_NOWPLAYING_ARTWORK = "nowPlayingArtwork"; - public static final String CHANNEL_NOWPLAYING_ARTIST = "nowPlayingArtist"; - public static final String CHANNEL_NOWPLAYING_DESCRIPTION = "nowPlayingDescription"; - public static final String CHANNEL_NOWPLAYING_GENRE = "nowPlayingGenre"; - public static final String CHANNEL_NOWPLAYING_ITEMNAME = "nowPlayingItemName"; - public static final String CHANNEL_NOWPLAYING_STATIONLOCATION = "nowPlayingStationLocation"; - public static final String CHANNEL_NOWPLAYING_STATIONNAME = "nowPlayingStationName"; - public static final String CHANNEL_NOWPLAYING_TRACK = "nowPlayingTrack"; - public static final String CHANNEL_NOTIFICATION_SOUND = "notificationsound"; - - public static final List CHANNEL_IDS = Collections.unmodifiableList( - Stream.of(CHANNEL_POWER, CHANNEL_VOLUME, CHANNEL_MUTE, CHANNEL_OPERATIONMODE, CHANNEL_PLAYER_CONTROL, - CHANNEL_PRESET, CHANNEL_BASS, CHANNEL_RATEENABLED, CHANNEL_SKIPENABLED, CHANNEL_SKIPPREVIOUSENABLED, - CHANNEL_SAVE_AS_PRESET, CHANNEL_KEY_CODE, CHANNEL_NOWPLAYING_ALBUM, CHANNEL_NOWPLAYING_ARTWORK, - CHANNEL_NOWPLAYING_ARTIST, CHANNEL_NOWPLAYING_DESCRIPTION, CHANNEL_NOWPLAYING_GENRE, - CHANNEL_NOWPLAYING_ITEMNAME, CHANNEL_NOWPLAYING_STATIONLOCATION, CHANNEL_NOWPLAYING_STATIONNAME, - CHANNEL_NOWPLAYING_TRACK, CHANNEL_NOTIFICATION_SOUND).collect(Collectors.toList())); - - // Device information parameters; - public static final String DEVICE_INFO_NAME = "INFO_NAME"; - public static final String DEVICE_INFO_TYPE = "INFO_TYPE"; - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal; + +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.smarthome.core.thing.ThingTypeUID; + +/** + * The {@link BoseSoundTouchBindinConstantsg} class defines common constants, which are + * used across the whole binding. + * + * @author Christian Niessner - Initial contribution + * @author Thomas Traunbauer - Initial contribution + */ +public class BoseSoundTouchBindingConstants { + + public static final String BINDING_ID = "bosesoundtouch"; + + // List of all Thing Type UIDs + public static final ThingTypeUID BST_UNKNOWN_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "device"); + + public static final ThingTypeUID BST_10_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "10"); + public static final ThingTypeUID BST_20_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "20"); + public static final ThingTypeUID BST_30_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "30"); + public static final ThingTypeUID BST_300_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "300"); + public static final ThingTypeUID BST_WLA_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "wirelessLinkAdapter"); + public static final ThingTypeUID BST_WSMS_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, + "waveSoundTouchMusicSystemIV"); + public static final ThingTypeUID BST_SA5A_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "sa5Amplifier"); + + public static final Set SUPPORTED_KNOWN_THING_TYPES_UIDS = Collections.unmodifiableSet(Stream + .of(BST_UNKNOWN_THING_TYPE_UID, BST_10_THING_TYPE_UID, BST_20_THING_TYPE_UID, BST_30_THING_TYPE_UID, + BST_300_THING_TYPE_UID, BST_WLA_THING_TYPE_UID, BST_WSMS_THING_TYPE_UID, BST_SA5A_THING_TYPE_UID) + .collect(Collectors.toSet())); + + public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>(SUPPORTED_KNOWN_THING_TYPES_UIDS); + + // Partial list of Channel Type IDs + public static final String CHANNEL_TYPE_OPERATION_MODE_DEFAULT = "operationMode_default"; + public static final String CHANNEL_TYPE_OPERATION_MODE_BST_10_20_30 = "operationMode_BST_10_20_30"; + public static final String CHANNEL_TYPE_OPERATION_MODE_BST_300 = "operationMode_BST_300"; + public static final String CHANNEL_TYPE_OPERATION_MODE_BST_SA5A = "operationMode_BST_SA5_Amplifier"; + public static final String CHANNEL_TYPE_OPERATION_MODE_BST_WLA = "operationMode_BST_WLA"; + + // List of all Channel IDs + public static final String CHANNEL_POWER = "power"; + public static final String CHANNEL_VOLUME = "volume"; + public static final String CHANNEL_MUTE = "mute"; + public static final String CHANNEL_OPERATIONMODE = "operationMode"; + public static final String CHANNEL_PLAYER_CONTROL = "playerControl"; + public static final String CHANNEL_PRESET = "preset"; + public static final String CHANNEL_BASS = "bass"; + public static final String CHANNEL_RATEENABLED = "rateEnabled"; + public static final String CHANNEL_SKIPENABLED = "skipEnabled"; + public static final String CHANNEL_SKIPPREVIOUSENABLED = "skipPreviousEnabled"; + public static final String CHANNEL_SAVE_AS_PRESET = "saveAsPreset"; + public static final String CHANNEL_KEY_CODE = "keyCode"; + public static final String CHANNEL_NOWPLAYING_ALBUM = "nowPlayingAlbum"; + public static final String CHANNEL_NOWPLAYING_ARTWORK = "nowPlayingArtwork"; + public static final String CHANNEL_NOWPLAYING_ARTIST = "nowPlayingArtist"; + public static final String CHANNEL_NOWPLAYING_DESCRIPTION = "nowPlayingDescription"; + public static final String CHANNEL_NOWPLAYING_GENRE = "nowPlayingGenre"; + public static final String CHANNEL_NOWPLAYING_ITEMNAME = "nowPlayingItemName"; + public static final String CHANNEL_NOWPLAYING_STATIONLOCATION = "nowPlayingStationLocation"; + public static final String CHANNEL_NOWPLAYING_STATIONNAME = "nowPlayingStationName"; + public static final String CHANNEL_NOWPLAYING_TRACK = "nowPlayingTrack"; + public static final String CHANNEL_NOTIFICATION_SOUND = "notificationsound"; + + public static final List CHANNEL_IDS = Collections.unmodifiableList( + Stream.of(CHANNEL_POWER, CHANNEL_VOLUME, CHANNEL_MUTE, CHANNEL_OPERATIONMODE, CHANNEL_PLAYER_CONTROL, + CHANNEL_PRESET, CHANNEL_BASS, CHANNEL_RATEENABLED, CHANNEL_SKIPENABLED, CHANNEL_SKIPPREVIOUSENABLED, + CHANNEL_SAVE_AS_PRESET, CHANNEL_KEY_CODE, CHANNEL_NOWPLAYING_ALBUM, CHANNEL_NOWPLAYING_ARTWORK, + CHANNEL_NOWPLAYING_ARTIST, CHANNEL_NOWPLAYING_DESCRIPTION, CHANNEL_NOWPLAYING_GENRE, + CHANNEL_NOWPLAYING_ITEMNAME, CHANNEL_NOWPLAYING_STATIONLOCATION, CHANNEL_NOWPLAYING_STATIONNAME, + CHANNEL_NOWPLAYING_TRACK, CHANNEL_NOTIFICATION_SOUND).collect(Collectors.toList())); + + // Device information parameters; + public static final String DEVICE_INFO_NAME = "INFO_NAME"; + public static final String DEVICE_INFO_TYPE = "INFO_TYPE"; +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchConfiguration.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchConfiguration.java index dede672884757..ceb82dfef5db1 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchConfiguration.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchConfiguration.java @@ -1,35 +1,35 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal; - -import org.eclipse.smarthome.core.thing.Thing; - -/** - * Configuration class for soundtouch - * - * @author Ivaylo Ivanov - Initial contribution - */ -public class BoseSoundTouchConfiguration { - - // Device configuration parameters; - public static final String HOST = "host"; - public static final String MAC_ADDRESS = Thing.PROPERTY_MAC_ADDRESS; - public static final String APP_KEY = "appKey"; - - public String host; - public String macAddress; - public String appKey; - - // Not an actual configuration field, but it will contain the name of the group (in case of Stereo Pair) - public String groupName; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal; + +import org.eclipse.smarthome.core.thing.Thing; + +/** + * Configuration class for soundtouch + * + * @author Ivaylo Ivanov - Initial contribution + */ +public class BoseSoundTouchConfiguration { + + // Device configuration parameters; + public static final String HOST = "host"; + public static final String MAC_ADDRESS = Thing.PROPERTY_MAC_ADDRESS; + public static final String APP_KEY = "appKey"; + + public String host; + public String macAddress; + public String appKey; + + // Not an actual configuration field, but it will contain the name of the group (in case of Stereo Pair) + public String groupName; +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchNotificationChannelConfiguration.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchNotificationChannelConfiguration.java index a40e8b302b321..81fbc61ff5c02 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchNotificationChannelConfiguration.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/BoseSoundTouchNotificationChannelConfiguration.java @@ -1,42 +1,42 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal; - -/** - * Configuration class for soundtouch notification channel - * - * @author Ivaylo Ivanov - Initial contribution - */ -public class BoseSoundTouchNotificationChannelConfiguration { - - public static final String MIN_FIRMWARE = "14"; - public static final String MODEL_TYPE = "sm2"; - - public static final String NOTIFICATION_VOLUME = "notificationVolume"; - public static final String NOTIFICATION_SERVICE = "notificationService"; - public static final String NOTIFICATION_REASON = "notificationReason"; - public static final String NOTIFICATION_MESSAGE = "notificationMessage"; - - public Integer notificationVolume; - public String notificationService; - public String notificationReason; - public String notificationMessage; - - public static boolean isSupportedFirmware(String firmware) { - return firmware != null && firmware.compareTo(MIN_FIRMWARE) > 0; - } - - public static boolean isSupportedHardware(String hardware) { - return MODEL_TYPE.equals(hardware); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal; + +/** + * Configuration class for soundtouch notification channel + * + * @author Ivaylo Ivanov - Initial contribution + */ +public class BoseSoundTouchNotificationChannelConfiguration { + + public static final String MIN_FIRMWARE = "14"; + public static final String MODEL_TYPE = "sm2"; + + public static final String NOTIFICATION_VOLUME = "notificationVolume"; + public static final String NOTIFICATION_SERVICE = "notificationService"; + public static final String NOTIFICATION_REASON = "notificationReason"; + public static final String NOTIFICATION_MESSAGE = "notificationMessage"; + + public Integer notificationVolume; + public String notificationService; + public String notificationReason; + public String notificationMessage; + + public static boolean isSupportedFirmware(String firmware) { + return firmware != null && firmware.compareTo(MIN_FIRMWARE) > 0; + } + + public static boolean isSupportedHardware(String hardware) { + return MODEL_TYPE.equals(hardware); + } +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/CommandExecutor.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/CommandExecutor.java index 0a0e651e66fea..b7f578c961e08 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/CommandExecutor.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/CommandExecutor.java @@ -82,9 +82,9 @@ public void updatePresetContainerFromPlayer(Map playerPres /** * Adds a ContentItem to the PresetContainer * - * @param id the id the ContentItem should be reached + * @param id the id the ContentItem should be reached * @param contentItem the contentItem that should be saved as PRESET. Note that a eventually set presetID of the - * ContentItem will be overwritten with id + * ContentItem will be overwritten with id */ public void addContentItemToPresetContainer(int id, ContentItem contentItem) { contentItem.setPresetID(id); @@ -100,7 +100,7 @@ public void addContentItemToPresetContainer(int id, ContentItem contentItem) { * Adds the current selected ContentItem to the PresetContainer * * @param command the command is a DecimalType, thats intValue will be used as id. The id the ContentItem should be - * reached + * reached */ public void addCurrentContentItemToPresetContainer(DecimalType command) { if (command.intValue() > 6) { diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItem.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItem.java index b8b79d18b539d..63382403476ce 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItem.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItem.java @@ -192,7 +192,7 @@ public boolean isPresetable() { public int getPresetID() { return presetID; } - + public String getContainerArt() { return containerArt; } @@ -249,7 +249,7 @@ public String generateXML() { } return xml; } - + public StateOption toStateOption() { String stateOptionLabel = String.valueOf(presetID) + ": " + itemName; return new StateOption(String.valueOf(presetID), stateOptionLabel); diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItemMaker.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItemMaker.java index 6b150abc801ec..f599ae5a82c64 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItemMaker.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/ContentItemMaker.java @@ -233,5 +233,4 @@ private ContentItem getTV() throws OperationModeNotAvailableException { throw new OperationModeNotAvailableException(); } } - } diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/RemoteKeyType.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/RemoteKeyType.java index f2e4321d65d6d..c9fa043efdf24 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/RemoteKeyType.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/RemoteKeyType.java @@ -57,5 +57,4 @@ private RemoteKeyType() { public String toString() { return name; } - } diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseHandler.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseHandler.java index 3033de1ccd132..6e6168d43bb5d 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseHandler.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseHandler.java @@ -1,691 +1,690 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal; - -import static org.eclipse.smarthome.core.thing.Thing.PROPERTY_FIRMWARE_VERSION; -import static org.eclipse.smarthome.core.thing.Thing.PROPERTY_HARDWARE_VERSION; -import static org.eclipse.smarthome.core.thing.Thing.PROPERTY_MODEL_ID; -import static org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchBindingConstants.*; - -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Stack; - -import org.eclipse.smarthome.core.library.types.DecimalType; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.library.types.PercentType; -import org.eclipse.smarthome.core.library.types.PlayPauseType; -import org.eclipse.smarthome.core.library.types.RawType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.types.State; -import org.eclipse.smarthome.core.types.UnDefType; -import org.eclipse.smarthome.io.net.http.HttpUtil; -import org.openhab.binding.bosesoundtouch.internal.handler.BoseSoundTouchHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.xml.sax.Attributes; -import org.xml.sax.SAXException; -import org.xml.sax.helpers.DefaultHandler; - -/** - * The {@link XMLResponseHandler} class handles the XML communication with the Soundtouch - * - * @author Christian Niessner - Initial contribution - * @author Thomas Traunbauer - Initial contribution - * @author Kai Kreuzer - code clean up - */ -public class XMLResponseHandler extends DefaultHandler { - - private final Logger logger = LoggerFactory.getLogger(XMLResponseHandler.class); - - private BoseSoundTouchHandler handler; - private CommandExecutor commandExecutor; - - private Map> stateSwitchingMap; - - private Stack states; - private XMLHandlerState state; - private boolean msgHeaderWasValid; - - private ContentItem contentItem; - private boolean volumeMuteEnabled; - private OnOffType rateEnabled; - private OnOffType skipEnabled; - private OnOffType skipPreviousEnabled; - - private State nowPlayingSource; - - private BoseSoundTouchConfiguration masterDeviceId; - String deviceId; - - private Map playerPresets; - - /** - * Creates a new instance of this class - * - * @param handler - * @param stateSwitchingMap the stateSwitchingMap is the XMLState Map, that says which Flags are computed - */ - public XMLResponseHandler(BoseSoundTouchHandler handler, - Map> stateSwitchingMap) { - this.handler = handler; - this.commandExecutor = handler.getCommandExecutor(); - this.stateSwitchingMap = stateSwitchingMap; - init(); - } - - @Override - public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { - super.startElement(uri, localName, qName, attributes); - logger.trace("{}: startElement('{}'; state: {})", handler.getDeviceName(), localName, state); - states.push(state); - XMLHandlerState curState = state; // save for switch statement - Map stateMap = stateSwitchingMap.get(state); - state = XMLHandlerState.Unprocessed; // set default value; we avoid default in select to have the compiler - // showing a - // warning for unhandled states - switch (curState) { - case INIT: - if ("updates".equals(localName)) { - // it just seems to be a ping - havn't seen any data on it.. - if (checkDeviceId(localName, attributes, false)) { - state = XMLHandlerState.Updates; - } else { - state = XMLHandlerState.Unprocessed; - } - } else { - state = stateMap.get(localName); - if (state == null) { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - } - } - break; - case Msg: - if ("header".equals(localName)) { - // message - if (checkDeviceId(localName, attributes, false)) { - state = XMLHandlerState.MsgHeader; - msgHeaderWasValid = true; - } else { - state = XMLHandlerState.Unprocessed; - } - } else if ("body".equals(localName)) { - if (msgHeaderWasValid) { - state = XMLHandlerState.MsgBody; - } else { - state = XMLHandlerState.Unprocessed; - } - } else { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - } - break; - case MsgHeader: - if ("request".equals(localName)) { - state = XMLHandlerState.Unprocessed; // TODO implement request id / response tracking... - } else { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - } - break; - case MsgBody: - if ("nowPlaying".equals(localName)) { - /* - * if (!checkDeviceId(localName, attributes, true)) { - * state = XMLHandlerState.Unprocessed; - * break; - * } - */ - rateEnabled = OnOffType.OFF; - skipEnabled = OnOffType.OFF; - skipPreviousEnabled = OnOffType.OFF; - state = XMLHandlerState.NowPlaying; - String source = attributes.getValue("source"); - if (nowPlayingSource == null || !nowPlayingSource.toString().equals(source)) { - // source changed - nowPlayingSource = new StringType(source); - // reset enabled states - updateRateEnabled(OnOffType.OFF); - updateSkipEnabled(OnOffType.OFF); - updateSkipPreviousEnabled(OnOffType.OFF); - - // clear all "nowPlaying" details on source change... - updateNowPlayingAlbum(UnDefType.NULL); - updateNowPlayingArtwork(UnDefType.NULL); - updateNowPlayingArtist(UnDefType.NULL); - updateNowPlayingDescription(UnDefType.NULL); - updateNowPlayingGenre(UnDefType.NULL); - updateNowPlayingItemName(UnDefType.NULL); - updateNowPlayingStationLocation(UnDefType.NULL); - updateNowPlayingStationName(UnDefType.NULL); - updateNowPlayingTrack(UnDefType.NULL); - } - } else if ("zone".equals(localName)) { - state = XMLHandlerState.Zone; - } else if ("presets".equals(localName)) { - // reset the current playerPrests - playerPresets = new HashMap<>(); - for (int i = 1; i <= 6; i++) { - playerPresets.put(i, null); - } - state = XMLHandlerState.Presets; - } else if ("group".equals(localName)) { - this.masterDeviceId = new BoseSoundTouchConfiguration(); - state = stateMap.get(localName); - } else { - state = stateMap.get(localName); - if (state == null) { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - } else if (state != XMLHandlerState.Volume && state != XMLHandlerState.Presets - && state != XMLHandlerState.Group - && state != XMLHandlerState.Unprocessed) { - if (!checkDeviceId(localName, attributes, false)) { - state = XMLHandlerState.Unprocessed; - break; - } - } - } - break; - case Presets: - if ("preset".equals(localName)) { - state = XMLHandlerState.Preset; - String id = attributes.getValue("id"); - if (contentItem == null) { - contentItem = new ContentItem(); - } - contentItem.setPresetID(Integer.parseInt(id)); - } else { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - } - break; - case Sources: - if ("sourceItem".equals(localName)) { - state = XMLHandlerState.Unprocessed; - String source = attributes.getValue("source"); - String sourceAccount = attributes.getValue("sourceAccount"); - String status = attributes.getValue("status"); - if (status.equals("READY")) { - if (source.equals("AUX")) { - if (sourceAccount.equals("AUX")) { - commandExecutor.setAUXAvailable(true); - } - if (sourceAccount.equals("AUX1")) { - commandExecutor.setAUX1Available(true); - } - if (sourceAccount.equals("AUX2")) { - commandExecutor.setAUX2Available(true); - } - if (sourceAccount.equals("AUX3")) { - commandExecutor.setAUX3Available(true); - } - } - if (source.equals("STORED_MUSIC")) { - commandExecutor.setStoredMusicAvailable(true); - } - if (source.equals("INTERNET_RADIO")) { - commandExecutor.setInternetRadioAvailable(true); - } - if (source.equals("BLUETOOTH")) { - commandExecutor.setBluetoothAvailable(true); - } - if (source.equals("PRODUCT")) { - if (sourceAccount.equals("TV")) { - commandExecutor.setTVAvailable(true); - } - if (sourceAccount.equals("HDMI_1")) { - commandExecutor.setHDMI1Available(true); - } - } - } - } else { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - } - break; - // auto go trough the state map - case Group: - case Zone: - case Bass: - case ContentItem: - case MasterDeviceId: - case GroupName: - case DeviceId: - case DeviceIp: - case Info: - case NowPlaying: - case Preset: - case Updates: - case Volume: - case Components: - case Component: - state = nextState(stateMap, curState, localName); - break; - case BassCapabilities: - state = nextState(stateMap, curState, localName); - break; - // all entities without any children expected.. - case BassTarget: - case BassActual: - case BassUpdated: - case BassMin: - case BassMax: - case BassDefault: - case ContentItemItemName: - case ContentItemContainerArt: - case InfoName: - case InfoType: - case InfoFirmwareVersion: - case InfoModuleType: - case NowPlayingAlbum: - case NowPlayingArt: - case NowPlayingArtist: - case NowPlayingGenre: - case NowPlayingDescription: - case NowPlayingPlayStatus: - case NowPlayingRateEnabled: - case NowPlayingSkipEnabled: - case NowPlayingSkipPreviousEnabled: - case NowPlayingStationLocation: - case NowPlayingStationName: - case NowPlayingTrack: - case VolumeTarget: - case VolumeActual: - case VolumeUpdated: - case VolumeMuteEnabled: - case ZoneMember: - case ZoneUpdated: // currently this dosn't provide any zone details.. - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - break; - case BassAvailable: - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, - localName); - } - state = XMLHandlerState.Unprocessed; - break; - case Unprocessed: - // all further things are also unprocessed - state = XMLHandlerState.Unprocessed; - break; - case UnprocessedNoTextExpected: - state = XMLHandlerState.UnprocessedNoTextExpected; - break; - } - if (state == XMLHandlerState.ContentItem) { - if (contentItem == null) { - contentItem = new ContentItem(); - } - contentItem.setSource(attributes.getValue("source")); - contentItem.setSourceAccount(attributes.getValue("sourceAccount")); - contentItem.setLocation(attributes.getValue("location")); - contentItem.setPresetable(Boolean.parseBoolean(attributes.getValue("isPresetable"))); - for (int attrId = 0; attrId < attributes.getLength(); attrId++) { - String attrName = attributes.getLocalName(attrId); - if ("source".equalsIgnoreCase(attrName)) { - continue; - } - if ("location".equalsIgnoreCase(attrName)) { - continue; - } - if ("sourceAccount".equalsIgnoreCase(attrName)) { - continue; - } - if ("isPresetable".equalsIgnoreCase(attrName)) { - continue; - } - contentItem.setAdditionalAttribute(attrName, attributes.getValue(attrId)); - } - } - } - - @Override - public void endElement(String uri, String localName, String qName) throws SAXException { - super.endElement(uri, localName, qName); - logger.trace("{}: endElement('{}')", handler.getDeviceName(), localName); - final XMLHandlerState prevState = state; - state = states.pop(); - switch (prevState) { - case Info: - commandExecutor.getInformations(APIRequest.VOLUME); - commandExecutor.getInformations(APIRequest.PRESETS); - commandExecutor.getInformations(APIRequest.NOW_PLAYING); - commandExecutor.getInformations(APIRequest.GET_ZONE); - commandExecutor.getInformations(APIRequest.BASS); - commandExecutor.getInformations(APIRequest.SOURCES); - commandExecutor.getInformations(APIRequest.BASSCAPABILITIES); - commandExecutor.getInformations(APIRequest.GET_GROUP); - break; - case ContentItem: - if (state == XMLHandlerState.NowPlaying) { - // update now playing name... - updateNowPlayingItemName(new StringType(contentItem.getItemName())); - commandExecutor.setCurrentContentItem(contentItem); - } - break; - case Preset: - if (state == XMLHandlerState.Presets) { - playerPresets.put(contentItem.getPresetID(), contentItem); - contentItem = null; - } - break; - case NowPlaying: - if (state == XMLHandlerState.MsgBody) { - updateRateEnabled(rateEnabled); - updateSkipEnabled(skipEnabled); - updateSkipPreviousEnabled(skipPreviousEnabled); - } - break; - // handle special tags.. - case BassUpdated: - // request current bass level - commandExecutor.getInformations(APIRequest.BASS); - break; - case VolumeUpdated: - commandExecutor.getInformations(APIRequest.VOLUME); - break; - case NowPlayingRateEnabled: - rateEnabled = OnOffType.ON; - break; - case NowPlayingSkipEnabled: - skipEnabled = OnOffType.ON; - break; - case NowPlayingSkipPreviousEnabled: - skipPreviousEnabled = OnOffType.ON; - break; - case Volume: - OnOffType muted = volumeMuteEnabled ? OnOffType.ON : OnOffType.OFF; - commandExecutor.setCurrentMuted(volumeMuteEnabled); - commandExecutor.postVolumeMuted(muted); - break; - case ZoneUpdated: - commandExecutor.getInformations(APIRequest.GET_ZONE); - break; - case Presets: - commandExecutor.updatePresetContainerFromPlayer(playerPresets); - playerPresets = null; - break; - case Group: - handler.handleGroupUpdated(masterDeviceId); - break; - default: - // no actions... - break; - } - } - - @Override - public void characters(char[] ch, int start, int length) throws SAXException { - logger.trace("{}: Text data during {}: '{}'", handler.getDeviceName(), state, new String(ch, start, length)); - super.characters(ch, start, length); - switch (state) { - case INIT: - case Msg: - case MsgHeader: - case MsgBody: - case Bass: - case BassUpdated: - case Updates: - case Volume: - case VolumeUpdated: - case Info: - case Preset: - case Presets: - case NowPlaying: - case NowPlayingRateEnabled: - case NowPlayingSkipEnabled: - case NowPlayingSkipPreviousEnabled: - case ContentItem: - case UnprocessedNoTextExpected: - case Zone: - case ZoneUpdated: - case Sources: - logger.debug("{}: Unexpected text data during {}: '{}'", handler.getDeviceName(), state, - new String(ch, start, length)); - break; - case BassMin: // @TODO - find out how to dynamically change "channel-type" bass configuration - case BassMax: // based on these values... - case BassDefault: - case BassTarget: - case VolumeTarget: - // this are currently unprocessed values. - break; - case BassCapabilities: - logger.debug("{}: Unexpected text data during {}: '{}'", handler.getDeviceName(), state, - new String(ch, start, length)); - break; - case Unprocessed: - // drop quietly.. - break; - case BassActual: - commandExecutor.updateBassLevelGUIState(new DecimalType(new String(ch, start, length))); - break; - case InfoName: - setConfigOption(DEVICE_INFO_NAME, new String(ch, start, length)); - break; - case InfoType: - setConfigOption(DEVICE_INFO_TYPE, new String(ch, start, length)); - setConfigOption(PROPERTY_MODEL_ID, new String(ch, start, length)); - break; - case InfoModuleType: - setConfigOption(PROPERTY_HARDWARE_VERSION, new String(ch, start, length)); - break; - case InfoFirmwareVersion: - String[] fwVersion = new String(ch, start, length).split(" "); - setConfigOption(PROPERTY_FIRMWARE_VERSION, fwVersion[0]); - break; - case BassAvailable: - boolean bassAvailable = Boolean.parseBoolean(new String(ch, start, length)); - commandExecutor.setBassAvailable(bassAvailable); - break; - case NowPlayingAlbum: - updateNowPlayingAlbum(new StringType(new String(ch, start, length))); - break; - case NowPlayingArt: - String url = new String(ch, start, length); - if (url.startsWith("http")) { - // We download the cover art in a different thread to not delay the other operations - handler.getScheduler().submit(() -> { - RawType image = HttpUtil.downloadImage(url, true, 500000); - if (image != null) { - updateNowPlayingArtwork(image); - } else { - updateNowPlayingArtwork(UnDefType.UNDEF); - } - }); - } else { - updateNowPlayingArtwork(UnDefType.UNDEF); - } - break; - case NowPlayingArtist: - updateNowPlayingArtist(new StringType(new String(ch, start, length))); - break; - case ContentItemItemName: - contentItem.setItemName(new String(ch, start, length)); - break; - case ContentItemContainerArt: - contentItem.setContainerArt(new String(ch, start, length)); - break; - case NowPlayingDescription: - updateNowPlayingDescription(new StringType(new String(ch, start, length))); - break; - case NowPlayingGenre: - updateNowPlayingGenre(new StringType(new String(ch, start, length))); - break; - case NowPlayingPlayStatus: - String playPauseState = new String(ch, start, length); - if ("PLAY_STATE".equals(playPauseState) || "BUFFERING_STATE".equals(playPauseState)) { - commandExecutor.updatePlayerControlGUIState(PlayPauseType.PLAY); - } else if ("STOP_STATE".equals(playPauseState) || "PAUSE_STATE".equals(playPauseState)) { - commandExecutor.updatePlayerControlGUIState(PlayPauseType.PAUSE); - } - break; - case NowPlayingStationLocation: - updateNowPlayingStationLocation(new StringType(new String(ch, start, length))); - break; - case NowPlayingStationName: - updateNowPlayingStationName(new StringType(new String(ch, start, length))); - break; - case NowPlayingTrack: - updateNowPlayingTrack(new StringType(new String(ch, start, length))); - break; - case VolumeActual: - commandExecutor.updateVolumeGUIState(new PercentType(Integer.parseInt(new String(ch, start, length)))); - break; - case VolumeMuteEnabled: - volumeMuteEnabled = Boolean.parseBoolean(new String(ch, start, length)); - commandExecutor.setCurrentMuted(volumeMuteEnabled); - break; - case MasterDeviceId: - if (masterDeviceId != null) { - masterDeviceId.macAddress = new String(ch, start, length); - } - break; - case GroupName: - if (masterDeviceId != null) { - masterDeviceId.groupName = new String(ch, start, length); - } - break; - case DeviceId: - deviceId = new String(ch, start, length); - break; - case DeviceIp: - if (masterDeviceId != null && Objects.equals(masterDeviceId.macAddress, deviceId)) { - masterDeviceId.host = new String(ch, start, length); - } - break; - default: - // do nothing - break; - } - } - - @Override - public void skippedEntity(String name) throws SAXException { - super.skippedEntity(name); - } - - private boolean checkDeviceId(String localName, Attributes attributes, boolean allowFromMaster) { - String deviceID = attributes.getValue("deviceID"); - if (deviceID == null) { - logger.warn("{}: No device-ID in entity {}", handler.getDeviceName(), localName); - return false; - } - if (deviceID.equals(handler.getMacAddress())) { - return true; - } - logger.warn("{}: Wrong device-ID in entity '{}': Got: '{}', expected: '{}'", handler.getDeviceName(), localName, - deviceID, handler.getMacAddress()); - return false; - } - - private void init() { - states = new Stack<>(); - state = XMLHandlerState.INIT; - nowPlayingSource = null; - } - - private XMLHandlerState nextState(Map stateMap, XMLHandlerState curState, - String localName) { - XMLHandlerState state = stateMap.get(localName); - if (state == null) { - if (logger.isDebugEnabled()) { - logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, localName); - } - state = XMLHandlerState.Unprocessed; - } - return state; - } - - private void setConfigOption(String option, String value) { - Map prop = handler.getThing().getProperties(); - String cur = prop.get(option); - if (cur == null || !cur.equals(value)) { - logger.debug("{}: Option '{}' updated: From '{}' to '{}'", handler.getDeviceName(), option, cur, value); - handler.getThing().setProperty(option, value); - } - } - - private void updateNowPlayingAlbum(State state) { - handler.updateState(CHANNEL_NOWPLAYING_ALBUM, state); - } - - private void updateNowPlayingArtwork(State state) { - handler.updateState(CHANNEL_NOWPLAYING_ARTWORK, state); - } - - private void updateNowPlayingArtist(State state) { - handler.updateState(CHANNEL_NOWPLAYING_ARTIST, state); - } - - private void updateNowPlayingDescription(State state) { - handler.updateState(CHANNEL_NOWPLAYING_DESCRIPTION, state); - } - - private void updateNowPlayingGenre(State state) { - handler.updateState(CHANNEL_NOWPLAYING_GENRE, state); - } - - private void updateNowPlayingItemName(State state) { - handler.updateState(CHANNEL_NOWPLAYING_ITEMNAME, state); - } - - private void updateNowPlayingStationLocation(State state) { - handler.updateState(CHANNEL_NOWPLAYING_STATIONLOCATION, state); - } - - private void updateNowPlayingStationName(State state) { - handler.updateState(CHANNEL_NOWPLAYING_STATIONNAME, state); - } - - private void updateNowPlayingTrack(State state) { - handler.updateState(CHANNEL_NOWPLAYING_TRACK, state); - } - - private void updateRateEnabled(OnOffType state) { - handler.updateState(CHANNEL_RATEENABLED, state); - } - - private void updateSkipEnabled(OnOffType state) { - handler.updateState(CHANNEL_SKIPENABLED, state); - } - - private void updateSkipPreviousEnabled(OnOffType state) { - handler.updateState(CHANNEL_SKIPPREVIOUSENABLED, state); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal; + +import static org.eclipse.smarthome.core.thing.Thing.PROPERTY_FIRMWARE_VERSION; +import static org.eclipse.smarthome.core.thing.Thing.PROPERTY_HARDWARE_VERSION; +import static org.eclipse.smarthome.core.thing.Thing.PROPERTY_MODEL_ID; +import static org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchBindingConstants.*; + +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Stack; + +import org.eclipse.smarthome.core.library.types.DecimalType; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.PercentType; +import org.eclipse.smarthome.core.library.types.PlayPauseType; +import org.eclipse.smarthome.core.library.types.RawType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.types.State; +import org.eclipse.smarthome.core.types.UnDefType; +import org.eclipse.smarthome.io.net.http.HttpUtil; +import org.openhab.binding.bosesoundtouch.internal.handler.BoseSoundTouchHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +/** + * The {@link XMLResponseHandler} class handles the XML communication with the Soundtouch + * + * @author Christian Niessner - Initial contribution + * @author Thomas Traunbauer - Initial contribution + * @author Kai Kreuzer - code clean up + */ +public class XMLResponseHandler extends DefaultHandler { + + private final Logger logger = LoggerFactory.getLogger(XMLResponseHandler.class); + + private BoseSoundTouchHandler handler; + private CommandExecutor commandExecutor; + + private Map> stateSwitchingMap; + + private Stack states; + private XMLHandlerState state; + private boolean msgHeaderWasValid; + + private ContentItem contentItem; + private boolean volumeMuteEnabled; + private OnOffType rateEnabled; + private OnOffType skipEnabled; + private OnOffType skipPreviousEnabled; + + private State nowPlayingSource; + + private BoseSoundTouchConfiguration masterDeviceId; + String deviceId; + + private Map playerPresets; + + /** + * Creates a new instance of this class + * + * @param handler + * @param stateSwitchingMap the stateSwitchingMap is the XMLState Map, that says which Flags are computed + */ + public XMLResponseHandler(BoseSoundTouchHandler handler, + Map> stateSwitchingMap) { + this.handler = handler; + this.commandExecutor = handler.getCommandExecutor(); + this.stateSwitchingMap = stateSwitchingMap; + init(); + } + + @Override + public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { + super.startElement(uri, localName, qName, attributes); + logger.trace("{}: startElement('{}'; state: {})", handler.getDeviceName(), localName, state); + states.push(state); + XMLHandlerState curState = state; // save for switch statement + Map stateMap = stateSwitchingMap.get(state); + state = XMLHandlerState.Unprocessed; // set default value; we avoid default in select to have the compiler + // showing a + // warning for unhandled states + switch (curState) { + case INIT: + if ("updates".equals(localName)) { + // it just seems to be a ping - havn't seen any data on it.. + if (checkDeviceId(localName, attributes, false)) { + state = XMLHandlerState.Updates; + } else { + state = XMLHandlerState.Unprocessed; + } + } else { + state = stateMap.get(localName); + if (state == null) { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + } + } + break; + case Msg: + if ("header".equals(localName)) { + // message + if (checkDeviceId(localName, attributes, false)) { + state = XMLHandlerState.MsgHeader; + msgHeaderWasValid = true; + } else { + state = XMLHandlerState.Unprocessed; + } + } else if ("body".equals(localName)) { + if (msgHeaderWasValid) { + state = XMLHandlerState.MsgBody; + } else { + state = XMLHandlerState.Unprocessed; + } + } else { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + } + break; + case MsgHeader: + if ("request".equals(localName)) { + state = XMLHandlerState.Unprocessed; // TODO implement request id / response tracking... + } else { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + } + break; + case MsgBody: + if ("nowPlaying".equals(localName)) { + /* + * if (!checkDeviceId(localName, attributes, true)) { + * state = XMLHandlerState.Unprocessed; + * break; + * } + */ + rateEnabled = OnOffType.OFF; + skipEnabled = OnOffType.OFF; + skipPreviousEnabled = OnOffType.OFF; + state = XMLHandlerState.NowPlaying; + String source = attributes.getValue("source"); + if (nowPlayingSource == null || !nowPlayingSource.toString().equals(source)) { + // source changed + nowPlayingSource = new StringType(source); + // reset enabled states + updateRateEnabled(OnOffType.OFF); + updateSkipEnabled(OnOffType.OFF); + updateSkipPreviousEnabled(OnOffType.OFF); + + // clear all "nowPlaying" details on source change... + updateNowPlayingAlbum(UnDefType.NULL); + updateNowPlayingArtwork(UnDefType.NULL); + updateNowPlayingArtist(UnDefType.NULL); + updateNowPlayingDescription(UnDefType.NULL); + updateNowPlayingGenre(UnDefType.NULL); + updateNowPlayingItemName(UnDefType.NULL); + updateNowPlayingStationLocation(UnDefType.NULL); + updateNowPlayingStationName(UnDefType.NULL); + updateNowPlayingTrack(UnDefType.NULL); + } + } else if ("zone".equals(localName)) { + state = XMLHandlerState.Zone; + } else if ("presets".equals(localName)) { + // reset the current playerPrests + playerPresets = new HashMap<>(); + for (int i = 1; i <= 6; i++) { + playerPresets.put(i, null); + } + state = XMLHandlerState.Presets; + } else if ("group".equals(localName)) { + this.masterDeviceId = new BoseSoundTouchConfiguration(); + state = stateMap.get(localName); + } else { + state = stateMap.get(localName); + if (state == null) { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + } else if (state != XMLHandlerState.Volume && state != XMLHandlerState.Presets + && state != XMLHandlerState.Group && state != XMLHandlerState.Unprocessed) { + if (!checkDeviceId(localName, attributes, false)) { + state = XMLHandlerState.Unprocessed; + break; + } + } + } + break; + case Presets: + if ("preset".equals(localName)) { + state = XMLHandlerState.Preset; + String id = attributes.getValue("id"); + if (contentItem == null) { + contentItem = new ContentItem(); + } + contentItem.setPresetID(Integer.parseInt(id)); + } else { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + } + break; + case Sources: + if ("sourceItem".equals(localName)) { + state = XMLHandlerState.Unprocessed; + String source = attributes.getValue("source"); + String sourceAccount = attributes.getValue("sourceAccount"); + String status = attributes.getValue("status"); + if (status.equals("READY")) { + if (source.equals("AUX")) { + if (sourceAccount.equals("AUX")) { + commandExecutor.setAUXAvailable(true); + } + if (sourceAccount.equals("AUX1")) { + commandExecutor.setAUX1Available(true); + } + if (sourceAccount.equals("AUX2")) { + commandExecutor.setAUX2Available(true); + } + if (sourceAccount.equals("AUX3")) { + commandExecutor.setAUX3Available(true); + } + } + if (source.equals("STORED_MUSIC")) { + commandExecutor.setStoredMusicAvailable(true); + } + if (source.equals("INTERNET_RADIO")) { + commandExecutor.setInternetRadioAvailable(true); + } + if (source.equals("BLUETOOTH")) { + commandExecutor.setBluetoothAvailable(true); + } + if (source.equals("PRODUCT")) { + if (sourceAccount.equals("TV")) { + commandExecutor.setTVAvailable(true); + } + if (sourceAccount.equals("HDMI_1")) { + commandExecutor.setHDMI1Available(true); + } + } + } + } else { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + } + break; + // auto go trough the state map + case Group: + case Zone: + case Bass: + case ContentItem: + case MasterDeviceId: + case GroupName: + case DeviceId: + case DeviceIp: + case Info: + case NowPlaying: + case Preset: + case Updates: + case Volume: + case Components: + case Component: + state = nextState(stateMap, curState, localName); + break; + case BassCapabilities: + state = nextState(stateMap, curState, localName); + break; + // all entities without any children expected.. + case BassTarget: + case BassActual: + case BassUpdated: + case BassMin: + case BassMax: + case BassDefault: + case ContentItemItemName: + case ContentItemContainerArt: + case InfoName: + case InfoType: + case InfoFirmwareVersion: + case InfoModuleType: + case NowPlayingAlbum: + case NowPlayingArt: + case NowPlayingArtist: + case NowPlayingGenre: + case NowPlayingDescription: + case NowPlayingPlayStatus: + case NowPlayingRateEnabled: + case NowPlayingSkipEnabled: + case NowPlayingSkipPreviousEnabled: + case NowPlayingStationLocation: + case NowPlayingStationName: + case NowPlayingTrack: + case VolumeTarget: + case VolumeActual: + case VolumeUpdated: + case VolumeMuteEnabled: + case ZoneMember: + case ZoneUpdated: // currently this dosn't provide any zone details.. + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + break; + case BassAvailable: + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, + localName); + } + state = XMLHandlerState.Unprocessed; + break; + case Unprocessed: + // all further things are also unprocessed + state = XMLHandlerState.Unprocessed; + break; + case UnprocessedNoTextExpected: + state = XMLHandlerState.UnprocessedNoTextExpected; + break; + } + if (state == XMLHandlerState.ContentItem) { + if (contentItem == null) { + contentItem = new ContentItem(); + } + contentItem.setSource(attributes.getValue("source")); + contentItem.setSourceAccount(attributes.getValue("sourceAccount")); + contentItem.setLocation(attributes.getValue("location")); + contentItem.setPresetable(Boolean.parseBoolean(attributes.getValue("isPresetable"))); + for (int attrId = 0; attrId < attributes.getLength(); attrId++) { + String attrName = attributes.getLocalName(attrId); + if ("source".equalsIgnoreCase(attrName)) { + continue; + } + if ("location".equalsIgnoreCase(attrName)) { + continue; + } + if ("sourceAccount".equalsIgnoreCase(attrName)) { + continue; + } + if ("isPresetable".equalsIgnoreCase(attrName)) { + continue; + } + contentItem.setAdditionalAttribute(attrName, attributes.getValue(attrId)); + } + } + } + + @Override + public void endElement(String uri, String localName, String qName) throws SAXException { + super.endElement(uri, localName, qName); + logger.trace("{}: endElement('{}')", handler.getDeviceName(), localName); + final XMLHandlerState prevState = state; + state = states.pop(); + switch (prevState) { + case Info: + commandExecutor.getInformations(APIRequest.VOLUME); + commandExecutor.getInformations(APIRequest.PRESETS); + commandExecutor.getInformations(APIRequest.NOW_PLAYING); + commandExecutor.getInformations(APIRequest.GET_ZONE); + commandExecutor.getInformations(APIRequest.BASS); + commandExecutor.getInformations(APIRequest.SOURCES); + commandExecutor.getInformations(APIRequest.BASSCAPABILITIES); + commandExecutor.getInformations(APIRequest.GET_GROUP); + break; + case ContentItem: + if (state == XMLHandlerState.NowPlaying) { + // update now playing name... + updateNowPlayingItemName(new StringType(contentItem.getItemName())); + commandExecutor.setCurrentContentItem(contentItem); + } + break; + case Preset: + if (state == XMLHandlerState.Presets) { + playerPresets.put(contentItem.getPresetID(), contentItem); + contentItem = null; + } + break; + case NowPlaying: + if (state == XMLHandlerState.MsgBody) { + updateRateEnabled(rateEnabled); + updateSkipEnabled(skipEnabled); + updateSkipPreviousEnabled(skipPreviousEnabled); + } + break; + // handle special tags.. + case BassUpdated: + // request current bass level + commandExecutor.getInformations(APIRequest.BASS); + break; + case VolumeUpdated: + commandExecutor.getInformations(APIRequest.VOLUME); + break; + case NowPlayingRateEnabled: + rateEnabled = OnOffType.ON; + break; + case NowPlayingSkipEnabled: + skipEnabled = OnOffType.ON; + break; + case NowPlayingSkipPreviousEnabled: + skipPreviousEnabled = OnOffType.ON; + break; + case Volume: + OnOffType muted = volumeMuteEnabled ? OnOffType.ON : OnOffType.OFF; + commandExecutor.setCurrentMuted(volumeMuteEnabled); + commandExecutor.postVolumeMuted(muted); + break; + case ZoneUpdated: + commandExecutor.getInformations(APIRequest.GET_ZONE); + break; + case Presets: + commandExecutor.updatePresetContainerFromPlayer(playerPresets); + playerPresets = null; + break; + case Group: + handler.handleGroupUpdated(masterDeviceId); + break; + default: + // no actions... + break; + } + } + + @Override + public void characters(char[] ch, int start, int length) throws SAXException { + logger.trace("{}: Text data during {}: '{}'", handler.getDeviceName(), state, new String(ch, start, length)); + super.characters(ch, start, length); + switch (state) { + case INIT: + case Msg: + case MsgHeader: + case MsgBody: + case Bass: + case BassUpdated: + case Updates: + case Volume: + case VolumeUpdated: + case Info: + case Preset: + case Presets: + case NowPlaying: + case NowPlayingRateEnabled: + case NowPlayingSkipEnabled: + case NowPlayingSkipPreviousEnabled: + case ContentItem: + case UnprocessedNoTextExpected: + case Zone: + case ZoneUpdated: + case Sources: + logger.debug("{}: Unexpected text data during {}: '{}'", handler.getDeviceName(), state, + new String(ch, start, length)); + break; + case BassMin: // @TODO - find out how to dynamically change "channel-type" bass configuration + case BassMax: // based on these values... + case BassDefault: + case BassTarget: + case VolumeTarget: + // this are currently unprocessed values. + break; + case BassCapabilities: + logger.debug("{}: Unexpected text data during {}: '{}'", handler.getDeviceName(), state, + new String(ch, start, length)); + break; + case Unprocessed: + // drop quietly.. + break; + case BassActual: + commandExecutor.updateBassLevelGUIState(new DecimalType(new String(ch, start, length))); + break; + case InfoName: + setConfigOption(DEVICE_INFO_NAME, new String(ch, start, length)); + break; + case InfoType: + setConfigOption(DEVICE_INFO_TYPE, new String(ch, start, length)); + setConfigOption(PROPERTY_MODEL_ID, new String(ch, start, length)); + break; + case InfoModuleType: + setConfigOption(PROPERTY_HARDWARE_VERSION, new String(ch, start, length)); + break; + case InfoFirmwareVersion: + String[] fwVersion = new String(ch, start, length).split(" "); + setConfigOption(PROPERTY_FIRMWARE_VERSION, fwVersion[0]); + break; + case BassAvailable: + boolean bassAvailable = Boolean.parseBoolean(new String(ch, start, length)); + commandExecutor.setBassAvailable(bassAvailable); + break; + case NowPlayingAlbum: + updateNowPlayingAlbum(new StringType(new String(ch, start, length))); + break; + case NowPlayingArt: + String url = new String(ch, start, length); + if (url.startsWith("http")) { + // We download the cover art in a different thread to not delay the other operations + handler.getScheduler().submit(() -> { + RawType image = HttpUtil.downloadImage(url, true, 500000); + if (image != null) { + updateNowPlayingArtwork(image); + } else { + updateNowPlayingArtwork(UnDefType.UNDEF); + } + }); + } else { + updateNowPlayingArtwork(UnDefType.UNDEF); + } + break; + case NowPlayingArtist: + updateNowPlayingArtist(new StringType(new String(ch, start, length))); + break; + case ContentItemItemName: + contentItem.setItemName(new String(ch, start, length)); + break; + case ContentItemContainerArt: + contentItem.setContainerArt(new String(ch, start, length)); + break; + case NowPlayingDescription: + updateNowPlayingDescription(new StringType(new String(ch, start, length))); + break; + case NowPlayingGenre: + updateNowPlayingGenre(new StringType(new String(ch, start, length))); + break; + case NowPlayingPlayStatus: + String playPauseState = new String(ch, start, length); + if ("PLAY_STATE".equals(playPauseState) || "BUFFERING_STATE".equals(playPauseState)) { + commandExecutor.updatePlayerControlGUIState(PlayPauseType.PLAY); + } else if ("STOP_STATE".equals(playPauseState) || "PAUSE_STATE".equals(playPauseState)) { + commandExecutor.updatePlayerControlGUIState(PlayPauseType.PAUSE); + } + break; + case NowPlayingStationLocation: + updateNowPlayingStationLocation(new StringType(new String(ch, start, length))); + break; + case NowPlayingStationName: + updateNowPlayingStationName(new StringType(new String(ch, start, length))); + break; + case NowPlayingTrack: + updateNowPlayingTrack(new StringType(new String(ch, start, length))); + break; + case VolumeActual: + commandExecutor.updateVolumeGUIState(new PercentType(Integer.parseInt(new String(ch, start, length)))); + break; + case VolumeMuteEnabled: + volumeMuteEnabled = Boolean.parseBoolean(new String(ch, start, length)); + commandExecutor.setCurrentMuted(volumeMuteEnabled); + break; + case MasterDeviceId: + if (masterDeviceId != null) { + masterDeviceId.macAddress = new String(ch, start, length); + } + break; + case GroupName: + if (masterDeviceId != null) { + masterDeviceId.groupName = new String(ch, start, length); + } + break; + case DeviceId: + deviceId = new String(ch, start, length); + break; + case DeviceIp: + if (masterDeviceId != null && Objects.equals(masterDeviceId.macAddress, deviceId)) { + masterDeviceId.host = new String(ch, start, length); + } + break; + default: + // do nothing + break; + } + } + + @Override + public void skippedEntity(String name) throws SAXException { + super.skippedEntity(name); + } + + private boolean checkDeviceId(String localName, Attributes attributes, boolean allowFromMaster) { + String deviceID = attributes.getValue("deviceID"); + if (deviceID == null) { + logger.warn("{}: No device-ID in entity {}", handler.getDeviceName(), localName); + return false; + } + if (deviceID.equals(handler.getMacAddress())) { + return true; + } + logger.warn("{}: Wrong device-ID in entity '{}': Got: '{}', expected: '{}'", handler.getDeviceName(), localName, + deviceID, handler.getMacAddress()); + return false; + } + + private void init() { + states = new Stack<>(); + state = XMLHandlerState.INIT; + nowPlayingSource = null; + } + + private XMLHandlerState nextState(Map stateMap, XMLHandlerState curState, + String localName) { + XMLHandlerState state = stateMap.get(localName); + if (state == null) { + if (logger.isDebugEnabled()) { + logger.warn("{}: Unhandled XML entity during {}: '{}'", handler.getDeviceName(), curState, localName); + } + state = XMLHandlerState.Unprocessed; + } + return state; + } + + private void setConfigOption(String option, String value) { + Map prop = handler.getThing().getProperties(); + String cur = prop.get(option); + if (cur == null || !cur.equals(value)) { + logger.debug("{}: Option '{}' updated: From '{}' to '{}'", handler.getDeviceName(), option, cur, value); + handler.getThing().setProperty(option, value); + } + } + + private void updateNowPlayingAlbum(State state) { + handler.updateState(CHANNEL_NOWPLAYING_ALBUM, state); + } + + private void updateNowPlayingArtwork(State state) { + handler.updateState(CHANNEL_NOWPLAYING_ARTWORK, state); + } + + private void updateNowPlayingArtist(State state) { + handler.updateState(CHANNEL_NOWPLAYING_ARTIST, state); + } + + private void updateNowPlayingDescription(State state) { + handler.updateState(CHANNEL_NOWPLAYING_DESCRIPTION, state); + } + + private void updateNowPlayingGenre(State state) { + handler.updateState(CHANNEL_NOWPLAYING_GENRE, state); + } + + private void updateNowPlayingItemName(State state) { + handler.updateState(CHANNEL_NOWPLAYING_ITEMNAME, state); + } + + private void updateNowPlayingStationLocation(State state) { + handler.updateState(CHANNEL_NOWPLAYING_STATIONLOCATION, state); + } + + private void updateNowPlayingStationName(State state) { + handler.updateState(CHANNEL_NOWPLAYING_STATIONNAME, state); + } + + private void updateNowPlayingTrack(State state) { + handler.updateState(CHANNEL_NOWPLAYING_TRACK, state); + } + + private void updateRateEnabled(OnOffType state) { + handler.updateState(CHANNEL_RATEENABLED, state); + } + + private void updateSkipEnabled(OnOffType state) { + handler.updateState(CHANNEL_SKIPENABLED, state); + } + + private void updateSkipPreviousEnabled(OnOffType state) { + handler.updateState(CHANNEL_SKIPPREVIOUSENABLED, state); + } +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseProcessor.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseProcessor.java index f4ee3762ec72d..6ab91903f6a9a 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseProcessor.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/XMLResponseProcessor.java @@ -1,173 +1,173 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal; - -import java.io.IOException; -import java.io.StringReader; -import java.util.HashMap; -import java.util.Map; - -import org.openhab.binding.bosesoundtouch.internal.handler.BoseSoundTouchHandler; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.XMLReader; -import org.xml.sax.helpers.XMLReaderFactory; - -/** - * The {@link XMLResponseProcessor} class handles the XML mapping - * - * @author Christian Niessner - Initial contribution - * @author Thomas Traunbauer - Initial contribution - */ -public class XMLResponseProcessor { - private BoseSoundTouchHandler handler; - - private Map> stateSwitchingMap; - - public XMLResponseProcessor(BoseSoundTouchHandler handler) { - this.handler = handler; - init(); - } - - public void handleMessage(String msg) throws SAXException, IOException { - XMLReader reader = XMLReaderFactory.createXMLReader(); - reader.setContentHandler(new XMLResponseHandler(handler, stateSwitchingMap)); - reader.parse(new InputSource(new StringReader(msg))); - } - - // initializes our XML parsing state machine - private void init() { - stateSwitchingMap = new HashMap<>(); - - Map msgInitMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.INIT, msgInitMap); - msgInitMap.put("msg", XMLHandlerState.Msg); - msgInitMap.put("SoundTouchSdkInfo", XMLHandlerState.Unprocessed); - msgInitMap.put("userActivityUpdate", XMLHandlerState.Unprocessed); // ignored.. - - Map msgBodyMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.MsgBody, msgBodyMap); - msgBodyMap.put("info", XMLHandlerState.Info); - msgBodyMap.put("volume", XMLHandlerState.Volume); - msgBodyMap.put("presets", XMLHandlerState.Presets); - msgBodyMap.put("key", XMLHandlerState.Unprocessed); // only confirmation of our key presses... - msgBodyMap.put("status", XMLHandlerState.Unprocessed); // only confirmation of commands sent to device... - msgBodyMap.put("zone", XMLHandlerState.Zone); // only confirmation of our key presses... - msgBodyMap.put("bass", XMLHandlerState.Bass); - msgBodyMap.put("sources", XMLHandlerState.Sources); - msgBodyMap.put("bassCapabilities", XMLHandlerState.BassCapabilities); - msgBodyMap.put("group", XMLHandlerState.Group); - - // info message states - Map infoMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Info, infoMap); - infoMap.put("components", XMLHandlerState.Info); - infoMap.put("component", XMLHandlerState.Info); - infoMap.put("name", XMLHandlerState.InfoName); - infoMap.put("type", XMLHandlerState.InfoType); - infoMap.put("componentCategory", XMLHandlerState.Unprocessed); - infoMap.put("softwareVersion", XMLHandlerState.InfoFirmwareVersion); - infoMap.put("serialNumber", XMLHandlerState.Unprocessed); - infoMap.put("networkInfo", XMLHandlerState.Unprocessed); - infoMap.put("margeAccountUUID", XMLHandlerState.Unprocessed); - infoMap.put("margeURL", XMLHandlerState.Unprocessed); - infoMap.put("moduleType", XMLHandlerState.InfoModuleType); - infoMap.put("variant", XMLHandlerState.Unprocessed); - infoMap.put("variantMode", XMLHandlerState.Unprocessed); - infoMap.put("countryCode", XMLHandlerState.Unprocessed); - infoMap.put("regionCode", XMLHandlerState.Unprocessed); - - Map updatesMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Updates, updatesMap); - updatesMap.put("clockDisplayUpdated", XMLHandlerState.Unprocessed); // can we get anything useful of that? - updatesMap.put("connectionStateUpdated", XMLHandlerState.UnprocessedNoTextExpected); - updatesMap.put("infoUpdated", XMLHandlerState.Unprocessed); - updatesMap.put("nowPlayingUpdated", XMLHandlerState.MsgBody); - updatesMap.put("nowSelectionUpdated", XMLHandlerState.Unprocessed); // TODO this seems to be quite a useful info - // what is currently played.. - updatesMap.put("recentsUpdated", XMLHandlerState.Unprocessed); - updatesMap.put("volumeUpdated", XMLHandlerState.MsgBody); - updatesMap.put("zoneUpdated", XMLHandlerState.ZoneUpdated); // just notifies but dosn't provide details - updatesMap.put("bassUpdated", XMLHandlerState.BassUpdated); - updatesMap.put("presetsUpdated", XMLHandlerState.MsgBody); - updatesMap.put("groupUpdated", XMLHandlerState.MsgBody); - - Map volume = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Volume, volume); - volume.put("targetvolume", XMLHandlerState.VolumeTarget); - volume.put("actualvolume", XMLHandlerState.VolumeActual); - volume.put("muteenabled", XMLHandlerState.VolumeMuteEnabled); - - Map nowPlayingMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.NowPlaying, nowPlayingMap); - nowPlayingMap.put("album", XMLHandlerState.NowPlayingAlbum); - nowPlayingMap.put("art", XMLHandlerState.NowPlayingArt); - nowPlayingMap.put("artist", XMLHandlerState.NowPlayingArtist); - nowPlayingMap.put("ContentItem", XMLHandlerState.ContentItem); - nowPlayingMap.put("description", XMLHandlerState.NowPlayingDescription); - nowPlayingMap.put("playStatus", XMLHandlerState.NowPlayingPlayStatus); - nowPlayingMap.put("rateEnabled", XMLHandlerState.NowPlayingRateEnabled); - nowPlayingMap.put("skipEnabled", XMLHandlerState.NowPlayingSkipEnabled); - nowPlayingMap.put("skipPreviousEnabled", XMLHandlerState.NowPlayingSkipPreviousEnabled); - nowPlayingMap.put("stationLocation", XMLHandlerState.NowPlayingStationLocation); - nowPlayingMap.put("stationName", XMLHandlerState.NowPlayingStationName); - nowPlayingMap.put("track", XMLHandlerState.NowPlayingTrack); - nowPlayingMap.put("connectionStatusInfo", XMLHandlerState.Unprocessed); // TODO active when Source==Bluetooth - // TODO active when Source==Pandora and maybe also other sources - seems to be rating related - nowPlayingMap.put("time", XMLHandlerState.Unprocessed); - nowPlayingMap.put("rating", XMLHandlerState.Unprocessed); - nowPlayingMap.put("rateEnabled", XMLHandlerState.Unprocessed); - - // ContentItem specifies a resource (that also could be bookmarked in a preset) - Map contentItemMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.ContentItem, contentItemMap); - contentItemMap.put("itemName", XMLHandlerState.ContentItemItemName); - contentItemMap.put("containerArt", XMLHandlerState.ContentItemContainerArt); - - Map presetMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Preset, presetMap); - presetMap.put("ContentItem", XMLHandlerState.ContentItem); - - Map zoneMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Zone, zoneMap); - zoneMap.put("member", XMLHandlerState.ZoneMember); - - Map bassMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Bass, bassMap); - bassMap.put("targetbass", XMLHandlerState.BassTarget); - bassMap.put("actualbass", XMLHandlerState.BassActual); - - Map sourceMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Sources, sourceMap); - - Map bassCapabilitiesMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.BassCapabilities, bassCapabilitiesMap); - bassCapabilitiesMap.put("bassAvailable", XMLHandlerState.BassAvailable); - bassCapabilitiesMap.put("bassMin", XMLHandlerState.BassMin); - bassCapabilitiesMap.put("bassMax", XMLHandlerState.BassMax); - bassCapabilitiesMap.put("bassDefault", XMLHandlerState.BassDefault); - - Map groupsMap = new HashMap<>(); - stateSwitchingMap.put(XMLHandlerState.Group, groupsMap); - groupsMap.put("name", XMLHandlerState.GroupName); - groupsMap.put("masterDeviceId", XMLHandlerState.MasterDeviceId); - groupsMap.put("roles", XMLHandlerState.Unprocessed); - groupsMap.put("senderIPAddress", XMLHandlerState.Unprocessed); - groupsMap.put("status", XMLHandlerState.Unprocessed); - groupsMap.put("roles", XMLHandlerState.Unprocessed); - groupsMap.put("groupRole", XMLHandlerState.Unprocessed); - groupsMap.put("deviceId", XMLHandlerState.DeviceId); - groupsMap.put("role", XMLHandlerState.Unprocessed); - groupsMap.put("ipAddress", XMLHandlerState.DeviceIp); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal; + +import java.io.IOException; +import java.io.StringReader; +import java.util.HashMap; +import java.util.Map; + +import org.openhab.binding.bosesoundtouch.internal.handler.BoseSoundTouchHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.XMLReaderFactory; + +/** + * The {@link XMLResponseProcessor} class handles the XML mapping + * + * @author Christian Niessner - Initial contribution + * @author Thomas Traunbauer - Initial contribution + */ +public class XMLResponseProcessor { + private BoseSoundTouchHandler handler; + + private Map> stateSwitchingMap; + + public XMLResponseProcessor(BoseSoundTouchHandler handler) { + this.handler = handler; + init(); + } + + public void handleMessage(String msg) throws SAXException, IOException { + XMLReader reader = XMLReaderFactory.createXMLReader(); + reader.setContentHandler(new XMLResponseHandler(handler, stateSwitchingMap)); + reader.parse(new InputSource(new StringReader(msg))); + } + + // initializes our XML parsing state machine + private void init() { + stateSwitchingMap = new HashMap<>(); + + Map msgInitMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.INIT, msgInitMap); + msgInitMap.put("msg", XMLHandlerState.Msg); + msgInitMap.put("SoundTouchSdkInfo", XMLHandlerState.Unprocessed); + msgInitMap.put("userActivityUpdate", XMLHandlerState.Unprocessed); // ignored.. + + Map msgBodyMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.MsgBody, msgBodyMap); + msgBodyMap.put("info", XMLHandlerState.Info); + msgBodyMap.put("volume", XMLHandlerState.Volume); + msgBodyMap.put("presets", XMLHandlerState.Presets); + msgBodyMap.put("key", XMLHandlerState.Unprocessed); // only confirmation of our key presses... + msgBodyMap.put("status", XMLHandlerState.Unprocessed); // only confirmation of commands sent to device... + msgBodyMap.put("zone", XMLHandlerState.Zone); // only confirmation of our key presses... + msgBodyMap.put("bass", XMLHandlerState.Bass); + msgBodyMap.put("sources", XMLHandlerState.Sources); + msgBodyMap.put("bassCapabilities", XMLHandlerState.BassCapabilities); + msgBodyMap.put("group", XMLHandlerState.Group); + + // info message states + Map infoMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Info, infoMap); + infoMap.put("components", XMLHandlerState.Info); + infoMap.put("component", XMLHandlerState.Info); + infoMap.put("name", XMLHandlerState.InfoName); + infoMap.put("type", XMLHandlerState.InfoType); + infoMap.put("componentCategory", XMLHandlerState.Unprocessed); + infoMap.put("softwareVersion", XMLHandlerState.InfoFirmwareVersion); + infoMap.put("serialNumber", XMLHandlerState.Unprocessed); + infoMap.put("networkInfo", XMLHandlerState.Unprocessed); + infoMap.put("margeAccountUUID", XMLHandlerState.Unprocessed); + infoMap.put("margeURL", XMLHandlerState.Unprocessed); + infoMap.put("moduleType", XMLHandlerState.InfoModuleType); + infoMap.put("variant", XMLHandlerState.Unprocessed); + infoMap.put("variantMode", XMLHandlerState.Unprocessed); + infoMap.put("countryCode", XMLHandlerState.Unprocessed); + infoMap.put("regionCode", XMLHandlerState.Unprocessed); + + Map updatesMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Updates, updatesMap); + updatesMap.put("clockDisplayUpdated", XMLHandlerState.Unprocessed); // can we get anything useful of that? + updatesMap.put("connectionStateUpdated", XMLHandlerState.UnprocessedNoTextExpected); + updatesMap.put("infoUpdated", XMLHandlerState.Unprocessed); + updatesMap.put("nowPlayingUpdated", XMLHandlerState.MsgBody); + updatesMap.put("nowSelectionUpdated", XMLHandlerState.Unprocessed); // TODO this seems to be quite a useful info + // what is currently played.. + updatesMap.put("recentsUpdated", XMLHandlerState.Unprocessed); + updatesMap.put("volumeUpdated", XMLHandlerState.MsgBody); + updatesMap.put("zoneUpdated", XMLHandlerState.ZoneUpdated); // just notifies but dosn't provide details + updatesMap.put("bassUpdated", XMLHandlerState.BassUpdated); + updatesMap.put("presetsUpdated", XMLHandlerState.MsgBody); + updatesMap.put("groupUpdated", XMLHandlerState.MsgBody); + + Map volume = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Volume, volume); + volume.put("targetvolume", XMLHandlerState.VolumeTarget); + volume.put("actualvolume", XMLHandlerState.VolumeActual); + volume.put("muteenabled", XMLHandlerState.VolumeMuteEnabled); + + Map nowPlayingMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.NowPlaying, nowPlayingMap); + nowPlayingMap.put("album", XMLHandlerState.NowPlayingAlbum); + nowPlayingMap.put("art", XMLHandlerState.NowPlayingArt); + nowPlayingMap.put("artist", XMLHandlerState.NowPlayingArtist); + nowPlayingMap.put("ContentItem", XMLHandlerState.ContentItem); + nowPlayingMap.put("description", XMLHandlerState.NowPlayingDescription); + nowPlayingMap.put("playStatus", XMLHandlerState.NowPlayingPlayStatus); + nowPlayingMap.put("rateEnabled", XMLHandlerState.NowPlayingRateEnabled); + nowPlayingMap.put("skipEnabled", XMLHandlerState.NowPlayingSkipEnabled); + nowPlayingMap.put("skipPreviousEnabled", XMLHandlerState.NowPlayingSkipPreviousEnabled); + nowPlayingMap.put("stationLocation", XMLHandlerState.NowPlayingStationLocation); + nowPlayingMap.put("stationName", XMLHandlerState.NowPlayingStationName); + nowPlayingMap.put("track", XMLHandlerState.NowPlayingTrack); + nowPlayingMap.put("connectionStatusInfo", XMLHandlerState.Unprocessed); // TODO active when Source==Bluetooth + // TODO active when Source==Pandora and maybe also other sources - seems to be rating related + nowPlayingMap.put("time", XMLHandlerState.Unprocessed); + nowPlayingMap.put("rating", XMLHandlerState.Unprocessed); + nowPlayingMap.put("rateEnabled", XMLHandlerState.Unprocessed); + + // ContentItem specifies a resource (that also could be bookmarked in a preset) + Map contentItemMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.ContentItem, contentItemMap); + contentItemMap.put("itemName", XMLHandlerState.ContentItemItemName); + contentItemMap.put("containerArt", XMLHandlerState.ContentItemContainerArt); + + Map presetMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Preset, presetMap); + presetMap.put("ContentItem", XMLHandlerState.ContentItem); + + Map zoneMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Zone, zoneMap); + zoneMap.put("member", XMLHandlerState.ZoneMember); + + Map bassMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Bass, bassMap); + bassMap.put("targetbass", XMLHandlerState.BassTarget); + bassMap.put("actualbass", XMLHandlerState.BassActual); + + Map sourceMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Sources, sourceMap); + + Map bassCapabilitiesMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.BassCapabilities, bassCapabilitiesMap); + bassCapabilitiesMap.put("bassAvailable", XMLHandlerState.BassAvailable); + bassCapabilitiesMap.put("bassMin", XMLHandlerState.BassMin); + bassCapabilitiesMap.put("bassMax", XMLHandlerState.BassMax); + bassCapabilitiesMap.put("bassDefault", XMLHandlerState.BassDefault); + + Map groupsMap = new HashMap<>(); + stateSwitchingMap.put(XMLHandlerState.Group, groupsMap); + groupsMap.put("name", XMLHandlerState.GroupName); + groupsMap.put("masterDeviceId", XMLHandlerState.MasterDeviceId); + groupsMap.put("roles", XMLHandlerState.Unprocessed); + groupsMap.put("senderIPAddress", XMLHandlerState.Unprocessed); + groupsMap.put("status", XMLHandlerState.Unprocessed); + groupsMap.put("roles", XMLHandlerState.Unprocessed); + groupsMap.put("groupRole", XMLHandlerState.Unprocessed); + groupsMap.put("deviceId", XMLHandlerState.DeviceId); + groupsMap.put("role", XMLHandlerState.Unprocessed); + groupsMap.put("ipAddress", XMLHandlerState.DeviceIp); + } +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/discovery/SoundTouchDiscoveryParticipant.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/discovery/SoundTouchDiscoveryParticipant.java index ce68b7d380435..8729dd85a3476 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/discovery/SoundTouchDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/discovery/SoundTouchDiscoveryParticipant.java @@ -1,213 +1,213 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal.discovery; - -import static org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchBindingConstants.*; - -import java.io.IOException; -import java.math.BigInteger; -import java.net.InetAddress; -import java.nio.charset.StandardCharsets; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.Objects; -import java.util.Set; - -import javax.jmdns.ServiceInfo; - -import org.eclipse.smarthome.config.discovery.DiscoveryResult; -import org.eclipse.smarthome.config.discovery.DiscoveryResultBuilder; -import org.eclipse.smarthome.config.discovery.mdns.MDNSDiscoveryParticipant; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.ThingUID; -import org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchConfiguration; -import org.osgi.service.component.annotations.Component; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link SoundTouchDiscoveryParticipant} is responsible processing the - * results of searches for mDNS services of type _soundtouch._tcp.local. - * - * @author Christian Niessner - Initial contribution - * @author Thomas Traunbauer - Initial contribution - */ -@Component(immediate = true, configurationPid = "discovery.bosesoundtouch") -public class SoundTouchDiscoveryParticipant implements MDNSDiscoveryParticipant { - - private final Logger logger = LoggerFactory.getLogger(SoundTouchDiscoveryParticipant.class); - - @Override - public Set getSupportedThingTypeUIDs() { - return SUPPORTED_THING_TYPES_UIDS; - } - - @Override - public DiscoveryResult createResult(ServiceInfo info) { - DiscoveryResult result = null; - ThingUID uid = getThingUID(info); - if (uid != null) { - // remove the domain from the name - InetAddress[] addrs = info.getInetAddresses(); - - Map properties = new HashMap<>(2); - - String label = null; - if (BST_10_THING_TYPE_UID.equals(getThingTypeUID(info))) { - try { - String group = DiscoveryUtil.executeUrl("http://" + addrs[0].getHostAddress() + ":8090/getGroup"); - label = DiscoveryUtil.getContentOfFirstElement(group, "name"); - } catch (IOException e) { - logger.debug("Can't obtain label for group. Will use the default one"); - } - } - - if (label == null || label.isEmpty()) { - label = info.getName(); - } - - if (label == null || label.isEmpty()) { - label = "Bose SoundTouch"; - } - - // we expect only one address per device.. - if (addrs.length > 1) { - logger.warn("Bose SoundTouch device {} ({}) reports multiple addresses - using the first one: {}", - info.getName(), label, Arrays.toString(addrs)); - } - - properties.put(BoseSoundTouchConfiguration.HOST, addrs[0].getHostAddress()); - if (getMacAddress(info) != null) { - properties.put(BoseSoundTouchConfiguration.MAC_ADDRESS, - new String(getMacAddress(info), StandardCharsets.UTF_8)); - } - - // Set manufacturer as thing property (if available) - byte[] manufacturer = info.getPropertyBytes("MANUFACTURER"); - if (manufacturer != null) { - properties.put(Thing.PROPERTY_VENDOR, new String(manufacturer, StandardCharsets.UTF_8)); - } - return DiscoveryResultBuilder.create(uid).withProperties(properties).withLabel(label).withTTL(600).build(); - } - return result; - } - - @Override - public ThingUID getThingUID(ServiceInfo info) { - logger.trace("ServiceInfo: {}", info); - ThingTypeUID typeUID = getThingTypeUID(info); - if (typeUID != null) { - if (info.getType() != null) { - if (info.getType().equals(getServiceType())) { - logger.trace("Discovered a Bose SoundTouch thing with name '{}'", info.getName()); - byte[] mac = getMacAddress(info); - if (mac != null) { - return new ThingUID(typeUID, new String(mac, StandardCharsets.UTF_8)); - } else { - return null; - } - } - } - } - return null; - } - - @Override - public String getServiceType() { - return "_soundtouch._tcp.local."; - } - - private ThingTypeUID getThingTypeUID(ServiceInfo info) { - InetAddress[] addrs = info.getInetAddresses(); - if (addrs.length > 0) { - String ip = addrs[0].getHostAddress(); - String deviceId = null; - byte[] mac = getMacAddress(info); - if (mac != null) { - deviceId = new String(mac, StandardCharsets.UTF_8); - } - String deviceType; - try { - String content = DiscoveryUtil.executeUrl("http://" + ip + ":8090/info"); - deviceType = DiscoveryUtil.getContentOfFirstElement(content, "type"); - } catch (IOException e) { - return null; - } - - if (deviceType.toLowerCase().contains("soundtouch 10")) { - // Check if it's a Stereo Pair - try { - String group = DiscoveryUtil.executeUrl("http://" + ip + ":8090/getGroup"); - String masterDevice = DiscoveryUtil.getContentOfFirstElement(group, "masterDeviceId"); - - if (Objects.equals(deviceId, masterDevice)) { - // Stereo Pair - Master Device - return BST_10_THING_TYPE_UID; - } else if (!masterDevice.isEmpty()) { - // Stereo Pair - Secondary Device - should not be paired - return null; - } else { - // Single player - return BST_10_THING_TYPE_UID; - } - } catch (IOException e) { - return null; - } - } - if (deviceType.toLowerCase().contains("soundtouch 20")) { - return BST_20_THING_TYPE_UID; - } - if (deviceType.toLowerCase().contains("soundtouch 300")) { - return BST_300_THING_TYPE_UID; - } - if (deviceType.toLowerCase().contains("soundtouch 30")) { - return BST_30_THING_TYPE_UID; - } - if (deviceType.toLowerCase().contains("soundtouch wireless link adapter")) { - return BST_WLA_THING_TYPE_UID; - } - if (deviceType.toLowerCase().contains("wave")) { - return BST_WSMS_THING_TYPE_UID; - } - if (deviceType.toLowerCase().contains("amplifier")) { - return BST_SA5A_THING_TYPE_UID; - } - return null; - } - return null; - } - - private byte[] getMacAddress(ServiceInfo info) { - if (info != null) { - // sometimes we see empty messages - ignore them - if (!info.hasData()) { - return null; - } - byte[] mac = info.getPropertyBytes("MAC"); - if (mac == null) { - logger.warn("SoundTouch Device {} delivered no MAC address!", info.getName()); - return null; - } - if (mac.length != 12) { - BigInteger bi = new BigInteger(1, mac); - logger.warn("SoundTouch Device {} delivered an invalid MAC address: 0x{}", info.getName(), - String.format("%0" + (mac.length << 1) + "X", bi)); - return null; - } - return mac; - } - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal.discovery; + +import static org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchBindingConstants.*; + +import java.io.IOException; +import java.math.BigInteger; +import java.net.InetAddress; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Set; + +import javax.jmdns.ServiceInfo; + +import org.eclipse.smarthome.config.discovery.DiscoveryResult; +import org.eclipse.smarthome.config.discovery.DiscoveryResultBuilder; +import org.eclipse.smarthome.config.discovery.mdns.MDNSDiscoveryParticipant; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.ThingUID; +import org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchConfiguration; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link SoundTouchDiscoveryParticipant} is responsible processing the + * results of searches for mDNS services of type _soundtouch._tcp.local. + * + * @author Christian Niessner - Initial contribution + * @author Thomas Traunbauer - Initial contribution + */ +@Component(immediate = true, configurationPid = "discovery.bosesoundtouch") +public class SoundTouchDiscoveryParticipant implements MDNSDiscoveryParticipant { + + private final Logger logger = LoggerFactory.getLogger(SoundTouchDiscoveryParticipant.class); + + @Override + public Set getSupportedThingTypeUIDs() { + return SUPPORTED_THING_TYPES_UIDS; + } + + @Override + public DiscoveryResult createResult(ServiceInfo info) { + DiscoveryResult result = null; + ThingUID uid = getThingUID(info); + if (uid != null) { + // remove the domain from the name + InetAddress[] addrs = info.getInetAddresses(); + + Map properties = new HashMap<>(2); + + String label = null; + if (BST_10_THING_TYPE_UID.equals(getThingTypeUID(info))) { + try { + String group = DiscoveryUtil.executeUrl("http://" + addrs[0].getHostAddress() + ":8090/getGroup"); + label = DiscoveryUtil.getContentOfFirstElement(group, "name"); + } catch (IOException e) { + logger.debug("Can't obtain label for group. Will use the default one"); + } + } + + if (label == null || label.isEmpty()) { + label = info.getName(); + } + + if (label == null || label.isEmpty()) { + label = "Bose SoundTouch"; + } + + // we expect only one address per device.. + if (addrs.length > 1) { + logger.warn("Bose SoundTouch device {} ({}) reports multiple addresses - using the first one: {}", + info.getName(), label, Arrays.toString(addrs)); + } + + properties.put(BoseSoundTouchConfiguration.HOST, addrs[0].getHostAddress()); + if (getMacAddress(info) != null) { + properties.put(BoseSoundTouchConfiguration.MAC_ADDRESS, + new String(getMacAddress(info), StandardCharsets.UTF_8)); + } + + // Set manufacturer as thing property (if available) + byte[] manufacturer = info.getPropertyBytes("MANUFACTURER"); + if (manufacturer != null) { + properties.put(Thing.PROPERTY_VENDOR, new String(manufacturer, StandardCharsets.UTF_8)); + } + return DiscoveryResultBuilder.create(uid).withProperties(properties).withLabel(label).withTTL(600).build(); + } + return result; + } + + @Override + public ThingUID getThingUID(ServiceInfo info) { + logger.trace("ServiceInfo: {}", info); + ThingTypeUID typeUID = getThingTypeUID(info); + if (typeUID != null) { + if (info.getType() != null) { + if (info.getType().equals(getServiceType())) { + logger.trace("Discovered a Bose SoundTouch thing with name '{}'", info.getName()); + byte[] mac = getMacAddress(info); + if (mac != null) { + return new ThingUID(typeUID, new String(mac, StandardCharsets.UTF_8)); + } else { + return null; + } + } + } + } + return null; + } + + @Override + public String getServiceType() { + return "_soundtouch._tcp.local."; + } + + private ThingTypeUID getThingTypeUID(ServiceInfo info) { + InetAddress[] addrs = info.getInetAddresses(); + if (addrs.length > 0) { + String ip = addrs[0].getHostAddress(); + String deviceId = null; + byte[] mac = getMacAddress(info); + if (mac != null) { + deviceId = new String(mac, StandardCharsets.UTF_8); + } + String deviceType; + try { + String content = DiscoveryUtil.executeUrl("http://" + ip + ":8090/info"); + deviceType = DiscoveryUtil.getContentOfFirstElement(content, "type"); + } catch (IOException e) { + return null; + } + + if (deviceType.toLowerCase().contains("soundtouch 10")) { + // Check if it's a Stereo Pair + try { + String group = DiscoveryUtil.executeUrl("http://" + ip + ":8090/getGroup"); + String masterDevice = DiscoveryUtil.getContentOfFirstElement(group, "masterDeviceId"); + + if (Objects.equals(deviceId, masterDevice)) { + // Stereo Pair - Master Device + return BST_10_THING_TYPE_UID; + } else if (!masterDevice.isEmpty()) { + // Stereo Pair - Secondary Device - should not be paired + return null; + } else { + // Single player + return BST_10_THING_TYPE_UID; + } + } catch (IOException e) { + return null; + } + } + if (deviceType.toLowerCase().contains("soundtouch 20")) { + return BST_20_THING_TYPE_UID; + } + if (deviceType.toLowerCase().contains("soundtouch 300")) { + return BST_300_THING_TYPE_UID; + } + if (deviceType.toLowerCase().contains("soundtouch 30")) { + return BST_30_THING_TYPE_UID; + } + if (deviceType.toLowerCase().contains("soundtouch wireless link adapter")) { + return BST_WLA_THING_TYPE_UID; + } + if (deviceType.toLowerCase().contains("wave")) { + return BST_WSMS_THING_TYPE_UID; + } + if (deviceType.toLowerCase().contains("amplifier")) { + return BST_SA5A_THING_TYPE_UID; + } + return null; + } + return null; + } + + private byte[] getMacAddress(ServiceInfo info) { + if (info != null) { + // sometimes we see empty messages - ignore them + if (!info.hasData()) { + return null; + } + byte[] mac = info.getPropertyBytes("MAC"); + if (mac == null) { + logger.warn("SoundTouch Device {} delivered no MAC address!", info.getName()); + return null; + } + if (mac.length != 12) { + BigInteger bi = new BigInteger(1, mac); + logger.warn("SoundTouch Device {} delivered an invalid MAC address: 0x{}", info.getName(), + String.format("%0" + (mac.length << 1) + "X", bi)); + return null; + } + return mac; + } + return null; + } +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/handler/BoseSoundTouchHandler.java b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/handler/BoseSoundTouchHandler.java index 819dc224198ba..49fc0a5029043 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/handler/BoseSoundTouchHandler.java +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/java/org/openhab/binding/bosesoundtouch/internal/handler/BoseSoundTouchHandler.java @@ -1,564 +1,563 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bosesoundtouch.internal.handler; - -import static org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchBindingConstants.*; - -import java.io.IOException; -import java.net.URI; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.List; -import java.util.Objects; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; -import java.util.stream.Collectors; - -import org.eclipse.jetty.websocket.api.Session; -import org.eclipse.jetty.websocket.api.StatusCode; -import org.eclipse.jetty.websocket.api.WebSocketFrameListener; -import org.eclipse.jetty.websocket.api.WebSocketListener; -import org.eclipse.jetty.websocket.api.extensions.Frame; -import org.eclipse.jetty.websocket.api.extensions.Frame.Type; -import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; -import org.eclipse.jetty.websocket.client.WebSocketClient; -import org.eclipse.smarthome.core.library.types.DecimalType; -import org.eclipse.smarthome.core.library.types.NextPreviousType; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.library.types.PercentType; -import org.eclipse.smarthome.core.library.types.PlayPauseType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.Channel; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerCallback; -import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.eclipse.smarthome.core.types.State; -import org.eclipse.smarthome.core.types.StateOption; -import org.openhab.binding.bosesoundtouch.internal.APIRequest; -import org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchConfiguration; -import org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchNotificationChannelConfiguration; -import org.openhab.binding.bosesoundtouch.internal.BoseStateDescriptionOptionProvider; -import org.openhab.binding.bosesoundtouch.internal.CommandExecutor; -import org.openhab.binding.bosesoundtouch.internal.OperationModeType; -import org.openhab.binding.bosesoundtouch.internal.PresetContainer; -import org.openhab.binding.bosesoundtouch.internal.RemoteKeyType; -import org.openhab.binding.bosesoundtouch.internal.XMLResponseProcessor; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link BoseSoundTouchHandler} is responsible for handling commands, which are - * sent to one of the channels. - * - * @author Christian Niessner - Initial contribution - * @author Thomas Traunbauer - Initial contribution - * @author Kai Kreuzer - code clean up - * @author Alexander Kostadinov - Handling of websocket ping-pong mechanism for thing status check - */ -public class BoseSoundTouchHandler extends BaseThingHandler implements WebSocketListener, WebSocketFrameListener { - - private static final int MAX_MISSED_PONGS_COUNT = 2; - - private static final int RETRY_INTERVAL_IN_SECS = 30; - - private final Logger logger = LoggerFactory.getLogger(BoseSoundTouchHandler.class); - - private ScheduledFuture connectionChecker; - private WebSocketClient client; - private volatile Session session; - private volatile CommandExecutor commandExecutor; - private volatile int missedPongsCount = 0; - - private XMLResponseProcessor xmlResponseProcessor; - - private PresetContainer presetContainer; - private BoseStateDescriptionOptionProvider stateOptionProvider; - - /** - * Creates a new instance of this class for the {@link Thing}. - * - * @param thing the thing that should be handled, not null - * @param presetContainer the preset container instance to use for managing presets - * - * @throws IllegalArgumentException if thing or factory argument is null - */ - public BoseSoundTouchHandler(Thing thing, PresetContainer presetContainer, - BoseStateDescriptionOptionProvider stateOptionProvider) { - super(thing); - this.presetContainer = presetContainer; - this.stateOptionProvider = stateOptionProvider; - xmlResponseProcessor = new XMLResponseProcessor(this); - } - - @Override - public void initialize() { - connectionChecker = scheduler.scheduleWithFixedDelay(() -> checkConnection(), 0, RETRY_INTERVAL_IN_SECS, - TimeUnit.SECONDS); - } - - @Override - public void dispose() { - if (connectionChecker != null && !connectionChecker.isCancelled()) { - connectionChecker.cancel(true); - connectionChecker = null; - } - closeConnection(); - super.dispose(); - } - - @Override - public void handleRemoval() { - presetContainer.clear(); - super.handleRemoval(); - } - - @Override - public void updateState(String channelID, State state) { - // don't update channel if it's not linked (in case of Stereo Pair slave device) - if (isLinked(channelID)) { - super.updateState(channelID, state); - } else { - logger.debug("{}: Skipping state update because of not linked channel '{}'", getDeviceName(), channelID); - } - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (commandExecutor == null) { - logger.debug("{}: Can't handle command '{}' for channel '{}' because of not initialized connection.", - getDeviceName(), command, channelUID); - return; - } else { - logger.debug("{}: handleCommand({}, {});", getDeviceName(), channelUID, command); - } - - if (command.equals(RefreshType.REFRESH)) { - switch (channelUID.getIdWithoutGroup()) { - case CHANNEL_BASS: - commandExecutor.getInformations(APIRequest.BASS); - break; - case CHANNEL_KEY_CODE: - // refresh makes no sense... ? - break; - case CHANNEL_NOWPLAYING_ALBUM: - case CHANNEL_NOWPLAYING_ARTIST: - case CHANNEL_NOWPLAYING_ARTWORK: - case CHANNEL_NOWPLAYING_DESCRIPTION: - case CHANNEL_NOWPLAYING_GENRE: - case CHANNEL_NOWPLAYING_ITEMNAME: - case CHANNEL_NOWPLAYING_STATIONLOCATION: - case CHANNEL_NOWPLAYING_STATIONNAME: - case CHANNEL_NOWPLAYING_TRACK: - case CHANNEL_RATEENABLED: - case CHANNEL_SKIPENABLED: - case CHANNEL_SKIPPREVIOUSENABLED: - commandExecutor.getInformations(APIRequest.NOW_PLAYING); - break; - case CHANNEL_VOLUME: - commandExecutor.getInformations(APIRequest.VOLUME); - break; - default: - logger.debug("{} : Got command '{}' for channel '{}' which is unhandled!", getDeviceName(), command, - channelUID.getId()); - } - return; - } - switch (channelUID.getIdWithoutGroup()) { - case CHANNEL_POWER: - if (command instanceof OnOffType) { - commandExecutor.postPower((OnOffType) command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_VOLUME: - if (command instanceof PercentType) { - commandExecutor.postVolume((PercentType) command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_MUTE: - if (command instanceof OnOffType) { - commandExecutor.postVolumeMuted((OnOffType) command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_OPERATIONMODE: - if (command instanceof StringType) { - String cmd = command.toString().toUpperCase().trim(); - try { - OperationModeType mode = OperationModeType.valueOf(cmd); - commandExecutor.postOperationMode(mode); - } catch (IllegalArgumentException iae) { - logger.warn("{}: OperationMode \"{}\" is not valid!", getDeviceName(), cmd); - } - } - break; - case CHANNEL_PLAYER_CONTROL: - if ((command instanceof PlayPauseType) || (command instanceof NextPreviousType)) { - commandExecutor.postPlayerControl(command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_PRESET: - if (command instanceof DecimalType) { - commandExecutor.postPreset((DecimalType) command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_BASS: - if (command instanceof DecimalType) { - commandExecutor.postBass((DecimalType) command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_SAVE_AS_PRESET: - if (command instanceof DecimalType) { - commandExecutor.addCurrentContentItemToPresetContainer((DecimalType) command); - } else { - logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); - } - break; - case CHANNEL_KEY_CODE: - if (command instanceof StringType) { - String cmd = command.toString().toUpperCase().trim(); - try { - RemoteKeyType keyCommand = RemoteKeyType.valueOf(cmd); - commandExecutor.postRemoteKey(keyCommand); - } catch (IllegalArgumentException e) { - logger.debug("{}: Unhandled remote key: {}", getDeviceName(), cmd); - } - } - break; - default: - Channel channel = getThing().getChannel(channelUID.getId()); - if (channel != null) { - ChannelTypeUID chTypeUid = channel.getChannelTypeUID(); - if (chTypeUid != null) { - switch (channel.getChannelTypeUID().getId()) { - case CHANNEL_NOTIFICATION_SOUND: - String appKey = Objects.toString(getConfig().get(BoseSoundTouchConfiguration.APP_KEY), - null); - if (appKey != null && !appKey.isEmpty()) { - if (command instanceof StringType) { - String url = command.toString(); - BoseSoundTouchNotificationChannelConfiguration notificationConfiguration = channel - .getConfiguration() - .as(BoseSoundTouchNotificationChannelConfiguration.class); - if (!url.isEmpty()) { - commandExecutor.playNotificationSound(appKey, notificationConfiguration, - url); - } - } - } else { - logger.warn("Missing app key - cannot use notification api"); - } - return; - } - } - } - logger.warn("{} : Got command '{}' for channel '{}' which is unhandled!", getDeviceName(), command, - channelUID.getId()); - break; - } - } - - /** - * Returns the CommandExecutor of this handler - * - * @return the CommandExecutor of this handler - */ - public CommandExecutor getCommandExecutor() { - return commandExecutor; - } - - /** - * Returns the Session this handler has opened - * - * @return the Session this handler has opened - */ - public Session getSession() { - return session; - } - - /** - * Returns the name of the device delivered from itself - * - * @return the name of the device delivered from itself - */ - public String getDeviceName() { - return getThing().getProperties().get(DEVICE_INFO_NAME); - } - - /** - * Returns the type of the device delivered from itself - * - * @return the type of the device delivered from itself - */ - public String getDeviceType() { - return getThing().getProperties().get(DEVICE_INFO_TYPE); - } - - /** - * Returns the MAC Address of this device - * - * @return the MAC Address of this device (in format "123456789ABC") - */ - public String getMacAddress() { - return ((String) getThing().getConfiguration().get(BoseSoundTouchConfiguration.MAC_ADDRESS)).replaceAll(":", - ""); - } - - /** - * Returns the IP Address of this device - * - * @return the IP Address of this device - */ - public String getIPAddress() { - return (String) getThing().getConfiguration().getProperties().get(BoseSoundTouchConfiguration.HOST); - } - - /** - * Provides the handler internal scheduler instance - * - * @return the {@link ScheduledExecutorService} instance used by this handler - */ - public ScheduledExecutorService getScheduler() { - return scheduler; - } - - public PresetContainer getPresetContainer() { - return this.presetContainer; - } - - @Override - public void onWebSocketConnect(Session session) { - logger.debug("{}: onWebSocketConnect('{}')", getDeviceName(), session); - this.session = session; - commandExecutor = new CommandExecutor(this); - updateStatus(ThingStatus.ONLINE); - } - - @Override - public void onWebSocketError(Throwable e) { - logger.debug("{}: Error during websocket communication: {}", getDeviceName(), e.getMessage(), e); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); - if (commandExecutor != null) { - commandExecutor.postOperationMode(OperationModeType.OFFLINE); - commandExecutor = null; - } - if (session != null) { - session.close(StatusCode.SERVER_ERROR, getDeviceName() + ": Failure: " + e.getMessage()); - session = null; - } - } - - @Override - public void onWebSocketText(String msg) { - logger.debug("{}: onWebSocketText('{}')", getDeviceName(), msg); - try { - xmlResponseProcessor.handleMessage(msg); - } catch (Exception e) { - logger.warn("{}: Could not parse XML from string '{}'.", getDeviceName(), msg, e); - } - } - - @Override - public void onWebSocketBinary(byte[] arr, int pos, int len) { - // we don't expect binary data so just dump if we get some... - logger.debug("{}: onWebSocketBinary({}, {}, '{}')", getDeviceName(), pos, len, Arrays.toString(arr)); - } - - @Override - public void onWebSocketClose(int code, String reason) { - logger.debug("{}: onClose({}, '{}')", getDeviceName(), code, reason); - missedPongsCount = 0; - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, reason); - if (commandExecutor != null) { - commandExecutor.postOperationMode(OperationModeType.OFFLINE); - } - } - - @Override - public void onWebSocketFrame(Frame frame) { - if (frame.getType() == Type.PONG) { - missedPongsCount = 0; - } - } - - private synchronized void openConnection() { - closeConnection(); - try { - client = new WebSocketClient(); - // we need longer timeouts for web socket. - client.setMaxIdleTimeout(360 * 1000); - // Port seems to be hard coded, therefore no user input or discovery is necessary - String wsUrl = "ws://" + getIPAddress() + ":8080/"; - logger.debug("{}: Connecting to: {}", getDeviceName(), wsUrl); - ClientUpgradeRequest request = new ClientUpgradeRequest(); - request.setSubProtocols("gabbo"); - client.setStopTimeout(1000); - client.start(); - client.connect(this, new URI(wsUrl), request); - } catch (Exception e) { - onWebSocketError(e); - } - } - - private synchronized void closeConnection() { - if (session != null) { - try { - session.close(StatusCode.NORMAL, "Binding shutdown"); - } catch (Exception e) { - logger.debug("{}: Error while closing websocket communication: {} ({})", getDeviceName(), - e.getClass().getName(), e.getMessage()); - } - session = null; - } - if (client != null) { - try { - client.stop(); - client.destroy(); - } catch (Exception e) { - logger.debug("{}: Error while closing websocket communication: {} ({})", getDeviceName(), - e.getClass().getName(), e.getMessage()); - } - client = null; - } - - commandExecutor = null; - } - - private void checkConnection() { - if (getThing().getStatus() != ThingStatus.ONLINE || session == null || client == null - || commandExecutor == null) { - openConnection(); // try to reconnect.... - } - - if (getThing().getStatus() == ThingStatus.ONLINE && this.session != null && this.session.isOpen()) { - try { - this.session.getRemote().sendPing(null); - missedPongsCount++; - } catch (IOException | NullPointerException e) { - onWebSocketError(e); - closeConnection(); - openConnection(); - } - - if (missedPongsCount >= MAX_MISSED_PONGS_COUNT) { - logger.debug("{}: Closing connection because of too many missed PONGs: {} (max allowed {}) ", - getDeviceName(), missedPongsCount, MAX_MISSED_PONGS_COUNT); - missedPongsCount = 0; - closeConnection(); - openConnection(); - } - } - } - - public void refreshPresetChannel() { - List stateOptions = presetContainer.getAllPresets().stream().map(e -> e.toStateOption()) - .sorted(Comparator.comparing(StateOption::getValue)).collect(Collectors.toList()); - stateOptionProvider.setStateOptions(new ChannelUID(getThing().getUID(), CHANNEL_PRESET), stateOptions); - } - - public void handleGroupUpdated(BoseSoundTouchConfiguration masterPlayerConfiguration) { - String deviceId = getMacAddress(); - - if (masterPlayerConfiguration != null && masterPlayerConfiguration.macAddress != null) { - // Stereo pair - if (Objects.equals(masterPlayerConfiguration.macAddress, deviceId)) { - if (getThing().getThingTypeUID().equals(BST_10_THING_TYPE_UID)) { - logger.debug("{}: Stereo Pair was created and this is the master device.", getDeviceName()); - } else { - logger.debug("{}: Unsupported operation for player of type: {}", getDeviceName(), - getThing().getThingTypeUID()); - } - } else { - if (getThing().getThingTypeUID().equals(BST_10_THING_TYPE_UID)) { - logger.debug("{}: Stereo Pair was created and this is NOT the master device.", getDeviceName()); - updateThing(editThing().withChannels(Collections.emptyList()).build()); - } else { - logger.debug("{}: Unsupported operation for player of type: {}", getDeviceName(), - getThing().getThingTypeUID()); - } - } - } else { - // NO Stereo Pair - if (getThing().getThingTypeUID().equals(BST_10_THING_TYPE_UID)) { - if (getThing().getChannels().isEmpty()) { - logger.debug("{}: Stereo Pair was disbounded. Restoring channels", getDeviceName()); - updateThing(editThing().withChannels(getAllChannels(BST_10_THING_TYPE_UID)).build()); - } else { - logger.debug("{}: Stereo Pair was disbounded.", getDeviceName()); - } - } else { - logger.debug("{}: Unsupported operation for player of type: {}", getDeviceName(), - getThing().getThingTypeUID()); - } - } - } - - private List getAllChannels(ThingTypeUID thingTypeUID) { - ThingHandlerCallback callback = getCallback(); - if (callback == null) { - return Collections.emptyList(); - } - - return CHANNEL_IDS.stream() - .map(channelId -> callback.createChannelBuilder(new ChannelUID(getThing().getUID(), channelId), - createChannelTypeUID(thingTypeUID, channelId)).build()) - .collect(Collectors.toList()); - } - - private ChannelTypeUID createChannelTypeUID(ThingTypeUID thingTypeUID, String channelId) { - if (CHANNEL_OPERATIONMODE.equals(channelId)) { - return createOperationModeChannelTypeUID(thingTypeUID); - } - - return new ChannelTypeUID(BINDING_ID, channelId); - } - - private ChannelTypeUID createOperationModeChannelTypeUID(ThingTypeUID thingTypeUID) { - String channelTypeId = CHANNEL_TYPE_OPERATION_MODE_DEFAULT; - - if (BST_10_THING_TYPE_UID.equals(thingTypeUID) || BST_20_THING_TYPE_UID.equals(thingTypeUID) - || BST_30_THING_TYPE_UID.equals(thingTypeUID)) { - channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_10_20_30; - } else if (BST_300_THING_TYPE_UID.equals(thingTypeUID)) { - channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_300; - } else if (BST_SA5A_THING_TYPE_UID.equals(thingTypeUID)) { - channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_SA5A; - } else if (BST_WLA_THING_TYPE_UID.equals(thingTypeUID)) { - channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_WLA; - } else if (BST_WSMS_THING_TYPE_UID.equals(thingTypeUID)) { - channelTypeId = CHANNEL_TYPE_OPERATION_MODE_DEFAULT; - } - - return new ChannelTypeUID(BINDING_ID, channelTypeId); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bosesoundtouch.internal.handler; + +import static org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchBindingConstants.*; + +import java.io.IOException; +import java.net.URI; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.List; +import java.util.Objects; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; + +import org.eclipse.jetty.websocket.api.Session; +import org.eclipse.jetty.websocket.api.StatusCode; +import org.eclipse.jetty.websocket.api.WebSocketFrameListener; +import org.eclipse.jetty.websocket.api.WebSocketListener; +import org.eclipse.jetty.websocket.api.extensions.Frame; +import org.eclipse.jetty.websocket.api.extensions.Frame.Type; +import org.eclipse.jetty.websocket.client.ClientUpgradeRequest; +import org.eclipse.jetty.websocket.client.WebSocketClient; +import org.eclipse.smarthome.core.library.types.DecimalType; +import org.eclipse.smarthome.core.library.types.NextPreviousType; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.PercentType; +import org.eclipse.smarthome.core.library.types.PlayPauseType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.Channel; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerCallback; +import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.eclipse.smarthome.core.types.State; +import org.eclipse.smarthome.core.types.StateOption; +import org.openhab.binding.bosesoundtouch.internal.APIRequest; +import org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchConfiguration; +import org.openhab.binding.bosesoundtouch.internal.BoseSoundTouchNotificationChannelConfiguration; +import org.openhab.binding.bosesoundtouch.internal.BoseStateDescriptionOptionProvider; +import org.openhab.binding.bosesoundtouch.internal.CommandExecutor; +import org.openhab.binding.bosesoundtouch.internal.OperationModeType; +import org.openhab.binding.bosesoundtouch.internal.PresetContainer; +import org.openhab.binding.bosesoundtouch.internal.RemoteKeyType; +import org.openhab.binding.bosesoundtouch.internal.XMLResponseProcessor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link BoseSoundTouchHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Christian Niessner - Initial contribution + * @author Thomas Traunbauer - Initial contribution + * @author Kai Kreuzer - code clean up + * @author Alexander Kostadinov - Handling of websocket ping-pong mechanism for thing status check + */ +public class BoseSoundTouchHandler extends BaseThingHandler implements WebSocketListener, WebSocketFrameListener { + + private static final int MAX_MISSED_PONGS_COUNT = 2; + + private static final int RETRY_INTERVAL_IN_SECS = 30; + + private final Logger logger = LoggerFactory.getLogger(BoseSoundTouchHandler.class); + + private ScheduledFuture connectionChecker; + private WebSocketClient client; + private volatile Session session; + private volatile CommandExecutor commandExecutor; + private volatile int missedPongsCount = 0; + + private XMLResponseProcessor xmlResponseProcessor; + + private PresetContainer presetContainer; + private BoseStateDescriptionOptionProvider stateOptionProvider; + + /** + * Creates a new instance of this class for the {@link Thing}. + * + * @param thing the thing that should be handled, not null + * @param presetContainer the preset container instance to use for managing presets + * + * @throws IllegalArgumentException if thing or factory argument is null + */ + public BoseSoundTouchHandler(Thing thing, PresetContainer presetContainer, + BoseStateDescriptionOptionProvider stateOptionProvider) { + super(thing); + this.presetContainer = presetContainer; + this.stateOptionProvider = stateOptionProvider; + xmlResponseProcessor = new XMLResponseProcessor(this); + } + + @Override + public void initialize() { + connectionChecker = scheduler.scheduleWithFixedDelay(() -> checkConnection(), 0, RETRY_INTERVAL_IN_SECS, + TimeUnit.SECONDS); + } + + @Override + public void dispose() { + if (connectionChecker != null && !connectionChecker.isCancelled()) { + connectionChecker.cancel(true); + connectionChecker = null; + } + closeConnection(); + super.dispose(); + } + + @Override + public void handleRemoval() { + presetContainer.clear(); + super.handleRemoval(); + } + + @Override + public void updateState(String channelID, State state) { + // don't update channel if it's not linked (in case of Stereo Pair slave device) + if (isLinked(channelID)) { + super.updateState(channelID, state); + } else { + logger.debug("{}: Skipping state update because of not linked channel '{}'", getDeviceName(), channelID); + } + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (commandExecutor == null) { + logger.debug("{}: Can't handle command '{}' for channel '{}' because of not initialized connection.", + getDeviceName(), command, channelUID); + return; + } else { + logger.debug("{}: handleCommand({}, {});", getDeviceName(), channelUID, command); + } + + if (command.equals(RefreshType.REFRESH)) { + switch (channelUID.getIdWithoutGroup()) { + case CHANNEL_BASS: + commandExecutor.getInformations(APIRequest.BASS); + break; + case CHANNEL_KEY_CODE: + // refresh makes no sense... ? + break; + case CHANNEL_NOWPLAYING_ALBUM: + case CHANNEL_NOWPLAYING_ARTIST: + case CHANNEL_NOWPLAYING_ARTWORK: + case CHANNEL_NOWPLAYING_DESCRIPTION: + case CHANNEL_NOWPLAYING_GENRE: + case CHANNEL_NOWPLAYING_ITEMNAME: + case CHANNEL_NOWPLAYING_STATIONLOCATION: + case CHANNEL_NOWPLAYING_STATIONNAME: + case CHANNEL_NOWPLAYING_TRACK: + case CHANNEL_RATEENABLED: + case CHANNEL_SKIPENABLED: + case CHANNEL_SKIPPREVIOUSENABLED: + commandExecutor.getInformations(APIRequest.NOW_PLAYING); + break; + case CHANNEL_VOLUME: + commandExecutor.getInformations(APIRequest.VOLUME); + break; + default: + logger.debug("{} : Got command '{}' for channel '{}' which is unhandled!", getDeviceName(), command, + channelUID.getId()); + } + return; + } + switch (channelUID.getIdWithoutGroup()) { + case CHANNEL_POWER: + if (command instanceof OnOffType) { + commandExecutor.postPower((OnOffType) command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_VOLUME: + if (command instanceof PercentType) { + commandExecutor.postVolume((PercentType) command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_MUTE: + if (command instanceof OnOffType) { + commandExecutor.postVolumeMuted((OnOffType) command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_OPERATIONMODE: + if (command instanceof StringType) { + String cmd = command.toString().toUpperCase().trim(); + try { + OperationModeType mode = OperationModeType.valueOf(cmd); + commandExecutor.postOperationMode(mode); + } catch (IllegalArgumentException iae) { + logger.warn("{}: OperationMode \"{}\" is not valid!", getDeviceName(), cmd); + } + } + break; + case CHANNEL_PLAYER_CONTROL: + if ((command instanceof PlayPauseType) || (command instanceof NextPreviousType)) { + commandExecutor.postPlayerControl(command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_PRESET: + if (command instanceof DecimalType) { + commandExecutor.postPreset((DecimalType) command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_BASS: + if (command instanceof DecimalType) { + commandExecutor.postBass((DecimalType) command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_SAVE_AS_PRESET: + if (command instanceof DecimalType) { + commandExecutor.addCurrentContentItemToPresetContainer((DecimalType) command); + } else { + logger.debug("{}: Unhandled command type: {}: {}", getDeviceName(), command.getClass(), command); + } + break; + case CHANNEL_KEY_CODE: + if (command instanceof StringType) { + String cmd = command.toString().toUpperCase().trim(); + try { + RemoteKeyType keyCommand = RemoteKeyType.valueOf(cmd); + commandExecutor.postRemoteKey(keyCommand); + } catch (IllegalArgumentException e) { + logger.debug("{}: Unhandled remote key: {}", getDeviceName(), cmd); + } + } + break; + default: + Channel channel = getThing().getChannel(channelUID.getId()); + if (channel != null) { + ChannelTypeUID chTypeUid = channel.getChannelTypeUID(); + if (chTypeUid != null) { + switch (channel.getChannelTypeUID().getId()) { + case CHANNEL_NOTIFICATION_SOUND: + String appKey = Objects.toString(getConfig().get(BoseSoundTouchConfiguration.APP_KEY), + null); + if (appKey != null && !appKey.isEmpty()) { + if (command instanceof StringType) { + String url = command.toString(); + BoseSoundTouchNotificationChannelConfiguration notificationConfiguration = channel + .getConfiguration() + .as(BoseSoundTouchNotificationChannelConfiguration.class); + if (!url.isEmpty()) { + commandExecutor.playNotificationSound(appKey, notificationConfiguration, + url); + } + } + } else { + logger.warn("Missing app key - cannot use notification api"); + } + return; + } + } + } + logger.warn("{} : Got command '{}' for channel '{}' which is unhandled!", getDeviceName(), command, + channelUID.getId()); + break; + } + } + + /** + * Returns the CommandExecutor of this handler + * + * @return the CommandExecutor of this handler + */ + public CommandExecutor getCommandExecutor() { + return commandExecutor; + } + + /** + * Returns the Session this handler has opened + * + * @return the Session this handler has opened + */ + public Session getSession() { + return session; + } + + /** + * Returns the name of the device delivered from itself + * + * @return the name of the device delivered from itself + */ + public String getDeviceName() { + return getThing().getProperties().get(DEVICE_INFO_NAME); + } + + /** + * Returns the type of the device delivered from itself + * + * @return the type of the device delivered from itself + */ + public String getDeviceType() { + return getThing().getProperties().get(DEVICE_INFO_TYPE); + } + + /** + * Returns the MAC Address of this device + * + * @return the MAC Address of this device (in format "123456789ABC") + */ + public String getMacAddress() { + return ((String) getThing().getConfiguration().get(BoseSoundTouchConfiguration.MAC_ADDRESS)).replaceAll(":", + ""); + } + + /** + * Returns the IP Address of this device + * + * @return the IP Address of this device + */ + public String getIPAddress() { + return (String) getThing().getConfiguration().getProperties().get(BoseSoundTouchConfiguration.HOST); + } + + /** + * Provides the handler internal scheduler instance + * + * @return the {@link ScheduledExecutorService} instance used by this handler + */ + public ScheduledExecutorService getScheduler() { + return scheduler; + } + + public PresetContainer getPresetContainer() { + return this.presetContainer; + } + + @Override + public void onWebSocketConnect(Session session) { + logger.debug("{}: onWebSocketConnect('{}')", getDeviceName(), session); + this.session = session; + commandExecutor = new CommandExecutor(this); + updateStatus(ThingStatus.ONLINE); + } + + @Override + public void onWebSocketError(Throwable e) { + logger.debug("{}: Error during websocket communication: {}", getDeviceName(), e.getMessage(), e); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); + if (commandExecutor != null) { + commandExecutor.postOperationMode(OperationModeType.OFFLINE); + commandExecutor = null; + } + if (session != null) { + session.close(StatusCode.SERVER_ERROR, getDeviceName() + ": Failure: " + e.getMessage()); + session = null; + } + } + + @Override + public void onWebSocketText(String msg) { + logger.debug("{}: onWebSocketText('{}')", getDeviceName(), msg); + try { + xmlResponseProcessor.handleMessage(msg); + } catch (Exception e) { + logger.warn("{}: Could not parse XML from string '{}'.", getDeviceName(), msg, e); + } + } + + @Override + public void onWebSocketBinary(byte[] arr, int pos, int len) { + // we don't expect binary data so just dump if we get some... + logger.debug("{}: onWebSocketBinary({}, {}, '{}')", getDeviceName(), pos, len, Arrays.toString(arr)); + } + + @Override + public void onWebSocketClose(int code, String reason) { + logger.debug("{}: onClose({}, '{}')", getDeviceName(), code, reason); + missedPongsCount = 0; + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, reason); + if (commandExecutor != null) { + commandExecutor.postOperationMode(OperationModeType.OFFLINE); + } + } + + @Override + public void onWebSocketFrame(Frame frame) { + if (frame.getType() == Type.PONG) { + missedPongsCount = 0; + } + } + + private synchronized void openConnection() { + closeConnection(); + try { + client = new WebSocketClient(); + // we need longer timeouts for web socket. + client.setMaxIdleTimeout(360 * 1000); + // Port seems to be hard coded, therefore no user input or discovery is necessary + String wsUrl = "ws://" + getIPAddress() + ":8080/"; + logger.debug("{}: Connecting to: {}", getDeviceName(), wsUrl); + ClientUpgradeRequest request = new ClientUpgradeRequest(); + request.setSubProtocols("gabbo"); + client.setStopTimeout(1000); + client.start(); + client.connect(this, new URI(wsUrl), request); + } catch (Exception e) { + onWebSocketError(e); + } + } + + private synchronized void closeConnection() { + if (session != null) { + try { + session.close(StatusCode.NORMAL, "Binding shutdown"); + } catch (Exception e) { + logger.debug("{}: Error while closing websocket communication: {} ({})", getDeviceName(), + e.getClass().getName(), e.getMessage()); + } + session = null; + } + if (client != null) { + try { + client.stop(); + client.destroy(); + } catch (Exception e) { + logger.debug("{}: Error while closing websocket communication: {} ({})", getDeviceName(), + e.getClass().getName(), e.getMessage()); + } + client = null; + } + + commandExecutor = null; + } + + private void checkConnection() { + if (getThing().getStatus() != ThingStatus.ONLINE || session == null || client == null + || commandExecutor == null) { + openConnection(); // try to reconnect.... + } + + if (getThing().getStatus() == ThingStatus.ONLINE && this.session != null && this.session.isOpen()) { + try { + this.session.getRemote().sendPing(null); + missedPongsCount++; + } catch (IOException | NullPointerException e) { + onWebSocketError(e); + closeConnection(); + openConnection(); + } + + if (missedPongsCount >= MAX_MISSED_PONGS_COUNT) { + logger.debug("{}: Closing connection because of too many missed PONGs: {} (max allowed {}) ", + getDeviceName(), missedPongsCount, MAX_MISSED_PONGS_COUNT); + missedPongsCount = 0; + closeConnection(); + openConnection(); + } + } + } + + public void refreshPresetChannel() { + List stateOptions = presetContainer.getAllPresets().stream().map(e -> e.toStateOption()) + .sorted(Comparator.comparing(StateOption::getValue)).collect(Collectors.toList()); + stateOptionProvider.setStateOptions(new ChannelUID(getThing().getUID(), CHANNEL_PRESET), stateOptions); + } + + public void handleGroupUpdated(BoseSoundTouchConfiguration masterPlayerConfiguration) { + String deviceId = getMacAddress(); + + if (masterPlayerConfiguration != null && masterPlayerConfiguration.macAddress != null) { + // Stereo pair + if (Objects.equals(masterPlayerConfiguration.macAddress, deviceId)) { + if (getThing().getThingTypeUID().equals(BST_10_THING_TYPE_UID)) { + logger.debug("{}: Stereo Pair was created and this is the master device.", getDeviceName()); + } else { + logger.debug("{}: Unsupported operation for player of type: {}", getDeviceName(), + getThing().getThingTypeUID()); + } + } else { + if (getThing().getThingTypeUID().equals(BST_10_THING_TYPE_UID)) { + logger.debug("{}: Stereo Pair was created and this is NOT the master device.", getDeviceName()); + updateThing(editThing().withChannels(Collections.emptyList()).build()); + } else { + logger.debug("{}: Unsupported operation for player of type: {}", getDeviceName(), + getThing().getThingTypeUID()); + } + } + } else { + // NO Stereo Pair + if (getThing().getThingTypeUID().equals(BST_10_THING_TYPE_UID)) { + if (getThing().getChannels().isEmpty()) { + logger.debug("{}: Stereo Pair was disbounded. Restoring channels", getDeviceName()); + updateThing(editThing().withChannels(getAllChannels(BST_10_THING_TYPE_UID)).build()); + } else { + logger.debug("{}: Stereo Pair was disbounded.", getDeviceName()); + } + } else { + logger.debug("{}: Unsupported operation for player of type: {}", getDeviceName(), + getThing().getThingTypeUID()); + } + } + } + + private List getAllChannels(ThingTypeUID thingTypeUID) { + ThingHandlerCallback callback = getCallback(); + if (callback == null) { + return Collections.emptyList(); + } + + return CHANNEL_IDS.stream() + .map(channelId -> callback.createChannelBuilder(new ChannelUID(getThing().getUID(), channelId), + createChannelTypeUID(thingTypeUID, channelId)).build()) + .collect(Collectors.toList()); + } + + private ChannelTypeUID createChannelTypeUID(ThingTypeUID thingTypeUID, String channelId) { + if (CHANNEL_OPERATIONMODE.equals(channelId)) { + return createOperationModeChannelTypeUID(thingTypeUID); + } + + return new ChannelTypeUID(BINDING_ID, channelId); + } + + private ChannelTypeUID createOperationModeChannelTypeUID(ThingTypeUID thingTypeUID) { + String channelTypeId = CHANNEL_TYPE_OPERATION_MODE_DEFAULT; + + if (BST_10_THING_TYPE_UID.equals(thingTypeUID) || BST_20_THING_TYPE_UID.equals(thingTypeUID) + || BST_30_THING_TYPE_UID.equals(thingTypeUID)) { + channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_10_20_30; + } else if (BST_300_THING_TYPE_UID.equals(thingTypeUID)) { + channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_300; + } else if (BST_SA5A_THING_TYPE_UID.equals(thingTypeUID)) { + channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_SA5A; + } else if (BST_WLA_THING_TYPE_UID.equals(thingTypeUID)) { + channelTypeId = CHANNEL_TYPE_OPERATION_MODE_BST_WLA; + } else if (BST_WSMS_THING_TYPE_UID.equals(thingTypeUID)) { + channelTypeId = CHANNEL_TYPE_OPERATION_MODE_DEFAULT; + } + + return new ChannelTypeUID(BINDING_ID, channelTypeId); + } +} diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/config/config.xml index c9160a16d4f2c..5e54b6a895401 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/config/config.xml @@ -1,8 +1,8 @@ - + xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd"> @@ -17,40 +17,47 @@ An authorization key used to identify the client application. - Should be requested from the developer portal. + Should be requested from the developer + portal. - + - This indicates the desired volume level while playing the notification. - The value represents a percentage (0 to 100) of the full audible range of the speaker device. - A value less than 10 or greater than 70 will result in an error and not play the notification. - Upon completion of the notification, the speaker volume will return to its original value. - If not present, the notification will play at the existing volume level. + This indicates the desired volume level while playing the notification. + The value represents a percentage + (0 to 100) of the full audible range of the speaker device. + A value less than 10 or greater than 70 will result in an + error and not play the notification. + Upon completion of the notification, the speaker volume will return to its + original value. + If not present, the notification will play at the existing volume level. - This indicates the service providing the notification. - This text will appear on the device display (when available) and the SoundTouch application screen. + This indicates the service providing the notification. + This text will appear on the device display (when + available) and the SoundTouch application screen. Notification - This indicates the reason for the notification. - This text will appear on the device display (when available) and the SoundTouch application screen. - If a reason string is not provided, the field with be blank. + This indicates the reason for the notification. + This text will appear on the device display (when + available) and the SoundTouch application screen. + If a reason string is not provided, the field with be blank. - This indicates further details about the notification. - This text will appear on the device display (when available) and the SoundTouch application screen. - If a message string is not provided, the field with be blank. + This indicates further details about the notification. + This text will appear on the device display (when + available) and the SoundTouch application screen. + If a message string is not provided, the field with be blank. diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch10.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch10.xml index 275f769cdc6fb..6bf9414780f31 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch10.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch10.xml @@ -1,5 +1,6 @@ - @@ -8,30 +9,30 @@ Bose SoundTouch 10 Speaker - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch20.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch20.xml index a8646dc40d072..61fd4c6c20de3 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch20.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch20.xml @@ -1,37 +1,38 @@ - - + Bose SoundTouch 20 Speaker - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch30.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch30.xml index 80bead5df424f..48f6985c5d793 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch30.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch30.xml @@ -1,5 +1,6 @@ - @@ -8,30 +9,30 @@ Bose SoundTouch 30 Speaker - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch300.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch300.xml index 469fc47350d94..461743833f54e 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch300.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouch300.xml @@ -1,5 +1,6 @@ - @@ -8,27 +9,27 @@ Bose SoundTouch 300 Speaker - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchSA5Amplifier.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchSA5Amplifier.xml index 9b343830caaf3..26973335e009c 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchSA5Amplifier.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchSA5Amplifier.xml @@ -1,5 +1,6 @@ - @@ -8,28 +9,28 @@ A Bose SoundTouch SA-5 Amplifier - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchWirelessLinkAdapter.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchWirelessLinkAdapter.xml index 3c09402a1daba..a101b1400727d 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchWirelessLinkAdapter.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/SoundTouchWirelessLinkAdapter.xml @@ -1,5 +1,6 @@ - @@ -8,27 +9,27 @@ Bose SoundTouch Wireless Link Adapter - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/UnknownSoundTouch.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/UnknownSoundTouch.xml index 17829b56f492b..de403aa9ab147 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/UnknownSoundTouch.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/UnknownSoundTouch.xml @@ -1,5 +1,6 @@ - @@ -8,28 +9,28 @@ Aan unknown Bose SoundTouch Device - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/WaveSoundTouchMusicSystemIV.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/WaveSoundTouchMusicSystemIV.xml index 865fa4ea4b346..8d96187fb56d3 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/WaveSoundTouchMusicSystemIV.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/WaveSoundTouchMusicSystemIV.xml @@ -1,5 +1,6 @@ - @@ -8,28 +9,28 @@ A Bose Wave SoundTouch Music System IV - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/channels.xml index ae82eee4f9267..7882cbe0e7734 100644 --- a/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.bosesoundtouch/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - @@ -51,63 +52,63 @@ String Current playing album name - + String Current playing artist name - + Image Artwork for the current playing song - + String Description to current playing song - + String Genre of current playing song - + String Visible description shown in display - + String Location of current playing radio station - + String Name of current playing radio station - + String Track currently playing - + @@ -158,7 +159,7 @@ Switch Current source allows rating - + @@ -171,14 +172,14 @@ Switch Current source allows skipping to next track - + Switch Current source allows scrolling through tracks - + @@ -193,7 +194,7 @@ Number Bass (-9 minimum, 0 maximum) - + @@ -286,6 +287,6 @@ String Play a notification sound by a given URI - + diff --git a/bundles/org.openhab.binding.bsblan/.classpath b/bundles/org.openhab.binding.bsblan/.classpath index e74dbb099f67d..39abf1c5e9102 100644 --- a/bundles/org.openhab.binding.bsblan/.classpath +++ b/bundles/org.openhab.binding.bsblan/.classpath @@ -1,49 +1,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.bsblan/pom.xml b/bundles/org.openhab.binding.bsblan/pom.xml index 677cb300fb537..50aa611ae348c 100644 --- a/bundles/org.openhab.binding.bsblan/pom.xml +++ b/bundles/org.openhab.binding.bsblan/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.bsblan/src/main/feature/feature.xml b/bundles/org.openhab.binding.bsblan/src/main/feature/feature.xml index 318cf1cfb3d5f..2deb90ee88871 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.bsblan/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.bsblan/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.bsblan/${project.version} + diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/BsbLanHandlerFactory.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/BsbLanHandlerFactory.java index a35bbe3b88643..38ae3cc454100 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/BsbLanHandlerFactory.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/BsbLanHandlerFactory.java @@ -1,67 +1,67 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal; - -import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; - -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; -import org.openhab.binding.bsblan.internal.handler.BsbLanBridgeHandler; -import org.openhab.binding.bsblan.internal.handler.BsbLanParameterHandler; -import org.osgi.service.component.annotations.Component; - -/** - * The {@link BsbLanHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -@Component(service = ThingHandlerFactory.class, configurationPid = "binding.bsblan") -public class BsbLanHandlerFactory extends BaseThingHandlerFactory { - - private static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet() { - - private static final long serialVersionUID = 1L; - { - add(THING_TYPE_PARAMETER); - add(THING_TYPE_BRIDGE); - } - }; - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected @Nullable ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - - if (thingTypeUID.equals(THING_TYPE_PARAMETER)) { - return new BsbLanParameterHandler(thing); - } else if (thingTypeUID.equals(THING_TYPE_BRIDGE)) { - return new BsbLanBridgeHandler((Bridge) thing); - } - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal; + +import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.openhab.binding.bsblan.internal.handler.BsbLanBridgeHandler; +import org.openhab.binding.bsblan.internal.handler.BsbLanParameterHandler; +import org.osgi.service.component.annotations.Component; + +/** + * The {@link BsbLanHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +@Component(service = ThingHandlerFactory.class, configurationPid = "binding.bsblan") +public class BsbLanHandlerFactory extends BaseThingHandlerFactory { + + private static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet() { + + private static final long serialVersionUID = 1L; + { + add(THING_TYPE_PARAMETER); + add(THING_TYPE_BRIDGE); + } + }; + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected @Nullable ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + if (thingTypeUID.equals(THING_TYPE_PARAMETER)) { + return new BsbLanParameterHandler(thing); + } else if (thingTypeUID.equals(THING_TYPE_BRIDGE)) { + return new BsbLanBridgeHandler((Bridge) thing); + } + return null; + } +} diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiCaller.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiCaller.java index 50f97f5555aed..1d027d49cb0b0 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiCaller.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiCaller.java @@ -1,154 +1,156 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal.api; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.io.IOException; -import java.util.Set; -import java.util.HashSet; -import java.nio.charset.Charset; - -import org.apache.commons.lang.StringUtils; -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.io.net.http.HttpUtil; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterQueryResponseDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetResponseDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetResultDTO; -import org.openhab.binding.bsblan.internal.configuration.BsbLanBridgeConfiguration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; - -/** - * Utility class to call the BSB-LAN REST API. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -public class BsbLanApiCaller { - - private final Logger logger = LoggerFactory.getLogger(BsbLanApiCaller.class); - private final BsbLanBridgeConfiguration bridgeConfig; - - public BsbLanApiCaller(BsbLanBridgeConfiguration config) { - bridgeConfig = config; - } - - public @Nullable BsbLanApiParameterQueryResponseDTO queryParameter(Integer parameterId) { - Set parameters = new HashSet<>(); - - parameters.add(parameterId); - return queryParameters(parameters); - } - - public @Nullable BsbLanApiParameterQueryResponseDTO queryParameters(Set parameterIds) { - // note: make the request even if parameterIds is empty as - // thing OFFLINE/ONLINE detection relies on a response - - String apiPath = String.format("/JQ=%s", StringUtils.join(parameterIds, ",")); - return makeRestCall(BsbLanApiParameterQueryResponseDTO.class, "GET", apiPath, null); - } - - public boolean setParameter(Integer parameterId, String value, BsbLanApiParameterSetRequestDTO.Type type) { - // prepare request content - BsbLanApiParameterSetRequestDTO request = new BsbLanApiParameterSetRequestDTO(); - request.parameter = parameterId.toString(); - request.value = value; - request.type = type; - - // make REST call and process response - BsbLanApiParameterSetResponseDTO setResponse = makeRestCall(BsbLanApiParameterSetResponseDTO.class, "POST", "/JS", request); - if (setResponse == null) { - logger.debug("Failed to set parameter {} to '{}': no response received", parameterId, value); - return false; - } - - BsbLanApiParameterSetResultDTO result = setResponse.getOrDefault(parameterId, null); - if (result == null) { - logger.debug("Failed to set parameter {} to '{}'': result is null", parameterId, value); - return false; - } - if (result.status == null) { - logger.debug("Failed to set parameter {} to '{}': status is null", parameterId, value); - return false; - } - if (result.status != BsbLanApiParameterSetResultDTO.Status.SUCCESS) { - logger.debug("Failed to set parameter {} to '{}': status = {}", parameterId, value, result.status); - return false; - } - return true; - } - - private String createApiBaseUrl() { - final String host = StringUtils.trimToEmpty(bridgeConfig.host); - final String username = StringUtils.trimToEmpty(bridgeConfig.username); - final String password = StringUtils.trimToEmpty(bridgeConfig.password); - final String passkey = StringUtils.trimToEmpty(bridgeConfig.passkey); - - StringBuilder url = new StringBuilder(); - url.append("http://"); - if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) { - url.append(username).append(":").append(password).append("@"); - } - url.append(host); - if (bridgeConfig.port != 80) { - url.append(":").append(bridgeConfig.port); - } - if (StringUtils.isNotBlank(passkey)) { - url.append("/").append(passkey); - } - return url.toString(); - } - - /** - * @param responseType response class type - * @param httpMethod to execute - * @param apiPath to request - * @param content to add to request - * @return the object representation of the json response - */ - private @Nullable T makeRestCall(Class responseType, String httpMethod, String apiPath, @Nullable BsbLanApiContentDTO request) { - try { - String url = createApiBaseUrl() + apiPath; - logger.trace("api request url = '{}'", url); - - InputStream contentStream = null; - String contentType = null; - if (request != null) { - String content = BsbLanApiContentConverter.toJson(request); - logger.trace("api request content: '{}'", content); - if (StringUtils.isNotBlank(content)) { - contentStream = new ByteArrayInputStream(content.getBytes(Charset.forName("UTF-8"))); - contentType = "application/json"; - } - } - - String response = HttpUtil.executeUrl(httpMethod, url, contentStream, contentType, API_TIMEOUT); - if (response == null) { - logger.debug("no response returned"); - return null; - } - - logger.trace("api response content: '{}'", response); - return BsbLanApiContentConverter.fromJson(response, responseType); - } catch (IOException | IllegalStateException e) { - logger.debug("Error executing bsb-lan api request: {}", e.getMessage()); - return null; - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal.api; + +import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.nio.charset.Charset; +import java.util.HashSet; +import java.util.Set; + +import org.apache.commons.lang.StringUtils; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.io.net.http.HttpUtil; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterQueryResponseDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetResponseDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetResultDTO; +import org.openhab.binding.bsblan.internal.configuration.BsbLanBridgeConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Utility class to call the BSB-LAN REST API. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +public class BsbLanApiCaller { + + private final Logger logger = LoggerFactory.getLogger(BsbLanApiCaller.class); + private final BsbLanBridgeConfiguration bridgeConfig; + + public BsbLanApiCaller(BsbLanBridgeConfiguration config) { + bridgeConfig = config; + } + + public @Nullable BsbLanApiParameterQueryResponseDTO queryParameter(Integer parameterId) { + Set parameters = new HashSet<>(); + + parameters.add(parameterId); + return queryParameters(parameters); + } + + public @Nullable BsbLanApiParameterQueryResponseDTO queryParameters(Set parameterIds) { + // note: make the request even if parameterIds is empty as + // thing OFFLINE/ONLINE detection relies on a response + + String apiPath = String.format("/JQ=%s", StringUtils.join(parameterIds, ",")); + return makeRestCall(BsbLanApiParameterQueryResponseDTO.class, "GET", apiPath, null); + } + + public boolean setParameter(Integer parameterId, String value, BsbLanApiParameterSetRequestDTO.Type type) { + // prepare request content + BsbLanApiParameterSetRequestDTO request = new BsbLanApiParameterSetRequestDTO(); + request.parameter = parameterId.toString(); + request.value = value; + request.type = type; + + // make REST call and process response + BsbLanApiParameterSetResponseDTO setResponse = makeRestCall(BsbLanApiParameterSetResponseDTO.class, "POST", + "/JS", request); + if (setResponse == null) { + logger.debug("Failed to set parameter {} to '{}': no response received", parameterId, value); + return false; + } + + BsbLanApiParameterSetResultDTO result = setResponse.getOrDefault(parameterId, null); + if (result == null) { + logger.debug("Failed to set parameter {} to '{}'': result is null", parameterId, value); + return false; + } + if (result.status == null) { + logger.debug("Failed to set parameter {} to '{}': status is null", parameterId, value); + return false; + } + if (result.status != BsbLanApiParameterSetResultDTO.Status.SUCCESS) { + logger.debug("Failed to set parameter {} to '{}': status = {}", parameterId, value, result.status); + return false; + } + return true; + } + + private String createApiBaseUrl() { + final String host = StringUtils.trimToEmpty(bridgeConfig.host); + final String username = StringUtils.trimToEmpty(bridgeConfig.username); + final String password = StringUtils.trimToEmpty(bridgeConfig.password); + final String passkey = StringUtils.trimToEmpty(bridgeConfig.passkey); + + StringBuilder url = new StringBuilder(); + url.append("http://"); + if (StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)) { + url.append(username).append(":").append(password).append("@"); + } + url.append(host); + if (bridgeConfig.port != 80) { + url.append(":").append(bridgeConfig.port); + } + if (StringUtils.isNotBlank(passkey)) { + url.append("/").append(passkey); + } + return url.toString(); + } + + /** + * @param responseType response class type + * @param httpMethod to execute + * @param apiPath to request + * @param content to add to request + * @return the object representation of the json response + */ + private @Nullable T makeRestCall(Class responseType, String httpMethod, String apiPath, + @Nullable BsbLanApiContentDTO request) { + try { + String url = createApiBaseUrl() + apiPath; + logger.trace("api request url = '{}'", url); + + InputStream contentStream = null; + String contentType = null; + if (request != null) { + String content = BsbLanApiContentConverter.toJson(request); + logger.trace("api request content: '{}'", content); + if (StringUtils.isNotBlank(content)) { + contentStream = new ByteArrayInputStream(content.getBytes(Charset.forName("UTF-8"))); + contentType = "application/json"; + } + } + + String response = HttpUtil.executeUrl(httpMethod, url, contentStream, contentType, API_TIMEOUT); + if (response == null) { + logger.debug("no response returned"); + return null; + } + + logger.trace("api response content: '{}'", response); + return BsbLanApiContentConverter.fromJson(response, responseType); + } catch (IOException | IllegalStateException e) { + logger.debug("Error executing bsb-lan api request: {}", e.getMessage()); + return null; + } + } +} diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverter.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverter.java index 227abcae4d372..a5bc8d98e48c9 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverter.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverter.java @@ -1,52 +1,50 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal.api; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; - -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.gson.Gson; -import com.google.gson.JsonSyntaxException; - -/** - * Utility class to create JSON content. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -public class BsbLanApiContentConverter { - private static final Logger LOGGER = LoggerFactory.getLogger(BsbLanApiContentConverter.class); - private static final Gson GSON = new Gson(); - - public static String toJson(BsbLanApiContentDTO request) { - return GSON.toJson(request); - } - - public static @Nullable T fromJson(String content, Class resultType) { - try { - T result = GSON.fromJson(content, resultType); - if (result == null) { - LOGGER.debug("result null after json parsing (response = {})", content); - } - return result; - } catch (JsonSyntaxException e) { - LOGGER.debug("Parsing JSON API response failed: {}", e.getMessage()); - return null; - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal.api; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; + +/** + * Utility class to create JSON content. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +public class BsbLanApiContentConverter { + private static final Logger LOGGER = LoggerFactory.getLogger(BsbLanApiContentConverter.class); + private static final Gson GSON = new Gson(); + + public static String toJson(BsbLanApiContentDTO request) { + return GSON.toJson(request); + } + + public static @Nullable T fromJson(String content, Class resultType) { + try { + T result = GSON.fromJson(content, resultType); + if (result == null) { + LOGGER.debug("result null after json parsing (response = {})", content); + } + return result; + } catch (JsonSyntaxException e) { + LOGGER.debug("Parsing JSON API response failed: {}", e.getMessage()); + return null; + } + } +} diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterDTO.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterDTO.java index 177218a705041..4cd0175def67c 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterDTO.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterDTO.java @@ -23,23 +23,23 @@ public class BsbLanApiParameterDTO { public enum DataType { @SerializedName("0") - DT_VALS(0), // plain value + DT_VALS(0), // plain value @SerializedName("1") - DT_ENUM(1), // value (8/16 Bit) followed by space followed by text + DT_ENUM(1), // value (8/16 Bit) followed by space followed by text @SerializedName("2") - DT_BITS(2), // bit value followed by bitmask followed by text + DT_BITS(2), // bit value followed by bitmask followed by text @SerializedName("3") - DT_WDAY(3), // weekday + DT_WDAY(3), // weekday @SerializedName("4") - DT_HHMM(4), // hour:minute + DT_HHMM(4), // hour:minute @SerializedName("5") - DT_DTTM(5), // date and time + DT_DTTM(5), // date and time @SerializedName("6") - DT_DDMM(6), // day and month + DT_DDMM(6), // day and month @SerializedName("7") - DT_STRN(7), // string + DT_STRN(7), // string @SerializedName("8") - DT_DWHM(8); // PPS time (day of week, hour:minute) + DT_DWHM(8); // PPS time (day of week, hour:minute) private final int value; diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterQueryResponseDTO.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterQueryResponseDTO.java index 2d3a60ee13fc7..f22bd2324f8fb 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterQueryResponseDTO.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterQueryResponseDTO.java @@ -12,8 +12,6 @@ */ package org.openhab.binding.bsblan.internal.api.dto; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; - import java.util.HashMap; /** @@ -23,5 +21,6 @@ * @author Peter Schraffl - Initial contribution */ @SuppressWarnings("serial") -public class BsbLanApiParameterQueryResponseDTO extends HashMap implements BsbLanApiContentDTO { +public class BsbLanApiParameterQueryResponseDTO extends HashMap + implements BsbLanApiContentDTO { } diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetRequestDTO.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetRequestDTO.java index 7eec3722ba29b..9ea962ace0066 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetRequestDTO.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetRequestDTO.java @@ -12,8 +12,6 @@ */ package org.openhab.binding.bsblan.internal.api.dto; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; - import com.google.gson.annotations.SerializedName; /** @@ -31,6 +29,7 @@ public enum Type { SET("SET"); private final String value; + Type(String value) { this.value = value; } diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResponseDTO.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResponseDTO.java index c63532cab847c..abb04c0e726df 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResponseDTO.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResponseDTO.java @@ -12,8 +12,6 @@ */ package org.openhab.binding.bsblan.internal.api.dto; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiContentDTO; - import java.util.HashMap; /** @@ -23,5 +21,6 @@ * @author Peter Schraffl - Initial contribution */ @SuppressWarnings("serial") -public class BsbLanApiParameterSetResponseDTO extends HashMap implements BsbLanApiContentDTO { +public class BsbLanApiParameterSetResponseDTO extends HashMap + implements BsbLanApiContentDTO { } diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResultDTO.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResultDTO.java index a24abf02f13a3..4f12d1f4c7392 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResultDTO.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/api/dto/BsbLanApiParameterSetResultDTO.java @@ -31,6 +31,7 @@ public enum Status { READ_ONLY(2); private final int value; + Status(int value) { this.value = value; } diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBaseThingHandler.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBaseThingHandler.java index 2cd0bf3b4e7ca..69148d09e430e 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBaseThingHandler.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBaseThingHandler.java @@ -23,10 +23,8 @@ import org.eclipse.smarthome.core.thing.binding.ThingHandler; import org.eclipse.smarthome.core.types.Command; import org.eclipse.smarthome.core.types.RefreshType; - -import org.openhab.binding.bsblan.internal.configuration.BsbLanBridgeConfiguration; import org.openhab.binding.bsblan.internal.api.BsbLanApiCaller; - +import org.openhab.binding.bsblan.internal.configuration.BsbLanBridgeConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -74,7 +72,7 @@ public void initialize() { } ThingHandler handler = bridge.getHandler(); if (handler instanceof BsbLanBridgeHandler) { - this.bridgeHandler = (BsbLanBridgeHandler)handler; + this.bridgeHandler = (BsbLanBridgeHandler) handler; } } return this.bridgeHandler; diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBridgeHandler.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBridgeHandler.java index e8e6f14b03bc6..0fbabb89ccff7 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBridgeHandler.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanBridgeHandler.java @@ -12,12 +12,13 @@ */ package org.openhab.binding.bsblan.internal.handler; +import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; + import java.util.HashSet; import java.util.Set; -import java.util.stream.*; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; - +import java.util.stream.*; import org.apache.commons.lang.StringUtils; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -34,8 +35,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; - /** * Bridge for BSB-LAN devices. * @@ -81,14 +80,14 @@ public void initialize() { // validate 'host' configuration if (StringUtils.isBlank(bridgeConfig.host)) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "Parameter 'host' is mandatory and must be configured"); + "Parameter 'host' is mandatory and must be configured"); return; } // validate 'refreshInterval' configuration - if (bridgeConfig.refreshInterval != null && bridgeConfig.refreshInterval < MIN_REFRESH_INTERVAL) { + if (bridgeConfig.refreshInterval != null && bridgeConfig.refreshInterval < MIN_REFRESH_INTERVAL) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - String.format("Parameter 'refreshInterval' must be at least %d seconds", MIN_REFRESH_INTERVAL)); + String.format("Parameter 'refreshInterval' must be at least %d seconds", MIN_REFRESH_INTERVAL)); return; } @@ -129,19 +128,18 @@ private void doRefresh() { BsbLanApiCaller apiCaller = new BsbLanApiCaller(bridgeConfig); // refresh all parameters - Set parameterIds = things.stream() - .filter(thing -> thing instanceof BsbLanParameterHandler) - .map(thing -> (BsbLanParameterHandler) thing) - .map(thing -> thing.getParameterId()) - .collect(Collectors.toSet()); + Set parameterIds = things.stream().filter(thing -> thing instanceof BsbLanParameterHandler) + .map(thing -> (BsbLanParameterHandler) thing).map(thing -> thing.getParameterId()) + .collect(Collectors.toSet()); cachedParameterQueryResponse = apiCaller.queryParameters(parameterIds); - // InetAddress.isReachable(...) check returned false on RPi although the device is reachable (worked on Windows). + // InetAddress.isReachable(...) check returned false on RPi although the device is reachable (worked on + // Windows). // Therefore we check status depending on the response. if (cachedParameterQueryResponse == null) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR, - "Did not receive a response from BSB-LAN device. Check your configuration and if device is online."); + "Did not receive a response from BSB-LAN device. Check your configuration and if device is online."); // continue processing, so things can go to OFFLINE too } else { // response received, tread device as reachable, refresh state now @@ -160,7 +158,8 @@ private void startAutomaticRefresh(BsbLanBridgeConfiguration config) { // use a local variable to avoid the build warning "Potential null pointer access" ScheduledFuture localRefreshJob = refreshJob; if (localRefreshJob == null || localRefreshJob.isCancelled()) { - int interval = (config.refreshInterval != null) ? config.refreshInterval.intValue() : DEFAULT_REFRESH_INTERVAL; + int interval = (config.refreshInterval != null) ? config.refreshInterval.intValue() + : DEFAULT_REFRESH_INTERVAL; refreshJob = scheduler.scheduleWithFixedDelay(this::doRefresh, 0, interval, TimeUnit.SECONDS); } } diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanParameterHandler.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanParameterHandler.java index 9419a23246e55..833311464a915 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanParameterHandler.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/handler/BsbLanParameterHandler.java @@ -1,169 +1,172 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal.handler; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.types.State; -import org.eclipse.smarthome.core.types.Command; - -import org.openhab.binding.bsblan.internal.configuration.BsbLanBridgeConfiguration; -import org.openhab.binding.bsblan.internal.configuration.BsbLanParameterConfiguration; -import org.openhab.binding.bsblan.internal.api.BsbLanApiCaller; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterQueryResponseDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO.Type; -import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; -import org.openhab.binding.bsblan.internal.helper.BsbLanParameterConverter; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link BsbLanParameterHandler} is responsible for updating the data, which are - * sent to one of the channels. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -public class BsbLanParameterHandler extends BsbLanBaseThingHandler { - - private final Logger logger = LoggerFactory.getLogger(BsbLanParameterHandler.class); - private BsbLanParameterConfiguration parameterConfig = new BsbLanParameterConfiguration(); - - public BsbLanParameterHandler(Thing thing) { - super(thing); - } - - public Integer getParameterId() { - return parameterConfig.id; - } - - @Override - protected String getDescription() { - return "BSB-LAN Parameter"; - } - - @Override - public void refresh(BsbLanBridgeConfiguration bridgeConfiguration) { - updateChannels(); - } - - @Override - public void initialize() { - parameterConfig = getConfigAs(BsbLanParameterConfiguration.class); - super.initialize(); - - // validate 'setId' configuration -> fallback to value of 'id' if invalid or not specified - if (parameterConfig.setId == null || parameterConfig.setId <= 0) { - parameterConfig.setId = parameterConfig.id; - } - - // validate 'setType' configuration -> fallback to 'SET' if invalid or not specified - parameterConfig.setType = Type.getTypeWithFallback(parameterConfig.setType).toString(); - - // it will take up to refreshInterval seconds until we receive a value and thing goes online - // see notes in {@link BsbLanBridgeHandler#registerThing(BsbLanBaseThingHandler)} - updateStatus(ThingStatus.UNKNOWN); - } - - /** - * Update the channel from the last data retrieved - * - * @param channelId the id identifying the channel to be updated - */ - @Override - protected void updateChannel(String channelId) { - BsbLanApiParameterQueryResponseDTO data = null; - BsbLanBridgeHandler bridgeHandler = getBridgeHandler(); - if (bridgeHandler != null) { - data = bridgeHandler.getCachedParameterQueryResponse(); - } - updateChannel(channelId, data); - } - - private void updateChannel(String channelId, @Nullable BsbLanApiParameterQueryResponseDTO data) { - if (data == null) { - logger.debug("no data available while updating channel '{}' of parameter {}", channelId, parameterConfig.id); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.BRIDGE_OFFLINE, - "No data received from BSB-LAN device"); - return; - } - - BsbLanApiParameterDTO parameter = data.getOrDefault(parameterConfig.id, null); - if (parameter == null) { - logger.debug("parameter {} is not part of response data while updating channel '{}' ", parameterConfig.id, channelId); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - String.format("No data received for parameter %s", parameterConfig.id)); - return; - } - - updateStatus(ThingStatus.ONLINE); - - if (!isLinked(channelId)) { - return; - } - - State state = BsbLanParameterConverter.getState(channelId, parameter); - if (state == null) { - return; - } - - updateState(channelId, state); - } - - /** - * Update the channel from the last data retrieved - * - * @param channelId the id identifying the channel to be updated - * @param command the value to be set - */ - @Override - protected void setChannel(String channelId, Command command) { - logger.trace("Received command '{}' for channel '{}'", command, channelId); - - if (!WRITEABLE_CHANNELS.contains(channelId)) { - logger.warn("Channel '{}' is read only. Ignoring command", channelId); - return; - } - - String value = BsbLanParameterConverter.getValue(channelId, command); - if (value == null) { - logger.warn("Channel '{}' is read only or conversion failed. Ignoring command", channelId); - return; - } - - BsbLanApiCaller api = getApiCaller(); - if (api == null) { - logger.debug("Failed to set parameter {} (API unavailable)", parameterConfig.setId); - return; - } - - boolean success = api.setParameter(parameterConfig.setId, value, Type.getTypeWithFallback(parameterConfig.setType)); - if (!success) { - logger.debug("Failed to set parameter {} to '{}' for channel '{}'", parameterConfig.setId, value, channelId); - } - - // refresh value - BsbLanApiParameterQueryResponseDTO queryResponse = api.queryParameter(parameterConfig.id); - if (queryResponse == null) { - logger.debug("Failed to refresh parameter {} after set request", parameterConfig.id); - return; - } - - updateChannel(channelId, queryResponse); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal.handler; + +import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.State; +import org.openhab.binding.bsblan.internal.api.BsbLanApiCaller; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterQueryResponseDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO.Type; +import org.openhab.binding.bsblan.internal.configuration.BsbLanBridgeConfiguration; +import org.openhab.binding.bsblan.internal.configuration.BsbLanParameterConfiguration; +import org.openhab.binding.bsblan.internal.helper.BsbLanParameterConverter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link BsbLanParameterHandler} is responsible for updating the data, which are + * sent to one of the channels. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +public class BsbLanParameterHandler extends BsbLanBaseThingHandler { + + private final Logger logger = LoggerFactory.getLogger(BsbLanParameterHandler.class); + private BsbLanParameterConfiguration parameterConfig = new BsbLanParameterConfiguration(); + + public BsbLanParameterHandler(Thing thing) { + super(thing); + } + + public Integer getParameterId() { + return parameterConfig.id; + } + + @Override + protected String getDescription() { + return "BSB-LAN Parameter"; + } + + @Override + public void refresh(BsbLanBridgeConfiguration bridgeConfiguration) { + updateChannels(); + } + + @Override + public void initialize() { + parameterConfig = getConfigAs(BsbLanParameterConfiguration.class); + super.initialize(); + + // validate 'setId' configuration -> fallback to value of 'id' if invalid or not specified + if (parameterConfig.setId == null || parameterConfig.setId <= 0) { + parameterConfig.setId = parameterConfig.id; + } + + // validate 'setType' configuration -> fallback to 'SET' if invalid or not specified + parameterConfig.setType = Type.getTypeWithFallback(parameterConfig.setType).toString(); + + // it will take up to refreshInterval seconds until we receive a value and thing goes online + // see notes in {@link BsbLanBridgeHandler#registerThing(BsbLanBaseThingHandler)} + updateStatus(ThingStatus.UNKNOWN); + } + + /** + * Update the channel from the last data retrieved + * + * @param channelId the id identifying the channel to be updated + */ + @Override + protected void updateChannel(String channelId) { + BsbLanApiParameterQueryResponseDTO data = null; + BsbLanBridgeHandler bridgeHandler = getBridgeHandler(); + if (bridgeHandler != null) { + data = bridgeHandler.getCachedParameterQueryResponse(); + } + updateChannel(channelId, data); + } + + private void updateChannel(String channelId, @Nullable BsbLanApiParameterQueryResponseDTO data) { + if (data == null) { + logger.debug("no data available while updating channel '{}' of parameter {}", channelId, + parameterConfig.id); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.BRIDGE_OFFLINE, + "No data received from BSB-LAN device"); + return; + } + + BsbLanApiParameterDTO parameter = data.getOrDefault(parameterConfig.id, null); + if (parameter == null) { + logger.debug("parameter {} is not part of response data while updating channel '{}' ", parameterConfig.id, + channelId); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + String.format("No data received for parameter %s", parameterConfig.id)); + return; + } + + updateStatus(ThingStatus.ONLINE); + + if (!isLinked(channelId)) { + return; + } + + State state = BsbLanParameterConverter.getState(channelId, parameter); + if (state == null) { + return; + } + + updateState(channelId, state); + } + + /** + * Update the channel from the last data retrieved + * + * @param channelId the id identifying the channel to be updated + * @param command the value to be set + */ + @Override + protected void setChannel(String channelId, Command command) { + logger.trace("Received command '{}' for channel '{}'", command, channelId); + + if (!WRITEABLE_CHANNELS.contains(channelId)) { + logger.warn("Channel '{}' is read only. Ignoring command", channelId); + return; + } + + String value = BsbLanParameterConverter.getValue(channelId, command); + if (value == null) { + logger.warn("Channel '{}' is read only or conversion failed. Ignoring command", channelId); + return; + } + + BsbLanApiCaller api = getApiCaller(); + if (api == null) { + logger.debug("Failed to set parameter {} (API unavailable)", parameterConfig.setId); + return; + } + + boolean success = api.setParameter(parameterConfig.setId, value, + Type.getTypeWithFallback(parameterConfig.setType)); + if (!success) { + logger.debug("Failed to set parameter {} to '{}' for channel '{}'", parameterConfig.setId, value, + channelId); + } + + // refresh value + BsbLanApiParameterQueryResponseDTO queryResponse = api.queryParameter(parameterConfig.id); + if (queryResponse == null) { + logger.debug("Failed to refresh parameter {} after set request", parameterConfig.id); + return; + } + + updateChannel(channelId, queryResponse); + } +} diff --git a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverter.java b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverter.java index 6fbc2d8ac97cb..39e09a48201c9 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverter.java +++ b/bundles/org.openhab.binding.bsblan/src/main/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverter.java @@ -1,165 +1,163 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal.helper; - -import org.apache.commons.lang.StringEscapeUtils; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.library.types.DecimalType; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.State; - -import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link BsbLanParameterHandler} is responsible for updating the data, which are - * sent to one of the channels. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -public class BsbLanParameterConverter { - - private static final Logger LOGGER = LoggerFactory.getLogger(BsbLanParameterConverter.class); - - public static @Nullable State getState(String channelId, BsbLanApiParameterDTO parameter) { - switch (channelId) { - case PARAMETER_CHANNEL_NAME: - return getStateForNameChannel(parameter); - - case PARAMETER_CHANNEL_DESCRIPTION: - return getStateForDescriptionChannel(parameter); - - case PARAMETER_CHANNEL_DATATYPE: - return getStateForDatatypeChannel(parameter); - - case PARAMETER_CHANNEL_NUMBER_VALUE: - return getStateForNumberValueChannel(parameter); - - case PARAMETER_CHANNEL_STRING_VALUE: - return getStateForStringValueChannel(parameter); - - case PARAMETER_CHANNEL_SWITCH_VALUE: - return getStateForSwitchValueChannel(parameter); - - case PARAMETER_CHANNEL_UNIT: - return getStateForUnitChannel(parameter); - } - - LOGGER.debug("unsupported channel '{}' while updating state", channelId); - return null; - } - - private static State getStateForNameChannel(BsbLanApiParameterDTO parameter) { - return new StringType(parameter.name); - } - - private static State getStateForDescriptionChannel(BsbLanApiParameterDTO parameter) { - return new StringType(parameter.description); - } - - private static State getStateForUnitChannel(BsbLanApiParameterDTO parameter) { - String value = StringEscapeUtils.unescapeHtml(parameter.unit); - return new StringType(value); - } - - private static State getStateForDatatypeChannel(BsbLanApiParameterDTO parameter) { - int value = parameter.dataType.getValue(); - return new DecimalType(value); - } - - private static @Nullable State getStateForNumberValueChannel(BsbLanApiParameterDTO parameter) { - try { - switch (parameter.dataType) { - // parse enum data type as integer - case DT_ENUM: - return new DecimalType(Integer.parseInt(parameter.value)); - - default: - return new DecimalType(Double.parseDouble(parameter.value)); - } - } - catch (NumberFormatException e) { - // silently ignore - there is not "tryParse" - } - return null; - } - - private static State getStateForStringValueChannel(BsbLanApiParameterDTO parameter) { - return new StringType(parameter.value); - } - - private static State getStateForSwitchValueChannel(BsbLanApiParameterDTO parameter) { - // treat "0" as OFF and everything else as ON - return parameter.value.equals("0") ? OnOffType.OFF : OnOffType.ON; - } - - /** - * Converts a Command back to a value which is sent to the BSB-LAN device afterwards. - * @param channelId - * @param command - * @return null if conversion fails or channel is readonly. - */ - public static @Nullable String getValue(String channelId, Command command) { - switch (channelId) { - case PARAMETER_CHANNEL_NUMBER_VALUE: - return getValueForNumberValueChannel(command); - - case PARAMETER_CHANNEL_STRING_VALUE: - return getValueForStringValueChannel(command); - - case PARAMETER_CHANNEL_SWITCH_VALUE: - return getValueForSwitchValueChannel(command); - - default: - LOGGER.debug("Channel '{}' is read only. Ignoring command", channelId); - return null; - } - } - - private static @Nullable String getValueForNumberValueChannel(Command command) { - // check if numeric - if (command.toString().matches("-?\\d+(\\.\\d+)?")) { - return command.toString(); - } - LOGGER.warn("Command '{}' is not a valid number value", command); - return null; - } - - private static String getValueForStringValueChannel(Command command) { - // special OnOffType handling - if (command.equals(OnOffType.ON)) { - return "1"; - } else if (command.equals(OnOffType.OFF)) { - return "0"; - } - return command.toString(); - } - - private static @Nullable String getValueForSwitchValueChannel(Command command) { - if (command.equals(OnOffType.ON)) { - return "1"; - } else if (command.equals(OnOffType.OFF)) { - return "0"; - } - LOGGER.warn("Command '{}' is not a valid switch value", command); - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal.helper; + +import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; + +import org.apache.commons.lang.StringEscapeUtils; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.library.types.DecimalType; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.State; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link BsbLanParameterHandler} is responsible for updating the data, which are + * sent to one of the channels. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +public class BsbLanParameterConverter { + + private static final Logger LOGGER = LoggerFactory.getLogger(BsbLanParameterConverter.class); + + public static @Nullable State getState(String channelId, BsbLanApiParameterDTO parameter) { + switch (channelId) { + case PARAMETER_CHANNEL_NAME: + return getStateForNameChannel(parameter); + + case PARAMETER_CHANNEL_DESCRIPTION: + return getStateForDescriptionChannel(parameter); + + case PARAMETER_CHANNEL_DATATYPE: + return getStateForDatatypeChannel(parameter); + + case PARAMETER_CHANNEL_NUMBER_VALUE: + return getStateForNumberValueChannel(parameter); + + case PARAMETER_CHANNEL_STRING_VALUE: + return getStateForStringValueChannel(parameter); + + case PARAMETER_CHANNEL_SWITCH_VALUE: + return getStateForSwitchValueChannel(parameter); + + case PARAMETER_CHANNEL_UNIT: + return getStateForUnitChannel(parameter); + } + + LOGGER.debug("unsupported channel '{}' while updating state", channelId); + return null; + } + + private static State getStateForNameChannel(BsbLanApiParameterDTO parameter) { + return new StringType(parameter.name); + } + + private static State getStateForDescriptionChannel(BsbLanApiParameterDTO parameter) { + return new StringType(parameter.description); + } + + private static State getStateForUnitChannel(BsbLanApiParameterDTO parameter) { + String value = StringEscapeUtils.unescapeHtml(parameter.unit); + return new StringType(value); + } + + private static State getStateForDatatypeChannel(BsbLanApiParameterDTO parameter) { + int value = parameter.dataType.getValue(); + return new DecimalType(value); + } + + private static @Nullable State getStateForNumberValueChannel(BsbLanApiParameterDTO parameter) { + try { + switch (parameter.dataType) { + // parse enum data type as integer + case DT_ENUM: + return new DecimalType(Integer.parseInt(parameter.value)); + + default: + return new DecimalType(Double.parseDouble(parameter.value)); + } + } catch (NumberFormatException e) { + // silently ignore - there is not "tryParse" + } + return null; + } + + private static State getStateForStringValueChannel(BsbLanApiParameterDTO parameter) { + return new StringType(parameter.value); + } + + private static State getStateForSwitchValueChannel(BsbLanApiParameterDTO parameter) { + // treat "0" as OFF and everything else as ON + return parameter.value.equals("0") ? OnOffType.OFF : OnOffType.ON; + } + + /** + * Converts a Command back to a value which is sent to the BSB-LAN device afterwards. + * + * @param channelId + * @param command + * @return null if conversion fails or channel is readonly. + */ + public static @Nullable String getValue(String channelId, Command command) { + switch (channelId) { + case PARAMETER_CHANNEL_NUMBER_VALUE: + return getValueForNumberValueChannel(command); + + case PARAMETER_CHANNEL_STRING_VALUE: + return getValueForStringValueChannel(command); + + case PARAMETER_CHANNEL_SWITCH_VALUE: + return getValueForSwitchValueChannel(command); + + default: + LOGGER.debug("Channel '{}' is read only. Ignoring command", channelId); + return null; + } + } + + private static @Nullable String getValueForNumberValueChannel(Command command) { + // check if numeric + if (command.toString().matches("-?\\d+(\\.\\d+)?")) { + return command.toString(); + } + LOGGER.warn("Command '{}' is not a valid number value", command); + return null; + } + + private static String getValueForStringValueChannel(Command command) { + // special OnOffType handling + if (command.equals(OnOffType.ON)) { + return "1"; + } else if (command.equals(OnOffType.OFF)) { + return "0"; + } + return command.toString(); + } + + private static @Nullable String getValueForSwitchValueChannel(Command command) { + if (command.equals(OnOffType.ON)) { + return "1"; + } else if (command.equals(OnOffType.OFF)) { + return "0"; + } + LOGGER.warn("Command '{}' is not a valid switch value", command); + return null; + } +} diff --git a/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/binding/binding.xml index 22ef6d080f44e..e6027d385e254 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + BSB-LAN Binding Binding for BSB-LAN Gateway. diff --git a/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/bridge.xml index 15864e1e729b7..81583d1f8bab7 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/thing-types.xml index 9f9586c095fea..9703981f69533 100644 --- a/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.bsblan/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,24 +1,25 @@ - - + Represents a single parameter available at the BSB-LAN device and identified by a numeric id. - - - - - - - + + + + + + + @@ -62,7 +63,7 @@ Value of the parameter - + Switch Value of the parameter diff --git a/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverterTests.java b/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverterTests.java index db18998f3568e..b9900cba5e144 100644 --- a/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverterTests.java +++ b/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/api/BsbLanApiContentConverterTests.java @@ -1,87 +1,80 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal.api; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.junit.Test; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterQueryResponseDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO.Type; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; - -import com.google.gson.JsonParser; -import com.google.gson.JsonObject; - -/** - * The {@link BsbLanApiContentConverterTests} class implements tests - * for {@link BsbLanApiContentConverter}. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -public class BsbLanApiContentConverterTests { - - @Test - public void parseBsbLanApiParameterQueryResponse() { - String content = - "{\r\n" + - "\"700\": {\r\n" + - "\"name\": \"Betriebsart\",\r\n" + - "\"value\": \"0\",\r\n" + - "\"unit\": \"\",\r\n" + - "\"desc\": \"Schutzbetrieb\",\r\n" + - "\"dataType\": 1\r\n" + - "}\r\n" + - "}"; - - BsbLanApiParameterQueryResponseDTO r = BsbLanApiContentConverter.fromJson(content, BsbLanApiParameterQueryResponseDTO.class); - assertNotNull(r); - assertTrue(r.containsKey(700)); - - BsbLanApiParameterDTO p = r.get(700); - assertEquals("Betriebsart", p.name); - assertEquals("0", p.value); - assertEquals("", p.unit); - assertEquals("Schutzbetrieb", p.description); - assertEquals(BsbLanApiParameterDTO .DataType.DT_ENUM, p.dataType); - } - - @Test - public void serializeBsbLanApiParameterSetRequest() { - BsbLanApiParameterSetRequestDTO request = new BsbLanApiParameterSetRequestDTO(); - request.parameter = "1234"; - request.value = "Hello World"; - request.type = Type.SET; - - String serializedRequest = BsbLanApiContentConverter.toJson(request); - - // verify serialized content - JsonParser parser = new JsonParser(); - JsonObject json = parser.parse(serializedRequest).getAsJsonObject(); - - // Although specifying the parameter as int (which would be nicer) also seems to work, - // we use a String here as this is the way it is noted in the documentation. - // So ensure there is a 'Parameter' and it is serialized as string. - assertEquals("1234", json.get("Parameter").getAsString()); - - // ensure there is a 'Value' and it is serialized as string - assertEquals("Hello World", json.get("Value").getAsString()); - - // ensure there is a 'Type' and it is serialized as number - assertEquals(1, json.get("Type").getAsInt()); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal.api; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.junit.Test; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterQueryResponseDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterSetRequestDTO.Type; + +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + +/** + * The {@link BsbLanApiContentConverterTests} class implements tests + * for {@link BsbLanApiContentConverter}. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +public class BsbLanApiContentConverterTests { + + @Test + public void parseBsbLanApiParameterQueryResponse() { + String content = "{\r\n" + "\"700\": {\r\n" + "\"name\": \"Betriebsart\",\r\n" + "\"value\": \"0\",\r\n" + + "\"unit\": \"\",\r\n" + "\"desc\": \"Schutzbetrieb\",\r\n" + "\"dataType\": 1\r\n" + "}\r\n" + "}"; + + BsbLanApiParameterQueryResponseDTO r = BsbLanApiContentConverter.fromJson(content, + BsbLanApiParameterQueryResponseDTO.class); + assertNotNull(r); + assertTrue(r.containsKey(700)); + + BsbLanApiParameterDTO p = r.get(700); + assertEquals("Betriebsart", p.name); + assertEquals("0", p.value); + assertEquals("", p.unit); + assertEquals("Schutzbetrieb", p.description); + assertEquals(BsbLanApiParameterDTO.DataType.DT_ENUM, p.dataType); + } + + @Test + public void serializeBsbLanApiParameterSetRequest() { + BsbLanApiParameterSetRequestDTO request = new BsbLanApiParameterSetRequestDTO(); + request.parameter = "1234"; + request.value = "Hello World"; + request.type = Type.SET; + + String serializedRequest = BsbLanApiContentConverter.toJson(request); + + // verify serialized content + JsonParser parser = new JsonParser(); + JsonObject json = parser.parse(serializedRequest).getAsJsonObject(); + + // Although specifying the parameter as int (which would be nicer) also seems to work, + // we use a String here as this is the way it is noted in the documentation. + // So ensure there is a 'Parameter' and it is serialized as string. + assertEquals("1234", json.get("Parameter").getAsString()); + + // ensure there is a 'Value' and it is serialized as string + assertEquals("Hello World", json.get("Value").getAsString()); + + // ensure there is a 'Type' and it is serialized as number + assertEquals(1, json.get("Type").getAsInt()); + } +} diff --git a/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverterTests.java b/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverterTests.java index 95acd9103dd90..2feeb8e1600db 100644 --- a/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverterTests.java +++ b/bundles/org.openhab.binding.bsblan/src/test/java/org/openhab/binding/bsblan/internal/helper/BsbLanParameterConverterTests.java @@ -1,253 +1,254 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.bsblan.internal.helper; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.core.types.State; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.library.types.DecimalType; -import org.eclipse.smarthome.core.library.types.OnOffType; - -import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; -import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; - -import org.junit.Test; - -/** - * The {@link BsbLanParameterConverterTests} class implements tests - * for {@link BsbLanParameterConverter}. - * - * @author Peter Schraffl - Initial contribution - */ -@NonNullByDefault -public class BsbLanParameterConverterTests { - - @Test - public void testGetStatesForStringParameter() { - BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); - parameter.dataType = BsbLanApiParameterDTO.DataType.DT_STRN; - parameter.description = "Test-Description"; - parameter.name = "Test-Name"; - parameter.unit = "Test-Unit"; - parameter.value = "Test-Value"; - - State state = null; - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_STRN.getValue()), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Description"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Name"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); - assertNull(state); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Value"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); - assertNotNull(state); - assertEquals(OnOffType.ON, state); - } - - @Test - public void testGetStatesForEnumParameterValue1() { - BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); - parameter.dataType = BsbLanApiParameterDTO.DataType.DT_ENUM; - parameter.description = "Test-Description"; - parameter.name = "Test-Name"; - parameter.unit = "Test-Unit"; - parameter.value = "1"; - - State state = null; - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_ENUM.getValue()), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Description"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Name"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(1), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); - assertNotNull(state); - assertEquals(new StringType("1"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); - assertNotNull(state); - assertEquals(OnOffType.ON, state); - } - - @Test - public void testGetStatesForEnumParameterValue0() { - BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); - parameter.dataType = BsbLanApiParameterDTO.DataType.DT_ENUM; - parameter.description = "Test-Description"; - parameter.name = "Test-Name"; - parameter.unit = "Test-Unit"; - parameter.value = "0"; - - State state = null; - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_ENUM.getValue()), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Description"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Name"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(0), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); - assertNotNull(state); - assertEquals(new StringType("0"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); - assertNotNull(state); - assertEquals(OnOffType.OFF, state); - } - - @Test - public void testGetStatesForValueParameterValue() { - BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); - parameter.dataType = BsbLanApiParameterDTO.DataType.DT_VALS; - parameter.description = "Test-Description"; - parameter.name = "Test-Name"; - parameter.unit = "Test-Unit"; - parameter.value = "22.5"; - - State state = null; - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_VALS.getValue()), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Description"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Name"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); - assertNotNull(state); - assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); - assertNotNull(state); - assertEquals(new DecimalType(22.5), state.as(DecimalType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); - assertNotNull(state); - assertEquals(new StringType("22.5"), state.as(StringType.class)); - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); - assertNotNull(state); - assertEquals(OnOffType.ON, state); - } - - @Test - public void testGetStatesEscapesHtml() { - BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); - parameter.dataType = BsbLanApiParameterDTO.DataType.DT_VALS; - parameter.description = "Test-Description"; - parameter.name = "Test-Name"; - parameter.unit = "°C"; - parameter.value = "22.5"; - - State state = null; - - state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); - assertNotNull(state); - assertEquals(new StringType("°C"), state.as(StringType.class)); - } - - @Test - public void testGetValueForReadonlyChannels() { - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_DATATYPE, OnOffType.ON)); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_DESCRIPTION, OnOffType.ON)); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NAME, OnOffType.ON)); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_UNIT, OnOffType.ON)); - } - - @Test - public void testGetValueForNumberValueChannel() { - assertNull("1", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, OnOffType.ON)); - assertNull("0", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, OnOffType.OFF)); - assertEquals("42", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new DecimalType(42))); - assertEquals("22.5", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new DecimalType(22.5))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new StringType("Not a number value"))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new StringType(""))); - } - - @Test - public void testGetValueForSwitchValueChannel() { - assertEquals("1", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, OnOffType.ON)); - assertEquals("0", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, OnOffType.OFF)); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(1))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(0))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(42))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(22.5))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new StringType("Not a number value"))); - assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new StringType(""))); - } - - @Test - public void testGetValueForStringValueChannel() { - assertEquals("1", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, OnOffType.ON)); - assertEquals("0", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, OnOffType.OFF)); - assertEquals("42", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new DecimalType(42))); - assertEquals("22.5", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new DecimalType(22.5))); - assertEquals("A string value", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new StringType("A string value"))); - assertEquals("", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new StringType(""))); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.bsblan.internal.helper; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.openhab.binding.bsblan.internal.BsbLanBindingConstants.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.core.library.types.DecimalType; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.types.State; +import org.junit.Test; +import org.openhab.binding.bsblan.internal.api.dto.BsbLanApiParameterDTO; + +/** + * The {@link BsbLanParameterConverterTests} class implements tests + * for {@link BsbLanParameterConverter}. + * + * @author Peter Schraffl - Initial contribution + */ +@NonNullByDefault +public class BsbLanParameterConverterTests { + + @Test + public void testGetStatesForStringParameter() { + BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); + parameter.dataType = BsbLanApiParameterDTO.DataType.DT_STRN; + parameter.description = "Test-Description"; + parameter.name = "Test-Name"; + parameter.unit = "Test-Unit"; + parameter.value = "Test-Value"; + + State state = null; + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_STRN.getValue()), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Description"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Name"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); + assertNull(state); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Value"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); + assertNotNull(state); + assertEquals(OnOffType.ON, state); + } + + @Test + public void testGetStatesForEnumParameterValue1() { + BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); + parameter.dataType = BsbLanApiParameterDTO.DataType.DT_ENUM; + parameter.description = "Test-Description"; + parameter.name = "Test-Name"; + parameter.unit = "Test-Unit"; + parameter.value = "1"; + + State state = null; + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_ENUM.getValue()), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Description"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Name"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(1), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); + assertNotNull(state); + assertEquals(new StringType("1"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); + assertNotNull(state); + assertEquals(OnOffType.ON, state); + } + + @Test + public void testGetStatesForEnumParameterValue0() { + BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); + parameter.dataType = BsbLanApiParameterDTO.DataType.DT_ENUM; + parameter.description = "Test-Description"; + parameter.name = "Test-Name"; + parameter.unit = "Test-Unit"; + parameter.value = "0"; + + State state = null; + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_ENUM.getValue()), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Description"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Name"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(0), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); + assertNotNull(state); + assertEquals(new StringType("0"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); + assertNotNull(state); + assertEquals(OnOffType.OFF, state); + } + + @Test + public void testGetStatesForValueParameterValue() { + BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); + parameter.dataType = BsbLanApiParameterDTO.DataType.DT_VALS; + parameter.description = "Test-Description"; + parameter.name = "Test-Name"; + parameter.unit = "Test-Unit"; + parameter.value = "22.5"; + + State state = null; + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DATATYPE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(BsbLanApiParameterDTO.DataType.DT_VALS.getValue()), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_DESCRIPTION, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Description"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NAME, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Name"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); + assertNotNull(state); + assertEquals(new StringType("Test-Unit"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_NUMBER_VALUE, parameter); + assertNotNull(state); + assertEquals(new DecimalType(22.5), state.as(DecimalType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_STRING_VALUE, parameter); + assertNotNull(state); + assertEquals(new StringType("22.5"), state.as(StringType.class)); + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_SWITCH_VALUE, parameter); + assertNotNull(state); + assertEquals(OnOffType.ON, state); + } + + @Test + public void testGetStatesEscapesHtml() { + BsbLanApiParameterDTO parameter = new BsbLanApiParameterDTO(); + parameter.dataType = BsbLanApiParameterDTO.DataType.DT_VALS; + parameter.description = "Test-Description"; + parameter.name = "Test-Name"; + parameter.unit = "°C"; + parameter.value = "22.5"; + + State state = null; + + state = BsbLanParameterConverter.getState(PARAMETER_CHANNEL_UNIT, parameter); + assertNotNull(state); + assertEquals(new StringType("°C"), state.as(StringType.class)); + } + + @Test + public void testGetValueForReadonlyChannels() { + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_DATATYPE, OnOffType.ON)); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_DESCRIPTION, OnOffType.ON)); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NAME, OnOffType.ON)); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_UNIT, OnOffType.ON)); + } + + @Test + public void testGetValueForNumberValueChannel() { + assertNull("1", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, OnOffType.ON)); + assertNull("0", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, OnOffType.OFF)); + assertEquals("42", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new DecimalType(42))); + assertEquals("22.5", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new DecimalType(22.5))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, + new StringType("Not a number value"))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_NUMBER_VALUE, new StringType(""))); + } + + @Test + public void testGetValueForSwitchValueChannel() { + assertEquals("1", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, OnOffType.ON)); + assertEquals("0", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, OnOffType.OFF)); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(1))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(0))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(42))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new DecimalType(22.5))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, + new StringType("Not a number value"))); + assertNull(BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_SWITCH_VALUE, new StringType(""))); + } + + @Test + public void testGetValueForStringValueChannel() { + assertEquals("1", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, OnOffType.ON)); + assertEquals("0", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, OnOffType.OFF)); + assertEquals("42", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new DecimalType(42))); + assertEquals("22.5", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new DecimalType(22.5))); + assertEquals("A string value", + BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new StringType("A string value"))); + assertEquals("", BsbLanParameterConverter.getValue(PARAMETER_CHANNEL_STRING_VALUE, new StringType(""))); + } +} diff --git a/bundles/org.openhab.binding.buienradar/pom.xml b/bundles/org.openhab.binding.buienradar/pom.xml index 79f93e23cd49f..c059bb48188a3 100644 --- a/bundles/org.openhab.binding.buienradar/pom.xml +++ b/bundles/org.openhab.binding.buienradar/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 org.openhab.addons.bundles diff --git a/bundles/org.openhab.binding.buienradar/src/main/feature/feature.xml b/bundles/org.openhab.binding.buienradar/src/main/feature/feature.xml index a5ecbeaf6b236..1519b57efc09d 100644 --- a/bundles/org.openhab.binding.buienradar/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.buienradar/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.buienradar/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.buienradar/${project.version} + diff --git a/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/BuienradarBindingConstants.java b/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/BuienradarBindingConstants.java index 445ed12743ef0..410d76415f447 100644 --- a/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/BuienradarBindingConstants.java +++ b/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/BuienradarBindingConstants.java @@ -54,5 +54,4 @@ public class BuienradarBindingConstants { public static final String FORECAST_105 = "forecast_105"; public static final String FORECAST_110 = "forecast_110"; public static final String FORECAST_115 = "forecast_115"; - } diff --git a/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarParseException.java b/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarParseException.java index a04bd7f5e53b6..9a1ca66316874 100644 --- a/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarParseException.java +++ b/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarParseException.java @@ -44,5 +44,4 @@ public BuienradarParseException(String message, Throwable cause, boolean enableS boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); } - } diff --git a/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarPredictionAPI.java b/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarPredictionAPI.java index d7be1ae52a2bd..e617ce704daa6 100644 --- a/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarPredictionAPI.java +++ b/bundles/org.openhab.binding.buienradar/src/main/java/org/openhab/binding/buienradar/internal/buienradarapi/BuienradarPredictionAPI.java @@ -170,5 +170,4 @@ public Optional> getPredictions(PointType location) throws IOEx } return Optional.of(predictions); } - } diff --git a/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/binding/binding.xml index 7467ff2d25851..b47a3cd2868db 100644 --- a/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/binding/binding.xml @@ -4,7 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> Buienradar Binding - The Buienradar Binding periodically (5 minutes) retrieves results from the Buienradar API. For personal use only. + The Buienradar Binding periodically (5 minutes) retrieves results from the Buienradar API. For personal + use only. Edwin de Jong diff --git a/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/thing/thing-types.xml index 9331977e8d02b..1f869648c0ed3 100644 --- a/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.buienradar/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,34 +7,36 @@ Does a simple rain forecast at the specified longitude/latitude of - two hours, in 5 minute increments using the buienradar.nl webservice. + two hours, in 5 minute increments using + the buienradar.nl webservice. + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -59,7 +61,8 @@ - Exponential back-off base value for retries in seconds. For example, when this is 2 seconds, will retry at 2, 4, 8, 16, 32, 64 seconds. + Exponential back-off base value for retries in seconds. For example, when this is 2 seconds, will retry + at 2, 4, 8, 16, 32, 64 seconds. 5 @@ -70,175 +73,175 @@ DateTime The actual date and time when the prediction was made." - + Number:Speed Current rainfall - + Number:Speed Rainfall in 5 minutes - + Number:Speed Rainfall in 10 minutes - + Number:Speed Rainfall in 15 minutes - + Number:Speed Rainfall in 20 minutes - + Number:Speed Rainfall in 25 minutes - + Number:Speed Rainfall in 30 minutes - + Number:Speed Rainfall in 35 minutes - + Number:Speed Rainfall in 40 minutes - + Number:Speed Rainfall in 45 minutes - + Number:Speed Rainfall in 50 minutes - + Number:Speed Rainfall in 55 minutes - + Number:Speed Rainfall in 60 minutes - + Number:Speed Rainfall in 65 minutes - + Number:Speed Rainfall in 70 minutes - + Number:Speed Rainfall in 75 minutes - + Number:Speed Rainfall in 80 minutes - + Number:Speed Rainfall in 85 minutes - + Number:Speed Rainfall in 90 minutes - + Number:Speed Rainfall in 95 minutes - + Number:Speed Rainfall in 100 minutes - + Number:Speed Rainfall in 105 minutes - + Number:Speed Rainfall in 110 minutes - + Number:Speed Rainfall in 115 minutes - + diff --git a/bundles/org.openhab.binding.buienradar/src/test/java/org/openhab/binding/buienradar/BuienradarPredictionAPITest.java b/bundles/org.openhab.binding.buienradar/src/test/java/org/openhab/binding/buienradar/BuienradarPredictionAPITest.java index 5ccec06efbf87..a336b1a33c337 100644 --- a/bundles/org.openhab.binding.buienradar/src/test/java/org/openhab/binding/buienradar/BuienradarPredictionAPITest.java +++ b/bundles/org.openhab.binding.buienradar/src/test/java/org/openhab/binding/buienradar/BuienradarPredictionAPITest.java @@ -85,5 +85,4 @@ public void testParseLine() throws BuienradarParseException { parsed.getDateTimeOfPrediction()); assertEquals(BigDecimal.valueOf(0, 2), parsed.getIntensity()); } - } diff --git a/bundles/org.openhab.binding.cbus/pom.xml b/bundles/org.openhab.binding.cbus/pom.xml index 4e0878d052feb..803e9f286d421 100644 --- a/bundles/org.openhab.binding.cbus/pom.xml +++ b/bundles/org.openhab.binding.cbus/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.cbus/src/main/java/org/openhab/binding/cbus/internal/discovery/CBusNetworkDiscovery.java b/bundles/org.openhab.binding.cbus/src/main/java/org/openhab/binding/cbus/internal/discovery/CBusNetworkDiscovery.java index d6b6aac8ef8c4..604648849a9cd 100644 --- a/bundles/org.openhab.binding.cbus/src/main/java/org/openhab/binding/cbus/internal/discovery/CBusNetworkDiscovery.java +++ b/bundles/org.openhab.binding.cbus/src/main/java/org/openhab/binding/cbus/internal/discovery/CBusNetworkDiscovery.java @@ -79,5 +79,4 @@ protected synchronized void stopScan() { super.stopScan(); removeOlderResults(getTimestampOfLastScan()); } - } diff --git a/bundles/org.openhab.binding.cbus/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.cbus/src/main/resources/ESH-INF/thing/thing-types.xml index 68f1dbfe07d01..bf223c1f1de09 100644 --- a/bundles/org.openhab.binding.cbus/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.cbus/src/main/resources/ESH-INF/thing/thing-types.xml @@ -6,19 +6,19 @@ - + Lighting Group - - + + - - - + + + @@ -31,18 +31,18 @@ - + Temperature Group - + - - - + + + @@ -55,18 +55,18 @@ - + Trigger Group - + - - - + + + @@ -79,18 +79,18 @@ - + DALI Group - + - - - + + + @@ -122,7 +122,7 @@ Group channel for CBus temperature groups Temperature - + diff --git a/bundles/org.openhab.binding.chromecast/pom.xml b/bundles/org.openhab.binding.chromecast/pom.xml index efa98d8c26873..63090c7d6afc4 100644 --- a/bundles/org.openhab.binding.chromecast/pom.xml +++ b/bundles/org.openhab.binding.chromecast/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.chromecast/src/main/java/org/openhab/binding/chromecast/internal/factory/ChromecastHandlerFactory.java b/bundles/org.openhab.binding.chromecast/src/main/java/org/openhab/binding/chromecast/internal/factory/ChromecastHandlerFactory.java index e5412bb67fc94..67eef1437bbe4 100644 --- a/bundles/org.openhab.binding.chromecast/src/main/java/org/openhab/binding/chromecast/internal/factory/ChromecastHandlerFactory.java +++ b/bundles/org.openhab.binding.chromecast/src/main/java/org/openhab/binding/chromecast/internal/factory/ChromecastHandlerFactory.java @@ -114,5 +114,4 @@ public void unregisterHandler(Thing thing) { ServiceRegistration reg = audioSinkRegistrations.get(thing.getUID().toString()); reg.unregister(); } - } diff --git a/bundles/org.openhab.binding.chromecast/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.chromecast/src/main/resources/ESH-INF/thing/thing-types.xml index fb72781df70d1..0c3de8ed9def9 100644 --- a/bundles/org.openhab.binding.chromecast/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.chromecast/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,48 +10,48 @@ A Google Chromecast Audio Group device - - - - - + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + deviceId - + @@ -60,48 +60,48 @@ A Google Chromecast Audio device - - - - - + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + deviceId - + @@ -110,48 +110,48 @@ A Google Chromecast streaming device - - - - - + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + deviceId - + @@ -171,28 +171,28 @@ Switch Is Chromecast active or idling - + String Name of the currently running application - + String Id of the currently running application - + String Status reported by the current application - + @@ -200,14 +200,14 @@ Number:Time Current time of currently playing media - + Number:Time Length of currently playing media - + @@ -217,11 +217,11 @@ The type of the currently playing media. One of GENERIC, MOVIE, TV_SHOW, AUDIO_TRACK, PHOTO - @@ -230,111 +230,111 @@ String The name of the album's artist - + String The name of the album - + DateTime The broadcast date of the currently playing media - + String The composer of the current track - + DateTime The creation date of the currently playing media - + Number The disc number of the currently playing media - + Number The episode number of the currently playing media - + String The image URL that represents this media. Normally cover-art or scene from a movie - + Image The image that represents this media. Normally cover-art or scene from a movie - + String The location of where the current media was taken - + DateTime The release date of the currently playing media - + Number The season number of the currently playing media - + String The series title of the currently playing media - + String The studio of the currently playing media - + String The subtitle of the currently playing media - + Number The track number of the currently playing media - + diff --git a/bundles/org.openhab.binding.cm11a/pom.xml b/bundles/org.openhab.binding.cm11a/pom.xml index 66ea0619cf3ee..7ea74b8d80300 100644 --- a/bundles/org.openhab.binding.cm11a/pom.xml +++ b/bundles/org.openhab.binding.cm11a/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.cm11a/src/main/feature/feature.xml b/bundles/org.openhab.binding.cm11a/src/main/feature/feature.xml index 18a0f4dcce5ad..b26bb9d5e77c9 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.cm11a/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.cm11a/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.cm11a/${project.version} + diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/CM11ABindingConstants.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/CM11ABindingConstants.java index 80a5a72e87108..50b81cbb9f88e 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/CM11ABindingConstants.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/CM11ABindingConstants.java @@ -42,5 +42,4 @@ public class CM11ABindingConstants { */ public static final String CHANNEL_LIGHTLEVEL = "lightlevel"; public static final String CHANNEL_SWITCH = "switchstatus"; - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/InvalidAddressException.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/InvalidAddressException.java index 1232884e13cce..cd63d62ce7ede 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/InvalidAddressException.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/InvalidAddressException.java @@ -24,5 +24,4 @@ public class InvalidAddressException extends Exception { public InvalidAddressException(String string) { super(string); } - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10Interface.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10Interface.java index 9560b33f3c585..9d05e785dc4ac 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10Interface.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10Interface.java @@ -805,5 +805,4 @@ public void disconnect() { serialPort.close(); } } - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10ReceivedData.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10ReceivedData.java index d3e271cc22ced..f02f14875e8b6 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10ReceivedData.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/X10ReceivedData.java @@ -150,5 +150,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/config/Cm11aConfig.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/config/Cm11aConfig.java index d7dacf5e2751c..ffea1578bac42 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/config/Cm11aConfig.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/config/Cm11aConfig.java @@ -29,5 +29,4 @@ public class Cm11aConfig { * refresh rate - I don't think we will need this */ public int refresh = 60; - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aAbstractHandler.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aAbstractHandler.java index 32089eb176e97..30a53fc0b95a7 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aAbstractHandler.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aAbstractHandler.java @@ -180,5 +180,4 @@ public State addDimsToCurrentState(int dims) { public State addBrightsToCurrentState(int dims) { return addDimsToCurrentState(-dims); } - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aApplianceHandler.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aApplianceHandler.java index c85cd19f54e45..1700a447d0cad 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aApplianceHandler.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aApplianceHandler.java @@ -93,5 +93,4 @@ public void updateHardware(X10Interface x10Interface) throws IOException, Invali } } } - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aLampHandler.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aLampHandler.java index d168f1bc8bd1f..e797f302e0946 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aLampHandler.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/Cm11aLampHandler.java @@ -149,5 +149,4 @@ public void updateHardware(X10Interface x10Interface) throws IOException, Invali } } } - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/ReceivedDataListener.java b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/ReceivedDataListener.java index e09e79e591a2e..bc24c54d00792 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/ReceivedDataListener.java +++ b/bundles/org.openhab.binding.cm11a/src/main/java/org/openhab/binding/cm11a/internal/handler/ReceivedDataListener.java @@ -29,5 +29,4 @@ public interface ReceivedDataListener { * @param rd */ void receivedX10Data(X10ReceivedData rd); - } diff --git a/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/binding/binding.xml index 1d26560603b00..de1c05eeec675 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + CM11A Binding This is the binding for the X10 Cm11a interface diff --git a/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/thing/thing-types.xml index 99a27a40b31ee..38d036574c4ec 100644 --- a/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.cm11a/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -10,7 +10,7 @@ CM11 is a device that allows control of X10 devices for a computer. - + serial-port Serial port used to communicate with the CM11a diff --git a/bundles/org.openhab.binding.coolmasternet/pom.xml b/bundles/org.openhab.binding.coolmasternet/pom.xml index d5873298b7c90..8bb7f5cfbe7a9 100644 --- a/bundles/org.openhab.binding.coolmasternet/pom.xml +++ b/bundles/org.openhab.binding.coolmasternet/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/feature/feature.xml b/bundles/org.openhab.binding.coolmasternet/src/main/feature/feature.xml index 419f735e4e4ab..053ffbed4ce91 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.coolmasternet/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.coolmasternet/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.coolmasternet/${project.version} + diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetBindingConstants.java b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetBindingConstants.java index 857fa0aa0b4ea..fd296e95740f9 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetBindingConstants.java +++ b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetBindingConstants.java @@ -44,5 +44,4 @@ public class CoolMasterNetBindingConstants { public static final Set SUPPORTED_THING_TYPES_UIDS = Stream.of(THING_TYPE_CONTROLLER, THING_TYPE_HVAC) .collect(Collectors.toSet()); - } diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetHandlerFactory.java b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetHandlerFactory.java index 2fa4ae89dffde..edc2c92398ba9 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetHandlerFactory.java +++ b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/CoolMasterNetHandlerFactory.java @@ -52,5 +52,4 @@ public boolean supportsThingType(ThingTypeUID thingTypeUID) { return null; } - } diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/ControllerConfiguration.java b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/ControllerConfiguration.java index 6f559dd232325..9c008a7714fa7 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/ControllerConfiguration.java +++ b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/ControllerConfiguration.java @@ -28,5 +28,4 @@ public class ControllerConfiguration { public String host; public int port = 10102; public int refresh = 5; // seconds - } diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/HVACConfiguration.java b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/HVACConfiguration.java index 5c46a50418b8f..3d509eeda48b8 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/HVACConfiguration.java +++ b/bundles/org.openhab.binding.coolmasternet/src/main/java/org/openhab/binding/coolmasternet/internal/config/HVACConfiguration.java @@ -23,5 +23,4 @@ public class HVACConfiguration { public static final String UID = "uid"; public String uid; - } diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/binding/binding.xml index 56aacb355bff3..0c6e470fbbfdd 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + CoolMasterNet Binding Binding for Cool Automation CoolMasterNet HVAC controllers. diff --git a/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/thing/thing-types.xml index 3ac019c18fb18..8a9e1bc5455e8 100644 --- a/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.coolmasternet/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -35,19 +36,19 @@ - + HVAC System connected to a controller (unique UID) - - - - - - + + + + + + diff --git a/bundles/org.openhab.binding.coronastats/.classpath b/bundles/org.openhab.binding.coronastats/.classpath index e74dbb099f67d..39abf1c5e9102 100644 --- a/bundles/org.openhab.binding.coronastats/.classpath +++ b/bundles/org.openhab.binding.coronastats/.classpath @@ -1,49 +1,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.coronastats/.project b/bundles/org.openhab.binding.coronastats/.project index bff9deab3cfcf..a499b5f2528ff 100644 --- a/bundles/org.openhab.binding.coronastats/.project +++ b/bundles/org.openhab.binding.coronastats/.project @@ -1,23 +1,23 @@ - - - org.openhab.binding.coronastats - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - + + + org.openhab.binding.coronastats + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/bundles/org.openhab.binding.coronastats/README.md b/bundles/org.openhab.binding.coronastats/README.md index 86d639c2937ae..0249aca3cbabb 100644 --- a/bundles/org.openhab.binding.coronastats/README.md +++ b/bundles/org.openhab.binding.coronastats/README.md @@ -1,127 +1,127 @@ -# CoronaStats Binding - -This binding provides the statistic about cases of COVID-19 from the website https://corona-stats.online/. - - -## Supported Things - -This binding supports a `world` thing, which polls the dataset in an adjustable interval as a bridge and provides the statistics for the whole world. -The `country` thing, representing the statistics for a specified country. - -## Discovery - -This binding adds a default `world` thing to the Inbox. -This can be used as bridge for country things you may add manually. - -## Thing Configuration - -### World - -| Parameter | Default | Required | Description | -| --------- | :-----: | :------: | ---------------------------------------------------------------------------------------- | -| `refresh` | 30 | no | Define the interval for polling the data from website in minutes. Minimum is 15 minutes. | - -### Country - -| Parameter | Default | Required | Description | -| ------------- | :-----: | :------: | ------------------------------------------------- | -| `countryCode` | - | yes | 2-letter code for the country you want to display | - -For the correct 2-letter country code have a look at the website https://corona-stats.online/ - -## Channels - -### World and Country - -| channels | type | description | -| -------------- | -------------------- | ---------------------------------------------- | -| `cases` | Number:Dimensionless | Total cases | -| `today_cases` | Number:Dimensionless | Increase of total cases today | -| `deaths` | Number:Dimensionless | Deaths | -| `today_deaths` | Number:Dimensionless | Increase of deaths | -| `recovered` | Number:Dimensionless | Recovered cases | -| `active` | Number:Dimensionless | Active cases | -| `critical` | Number:Dimensionless | Critical cases | -| `tests` | Number:Dimensionless | Count of reported tests (`country` thing only) | -| `updated` | Number:Dimensionless | Data last update time (`country` thing only) | - -## Full Example - -### Things - -``` -Bridge coronastats:world:stats "Corona Stats World" @ "Corona" [refresh=15] { - Thing country usa "Corona Stats USA" @ "Corona" [countryCode="US"] - Thing country germany "Corona Stats Germany" @ "Corona" [countryCode="DE"] - Thing country austria "Corona Stats Austria" @ "Corona" [countryCode="AT"] - Thing country italy "Corona Stats Italy" @ "Corona" [countryCode="IT"] - Thing country spain "Corona Stats Spain" @ "Corona" [countryCode="ES"] - Thing country uk "Corona Stats United Kingdom" @ "Corona" [countryCode="GB"] -} -``` - -### Items - -``` -Number:Dimensionless coronaCasesWorld "Total Cases World [%,d]" - {channel="coronastats:world:stats:cases"} - -Number:Dimensionless coronaDeathsWorld "Deaths World [%,d]" - {channel="coronastats:world:stats:deaths"} - -Number:Dimensionless coronaRecoveredWorld "Recovered Cases World [%,d]" - {channel="coronastats:world:stats:recovered"} - -Number:Dimensionless coronaActiveWorld "Active Cases World [%,d]" - {channel="coronastats:world:stats:active"} - -Number:Dimensionless coronaCriticalWorld "Critical Cases World [%,d]" - {channel="coronastats:world:stats:critical"} - -Number:Dimensionless coronaCasesUSA "Total Cases USA [%,d]" - {channel="coronastats:country:stats:usa:cases"} - -Number:Dimensionless coronaDeathsUSA "Deaths USA [%,d]" - {channel="coronastats:country:stats:usa:deaths"} - -Number:Dimensionless coronaRecoveredUSA "Recovered Cases USA [%,d]" - {channel="coronastats:country:stats:usa:recovered"} - -Number:Dimensionless coronaActiveUSA "Active Cases USA [%,d]" - {channel="coronastats:country:stats:usa:active"} - -Number:Dimensionless coronaCriticalUSA "Critical Cases USA [%,d]" - {channel="coronastats:country:stats:usa:critical"} - -Number:Dimensionless coronaTestsUSA "Tests USA [%d]" - {channel="coronastats:country:stats:usa:cases"} - -DateTime coronaUpdatedUSA "Updated USA [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" - {channel="coronastats:country:stats:usa:updated"} -``` - -### Sitemap - -``` -Text label="Corona" { - Frame label="World" { - Text item=coronaCasesWorld - Text item=coronaActiveWorld - Text item=coronaRecoveredWorld - Text item=coronaDeathsWorld - Text item=coronaCriticalWorld - Text item=coronaTestUSA - } - - Frame label="USA" { - Text item=coronaCasesUSA - Text item=coronaActiveUSA - Text item=coronaRecoveredUSA - Text item=coronaDeathsUSA - Text item=coronaCriticalUSA - Text item=coronaTestsUSA - Text item=coronaUpdatedUSA - } -} - -``` +# CoronaStats Binding + +This binding provides the statistic about cases of COVID-19 from the website https://corona-stats.online/. + + +## Supported Things + +This binding supports a `world` thing, which polls the dataset in an adjustable interval as a bridge and provides the statistics for the whole world. +The `country` thing, representing the statistics for a specified country. + +## Discovery + +This binding adds a default `world` thing to the Inbox. +This can be used as bridge for country things you may add manually. + +## Thing Configuration + +### World + +| Parameter | Default | Required | Description | +| --------- | :-----: | :------: | ---------------------------------------------------------------------------------------- | +| `refresh` | 30 | no | Define the interval for polling the data from website in minutes. Minimum is 15 minutes. | + +### Country + +| Parameter | Default | Required | Description | +| ------------- | :-----: | :------: | ------------------------------------------------- | +| `countryCode` | - | yes | 2-letter code for the country you want to display | + +For the correct 2-letter country code have a look at the website https://corona-stats.online/ + +## Channels + +### World and Country + +| channels | type | description | +| -------------- | -------------------- | ---------------------------------------------- | +| `cases` | Number:Dimensionless | Total cases | +| `today_cases` | Number:Dimensionless | Increase of total cases today | +| `deaths` | Number:Dimensionless | Deaths | +| `today_deaths` | Number:Dimensionless | Increase of deaths | +| `recovered` | Number:Dimensionless | Recovered cases | +| `active` | Number:Dimensionless | Active cases | +| `critical` | Number:Dimensionless | Critical cases | +| `tests` | Number:Dimensionless | Count of reported tests (`country` thing only) | +| `updated` | Number:Dimensionless | Data last update time (`country` thing only) | + +## Full Example + +### Things + +``` +Bridge coronastats:world:stats "Corona Stats World" @ "Corona" [refresh=15] { + Thing country usa "Corona Stats USA" @ "Corona" [countryCode="US"] + Thing country germany "Corona Stats Germany" @ "Corona" [countryCode="DE"] + Thing country austria "Corona Stats Austria" @ "Corona" [countryCode="AT"] + Thing country italy "Corona Stats Italy" @ "Corona" [countryCode="IT"] + Thing country spain "Corona Stats Spain" @ "Corona" [countryCode="ES"] + Thing country uk "Corona Stats United Kingdom" @ "Corona" [countryCode="GB"] +} +``` + +### Items + +``` +Number:Dimensionless coronaCasesWorld "Total Cases World [%,d]" + {channel="coronastats:world:stats:cases"} + +Number:Dimensionless coronaDeathsWorld "Deaths World [%,d]" + {channel="coronastats:world:stats:deaths"} + +Number:Dimensionless coronaRecoveredWorld "Recovered Cases World [%,d]" + {channel="coronastats:world:stats:recovered"} + +Number:Dimensionless coronaActiveWorld "Active Cases World [%,d]" + {channel="coronastats:world:stats:active"} + +Number:Dimensionless coronaCriticalWorld "Critical Cases World [%,d]" + {channel="coronastats:world:stats:critical"} + +Number:Dimensionless coronaCasesUSA "Total Cases USA [%,d]" + {channel="coronastats:country:stats:usa:cases"} + +Number:Dimensionless coronaDeathsUSA "Deaths USA [%,d]" + {channel="coronastats:country:stats:usa:deaths"} + +Number:Dimensionless coronaRecoveredUSA "Recovered Cases USA [%,d]" + {channel="coronastats:country:stats:usa:recovered"} + +Number:Dimensionless coronaActiveUSA "Active Cases USA [%,d]" + {channel="coronastats:country:stats:usa:active"} + +Number:Dimensionless coronaCriticalUSA "Critical Cases USA [%,d]" + {channel="coronastats:country:stats:usa:critical"} + +Number:Dimensionless coronaTestsUSA "Tests USA [%d]" + {channel="coronastats:country:stats:usa:cases"} + +DateTime coronaUpdatedUSA "Updated USA [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" + {channel="coronastats:country:stats:usa:updated"} +``` + +### Sitemap + +``` +Text label="Corona" { + Frame label="World" { + Text item=coronaCasesWorld + Text item=coronaActiveWorld + Text item=coronaRecoveredWorld + Text item=coronaDeathsWorld + Text item=coronaCriticalWorld + Text item=coronaTestUSA + } + + Frame label="USA" { + Text item=coronaCasesUSA + Text item=coronaActiveUSA + Text item=coronaRecoveredUSA + Text item=coronaDeathsUSA + Text item=coronaCriticalUSA + Text item=coronaTestsUSA + Text item=coronaUpdatedUSA + } +} + +``` diff --git a/bundles/org.openhab.binding.coronastats/pom.xml b/bundles/org.openhab.binding.coronastats/pom.xml index 6477001f82c98..f8975af59bd6e 100644 --- a/bundles/org.openhab.binding.coronastats/pom.xml +++ b/bundles/org.openhab.binding.coronastats/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.coronastats/src/main/feature/feature.xml b/bundles/org.openhab.binding.coronastats/src/main/feature/feature.xml index 44f384a8e0539..d3576274073b9 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.coronastats/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.coronastats/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.coronastats/${project.version} + diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsBindingConstants.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsBindingConstants.java index d9534ddcabf05..a85c7c256c976 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsBindingConstants.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsBindingConstants.java @@ -1,62 +1,62 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal; - -import java.util.Collections; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.core.thing.ThingTypeUID; - -/** - * The {@link CoronaStatsBindingConstants} class defines common constants, which are - * used across the whole binding. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class CoronaStatsBindingConstants { - public static final String BINDING_ID = "coronastats"; - - // World - public static final ThingTypeUID THING_TYPE_WORLD = new ThingTypeUID(BINDING_ID, "world"); - public static final String STATS = "stats"; - public static final String WORLD_LABEL = "Corona Statistics (World)"; - - // Country - public static final ThingTypeUID THING_TYPE_COUNTRY = new ThingTypeUID(BINDING_ID, "country"); - - // @formatter:off - public static final Set SUPPORTED_THING_TYPES_UIDS = - Collections.unmodifiableSet(Stream - .of(THING_TYPE_WORLD, THING_TYPE_COUNTRY) - .collect(Collectors.toSet()) - ); - // @formatter:on - - // Properties country - public static final String PROPERTY_COUNTRY = "country"; - - // Channels world/country - public static final String CHANNEL_CASES = "cases"; - public static final String CHANNEL_NEW_CASES = "today_cases"; - public static final String CHANNEL_DEATHS = "deaths"; - public static final String CHANNEL_NEW_DEATHS = "today_deaths"; - public static final String CHANNEL_RECOVERED = "recovered"; - public static final String CHANNEL_ACTIVE = "active"; - public static final String CHANNEL_CRITICAL = "critical"; - public static final String CHANNEL_TESTS = "tests"; - public static final String CHANNEL_UPDATED = "updated"; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal; + +import java.util.Collections; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.core.thing.ThingTypeUID; + +/** + * The {@link CoronaStatsBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class CoronaStatsBindingConstants { + public static final String BINDING_ID = "coronastats"; + + // World + public static final ThingTypeUID THING_TYPE_WORLD = new ThingTypeUID(BINDING_ID, "world"); + public static final String STATS = "stats"; + public static final String WORLD_LABEL = "Corona Statistics (World)"; + + // Country + public static final ThingTypeUID THING_TYPE_COUNTRY = new ThingTypeUID(BINDING_ID, "country"); + + // @formatter:off + public static final Set SUPPORTED_THING_TYPES_UIDS = + Collections.unmodifiableSet(Stream + .of(THING_TYPE_WORLD, THING_TYPE_COUNTRY) + .collect(Collectors.toSet()) + ); + // @formatter:on + + // Properties country + public static final String PROPERTY_COUNTRY = "country"; + + // Channels world/country + public static final String CHANNEL_CASES = "cases"; + public static final String CHANNEL_NEW_CASES = "today_cases"; + public static final String CHANNEL_DEATHS = "deaths"; + public static final String CHANNEL_NEW_DEATHS = "today_deaths"; + public static final String CHANNEL_RECOVERED = "recovered"; + public static final String CHANNEL_ACTIVE = "active"; + public static final String CHANNEL_CRITICAL = "critical"; + public static final String CHANNEL_TESTS = "tests"; + public static final String CHANNEL_UPDATED = "updated"; +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsHandlerFactory.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsHandlerFactory.java index 281ae94f46cd4..2c6cd6d4515e0 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsHandlerFactory.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsHandlerFactory.java @@ -1,66 +1,66 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal; - -import static org.openhab.binding.coronastats.internal.CoronaStatsBindingConstants.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; -import org.eclipse.smarthome.io.net.http.HttpClientFactory; -import org.openhab.binding.coronastats.internal.handler.CoronaStatsWorldHandler; -import org.openhab.binding.coronastats.internal.handler.CoronaStatsCountryHandler; -import org.osgi.service.component.annotations.Activate; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; - -/** - * The {@link CoronaStatsHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -@Component(configurationPid = "binding.coronastats", service = ThingHandlerFactory.class) -public class CoronaStatsHandlerFactory extends BaseThingHandlerFactory { - private final HttpClient httpClient; - - @Activate - public CoronaStatsHandlerFactory(final @Reference HttpClientFactory httpClientFactory) { - this.httpClient = httpClientFactory.getCommonHttpClient(); - } - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected @Nullable ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - - if (THING_TYPE_WORLD.equals(thingTypeUID)) { - return new CoronaStatsWorldHandler((Bridge) thing, httpClient); - } else if (THING_TYPE_COUNTRY.equals(thingTypeUID)) { - return new CoronaStatsCountryHandler(thing); - } - - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal; + +import static org.openhab.binding.coronastats.internal.CoronaStatsBindingConstants.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.jetty.client.HttpClient; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.eclipse.smarthome.io.net.http.HttpClientFactory; +import org.openhab.binding.coronastats.internal.handler.CoronaStatsCountryHandler; +import org.openhab.binding.coronastats.internal.handler.CoronaStatsWorldHandler; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * The {@link CoronaStatsHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +@Component(configurationPid = "binding.coronastats", service = ThingHandlerFactory.class) +public class CoronaStatsHandlerFactory extends BaseThingHandlerFactory { + private final HttpClient httpClient; + + @Activate + public CoronaStatsHandlerFactory(final @Reference HttpClientFactory httpClientFactory) { + this.httpClient = httpClientFactory.getCommonHttpClient(); + } + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected @Nullable ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + if (THING_TYPE_WORLD.equals(thingTypeUID)) { + return new CoronaStatsWorldHandler((Bridge) thing, httpClient); + } else if (THING_TYPE_COUNTRY.equals(thingTypeUID)) { + return new CoronaStatsCountryHandler(thing); + } + + return null; + } +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsPollingException.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsPollingException.java index 8a96145c21026..1029d213b103b 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsPollingException.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/CoronaStatsPollingException.java @@ -1,33 +1,33 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * The {@link CoronaStatsPollingException} class is the exception for all polling errors. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class CoronaStatsPollingException extends Exception { - private static final long serialVersionUID = 1L; - - public CoronaStatsPollingException(String message) { - super(message); - } - - public CoronaStatsPollingException(String message, Throwable throwable) { - super(message, throwable); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * The {@link CoronaStatsPollingException} class is the exception for all polling errors. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class CoronaStatsPollingException extends Exception { + private static final long serialVersionUID = 1L; + + public CoronaStatsPollingException(String message) { + super(message); + } + + public CoronaStatsPollingException(String message, Throwable throwable) { + super(message, throwable); + } +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsCountryConfiguration.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsCountryConfiguration.java index 62cdcf74c7886..a62a915f7aa2b 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsCountryConfiguration.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsCountryConfiguration.java @@ -1,33 +1,33 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal.config; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * Configuration for the {@link CoronaStatsCountryHandler} - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class CoronaStatsCountryConfiguration { - private String countryCode = ""; - - public String getCountryCode() { - return countryCode.toUpperCase(); - } - - public boolean isValid() { - return !"".equals(countryCode); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal.config; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Configuration for the {@link CoronaStatsCountryHandler} + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class CoronaStatsCountryConfiguration { + private String countryCode = ""; + + public String getCountryCode() { + return countryCode.toUpperCase(); + } + + public boolean isValid() { + return !"".equals(countryCode); + } +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsWorldConfiguration.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsWorldConfiguration.java index 654e7d77a5dd8..bd498a79e2bb0 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsWorldConfiguration.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/config/CoronaStatsWorldConfiguration.java @@ -1,29 +1,29 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal.config; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * Configuration for the {@link CoronaStatsWorldHandler} - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class CoronaStatsWorldConfiguration { - public int refresh = 30; - - public boolean isValid() { - return refresh >= 15; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal.config; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Configuration for the {@link CoronaStatsWorldHandler} + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class CoronaStatsWorldConfiguration { + public int refresh = 30; + + public boolean isValid() { + return refresh >= 15; + } +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/dto/CoronaStats.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/dto/CoronaStats.java index 80ed30029f804..195fb1edac3b9 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/dto/CoronaStats.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/dto/CoronaStats.java @@ -14,11 +14,11 @@ import java.util.Set; -import com.google.gson.annotations.SerializedName; - import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import com.google.gson.annotations.SerializedName; + /** * The {@link CoronaStats} class is internal CoronaStats structure. * diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsCountryHandler.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsCountryHandler.java index c8f4400de5e84..7fdab2d6fbdfb 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsCountryHandler.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsCountryHandler.java @@ -1,110 +1,110 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal.handler; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.coronastats.internal.config.CoronaStatsCountryConfiguration; -import org.openhab.binding.coronastats.internal.dto.CoronaStats; -import org.openhab.binding.coronastats.internal.dto.CoronaStatsCountry; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link CoronaStatsCountryHandler} is the handler for country thing - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class CoronaStatsCountryHandler extends BaseThingHandler { - private final Logger logger = LoggerFactory.getLogger(CoronaStatsCountryHandler.class); - - private CoronaStatsCountryConfiguration thingConfig = new CoronaStatsCountryConfiguration(); - - public CoronaStatsCountryHandler(Thing thing) { - super(thing); - } - - @Override - public void initialize() { - thingConfig = getConfigAs(CoronaStatsCountryConfiguration.class); - logger.debug("Initializing Corona Stats country handler for country code {}", thingConfig.getCountryCode()); - - if (thingConfig.isValid()) { - CoronaStatsWorldHandler handler = getBridgeHandler(); - if (handler == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Bridge handler missing"); - } else { - updateStatus(ThingStatus.ONLINE); - } - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "No valid country code given."); - } - } - - @Override - public void dispose() { - logger.debug("CoronaStats country handler disposes."); - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (command instanceof RefreshType) { - refresh(); - } - } - - private void refresh() { - CoronaStatsWorldHandler handler = getBridgeHandler(); - if (handler != null) { - CoronaStats coronaStats = handler.getCoronaStats(); - if (coronaStats != null) { - notifyOnUpdate(coronaStats); - } - } - } - - private @Nullable CoronaStatsWorldHandler getBridgeHandler() { - Bridge bridge = getBridge(); - if (bridge != null) { - ThingHandler handler = bridge.getHandler(); - if (handler instanceof CoronaStatsWorldHandler) { - return (CoronaStatsWorldHandler) handler; - } - } - - return null; - } - - public void notifyOnUpdate(CoronaStats coronaStats) { - CoronaStatsCountry country = coronaStats.getCountry(thingConfig.getCountryCode()); - if (country == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Country not found"); - return; - } - - updateStatus(ThingStatus.ONLINE); - updateProperties(country.getProperties()); - - country.getChannelsStateMap().forEach(this::updateState); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal.handler; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.openhab.binding.coronastats.internal.config.CoronaStatsCountryConfiguration; +import org.openhab.binding.coronastats.internal.dto.CoronaStats; +import org.openhab.binding.coronastats.internal.dto.CoronaStatsCountry; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link CoronaStatsCountryHandler} is the handler for country thing + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class CoronaStatsCountryHandler extends BaseThingHandler { + private final Logger logger = LoggerFactory.getLogger(CoronaStatsCountryHandler.class); + + private CoronaStatsCountryConfiguration thingConfig = new CoronaStatsCountryConfiguration(); + + public CoronaStatsCountryHandler(Thing thing) { + super(thing); + } + + @Override + public void initialize() { + thingConfig = getConfigAs(CoronaStatsCountryConfiguration.class); + logger.debug("Initializing Corona Stats country handler for country code {}", thingConfig.getCountryCode()); + + if (thingConfig.isValid()) { + CoronaStatsWorldHandler handler = getBridgeHandler(); + if (handler == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Bridge handler missing"); + } else { + updateStatus(ThingStatus.ONLINE); + } + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "No valid country code given."); + } + } + + @Override + public void dispose() { + logger.debug("CoronaStats country handler disposes."); + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (command instanceof RefreshType) { + refresh(); + } + } + + private void refresh() { + CoronaStatsWorldHandler handler = getBridgeHandler(); + if (handler != null) { + CoronaStats coronaStats = handler.getCoronaStats(); + if (coronaStats != null) { + notifyOnUpdate(coronaStats); + } + } + } + + private @Nullable CoronaStatsWorldHandler getBridgeHandler() { + Bridge bridge = getBridge(); + if (bridge != null) { + ThingHandler handler = bridge.getHandler(); + if (handler instanceof CoronaStatsWorldHandler) { + return (CoronaStatsWorldHandler) handler; + } + } + + return null; + } + + public void notifyOnUpdate(CoronaStats coronaStats) { + CoronaStatsCountry country = coronaStats.getCountry(thingConfig.getCountryCode()); + if (country == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Country not found"); + return; + } + + updateStatus(ThingStatus.ONLINE); + updateProperties(country.getProperties()); + + country.getChannelsStateMap().forEach(this::updateState); + } +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsWorldHandler.java b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsWorldHandler.java index 8fccba708fecf..c407e40525af2 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsWorldHandler.java +++ b/bundles/org.openhab.binding.coronastats/src/main/java/org/openhab/binding/coronastats/internal/handler/CoronaStatsWorldHandler.java @@ -1,219 +1,219 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.coronastats.internal.handler; - -import java.net.URI; -import java.util.Set; -import java.net.SocketTimeoutException; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import com.google.gson.Gson; -import com.google.gson.JsonSyntaxException; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.jetty.client.HttpResponse; -import org.eclipse.jetty.client.api.Request; -import org.eclipse.jetty.client.api.Result; -import org.eclipse.jetty.client.util.BufferingResponseListener; -import org.eclipse.jetty.http.HttpMethod; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.coronastats.internal.CoronaStatsPollingException; -import org.openhab.binding.coronastats.internal.config.CoronaStatsWorldConfiguration; -import org.openhab.binding.coronastats.internal.dto.CoronaStats; -import org.openhab.binding.coronastats.internal.dto.CoronaStatsWorld; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link CoronaStatsWorldHandler} is the handler for bridge thing - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class CoronaStatsWorldHandler extends BaseBridgeHandler { - private static final String CORONASTATS_URL = "https://corona-stats.online/?format=json"; - - private final Logger logger = LoggerFactory.getLogger(CoronaStatsWorldHandler.class); - - private CoronaStatsWorldConfiguration worldConfig = new CoronaStatsWorldConfiguration(); - private @Nullable ScheduledFuture pollingJob; - private @Nullable CoronaStats coronaStats; - private final Set countryListeners = ConcurrentHashMap.newKeySet(); - private final HttpClient client; - private final Gson gson = new Gson(); - - public CoronaStatsWorldHandler(Bridge bridge, HttpClient client) { - super(bridge); - this.client = client; - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (command instanceof RefreshType) { - final CoronaStats localCoronaStats = coronaStats; - if (localCoronaStats != null) { - notifyOnUpdate(localCoronaStats); - } - } - } - - @Override - public void initialize() { - logger.debug("Initializing Corona Stats bridge handler"); - worldConfig = getConfigAs(CoronaStatsWorldConfiguration.class); - - if (worldConfig.isValid()) { - startPolling(); - updateStatus(ThingStatus.UNKNOWN); - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "Refresh interval has to be at least 15 minutes."); - } - } - - @Override - public void dispose() { - logger.debug("Handler disposed."); - stopPolling(); - } - - private void startPolling() { - final ScheduledFuture localPollingJob = this.pollingJob; - if (localPollingJob == null || localPollingJob.isCancelled()) { - logger.debug("Start polling."); - pollingJob = scheduler.scheduleWithFixedDelay(this::poll, 0, worldConfig.refresh, TimeUnit.MINUTES); - } - } - - private void stopPolling() { - final ScheduledFuture localPollingJob = this.pollingJob; - if (localPollingJob != null && !localPollingJob.isCancelled()) { - logger.debug("Stop polling."); - localPollingJob.cancel(true); - pollingJob = null; - } - } - - private void poll() { - logger.debug("Polling"); - requestRefresh().handle((resultCoronaStats, pollException) -> { - if (resultCoronaStats == null) { - if (pollException == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - pollException.getMessage()); - } - } else { - updateStatus(ThingStatus.ONLINE); - notifyOnUpdate(resultCoronaStats); - } - - return null; - }); - } - - private CompletableFuture<@Nullable CoronaStats> requestRefresh() { - CompletableFuture<@Nullable CoronaStats> f = new CompletableFuture<>(); - Request request = client.newRequest(URI.create(CORONASTATS_URL)); - - request.method(HttpMethod.GET).timeout(2000, TimeUnit.SECONDS).send(new BufferingResponseListener() { - @NonNullByDefault({}) - @Override - public void onComplete(Result result) { - final HttpResponse response = (HttpResponse) result.getResponse(); - if (result.getFailure() != null) { - Throwable e = result.getFailure(); - if (e instanceof SocketTimeoutException || e instanceof TimeoutException) { - f.completeExceptionally(new CoronaStatsPollingException("Request timeout", e)); - } else { - f.completeExceptionally(new CoronaStatsPollingException("Request failed", e)); - } - } else if (response.getStatus() != 200) { - f.completeExceptionally(new CoronaStatsPollingException(getContentAsString())); - } else { - try { - CoronaStats coronaStatsJSON = gson.fromJson(getContentAsString(), CoronaStats.class); - f.complete(coronaStatsJSON); - } catch (JsonSyntaxException parseException) { - logger.error("Parsing failed: {}", parseException.getMessage()); - f.completeExceptionally(new CoronaStatsPollingException("Parsing of response failed")); - } - } - } - }); - - return f; - } - - @Override - public void childHandlerInitialized(ThingHandler childHandler, Thing childThing) { - if (childHandler instanceof CoronaStatsCountryHandler) { - logger.debug("Register thing listener."); - final CoronaStatsCountryHandler listener = (CoronaStatsCountryHandler) childHandler; - if (countryListeners.add(listener)) { - final CoronaStats localCoronaStats = coronaStats; - if (localCoronaStats != null) { - listener.notifyOnUpdate(localCoronaStats); - } - } else { - logger.warn("Tried to add listener {} but it was already present. This is probably an error.", - childHandler); - } - } - } - - @Override - public void childHandlerDisposed(ThingHandler childHandler, Thing childThing) { - if (childHandler instanceof CoronaStatsCountryHandler) { - logger.debug("Unregister thing listener."); - if (!countryListeners.remove((CoronaStatsCountryHandler) childHandler)) { - logger.warn("Tried to remove listener {} but it was not registered. This is probably an error.", - childHandler); - } - } - } - - public void notifyOnUpdate(@Nullable CoronaStats newCoronaStats) { - if (newCoronaStats != null) { - coronaStats = newCoronaStats; - - CoronaStatsWorld world = newCoronaStats.getWorld(); - if (world == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "World stats not found"); - return; - } - - world.getChannelsStateMap().forEach(this::updateState); - countryListeners.forEach(listener -> listener.notifyOnUpdate(newCoronaStats)); - } - } - - public @Nullable CoronaStats getCoronaStats() { - return coronaStats; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.coronastats.internal.handler; + +import java.net.SocketTimeoutException; +import java.net.URI; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.jetty.client.HttpClient; +import org.eclipse.jetty.client.HttpResponse; +import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.client.api.Result; +import org.eclipse.jetty.client.util.BufferingResponseListener; +import org.eclipse.jetty.http.HttpMethod; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.openhab.binding.coronastats.internal.CoronaStatsPollingException; +import org.openhab.binding.coronastats.internal.config.CoronaStatsWorldConfiguration; +import org.openhab.binding.coronastats.internal.dto.CoronaStats; +import org.openhab.binding.coronastats.internal.dto.CoronaStatsWorld; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; + +/** + * The {@link CoronaStatsWorldHandler} is the handler for bridge thing + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class CoronaStatsWorldHandler extends BaseBridgeHandler { + private static final String CORONASTATS_URL = "https://corona-stats.online/?format=json"; + + private final Logger logger = LoggerFactory.getLogger(CoronaStatsWorldHandler.class); + + private CoronaStatsWorldConfiguration worldConfig = new CoronaStatsWorldConfiguration(); + private @Nullable ScheduledFuture pollingJob; + private @Nullable CoronaStats coronaStats; + private final Set countryListeners = ConcurrentHashMap.newKeySet(); + private final HttpClient client; + private final Gson gson = new Gson(); + + public CoronaStatsWorldHandler(Bridge bridge, HttpClient client) { + super(bridge); + this.client = client; + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (command instanceof RefreshType) { + final CoronaStats localCoronaStats = coronaStats; + if (localCoronaStats != null) { + notifyOnUpdate(localCoronaStats); + } + } + } + + @Override + public void initialize() { + logger.debug("Initializing Corona Stats bridge handler"); + worldConfig = getConfigAs(CoronaStatsWorldConfiguration.class); + + if (worldConfig.isValid()) { + startPolling(); + updateStatus(ThingStatus.UNKNOWN); + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + "Refresh interval has to be at least 15 minutes."); + } + } + + @Override + public void dispose() { + logger.debug("Handler disposed."); + stopPolling(); + } + + private void startPolling() { + final ScheduledFuture localPollingJob = this.pollingJob; + if (localPollingJob == null || localPollingJob.isCancelled()) { + logger.debug("Start polling."); + pollingJob = scheduler.scheduleWithFixedDelay(this::poll, 0, worldConfig.refresh, TimeUnit.MINUTES); + } + } + + private void stopPolling() { + final ScheduledFuture localPollingJob = this.pollingJob; + if (localPollingJob != null && !localPollingJob.isCancelled()) { + logger.debug("Stop polling."); + localPollingJob.cancel(true); + pollingJob = null; + } + } + + private void poll() { + logger.debug("Polling"); + requestRefresh().handle((resultCoronaStats, pollException) -> { + if (resultCoronaStats == null) { + if (pollException == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + pollException.getMessage()); + } + } else { + updateStatus(ThingStatus.ONLINE); + notifyOnUpdate(resultCoronaStats); + } + + return null; + }); + } + + private CompletableFuture<@Nullable CoronaStats> requestRefresh() { + CompletableFuture<@Nullable CoronaStats> f = new CompletableFuture<>(); + Request request = client.newRequest(URI.create(CORONASTATS_URL)); + + request.method(HttpMethod.GET).timeout(2000, TimeUnit.SECONDS).send(new BufferingResponseListener() { + @NonNullByDefault({}) + @Override + public void onComplete(Result result) { + final HttpResponse response = (HttpResponse) result.getResponse(); + if (result.getFailure() != null) { + Throwable e = result.getFailure(); + if (e instanceof SocketTimeoutException || e instanceof TimeoutException) { + f.completeExceptionally(new CoronaStatsPollingException("Request timeout", e)); + } else { + f.completeExceptionally(new CoronaStatsPollingException("Request failed", e)); + } + } else if (response.getStatus() != 200) { + f.completeExceptionally(new CoronaStatsPollingException(getContentAsString())); + } else { + try { + CoronaStats coronaStatsJSON = gson.fromJson(getContentAsString(), CoronaStats.class); + f.complete(coronaStatsJSON); + } catch (JsonSyntaxException parseException) { + logger.error("Parsing failed: {}", parseException.getMessage()); + f.completeExceptionally(new CoronaStatsPollingException("Parsing of response failed")); + } + } + } + }); + + return f; + } + + @Override + public void childHandlerInitialized(ThingHandler childHandler, Thing childThing) { + if (childHandler instanceof CoronaStatsCountryHandler) { + logger.debug("Register thing listener."); + final CoronaStatsCountryHandler listener = (CoronaStatsCountryHandler) childHandler; + if (countryListeners.add(listener)) { + final CoronaStats localCoronaStats = coronaStats; + if (localCoronaStats != null) { + listener.notifyOnUpdate(localCoronaStats); + } + } else { + logger.warn("Tried to add listener {} but it was already present. This is probably an error.", + childHandler); + } + } + } + + @Override + public void childHandlerDisposed(ThingHandler childHandler, Thing childThing) { + if (childHandler instanceof CoronaStatsCountryHandler) { + logger.debug("Unregister thing listener."); + if (!countryListeners.remove((CoronaStatsCountryHandler) childHandler)) { + logger.warn("Tried to remove listener {} but it was not registered. This is probably an error.", + childHandler); + } + } + } + + public void notifyOnUpdate(@Nullable CoronaStats newCoronaStats) { + if (newCoronaStats != null) { + coronaStats = newCoronaStats; + + CoronaStatsWorld world = newCoronaStats.getWorld(); + if (world == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "World stats not found"); + return; + } + + world.getChannelsStateMap().forEach(this::updateState); + countryListeners.forEach(listener -> listener.notifyOnUpdate(newCoronaStats)); + } + } + + public @Nullable CoronaStats getCoronaStats() { + return coronaStats; + } +} diff --git a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/binding/binding.xml index 64f37199e739c..626172becc8c5 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,10 @@ - - - - CoronaStats Binding - This is a binding for accessing data from https://corona-stats.online/ website. - Johannes Ott - - + + + + CoronaStats Binding + This is a binding for accessing data from https://corona-stats.online/ website. + Johannes Ott + + diff --git a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/channel-type.xml b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/channel-type.xml index 5de439d666be6..93b8f68affd00 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/channel-type.xml +++ b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/channel-type.xml @@ -1,61 +1,61 @@ - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - Number:Dimensionless - - - - - - DateTime - - - - - + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + Number:Dimensionless + + + + + + DateTime + + + + + diff --git a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/country.xml b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/country.xml index 27fd6e7e45441..de88d4f09ce77 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/country.xml +++ b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/country.xml @@ -1,38 +1,38 @@ - - - - - - - - - - Corona statistics for a specific country - - - - - - - - - - - - - - - - - - - - - 2-letter Country Code - - - - + + + + + + + + + + Corona statistics for a specific country + + + + + + + + + + + + + + + + + + + + + 2-letter Country Code + + + + diff --git a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/world.xml b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/world.xml index 7c4c093b0df86..ef8e4bbcca1a6 100644 --- a/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/world.xml +++ b/bundles/org.openhab.binding.coronastats/src/main/resources/ESH-INF/thing/world.xml @@ -1,30 +1,30 @@ - - - - - - Bridge for accessing data from https://corona-stats.online/ website and representing world statistics. - - - - - - - - - - - - - - 30 - - Time between two API requests in minutes. Minimum 15 minutes. - - - - - + + + + + + Bridge for accessing data from https://corona-stats.online/ website and representing world statistics. + + + + + + + + + + + + + + 30 + + Time between two API requests in minutes. Minimum 15 minutes. + + + + + diff --git a/bundles/org.openhab.binding.daikin/pom.xml b/bundles/org.openhab.binding.daikin/pom.xml index 4a52a1d92d6bf..7f9d0e17dfc5d 100644 --- a/bundles/org.openhab.binding.daikin/pom.xml +++ b/bundles/org.openhab.binding.daikin/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.daikin/src/main/feature/feature.xml b/bundles/org.openhab.binding.daikin/src/main/feature/feature.xml index 0406457d131c1..af3701df80b0b 100644 --- a/bundles/org.openhab.binding.daikin/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.daikin/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.daikin/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.daikin/${project.version} + diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinHandlerFactory.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinHandlerFactory.java index de81dffab1580..e6d64a58914de 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinHandlerFactory.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinHandlerFactory.java @@ -21,9 +21,9 @@ import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; import org.openhab.binding.daikin.internal.handler.DaikinAcUnitHandler; import org.openhab.binding.daikin.internal.handler.DaikinAirbaseUnitHandler; +import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import org.osgi.service.component.annotations.Activate; /** * The {@link DaikinHandlerFactory} is responsible for creating things and thing @@ -31,7 +31,7 @@ * * @author Tim Waterhouse - Initial contribution * @author Paul Smedley - Modifications to support Airbase Controllers - + * */ @Component(service = ThingHandlerFactory.class, configurationPid = "binding.daikin") @NonNullByDefault diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinWebTargets.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinWebTargets.java index 6a776d728c222..2c6e61d2b8939 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinWebTargets.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/DaikinWebTargets.java @@ -21,11 +21,10 @@ import org.eclipse.smarthome.io.net.http.HttpUtil; import org.openhab.binding.daikin.internal.api.ControlInfo; import org.openhab.binding.daikin.internal.api.SensorInfo; -import org.openhab.binding.daikin.internal.api.airbase.AirbaseControlInfo; import org.openhab.binding.daikin.internal.api.airbase.AirbaseBasicInfo; +import org.openhab.binding.daikin.internal.api.airbase.AirbaseControlInfo; import org.openhab.binding.daikin.internal.api.airbase.AirbaseModelInfo; import org.openhab.binding.daikin.internal.api.airbase.AirbaseZoneInfo; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,7 +57,7 @@ public DaikinWebTargets(String ipAddress) { getControlInfoUri = baseUri + "aircon/get_control_info"; getSensorInfoUri = baseUri + "aircon/get_sensor_info"; - //Daikin Airbase API + // Daikin Airbase API getAirbaseBasicInfoUri = baseUri + "skyfi/common/basic_info"; setAirbaseControlInfoUri = baseUri + "skyfi/aircon/set_control_info"; getAirbaseControlInfoUri = baseUri + "skyfi/aircon/get_control_info"; @@ -84,7 +83,7 @@ public SensorInfo getSensorInfo() throws DaikinCommunicationException { return SensorInfo.parse(response); } - //Daikin Airbase API + // Daikin Airbase API public AirbaseControlInfo getAirbaseControlInfo() throws DaikinCommunicationException { String response = invoke(getAirbaseControlInfoUri); return AirbaseControlInfo.parse(response); @@ -115,8 +114,10 @@ public AirbaseZoneInfo getAirbaseZoneInfo() throws DaikinCommunicationException return AirbaseZoneInfo.parse(response); } - public void setAirbaseZoneInfo(AirbaseZoneInfo zoneinfo, AirbaseModelInfo modelinfo) throws DaikinCommunicationException { - long count = IntStream.range(0, zoneinfo.zone.length).filter(idx -> zoneinfo.zone[idx]).count() + modelinfo.commonzone; + public void setAirbaseZoneInfo(AirbaseZoneInfo zoneinfo, AirbaseModelInfo modelinfo) + throws DaikinCommunicationException { + long count = IntStream.range(0, zoneinfo.zone.length).filter(idx -> zoneinfo.zone[idx]).count() + + modelinfo.commonzone; logger.debug("Number of open zones: \"{}\"", count); Map queryParams = zoneinfo.getParamString(); @@ -125,7 +126,6 @@ public void setAirbaseZoneInfo(AirbaseZoneInfo zoneinfo, AirbaseModelInfo modeli } } - private String invoke(String uri) throws DaikinCommunicationException { return invoke(uri, new HashMap<>()); } diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/Enums.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/Enums.java index 8224460363f29..75d8a1df87cac 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/Enums.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/Enums.java @@ -119,10 +119,10 @@ public static FanMovement fromValue(int value) { } public enum HomekitMode { - AUTO ("auto"), - COOL ("cool"), - HEAT ("heat"), - OFF ("off"); + AUTO("auto"), + COOL("cool"), + HEAT("heat"), + OFF("off"); private static final Logger LOGGER = LoggerFactory.getLogger(HomekitMode.class); private final String value; @@ -135,5 +135,4 @@ public String getValue() { return value; } } - } diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseBasicInfo.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseBasicInfo.java index 603bbd0b22f47..09810b2d37208 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseBasicInfo.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseBasicInfo.java @@ -16,6 +16,7 @@ import java.util.HashMap; import java.util.Map; import java.util.stream.Collectors; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,5 +55,4 @@ public Map getParamString() { params.put("ssid", ssid); return params; } - } diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseEnums.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseEnums.java index e6ab004b296f5..bd1f9314f758a 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseEnums.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseEnums.java @@ -24,11 +24,11 @@ */ public class AirbaseEnums { public enum AirbaseMode { - COLD (2, "Cooling"), - HEAT (1, "Heating"), - FAN (0, "Fan"), - DRY (7, "Dehumidifier"), - AUTO (3, "Auto"); + COLD(2, "Cooling"), + HEAT(1, "Heating"), + FAN(0, "Fan"), + DRY(7, "Dehumidifier"), + AUTO(3, "Auto"); private static final Logger LOGGER = LoggerFactory.getLogger(AirbaseMode.class); private final int value; @@ -42,7 +42,7 @@ public enum AirbaseMode { public int getValue() { return value; } - + public String getLabel() { return label; } @@ -60,18 +60,18 @@ public static AirbaseMode fromValue(int value) { public enum AirbaseFanSpeed { // level,f_auto,f_airside - AUTO (0, false, false), - LEVEL_1 (1, false, false), - LEVEL_2 (2, false, false), - LEVEL_3 (3, false, false), - LEVEL_4 (4, false, false), - LEVEL_5 (5, false, false), - AUTO_LEVEL_1 (1, true, false), - AUTO_LEVEL_2 (2, true, false), - AUTO_LEVEL_3 (3, true, false), - AUTO_LEVEL_4 (4, true, false), - AUTO_LEVEL_5 (5, true, false), - AIRSIDE (1, false, true); + AUTO(0, false, false), + LEVEL_1(1, false, false), + LEVEL_2(2, false, false), + LEVEL_3(3, false, false), + LEVEL_4(4, false, false), + LEVEL_5(5, false, false), + AUTO_LEVEL_1(1, true, false), + AUTO_LEVEL_2(2, true, false), + AUTO_LEVEL_3(3, true, false), + AUTO_LEVEL_4(4, true, false), + AUTO_LEVEL_5(5, true, false), + AIRSIDE(1, false, true); private static final Logger LOGGER = LoggerFactory.getLogger(AirbaseFanSpeed.class); private final int level; @@ -84,7 +84,7 @@ public enum AirbaseFanSpeed { this.airside = airside; } - public int getLevel() { + public int getLevel() { return level; } @@ -110,7 +110,8 @@ public String getLabel() { return label + "Level " + Integer.toString(level); } - public static AirbaseFanSpeed fromValue(int rate, boolean auto, boolean airside) { // convert from f_rate, f_auto, f_airside + public static AirbaseFanSpeed fromValue(int rate, boolean auto, boolean airside) { // convert from f_rate, + // f_auto, f_airside if (airside) { return AIRSIDE; } @@ -122,7 +123,8 @@ public static AirbaseFanSpeed fromValue(int rate, boolean auto, boolean airside) return m; } } - LOGGER.debug("Unexpected FanSpeed value from rate={}, auto={}, airside={}", rate, auto?1:0, airside?1:0); + LOGGER.debug("Unexpected FanSpeed value from rate={}, auto={}, airside={}", rate, auto ? 1 : 0, + airside ? 1 : 0); return LEVEL_1; } } @@ -157,20 +159,20 @@ public static AirbaseFanMovement fromValue(int value) { } public enum AirbaseFeature { - ZONE ("en_zone"), - FILTER_SIGN ("en_filter_sign"), - TEMP_SETTING ("en_temp_setting"), - FRATE ("en_frate"), - DIR ("en_dir"), - RTEMP_A ("en_rtemp_a"), - SPMODE ("en_spmode"), - MOMPOW ("en_mompow"), - PATROL ("en_patrol"), - AIRSIDE ("en_airside"), - QUICK_TIMER ("en_quick_timer"), - AUTO ("en_auto"), - DRY ("en_dry"), - FRATE_AUTO ("en_frate_auto"); + ZONE("en_zone"), + FILTER_SIGN("en_filter_sign"), + TEMP_SETTING("en_temp_setting"), + FRATE("en_frate"), + DIR("en_dir"), + RTEMP_A("en_rtemp_a"), + SPMODE("en_spmode"), + MOMPOW("en_mompow"), + PATROL("en_patrol"), + AIRSIDE("en_airside"), + QUICK_TIMER("en_quick_timer"), + AUTO("en_auto"), + DRY("en_dry"), + FRATE_AUTO("en_frate_auto"); private static final Logger LOGGER = LoggerFactory.getLogger(AirbaseFeature.class); private final String value; diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseModelInfo.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseModelInfo.java index 18b38f37d5dca..3872f7c9ac457 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseModelInfo.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseModelInfo.java @@ -13,15 +13,14 @@ package org.openhab.binding.daikin.internal.api.airbase; import java.util.Arrays; +import java.util.EnumSet; import java.util.Map; import java.util.stream.Collectors; -import java.util.EnumSet; +import org.openhab.binding.daikin.internal.api.airbase.AirbaseEnums.AirbaseFeature; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.openhab.binding.daikin.internal.api.airbase.AirbaseEnums.AirbaseFeature; - /** * Class for holding the set of parameters used by get model info. * @@ -55,14 +54,13 @@ public static AirbaseModelInfo parse(String response) { AirbaseModelInfo info = new AirbaseModelInfo(); info.ret = responseMap.get("ret"); info.zonespresent = Integer.parseInt(responseMap.get("en_zone")); - info.commonzone = Integer.parseInt(responseMap.get("en_common_zone")); - info.frate_steps = Integer.parseInt(responseMap.get("frate_steps")); - for (AirbaseFeature f: AirbaseFeature.values()) { + info.commonzone = Integer.parseInt(responseMap.get("en_common_zone")); + info.frate_steps = Integer.parseInt(responseMap.get("frate_steps")); + for (AirbaseFeature f : AirbaseFeature.values()) { if ("1".equals(responseMap.get(f.getValue()))) { info.features.add(f); } } return info; } - } diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseZoneInfo.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseZoneInfo.java index d3114efc7cf69..31a16799a3b81 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseZoneInfo.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/api/airbase/AirbaseZoneInfo.java @@ -14,9 +14,10 @@ import java.util.Arrays; import java.util.LinkedHashMap; -import java.util.stream.IntStream; import java.util.Map; import java.util.stream.Collectors; +import java.util.stream.IntStream; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -53,17 +54,17 @@ public static AirbaseZoneInfo parse(String response) { String[] Zones = zoneinfo.split("%3b"); for (int i = 1; i < 9; i++) - info.zone[i] = "1".equals(Zones[i-1]); + info.zone[i] = "1".equals(Zones[i - 1]); return info; } public Map getParamString() { Map params = new LinkedHashMap<>(); - String onoffstring = IntStream.range(1, zone.length).mapToObj(idx -> zone[idx] ? "1" : "0").collect(Collectors.joining("%3b")); + String onoffstring = IntStream.range(1, zone.length).mapToObj(idx -> zone[idx] ? "1" : "0") + .collect(Collectors.joining("%3b")); params.put("zone_name", zonenames); params.put("zone_onoff", onoffstring); return params; } - } diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/discovery/DaikinACUnitDiscoveryService.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/discovery/DaikinACUnitDiscoveryService.java index 2076bbdc6ebc8..aaeb127f82fa7 100644 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/discovery/DaikinACUnitDiscoveryService.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/discovery/DaikinACUnitDiscoveryService.java @@ -31,10 +31,10 @@ import org.eclipse.smarthome.core.thing.ThingUID; import org.openhab.binding.daikin.internal.DaikinBindingConstants; import org.openhab.binding.daikin.internal.DaikinWebTargets; -import org.openhab.binding.daikin.internal.config.DaikinConfiguration; import org.openhab.binding.daikin.internal.api.ControlInfo; import org.openhab.binding.daikin.internal.api.airbase.AirbaseBasicInfo; import org.openhab.binding.daikin.internal.api.airbase.AirbaseControlInfo; +import org.openhab.binding.daikin.internal.config.DaikinConfiguration; import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/handler/DaikinBaseHandler.java b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/handler/DaikinBaseHandler.java index 2139b0b307a75..6fe4fb9f389c6 100755 --- a/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/handler/DaikinBaseHandler.java +++ b/bundles/org.openhab.binding.daikin/src/main/java/org/openhab/binding/daikin/internal/handler/DaikinBaseHandler.java @@ -218,5 +218,4 @@ private void changeHomekitMode(String homekitmode) throws DaikinCommunicationExc } } } - } diff --git a/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/config/config.xml index 239c8ecfead02..00bebeb047f72 100644 --- a/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/config/config.xml @@ -1,19 +1,20 @@ - - - - The Host address of the Daikin AC unit. - network_address - - - - The number of seconds between fetches of the AC unit state. - 60 - + + + The Host address of the Daikin AC unit. + network_address + + + + The number of seconds between fetches of the AC unit state. + 60 + diff --git a/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/thing/thing-types.xml index 3b7ef0d07ddb5..af534b35eec0f 100644 --- a/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.daikin/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,18 +9,18 @@ Daikin AC Unit - - - - - - - - - + + + + + + + + + - + @@ -27,25 +28,25 @@ Daikin Airbase AC Unit - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - + @@ -59,7 +60,7 @@ The set point temperature Temperature - + @@ -67,7 +68,7 @@ The indoor temperature Temperature - + @@ -75,14 +76,14 @@ The outdoor temperature Temperature - + Number The indoor humidity as measured by the A/C unit - + @@ -130,7 +131,7 @@ - + String diff --git a/bundles/org.openhab.binding.darksky/pom.xml b/bundles/org.openhab.binding.darksky/pom.xml index b64d0f323d521..4709f2ceec917 100644 --- a/bundles/org.openhab.binding.darksky/pom.xml +++ b/bundles/org.openhab.binding.darksky/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.darksky/src/main/feature/feature.xml b/bundles/org.openhab.binding.darksky/src/main/feature/feature.xml index 665164779eb5c..60a56c35b03a5 100644 --- a/bundles/org.openhab.binding.darksky/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.darksky/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.darksky/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.darksky/${project.version} + diff --git a/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/bridge-types.xml b/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/bridge-types.xml index 24ea9a6fe9733..70ed527db80d7 100644 --- a/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/bridge-types.xml +++ b/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/bridge-types.xml @@ -11,7 +11,7 @@ apikey - + diff --git a/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/channel-types.xml index 34117f3c7284d..2a96c4d61acdd 100644 --- a/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/channel-types.xml @@ -9,30 +9,30 @@ This is the current weather. - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -40,26 +40,26 @@ This is the 5 day / 3 hour weather forecast. - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + @@ -67,30 +67,30 @@ This is the 16 day / daily weather forecast. - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -98,12 +98,12 @@ Weather warnings issued for the requested location. - - - - - - + + + + + + @@ -113,7 +113,7 @@ Time of data observation. Time - + @@ -121,7 +121,7 @@ Time of data forecasted. Time - + @@ -129,7 +129,7 @@ Date of data forecasted. Time - + @@ -137,7 +137,7 @@ Current weather condition. Sun_Clouds - + @@ -145,21 +145,21 @@ Forecasted weather condition. Sun_Clouds - + Image Icon representing the weather condition. - + String Id of the icon to create the URL. - + @@ -167,7 +167,7 @@ Forecasted outdoor temperature. Temperature - + @@ -175,7 +175,7 @@ Minimum forecasted outdoor temperature. Temperature - + @@ -183,7 +183,7 @@ Maximum forecasted outdoor temperature. Temperature - + @@ -191,7 +191,7 @@ Current apparent temperature. Temperature - + @@ -199,7 +199,7 @@ Forecasted apparent temperature. Temperature - + @@ -207,7 +207,7 @@ Minimum forecasted apparent temperature. Temperature - + @@ -215,7 +215,7 @@ Maximum forecasted apparent temperature. Temperature - + @@ -223,7 +223,7 @@ Forecasted barometric pressure. Pressure - + @@ -231,7 +231,7 @@ Forecasted atmospheric relative humidity. Humidity - + @@ -239,7 +239,7 @@ Forecasted wind speed. Wind - + @@ -247,7 +247,7 @@ Forecasted wind direction expressed as an angle. Wind - + @@ -255,7 +255,7 @@ Current gust speed. Wind - + @@ -263,7 +263,7 @@ Forecasted gust speed. Wind - + @@ -271,7 +271,7 @@ Current cloudiness. Clouds - + @@ -279,21 +279,21 @@ Forecasted cloudiness. Clouds - + Number:Length Current visibility. - + Number:Length Forecasted visibility. - + @@ -301,7 +301,7 @@ Current rain intensity. Rain - + @@ -309,7 +309,7 @@ Forecasted rain intensity. Rain - + @@ -317,7 +317,7 @@ Current snow intensity. Snow - + @@ -325,35 +325,35 @@ Forecasted snow intensity. Snow - + Number:Speed Current precipitation intensity. - + Number:Speed Forecasted precipitation intensity. - + Number:Dimensionless Current precipitation probability. - + Number:Dimensionless Forecasted precipitation probability. - + @@ -386,28 +386,28 @@ Number Current UV index. - + Number Forecasted UV index. - + Number:ArealDensity Current ozone. - + Number:ArealDensity Forecasted ozone. - + @@ -415,7 +415,7 @@ Sunrise of the current day. Sun - + @@ -423,7 +423,7 @@ Forecasted sunrise of the day. Sun - + @@ -436,7 +436,7 @@ - + @@ -444,7 +444,7 @@ Sunset of the current day. Sun - + @@ -452,7 +452,7 @@ Forecasted sunset of the day. Sun - + @@ -465,49 +465,49 @@ - + String A brief description of the alert. - + String A detailed description of the alert. - + String The severity of the alert. - + DateTime The time at which the alert was issued. - + DateTime The time at which the alert will expire. - + String An external URI that one may refer to for detailed information about the alert. - + diff --git a/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/thing-types.xml index 0e8abcb5929e7..7a1ba61239c40 100644 --- a/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.darksky/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,14 +7,14 @@ - + Provides current weather and forecast data from the Dark Sky API. - + This is the weather forecast for the next hour. @@ -147,7 +147,7 @@ location - + diff --git a/bundles/org.openhab.binding.deconz/pom.xml b/bundles/org.openhab.binding.deconz/pom.xml index 1a53e4d8a90a2..0f652d3f304f4 100644 --- a/bundles/org.openhab.binding.deconz/pom.xml +++ b/bundles/org.openhab.binding.deconz/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.deconz/src/main/feature/feature.xml b/bundles/org.openhab.binding.deconz/src/main/feature/feature.xml index dff0a3b336b82..b77377e2b7d60 100644 --- a/bundles/org.openhab.binding.deconz/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.deconz/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.deconz/${project.version} - + + openhab-runtime-base + openhab-transport-http + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.deconz/${project.version} + diff --git a/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/binding/binding.xml index 89bc397ecf352..45ddd6e22a3ef 100644 --- a/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/binding/binding.xml @@ -5,7 +5,9 @@ Dresden Elektronik deCONZ Binding Allows to use the real-time channel of the deCONZ software for Zigbee sensors and switches. - deCONZ is the accompanying software for the Raspbee and Conbee Zigbee dongles from Dresden Elektronik. - Is meant to be used together with the HUE binding which makes the lights and plugs available. + deCONZ is the + accompanying software for the Raspbee and Conbee Zigbee dongles from Dresden Elektronik. + Is meant to be used together + with the HUE binding which makes the lights and plugs available. David Graeff diff --git a/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/config/config.xml index 7a455b32502fc..230cfedb9c70a 100644 --- a/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/config/config.xml @@ -23,7 +23,8 @@ password - If no API Key is provided, a new one will be requested. You need to authorize the access on the deCONZ web interface. + If no API Key is provided, a new one will be requested. You need to authorize the access on the deCONZ + web interface. diff --git a/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/thing/thing-types.xml index a0f2ab559cffc..caa015752b045 100644 --- a/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.deconz/src/main/resources/ESH-INF/thing/thing-types.xml @@ -8,23 +8,23 @@ A running deCONZ software instance - + - + A Presence sensor - - + + uid - + @@ -39,23 +39,23 @@ The date and time when the sensor was last updated. Time - + - + A power sensor - - + + uid - + @@ -71,7 +71,7 @@ Current voltage Energy - + @@ -79,12 +79,12 @@ Current current Energy - + - + A consumption sensor @@ -95,7 +95,7 @@ uid - + @@ -107,19 +107,19 @@ - + A switch or button - - - + + + uid - + @@ -165,21 +165,21 @@ - + A light sensor - - - - - + + + + + uid - + @@ -193,37 +193,37 @@ Number Current light level. - + Switch Light level is below the darkness threshold. - + Switch Light level is above the daylight threshold. - + - + A temperature sensor - - + + uid - + @@ -235,18 +235,18 @@ - + A humidity sensor - - + + uid - + @@ -258,7 +258,7 @@ - + A pressure senor @@ -269,7 +269,7 @@ uid - + @@ -281,7 +281,7 @@ - + A daylight sensor @@ -292,7 +292,7 @@ uid - + @@ -317,18 +317,18 @@ - + A open/close sensor - - + + uid - + @@ -340,101 +340,101 @@ - + A water leakage sensor - - + + uid - + Switch Water leakage detected - + - + A fire sensor - - + + uid - + Switch A fire was detected. - + - + An alarm sensor - - + + uid - + Switch Alarm was triggered. - + Switch A zone is being tampered. - + - + A vibration sensor - - + + uid - + Switch Vibration was detected. - + diff --git a/bundles/org.openhab.binding.denonmarantz/pom.xml b/bundles/org.openhab.binding.denonmarantz/pom.xml index 23872b49333af..d647d0afebff6 100644 --- a/bundles/org.openhab.binding.denonmarantz/pom.xml +++ b/bundles/org.openhab.binding.denonmarantz/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/feature/feature.xml b/bundles/org.openhab.binding.denonmarantz/src/main/feature/feature.xml index ddc816aaaf4f0..66dd063f4d886 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.denonmarantz/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - openhab.tp-jaxb - mvn:org.openhab.addons.bundles/org.openhab.binding.denonmarantz/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + openhab.tp-jaxb + mvn:org.openhab.addons.bundles/org.openhab.binding.denonmarantz/${project.version} + diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzState.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzState.java index cddf496975915..b5b641cb3c59b 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzState.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzState.java @@ -261,7 +261,6 @@ public void setZone3Volume(BigDecimal volume) { .valueOf(volume.subtract(DenonMarantzBindingConstants.DB_OFFSET).toString()); handler.stateChanged(DenonMarantzBindingConstants.CHANNEL_ZONE3_VOLUME_DB, this.zone3VolumeDB); } - } public void setZone3Mute(boolean mute) { @@ -298,7 +297,6 @@ public void setZone4Volume(BigDecimal volume) { .valueOf(volume.subtract(DenonMarantzBindingConstants.DB_OFFSET).toString()); handler.stateChanged(DenonMarantzBindingConstants.CHANNEL_ZONE4_VOLUME_DB, this.zone4VolumeDB); } - } public void setZone4Mute(boolean mute) { diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzStateChangedListener.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzStateChangedListener.java index 96307e224623b..6d4e6cd698c24 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzStateChangedListener.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/DenonMarantzStateChangedListener.java @@ -26,7 +26,7 @@ public interface DenonMarantzStateChangedListener { * Update was received. * * @param channelID the channel for which its state changed - * @param state the new state of the channel + * @param state the new state of the channel */ void stateChanged(String channelID, State state); diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/UnsupportedCommandTypeException.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/UnsupportedCommandTypeException.java index 0cf72b4625f56..601103aa96199 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/UnsupportedCommandTypeException.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/UnsupportedCommandTypeException.java @@ -29,5 +29,4 @@ public UnsupportedCommandTypeException() { public UnsupportedCommandTypeException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/config/DenonMarantzConfiguration.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/config/DenonMarantzConfiguration.java index a307a57c2a831..8792b800f6942 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/config/DenonMarantzConfiguration.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/config/DenonMarantzConfiguration.java @@ -117,5 +117,4 @@ public void setZoneCount(Integer count) { Integer zoneCount = count; this.zoneCount = zoneCount; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/DenonMarantzConnectorFactory.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/DenonMarantzConnectorFactory.java index 5c4ef4b9e2911..50bab9745cba1 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/DenonMarantzConnectorFactory.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/DenonMarantzConnectorFactory.java @@ -36,5 +36,4 @@ public DenonMarantzConnector getConnector(DenonMarantzConfiguration config, Deno return new DenonMarantzHttpConnector(config, state, scheduler, httpClient); } } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/http/DenonMarantzHttpConnector.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/http/DenonMarantzHttpConnector.java index a0fd9afd2f9d5..250276c9f0ef5 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/http/DenonMarantzHttpConnector.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/http/DenonMarantzHttpConnector.java @@ -370,5 +370,4 @@ public String getLocalName() { return Introspector.decapitalize(super.getLocalName()); } } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetClient.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetClient.java index 496c523931eb0..425977ae2859a 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetClient.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetClient.java @@ -172,5 +172,4 @@ private void disconnect() { } } } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetListener.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetListener.java index 1bf3bb3d486ce..59af5dd004248 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetListener.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/connector/telnet/DenonMarantzTelnetListener.java @@ -34,5 +34,4 @@ public interface DenonMarantzTelnetListener { * @param connected whether or not the connection was successful */ void telnetClientConnected(boolean connected); - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/Main.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/Main.java index b4943aff107a2..232ad2aac21cd 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/Main.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/Main.java @@ -36,5 +36,4 @@ public OnOffType getPower() { public void setPower(OnOffType power) { this.power = power; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatus.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatus.java index ae2fe3dec63b9..63f838f602385 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatus.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatus.java @@ -100,5 +100,4 @@ public void setMute(OnOffType mute) { public List getInputFuncList() { return this.inputFunctions; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatusLite.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatusLite.java index e017d92c924b0..e1dc67538bf6d 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatusLite.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/ZoneStatusLite.java @@ -78,5 +78,4 @@ public OnOffType getMute() { public void setMute(OnOffType mute) { this.mute = mute; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/OnOffType.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/OnOffType.java index 90826605784dc..265051a6cc3f8 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/OnOffType.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/OnOffType.java @@ -36,5 +36,4 @@ public Boolean getValue() { public void setValue(Boolean value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/StringType.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/StringType.java index c1adc93b4ed05..fe7464ef2d4dc 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/StringType.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/StringType.java @@ -36,5 +36,4 @@ public String getValue() { public void setValue(String value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/VolumeType.java b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/VolumeType.java index fa4082cdfe1c3..f17d54df349b0 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/VolumeType.java +++ b/bundles/org.openhab.binding.denonmarantz/src/main/java/org/openhab/binding/denonmarantz/internal/xml/entities/types/VolumeType.java @@ -38,5 +38,4 @@ public BigDecimal getValue() { public void setValue(BigDecimal value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/binding/binding.xml index 298dc38680d90..69b0e11b0f587 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - DenonMarantz Binding diff --git a/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/thing/thing-types.xml index 58fe92816abfe..51bf60a87e0f5 100644 --- a/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.denonmarantz/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,7 +10,7 @@ Control a Denon/Marantz AVR. - + Channels for the main zone of this AVR. @@ -55,8 +55,7 @@ 2 - + network-address Hostname or IP address of the AVR to control. @@ -64,7 +63,9 @@ - By using telnet the AVR updates are received immediately. Also, some devices only support telnet. However, the AVR only allows 1 simultaneous connection. Uncheck if you are using dedicated apps to control the AVR. Then HTTP polling is used instead. + By using telnet the AVR updates are received immediately. Also, some devices only support telnet. + However, the AVR only allows 1 simultaneous connection. Uncheck if you are using dedicated apps to control the AVR. + Then HTTP polling is used instead. @@ -81,8 +82,7 @@ true - + Refresh interval of the HTTP API in seconds (minimal 5) 5 @@ -95,12 +95,12 @@ General channels for this AVR. - - - - - - + + + + + + @@ -108,11 +108,11 @@ Channels for a zone of this AVR. - - - - - + + + + + @@ -140,7 +140,7 @@ Set the volume level (dB). Same as [mainVolume - 80]. SoundVolume - + @@ -203,28 +203,28 @@ String Select the surround program of the AVR - + String Displays the artist of the now playing song. - + String Displays the album of the now playing song. - + String Displays the title of the now playing track. - + diff --git a/bundles/org.openhab.binding.digiplex/pom.xml b/bundles/org.openhab.binding.digiplex/pom.xml index 6c9248db8ae32..f37da6f2c745c 100644 --- a/bundles/org.openhab.binding.digiplex/pom.xml +++ b/bundles/org.openhab.binding.digiplex/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.digiplex/src/main/feature/feature.xml b/bundles/org.openhab.binding.digiplex/src/main/feature/feature.xml index f927556337fe0..6f1e372860785 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.digiplex/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.digiplex/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.digiplex/${project.version} + diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexBindingConstants.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexBindingConstants.java index bcbe6ea64ad02..94a4722a5b149 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexBindingConstants.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexBindingConstants.java @@ -86,5 +86,4 @@ public class DigiplexBindingConstants { public static final StringType COMMAND_FAIL = new StringType("Fail"); public static final int GLOBAL_AREA_NO = 0; - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexHandlerFactory.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexHandlerFactory.java index 9732fa2a0a32c..35e50f47d7f66 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexHandlerFactory.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/DigiplexHandlerFactory.java @@ -55,5 +55,4 @@ public boolean supportsThingType(ThingTypeUID thingTypeUID) { } return null; } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaArmDisarmResponse.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaArmDisarmResponse.java index cdb82a85a30ce..c28be2f2877c2 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaArmDisarmResponse.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaArmDisarmResponse.java @@ -48,7 +48,5 @@ public static AreaArmDisarmResponse success(int areaNo, ArmDisarmType type) { @Override public void accept(DigiplexMessageHandler visitor) { visitor.handleArmDisarmAreaResponse(this); - } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaLabelRequest.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaLabelRequest.java index d59766c2bb68b..710620961fba4 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaLabelRequest.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaLabelRequest.java @@ -32,5 +32,4 @@ public AreaLabelRequest(int areaNo) { public String getSerialMessage() { return String.format("AL%03d\r", areaNo); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatus.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatus.java index 7da08ff102dae..85ae848ece273 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatus.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatus.java @@ -51,5 +51,4 @@ public static AreaStatus fromMessage(char indicator) { public StringType toStringType() { return new StringType(this.toString()); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusRequest.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusRequest.java index f3d8750b0cfa2..141ed30c3d5f4 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusRequest.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusRequest.java @@ -32,5 +32,4 @@ public AreaStatusRequest(int areaNo) { public String getSerialMessage() { return String.format("RA%03d\r", areaNo); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusResponse.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusResponse.java index ea8d8b06252c4..174320123ac5a 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusResponse.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/AreaStatusResponse.java @@ -75,5 +75,4 @@ public static AreaStatusResponse success(int areaNo, AreaStatus status, boolean public void accept(DigiplexMessageHandler visitor) { visitor.handleAreaStatusResponse(this); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ArmDisarmType.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ArmDisarmType.java index 0555def21e004..c7f5c2448ecb9 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ArmDisarmType.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ArmDisarmType.java @@ -40,5 +40,4 @@ public static ArmDisarmType fromMessage(String indicator) { return Arrays.stream(ArmDisarmType.values()).filter(type -> type.indicator.equals(indicator)).findFirst() .orElse(UNKNOWN); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/CommunicationStatus.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/CommunicationStatus.java index 82f6b3f9f188b..3dd73ce55444c 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/CommunicationStatus.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/CommunicationStatus.java @@ -34,5 +34,4 @@ private CommunicationStatus(boolean success) { public void accept(DigiplexMessageHandler visitor) { visitor.handleCommunicationStatus(this); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexMessageHandler.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexMessageHandler.java index 801153122e52a..22ec985cb0633 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexMessageHandler.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexMessageHandler.java @@ -70,5 +70,4 @@ default void handleGenericEvent(GenericEvent event) { default void handleTroubleEvent(TroubleEvent troubleEvent) { } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexRequest.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexRequest.java index 0fbe4dc7c4b4d..9e65035b2034c 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexRequest.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexRequest.java @@ -24,5 +24,4 @@ public interface DigiplexRequest extends DigiplexMessage { String getSerialMessage(); - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponse.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponse.java index acae22659dc61..d84268bb9a537 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponse.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponse.java @@ -24,5 +24,4 @@ public interface DigiplexResponse extends DigiplexMessage { void accept(DigiplexMessageHandler visitor); - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponseResolver.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponseResolver.java index 091382cb4f28e..9200af7ceb78d 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponseResolver.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/DigiplexResponseResolver.java @@ -214,5 +214,4 @@ private static DigiplexResponse resolveSystemEvent(String message) { } return new GenericEvent(eventGroup, eventNumber, areaNumber); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/UnknownResponse.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/UnknownResponse.java index 10437c59a9524..17a37a679f32f 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/UnknownResponse.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/UnknownResponse.java @@ -33,5 +33,4 @@ public UnknownResponse(String message) { public void accept(DigiplexMessageHandler visitor) { visitor.handleUnknownResponse(this); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneLabelRequest.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneLabelRequest.java index 7f4559a48395f..9bb9b440ac463 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneLabelRequest.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneLabelRequest.java @@ -32,5 +32,4 @@ public ZoneLabelRequest(int zoneNo) { public String getSerialMessage() { return String.format("ZL%03d\r", zoneNo); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatus.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatus.java index f1b1226bd5575..a3fa234cc685e 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatus.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatus.java @@ -45,5 +45,4 @@ public static ZoneStatus fromMessage(char indicator) { return Arrays.stream(ZoneStatus.values()).filter(type -> type.indicator == indicator).findFirst() .orElse(UNKNOWN); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatusRequest.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatusRequest.java index 13dbcf6eeab79..2b1180a0f176b 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatusRequest.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/ZoneStatusRequest.java @@ -32,5 +32,4 @@ public ZoneStatusRequest(int zoneNo) { public String getSerialMessage() { return String.format("RZ%03d\r", zoneNo); } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/AbstractEvent.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/AbstractEvent.java index 4623612291dbf..141d9a08e77e2 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/AbstractEvent.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/AbstractEvent.java @@ -46,5 +46,4 @@ public boolean isForArea(int areaNo) { } return false; } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/TroubleType.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/TroubleType.java index 013e871ec0a55..93217b9ba9b26 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/TroubleType.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/TroubleType.java @@ -46,5 +46,4 @@ public String getBridgeChannel() { public static TroubleType fromEventNumber(int eventNumber) { return TroubleType.values()[eventNumber]; } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/ZoneStatusEvent.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/ZoneStatusEvent.java index d897382574a2b..1277bb74b496b 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/ZoneStatusEvent.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/communication/events/ZoneStatusEvent.java @@ -46,6 +46,5 @@ public ZoneStatus getStatus() { @Override public void accept(DigiplexMessageHandler visitor) { visitor.handleZoneStatusEvent(this); - } } diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexAreaHandler.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexAreaHandler.java index 8028b13be1f5c..ae48f8d9686d0 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexAreaHandler.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexAreaHandler.java @@ -149,7 +149,6 @@ private void processControlCommand(String command) { bridgeHandler.sendRequest(new AreaDisarmRequest(areaNo, command.substring(1))); break; } - } @SuppressWarnings("null") diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexBridgeHandler.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexBridgeHandler.java index 0bd40c743669f..d746b1954c680 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexBridgeHandler.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/DigiplexBridgeHandler.java @@ -128,7 +128,6 @@ public void initialize() { } catch (Exception e) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR, "Communication error!"); } - } @SuppressWarnings("null") diff --git a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/TypeUtils.java b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/TypeUtils.java index 4e0203eb17192..550ef617a8ffe 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/TypeUtils.java +++ b/bundles/org.openhab.binding.digiplex/src/main/java/org/openhab/binding/digiplex/internal/handler/TypeUtils.java @@ -27,5 +27,4 @@ public class TypeUtils { public static OpenClosedType openClosedFromBoolean(boolean value) { return value ? OpenClosedType.OPEN : OpenClosedType.CLOSED; } - } diff --git a/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/area.xml b/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/area.xml index bc0e7ea788425..be90d00b23ffc 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/area.xml +++ b/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/area.xml @@ -6,20 +6,20 @@ - + Area - - - - - - - - - + + + + + + + + + @@ -130,7 +130,8 @@ String - Used to control area status. By reading its state one can check result of the last command sent to the alarm system. + Used to control area status. By reading its state one can check result of the last command sent to the + alarm system. diff --git a/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/bridge.xml index e92563e7d3d0a..9bfdb11a090b2 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/bridge.xml @@ -8,8 +8,8 @@ Digiplex PRT3 module with Serial Interface - - + + @@ -47,9 +47,9 @@ Statistics of PRT3 communication - - - + + + @@ -57,14 +57,14 @@ Problems reported by the alarm system - - - - - - - - + + + + + + + + diff --git a/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/zone.xml b/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/zone.xml index 69e11cff68c3c..e104ff0116cf2 100644 --- a/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/zone.xml +++ b/bundles/org.openhab.binding.digiplex/src/main/resources/ESH-INF/thing/zone.xml @@ -6,18 +6,18 @@ - + Zone - - - - - - - + + + + + + + @@ -99,7 +99,7 @@ DateTime Indicates when the zone has been triggered for the last time - + diff --git a/bundles/org.openhab.binding.digitalstrom/pom.xml b/bundles/org.openhab.binding.digitalstrom/pom.xml index 584d66b6b18ab..d3998546d117a 100644 --- a/bundles/org.openhab.binding.digitalstrom/pom.xml +++ b/bundles/org.openhab.binding.digitalstrom/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/feature/feature.xml b/bundles/org.openhab.binding.digitalstrom/src/main/feature/feature.xml index 7d06aa273d5df..fc7077185674f 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.digitalstrom/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.digitalstrom/${project.version} + diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/DigitalSTROMBindingConstants.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/DigitalSTROMBindingConstants.java index f91ddddd3bcfe..d4b9fd12c1142 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/DigitalSTROMBindingConstants.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/DigitalSTROMBindingConstants.java @@ -106,5 +106,4 @@ public class DigitalSTROMBindingConstants { public static final String API_VERSION = "apiVersion"; public static final String DSP_SW_VERSION = "armSwVersion"; public static final String ARM_SW_VERSION = "dspSwVersion"; - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/discovery/DiscoveryServiceManager.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/discovery/DiscoveryServiceManager.java index 6ab6142bd2ef3..318144be652bd 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/discovery/DiscoveryServiceManager.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/discovery/DiscoveryServiceManager.java @@ -250,12 +250,10 @@ public Integer getTemperationControlStatusListenrID() { @Override public void onTargetTemperatureChanged(Float newValue) { // nothing to do - } @Override public void onControlValueChanged(Integer newValue) { // nothing to do - } } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/CircuitHandler.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/CircuitHandler.java index aa546efe28354..fa65b948a2034 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/CircuitHandler.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/CircuitHandler.java @@ -180,7 +180,6 @@ public void onDeviceStateChanged(DeviceStateUpdate deviceStateUpdate) { } } } - } @Override @@ -309,5 +308,4 @@ public void onSceneConfigAdded(short sceneID) { public String getDeviceStatusListenerID() { return this.dSID; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/DeviceHandler.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/DeviceHandler.java index 26acb664207db..94bf072ff8a74 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/DeviceHandler.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/DeviceHandler.java @@ -768,7 +768,6 @@ private void loadOutputChannel(ChannelTypeUID channelTypeUID, String acceptedIte updateThing(thingBuilder.build()); logger.debug("load channel: {} with item: {}", channelTypeUID.getAsString(), acceptedItemType); } - } private ChannelUID getSensorChannelUID(SensorEnum sensorType) { @@ -935,7 +934,6 @@ public synchronized void onSceneConfigAdded(short sceneId) { // super.updateThing(editThing().build()); } } - } @Override diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/SceneHandler.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/SceneHandler.java index be199d9853b11..9e22775e173b8 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/SceneHandler.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/SceneHandler.java @@ -304,7 +304,6 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else { logger.warn("Command sent to an unknown channel id: {}", channelUID); } - } private synchronized BridgeHandler getBridgeHandler() { diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/ZoneTemperatureControlHandler.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/ZoneTemperatureControlHandler.java index bc52eaa28a895..0f8e634faafcc 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/ZoneTemperatureControlHandler.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/handler/ZoneTemperatureControlHandler.java @@ -231,7 +231,6 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else { logger.debug("Command sent to an unknown channel id: {}", channelUID); } - } private boolean isTemperature() { @@ -356,5 +355,4 @@ public void registerTemperatureSensorTransmitter( public Integer getTemperationControlStatusListenrID() { return zoneID; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/datatypes/CachedSensorValue.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/datatypes/CachedSensorValue.java index e8ff19e5cc264..63366f85243e9 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/datatypes/CachedSensorValue.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/datatypes/CachedSensorValue.java @@ -153,5 +153,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/BaseTemperatureControl.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/BaseTemperatureControl.java index 004012a074b3e..5f5025ea8ed01 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/BaseTemperatureControl.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/BaseTemperatureControl.java @@ -91,5 +91,4 @@ public Short getControlMode() { public Boolean isNotSetOff() { return !ControlModes.OFF.getID().equals(controlMode); } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/AssignedSensors.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/AssignedSensors.java index 398bcff565d3d..08bd1e404d4d7 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/AssignedSensors.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/AssignedSensors.java @@ -153,5 +153,4 @@ public boolean existsAssignedSensors() { public String toString() { return "AssignedSensors [sensors=" + sensors + "]"; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/SensorValues.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/SensorValues.java index df9beddd06255..038f3e5e1446c 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/SensorValues.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/SensorValues.java @@ -96,5 +96,4 @@ public Integer getZoneID() { public String getZoneName() { return zoneName; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlConfig.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlConfig.java index 71dfe5be732bc..551ea3123582e 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlConfig.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlConfig.java @@ -116,7 +116,6 @@ private void init(JsonObject jObject) { } } } - } /** diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlInternals.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlInternals.java index bf62c3f1ebb6c..d2b83cc4ce9c4 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlInternals.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/climate/jsonresponsecontainer/impl/TemperatureControlInternals.java @@ -200,5 +200,4 @@ public String toString() { + ctrlTErrorPrev + ", ctrlIntegral=" + ctrlIntegral + ", ctrlYp=" + ctrlYp + ", ctrlYi=" + ctrlYi + ", ctrlYd=" + ctrlYd + ", ctrlY=" + ctrlY + ", ctrlAntiWindUp=" + ctrlAntiWindUp + "]"; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/EventListener.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/EventListener.java index 8e113d2c09954..a09ffb1845abe 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/EventListener.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/EventListener.java @@ -358,7 +358,6 @@ public void run() { } subscriptionScheduler.cancel(true); } - }, 0, SUBSCRIBE_DELAY, TimeUnit.MILLISECONDS); } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/constants/EventNames.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/constants/EventNames.java index 28d69fc624e44..9e00fb4134113 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/constants/EventNames.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/event/constants/EventNames.java @@ -27,5 +27,4 @@ public class EventNames { public static final String UNDO_SCENE = "undoScene"; public static final String DEVICE_SENSOR_VALUE = "deviceSensorValue"; public static final String DEVICE_BINARY_INPUT_EVENT = "deviceBinaryInputEvent"; - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/DeviceStatusManagerImpl.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/DeviceStatusManagerImpl.java index f28cf9ec5a8ed..f5e70bf70554e 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/DeviceStatusManagerImpl.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/DeviceStatusManagerImpl.java @@ -473,7 +473,6 @@ && checkAngleIsMinMax(device) == 0)) { } } } - } private void removeSensorJob(Device eshDevice, DeviceStateUpdate deviceStateUpdate) { @@ -1206,7 +1205,6 @@ private void getMeterData() { if (totalPowerConsumptionListener != null) { totalPowerConsumptionListener.onEnergyMeterValueChanged(val); } - } @Override diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/StructureManagerImpl.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/StructureManagerImpl.java index 549fb25efc2c4..f2f07b9dacd69 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/StructureManagerImpl.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/manager/impl/StructureManagerImpl.java @@ -109,7 +109,6 @@ public StructureManagerImpl(List referenceDeviceList, List refe * Creates a new {@link StructureManagerImpl} without {@link Device}s. */ public StructureManagerImpl() { - } @Override diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/SceneReadingJobExecutor.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/SceneReadingJobExecutor.java index 2681d5d63e755..114bf127dc041 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/SceneReadingJobExecutor.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/SceneReadingJobExecutor.java @@ -57,7 +57,6 @@ public void addHighPriorityJob(SensorJob sensorJob) { addSensorJobToCircuitScheduler(sensorJob); logger.debug("Add SceneReadingJob from device with dSID {} and high-priority to SceneReadingSobExecutor", sensorJob.getDSID()); - } @Override diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/sensorjob/impl/DeviceOutputValueSensorJob.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/sensorjob/impl/DeviceOutputValueSensorJob.java index 262da686fb6e8..eb465661564d9 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/sensorjob/impl/DeviceOutputValueSensorJob.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/sensorjobexecutor/sensorjob/impl/DeviceOutputValueSensorJob.java @@ -138,5 +138,4 @@ public String getID() { public static String getID(Device device) { return DeviceOutputValueSensorJob.class.getSimpleName() + "-" + device.getDSID().getValue(); } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/DsAPI.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/DsAPI.java index 56bfcadf6fd64..5cd74cba59706 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/DsAPI.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/DsAPI.java @@ -1107,5 +1107,4 @@ boolean pushZoneSensorValue(String sessionToken, Integer zoneID, String zoneName * @return true, if successful */ Boolean propertyTreeRemove(String sessionToken, String path); - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/constants/JSONApiResponseKeysEnum.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/constants/JSONApiResponseKeysEnum.java index 02e295fb97a23..67f045b83724b 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/constants/JSONApiResponseKeysEnum.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/constants/JSONApiResponseKeysEnum.java @@ -233,5 +233,4 @@ private JSONApiResponseKeysEnum(String key) { public String getKey() { return key; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/DsAPIImpl.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/DsAPIImpl.java index ba9d423f45ead..93ec6135a0ace 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/DsAPIImpl.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/DsAPIImpl.java @@ -567,7 +567,6 @@ public boolean setDeviceValue(String token, DSID dSID, String dSUID, String name return JSONResponseHandler.checkResponse(JSONResponseHandler.toJsonObject(response)); } return false; - } @Override diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/HttpTransportImpl.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/HttpTransportImpl.java index 5003012f7d157..6953eb8a76ffc 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/HttpTransportImpl.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/HttpTransportImpl.java @@ -581,12 +581,10 @@ public java.security.cert.X509Certificate[] getAcceptedIssuers() { @Override public void checkClientTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { - } @Override public void checkServerTrusted(X509Certificate[] arg0, String arg1) throws CertificateException { - } } }; diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/JSONResponseHandler.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/JSONResponseHandler.java index da0d4d2b2550d..54eff09cf9f7e 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/JSONResponseHandler.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/impl/JSONResponseHandler.java @@ -83,5 +83,4 @@ public static JsonObject getResultJsonObject(JsonObject jsonObject) { } return null; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/SimpleRequestBuilder.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/SimpleRequestBuilder.java index 6dd65757f1e77..6a550dd18ce8e 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/SimpleRequestBuilder.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/SimpleRequestBuilder.java @@ -52,7 +52,6 @@ public class SimpleRequestBuilder { private static final Lock LOCK = new ReentrantLock(); private SimpleRequestBuilder() { - } /** diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/constants/ClassKeys.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/constants/ClassKeys.java index e6b68ac8c4aaf..2bb18f9b04ed2 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/constants/ClassKeys.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/serverconnection/simpledsrequestbuilder/constants/ClassKeys.java @@ -29,5 +29,4 @@ public class ClassKeys { public static final String METERING = "metering"; public static final String SYSTEM = "system"; public static final String PROPERTY_TREE = "property"; - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/Circuit.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/Circuit.java index 7c95f42f1e6e8..15aa098339f58 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/Circuit.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/Circuit.java @@ -290,5 +290,4 @@ public interface Circuit extends GeneralDeviceInformation { * @return list of all {@link CachedMeteringValue} */ List getAllCachedMeteringValues(); - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/DeviceConstants.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/DeviceConstants.java index 5ef7bc86482fa..72603c9d085d3 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/DeviceConstants.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/DeviceConstants.java @@ -62,5 +62,4 @@ public interface DeviceConstants { /** this index is needed to get the angle of the slats (if device is a blind/jalousie) */ static final short DEVICE_SENSOR_SLAT_ANGLE_OUTPUT = 4; - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/FunctionalColorGroupEnum.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/FunctionalColorGroupEnum.java index d6640cfe5b9c7..88218ebe900b1 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/FunctionalColorGroupEnum.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/FunctionalColorGroupEnum.java @@ -99,5 +99,4 @@ private FunctionalColorGroupEnum(List functionalColorGroupID) { public List getFunctionalColorGroup() { return colorGroup; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/SensorEnum.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/SensorEnum.java index f6c581329bcba..658110a02c883 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/SensorEnum.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/constants/SensorEnum.java @@ -246,5 +246,4 @@ public Float getMax() { public Float getResolution() { return resolution; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceBinaryInput.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceBinaryInput.java index 0294647dce774..f3b7423bc1d8f 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceBinaryInput.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceBinaryInput.java @@ -175,5 +175,4 @@ public String toString() { return "DeviceBinaryInput [targetGroupType=" + targetGroupType + ", targetGroup=" + targetGroup + ", inputType=" + inputType + ", inputId=" + inputId + ", state=" + stateValue + "]"; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceSensorValue.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceSensorValue.java index cec6210d342e5..26f4fdeb4f300 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceSensorValue.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/deviceparameters/impl/DeviceSensorValue.java @@ -280,5 +280,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/impl/DeviceImpl.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/impl/DeviceImpl.java index 8f89c85407e96..3b35644eaf7bf 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/impl/DeviceImpl.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/devices/impl/DeviceImpl.java @@ -1801,7 +1801,6 @@ public void saveConfigSceneSpecificationIntoDevice(String propertries) { } } } - } @Override diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/scene/InternalScene.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/scene/InternalScene.java index 19ebbdae401e5..05fcc3fde827d 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/scene/InternalScene.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/lib/structure/scene/InternalScene.java @@ -230,7 +230,6 @@ public void checkDeviceSceneConfig() { */ public List getDeviceList() { return this.devices; - } /** @@ -329,7 +328,6 @@ public synchronized void registerSceneListener(SceneStatusListener listener) { this.listener = listener; this.listener.onSceneAdded(this); checkDeviceSceneConfig(); - } /** diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/providers/DsDeviceThingTypeProvider.java b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/providers/DsDeviceThingTypeProvider.java index 11f7c3f0a2975..c3acb11bc4e4d 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/providers/DsDeviceThingTypeProvider.java +++ b/bundles/org.openhab.binding.digitalstrom/src/main/java/org/openhab/binding/digitalstrom/internal/providers/DsDeviceThingTypeProvider.java @@ -172,5 +172,4 @@ public ThingType getThingType(ThingTypeUID thingTypeUID, Locale locale) { } return null; } - } diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/binding/binding.xml index cdeaf3ad9f542..309ea92557447 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/binding/binding.xml @@ -1,7 +1,7 @@ - + @text/binding_name @text/binding_desc diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/bridgeConfig.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/bridgeConfig.xml index 49993b0697430..8d6101b051203 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/bridgeConfig.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/bridgeConfig.xml @@ -1,9 +1,9 @@ - + https://openhab.org/schemas/config-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/deviceConfig.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/deviceConfig.xml index 78ba7f53158dc..da12533fbfeaa 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/deviceConfig.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/config/deviceConfig.xml @@ -1,9 +1,9 @@ - + https://openhab.org/schemas/config-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/AppartmentScene.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/AppartmentScene.xml index d38bc7c98cf9b..9712bf3b55050 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/AppartmentScene.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/AppartmentScene.xml @@ -1,17 +1,17 @@ - + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + @text/app_scene_desc - + diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/GroupScene.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/GroupScene.xml index 88c45e5941f7f..b597c64008968 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/GroupScene.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/GroupScene.xml @@ -1,18 +1,18 @@ - + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + @text/group_scene_desc - + diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/NamedScene.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/NamedScene.xml index f6f38488ad2f4..8edcfeac41096 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/NamedScene.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/NamedScene.xml @@ -1,18 +1,18 @@ - + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + @text/named_scene_desc - + diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneScene.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneScene.xml index 900509fb9fb49..e2dc0471bdc8a 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneScene.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneScene.xml @@ -1,18 +1,18 @@ - + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + @text/zone_scene_desc - + diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneTemperatureControl.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneTemperatureControl.xml index f6479c134f2b4..32346f11ece82 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneTemperatureControl.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/ZoneTemperatureControl.xml @@ -1,11 +1,11 @@ - + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + diff --git a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/dssBridge.xml b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/dssBridge.xml index bcf799df514e3..9918f663a2ea1 100644 --- a/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/dssBridge.xml +++ b/bundles/org.openhab.binding.digitalstrom/src/main/resources/ESH-INF/thing/dssBridge.xml @@ -1,22 +1,22 @@ - + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @text/dSS_desc - - - + + + - + diff --git a/bundles/org.openhab.binding.dlinksmarthome/pom.xml b/bundles/org.openhab.binding.dlinksmarthome/pom.xml index 027d6ae00246d..f0d9d322653c2 100644 --- a/bundles/org.openhab.binding.dlinksmarthome/pom.xml +++ b/bundles/org.openhab.binding.dlinksmarthome/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -11,7 +13,7 @@ org.openhab.binding.dlinksmarthome openHAB Add-ons :: Bundles :: D-Link Smart Home Binding - + !javax.xml.soap, com.sun.xml.messaging.saaj.soap diff --git a/bundles/org.openhab.binding.dlinksmarthome/src/main/feature/feature.xml b/bundles/org.openhab.binding.dlinksmarthome/src/main/feature/feature.xml index 89ec4f621cdd8..e519a92c61cc6 100644 --- a/bundles/org.openhab.binding.dlinksmarthome/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.dlinksmarthome/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - openhab.tp-jaxws - mvn:org.openhab.addons.bundles/org.openhab.binding.dlinksmarthome/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + openhab.tp-jaxws + mvn:org.openhab.addons.bundles/org.openhab.binding.dlinksmarthome/${project.version} + diff --git a/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/binding/binding.xml index 884a36143dbc6..05322996fa563 100644 --- a/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + D-Link Smart Home Binding This is the binding for D-Link Smart Home devices diff --git a/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/thing/thing-types.xml index 6545241d5f926..f3948ffb08dd8 100644 --- a/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.dlinksmarthome/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.dmx/pom.xml b/bundles/org.openhab.binding.dmx/pom.xml index 8284abf21bf7a..ac3a0a2df3a70 100644 --- a/bundles/org.openhab.binding.dmx/pom.xml +++ b/bundles/org.openhab.binding.dmx/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.dmx/src/main/feature/feature.xml b/bundles/org.openhab.binding.dmx/src/main/feature/feature.xml index 44ef74cf2fc1a..731b03d7bd462 100644 --- a/bundles/org.openhab.binding.dmx/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.dmx/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.dmx/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.dmx/${project.version} + diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/BaseAction.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/BaseAction.java index 6bf1137517462..95f1bd3428731 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/BaseAction.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/BaseAction.java @@ -48,5 +48,4 @@ public void reset() { startTime = 0; state = ActionState.WAITING; } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/ResumeAction.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/ResumeAction.java index 71defc48f77ca..9fc1f9aadbbcf 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/ResumeAction.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/action/ResumeAction.java @@ -28,5 +28,4 @@ public int getNewValue(DmxChannel channel, long currentTime) { channel.resumeAction(); return channel.getNewHiResValue(currentTime); } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/ArtnetPacket.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/ArtnetPacket.java index 6e13bb9a57911..e0a5b37166d32 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/ArtnetPacket.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/ArtnetPacket.java @@ -107,5 +107,4 @@ public void setPayload(byte[] payload, int payloadSize) { public int getPacketLength() { return (18 + this.payloadSize); } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetHandler.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetHandler.java index 45b7fe64ed7ad..c0c668d00d793 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetHandler.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetHandler.java @@ -129,5 +129,4 @@ protected void sendDmxData() { public DmxOverEthernetHandler(Bridge sacnBridge) { super(sacnBridge); } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetPacket.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetPacket.java index d2b88598b7360..c89b872795540 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetPacket.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/DmxOverEthernetPacket.java @@ -94,5 +94,4 @@ public int getUniverse() { public int getPayloadSize() { return this.payloadSize; } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/SacnPacket.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/SacnPacket.java index 58957ffe9a5a4..6a0597eeb9612 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/SacnPacket.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/dmxoverethernet/SacnPacket.java @@ -181,5 +181,4 @@ public void setPayload(byte[] payload, int payloadSize) { public int getPacketLength() { return (126 + this.payloadSize); } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandler.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandler.java index 83bf8f8bda48e..f9ab2be4b925f 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandler.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandler.java @@ -213,5 +213,4 @@ public void updateSwitchState(ChannelUID channelUID, State state) { logger.debug("unknown state received: {} in channel {} thing {}", state, channelUID, this.thing.getUID()); } } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandler.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandler.java index f086422a8dddd..4d1aa2298a0e3 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandler.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandler.java @@ -157,5 +157,4 @@ public void initialize() { updateConfiguration(); } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandler.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandler.java index b25b279002141..5c984efc2d621 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandler.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandler.java @@ -319,5 +319,4 @@ private void updateCurrentBrightnessAndTemperature() { 100 * currentValues.get(1) / (currentValues.get(0) + currentValues.get(1))); } } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/multiverse/DmxChannel.java b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/multiverse/DmxChannel.java index dbf1b799ca117..bd094e21fcf17 100644 --- a/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/multiverse/DmxChannel.java +++ b/bundles/org.openhab.binding.dmx/src/main/java/org/openhab/binding/dmx/internal/multiverse/DmxChannel.java @@ -356,5 +356,4 @@ public void removeListener(ChannelUID thingChannel) { logger.trace("listener {} not found in DMX channel {}", thingChannel, this); } } - } diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/binding/binding.xml index c0b423b86640c..e0016d429157e 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,7 @@ - + DMX Binding This is the binding for DMX. Jan N. Klug diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/artnet-bridge.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/artnet-bridge.xml index e74d37cbe7116..ce5b2db5bfc84 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/artnet-bridge.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/artnet-bridge.xml @@ -1,5 +1,7 @@ - + @@ -10,7 +12,8 @@ - Network addresses of ArtNet receivers, format: address[:port][, address[:port], ...]. Default port is 6454. + Network addresses of ArtNet receivers, format: address[:port][, address[:port], ...]. Default port is + 6454. true @@ -38,7 +41,7 @@ List of channels that should use LED dim curve. Format is channel[,channel, ...] or channel[/width]. true - + DMX refresh rate in Hz (0=disable output) 30 true diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/channels.xml index 77955368c244a..bae3f02d3b26a 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/channels.xml @@ -1,10 +1,13 @@ - + Dimmer - Allows to send a brightness value to the thing. If the thing is associated with more than one DMX channel, the values is used for ALL DMX channels. + Allows to send a brightness value to the thing. If the thing is associated with more than one DMX + channel, the values is used for ALL DMX channels. DimmableLight Lighting @@ -24,7 +27,8 @@ Color - Allows to send a color value to the thing. If the thing is associated with more than one DMX channel, color will be re-use in 3-channel groups. + Allows to send a color value to the thing. If the thing is associated with more than one DMX channel, + color will be re-use in 3-channel groups. ColorLight Lighting diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/chaser-thing.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/chaser-thing.xml index 7daa425457294..a7ad88b25feba 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/chaser-thing.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/chaser-thing.xml @@ -1,5 +1,7 @@ - + @@ -10,8 +12,8 @@ A single/multi-channel chaser - - + + diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/color-thing.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/color-thing.xml index 47043bbbd7b79..b2ba8c8a86098 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/color-thing.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/color-thing.xml @@ -1,19 +1,21 @@ - + - - - + + + A RGB capable dimmer - - - - + + + + @@ -33,13 +35,15 @@ - Format is "value[, value, ...]", has to be a multiple of three. If less values than channels are defined, they are reused from the beginning. + Format is "value[, value, ...]", has to be a multiple of three. If less values than channels are + defined, they are reused from the beginning. false true - Format is "value[, value, ...]", has to be a multiple of three. If less values than channels are defined, they are reused from the beginning. + Format is "value[, value, ...]", has to be a multiple of three. If less values than channels are + defined, they are reused from the beginning. true diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/dimmer-thing.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/dimmer-thing.xml index a7ebf222281e9..7e107d9b01ccd 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/dimmer-thing.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/dimmer-thing.xml @@ -5,15 +5,15 @@ - - - + + + A single/multi-channel dimmer - - + + @@ -33,13 +33,17 @@ - Format is "value[, value, ...]". If less values than channels are defined, they are reused from the beginning. + Format is "value[, value, ...]". If less values than channels are defined, they are reused from the + beginning. + false true - Format is "value[, value, ...]". If less values than channels are defined, they are reused from the beginning. + Format is "value[, value, ...]". If less values than channels are defined, they are reused from the + beginning. + true diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/lib485-bridge.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/lib485-bridge.xml index dfd672becbadb..70fe9f7175395 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/lib485-bridge.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/lib485-bridge.xml @@ -1,5 +1,7 @@ - + @@ -19,7 +21,7 @@ List of channels that should use LED dim curve. Format is channel[,channel, ...] or channel[/width]. true - + DMX refresh rate in Hz (0=disable output) 30 true diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/sacn-bridge.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/sacn-bridge.xml index 634133cf29cf8..c594138c59f35 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/sacn-bridge.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/sacn-bridge.xml @@ -1,5 +1,7 @@ - + @@ -21,7 +23,8 @@ - Network addresses of sACN/E1.31 receivers, format: address[:port][, address[:port], ...]. Default port is 5568. + Network addresses of sACN/E1.31 receivers, format: address[:port][, address[:port], ...]. Default port + is 5568. false @@ -53,7 +56,7 @@ false true - + DMX refresh rate in Hz false 30 diff --git a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/tunablewhite-thing.xml b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/tunablewhite-thing.xml index d676c1cbe0d31..52076d7ecf8be 100644 --- a/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/tunablewhite-thing.xml +++ b/bundles/org.openhab.binding.dmx/src/main/resources/ESH-INF/thing/tunablewhite-thing.xml @@ -1,19 +1,21 @@ - + - - - + + + A tunable white capable dimmer - - - - + + + + @@ -33,13 +35,17 @@ - Format is "value[, value, ...]", has to be a multiple of two. If less values than channels are defined, they are reused from the beginning. + Format is "value[, value, ...]", has to be a multiple of two. If less values than channels are defined, + they are reused from the beginning. + false true - Format is "value[, value, ...]", has to be a multiple of two. If less values than channels are defined, they are reused from the beginning. + Format is "value[, value, ...]", has to be a multiple of two. If less values than channels are defined, + they are reused from the beginning. + true diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/UtilTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/UtilTest.java index 5de9678c250e9..992096da8ca3d 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/UtilTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/UtilTest.java @@ -17,7 +17,6 @@ import org.eclipse.smarthome.core.library.types.PercentType; import org.junit.Test; -import org.openhab.binding.dmx.internal.Util; import org.openhab.binding.dmx.internal.multiverse.DmxChannel; /** @@ -60,7 +59,6 @@ public void conversionFromPercentType() { // middle value = Util.toDmxValue(new PercentType(50)); assertThat(value, is(127)); - } @Test @@ -91,5 +89,4 @@ public void fadeTimeFraction() { value = Util.fadeTimeFraction(100, 155, 2550); assertThat(value, is(550)); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ArtnetBridgeHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ArtnetBridgeHandlerTest.java index 403347b1eac2a..e51b4d06ca106 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ArtnetBridgeHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ArtnetBridgeHandlerTest.java @@ -34,10 +34,9 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.ArtnetBridgeHandler; /** - * Tests cases for {@link ArtnetBridgeHandler}. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.ArtnetBridgeHandler}. * * @author Jan N. Klug - Initial contribution */ @@ -102,5 +101,4 @@ public void renamingOfUniverses() { bridgeHandler.handleConfigurationUpdate(bridgeProperties); waitForAssert(() -> assertThat(bridgeHandler.getUniverseId(), is(TEST_UNIVERSE))); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandlerTest.java index fc935469d057b..0b2485c2ae3bc 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ChaserThingHandlerTest.java @@ -36,12 +36,11 @@ import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.ChaserThingHandler; import org.openhab.binding.dmx.test.AbstractDmxThingTestParent; import org.openhab.binding.dmx.test.TestBridgeHandler; /** - * Tests cases for {@link ChaserThingHandler}. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.ChaserThingHandler}. * * @author Jan N. Klug - Initial contribution */ @@ -183,7 +182,6 @@ private void initialize() { } }; initializeHandler(chaserThingHandler); - } private void initializeTestBridge() { diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ColorThingHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ColorThingHandlerTest.java index 022a52491684a..e98d636da3f7b 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ColorThingHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/ColorThingHandlerTest.java @@ -34,11 +34,10 @@ import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.ColorThingHandler; import org.openhab.binding.dmx.test.AbstractDmxThingTestParent; /** - * Tests cases for {@link ColorThingHandler} in RGB mode. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.ColorThingHandler} in RGB mode. * * @author Jan N. Klug - Initial contribution */ @@ -216,5 +215,4 @@ public void testColorCommand() { state -> assertThat(((PercentType) state).doubleValue(), is(closeTo(29.8, 0.5)))); }); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DimmerThingHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DimmerThingHandlerTest.java index 1d9df89c78d12..ca6997ac106c6 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DimmerThingHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DimmerThingHandlerTest.java @@ -32,11 +32,11 @@ import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.DimmerThingHandler; import org.openhab.binding.dmx.test.AbstractDmxThingTestParent; /** - * Tests cases for {@link DimmerThingHandler} in normal mode. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.DimmerThingHandler} in normal + * mode. * * @author Jan N. Klug - Initial contribution */ @@ -152,5 +152,4 @@ public void testDynamicTurnOnValue() { public void testPercentTypeCommand() { assertPercentTypeCommands(dimmerThingHandler, CHANNEL_UID_BRIGHTNESS, TEST_FADE_TIME); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DmxBridgeHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DmxBridgeHandlerTest.java index 307ac25127bfd..48bcef4b3be79 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DmxBridgeHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/DmxBridgeHandlerTest.java @@ -79,7 +79,6 @@ public void initialize() { super.updateConfiguration(); updateStatus(ThingStatus.ONLINE); } - } private static final int TEST_UNIVERSE = 1; diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandlerTest.java index 9adf10eafd556..3600c7f3651dc 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/Lib485BridgeHandlerTest.java @@ -33,10 +33,9 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.Lib485BridgeHandler; /** - * Tests cases for {@link Lib485BridgeHandler}. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.Lib485BridgeHandler}. * * @author Jan N. Klug - Initial contribution */ @@ -86,5 +85,4 @@ public void tearDown() { public void assertBridgeStatus() { waitForAssert(() -> assertEquals(ThingStatus.OFFLINE, bridge.getStatusInfo().getStatus())); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/SacnBridgeHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/SacnBridgeHandlerTest.java index 8d5c1bb0428ef..bfab88eb041d5 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/SacnBridgeHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/SacnBridgeHandlerTest.java @@ -34,10 +34,9 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.SacnBridgeHandler; /** - * Tests cases for {@link SacnBridgeHandler}. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.SacnBridgeHandler}. * * @author Jan N. Klug - Initial contribution */ @@ -102,5 +101,4 @@ public void renamingOfUniverses() { bridgeHandler.handleConfigurationUpdate(bridgeProperties); waitForAssert(() -> assertThat(bridgeHandler.getUniverseId(), is(TEST_UNIVERSE))); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandlerTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandlerTest.java index 315c857caabda..4a36039be2a21 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandlerTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/handler/TunableWhiteThingHandlerTest.java @@ -32,11 +32,10 @@ import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder; import org.junit.Before; import org.junit.Test; -import org.openhab.binding.dmx.internal.handler.TunableWhiteThingHandler; import org.openhab.binding.dmx.test.AbstractDmxThingTestParent; /** - * Tests cases for {@link TunableWhiteThingHandler}. + * Tests cases for {@link org.openhab.binding.dmx.internal.handler.TunableWhiteThingHandler}. * * @author Jan N. Klug - Initial contribution */ @@ -227,5 +226,4 @@ public void testColorTemperature() { state -> assertThat(((PercentType) state).doubleValue(), is(closeTo(75.0, 0.5)))); }); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/BaseChannelTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/BaseChannelTest.java index f1e1e507374cf..6b0e022a776ca 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/BaseChannelTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/BaseChannelTest.java @@ -107,5 +107,4 @@ public void stringConversion() { assertThat(channelList.get(3).toString(), is(equalTo("2:102"))); assertThat(channelList.get(4).toString(), is(equalTo("2:426"))); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/DmxChannelTest.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/DmxChannelTest.java index 7d642e6420272..0f9e876ac3f74 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/DmxChannelTest.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/internal/multiverse/DmxChannelTest.java @@ -23,7 +23,6 @@ import org.openhab.binding.dmx.internal.action.FadeAction; import org.openhab.binding.dmx.internal.action.ResumeAction; import org.openhab.binding.dmx.internal.handler.DimmerThingHandler; -import org.openhab.binding.dmx.internal.multiverse.DmxChannel; /** * Tests cases for Channel @@ -143,5 +142,4 @@ public void checkFadeActionWithResume() { assertThat(dmxChannel.hasRunningActions(), is(false)); Mockito.verify(dimmerThingHandler).updateChannelValue(valueChannelUID, 127); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/AbstractDmxThingTestParent.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/AbstractDmxThingTestParent.java index a46274a72cff6..4365078c2a7a7 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/AbstractDmxThingTestParent.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/AbstractDmxThingTestParent.java @@ -142,5 +142,4 @@ protected void assertChannelStateUpdate(ChannelUID channelUID, Consumer s State value = captor.getValue(); stateAssertion.accept(value); } - } diff --git a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/TestBridgeHandler.java b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/TestBridgeHandler.java index 8f1551bd0a4f0..3cdaea7901282 100644 --- a/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/TestBridgeHandler.java +++ b/bundles/org.openhab.binding.dmx/src/test/java/org/openhab/binding/dmx/test/TestBridgeHandler.java @@ -47,17 +47,14 @@ public TestBridgeHandler(Bridge testBridge) { @Override protected void openConnection() { - } @Override protected void closeConnection() { - } @Override protected void sendDmxData() { - } @Override diff --git a/bundles/org.openhab.binding.doorbird/pom.xml b/bundles/org.openhab.binding.doorbird/pom.xml index 9dac96ee4e1ef..ec7deff66f95a 100644 --- a/bundles/org.openhab.binding.doorbird/pom.xml +++ b/bundles/org.openhab.binding.doorbird/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/binding/binding.xml index 50c9a9d2f3520..b84a9227ecef6 100644 --- a/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Doorbird Binding This is the binding for Doorbird video doorbells. diff --git a/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/config/config.xml index 7de9aba283413..6e3fb64f708a3 100644 --- a/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/thing/thing-types.xml index 48818a1f8cf84..b5be96be05967 100644 --- a/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.doorbird/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -11,25 +12,25 @@ Trigger for doorbell press - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + @@ -40,37 +41,37 @@ Trigger for doorbell press - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - + Doorbird model A1081 Controller - - - + + + - + diff --git a/bundles/org.openhab.binding.dscalarm/pom.xml b/bundles/org.openhab.binding.dscalarm/pom.xml index 116cec54b6702..96a03ca900923 100644 --- a/bundles/org.openhab.binding.dscalarm/pom.xml +++ b/bundles/org.openhab.binding.dscalarm/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.dscalarm/src/main/feature/feature.xml b/bundles/org.openhab.binding.dscalarm/src/main/feature/feature.xml index 9cc7883e0784a..f6ef496fe7b7f 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.dscalarm/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.dscalarm/${project.version} + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmBindingConstants.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmBindingConstants.java index 6dcaf1c397c18..c61b134ac18e3 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmBindingConstants.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmBindingConstants.java @@ -119,5 +119,4 @@ public class DSCAlarmBindingConstants { public static final Set SUPPORTED_BRIDGE_THING_TYPES_UIDS = Collections .unmodifiableSet(Stream.of(ENVISALINKBRIDGE_THING_TYPE, IT100BRIDGE_THING_TYPE, TCPSERVERBRIDGE_THING_TYPE) .collect(Collectors.toSet())); - } diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmEvent.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmEvent.java index 0c52a8404bd38..de0838047092e 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmEvent.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/DSCAlarmEvent.java @@ -50,5 +50,4 @@ public void dscAlarmEventMessage(DSCAlarmMessage dscAlarmMessage) { public DSCAlarmMessage getDSCAlarmMessage() { return dscAlarmMessage; } - } diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/config/TCPServerBridgeConfiguration.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/config/TCPServerBridgeConfiguration.java index d31264410077a..281c7365fe186 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/config/TCPServerBridgeConfiguration.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/config/TCPServerBridgeConfiguration.java @@ -52,5 +52,4 @@ public class TCPServerBridgeConfiguration { * The Protocol Type - 1 for IT-100 API or 2 for Envisalink TPI. */ public Integer protocol; - } diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/discovery/DSCAlarmDiscoveryService.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/discovery/DSCAlarmDiscoveryService.java index 7fc80005f90f9..77a1bf674a5fd 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/discovery/DSCAlarmDiscoveryService.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/discovery/DSCAlarmDiscoveryService.java @@ -136,7 +136,6 @@ public void addThing(Bridge bridge, DSCAlarmThingType dscAlarmThingType, DSCAlar } else { logger.debug("addThing(): Unable to Add DSC Alarm Thing to Inbox!"); } - } @Override diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/factory/DSCAlarmHandlerFactory.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/factory/DSCAlarmHandlerFactory.java index a998fa242da04..1babc4ef7f3c9 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/factory/DSCAlarmHandlerFactory.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/factory/DSCAlarmHandlerFactory.java @@ -304,5 +304,4 @@ protected void removeHandler(ThingHandler thingHandler) { super.removeHandler(thingHandler); } - } diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseBridgeHandler.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseBridgeHandler.java index 86595de1db84d..de4f6e87a8c86 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseBridgeHandler.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseBridgeHandler.java @@ -371,7 +371,6 @@ public void checkThings() { logger.error("checkThings(): Thing handler not found!"); } } - } /** diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseThingHandler.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseThingHandler.java index ec1523d27bdfe..6e061188cbb1b 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseThingHandler.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmBaseThingHandler.java @@ -379,5 +379,4 @@ && getSuppressAcknowledgementMsgs()) { logger.debug("setPanelMessage(): Panel Message Set to - {}", message); } } - } diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmThingType.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmThingType.java index 67721a25669a4..c4351df926536 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmThingType.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/DSCAlarmThingType.java @@ -73,5 +73,4 @@ public static DSCAlarmThingType getDSCAlarmThingType(String label) { } return labelToDSCAlarmThingType.get(label); } - } diff --git a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/IT100BridgeHandler.java b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/IT100BridgeHandler.java index a0142f483cc24..47ddbf19e2eba 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/IT100BridgeHandler.java +++ b/bundles/org.openhab.binding.dscalarm/src/main/java/org/openhab/binding/dscalarm/internal/handler/IT100BridgeHandler.java @@ -168,7 +168,6 @@ public String read() { } return message; - } /** diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/binding/binding.xml index 4c41eec4300d3..a188fe1f50efe 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,11 @@ - DSCAlarm Binding - The DSCAlarm binding interfaces with a DSC PowerSeries Alarm System through the EyezOn Envisalink 3/2DS interface or the DSC IT-100 RS-232 interface. + The DSCAlarm binding interfaces with a DSC PowerSeries Alarm System through the EyezOn Envisalink 3/2DS + interface or the DSC IT-100 RS-232 interface. Russell Stephens diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/channels.xml index 21aa1b35f81d7..bfe9da7112a70 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/channels.xml @@ -1,6 +1,8 @@ - + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/envisalinkbridge.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/envisalinkbridge.xml index d592210b09d3e..909bef60c3aa9 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/envisalinkbridge.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/envisalinkbridge.xml @@ -1,6 +1,8 @@ - + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/it100bridge.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/it100bridge.xml index d2c150383ea57..f6b4a69ebda87 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/it100bridge.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/it100bridge.xml @@ -1,6 +1,8 @@ - + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/keypad.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/keypad.xml index 2b7b72268c8fc..2f9f4a78a90c5 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/keypad.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/keypad.xml @@ -1,13 +1,14 @@ - - - - + + + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/panel.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/panel.xml index d383971ca0ee7..0a5a12ec38b48 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/panel.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/panel.xml @@ -1,13 +1,14 @@ - - - - + + + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/partition.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/partition.xml index 482b6cc2a0bdc..9ea265dc22881 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/partition.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/partition.xml @@ -1,13 +1,14 @@ - - - - + + + @@ -40,7 +41,8 @@ - Partition Opening/Closing Mode ("User Closing", "Special Closing", "Partial Closing", "User Opening", "Special Opening") + Partition Opening/Closing Mode ("User Closing", "Special Closing", "Partial Closing", "User Opening", + "Special Opening") diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/tcpserverbridge.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/tcpserverbridge.xml index 78c13d939a4f7..1dd5a75876ec2 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/tcpserverbridge.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/tcpserverbridge.xml @@ -1,6 +1,8 @@ - + diff --git a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/zone.xml b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/zone.xml index b12fa49bb099e..21814b2227d91 100644 --- a/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/zone.xml +++ b/bundles/org.openhab.binding.dscalarm/src/main/resources/ESH-INF/thing/zone.xml @@ -1,13 +1,14 @@ - - - - + + + diff --git a/bundles/org.openhab.binding.dsmr/pom.xml b/bundles/org.openhab.binding.dsmr/pom.xml index 8535991afc049..52c2265d2cfd1 100644 --- a/bundles/org.openhab.binding.dsmr/pom.xml +++ b/bundles/org.openhab.binding.dsmr/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.dsmr/src/main/feature/feature.xml b/bundles/org.openhab.binding.dsmr/src/main/feature/feature.xml index f848335f9d1ec..87ea8207b734f 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.dsmr/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.dsmr/${project.version} + diff --git a/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/device/DSMRSerialAutoDevice.java b/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/device/DSMRSerialAutoDevice.java index e8b4b4811a1a8..d0537833762cc 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/device/DSMRSerialAutoDevice.java +++ b/bundles/org.openhab.binding.dsmr/src/main/java/org/openhab/binding/dsmr/internal/device/DSMRSerialAutoDevice.java @@ -279,5 +279,4 @@ private void restartHalfTimer() { } halfTimeTimer = scheduler.schedule(this::switchBaudrate, baudrateSwitchTimeoutSeconds, TimeUnit.SECONDS); } - } diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/config/configuration_parameters.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/config/configuration_parameters.xml index 87a6b1cc9aee4..0412bd4eb0a4c 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/config/configuration_parameters.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/config/configuration_parameters.xml @@ -8,7 +8,8 @@ serial-port - The serial port where the P1 port of the Smart Meter is connected (e.g. Linux: /dev/ttyUSB0, Windows: COM1) + The serial port where the P1 port of the Smart Meter is connected (e.g. Linux: /dev/ttyUSB0, Windows: + COM1) 30 @@ -65,11 +66,13 @@ serial-port - The serial port where the P1 port of the Smart Meter is connected (e.g. Linux: /dev/ttyUSB0, Windows: COM1) + The serial port where the P1 port of the Smart Meter is connected (e.g. Linux: /dev/ttyUSB0, Windows: + COM1) - The Luxembourgian Smart meter decryption key. Ask for your energy grid operator for your Smart meter P1 key. + The Luxembourgian Smart meter decryption key. Ask for your energy grid operator for your Smart meter P1 + key. 30 @@ -87,7 +90,7 @@ true - diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/channeltypes_electricity.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/channeltypes_electricity.xml index 4d5fa02c0647e..bd34f7f647f2d 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/channeltypes_electricity.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/channeltypes_electricity.xml @@ -7,350 +7,352 @@ Number:Energy The total amount of electricity used. - + Number:Energy The total amount of electricity used for tariff 0. - + Number:Energy The total amount of electricity used for tariff 1. - + Number:Energy The total amount of electricity used for tariff 2. - + Number:Energy The total amount of electricity used for tariff 1. - + Number:Energy The total amount of electricity used for tariff 2. - + Number:Energy The total amount of electricity used for tariff 0 (anti fraud). - + Number The total amount of electricity used for tariff 1 (anti fraud). - + Number:Energy The total amount of electricity used for tariff 2 (anti fraud). - + Number:Energy The total amount of electricity produced for tariff 0. - + Number:Energy The total amount of electricity produced for tariff 1. - + Number:Energy The total amount of electricity produced for tariff 2. - + Number:Energy The total amount of electricity produced for tariff 1. - + Number:Energy The total amount of electricity produced for tariff 2. - + Number:Energy The Total imported energy register (P+). - + Number:Energy The Total exported energy register (P-). - + Number:Energy The Total imported energy register (Q+). - + Number:Energy The Total exported energy register (Q-). - + String The current tariff indicator. - + Number:Power The aggregate active import power. - + Number:Power The current power delivery. - + Number:Power The current power production. - + Number The current reactive power delivery. - + Number The current reactive power production. - + Number:ElectricCurrent The actual threshold. - + Number:ElectricCurrent The actual fuse threshold. - + Number:Power The actual threshold. - + Number Active threshold (SMAX). - + Number The switch position. - + Number The number of power failures. - + Number The number of long power failures. - + Number Number of log entries. - + DateTime Timestamp when the power failure ended. There can be multiple log entries. - Each entry has its own channel (emeter_power_failure_log_timestamp*x*, *x* = 0 - 9) - + Each entry has its own channel + (emeter_power_failure_log_timestamp*x*, *x* = 0 - 9) + Number:Time Duration of the power failure. - Each entry has its own channel (emeter_power_failure_log_duration*x*, *x* = 0 - 9) - + Each entry has its own channel (emeter_power_failure_log_duration*x*, *x* = + 0 - 9) + Number The number of voltage sags L1. - + Number The number of voltage sags L2. - + Number The number of voltage sags L3. - + Number The number of voltage swells L1. - + Number The number of voltage swells L2. - + Number The number of voltage swells L3. - + Number:ElectricCurrent The instant current L1. - + Number:ElectricCurrent The instant current L2. - + Number:ElectricCurrent The instant current L3. - + Number:Power The instant power delivery L1. - + Number:Power The instant power delivery L2. - + Number The instant power delivery L3. - + Number:Power The instant power production L1. - + Number:Power The instant power production L2. - + Number:Power The instant power production L3. - + Number:Power The instant reactive power delivery L1. - + Number:Power The instant reactive power delivery L2. - + Number:Power The instant reactive power delivery L3. - + Number:Power The instant reactive power production L1. - + Number:Power The instant reactive power production L2. - + Number:Power The instant reactive power production L3. - + Number:ElectricPotential The instant voltage L1. - + Number:ElectricPotential The instant voltage L2. - + Number:ElectricPotential The instant voltage L3. - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/dsmr_device.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/dsmr_device.xml index 1c93d46e5eb5e..6c3311432be4e 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/dsmr_device.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/dsmr_device.xml @@ -8,7 +8,7 @@ The Dutch/Belgium Smart Meter (DSMR/e-MUCS) - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_ace4000.xml index bb765a748a847..22058bbed9c79 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_ace4000.xml @@ -6,14 +6,14 @@ - + This is a cooling meter that complies to the ACE4000 GTMM Mk3 specification. - + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_v2_2.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_v2_2.xml index 194cff6e9b940..867c13e403e05 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_v2_2.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_cooling_v2_2.xml @@ -6,17 +6,17 @@ - + This is a cooling meter that complies to the DSMR V2.2 specification. - - - + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v2_v3.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v2_v3.xml index d3b3059545700..d2ba3b2c83619 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v2_v3.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v2_v3.xml @@ -6,16 +6,16 @@ - + This is the device meter that complies to the DSMR V2.x or V3 specification. - - + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v4.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v4.xml index 1e951864d4937..83767a9183ee9 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v4.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v4.xml @@ -6,18 +6,18 @@ - - + + This is the device meter that complies to the DSMR V4 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v5.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v5.xml index e519d51c8fde9..582dd6d8f4fd5 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v5.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_dsmr_v5.xml @@ -6,18 +6,18 @@ - - + + This is the device meter that complies to the DSMR V5 specification. - - - + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_emucs_v1_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_emucs_v1_0.xml index b90cb7187dbac..513479e788c2a 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_emucs_v1_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_device_emucs_v1_0.xml @@ -6,17 +6,17 @@ - + This is the device meter that complies to the e-MUCS 1.0 specification. - - - + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_ace4000.xml index fd622d40a390e..dfac6e95a46c6 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_ace4000.xml @@ -6,28 +6,28 @@ - + This is an electricity meter that complies to the ACE4000 GTMM Mk3 specification. - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_1.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_1.xml index 4f4eb0909526e..9eaec9dbe4404 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_1.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_1.xml @@ -6,23 +6,23 @@ - + This is an electricity meter that complies to the DSMR V2.1 specification. - - - - - - - - - + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_2.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_2.xml index 705c73e50b399..39685dafac5ff 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_2.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v2_2.xml @@ -6,23 +6,23 @@ - + This is an electricity meter that complies to the DSMR V2.2 specification. - - - - - - - - - + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v3.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v3.xml index c9c7aad24153e..9a41be73449d3 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v3.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v3.xml @@ -6,24 +6,24 @@ - + This is an electricity meter that complies to the DSMR V3 specification. - - - - - - - - - - + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4.xml index e4b8c6bf46e8d..a5b60f804b923 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4.xml @@ -6,53 +6,53 @@ - + This is an electricity meter that complies to the DSMR V4.0 specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_0_4.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_0_4.xml index 33c59678f9dd5..a66b2d1f2a01c 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_0_4.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_0_4.xml @@ -6,63 +6,63 @@ - + This is an electricity meter that complies to the DSMR V4.0.4 specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_2.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_2.xml index 0867538debf40..0307c7603c5e9 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_2.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v4_2.xml @@ -6,61 +6,61 @@ - + This is an electricity meter that complies to the DSMR V4.2 specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v5.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v5.xml index 4591d58d25a6f..03f286215cf4d 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v5.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_dsmr_v5.xml @@ -6,63 +6,63 @@ - + This is an electricity meter that complies to the DSMR V5.0 specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_emucs_v1_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_emucs_v1_0.xml index 4de6e995d56c1..33f70144a7309 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_emucs_v1_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_emucs_v1_0.xml @@ -6,31 +6,31 @@ - + This is an electricity meter that complies to the e-MUCS V1.0 specification. - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave1_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave1_ace4000.xml index 0ecdbf5a72a7a..d16d564697cc9 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave1_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave1_ace4000.xml @@ -6,24 +6,24 @@ - + This is the first slave electricity meter that complies to the ACE4000 GTMM Mk3 specification. - - - - - - - - - - + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave2_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave2_ace4000.xml index 1770bd83d098b..340b9802a16bb 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave2_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave2_ace4000.xml @@ -6,24 +6,24 @@ - + This is the second slave electricity meter that complies to the ACE4000 GTMM Mk3 specification. - - - - - - - - - - + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v4.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v4.xml index 5ab826fa635e2..4b7bf463eb53f 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v4.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v4.xml @@ -6,19 +6,19 @@ - + This is the slave electricity meter that complies to the DSMR 4.x specification. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v5.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v5.xml index 6b7b05a0113ed..913ef482cd422 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v5.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_slave_v5.xml @@ -6,18 +6,18 @@ - + This is the slave electricity meter that complies to the DSMR 5.x specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_smarty_v1.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_smarty_v1.xml index cfa7e5c09c221..44bc4d830b528 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_smarty_v1.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_electricity_smarty_v1.xml @@ -6,67 +6,67 @@ - + This is an electricity meter that complies to the Luxembourg's Smarty V1.0 specification. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_ace4000.xml index 193daf35cbcdc..5ffcf1f1646a9 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_ace4000.xml @@ -6,18 +6,18 @@ - + This is a gas meter that complies to the ACE4000 GTMM Mk3 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_1.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_1.xml index 199d397e1d367..c5e37f8193b18 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_1.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_1.xml @@ -6,20 +6,20 @@ - + This is a gas meter that complies to the DSMR V2.1 specification. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_2.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_2.xml index 44975edfafeda..baa231632f0da 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_2.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v2_2.xml @@ -6,20 +6,20 @@ - + This is a gas meter that complies to the DSMR V2.2 specification. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v3_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v3_0.xml index 573ca1e4615be..b87ede5dad312 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v3_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gas_v3_0.xml @@ -6,19 +6,19 @@ - + This is a gas meter that complies to the DSMR V3.0 specification. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gasmeter_emucs_v1_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gasmeter_emucs_v1_0.xml index cc7feb33bfb70..5305125ca072e 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gasmeter_emucs_v1_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gasmeter_emucs_v1_0.xml @@ -6,19 +6,19 @@ - + This is a gas meter that complies to the e-MUCS V1.0 specification. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_generic_v3_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_generic_v3_0.xml index 2d6b2e277c30d..fa1a10d1ee790 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_generic_v3_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_generic_v3_0.xml @@ -6,18 +6,18 @@ - + This is a generic meter that complies to the DSMR V3.0 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v3_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v3_0.xml index b04f8ad7969de..99cb90272e1b1 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v3_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v3_0.xml @@ -6,18 +6,18 @@ - + This is a Giga Joule meter that complies to the DSMR V3.0 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v4.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v4.xml index 8e9ede8ab28d6..ea823c16a73f5 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v4.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v4.xml @@ -6,19 +6,19 @@ - + This is a Giga Joule meter that complies to the DSMR V4.x specification. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v5_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v5_0.xml index bc3f3b753cabc..abf843c397772 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v5_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_gj_v5_0.xml @@ -6,18 +6,18 @@ - + This is a Giga Joule meter that complies to the DSMR V5.0 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_ace4000.xml index 581f9b43ae697..1e5deb9b3ab15 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_ace4000.xml @@ -6,16 +6,16 @@ - + This is a heating meter that complies to the ACE4000 GTMM Mk3 specification. - - + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_v2_2.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_v2_2.xml index e4e7cddd67215..082d67fa11a8d 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_v2_2.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_heating_v2_2.xml @@ -6,17 +6,17 @@ - + This is a heating meter that complies to the DSMR V2.2 specification. - - - + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v4.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v4.xml index fac084be87501..1187630427fce 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v4.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v4.xml @@ -6,19 +6,19 @@ - + This is a m3 meter that complies to the DSMR V4.x specification. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v5_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v5_0.xml index 1cb83bf791b7e..c22b037651c6d 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v5_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_m3_v5_0.xml @@ -6,18 +6,18 @@ - + This is a m3 meter that complies to the DSMR V5.0 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_ace4000.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_ace4000.xml index 7c6dd14f7987c..342226f74e82f 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_ace4000.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_ace4000.xml @@ -6,16 +6,16 @@ - + This is a water meter that complies to the ACE4000 GTMM Mk3 specification. - - + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v2_2.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v2_2.xml index 9afc6e199ec08..f64acbfc24bfd 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v2_2.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v2_2.xml @@ -6,17 +6,17 @@ - + This is a water meter that complies to the DSMR V2.2 specification. - - - + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v3_0.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v3_0.xml index b943afbf4f5ac..769ddb050fc9d 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v3_0.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/meter_water_v3_0.xml @@ -6,18 +6,18 @@ - + This is a water meter that complies to the DSMR V3.0 specification. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/smarty_device.xml b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/smarty_device.xml index 2ea0a18555b1a..ff4f2d5d70ffa 100644 --- a/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/smarty_device.xml +++ b/bundles/org.openhab.binding.dsmr/src/main/resources/ESH-INF/thing/smarty_device.xml @@ -8,7 +8,7 @@ The Luxembourgian Smart Meter 'Smarty' - + diff --git a/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDetectorTest.java b/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDetectorTest.java index b1f5f3c6222fc..a68097142a766 100644 --- a/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDetectorTest.java +++ b/bundles/org.openhab.binding.dsmr/src/test/java/org/openhab/binding/dsmr/internal/discovery/DSMRMeterDetectorTest.java @@ -89,5 +89,4 @@ public void testDetectMeters() { 1, detectMeters.stream().filter(e -> e.getMeterType() == meter).count()); } } - } diff --git a/bundles/org.openhab.binding.dwdpollenflug/.classpath b/bundles/org.openhab.binding.dwdpollenflug/.classpath index 14ba193a4882c..13d903b892ca6 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/.classpath +++ b/bundles/org.openhab.binding.dwdpollenflug/.classpath @@ -1,49 +1,49 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.dwdpollenflug/.project b/bundles/org.openhab.binding.dwdpollenflug/.project index 3cf695e17193f..80deb524b1ffb 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/.project +++ b/bundles/org.openhab.binding.dwdpollenflug/.project @@ -1,23 +1,23 @@ - - - org.openhab.binding.dwdpollenflug - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - + + + org.openhab.binding.dwdpollenflug + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/bundles/org.openhab.binding.dwdpollenflug/README.md b/bundles/org.openhab.binding.dwdpollenflug/README.md index 6d23af4f8ebc0..a882215933cd7 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/README.md +++ b/bundles/org.openhab.binding.dwdpollenflug/README.md @@ -1,203 +1,203 @@ -# DWDPollenflug Binding - -The "Deutsche Wetterdienst" (DWD) reports the current pollen count index for Germany on a daily base and a forecast for tomorrow and the day after tomorrow. -This binding allows you to retrieve this data for your region or partregion. You can find a map of the data here: - -https://isabel.dwd.de/DE/leistungen/gefahrenindizespollen/gefahrenindexpollen.html - - -## Supported Things - -This binding supports a bridge thing (`bridge`), which polls the dataset for Germany in an adjustable interval. -And it supports a region thing (`region`), representing the data for all pollen types of a region or partregion. - -## Discovery - -This binding adds a default `bridge` thing to the Inbox. -This can be used for `region` things you may add manually. - -## Thing Configuration - -### Bridge - -| Parameter | Default | Required | Description | -| --------- | :-----: | :------: | ------------------------------------------------------------------------------------ | -| `refresh` | 30 | no | Define the interval for polling the data from DWD in minutes. Minimum is 15 minutes. | - -### Region - -| Parameter | Default | Required | Description | -| ---------- | :-----: | :------: | -------------------------------------------------------------------------------------------------------- | -| `regionID` | - | yes | In PaperUI just select the region you want to display data for. For files-configuration see table below. | - -#### Manual region or partregion selection #### - -The region ID is the partregion_id or if there is no partregion the region_id from this [json](https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json) of DWD. -You can refer to the following table. - -| regionID | Region | Partregion | -| -------- | ------------------------------ | -------------------------------------------------- | -| 11 | Schleswig-Holstein und Hamburg | Inseln und Marschen | -| 12 | Schleswig-Holstein und Hamburg | Geest, Schleswig-Holstein und Hamburg | -| 20 | Mecklenburg-Vorpommern | - | -| 31 | Niedersachsen und Bremen | Westl. Niedersachsen/Bremen | -| 32 | Niedersachsen und Bremen | Östl. Niedersachsen | -| 41 | Nordrhein-Westfalen | Rhein.-Westfäl. Tiefland | -| 42 | Nordrhein-Westfalen | Ostwestfalen | -| 43 | Nordrhein-Westfalen | Mittelgebirge NRW | -| 50 | Brandenburg und Berlin | - | -| 61 | Sachsen-Anhalt | Tiefland Sachsen-Anhalt | -| 62 | Sachsen-Anhalt | Harz | -| 71 | Thüringen | Tiefland Thüringen | -| 72 | Thüringen | Mittelgebirge Thüringen | -| 81 | Sachsen | Tiefland Sachsen | -| 82 | Sachsen | Mittelgebirge Sachsen | -| 91 | Hessen | Nordhessen und hess. Mittelgebirge | -| 92 | Hessen | Rhein-Main | -| 101 | Rheinland-Pfalz und Saarland | Rhein, Pfalz, Nahe und Mosel | -| 102 | Rheinland-Pfalz und Saarland | Mittelgebirgsbereich Rheinland-Pfalz | -| 103 | Rheinland-Pfalz und Saarland | Saarland | -| 111 | Baden-Württemberg | Oberrhein und unteres Neckartal | -| 112 | Baden-Württemberg | Hohenlohe/mittlerer Neckar/Oberschwaben | -| 113 | Baden-Württemberg | Mittelgebirge Baden-Württemberg | -| 121 | Bayern | Allgäu/Oberbayern/Bay. Wald | -| 122 | Bayern | Donauniederungen | -| 123 | Bayern | Bayern n. der Donau, o. Bayr. Wald, o. Mainfranken | -| 124 | Bayern | Mainfranken | - -## Channels - -The bridge thing has following channels: - -| channel | description | -| --------------------- | ---------------------------------------------- | -| `updates#refreshed` | Hold the time of the bridge's last refresh | -| `updates#last_update` | The time when data was last updated by DWD | -| `updates#next_update` | The time when data will be updated next by DWD | - -For each of the eight pollen types reported by DWD the region thing has three channels for today, tomorrow and the day after tomorrow. - -| channels | pollen type | german name | -| ---------------------- | ----------- | ----------- | -| `alder#today` | alder | Erle | -| `alder#tomorrow` | | | -| `alder#dayafter_to` | | | -| `ambrosia#today` | ambrosia | Ambrosia | -| `ambrosia#tomorrow` | | | -| `ambrosia#dayafter_to` | | | -| `ash#today` | ash-tree | Esche | -| `ash#tomorrow` | | | -| `ash#dayafter_to` | | | -| `birch#today` | birch | Birke | -| `birch#tomorrow` | | | -| `birch#dayafter_to` | | | -| `grasses#today` | grasses | Gräser | -| `grasses#tomorrow` | | | -| `grasses#dayafter_to` | | | -| `hazel#today` | hazel | Hasel | -| `hazel#tomorrow` | | | -| `hazel#dayafter_to` | | | -| `mugwort#today` | mugwort | Beifuß | -| `mugwort#tomorrow` | | | -| `mugwort#dayafter_to` | | | -| `rye#today` | rye | Roggen | -| `rye#tomorrow` | | | -| `rye#dayafter_to` | | | - -There are the following possible string values: - -| value | description | -| ----- | --------------------------- | -| -1 | not specified | -| 0 | no pollen pollution | -| 0-1 | no to low pollen count | -| 1 | low pollen count | -| 1-2 | low to medium pollen count | -| 2 | medium pollen count | -| 2-3 | medium to high pollen count | -| 3 | high pollen count | - -## Full Example - -### Things file for region "Brandenburg und Berlin" and partregion "Bayern - Mainfranken" ### - -``` -Bridge dwdpollenflug:bridge:dwd "DWD pollen count Bridge" [refresh="15"] { - Thing region region50 "DWD pollen count region" @ "APIS" [regionID="50"] - Thing region partregion124 "DWD pollen count partregion" @ "APIS" [regionID="124"] -} -``` - -### Items example for region "Brandenburg und Berlin" and pollen type ash-tree ### - -``` -String pollenTodayEsche - "Esche [MAP(pollen.map):%s]" - {channel="dwdpollenflug:region:dwd:region50:ash#today"} - -String pollenTomorrowEsche - "Esche morgen [MAP(pollen.map):%s]" - {channel="dwdpollenflug:region:dwd:region50:ash#tomorrow"} - -String pollenDayAfterTomorrowEsche - "Esche übermorgen [MAP(pollen.map):%s]" - {channel="dwdpollenflug:region:dwd:region50:ash#dayafter_to"} - -``` - -### Transform map file pollen.map ### - -``` -0=keine (0) -0-1=keine bis gering (0-1) -1=gering (1) -1-2=gering bis mittel (1-2) -2=mittel (2) -2-3=mittel bis hoch (2-3) -3=hoch (3) --1=keine Daten --=keine Daten -NULL=keine Daten -``` - -### Sitemap example for region "Brandenburg und Berlin" and pollen type ash-tree ### - -``` -Text label="Pollenflugindex" { - Frame { - Text item=pollenTodayEsche - valuecolor=[=="3"="#f00014", - =="2-3"="#f00014", - =="2"="#ff9900", - =="1-2"="#ff9900", - =="1"="#ffff00", - =="0-1"="#00c83c"] { - Frame { - Text item=pollenTodayEsche - valuecolor=[=="3"="#f00014", - =="2-3"="#f00014", - =="2"="#ff9900", - =="1-2"="#ff9900", - =="1"="#ffff00", - =="0-1"="#00c83c"] - - Text item=pollenTomorrowEsche - valuecolor=[=="3"="#f00014", - =="2-3"="#f00014", - =="2"="#ff9900", - =="1-2"="#ff9900", - =="1"="#ffff00", - =="0-1"="#00c83c"] - - Text item=pollenDayAfterTomorrowEsche - valuecolor=[=="3"="#f00014", - =="2-3"="#f00014", - =="2"="#ff9900", - =="1-2"="#ff9900", - =="1"="#ffff00", - =="0-1"="#00c83c"] - } - } - } -} -``` +# DWDPollenflug Binding + +The "Deutsche Wetterdienst" (DWD) reports the current pollen count index for Germany on a daily base and a forecast for tomorrow and the day after tomorrow. +This binding allows you to retrieve this data for your region or partregion. You can find a map of the data here: + +https://isabel.dwd.de/DE/leistungen/gefahrenindizespollen/gefahrenindexpollen.html + + +## Supported Things + +This binding supports a bridge thing (`bridge`), which polls the dataset for Germany in an adjustable interval. +And it supports a region thing (`region`), representing the data for all pollen types of a region or partregion. + +## Discovery + +This binding adds a default `bridge` thing to the Inbox. +This can be used for `region` things you may add manually. + +## Thing Configuration + +### Bridge + +| Parameter | Default | Required | Description | +| --------- | :-----: | :------: | ------------------------------------------------------------------------------------ | +| `refresh` | 30 | no | Define the interval for polling the data from DWD in minutes. Minimum is 15 minutes. | + +### Region + +| Parameter | Default | Required | Description | +| ---------- | :-----: | :------: | -------------------------------------------------------------------------------------------------------- | +| `regionID` | - | yes | In PaperUI just select the region you want to display data for. For files-configuration see table below. | + +#### Manual region or partregion selection #### + +The region ID is the partregion_id or if there is no partregion the region_id from this [json](https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json) of DWD. +You can refer to the following table. + +| regionID | Region | Partregion | +| -------- | ------------------------------ | -------------------------------------------------- | +| 11 | Schleswig-Holstein und Hamburg | Inseln und Marschen | +| 12 | Schleswig-Holstein und Hamburg | Geest, Schleswig-Holstein und Hamburg | +| 20 | Mecklenburg-Vorpommern | - | +| 31 | Niedersachsen und Bremen | Westl. Niedersachsen/Bremen | +| 32 | Niedersachsen und Bremen | Östl. Niedersachsen | +| 41 | Nordrhein-Westfalen | Rhein.-Westfäl. Tiefland | +| 42 | Nordrhein-Westfalen | Ostwestfalen | +| 43 | Nordrhein-Westfalen | Mittelgebirge NRW | +| 50 | Brandenburg und Berlin | - | +| 61 | Sachsen-Anhalt | Tiefland Sachsen-Anhalt | +| 62 | Sachsen-Anhalt | Harz | +| 71 | Thüringen | Tiefland Thüringen | +| 72 | Thüringen | Mittelgebirge Thüringen | +| 81 | Sachsen | Tiefland Sachsen | +| 82 | Sachsen | Mittelgebirge Sachsen | +| 91 | Hessen | Nordhessen und hess. Mittelgebirge | +| 92 | Hessen | Rhein-Main | +| 101 | Rheinland-Pfalz und Saarland | Rhein, Pfalz, Nahe und Mosel | +| 102 | Rheinland-Pfalz und Saarland | Mittelgebirgsbereich Rheinland-Pfalz | +| 103 | Rheinland-Pfalz und Saarland | Saarland | +| 111 | Baden-Württemberg | Oberrhein und unteres Neckartal | +| 112 | Baden-Württemberg | Hohenlohe/mittlerer Neckar/Oberschwaben | +| 113 | Baden-Württemberg | Mittelgebirge Baden-Württemberg | +| 121 | Bayern | Allgäu/Oberbayern/Bay. Wald | +| 122 | Bayern | Donauniederungen | +| 123 | Bayern | Bayern n. der Donau, o. Bayr. Wald, o. Mainfranken | +| 124 | Bayern | Mainfranken | + +## Channels + +The bridge thing has following channels: + +| channel | description | +| --------------------- | ---------------------------------------------- | +| `updates#refreshed` | Hold the time of the bridge's last refresh | +| `updates#last_update` | The time when data was last updated by DWD | +| `updates#next_update` | The time when data will be updated next by DWD | + +For each of the eight pollen types reported by DWD the region thing has three channels for today, tomorrow and the day after tomorrow. + +| channels | pollen type | german name | +| ---------------------- | ----------- | ----------- | +| `alder#today` | alder | Erle | +| `alder#tomorrow` | | | +| `alder#dayafter_to` | | | +| `ambrosia#today` | ambrosia | Ambrosia | +| `ambrosia#tomorrow` | | | +| `ambrosia#dayafter_to` | | | +| `ash#today` | ash-tree | Esche | +| `ash#tomorrow` | | | +| `ash#dayafter_to` | | | +| `birch#today` | birch | Birke | +| `birch#tomorrow` | | | +| `birch#dayafter_to` | | | +| `grasses#today` | grasses | Gräser | +| `grasses#tomorrow` | | | +| `grasses#dayafter_to` | | | +| `hazel#today` | hazel | Hasel | +| `hazel#tomorrow` | | | +| `hazel#dayafter_to` | | | +| `mugwort#today` | mugwort | Beifuß | +| `mugwort#tomorrow` | | | +| `mugwort#dayafter_to` | | | +| `rye#today` | rye | Roggen | +| `rye#tomorrow` | | | +| `rye#dayafter_to` | | | + +There are the following possible string values: + +| value | description | +| ----- | --------------------------- | +| -1 | not specified | +| 0 | no pollen pollution | +| 0-1 | no to low pollen count | +| 1 | low pollen count | +| 1-2 | low to medium pollen count | +| 2 | medium pollen count | +| 2-3 | medium to high pollen count | +| 3 | high pollen count | + +## Full Example + +### Things file for region "Brandenburg und Berlin" and partregion "Bayern - Mainfranken" ### + +``` +Bridge dwdpollenflug:bridge:dwd "DWD pollen count Bridge" [refresh="15"] { + Thing region region50 "DWD pollen count region" @ "APIS" [regionID="50"] + Thing region partregion124 "DWD pollen count partregion" @ "APIS" [regionID="124"] +} +``` + +### Items example for region "Brandenburg und Berlin" and pollen type ash-tree ### + +``` +String pollenTodayEsche + "Esche [MAP(pollen.map):%s]" + {channel="dwdpollenflug:region:dwd:region50:ash#today"} + +String pollenTomorrowEsche + "Esche morgen [MAP(pollen.map):%s]" + {channel="dwdpollenflug:region:dwd:region50:ash#tomorrow"} + +String pollenDayAfterTomorrowEsche + "Esche übermorgen [MAP(pollen.map):%s]" + {channel="dwdpollenflug:region:dwd:region50:ash#dayafter_to"} + +``` + +### Transform map file pollen.map ### + +``` +0=keine (0) +0-1=keine bis gering (0-1) +1=gering (1) +1-2=gering bis mittel (1-2) +2=mittel (2) +2-3=mittel bis hoch (2-3) +3=hoch (3) +-1=keine Daten +-=keine Daten +NULL=keine Daten +``` + +### Sitemap example for region "Brandenburg und Berlin" and pollen type ash-tree ### + +``` +Text label="Pollenflugindex" { + Frame { + Text item=pollenTodayEsche + valuecolor=[=="3"="#f00014", + =="2-3"="#f00014", + =="2"="#ff9900", + =="1-2"="#ff9900", + =="1"="#ffff00", + =="0-1"="#00c83c"] { + Frame { + Text item=pollenTodayEsche + valuecolor=[=="3"="#f00014", + =="2-3"="#f00014", + =="2"="#ff9900", + =="1-2"="#ff9900", + =="1"="#ffff00", + =="0-1"="#00c83c"] + + Text item=pollenTomorrowEsche + valuecolor=[=="3"="#f00014", + =="2-3"="#f00014", + =="2"="#ff9900", + =="1-2"="#ff9900", + =="1"="#ffff00", + =="0-1"="#00c83c"] + + Text item=pollenDayAfterTomorrowEsche + valuecolor=[=="3"="#f00014", + =="2-3"="#f00014", + =="2"="#ff9900", + =="1-2"="#ff9900", + =="1"="#ffff00", + =="0-1"="#00c83c"] + } + } + } +} +``` diff --git a/bundles/org.openhab.binding.dwdpollenflug/pom.xml b/bundles/org.openhab.binding.dwdpollenflug/pom.xml index fbdfff8493894..217a7a18db9e9 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/pom.xml +++ b/bundles/org.openhab.binding.dwdpollenflug/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/feature/feature.xml b/bundles/org.openhab.binding.dwdpollenflug/src/main/feature/feature.xml index e4e5901453f68..800ebdbdef866 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.dwdpollenflug/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.dwdpollenflug/${project.version} + diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugBindingConstants.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugBindingConstants.java index 9f820c3ea481d..444e40f7be253 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugBindingConstants.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugBindingConstants.java @@ -1,77 +1,77 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal; - -import java.util.Collections; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.core.thing.ThingTypeUID; - -/** - * The {@link DWDPollenflugBindingConstants} class defines common constants, which are - * used across the whole binding. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollenflugBindingConstants { - - private static final String BINDING_ID = "dwdpollenflug"; - - // bridge - public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge"); - public static final String DWD = "dwd"; - public static final String BRIDGE_LABEL = "DWD Pollen Count Index (Bridge)"; - - // List of all Thing Type UIDs - public static final ThingTypeUID THING_TYPE_REGION = new ThingTypeUID(BINDING_ID, "region"); - - // @formatter:off - public static final Set SUPPORTED_THING_TYPES_UIDS = - Collections.unmodifiableSet(Stream - .of(THING_TYPE_BRIDGE, THING_TYPE_REGION) - .collect(Collectors.toSet()) - ); - // @formatter:on - - // Channels of pollen groups - public static final String CHANNEL_TODAY = "today"; - public static final String CHANNEL_TOMORROW = "tomorrow"; - public static final String CHANNEL_DAYAFTER_TO = "dayafter_to"; - - // Channels of region update - public static final String CHANNEL_UPDATES = "updates"; - public static final String CHANNEL_REFRESHED = "refreshed"; - public static final String CHANNEL_NEXT_UPDATE = "next_update"; - public static final String CHANNEL_LAST_UPDATE = "last_update"; - public static final String CHANNEL_UPDATED = "updated"; - - public static final String TRIGGER_REFRESHED = "REFRESHED"; - - // Bridge config properties - public static final String REFRESH = "refresh"; - - // Bridge properties - public static final String PROPERTY_SENDER = "sender"; - public static final String PROPERTY_NAME = "name"; - - // Region config properties - public static final String REGION_ID = "regionID"; - - // Region properties - public static final String PROPERTY_REGION_NAME = "region_name"; - public static final String PROPERTY_PARTREGION_NAME = "partregion_name"; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal; + +import java.util.Collections; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.core.thing.ThingTypeUID; + +/** + * The {@link DWDPollenflugBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollenflugBindingConstants { + + private static final String BINDING_ID = "dwdpollenflug"; + + // bridge + public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge"); + public static final String DWD = "dwd"; + public static final String BRIDGE_LABEL = "DWD Pollen Count Index (Bridge)"; + + // List of all Thing Type UIDs + public static final ThingTypeUID THING_TYPE_REGION = new ThingTypeUID(BINDING_ID, "region"); + + // @formatter:off + public static final Set SUPPORTED_THING_TYPES_UIDS = + Collections.unmodifiableSet(Stream + .of(THING_TYPE_BRIDGE, THING_TYPE_REGION) + .collect(Collectors.toSet()) + ); + // @formatter:on + + // Channels of pollen groups + public static final String CHANNEL_TODAY = "today"; + public static final String CHANNEL_TOMORROW = "tomorrow"; + public static final String CHANNEL_DAYAFTER_TO = "dayafter_to"; + + // Channels of region update + public static final String CHANNEL_UPDATES = "updates"; + public static final String CHANNEL_REFRESHED = "refreshed"; + public static final String CHANNEL_NEXT_UPDATE = "next_update"; + public static final String CHANNEL_LAST_UPDATE = "last_update"; + public static final String CHANNEL_UPDATED = "updated"; + + public static final String TRIGGER_REFRESHED = "REFRESHED"; + + // Bridge config properties + public static final String REFRESH = "refresh"; + + // Bridge properties + public static final String PROPERTY_SENDER = "sender"; + public static final String PROPERTY_NAME = "name"; + + // Region config properties + public static final String REGION_ID = "regionID"; + + // Region properties + public static final String PROPERTY_REGION_NAME = "region_name"; + public static final String PROPERTY_PARTREGION_NAME = "partregion_name"; +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugHandlerFactory.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugHandlerFactory.java index 9d181c52ce4bd..d7a94b9fbff16 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugHandlerFactory.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollenflugHandlerFactory.java @@ -1,66 +1,66 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal; - -import static org.openhab.binding.dwdpollenflug.internal.DWDPollenflugBindingConstants.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; -import org.eclipse.smarthome.io.net.http.HttpClientFactory; -import org.openhab.binding.dwdpollenflug.internal.handler.DWDPollenflugBridgeHandler; -import org.openhab.binding.dwdpollenflug.internal.handler.DWDPollenflugRegionHandler; -import org.osgi.service.component.annotations.Activate; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; - -/** - * The {@link DWDPollenflugHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -@Component(configurationPid = "binding.dwdpollenflug", service = ThingHandlerFactory.class) -public class DWDPollenflugHandlerFactory extends BaseThingHandlerFactory { - private final HttpClient httpClient; - - @Activate - public DWDPollenflugHandlerFactory(final @Reference HttpClientFactory httpClientFactory) { - this.httpClient = httpClientFactory.getCommonHttpClient(); - } - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected @Nullable ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - - if (THING_TYPE_BRIDGE.equals(thingTypeUID)) { - return new DWDPollenflugBridgeHandler((Bridge) thing, httpClient); - } else if (THING_TYPE_REGION.equals(thingTypeUID)) { - return new DWDPollenflugRegionHandler(thing); - } - - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal; + +import static org.openhab.binding.dwdpollenflug.internal.DWDPollenflugBindingConstants.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.jetty.client.HttpClient; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.eclipse.smarthome.io.net.http.HttpClientFactory; +import org.openhab.binding.dwdpollenflug.internal.handler.DWDPollenflugBridgeHandler; +import org.openhab.binding.dwdpollenflug.internal.handler.DWDPollenflugRegionHandler; +import org.osgi.service.component.annotations.Activate; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * The {@link DWDPollenflugHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +@Component(configurationPid = "binding.dwdpollenflug", service = ThingHandlerFactory.class) +public class DWDPollenflugHandlerFactory extends BaseThingHandlerFactory { + private final HttpClient httpClient; + + @Activate + public DWDPollenflugHandlerFactory(final @Reference HttpClientFactory httpClientFactory) { + this.httpClient = httpClientFactory.getCommonHttpClient(); + } + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected @Nullable ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + if (THING_TYPE_BRIDGE.equals(thingTypeUID)) { + return new DWDPollenflugBridgeHandler((Bridge) thing, httpClient); + } else if (THING_TYPE_REGION.equals(thingTypeUID)) { + return new DWDPollenflugRegionHandler(thing); + } + + return null; + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollingException.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollingException.java index 26d3de7073652..da578def3807a 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollingException.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/DWDPollingException.java @@ -1,34 +1,34 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * The {@link DWDPollingException} class is the exception for all polling errors. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollingException extends Exception { - - private static final long serialVersionUID = 1L; - - public DWDPollingException(String message) { - super(message); - } - - public DWDPollingException(String message, Throwable throwable) { - super(message, throwable); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * The {@link DWDPollingException} class is the exception for all polling errors. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollingException extends Exception { + + private static final long serialVersionUID = 1L; + + public DWDPollingException(String message) { + super(message); + } + + public DWDPollingException(String message, Throwable throwable) { + super(message, throwable); + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugBridgeConfiguration.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugBridgeConfiguration.java index ea73d371cc69f..4873cd265e519 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugBridgeConfiguration.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugBridgeConfiguration.java @@ -1,29 +1,29 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.config; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * Configuration for the {@link DWDPollenflugBridgeHandler} - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollenflugBridgeConfiguration { - public int refresh = 30; - - public boolean isValid() { - return refresh >= 15; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.config; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Configuration for the {@link DWDPollenflugBridgeHandler} + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollenflugBridgeConfiguration { + public int refresh = 30; + + public boolean isValid() { + return refresh >= 15; + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugRegionConfiguration.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugRegionConfiguration.java index 87fe8de2661ee..dfa22ad948e29 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugRegionConfiguration.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/config/DWDPollenflugRegionConfiguration.java @@ -1,29 +1,29 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.config; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * Configuration for the {@link DWDPollenflugRegionHandler} - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollenflugRegionConfiguration { - public int regionID; - - public boolean isValid() { - return regionID > 0; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.config; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Configuration for the {@link DWDPollenflugRegionHandler} + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollenflugRegionConfiguration { + public int regionID; + + public boolean isValid() { + return regionID > 0; + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflug.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflug.java index b3edfa797bc7e..6edf7e63b9b8f 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflug.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflug.java @@ -1,111 +1,111 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.dto; - -import static org.openhab.binding.dwdpollenflug.internal.DWDPollenflugBindingConstants.*; - -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.time.ZoneId; -import java.time.ZonedDateTime; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Map; -import java.util.Set; - -import com.google.gson.annotations.SerializedName; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.library.types.DateTimeType; -import org.eclipse.smarthome.core.types.State; -import org.eclipse.smarthome.core.types.UnDefType; - -/** - * The {@link DWDPollenflug} class is internal DWD data structure. - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollenflug { - private String sender = ""; - - private String name = ""; - - private final Date created = new Date(); - - @SerializedName("next_update") - private @Nullable String nextUpdate; - - @SerializedName("last_update") - private @Nullable String lastUpdate; - - @SerializedName("content") - private @Nullable Set regions; - - public Map getProperties() { - Map map = new HashMap<>(); - - map.put(PROPERTY_NAME, name); - map.put(PROPERTY_SENDER, sender); - - return Collections.unmodifiableMap(map); - } - - public Map getChannelsStateMap() { - Map map = new HashMap<>(); - - map.put(CHANNEL_UPDATES + "#" + CHANNEL_REFRESHED, parseDate(created)); - map.put(CHANNEL_UPDATES + "#" + CHANNEL_LAST_UPDATE, parseDate(lastUpdate)); - map.put(CHANNEL_UPDATES + "#" + CHANNEL_NEXT_UPDATE, parseDate(nextUpdate)); - - return Collections.unmodifiableMap(map); - } - - private State parseDate(final @Nullable String dateString) { - try { - if (dateString != null) { - SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - Date date = formatter.parse(dateString.replace("Uhr", "").trim()); - return parseDate(date); - } - - return UnDefType.NULL; - } catch (ParseException e) { - return UnDefType.NULL; - } - } - - private State parseDate(final @Nullable Date date) { - if (date == null) { - return UnDefType.NULL; - } else { - ZonedDateTime zoned = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); - return new DateTimeType(zoned); - } - } - - public @Nullable DWDRegion getRegion(int key) { - final Set localRegions = regions; - if (localRegions != null) { - for (DWDRegion region : localRegions) { - if (region.getRegionID() == key) { - return region; - } - } - } - - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.dto; + +import static org.openhab.binding.dwdpollenflug.internal.DWDPollenflugBindingConstants.*; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.util.Collections; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.library.types.DateTimeType; +import org.eclipse.smarthome.core.types.State; +import org.eclipse.smarthome.core.types.UnDefType; + +import com.google.gson.annotations.SerializedName; + +/** + * The {@link DWDPollenflug} class is internal DWD data structure. + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollenflug { + private String sender = ""; + + private String name = ""; + + private final Date created = new Date(); + + @SerializedName("next_update") + private @Nullable String nextUpdate; + + @SerializedName("last_update") + private @Nullable String lastUpdate; + + @SerializedName("content") + private @Nullable Set regions; + + public Map getProperties() { + Map map = new HashMap<>(); + + map.put(PROPERTY_NAME, name); + map.put(PROPERTY_SENDER, sender); + + return Collections.unmodifiableMap(map); + } + + public Map getChannelsStateMap() { + Map map = new HashMap<>(); + + map.put(CHANNEL_UPDATES + "#" + CHANNEL_REFRESHED, parseDate(created)); + map.put(CHANNEL_UPDATES + "#" + CHANNEL_LAST_UPDATE, parseDate(lastUpdate)); + map.put(CHANNEL_UPDATES + "#" + CHANNEL_NEXT_UPDATE, parseDate(nextUpdate)); + + return Collections.unmodifiableMap(map); + } + + private State parseDate(final @Nullable String dateString) { + try { + if (dateString != null) { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm"); + Date date = formatter.parse(dateString.replace("Uhr", "").trim()); + return parseDate(date); + } + + return UnDefType.NULL; + } catch (ParseException e) { + return UnDefType.NULL; + } + } + + private State parseDate(final @Nullable Date date) { + if (date == null) { + return UnDefType.NULL; + } else { + ZonedDateTime zoned = ZonedDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()); + return new DateTimeType(zoned); + } + } + + public @Nullable DWDRegion getRegion(int key) { + final Set localRegions = regions; + if (localRegions != null) { + for (DWDRegion region : localRegions) { + if (region.getRegionID() == key) { + return region; + } + } + } + + return null; + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflugPollen.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflugPollen.java index 4e03734e74518..fbe9e51e0e1be 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflugPollen.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollenflugPollen.java @@ -1,39 +1,39 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.dto; - -/** - * The {@link DWDPollenflug} class is internal DWD data structure. - * - * @author Johannes Ott - Initial contribution - */ -public enum DWDPollenflugPollen { - AMBROSIA("ambrosia"), - BEIFUSS("mugwort"), - BIRKE("birch"), - ERLE("alder"), - ESCHE("ash"), - GRAESER("grasses"), - HASEL("hazel"), - ROGGEN("rye"); - - private final String channelName; - - private DWDPollenflugPollen(String channelName) { - this.channelName = channelName; - } - - public String getChannelName() { - return channelName; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.dto; + +/** + * The {@link DWDPollenflug} class is internal DWD data structure. + * + * @author Johannes Ott - Initial contribution + */ +public enum DWDPollenflugPollen { + AMBROSIA("ambrosia"), + BEIFUSS("mugwort"), + BIRKE("birch"), + ERLE("alder"), + ESCHE("ash"), + GRAESER("grasses"), + HASEL("hazel"), + ROGGEN("rye"); + + private final String channelName; + + private DWDPollenflugPollen(String channelName) { + this.channelName = channelName; + } + + public String getChannelName() { + return channelName; + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollentypeJSON.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollentypeJSON.java index e1188299f460d..1ead0a889e423 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollentypeJSON.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDPollentypeJSON.java @@ -1,32 +1,32 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.dto; - -import com.google.gson.annotations.SerializedName; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * DTO for data per pollen type - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollentypeJSON { - public String today = "-1"; - - public String tomorrow = "-1"; - - @SerializedName("dayafter_to") - public String dayAfterTomorrow = "-1"; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.dto; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +import com.google.gson.annotations.SerializedName; + +/** + * DTO for data per pollen type + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollentypeJSON { + public String today = "-1"; + + public String tomorrow = "-1"; + + @SerializedName("dayafter_to") + public String dayAfterTomorrow = "-1"; +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDRegion.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDRegion.java index aa1772346411f..f8351072ea565 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDRegion.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/dto/DWDRegion.java @@ -1,80 +1,80 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.dto; - -import static org.openhab.binding.dwdpollenflug.internal.DWDPollenflugBindingConstants.*; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import com.google.gson.annotations.SerializedName; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.types.State; - -/** - * The {@link DWDRegion} class holds the internal data representation of each Region - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDRegion { - @SerializedName("region_id") - public int regionID = 0; - - @SerializedName("region_name") - public String regionName = ""; - - @SerializedName("partregion_id") - public int partRegionID = 0; - - @SerializedName("partregion_name") - public String partRegionName = ""; - - @SerializedName("Pollen") - private @Nullable Map pollen; - - public Map getProperties() { - Map map = new HashMap<>(); - map.put(PROPERTY_REGION_NAME, regionName); - map.put(PROPERTY_PARTREGION_NAME, partRegionName); - return Collections.unmodifiableMap(map); - } - - public int getRegionID() { - if (partRegionID > 0) { - return partRegionID; - } - return regionID; - } - - public Map getChannelsStateMap() { - final Map localPollen = pollen; - if (localPollen != null) { - Map map = new HashMap<>(); - localPollen.forEach((k, jsonType) -> { - final String pollenType = DWDPollenflugPollen.valueOf(k.toUpperCase()).getChannelName(); - map.put(pollenType + "#" + CHANNEL_TODAY, new StringType(jsonType.today)); - map.put(pollenType + "#" + CHANNEL_TOMORROW, new StringType(jsonType.tomorrow)); - map.put(pollenType + "#" + CHANNEL_DAYAFTER_TO, new StringType(jsonType.dayAfterTomorrow)); - }); - - return Collections.unmodifiableMap(map); - } - - return Collections.emptyMap(); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.dto; + +import static org.openhab.binding.dwdpollenflug.internal.DWDPollenflugBindingConstants.*; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.types.State; + +import com.google.gson.annotations.SerializedName; + +/** + * The {@link DWDRegion} class holds the internal data representation of each Region + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDRegion { + @SerializedName("region_id") + public int regionID = 0; + + @SerializedName("region_name") + public String regionName = ""; + + @SerializedName("partregion_id") + public int partRegionID = 0; + + @SerializedName("partregion_name") + public String partRegionName = ""; + + @SerializedName("Pollen") + private @Nullable Map pollen; + + public Map getProperties() { + Map map = new HashMap<>(); + map.put(PROPERTY_REGION_NAME, regionName); + map.put(PROPERTY_PARTREGION_NAME, partRegionName); + return Collections.unmodifiableMap(map); + } + + public int getRegionID() { + if (partRegionID > 0) { + return partRegionID; + } + return regionID; + } + + public Map getChannelsStateMap() { + final Map localPollen = pollen; + if (localPollen != null) { + Map map = new HashMap<>(); + localPollen.forEach((k, jsonType) -> { + final String pollenType = DWDPollenflugPollen.valueOf(k.toUpperCase()).getChannelName(); + map.put(pollenType + "#" + CHANNEL_TODAY, new StringType(jsonType.today)); + map.put(pollenType + "#" + CHANNEL_TOMORROW, new StringType(jsonType.tomorrow)); + map.put(pollenType + "#" + CHANNEL_DAYAFTER_TO, new StringType(jsonType.dayAfterTomorrow)); + }); + + return Collections.unmodifiableMap(map); + } + + return Collections.emptyMap(); + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugBridgeHandler.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugBridgeHandler.java index 225e86343d0a3..5d4307327c50d 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugBridgeHandler.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugBridgeHandler.java @@ -1,211 +1,211 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.handler; - -import java.net.URI; -import java.util.Set; -import java.net.SocketTimeoutException; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import com.google.gson.Gson; -import com.google.gson.JsonSyntaxException; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.jetty.client.HttpResponse; -import org.eclipse.jetty.client.api.Request; -import org.eclipse.jetty.client.api.Result; -import org.eclipse.jetty.client.util.BufferingResponseListener; -import org.eclipse.jetty.http.HttpMethod; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.dwdpollenflug.internal.DWDPollingException; -import org.openhab.binding.dwdpollenflug.internal.config.DWDPollenflugBridgeConfiguration; -import org.openhab.binding.dwdpollenflug.internal.dto.DWDPollenflug; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link DWDPollenflugBridgeHandler} is the handler for bridge thing - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollenflugBridgeHandler extends BaseBridgeHandler { - private static final String DWD_URL = "https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json"; - - private final Logger logger = LoggerFactory.getLogger(DWDPollenflugBridgeHandler.class); - - private DWDPollenflugBridgeConfiguration bridgeConfig = new DWDPollenflugBridgeConfiguration(); - private @Nullable ScheduledFuture pollingJob; - private @Nullable DWDPollenflug pollenflug; - private final Set regionListeners = ConcurrentHashMap.newKeySet(); - private final HttpClient client; - private final Gson gson = new Gson(); - - public DWDPollenflugBridgeHandler(Bridge bridge, HttpClient client) { - super(bridge); - this.client = client; - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (command instanceof RefreshType) { - final DWDPollenflug localPollenflug = pollenflug; - if (localPollenflug != null) { - notifyOnUpdate(localPollenflug); - } - } - } - - @Override - public void initialize() { - logger.debug("Initializing DWD Pollenflug bridge handler"); - bridgeConfig = getConfigAs(DWDPollenflugBridgeConfiguration.class); - - if (bridgeConfig.isValid()) { - updateStatus(ThingStatus.UNKNOWN); - startPolling(); - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "Refresh interval has to be at least 15 minutes."); - } - } - - @Override - public void dispose() { - logger.debug("Handler disposed."); - stopPolling(); - } - - private void startPolling() { - final ScheduledFuture localPollingJob = this.pollingJob; - if (localPollingJob == null || localPollingJob.isCancelled()) { - logger.debug("Start polling."); - pollingJob = scheduler.scheduleWithFixedDelay(this::poll, 0, bridgeConfig.refresh, TimeUnit.MINUTES); - } - } - - private void stopPolling() { - final ScheduledFuture localPollingJob = this.pollingJob; - if (localPollingJob != null && !localPollingJob.isCancelled()) { - logger.debug("Stop polling."); - localPollingJob.cancel(true); - pollingJob = null; - } - } - - private void poll() { - logger.debug("Polling"); - requestRefresh().handle((resultPollenflug, pollException) -> { - if (resultPollenflug == null) { - if (pollException == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - pollException.getMessage()); - } - } else { - updateStatus(ThingStatus.ONLINE); - notifyOnUpdate(resultPollenflug); - } - - return null; - }); - } - - private CompletableFuture<@Nullable DWDPollenflug> requestRefresh() { - CompletableFuture<@Nullable DWDPollenflug> f = new CompletableFuture<>(); - Request request = client.newRequest(URI.create(DWD_URL)); - - request.method(HttpMethod.GET).timeout(2000, TimeUnit.SECONDS).send(new BufferingResponseListener() { - @NonNullByDefault({}) - @Override - public void onComplete(Result result) { - final HttpResponse response = (HttpResponse) result.getResponse(); - if (result.getFailure() != null) { - Throwable e = result.getFailure(); - if (e instanceof SocketTimeoutException || e instanceof TimeoutException) { - f.completeExceptionally(new DWDPollingException("Request timeout", e)); - } else { - f.completeExceptionally(new DWDPollingException("Request failed", e)); - } - } else if (response.getStatus() != 200) { - f.completeExceptionally(new DWDPollingException(getContentAsString())); - } else { - try { - DWDPollenflug pollenflugJSON = gson.fromJson(getContentAsString(), DWDPollenflug.class); - f.complete(pollenflugJSON); - } catch (JsonSyntaxException ex2) { - f.completeExceptionally(new DWDPollingException("Parsing of response failed")); - } - } - } - }); - - return f; - } - - @Override - public void childHandlerInitialized(ThingHandler childHandler, Thing childThing) { - if (childHandler instanceof DWDPollenflugRegionHandler) { - logger.debug("Register region listener."); - final DWDPollenflugRegionHandler regionListener = (DWDPollenflugRegionHandler) childHandler; - if (regionListeners.add(regionListener)) { - final DWDPollenflug localPollenflug = pollenflug; - if (localPollenflug != null) { - regionListener.notifyOnUpdate(localPollenflug); - } - } else { - logger.warn("Tried to add listener {} but it was already present. This is probably an error.", - childHandler); - } - } - } - - @Override - public void childHandlerDisposed(ThingHandler childHandler, Thing childThing) { - if (childHandler instanceof DWDPollenflugRegionHandler) { - logger.debug("Unregister region listener."); - if (!regionListeners.remove((DWDPollenflugRegionHandler) childHandler)) { - logger.warn("Tried to remove listener {} but it was not registered. This is probably an error.", - childHandler); - } - } - } - - public void notifyOnUpdate(@Nullable DWDPollenflug newPollenflug) { - if (newPollenflug != null) { - pollenflug = newPollenflug; - updateProperties(newPollenflug.getProperties()); - regionListeners.forEach(listener -> listener.notifyOnUpdate(newPollenflug)); - newPollenflug.getChannelsStateMap().forEach(this::updateState); - } - } - - public @Nullable DWDPollenflug getPollenflug() { - return pollenflug; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.handler; + +import java.net.SocketTimeoutException; +import java.net.URI; +import java.util.Set; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.jetty.client.HttpClient; +import org.eclipse.jetty.client.HttpResponse; +import org.eclipse.jetty.client.api.Request; +import org.eclipse.jetty.client.api.Result; +import org.eclipse.jetty.client.util.BufferingResponseListener; +import org.eclipse.jetty.http.HttpMethod; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.openhab.binding.dwdpollenflug.internal.DWDPollingException; +import org.openhab.binding.dwdpollenflug.internal.config.DWDPollenflugBridgeConfiguration; +import org.openhab.binding.dwdpollenflug.internal.dto.DWDPollenflug; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; + +/** + * The {@link DWDPollenflugBridgeHandler} is the handler for bridge thing + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollenflugBridgeHandler extends BaseBridgeHandler { + private static final String DWD_URL = "https://opendata.dwd.de/climate_environment/health/alerts/s31fg.json"; + + private final Logger logger = LoggerFactory.getLogger(DWDPollenflugBridgeHandler.class); + + private DWDPollenflugBridgeConfiguration bridgeConfig = new DWDPollenflugBridgeConfiguration(); + private @Nullable ScheduledFuture pollingJob; + private @Nullable DWDPollenflug pollenflug; + private final Set regionListeners = ConcurrentHashMap.newKeySet(); + private final HttpClient client; + private final Gson gson = new Gson(); + + public DWDPollenflugBridgeHandler(Bridge bridge, HttpClient client) { + super(bridge); + this.client = client; + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (command instanceof RefreshType) { + final DWDPollenflug localPollenflug = pollenflug; + if (localPollenflug != null) { + notifyOnUpdate(localPollenflug); + } + } + } + + @Override + public void initialize() { + logger.debug("Initializing DWD Pollenflug bridge handler"); + bridgeConfig = getConfigAs(DWDPollenflugBridgeConfiguration.class); + + if (bridgeConfig.isValid()) { + updateStatus(ThingStatus.UNKNOWN); + startPolling(); + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + "Refresh interval has to be at least 15 minutes."); + } + } + + @Override + public void dispose() { + logger.debug("Handler disposed."); + stopPolling(); + } + + private void startPolling() { + final ScheduledFuture localPollingJob = this.pollingJob; + if (localPollingJob == null || localPollingJob.isCancelled()) { + logger.debug("Start polling."); + pollingJob = scheduler.scheduleWithFixedDelay(this::poll, 0, bridgeConfig.refresh, TimeUnit.MINUTES); + } + } + + private void stopPolling() { + final ScheduledFuture localPollingJob = this.pollingJob; + if (localPollingJob != null && !localPollingJob.isCancelled()) { + logger.debug("Stop polling."); + localPollingJob.cancel(true); + pollingJob = null; + } + } + + private void poll() { + logger.debug("Polling"); + requestRefresh().handle((resultPollenflug, pollException) -> { + if (resultPollenflug == null) { + if (pollException == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + pollException.getMessage()); + } + } else { + updateStatus(ThingStatus.ONLINE); + notifyOnUpdate(resultPollenflug); + } + + return null; + }); + } + + private CompletableFuture<@Nullable DWDPollenflug> requestRefresh() { + CompletableFuture<@Nullable DWDPollenflug> f = new CompletableFuture<>(); + Request request = client.newRequest(URI.create(DWD_URL)); + + request.method(HttpMethod.GET).timeout(2000, TimeUnit.SECONDS).send(new BufferingResponseListener() { + @NonNullByDefault({}) + @Override + public void onComplete(Result result) { + final HttpResponse response = (HttpResponse) result.getResponse(); + if (result.getFailure() != null) { + Throwable e = result.getFailure(); + if (e instanceof SocketTimeoutException || e instanceof TimeoutException) { + f.completeExceptionally(new DWDPollingException("Request timeout", e)); + } else { + f.completeExceptionally(new DWDPollingException("Request failed", e)); + } + } else if (response.getStatus() != 200) { + f.completeExceptionally(new DWDPollingException(getContentAsString())); + } else { + try { + DWDPollenflug pollenflugJSON = gson.fromJson(getContentAsString(), DWDPollenflug.class); + f.complete(pollenflugJSON); + } catch (JsonSyntaxException ex2) { + f.completeExceptionally(new DWDPollingException("Parsing of response failed")); + } + } + } + }); + + return f; + } + + @Override + public void childHandlerInitialized(ThingHandler childHandler, Thing childThing) { + if (childHandler instanceof DWDPollenflugRegionHandler) { + logger.debug("Register region listener."); + final DWDPollenflugRegionHandler regionListener = (DWDPollenflugRegionHandler) childHandler; + if (regionListeners.add(regionListener)) { + final DWDPollenflug localPollenflug = pollenflug; + if (localPollenflug != null) { + regionListener.notifyOnUpdate(localPollenflug); + } + } else { + logger.warn("Tried to add listener {} but it was already present. This is probably an error.", + childHandler); + } + } + } + + @Override + public void childHandlerDisposed(ThingHandler childHandler, Thing childThing) { + if (childHandler instanceof DWDPollenflugRegionHandler) { + logger.debug("Unregister region listener."); + if (!regionListeners.remove((DWDPollenflugRegionHandler) childHandler)) { + logger.warn("Tried to remove listener {} but it was not registered. This is probably an error.", + childHandler); + } + } + } + + public void notifyOnUpdate(@Nullable DWDPollenflug newPollenflug) { + if (newPollenflug != null) { + pollenflug = newPollenflug; + updateProperties(newPollenflug.getProperties()); + regionListeners.forEach(listener -> listener.notifyOnUpdate(newPollenflug)); + newPollenflug.getChannelsStateMap().forEach(this::updateState); + } + } + + public @Nullable DWDPollenflug getPollenflug() { + return pollenflug; + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugRegionHandler.java b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugRegionHandler.java index 1b1949f0eb5c5..a007b988e6712 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugRegionHandler.java +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/java/org/openhab/binding/dwdpollenflug/internal/handler/DWDPollenflugRegionHandler.java @@ -1,112 +1,112 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.dwdpollenflug.internal.handler; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.dwdpollenflug.internal.config.DWDPollenflugRegionConfiguration; -import org.openhab.binding.dwdpollenflug.internal.dto.DWDPollenflug; -import org.openhab.binding.dwdpollenflug.internal.dto.DWDRegion; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link DWDPollenflugRegionHandler} is the handler for bridge thing - * - * @author Johannes Ott - Initial contribution - */ -@NonNullByDefault -public class DWDPollenflugRegionHandler extends BaseThingHandler { - - private final Logger logger = LoggerFactory.getLogger(DWDPollenflugRegionHandler.class); - - private DWDPollenflugRegionConfiguration thingConfig = new DWDPollenflugRegionConfiguration(); - - public DWDPollenflugRegionHandler(Thing thing) { - super(thing); - } - - @Override - public void initialize() { - logger.debug("Initializing DWD Pollenflug region handler"); - thingConfig = getConfigAs(DWDPollenflugRegionConfiguration.class); - - if (thingConfig.isValid()) { - DWDPollenflugBridgeHandler handler = getBridgeHandler(); - if (handler == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Bridge handler missing"); - } else { - updateStatus(ThingStatus.ONLINE); - } - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "No valid region id given."); - } - } - - private @Nullable DWDPollenflugBridgeHandler getBridgeHandler() { - Bridge bridge = getBridge(); - if (bridge != null) { - ThingHandler handler = bridge.getHandler(); - if (handler instanceof DWDPollenflugBridgeHandler) { - DWDPollenflugBridgeHandler bridgeHandler = (DWDPollenflugBridgeHandler) handler; - return bridgeHandler; - } - } - - return null; - } - - @Override - public void dispose() { - logger.debug("DWDPollenflug region handler disposes."); - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (command instanceof RefreshType) { - refresh(); - } - } - - private void refresh() { - DWDPollenflugBridgeHandler handler = getBridgeHandler(); - if (handler != null) { - DWDPollenflug pollenflug = handler.getPollenflug(); - if (pollenflug != null) { - notifyOnUpdate(pollenflug); - } - } - } - - public void notifyOnUpdate(DWDPollenflug pollenflug) { - DWDRegion region = pollenflug.getRegion(thingConfig.regionID); - if (region == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Region not found"); - return; - } - - updateStatus(ThingStatus.ONLINE); - updateProperties(region.getProperties()); - - region.getChannelsStateMap().forEach(this::updateState); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.dwdpollenflug.internal.handler; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.openhab.binding.dwdpollenflug.internal.config.DWDPollenflugRegionConfiguration; +import org.openhab.binding.dwdpollenflug.internal.dto.DWDPollenflug; +import org.openhab.binding.dwdpollenflug.internal.dto.DWDRegion; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link DWDPollenflugRegionHandler} is the handler for bridge thing + * + * @author Johannes Ott - Initial contribution + */ +@NonNullByDefault +public class DWDPollenflugRegionHandler extends BaseThingHandler { + + private final Logger logger = LoggerFactory.getLogger(DWDPollenflugRegionHandler.class); + + private DWDPollenflugRegionConfiguration thingConfig = new DWDPollenflugRegionConfiguration(); + + public DWDPollenflugRegionHandler(Thing thing) { + super(thing); + } + + @Override + public void initialize() { + logger.debug("Initializing DWD Pollenflug region handler"); + thingConfig = getConfigAs(DWDPollenflugRegionConfiguration.class); + + if (thingConfig.isValid()) { + DWDPollenflugBridgeHandler handler = getBridgeHandler(); + if (handler == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Bridge handler missing"); + } else { + updateStatus(ThingStatus.ONLINE); + } + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "No valid region id given."); + } + } + + private @Nullable DWDPollenflugBridgeHandler getBridgeHandler() { + Bridge bridge = getBridge(); + if (bridge != null) { + ThingHandler handler = bridge.getHandler(); + if (handler instanceof DWDPollenflugBridgeHandler) { + DWDPollenflugBridgeHandler bridgeHandler = (DWDPollenflugBridgeHandler) handler; + return bridgeHandler; + } + } + + return null; + } + + @Override + public void dispose() { + logger.debug("DWDPollenflug region handler disposes."); + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (command instanceof RefreshType) { + refresh(); + } + } + + private void refresh() { + DWDPollenflugBridgeHandler handler = getBridgeHandler(); + if (handler != null) { + DWDPollenflug pollenflug = handler.getPollenflug(); + if (pollenflug != null) { + notifyOnUpdate(pollenflug); + } + } + } + + public void notifyOnUpdate(DWDPollenflug pollenflug) { + DWDRegion region = pollenflug.getRegion(thingConfig.regionID); + if (region == null) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Region not found"); + return; + } + + updateStatus(ThingStatus.ONLINE); + updateProperties(region.getProperties()); + + region.getChannelsStateMap().forEach(this::updateState); + } +} diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/binding/binding.xml index 8ba0620c7c198..31b817f4ce151 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,10 @@ - - - - DWD Pollenflug Binding - This is the binding for DWDPollenflug. - Johannes Ott - - + + + + DWD Pollenflug Binding + This is the binding for DWDPollenflug. + Johannes Ott + + diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/bridge.xml index 68fb42028e654..21de0a4aa54dc 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,51 +1,51 @@ - - - - - - Bridge for accessing pollen count index data of the DWD - - - - - - - - - - - - - 30 - - Time between two API requests in minutes. Minimum 15 minutes. - - - - - - - - Information about data state - - - - - - - - - - - - - - - DateTime - - - - + + + + + + Bridge for accessing pollen count index data of the DWD + + + + + + + + + + + + + 30 + + Time between two API requests in minutes. Minimum 15 minutes. + + + + + + + + Information about data state + + + + + + + + + + + + + + + DateTime + + + + diff --git a/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/region.xml b/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/region.xml index 7c6fdba3d0e8f..c2a9e43e0dabc 100644 --- a/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/region.xml +++ b/bundles/org.openhab.binding.dwdpollenflug/src/main/resources/ESH-INF/thing/region.xml @@ -1,113 +1,113 @@ - - - - - - - - - - Pollen count index for a region or partregion - - - - - Information for alder - - - - Information for ambrosia - - - - Information for ash tree - - - - Information for birch - - - - Information for grasses - - - - Information for hazel - - - - Information for mugwort - - - - Information for rye - - - - - - - - - - - - The partregion or region that should be reported. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - For each pollen type there are three channels for today, tomorrow and day after tomorrow - - - - - - - - - - - - - - - String - - - - + + + + + + + + + + Pollen count index for a region or partregion + + + + + Information for alder + + + + Information for ambrosia + + + + Information for ash tree + + + + Information for birch + + + + Information for grasses + + + + Information for hazel + + + + Information for mugwort + + + + Information for rye + + + + + + + + + + + + The partregion or region that should be reported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + For each pollen type there are three channels for today, tomorrow and day after tomorrow + + + + + + + + + + + + + + + String + + + + diff --git a/bundles/org.openhab.binding.dwdunwetter/pom.xml b/bundles/org.openhab.binding.dwdunwetter/pom.xml index 4856a2bd406e0..af9cc5a2970ee 100644 --- a/bundles/org.openhab.binding.dwdunwetter/pom.xml +++ b/bundles/org.openhab.binding.dwdunwetter/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/feature/feature.xml b/bundles/org.openhab.binding.dwdunwetter/src/main/feature/feature.xml index 73926267cd318..94b1988e847e6 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.dwdunwetter/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.dwdunwetter/${project.version} + diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/DwdUnwetterBindingConstants.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/DwdUnwetterBindingConstants.java index 76bb37c0572e9..193efd3c34e28 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/DwdUnwetterBindingConstants.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/DwdUnwetterBindingConstants.java @@ -46,5 +46,4 @@ public class DwdUnwetterBindingConstants { public static final String CHANNEL_CEILING = "ceiling"; public static final String CHANNEL_INSTRUCTION = "instruction"; public static final String CHANNEL_URGENCY = "urgency"; - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCache.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCache.java index 47497b25e3e77..6b90c8ff4636b 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCache.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCache.java @@ -60,5 +60,4 @@ public void deleteOldEntries() { .collect(Collectors.toList()); oldEntries.forEach(idExpiresMap::remove); } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningData.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningData.java index f69884021b5d6..eb2afa2557a16 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningData.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningData.java @@ -181,5 +181,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningDataAccess.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningDataAccess.java index 628214f6f0a60..9b3d14d1e241b 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningDataAccess.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningDataAccess.java @@ -65,5 +65,4 @@ public String getDataFromEndpoint(String cellId) { return StringUtils.EMPTY; } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningsData.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningsData.java index 452ff51e227f7..f5f991bccd454 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningsData.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningsData.java @@ -309,5 +309,4 @@ protected void setDataAccess(DwdWarningDataAccess dataAccess) { dataAccessCached = new ExpiringCache<>(Duration.ofMinutes(MIN_REFRESH_WAIT_MINUTES), () -> dataAccess.getDataFromEndpoint("")); } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdXmlTag.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdXmlTag.java index 010aa78e9b105..127ce02791bd3 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdXmlTag.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/DwdXmlTag.java @@ -55,5 +55,4 @@ public static DwdXmlTag getDwdXmlTag(String tag) { return Arrays.asList(DwdXmlTag.values()).stream().filter(t -> StringUtils.equals(t.getTag(), tag)).findFirst() .orElse(UNKNOWN); } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Severity.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Severity.java index 3c30efcb1e40b..6fa32919fd642 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Severity.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Severity.java @@ -49,5 +49,4 @@ public static Severity getSeverity(String input) { return Arrays.asList(Severity.values()).stream() .filter(sev -> StringUtils.equalsIgnoreCase(input, sev.getText())).findAny().orElse(UNKNOWN); } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/SeverityComparator.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/SeverityComparator.java index 054d56ffdc8c0..6efb210418cc6 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/SeverityComparator.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/SeverityComparator.java @@ -34,5 +34,4 @@ public int compare(DwdWarningData o1, DwdWarningData o2) { } return result; } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Urgency.java b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Urgency.java index 90db7d82ac9d9..fbba85862ff46 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Urgency.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/java/org/openhab/binding/dwdunwetter/internal/data/Urgency.java @@ -41,5 +41,4 @@ public static Urgency getUrgency(String input) { return Arrays.asList(Urgency.values()).stream() .filter(urg -> StringUtils.equalsIgnoreCase(input, urg.getText())).findAny().orElse(UNKNOWN); } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.dwdunwetter/src/main/resources/ESH-INF/thing/thing-types.xml index 5710b40ff2cf5..714e92133f61f 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.dwdunwetter/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,7 +10,7 @@ - @@ -22,7 +22,7 @@ With the % sign at the end it is possible to query multiple cells at once. For e 1 - @@ -33,7 +33,7 @@ The warnings are sorted by severity first and begin second so the first warning DateTime Timestamp of the last update from the endpoint - + Switch @@ -41,12 +41,12 @@ The warnings are sorted by severity first and begin second so the first warning - + trigger - @@ -71,55 +71,55 @@ This happens after all other channels are populated]]> String Textual description of the warning. - + DateTime Issued Date and Time - + DateTime Start Date and Time for which the warning is valid - + DateTime End Date and Time for which the warning is valid - + String Headline of the warning like "Amtliche Warnung vor FROST" - + String Type of the warning, e.g. FROST - + Number:Length Lower Height above sea level for which the warning is valid - + Number:Length Upper Height above sea level for which the warning is valid - + String Instructions and safety information - + String diff --git a/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/DwdUnwetterHandlerTest.java b/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/DwdUnwetterHandlerTest.java index eded0a5d7a779..ad3cf44ba8f79 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/DwdUnwetterHandlerTest.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/DwdUnwetterHandlerTest.java @@ -91,7 +91,6 @@ public void testInitializeShouldCallTheCallback() { // assert that the (temporary) UNKNOWN status was to the mocked thing first: assertThat(statusInfoCaptor.getAllValues().get(0).getStatus(), is(ThingStatus.UNKNOWN)); - } /** @@ -138,5 +137,4 @@ private String getLabel(NodeList nodeList) { } return null; } - } diff --git a/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCacheTest.java b/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCacheTest.java index eb02be90dd287..85399a1803395 100644 --- a/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCacheTest.java +++ b/bundles/org.openhab.binding.dwdunwetter/src/test/java/org/openhab/binding/dwdunwetter/internal/data/DwdWarningCacheTest.java @@ -54,7 +54,6 @@ public void testDeleteOldEntries() { assertThat(cache.addEntry(data), is(false)); cache.deleteOldEntries(); assertThat(cache.addEntry(data), is(true)); - } private DwdWarningData createData(String id, long secondsBeforeNow) { diff --git a/bundles/org.openhab.binding.ecobee/pom.xml b/bundles/org.openhab.binding.ecobee/pom.xml index ee082c2f2dfd1..dc201e8e6733d 100644 --- a/bundles/org.openhab.binding.ecobee/pom.xml +++ b/bundles/org.openhab.binding.ecobee/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.ecobee/src/main/feature/feature.xml b/bundles/org.openhab.binding.ecobee/src/main/feature/feature.xml index baef6d6d391f3..00d29280f2150 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ecobee/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.ecobee/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.ecobee/${project.version} + diff --git a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/action/EcobeeActions.java b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/action/EcobeeActions.java index fb14cdb0ce5d4..0cf808fe64024 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/action/EcobeeActions.java +++ b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/action/EcobeeActions.java @@ -164,7 +164,8 @@ public static boolean acknowledge(@Nullable ThingActions actions, @Nullable Stri public static boolean controlPlug(@Nullable ThingActions actions, @Nullable String plugName, @Nullable String plugState, @Nullable Date startDateTime, @Nullable Date endDateTime, @Nullable String holdType, @Nullable Number holdHours) { - return invokeMethodOf(actions).controlPlug(plugName, plugState, startDateTime, endDateTime, holdType, holdHours); + return invokeMethodOf(actions).controlPlug(plugName, plugState, startDateTime, endDateTime, holdType, + holdHours); } /** diff --git a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/dto/thermostat/EquipmentSettingDTO.java b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/dto/thermostat/EquipmentSettingDTO.java index 94ea3d79a9e79..781a5050358ef 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/dto/thermostat/EquipmentSettingDTO.java +++ b/bundles/org.openhab.binding.ecobee/src/main/java/org/openhab/binding/ecobee/internal/dto/thermostat/EquipmentSettingDTO.java @@ -67,5 +67,4 @@ public class EquipmentSettingDTO { * technician/contractor assoicated with the thermostat. */ public Boolean remindTechnician; - } diff --git a/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/binding/binding.xml index 16fdb80327248..0c3b0ac36ce43 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Ecobee Binding diff --git a/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/config/config.xml index a24882469e1dd..006c43e434597 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/config/config.xml @@ -1,4 +1,5 @@ - diff --git a/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/thing/thing-types.xml index b71d5a78259f8..2a93a32f4c589 100644 --- a/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.ecobee/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -7,13 +8,13 @@ Represents an account at Ecobee - + - + An Ecobee thermostat @@ -85,1641 +86,1641 @@ - + - - - - - - - - - + + + + + + + + + String - + String - + String - + Switch - + String - + String - + String - + DateTime - + DateTime - + - + String - + - + String - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + String - + Switch - + DateTime - + DateTime - + DateTime - + DateTime - + DateTime - + String - + Number - + Number:Temperature - + Number:Dimensionless - + Number:Temperature - + Number - + Number:Temperature - + Number:Temperature - + Number:Dimensionless - + Number:Dimensionless - + String - + Number:Temperature - + Number:Temperature - + Number:Temperature - + Number:Temperature - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + String - + String - + Switch - + Number - + String - + String - + Number - + Switch - + String - + Number:Temperature - + Switch - + Number:Temperature - + Switch - + Number - + Number - + Number - + Number - + Number - + Number - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + String - + String - + String - + Number - + Number - + Number - + Number - + Number - + Number - + Number:Temperature - + Number - + Number - + Number - + Number - + Switch - + Switch - + Number - + Number - + Number - + String - + Switch - + String - + Number - + Switch - + Number - + Switch - + Switch - + Number:Temperature - + Number:Temperature - + Number:Temperature - + Number:Temperature - + Number:Temperature - + Number:Temperature - + Number:Temperature - + Number:Temperature - + String - + Number - + Number - + Number:Temperature - + Number:Temperature - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + String - + Switch - + Switch - + Number - + Number - + Number:Dimensionless - + Number:Dimensionless - + Switch - + Switch - + Switch - + Switch - + Switch - + Switch - + Number - + Switch - + Switch - + Number - + Number - + Number - + Number - + Number - + Switch - + Switch - + Switch - + Switch - + String - + Switch - + String - + Switch - + Switch - + Switch - + Switch - + Switch - + String - + String - + Number - + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + String - + String - + String - + String - + String - + Number - + String - + Switch - + String - + Switch - + Switch - + Switch - + String - + Switch - + String - + String - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + String - + String - + Switch - + String - + String - + String - + String - + String - + Switch - + Switch - + Switch - + Number:Temperature - + Number:Temperature - + String - + String - + Number - + Switch - + Switch - + Number - + Number - + Switch - + Number - + Number - + Switch - + Switch - + Number - + Number - + String - + - + String - + - - + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + DateTime - + String - + Number - + String - + DateTime - + String - + Number:Temperature - + Number:Pressure - + Number:Dimensionless - + Number:Temperature - + Number - + Number:Speed - + Number:Speed - + String - + Number:Angle - + Number:Dimensionless - + Number:Temperature - + Number:Temperature - + Number - + String - + - - - - - - - - - - + + + + + + + + + + Number - + String - + Switch - + String - + String - + String - + String - + String - + String - + Location - + - - - - - - - + + + + + + + String - + Number - + Number - + Number - + Number - + Number - + Number - + - - - - - - - - + + + + + + + + String - + String - + String - + String - + String - + String - + Switch - + Switch - + - - - - - - - - - - + + + + + + + + + + String - + String - + String - + String - + String - + String - + String - + String - + String - + String - + - + An Ecobee remote sensor - - - - - + + + + + - + String - + String - + String - + String - + Switch - + Number:Temperature - + Number:Dimensionless - + Switch - + diff --git a/bundles/org.openhab.binding.elerotransmitterstick/pom.xml b/bundles/org.openhab.binding.elerotransmitterstick/pom.xml index d18d3bcd8a372..c3b137ff3f26b 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/pom.xml +++ b/bundles/org.openhab.binding.elerotransmitterstick/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/feature/feature.xml b/bundles/org.openhab.binding.elerotransmitterstick/src/main/feature/feature.xml index 1c83b9aa29f8c..29a143e113289 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.elerotransmitterstick/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.elerotransmitterstick/${project.version} + diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/CommandPacket.java b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/CommandPacket.java index 1b07d71e0c706..737375c2db90f 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/CommandPacket.java +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/CommandPacket.java @@ -58,5 +58,4 @@ private byte checksum(byte[] data) { public String toString() { return HexUtils.bytesToHex(data); } - } diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/DelayedCommand.java b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/DelayedCommand.java index d33e1af2f3392..cfe19e7724120 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/DelayedCommand.java +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/DelayedCommand.java @@ -47,5 +47,4 @@ public long getDelay(TimeUnit unit) { public String toString() { return super.toString() + " and delay " + getDelay(TimeUnit.MILLISECONDS); } - } diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/Response.java b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/Response.java index 119a4a9c8cbbb..41a285367bdde 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/Response.java +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/Response.java @@ -50,5 +50,4 @@ public ResponseStatus getStatus() { public String toString() { return status + " for channels " + Arrays.toString(channels); } - } diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/ResponseUtil.java b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/ResponseUtil.java index b853f5ee921d2..a3ee0c6f807c4 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/ResponseUtil.java +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/ResponseUtil.java @@ -52,5 +52,4 @@ private static int[] getChannelIds(byte upperChannelByte, byte lowerChannelByte) return Arrays.copyOfRange(result, 0, idx); } - } diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/SerialConnection.java b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/SerialConnection.java index a189e51f47cd6..39b8430e58500 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/SerialConnection.java +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/java/org/openhab/binding/elerotransmitterstick/internal/stick/SerialConnection.java @@ -203,5 +203,4 @@ private void analyzeBuffer() { } } } - } diff --git a/bundles/org.openhab.binding.elerotransmitterstick/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.elerotransmitterstick/src/main/resources/ESH-INF/thing/thing-types.xml index 39adb39515cf2..d054edbb5918d 100644 --- a/bundles/org.openhab.binding.elerotransmitterstick/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.elerotransmitterstick/src/main/resources/ESH-INF/thing/thing-types.xml @@ -16,7 +16,8 @@ - The number of seconds to wait before requesting the status of the elero channels from the Elero Transmitter Stick. + The number of seconds to wait before requesting the status of the elero channels from the Elero + Transmitter Stick. 30 @@ -24,15 +25,15 @@ - + One of the 15 elero channels available on an Elero Transmitter Stick. - - + + @@ -48,7 +49,8 @@ Rollershutter - Allows to control the devices connected to this elero channel or group by sending UP, DOWN, STOP commands. + Allows to control the devices connected to this elero channel or group by sending UP, DOWN, STOP + commands. @@ -56,7 +58,7 @@ String Read only channel providing the current status of this elero channel or group. - + diff --git a/bundles/org.openhab.binding.enocean/pom.xml b/bundles/org.openhab.binding.enocean/pom.xml index e6413abc03169..50a1f5020a801 100644 --- a/bundles/org.openhab.binding.enocean/pom.xml +++ b/bundles/org.openhab.binding.enocean/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/config/EnOceanChannelDimmerConfig.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/config/EnOceanChannelDimmerConfig.java index 0aa71f74b3121..799bf9a09691d 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/config/EnOceanChannelDimmerConfig.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/config/EnOceanChannelDimmerConfig.java @@ -21,5 +21,4 @@ public class EnOceanChannelDimmerConfig { public int rampingTime = 0; public boolean eltakoDimmer = true; public boolean storeValue = false; - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanDeviceDiscoveryService.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanDeviceDiscoveryService.java index ca66eef1c15f5..230b1c53bde0e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanDeviceDiscoveryService.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanDeviceDiscoveryService.java @@ -171,5 +171,4 @@ public long getSenderIdToListenTo() { // we just want teach in msg, so return zero here return 0; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanUsbSerialDiscoveryParticipant.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanUsbSerialDiscoveryParticipant.java index 91637068a45e4..cb5db2d3230c5 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanUsbSerialDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/discovery/EnOceanUsbSerialDiscoveryParticipant.java @@ -98,5 +98,4 @@ private boolean isEnoceanUSB300Dongle(UsbSerialDeviceInformation deviceInformati return ENOCEAN_USB300_DONGLE_DEFAULT_LABEL; } } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_01.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_01.java index b9a28c3c718e0..252d201c24378 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_01.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_01.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 0; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_02.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_02.java index 0d0023b8b6955..e8b4000c8f157 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_02.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_02.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 10; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_03.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_03.java index b7b5d6e36e846..30a35f2b8c6f0 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_03.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_03.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 20; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_04.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_04.java index 619e99b0af669..7b018287f2e9f 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_04.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_04.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 30; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_05.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_05.java index 1e18e383713ca..2c7d3a2a1f38b 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_05.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_05.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 40; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_06.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_06.java index f22c9c4584cdb..90d6e8ecf3b77 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_06.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_06.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 50; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_07.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_07.java index 4393637b90d20..c52d4b59941ca 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_07.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_07.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 60; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_08.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_08.java index 7145e9a9765fa..c0837e3e6be8e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_08.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_08.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 70; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_09.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_09.java index 8debb668e6670..6144407470924 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_09.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_09.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 80; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0A.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0A.java index a539cd3125574..bd3f1b8b5389f 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0A.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0A.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 90; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0B.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0B.java index 90882522951a8..10bdf1c0ce03a 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0B.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_0B.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 100; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_10.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_10.java index f21872e76f677..ddd55fe1b3a6a 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_10.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_10.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 20; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_11.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_11.java index 4ae2ede806b93..64decd61f92f1 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_11.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_11.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 30; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_12.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_12.java index 7a759904f649b..6ddc5f7b4f0d0 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_12.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_12.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 40; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_13.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_13.java index 45ee90ecccc5c..3e77bc762d016 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_13.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_13.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 50; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_14.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_14.java index 77d44784163f1..65b37a382a74c 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_14.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_14.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 60; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_15.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_15.java index fccab8005bc7a..d8b1b07237c3a 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_15.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_15.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 70; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_16.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_16.java index ed14044705e29..27beab7d3bb3e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_16.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_16.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 80; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_17.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_17.java index dfa7e7bb1b922..2225139b35f97 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_17.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_17.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 90; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_18.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_18.java index a9248f046b193..2e1bbfdc6ec21 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_18.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_18.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 100; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_19.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_19.java index 29d59b49d325d..4d8a7d5a5fae7 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_19.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_19.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 110; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1A.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1A.java index 0a92c7fbd2d5b..638af83ece122 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1A.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1A.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 120; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1B.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1B.java index fdfb87152335a..a23a118d3a48a 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1B.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_1B.java @@ -33,5 +33,4 @@ protected double getScaledMin() { protected double getScaledMax() { return 130; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_20.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_20.java index b8e14b9b5d718..b5433a01d7f78 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_20.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_20.java @@ -48,5 +48,4 @@ protected double getUnscaledMax() { protected int getUnscaledTemperatureValue() { return getDB_1Value() + ((getDB_2Value() & 0b11) << 8); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_30.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_30.java index 827e53d237008..e69d5ffb2964e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_30.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_02/A5_02_30.java @@ -48,5 +48,4 @@ protected double getUnscaledMax() { protected int getUnscaledTemperatureValue() { return getDB_1Value() + ((getDB_2Value() & 0b11) << 8); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_01.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_01.java index b62e2c160b66b..4cc3cc691706c 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_01.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_01.java @@ -47,5 +47,4 @@ protected State getSupplyVoltage() { return getSupplyVoltage(getDB_3Value()); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_02.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_02.java index 723043bb31034..f782d5b13c62e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_02.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_07/A5_07_02.java @@ -41,5 +41,4 @@ protected State getMotion() { protected State getSupplyVoltage() { return getSupplyVoltage(getDB_3Value()); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_08/A5_08_03.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_08/A5_08_03.java index 996375da6812f..acc137c006b16 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_08/A5_08_03.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_08/A5_08_03.java @@ -43,5 +43,4 @@ protected double getScaledIlluminationMin() { protected double getScaledIlluminationMax() { return 1530; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_20/A5_20_04.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_20/A5_20_04.java index 6f82dc4dfc897..0b82eadc691b2 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_20/A5_20_04.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/A5_20/A5_20_04.java @@ -1,267 +1,267 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.enocean.internal.eep.A5_20; - -import static org.openhab.binding.enocean.internal.EnOceanBindingConstants.*; - -import java.util.function.Function; - -import javax.measure.quantity.Temperature; - -import org.eclipse.smarthome.config.core.Configuration; -import org.eclipse.smarthome.core.library.types.DecimalType; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.library.types.QuantityType; -import org.eclipse.smarthome.core.library.unit.SIUnits; -import org.eclipse.smarthome.core.library.unit.SmartHomeUnits; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.State; -import org.eclipse.smarthome.core.types.UnDefType; -import org.openhab.binding.enocean.internal.messages.ERP1Message; - -/** - * Heating radiator valve actuating drive with feed and room temperature measurement, local set point control and - * display - * - * @author Dominik Vorreiter - Initial contribution - */ -public class A5_20_04 extends A5_20 { - - public A5_20_04() { - super(); - } - - public A5_20_04(ERP1Message packet) { - super(packet); - } - - @Override - protected String convertToEventImpl(String channelId, String channelTypeId, String lastEvent, - Configuration config) { - switch (channelId) { - case CHANNEL_STATUS_REQUEST_EVENT: - return getStatusRequestEvent(); - } - - return null; - } - - private String getStatusRequestEvent() { - return Boolean.valueOf(getBit(getDB_0Value(), 6)).toString(); - // return getBit(getDB_0Value(), 6) ? "triggered" : null; - } - - private byte getPos(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_VALVE_POSITION); - - if ((current != null) && (current instanceof DecimalType)) { - DecimalType state = current.as(DecimalType.class); - - if (state != null) { - return state.byteValue(); - } - } - - return 25; // 25 % - } - - private byte getTsp(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_TEMPERATURE_SETPOINT); - - double value = 20.0; // 20 °C - - if ((current != null) && (current instanceof QuantityType)) { - @SuppressWarnings("unchecked") - QuantityType raw = current.as(QuantityType.class); - - if (raw != null) { - QuantityType celsius = raw.toUnit(SIUnits.CELSIUS); - - if (celsius != null) { - value = celsius.doubleValue(); - } - } - } - - return (byte) ((value - 10.0) * (255.0 / 20.0)); - } - - private byte getMc(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_MEASUREMENT_CONTROL); - - if ((current != null) && (current instanceof OnOffType)) { - OnOffType state = current.as(OnOffType.class); - - if (state != null) { - return (byte) (state.equals(OnOffType.ON) ? 0x00 : 0x40); - } - } - - return 0x00; // on - } - - private byte getWuc(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_WAKEUPCYCLE); - - if ((current != null) && (current instanceof DecimalType)) { - DecimalType state = current.as(DecimalType.class); - - if (state != null) { - return (byte) (state.byteValue() & 0x3F); - } - } - - return 0x13; // 19 = 600 sec = 10 min - } - - private byte getDso(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_DISPLAY_ORIENTATION); - - if ((current != null) && (current instanceof DecimalType)) { - DecimalType state = current.as(DecimalType.class); - - if (state != null) { - return (byte) (((state.byteValue() / 90) << 4) & 0x30); - } - } - - return 0x00; // 0° - } - - private byte getBlc(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_BUTTON_LOCK); - - if ((current != null) && (current instanceof OnOffType)) { - OnOffType state = current.as(OnOffType.class); - - if (state != null) { - return (byte) (state.equals(OnOffType.ON) ? 0x04 : 0x00); - } - } - - return 0x00; // unlocked - } - - private byte getSer(Function getCurrentStateFunc) { - State current = getCurrentStateFunc.apply(CHANNEL_SERVICECOMMAND); - - if ((current != null) && (current instanceof DecimalType)) { - DecimalType state = current.as(DecimalType.class); - - if (state != null) { - return (byte) (state.byteValue() & 0x03); - } - } - - return 0x00; // 0 = no change - } - - @Override - protected void convertFromCommandImpl(String channelId, String channelTypeId, Command command, - Function getCurrentStateFunc, Configuration config) { - if (CHANNEL_SEND_COMMAND.equals(channelId) && (command.equals(OnOffType.ON))) { - byte db3 = getPos(getCurrentStateFunc); - byte db2 = getTsp(getCurrentStateFunc); - byte db1 = (byte) (0x00 | getMc(getCurrentStateFunc) | getWuc(getCurrentStateFunc)); - byte db0 = (byte) (0x00 | getDso(getCurrentStateFunc) | TeachInBit | getBlc(getCurrentStateFunc) - | getSer(getCurrentStateFunc)); - - setData(db3, db2, db1, db0); - - return; - } - } - - @Override - protected State convertToStateImpl(String channelId, String channelTypeId, - Function getCurrentStateFunc, Configuration config) { - switch (channelId) { - case CHANNEL_VALVE_POSITION: - return getValvePosition(); - case CHANNEL_BUTTON_LOCK: - return getButtonLock(); - case CHANNEL_TEMPERATURE_SETPOINT: - return getTemperatureSetpoint(); - case CHANNEL_TEMPERATURE: - return getTemperature(); - case CHANNEL_FEED_TEMPERATURE: - return getFeedTemperature(); - case CHANNEL_MEASUREMENT_CONTROL: - return getMeasurementControl(); - case CHANNEL_FAILURE_CODE: - return getFailureCode(); - } - - return UnDefType.UNDEF; - } - - private State getTemperature() { - boolean fl = getBit(getDB_0Value(), 0); - boolean mst = getBit(getDB_0Value(), 7); - - if (fl || mst) { - return UnDefType.UNDEF; - } - - double value = getDB_1Value() * (20.0 / 255.0) + 10.0; - - return new QuantityType<>(value, SIUnits.CELSIUS); - } - - private State getFailureCode() { - boolean fl = getBit(getDB_0Value(), 0); - - if (!fl) { - return new QuantityType<>(-1, SmartHomeUnits.ONE); - } - - return new QuantityType<>(getDB_1Value(), SmartHomeUnits.ONE); - } - - private State getMeasurementControl() { - return getBit(getDB_0Value(), 7) ? OnOffType.OFF : OnOffType.ON; - } - - private State getFeedTemperature() { - boolean ts = getBit(getDB_0Value(), 1); - boolean mst = getBit(getDB_0Value(), 7); - - if (ts || mst) { - return UnDefType.UNDEF; - } - - double value = getDB_2Value() * (60.0 / 255.0) + 20.0; - - return new QuantityType<>(value, SIUnits.CELSIUS); - } - - private State getTemperatureSetpoint() { - boolean ts = getBit(getDB_0Value(), 1); - - if (!ts) { - return UnDefType.UNDEF; - } - - double value = getDB_2Value() * (20.0 / 255.0) + 10.0; - - return new QuantityType<>(value, SIUnits.CELSIUS); - } - - private State getButtonLock() { - return getBit(getDB_0Value(), 2) ? OnOffType.ON : OnOffType.OFF; - } - - private State getValvePosition() { - return new QuantityType<>(getDB_3Value(), SmartHomeUnits.PERCENT); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.enocean.internal.eep.A5_20; + +import static org.openhab.binding.enocean.internal.EnOceanBindingConstants.*; + +import java.util.function.Function; + +import javax.measure.quantity.Temperature; + +import org.eclipse.smarthome.config.core.Configuration; +import org.eclipse.smarthome.core.library.types.DecimalType; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.QuantityType; +import org.eclipse.smarthome.core.library.unit.SIUnits; +import org.eclipse.smarthome.core.library.unit.SmartHomeUnits; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.State; +import org.eclipse.smarthome.core.types.UnDefType; +import org.openhab.binding.enocean.internal.messages.ERP1Message; + +/** + * Heating radiator valve actuating drive with feed and room temperature measurement, local set point control and + * display + * + * @author Dominik Vorreiter - Initial contribution + */ +public class A5_20_04 extends A5_20 { + + public A5_20_04() { + super(); + } + + public A5_20_04(ERP1Message packet) { + super(packet); + } + + @Override + protected String convertToEventImpl(String channelId, String channelTypeId, String lastEvent, + Configuration config) { + switch (channelId) { + case CHANNEL_STATUS_REQUEST_EVENT: + return getStatusRequestEvent(); + } + + return null; + } + + private String getStatusRequestEvent() { + return Boolean.valueOf(getBit(getDB_0Value(), 6)).toString(); + // return getBit(getDB_0Value(), 6) ? "triggered" : null; + } + + private byte getPos(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_VALVE_POSITION); + + if ((current != null) && (current instanceof DecimalType)) { + DecimalType state = current.as(DecimalType.class); + + if (state != null) { + return state.byteValue(); + } + } + + return 25; // 25 % + } + + private byte getTsp(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_TEMPERATURE_SETPOINT); + + double value = 20.0; // 20 °C + + if ((current != null) && (current instanceof QuantityType)) { + @SuppressWarnings("unchecked") + QuantityType raw = current.as(QuantityType.class); + + if (raw != null) { + QuantityType celsius = raw.toUnit(SIUnits.CELSIUS); + + if (celsius != null) { + value = celsius.doubleValue(); + } + } + } + + return (byte) ((value - 10.0) * (255.0 / 20.0)); + } + + private byte getMc(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_MEASUREMENT_CONTROL); + + if ((current != null) && (current instanceof OnOffType)) { + OnOffType state = current.as(OnOffType.class); + + if (state != null) { + return (byte) (state.equals(OnOffType.ON) ? 0x00 : 0x40); + } + } + + return 0x00; // on + } + + private byte getWuc(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_WAKEUPCYCLE); + + if ((current != null) && (current instanceof DecimalType)) { + DecimalType state = current.as(DecimalType.class); + + if (state != null) { + return (byte) (state.byteValue() & 0x3F); + } + } + + return 0x13; // 19 = 600 sec = 10 min + } + + private byte getDso(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_DISPLAY_ORIENTATION); + + if ((current != null) && (current instanceof DecimalType)) { + DecimalType state = current.as(DecimalType.class); + + if (state != null) { + return (byte) (((state.byteValue() / 90) << 4) & 0x30); + } + } + + return 0x00; // 0° + } + + private byte getBlc(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_BUTTON_LOCK); + + if ((current != null) && (current instanceof OnOffType)) { + OnOffType state = current.as(OnOffType.class); + + if (state != null) { + return (byte) (state.equals(OnOffType.ON) ? 0x04 : 0x00); + } + } + + return 0x00; // unlocked + } + + private byte getSer(Function getCurrentStateFunc) { + State current = getCurrentStateFunc.apply(CHANNEL_SERVICECOMMAND); + + if ((current != null) && (current instanceof DecimalType)) { + DecimalType state = current.as(DecimalType.class); + + if (state != null) { + return (byte) (state.byteValue() & 0x03); + } + } + + return 0x00; // 0 = no change + } + + @Override + protected void convertFromCommandImpl(String channelId, String channelTypeId, Command command, + Function getCurrentStateFunc, Configuration config) { + if (CHANNEL_SEND_COMMAND.equals(channelId) && (command.equals(OnOffType.ON))) { + byte db3 = getPos(getCurrentStateFunc); + byte db2 = getTsp(getCurrentStateFunc); + byte db1 = (byte) (0x00 | getMc(getCurrentStateFunc) | getWuc(getCurrentStateFunc)); + byte db0 = (byte) (0x00 | getDso(getCurrentStateFunc) | TeachInBit | getBlc(getCurrentStateFunc) + | getSer(getCurrentStateFunc)); + + setData(db3, db2, db1, db0); + + return; + } + } + + @Override + protected State convertToStateImpl(String channelId, String channelTypeId, + Function getCurrentStateFunc, Configuration config) { + switch (channelId) { + case CHANNEL_VALVE_POSITION: + return getValvePosition(); + case CHANNEL_BUTTON_LOCK: + return getButtonLock(); + case CHANNEL_TEMPERATURE_SETPOINT: + return getTemperatureSetpoint(); + case CHANNEL_TEMPERATURE: + return getTemperature(); + case CHANNEL_FEED_TEMPERATURE: + return getFeedTemperature(); + case CHANNEL_MEASUREMENT_CONTROL: + return getMeasurementControl(); + case CHANNEL_FAILURE_CODE: + return getFailureCode(); + } + + return UnDefType.UNDEF; + } + + private State getTemperature() { + boolean fl = getBit(getDB_0Value(), 0); + boolean mst = getBit(getDB_0Value(), 7); + + if (fl || mst) { + return UnDefType.UNDEF; + } + + double value = getDB_1Value() * (20.0 / 255.0) + 10.0; + + return new QuantityType<>(value, SIUnits.CELSIUS); + } + + private State getFailureCode() { + boolean fl = getBit(getDB_0Value(), 0); + + if (!fl) { + return new QuantityType<>(-1, SmartHomeUnits.ONE); + } + + return new QuantityType<>(getDB_1Value(), SmartHomeUnits.ONE); + } + + private State getMeasurementControl() { + return getBit(getDB_0Value(), 7) ? OnOffType.OFF : OnOffType.ON; + } + + private State getFeedTemperature() { + boolean ts = getBit(getDB_0Value(), 1); + boolean mst = getBit(getDB_0Value(), 7); + + if (ts || mst) { + return UnDefType.UNDEF; + } + + double value = getDB_2Value() * (60.0 / 255.0) + 20.0; + + return new QuantityType<>(value, SIUnits.CELSIUS); + } + + private State getTemperatureSetpoint() { + boolean ts = getBit(getDB_0Value(), 1); + + if (!ts) { + return UnDefType.UNDEF; + } + + double value = getDB_2Value() * (20.0 / 255.0) + 10.0; + + return new QuantityType<>(value, SIUnits.CELSIUS); + } + + private State getButtonLock() { + return getBit(getDB_0Value(), 2) ? OnOffType.ON : OnOffType.OFF; + } + + private State getValvePosition() { + return new QuantityType<>(getDB_3Value(), SmartHomeUnits.PERCENT); + } +} diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_4BSMessage.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_4BSMessage.java index 443ff4b4cdd53..9523114cc69e1 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_4BSMessage.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_4BSMessage.java @@ -103,6 +103,5 @@ protected void teachInQueryImpl(Configuration config) { } catch (Exception e) { } } - } } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_SIGMessage.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_SIGMessage.java index 7527cc53bd73d..d0725be465f4b 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_SIGMessage.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_SIGMessage.java @@ -46,5 +46,4 @@ protected int getDataLength() { protected boolean validateData(byte[] bytes) { return true; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_VLDMessage.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_VLDMessage.java index 4e5d275d59732..ade094a27f71f 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_VLDMessage.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/Base/_VLDMessage.java @@ -44,5 +44,4 @@ protected int getDataLength() { protected boolean validateData(byte[] bytes) { return true; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D0/D0_06.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D0/D0_06.java index 36ab70456d469..74efc18739e69 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D0/D0_06.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D0/D0_06.java @@ -39,7 +39,8 @@ public D0_06(ERP1Message packet) { } @Override - public State convertToStateImpl(String channelId, String channelTypeId, Function getCurrentStateFunc, Configuration config) { + public State convertToStateImpl(String channelId, String channelTypeId, Function getCurrentStateFunc, + Configuration config) { if (CHANNEL_BATTERY_LEVEL.equals(channelId)) { return new QuantityType<>(bytes[1] & 0xFF, SmartHomeUnits.PERCENT); } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01.java index 1347b683f9ce1..1ef11cb50e7fa 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01.java @@ -29,8 +29,8 @@ import org.eclipse.smarthome.core.types.UnDefType; import org.eclipse.smarthome.core.util.HexUtils; import org.openhab.binding.enocean.internal.config.EnOceanChannelDimmerConfig; -import org.openhab.binding.enocean.internal.eep.EEPHelper; import org.openhab.binding.enocean.internal.eep.Base._VLDMessage; +import org.openhab.binding.enocean.internal.eep.EEPHelper; import org.openhab.binding.enocean.internal.messages.ERP1Message; /** @@ -251,5 +251,4 @@ protected State convertToStateImpl(String channelId, String channelTypeId, return UnDefType.UNDEF; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_00.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_00.java index 8fc9e113a04c3..45cf517380fb0 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_00.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_00.java @@ -27,5 +27,4 @@ public D2_01_00() { public D2_01_00(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_01.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_01.java index 64ed22a2a75c8..50864af82402e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_01.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_01.java @@ -27,5 +27,4 @@ public D2_01_01() { public D2_01_01(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_02.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_02.java index 82306de24d914..65e00194bec70 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_02.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_02.java @@ -27,5 +27,4 @@ public D2_01_02() { public D2_01_02(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_03.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_03.java index 0cd96f699488f..11f57c15464fa 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_03.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_03.java @@ -27,5 +27,4 @@ public D2_01_03() { public D2_01_03(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_04.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_04.java index 05acb9b7f68d1..a282b64e5c25f 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_04.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_04.java @@ -27,5 +27,4 @@ public D2_01_04() { public D2_01_04(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_05.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_05.java index 254aee2169934..ce2b8418756db 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_05.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_05.java @@ -27,5 +27,4 @@ public D2_01_05() { public D2_01_05(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_06.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_06.java index 9145f8f7540dd..73420a607ec79 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_06.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_06.java @@ -27,5 +27,4 @@ public D2_01_06() { public D2_01_06(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_07.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_07.java index 1a7e345670db5..f9c880f7cdc5b 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_07.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_07.java @@ -27,5 +27,4 @@ public D2_01_07() { public D2_01_07(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_08.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_08.java index 48b746cd60d74..9871dcef3ce4a 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_08.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_08.java @@ -27,5 +27,4 @@ public D2_01_08() { public D2_01_08(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_09.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_09.java index e89f0878175ad..26c2bced9ac01 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_09.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_09.java @@ -27,5 +27,4 @@ public D2_01_09() { public D2_01_09(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0A.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0A.java index cac7af5f12f7a..faba8019465cc 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0A.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0A.java @@ -27,5 +27,4 @@ public D2_01_0A() { public D2_01_0A(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0B.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0B.java index c67752898c918..e4c1fec7d12ab 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0B.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0B.java @@ -27,5 +27,4 @@ public D2_01_0B() { public D2_01_0B(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0C.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0C.java index 6a486bb51247d..16b9025726d3a 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0C.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0C.java @@ -27,5 +27,4 @@ public D2_01_0C() { public D2_01_0C(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0D.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0D.java index cd664fbb12a59..7bb8e24ac42db 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0D.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0D.java @@ -27,5 +27,4 @@ public D2_01_0D() { public D2_01_0D(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0E.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0E.java index 428a7f7d610b9..4fb66ef8ea5d5 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0E.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0E.java @@ -27,5 +27,4 @@ public D2_01_0E() { public D2_01_0E(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0F.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0F.java index 4f3b495b0f54d..a7b9fff59d241 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0F.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_0F.java @@ -27,5 +27,4 @@ public D2_01_0F() { public D2_01_0F(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_11.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_11.java index f9ff8462a3d1c..b89b1572cda35 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_11.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_11.java @@ -27,5 +27,4 @@ public D2_01_11() { public D2_01_11(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12.java index a6db08fea8319..5507e383b4f60 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12.java @@ -27,5 +27,4 @@ public D2_01_12() { public D2_01_12(ERP1Message packet) { super(packet); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12_NodON.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12_NodON.java index 3f0f4abf163fe..8636e7d6a8f4e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12_NodON.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_01/D2_01_12_NodON.java @@ -61,5 +61,4 @@ protected void convertFromCommandImpl(String channelId, String channelTypeId, Co super.convertFromCommandImpl(channelId, channelTypeId, command, getCurrentStateFunc, config); } } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_05/D2_05_00.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_05/D2_05_00.java index 746b01d4ea9ca..8ffda5261d449 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_05/D2_05_00.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/D2_05/D2_05_00.java @@ -123,5 +123,4 @@ protected State convertToStateImpl(String channelId, String channelTypeId, return UnDefType.UNDEF; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPFactory.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPFactory.java index 75694835e14df..e0a260b26c713 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPFactory.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPFactory.java @@ -182,7 +182,6 @@ public static EEP buildEEPFromTeachInERP1(ERP1Message msg) { } return null; - } public static EEP buildResponseEEPFromTeachInERP1(ERP1Message msg, byte[] senderId) { diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPType.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPType.java index 33320ff005d60..5923182c71ba0 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPType.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/EEPType.java @@ -644,5 +644,4 @@ public static EEPType getType(RORG rorg, int func, int type, int manufId) { return fallback; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/F6_10/F6_10_00_EltakoFPE.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/F6_10/F6_10_00_EltakoFPE.java index c9d8b41d59fb7..4c1f6dfc1597e 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/F6_10/F6_10_00_EltakoFPE.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/eep/F6_10/F6_10_00_EltakoFPE.java @@ -61,5 +61,4 @@ protected boolean validateData(byte[] bytes) { // FPE just sends 0b00010000 or 0b00000000 value, so we apply mask 0b11101111 return super.validateData(bytes) && ((bytes[0] & (byte) 0xEF) == (byte) 0x00); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BasePacket.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BasePacket.java index 0b45e9fcef9ad..51d5d5f00e256 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BasePacket.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BasePacket.java @@ -61,7 +61,6 @@ public static ESPPacketType getPacketType(byte packetType) { throw new InvalidParameterException("Unknown packetType value"); } - } protected ESPPacketType packetType; diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BaseResponse.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BaseResponse.java index 8c82af85e2aa7..3fe2f88056093 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BaseResponse.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/BaseResponse.java @@ -24,5 +24,4 @@ public BaseResponse(Response response) { super(response.getPayload().length + response.getOptionalPayload().length, 0, Helper.concatAll(response.getPayload(), response.getOptionalPayload())); } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/RDBaseIdResponse.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/RDBaseIdResponse.java index 391fc11400850..074ed5a680036 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/RDBaseIdResponse.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/RDBaseIdResponse.java @@ -48,5 +48,4 @@ public final byte[] getBaseId() { public int getRemainingWriteCycles() { return remainingWriteCycles; } - } diff --git a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/Response.java b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/Response.java index 0c978bc31970e..db78bed5ec8ec 100644 --- a/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/Response.java +++ b/bundles/org.openhab.binding.enocean/src/main/java/org/openhab/binding/enocean/internal/messages/Response.java @@ -52,7 +52,6 @@ public static ResponseType getResponsetype(byte value) { throw new InvalidParameterException("Unknown response type"); } - } protected ResponseType responseType; diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/AutomatedMeterSensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/AutomatedMeterSensor.xml index 0b5d021a11210..78f557e8083a9 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/AutomatedMeterSensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/AutomatedMeterSensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/CentralCommand.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/CentralCommand.xml index 462fd8bc01d1d..7115374ab58f8 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/CentralCommand.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/CentralCommand.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/ClassicDevice.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/ClassicDevice.xml index b336bc74907c5..6d24ab2084156 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/ClassicDevice.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/ClassicDevice.xml @@ -7,16 +7,16 @@ - + This thing lets you control classic EnOcean devices by rocker switch messages (EEP: F6-02) - - - + + + @@ -59,7 +59,7 @@ Switch The virtual rocker switch channel allows to send rocker msg. - + @@ -67,7 +67,7 @@ Rollershutter This channels allows to control a rollershutter through rocker msg. - + @@ -92,14 +92,14 @@ Switch - + Rollershutter - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Contact.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Contact.xml index 2c23157cedf1d..57f6069ea4945 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Contact.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Contact.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/EnvironmentalSensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/EnvironmentalSensor.xml index 7702f77686219..aae17def9b664 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/EnvironmentalSensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/EnvironmentalSensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/GenericThing.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/GenericThing.xml index 2aef6e42d4a73..2fa60566e40e8 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/GenericThing.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/GenericThing.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightSensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightSensor.xml index 05bfd99bab576..632067232aeb4 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightSensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightSensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightTemperatureOccupancySensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightTemperatureOccupancySensor.xml index 74de547b4a19e..c67a1fbdc3918 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightTemperatureOccupancySensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/LightTemperatureOccupancySensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MeasurementSwitch.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MeasurementSwitch.xml index bade521d09fb6..0f095d5ed6e18 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MeasurementSwitch.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MeasurementSwitch.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MechanicalHandle.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MechanicalHandle.xml index 149da406da336..95f18fad67553 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MechanicalHandle.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MechanicalHandle.xml @@ -7,7 +7,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MultiFunctionSmokeDetector.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MultiFunctionSmokeDetector.xml index da81e9cf363ac..3b367bf202237 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MultiFunctionSmokeDetector.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/MultiFunctionSmokeDetector.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/OccupancySensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/OccupancySensor.xml index a492bb656e217..c6d093c2cc3b2 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/OccupancySensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/OccupancySensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/PushButton.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/PushButton.xml index 1dbe16399da83..d743aece64f20 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/PushButton.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/PushButton.xml @@ -7,7 +7,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RockerSwitch.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RockerSwitch.xml index 0a18015846934..505f02c2bbf92 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RockerSwitch.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RockerSwitch.xml @@ -7,7 +7,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Rollershutter.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Rollershutter.xml index a1079a5ddc02d..486ceebf0e2e4 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Rollershutter.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Rollershutter.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RoomOperatingPanel.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RoomOperatingPanel.xml index b5fa15b83670a..e9829d5dc836f 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RoomOperatingPanel.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/RoomOperatingPanel.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureHumiditySensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureHumiditySensor.xml index 60a1783272c75..a057604fcfac4 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureHumiditySensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureHumiditySensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureSensor.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureSensor.xml index 137f888b1b28b..5e233edca17f8 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureSensor.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/TemperatureSensor.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Thermostat.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Thermostat.xml index 2954d0fc25abc..2be75d8e93033 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Thermostat.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/Thermostat.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/bridge.xml index 905d45853138a..afa99f504c7f8 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/bridge.xml @@ -10,8 +10,8 @@ The EnOcean gateway connects to an ESP3 device. - - + + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/channels.xml index 7b0b16723a605..c5af9e109201c 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/channels.xml @@ -92,7 +92,7 @@ Current temperature in degree Celsius Temperature - + @@ -100,14 +100,14 @@ Relative humidity level in percentages Humidity - + Number linear set point - + @@ -129,7 +129,7 @@ Occupancy button pressed or released. Switch - + @@ -162,14 +162,14 @@ Number:Power Instant power consumption in Watts - + Number:Energy Used energy in Kilowatt hours - + @@ -183,14 +183,14 @@ Number:ElectricPotential Voltage of the battery - + Number:ElectricPotential ? - + @@ -218,21 +218,21 @@ Number Received Signal Strength Indication - + Number Number of repeaters involved in the transmission of the telegram - + DateTime Date and time the last telegram was received - + @@ -240,49 +240,49 @@ Vibration alarm state. Switch - + Number:Illuminance Illumination in lux - + Number:Illuminance Illumination in lux - + Number:Illuminance Illumination in lux - + Number:Illuminance Illumination in lux - + Number:Duration Automatically switch to off - + Number:Duration Delay switch off by radio for given seconds - + @@ -317,33 +317,33 @@ Blind Angle Blinds - + Number:VolumetricFlowRate - + Number:Volume - + Number Counter - + Number Current - + @@ -351,7 +351,7 @@ Rain indicator Switch - + @@ -359,7 +359,7 @@ Indicates the actual percent position of the valve. thermostat - + @@ -395,14 +395,14 @@ Number:Temperature Desired temperature - + Number:Temperature Water temperature in the radiator input - + @@ -410,7 +410,7 @@ Failure code thermostat - + @@ -418,7 +418,7 @@ Defines the cyclic wake-up time. The time corresponding to the number has to be looked up. thermostat - + @@ -440,7 +440,7 @@ trigger Is triggered when the actuator wakes up from sleep and asks for the current status. - + @@ -454,49 +454,49 @@ Switch Smoke detection sensor state. - + Switch Sensor activated fault mode. - + Switch Sensor maintenance status. - + Switch Sensor analysis status: humidity out of range - + Switch Sensor analysis status: temperature out of range - + Number:Time Time since last maintenance was done. - + Number:Time Countdown time until product end of life. - + diff --git a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/gernericChannels.xml b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/gernericChannels.xml index 4aad1b40fb5e5..2744f18b8989c 100644 --- a/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/gernericChannels.xml +++ b/bundles/org.openhab.binding.enocean/src/main/resources/ESH-INF/thing/gernericChannels.xml @@ -10,7 +10,7 @@ The switch channel allows to switch something on and off. Switch - + @@ -19,7 +19,7 @@ Rollershutter Blinds - + @@ -28,26 +28,26 @@ Dimmer DimmableLight - + Number Number - + String - + Color - + @@ -56,7 +56,7 @@ The teach in channel allows to send a teach in msg. Switch - + diff --git a/bundles/org.openhab.binding.enturno/pom.xml b/bundles/org.openhab.binding.enturno/pom.xml index 6ef08629a0e98..7dc62c7e6c651 100644 --- a/bundles/org.openhab.binding.enturno/pom.xml +++ b/bundles/org.openhab.binding.enturno/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.enturno/src/main/feature/feature.xml b/bundles/org.openhab.binding.enturno/src/main/feature/feature.xml index e96c75b636c35..dd05f2d025b20 100644 --- a/bundles/org.openhab.binding.enturno/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.enturno/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.enturno/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.enturno/${project.version} + diff --git a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoBindingConstants.java b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoBindingConstants.java index a00cc3e0bcef6..f29d47d2dd005 100644 --- a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoBindingConstants.java +++ b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoBindingConstants.java @@ -52,5 +52,4 @@ public class EnturNoBindingConstants { public static final String ESTIMATED_FLAG_04 = "estimatedFlag04"; public static final String ESTIMATED_FLAG_05 = "estimatedFlag05"; public static final String CHANNEL_FRONT_DISPLAY = "frontDisplayText"; - } diff --git a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoHandlerFactory.java b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoHandlerFactory.java index fca5dbbb470aa..68d27da986877 100644 --- a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoHandlerFactory.java +++ b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/EnturNoHandlerFactory.java @@ -12,6 +12,11 @@ */ package org.openhab.binding.enturno.internal; +import static org.openhab.binding.enturno.internal.EnturNoBindingConstants.LINESTOP; + +import java.util.Collections; +import java.util.Set; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jetty.client.HttpClient; @@ -24,11 +29,6 @@ import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Reference; -import java.util.Collections; -import java.util.Set; - -import static org.openhab.binding.enturno.internal.EnturNoBindingConstants.LINESTOP; - /** * The {@link EnturNoHandlerFactory} is responsible for creating things and thing * handlers. diff --git a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/connection/EnturNoConnection.java b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/connection/EnturNoConnection.java index e760367040cb2..5a62be6f22af7 100644 --- a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/connection/EnturNoConnection.java +++ b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/connection/EnturNoConnection.java @@ -94,8 +94,7 @@ public EnturNoConnection(EnturNoHandler handler, HttpClient httpClient) { * @throws EnturCommunicationException * @throws EnturConfigurationException */ - public synchronized List getEnturTimeTable(@Nullable String stopPlaceId, - @Nullable String lineCode) + public synchronized List getEnturTimeTable(@Nullable String stopPlaceId, @Nullable String lineCode) throws JsonSyntaxException, EnturConfigurationException, EnturCommunicationException { if (StringUtils.isBlank(stopPlaceId)) { throw new EnturConfigurationException("Stop place id cannot be empty or null"); diff --git a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/model/estimated/EstimatedCalls.java b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/model/estimated/EstimatedCalls.java index 914a45a064f69..2bd12fb616c65 100644 --- a/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/model/estimated/EstimatedCalls.java +++ b/bundles/org.openhab.binding.enturno/src/main/java/org/openhab/binding/enturno/internal/model/estimated/EstimatedCalls.java @@ -40,5 +40,3 @@ public class EstimatedCalls { public String expectedArrivalTime; } - - diff --git a/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/config/config.xml index 9562bef322702..a385182e9c859 100644 --- a/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/config/config.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:config-description="https://openhab.org/schemas/config-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https://openhab.org/schemas/config-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/channel-types.xml index 33e058367755c..b1c65996fdef3 100644 --- a/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/channel-types.xml @@ -1,17 +1,17 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> This is a stop place. - - - + + + @@ -19,18 +19,18 @@ This is the data for public transport line direction. - - - - - - - - - - - - + + + + + + + + + + + + @@ -40,49 +40,49 @@ Time of departure. Time - + String Code (usually number) of the public transport line. - + String Whether departure time is calculated/estimated or as in printed timetable (true/false). - + String Front display usually shows direction of the line. - + String Id of the stop place. - + String Name of the stop place. - + String Bus/Tramway/Plane etc. - + diff --git a/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/thing-types.xml index b4b21a70d133d..16f551c0104d7 100644 --- a/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.enturno/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,10 +7,11 @@ - Provides real-time (estimated) departure timetable for chosen public transport line and stop in Norway. Data provided by Entur.no API. + Provides real-time (estimated) departure timetable for chosen public transport line and stop in Norway. + Data provided by Entur.no API. - + This is the real-time table for direction nr 1. @@ -21,7 +22,7 @@ - + diff --git a/bundles/org.openhab.binding.etherrain/pom.xml b/bundles/org.openhab.binding.etherrain/pom.xml index 57bd154e7b2c9..3ee9884b1bcf9 100644 --- a/bundles/org.openhab.binding.etherrain/pom.xml +++ b/bundles/org.openhab.binding.etherrain/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -9,7 +11,7 @@ org.openhab.binding.etherrain - + openHAB Add-ons :: Bundles :: EtherRain Binding diff --git a/bundles/org.openhab.binding.etherrain/src/main/feature/feature.xml b/bundles/org.openhab.binding.etherrain/src/main/feature/feature.xml index 0cae84bb84f1a..d33b762515cd8 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.etherrain/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.etherrain/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.etherrain/${project.version} + diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/EtherRainBindingConstants.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/EtherRainBindingConstants.java index b8442dd630327..389bb9d18b5d5 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/EtherRainBindingConstants.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/EtherRainBindingConstants.java @@ -59,5 +59,4 @@ public class EtherRainBindingConstants { public static final String CHANNEL_ID_START_DELAY = "startdelay"; public static final String CHANNEL_ID_EXECUTE = "execute"; public static final String CHANNEL_ID_CLEAR = "clear"; - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandResult.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandResult.java index 5daf03e06a79f..d5bde659148f0 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandResult.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandResult.java @@ -36,5 +36,4 @@ public enum EtherRainCommandResult { public String getResult() { return result; } - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandStatus.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandStatus.java index 727d98327866f..e196a6715c49c 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandStatus.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainCommandStatus.java @@ -35,5 +35,4 @@ public enum EtherRainCommandStatus { public String getStatus() { return status; } - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainOperatingStatus.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainOperatingStatus.java index c26f0638e8778..48cbf3aa62d4f 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainOperatingStatus.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainOperatingStatus.java @@ -35,5 +35,4 @@ public enum EtherRainOperatingStatus { public String getStatus() { return status; } - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainUdpResponse.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainUdpResponse.java index 155e8b7cc1ce5..944cbf6536b6d 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainUdpResponse.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/api/EtherRainUdpResponse.java @@ -70,5 +70,4 @@ public String getUnqiueName() { public String getAdditionalParameters() { return additionalParameters; } - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/config/EtherRainConfiguration.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/config/EtherRainConfiguration.java index 007adb4532b39..7e3c1d6fe6f45 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/config/EtherRainConfiguration.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/config/EtherRainConfiguration.java @@ -71,5 +71,4 @@ public class EtherRainConfiguration { public int zoneOnTime6 = 0; public int zoneOnTime7 = 0; public int zoneOnTime8 = 0; - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/discovery/EtherrainDiscoveryService.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/discovery/EtherrainDiscoveryService.java index 96b7efe1c8cea..0afd1705a2989 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/discovery/EtherrainDiscoveryService.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/discovery/EtherrainDiscoveryService.java @@ -64,6 +64,5 @@ protected void startScan() { logger.debug("Nothing responded to request"); } } - } } diff --git a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/handler/EtherRainHandler.java b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/handler/EtherRainHandler.java index 3d0063ab3d7b6..c259f2f4e0c4f 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/handler/EtherRainHandler.java +++ b/bundles/org.openhab.binding.etherrain/src/main/java/org/openhab/binding/etherrain/internal/handler/EtherRainHandler.java @@ -212,5 +212,4 @@ public void initialize() { public void dispose() { stopUpdateJob(); } - } diff --git a/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/binding/binding.xml index 5d4e4a7a68786..42f343a7f3c7e 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,5 @@ - EtherRain Binding diff --git a/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/thing/thing-types.xml index 3b8161b143e7a..d1a09199b9a76 100644 --- a/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.etherrain/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,6 @@ - @@ -11,12 +9,12 @@ This is a stand alone EtherRain device that allows sprinkler control - - - + + + - - + + @@ -103,7 +101,7 @@ Status of the last command given to the Etherrain Water - + @@ -111,7 +109,7 @@ Current operating status of the Etherrain Water - + @@ -119,7 +117,7 @@ Result of operating status Water - + @@ -127,7 +125,7 @@ Provides feedback on whether the EtherRain device has detected rain or not Sensor - + @@ -142,7 +140,7 @@ Number of the last zone that was operating Number - + @@ -152,4 +150,4 @@ Switch - \ No newline at end of file + diff --git a/bundles/org.openhab.binding.evohome/pom.xml b/bundles/org.openhab.binding.evohome/pom.xml index 994cdacd53778..6a3ff333a6056 100644 --- a/bundles/org.openhab.binding.evohome/pom.xml +++ b/bundles/org.openhab.binding.evohome/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.evohome/src/main/feature/feature.xml b/bundles/org.openhab.binding.evohome/src/main/feature/feature.xml index 2f4ac3e249090..00d544b2317d3 100644 --- a/bundles/org.openhab.binding.evohome/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.evohome/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - mvn:org.openhab.addons.bundles/org.openhab.binding.evohome/${project.version} - + + openhab-runtime-base + openhab-transport-http + mvn:org.openhab.addons.bundles/org.openhab.binding.evohome/${project.version} + diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/EvohomeHandlerFactory.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/EvohomeHandlerFactory.java index db54d34f3f75f..65621adf0e8d5 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/EvohomeHandlerFactory.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/EvohomeHandlerFactory.java @@ -105,5 +105,4 @@ protected void setHttpClientFactory(HttpClientFactory httpClientFactory) { protected void unsetHttpClientFactory(HttpClientFactory httpClientFactory) { this.httpClient = null; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/RunnableWithTimeout.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/RunnableWithTimeout.java index fb1309e1eae31..7f17c3cfb7cd5 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/RunnableWithTimeout.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/RunnableWithTimeout.java @@ -23,5 +23,4 @@ public interface RunnableWithTimeout { public abstract void run() throws TimeoutException; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiClient.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiClient.java index 60efa794a3013..7d0ff20b3714b 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiClient.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiClient.java @@ -257,5 +257,4 @@ private void updateAuthentication() { } } } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiConstants.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiConstants.java index f43dcffaeffd3..fab7aa3c46f08 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiConstants.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/EvohomeApiConstants.java @@ -23,14 +23,13 @@ public class EvohomeApiConstants { public static final String URL_V2_BASE = "https://tccna.honeywell.com/WebAPI/emea/api/v1/"; - public static final String URL_V2_ACCOUNT = "userAccount"; + public static final String URL_V2_ACCOUNT = "userAccount"; public static final String URL_V2_INSTALLATION_INFO = "location/installationInfo?userId=%s&includeTemperatureControlSystems=True";// {userId} - public static final String URL_V2_LOCATION = "location/%s/installationInfo?includeTemperatureControlSystems=True"; // {locationId} - public static final String URL_V2_GATEWAY = "gateway"; - public static final String URL_V2_HOT_WATER = "domesticHotWater/%s/state"; // {hardwareId} - public static final String URL_V2_SCHEDULE = "%s/%s/schedule"; // {zone_type}, {zoneId} - public static final String URL_V2_HEAT_SETPOINT = "temperatureZone/%s/heatSetpoint"; // {zoneId} - public static final String URL_V2_LOCATION_STATUS = "location/%s/status?includeTemperatureControlSystems=True"; // {locationId} - public static final String URL_V2_MODE = "temperatureControlSystem/%s/mode"; // {systemId} - + public static final String URL_V2_LOCATION = "location/%s/installationInfo?includeTemperatureControlSystems=True"; // {locationId} + public static final String URL_V2_GATEWAY = "gateway"; + public static final String URL_V2_HOT_WATER = "domesticHotWater/%s/state"; // {hardwareId} + public static final String URL_V2_SCHEDULE = "%s/%s/schedule"; // {zone_type}, {zoneId} + public static final String URL_V2_HEAT_SETPOINT = "temperatureZone/%s/heatSetpoint"; // {zoneId} + public static final String URL_V2_LOCATION_STATUS = "location/%s/status?includeTemperatureControlSystems=True"; // {locationId} + public static final String URL_V2_MODE = "temperatureControlSystem/%s/mode"; // {systemId} } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPoint.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPoint.java index f43f3ea56a802..7bc4f05ea681c 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPoint.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPoint.java @@ -51,5 +51,4 @@ public class HeatSetPoint { @SerializedName("timeUntil") private String timeUntil; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPointBuilder.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPointBuilder.java index 09da0c6c5d952..2bb4a13adaeaa 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPointBuilder.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/HeatSetPointBuilder.java @@ -51,5 +51,4 @@ public HeatSetPointBuilder setCancelSetPoint() { cancelSetPoint = true; return this; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/Mode.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/Mode.java index f03fc85565fe5..27ae53ac8b379 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/Mode.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/Mode.java @@ -42,5 +42,4 @@ public class Mode { @SerializedName("permanent") private boolean permanent; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/ModeBuilder.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/ModeBuilder.java index af99fa388de45..27d5dd3ba0338 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/ModeBuilder.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/ModeBuilder.java @@ -46,5 +46,4 @@ public ModeBuilder setMode(String mode) { this.mode = mode; return this; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/RequestBuilder.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/RequestBuilder.java index 077be44198997..f1a4406f7747a 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/RequestBuilder.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/RequestBuilder.java @@ -21,5 +21,4 @@ public interface RequestBuilder { public T build(); - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/TimedRequestBuilder.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/TimedRequestBuilder.java index 7e1ef8dac3435..613158d1bb9b6 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/TimedRequestBuilder.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/request/TimedRequestBuilder.java @@ -47,5 +47,4 @@ protected int getMonth() { protected int getDay() { return day; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Authentication.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Authentication.java index 868649038fa86..98a412a0d46bc 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Authentication.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Authentication.java @@ -59,5 +59,4 @@ public void setSystemTime(long systemTime) { public long getSystemTime() { return systemTime; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Gateway.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Gateway.java index bdc9a5a05d9a7..b01944ddfeb04 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Gateway.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Gateway.java @@ -37,5 +37,4 @@ public GatewayInfo getGatewayInfo() { public List getTemperatureControlSystems() { return temperatureControlSystems; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/GatewayStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/GatewayStatus.java index 2c8e8000e2b72..ba089c1d2dd5e 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/GatewayStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/GatewayStatus.java @@ -44,5 +44,4 @@ public boolean hasActiveFaults() { public ActiveFault getActiveFault(int index) { return activeFaults.get(index); } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointCapabilities.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointCapabilities.java index 9bf7e024b1a1f..96587cba27cd2 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointCapabilities.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointCapabilities.java @@ -41,5 +41,4 @@ public class HeatSetpointCapabilities { @SerializedName("timingResolution") private String timingResolution; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointStatus.java index f5877f1a5aef7..0719966d0f0c1 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/HeatSetpointStatus.java @@ -35,5 +35,4 @@ public double getTargetTemperature() { public String getSetpointMode() { return setpointMode; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationInfo.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationInfo.java index 396a28f05d940..2e7c876a4c726 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationInfo.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationInfo.java @@ -59,5 +59,4 @@ public String getLocationId() { public String getName() { return name; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationOwner.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationOwner.java index 52d41d64836c9..e1202445a81a6 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationOwner.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationOwner.java @@ -33,5 +33,4 @@ public class LocationOwner { @SerializedName("lastname") private String lastName; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationStatus.java index c17340831e509..cb220f8eadd43 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/LocationStatus.java @@ -39,5 +39,4 @@ public LocationStatus() { public List getGateways() { return gateways; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Mode.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Mode.java index a00cedbea49ca..f1480715bc96e 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Mode.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Mode.java @@ -39,5 +39,4 @@ public class Mode { @SerializedName("timingResolution") private String timingResolution; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ScheduleCapabilities.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ScheduleCapabilities.java index b6b9af7989042..e9b1f705e2ca1 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ScheduleCapabilities.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ScheduleCapabilities.java @@ -33,5 +33,4 @@ public class ScheduleCapabilities { @SerializedName("timingResolution") private String timingResolution; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/SystemModeStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/SystemModeStatus.java index 8a27d62df482b..5d9f35710fbcd 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/SystemModeStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/SystemModeStatus.java @@ -31,5 +31,4 @@ public class SystemModeStatus { public String getMode() { return mode; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystem.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystem.java index 89f6ba049baa4..5efddd57e127c 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystem.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystem.java @@ -43,5 +43,4 @@ public String getSystemId() { public List getZones() { return zones; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystemStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystemStatus.java index 6baffbc00072f..f0d651083f338 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystemStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureControlSystemStatus.java @@ -47,5 +47,4 @@ public SystemModeStatus getMode() { public List getZones() { return zones; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureStatus.java index 5ecc7d23f995a..4939f1bac9441 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TemperatureStatus.java @@ -31,5 +31,4 @@ public class TemperatureStatus { public double getTemperature() { return temperature; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TimeZone.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TimeZone.java index 376e4f91c98ad..f7262202011ad 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TimeZone.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/TimeZone.java @@ -36,5 +36,4 @@ public class TimeZone { @SerializedName("supportsDaylightSaving") private boolean supportsDaylightSaving; - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/UserAccount.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/UserAccount.java index b4f3828e725af..d2ebb48ebfcab 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/UserAccount.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/UserAccount.java @@ -52,5 +52,4 @@ public class UserAccount { public String getUserId() { return userId; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Zone.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Zone.java index 2f08f3dd7923a..97397ddcd2993 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Zone.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/Zone.java @@ -47,5 +47,4 @@ public String getZoneId() { public String getName() { return name; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ZoneStatus.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ZoneStatus.java index 1bf6a056c5bfd..e3afa792d7f6a 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ZoneStatus.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/api/models/v2/response/ZoneStatus.java @@ -58,5 +58,4 @@ public boolean hasActiveFaults() { public ActiveFault getActiveFault(int index) { return activeFaults.get(index); } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/discovery/EvohomeDiscoveryService.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/discovery/EvohomeDiscoveryService.java index 0325f53a2efb6..6fc1bcd7d47bd 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/discovery/EvohomeDiscoveryService.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/discovery/EvohomeDiscoveryService.java @@ -130,5 +130,4 @@ private void addDiscoveredThing(ThingUID thingUID, Map propertie .withBridge(bridgeUID).withLabel(displayLabel).build(); thingDiscovered(discoveryResult); } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/AccountStatusListener.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/AccountStatusListener.java index 7d27203e76f13..f9012d2985e5b 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/AccountStatusListener.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/AccountStatusListener.java @@ -28,5 +28,4 @@ public interface AccountStatusListener { * @param status The new status of the account thing */ public void accountStatusChanged(ThingStatus status); - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/BaseEvohomeHandler.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/BaseEvohomeHandler.java index 6f70227dc7938..23e060372d0e4 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/BaseEvohomeHandler.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/BaseEvohomeHandler.java @@ -136,5 +136,4 @@ private void checkConfig() { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Id not configured"); } } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeAccountBridgeHandler.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeAccountBridgeHandler.java index 4a3008791a312..43f785d64715f 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeAccountBridgeHandler.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeAccountBridgeHandler.java @@ -275,5 +275,4 @@ private void updateThings() { } } } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeHeatingZoneHandler.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeHeatingZoneHandler.java index b71895fe4cc9b..644e590633d08 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeHeatingZoneHandler.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeHeatingZoneHandler.java @@ -102,5 +102,4 @@ private boolean handleActiveFaults(ZoneStatus zoneStatus) { } return false; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeTemperatureControlSystemHandler.java b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeTemperatureControlSystemHandler.java index b9c16488471e0..22caa04f7efb6 100644 --- a/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeTemperatureControlSystemHandler.java +++ b/bundles/org.openhab.binding.evohome/src/main/java/org/openhab/binding/evohome/internal/handler/EvohomeTemperatureControlSystemHandler.java @@ -76,5 +76,4 @@ private boolean handleActiveFaults(GatewayStatus gatewayStatus) { } return false; } - } diff --git a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/binding/binding.xml index e7d59f10f7cb9..9713915143ba1 100644 --- a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,7 @@ - + evohome Binding The evohome binding controls the Honeywell evohome system. Jasper van Zuijlen diff --git a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/bridge.xml index 9251ecaab5d07..fe0e59ed535f6 100644 --- a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,9 +1,13 @@ - + - The evohome account is used to connect to your Total Connect Comfort (TCC) using your TCC username and password. + The evohome account is used to connect to your Total Connect Comfort (TCC) using your TCC username and + password. diff --git a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/channels.xml index bd782b257338f..c7b8c7e2538f3 100644 --- a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,8 @@ - + String @@ -29,7 +32,7 @@ Gets or sets the set point of this zone (0 cancels the override). heating - + String diff --git a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/thing-types.xml index 50cd2ce9c156b..57eb85be349f9 100644 --- a/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.evohome/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,13 +1,16 @@ - + - + This represents the evohome control display. - + @@ -22,16 +25,16 @@ - + This represents the evohome Heating Zone. - - - + + + - + ID of the zone diff --git a/bundles/org.openhab.binding.exec/pom.xml b/bundles/org.openhab.binding.exec/pom.xml index 838f361563db6..7048030a8e23a 100644 --- a/bundles/org.openhab.binding.exec/pom.xml +++ b/bundles/org.openhab.binding.exec/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.exec/src/main/feature/feature.xml b/bundles/org.openhab.binding.exec/src/main/feature/feature.xml index c4352dbe55c8d..19de0c221a998 100644 --- a/bundles/org.openhab.binding.exec/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.exec/src/main/feature/feature.xml @@ -1,6 +1,5 @@ - + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features diff --git a/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/ExecHandlerFactory.java b/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/ExecHandlerFactory.java index 6bd853a3c5794..2a6b06d5d058f 100644 --- a/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/ExecHandlerFactory.java +++ b/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/ExecHandlerFactory.java @@ -12,6 +12,11 @@ */ package org.openhab.binding.exec.internal; +import static org.openhab.binding.exec.internal.ExecBindingConstants.THING_COMMAND; + +import java.util.Collections; +import java.util.Set; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.thing.Thing; @@ -26,11 +31,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collections; -import java.util.Set; - -import static org.openhab.binding.exec.internal.ExecBindingConstants.THING_COMMAND; - /** * The {@link ExecHandlerFactory} is responsible for creating things and thing * handlers. diff --git a/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/handler/ExecHandler.java b/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/handler/ExecHandler.java index 2c43f64e3e455..1940a9a669165 100644 --- a/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/handler/ExecHandler.java +++ b/bundles/org.openhab.binding.exec/src/main/java/org/openhab/binding/exec/internal/handler/ExecHandler.java @@ -12,6 +12,22 @@ */ package org.openhab.binding.exec.internal.handler; +import static org.openhab.binding.exec.internal.ExecBindingConstants.*; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.math.BigDecimal; +import java.time.ZonedDateTime; +import java.util.Arrays; +import java.util.Calendar; +import java.util.IllegalFormatException; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.regex.PatternSyntaxException; + import org.apache.commons.lang.StringUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -34,22 +50,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.math.BigDecimal; -import java.time.ZonedDateTime; -import java.util.Arrays; -import java.util.Calendar; -import java.util.IllegalFormatException; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import java.util.regex.PatternSyntaxException; - -import static org.openhab.binding.exec.internal.ExecBindingConstants.*; - /** * The {@link ExecHandler} is responsible for handling commands, which are * sent to one of the channels. @@ -127,8 +127,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { @Override public void initialize() { if (executionJob == null || executionJob.isCancelled()) { - if ((getConfig().get(INTERVAL)) != null && ((BigDecimal) getConfig().get(INTERVAL)) - .intValue() > 0) { + if ((getConfig().get(INTERVAL)) != null && ((BigDecimal) getConfig().get(INTERVAL)).intValue() > 0) { int pollingInterval = ((BigDecimal) getConfig().get(INTERVAL)).intValue(); executionJob = scheduler.scheduleWithFixedDelay(this::execute, 0, pollingInterval, TimeUnit.SECONDS); } @@ -309,8 +308,8 @@ public void execute() { String transformationType = parts[0]; String transformationFunction = parts[1]; - TransformationService transformationService = TransformationHelper - .getTransformationService(bundleContext, transformationType); + TransformationService transformationService = TransformationHelper.getTransformationService(bundleContext, + transformationType); if (transformationService != null) { transformedResponse = transformationService.transform(transformationFunction, response); } else { @@ -341,8 +340,8 @@ protected String[] splitTransformationConfig(String transformation) { Matcher matcher = EXTRACT_FUNCTION_PATTERN.matcher(transformation); if (!matcher.matches()) { - throw new IllegalArgumentException( - "given transformation function '" + transformation + "' does not follow the expected pattern '()'"); + throw new IllegalArgumentException("given transformation function '" + transformation + + "' does not follow the expected pattern '()'"); } matcher.reset(); @@ -394,7 +393,12 @@ protected String[] createCmdArray(String[] shell, String cOption, String command * @author Constantin Piber (for Memin) - Initial contribution */ public enum OS { - WINDOWS, LINUX, MAC, SOLARIS, UNKNOWN, NOT_SET + WINDOWS, + LINUX, + MAC, + SOLARIS, + UNKNOWN, + NOT_SET } private static OS os = OS.NOT_SET; @@ -420,5 +424,4 @@ public static OS getOperatingSystemType() { public static String getOperatingSystemName() { return System.getProperty("os.name"); } - } diff --git a/bundles/org.openhab.binding.exec/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.exec/src/main/resources/ESH-INF/thing/thing-types.xml index 656911205cb29..ebcaad830ab8e 100644 --- a/bundles/org.openhab.binding.exec/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.exec/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,11 +9,11 @@ The Command encapsulates a shell command to be executed - - - - - + + + + + diff --git a/bundles/org.openhab.binding.feed/pom.xml b/bundles/org.openhab.binding.feed/pom.xml index 386b3dee840e8..b9acca3983f62 100644 --- a/bundles/org.openhab.binding.feed/pom.xml +++ b/bundles/org.openhab.binding.feed/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/binding/binding.xml index 8520f5ff17764..3a48a8fd272d6 100644 --- a/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/binding/binding.xml @@ -5,7 +5,8 @@ Feed Binding The Feed Binding downloads Feed data from URL, - displays information about the feed (number of Entries, last published date, author, feed title and description, last entry) + displays information about the feed (number of Entries, last + published date, author, feed title and description, last entry) and tracks for changes in the Feed at intervals. Svilen Valkanov diff --git a/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/thing/thing-types.xml index eaa35eb3e9113..2c64a443ef22c 100644 --- a/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.feed/src/main/resources/ESH-INF/thing/thing-types.xml @@ -5,7 +5,8 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -15,14 +16,14 @@ Provides information about a feed. - - - - - - - - + + + + + + + + @@ -47,56 +48,56 @@ String Contains the title of the last feed entry. - + String Contains the description of last feed entry. - + DateTime Contains the published date of the last feed entry. - + String The name of the feed author, if author is present - + String The title of the feed - + String Description of the feed - + DateTime The last update date of the feed - + Number Number of entries in the feed - + diff --git a/bundles/org.openhab.binding.feican/pom.xml b/bundles/org.openhab.binding.feican/pom.xml index d99a99a635da6..6a735447422f7 100644 --- a/bundles/org.openhab.binding.feican/pom.xml +++ b/bundles/org.openhab.binding.feican/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.feican/src/main/feature/feature.xml b/bundles/org.openhab.binding.feican/src/main/feature/feature.xml index 6b3a8d4d7c71e..75483e2dc03e0 100644 --- a/bundles/org.openhab.binding.feican/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.feican/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.feican/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.feican/${project.version} + diff --git a/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/binding/binding.xml index c732af7bbdae0..96a399d1a3499 100644 --- a/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Feican Binding This is the binding for Feican light bulbs. diff --git a/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/thing/thing-types.xml index 8ff76807784ac..3203300435982 100644 --- a/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.feican/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,18 +1,18 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> A dimmable light with changeable colors. - - - - + + + + diff --git a/bundles/org.openhab.binding.folding/pom.xml b/bundles/org.openhab.binding.folding/pom.xml index 368354ed8a297..57ca3a4aa671d 100644 --- a/bundles/org.openhab.binding.folding/pom.xml +++ b/bundles/org.openhab.binding.folding/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.folding/src/main/feature/feature.xml b/bundles/org.openhab.binding.folding/src/main/feature/feature.xml index 54b659f02ebfb..86b128e1a319b 100644 --- a/bundles/org.openhab.binding.folding/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.folding/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.folding/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.folding/${project.version} + diff --git a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/FoldingBindingConstants.java b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/FoldingBindingConstants.java index e68e30d7df871..8f84d8f296888 100644 --- a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/FoldingBindingConstants.java +++ b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/FoldingBindingConstants.java @@ -34,5 +34,4 @@ public class FoldingBindingConstants { // List of all Channel ids public static final String CHANNEL_STATUS = "status"; - } diff --git a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/discovery/FoldingDiscoveryProxy.java b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/discovery/FoldingDiscoveryProxy.java index 1a8b75469110b..f5714bd41c78f 100644 --- a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/discovery/FoldingDiscoveryProxy.java +++ b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/discovery/FoldingDiscoveryProxy.java @@ -44,5 +44,4 @@ public void newSlot(ThingUID bridgeUID, String host, String id, String descripti discoveryService.newSlot(bridgeUID, host, id, description); } } - } diff --git a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotHandler.java b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotHandler.java index 1505c3726113c..b8af4fcdf4649 100644 --- a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotHandler.java +++ b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotHandler.java @@ -87,5 +87,4 @@ public void refreshed(SlotInfo si) { updateState(getThing().getChannel("run").getUID(), run ? OnOffType.ON : OnOffType.OFF); updateState(getThing().getChannel("description").getUID(), new StringType(si.description)); } - } diff --git a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotInfo.java b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotInfo.java index 658545aec2d99..1c691915d8360 100644 --- a/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotInfo.java +++ b/bundles/org.openhab.binding.folding/src/main/java/org/openhab/binding/folding/internal/handler/SlotInfo.java @@ -27,5 +27,4 @@ public class SlotInfo { public String id, status, description, reason; public Map options; boolean idle; - } diff --git a/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/binding/binding.xml index 57447bf47da4d..40056c74c8830 100644 --- a/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Folding@home diff --git a/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/thing/thing-types.xml index 35b2c35406f9e..19c5612c27569 100644 --- a/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.folding/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,8 +9,8 @@ Folding@home client daemon (represented as bridge). - - + + @@ -49,17 +50,17 @@ - + Folding client compute slot. - - - - + + + + @@ -75,13 +76,13 @@ String Description of the Folding@home slot. - + String Current status - + diff --git a/bundles/org.openhab.binding.foobot/pom.xml b/bundles/org.openhab.binding.foobot/pom.xml index 5eb6e429cfe46..b83b9aff0e769 100644 --- a/bundles/org.openhab.binding.foobot/pom.xml +++ b/bundles/org.openhab.binding.foobot/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.foobot/src/main/feature/feature.xml b/bundles/org.openhab.binding.foobot/src/main/feature/feature.xml index c28c56fe50eef..efeb0c4b46366 100644 --- a/bundles/org.openhab.binding.foobot/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.foobot/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.foobot/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.foobot/${project.version} + diff --git a/bundles/org.openhab.binding.foobot/src/main/java/org/openhab/binding/foobot/internal/handler/FoobotDeviceHandler.java b/bundles/org.openhab.binding.foobot/src/main/java/org/openhab/binding/foobot/internal/handler/FoobotDeviceHandler.java index f2e6db6ce7de4..bd58bf6bcf40a 100644 --- a/bundles/org.openhab.binding.foobot/src/main/java/org/openhab/binding/foobot/internal/handler/FoobotDeviceHandler.java +++ b/bundles/org.openhab.binding.foobot/src/main/java/org/openhab/binding/foobot/internal/handler/FoobotDeviceHandler.java @@ -217,5 +217,4 @@ protected State sensorDataToState(final String channelId, final FoobotJsonData d ? (FoobotAccountHandler) getBridge().getHandler() : null; } - } diff --git a/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/binding/binding.xml index 6e75bf30e17fa..0878247245f36 100644 --- a/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/binding/binding.xml @@ -4,6 +4,7 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> Foobot - Foobot binding allow users to connect to their foobots in home or office and get real-time updates on the Air Quality. + Foobot binding allow users to connect to their foobots in home or office and get real-time updates on the + Air Quality. Divya Chauhan and George Katsis diff --git a/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/thing/thing-types.xml index 052aa4e76714b..7e352fac1b590 100644 --- a/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.foobot/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,7 +10,7 @@ Your Foobot account. - + @@ -36,20 +36,20 @@ - + A Foobot device. - - - - - - - + + + + + + + uuid @@ -66,52 +66,52 @@ DateTime The last time the sensor data was uploaded to Foobot - + Number:Density Particulate Matter Level - + Number:Temperature Temperature Temperature - + Number:Dimensionless Humidity Level Humidity - + Number:Dimensionless Carbon dioxide Level CarbonDioxide - + Number:Dimensionless Volatile Organic Compounds Level - + Number:Dimensionless Global Pollution Index Level - + Number The remaining number of calls that can be made to the api today - + diff --git a/bundles/org.openhab.binding.freebox/pom.xml b/bundles/org.openhab.binding.freebox/pom.xml index 3c7b382e23e02..c2c84f6c4e75a 100644 --- a/bundles/org.openhab.binding.freebox/pom.xml +++ b/bundles/org.openhab.binding.freebox/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.freebox/src/main/feature/feature.xml b/bundles/org.openhab.binding.freebox/src/main/feature/feature.xml index 7e6834d806c5c..f6f6bb849088e 100644 --- a/bundles/org.openhab.binding.freebox/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.freebox/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.freebox/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.freebox/${project.version} + diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxAirPlayAudioSink.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxAirPlayAudioSink.java index d3398a6391f89..1f7cfab4b8f6c 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxAirPlayAudioSink.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxAirPlayAudioSink.java @@ -173,5 +173,4 @@ public PercentType getVolume() { public void setVolume(PercentType volume) { throw new UnsupportedOperationException("Volume can not be set"); } - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxHandlerFactory.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxHandlerFactory.java index 65f9df94cafcb..f04a399111f32 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxHandlerFactory.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/FreeboxHandlerFactory.java @@ -204,5 +204,4 @@ protected void setNetworkAddressService(NetworkAddressService networkAddressServ protected void unsetNetworkAddressService(NetworkAddressService networkAddressService) { this.networkAddressService = null; } - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java index d3378735bd1ba..e16dc21043455 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/FreeboxApiManager.java @@ -498,5 +498,4 @@ private static String hmacSha1(String key, String value) throws FreeboxException throw new FreeboxException("Computing the hmac-sha1 of the challenge and the app token failed", e); } } - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/model/FreeboxResponse.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/model/FreeboxResponse.java index bb3521bc9274c..533c94477ec15 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/model/FreeboxResponse.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/api/model/FreeboxResponse.java @@ -69,5 +69,4 @@ public String getMissingRight() { public T getResult() { return result; } - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxAirPlayDeviceConfiguration.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxAirPlayDeviceConfiguration.java index ab2284eb42610..d1f2e79755afc 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxAirPlayDeviceConfiguration.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxAirPlayDeviceConfiguration.java @@ -27,5 +27,4 @@ public class FreeboxAirPlayDeviceConfiguration { public String name; public String password; public Boolean acceptAllMp3; - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetDeviceConfiguration.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetDeviceConfiguration.java index b6e603c21207f..f6256a2c99a75 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetDeviceConfiguration.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetDeviceConfiguration.java @@ -24,5 +24,4 @@ public class FreeboxNetDeviceConfiguration { public static final String MAC_ADDRESS = "macAddress"; public String macAddress; - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetInterfaceConfiguration.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetInterfaceConfiguration.java index d6e0338fae1f1..2836ef9e0263a 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetInterfaceConfiguration.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxNetInterfaceConfiguration.java @@ -24,5 +24,4 @@ public class FreeboxNetInterfaceConfiguration { public static final String IP_ADDRESS = "ipAddress"; public String ipAddress; - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxPhoneConfiguration.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxPhoneConfiguration.java index 33a22d21709a7..ea37d3aac164a 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxPhoneConfiguration.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxPhoneConfiguration.java @@ -25,5 +25,4 @@ public class FreeboxPhoneConfiguration { public Integer refreshPhoneInterval; public Integer refreshPhoneCallsInterval; - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxServerConfiguration.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxServerConfiguration.java index 0e7171ccbe09d..b649eb41a876e 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxServerConfiguration.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/config/FreeboxServerConfiguration.java @@ -38,5 +38,4 @@ public class FreeboxServerConfiguration { public Boolean discoverNetDevice; public Boolean discoverNetInterface; public Boolean discoverAirPlayReceiver; - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxDiscoveryService.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxDiscoveryService.java index 787a6487a855a..da2fcbef34a13 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxDiscoveryService.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxDiscoveryService.java @@ -216,5 +216,4 @@ public void onDataFetched(ThingUID bridge, List lanHosts, } } } - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxServerDiscoveryParticipant.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxServerDiscoveryParticipant.java index 63cdf5ce14eb4..12458065bb3bb 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxServerDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/discovery/FreeboxServerDiscoveryParticipant.java @@ -92,5 +92,4 @@ public DiscoveryResult createResult(ServiceInfo service) { } return result; } - } diff --git a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxThingHandler.java b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxThingHandler.java index 0246b722cad75..7cca08f818089 100644 --- a/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxThingHandler.java +++ b/bundles/org.openhab.binding.freebox/src/main/java/org/openhab/binding/freebox/internal/handler/FreeboxThingHandler.java @@ -418,6 +418,5 @@ public int compare(FreeboxCallEntry call1, FreeboxCallEntry call2) { } return result; } - } } diff --git a/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/binding/binding.xml index 499f7acff0dec..af3c469c155f7 100644 --- a/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Freebox Binding The Freebox binding requests your Freebox Server for various operational informations. diff --git a/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/thing/thing-types.xml index c7729cbe16cd4..ef8a789f5a6e7 100644 --- a/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.freebox/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,31 +9,31 @@ Provides various informations regarding the status of the Freebox Server - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -107,18 +107,18 @@ - + Provides various informations regarding the phone state and the phone calls - - - - - + + + + + @@ -141,14 +141,14 @@ - + Provides network device reachability - + @@ -164,14 +164,14 @@ - + Provides network interface reachability - + @@ -187,15 +187,15 @@ - + Provides media control from one AirPlay device - - + + @@ -225,8 +225,8 @@ The phone state - - + + @@ -234,11 +234,11 @@ The last phone call - - - - - + + + + + @@ -246,10 +246,10 @@ The last accepted phone call - - - - + + + + @@ -257,10 +257,10 @@ The last missed phone call - - - - + + + + @@ -268,10 +268,10 @@ The last outgoing phone call - - - - + + + + @@ -279,14 +279,14 @@ String Version of the Freebox Server Firmware - + Number Time since last reboot of the Freebox Server - + @@ -294,7 +294,7 @@ Has the Freebox server have restarted during the last poll period Alarm - + @@ -309,7 +309,7 @@ Actual measured CPU Marvell temperature of the Freebox Server Temperature - + @@ -317,7 +317,7 @@ Actual measured CPU Broadcom (xDSL) temperature of the Freebox Server Temperature - + @@ -325,14 +325,14 @@ Actual measured switch temperature of the Freebox Server Temperature - + Number Actual measured fan speed (rpm) of the Freebox Server - + @@ -340,7 +340,7 @@ Brightness level of the screen in percent DimmableLight - + @@ -410,56 +410,56 @@ String Status of the xDSL line - + - + Switch Status of the Fiber Optic line - + String Status of network line connexion - + String Public IP Address of the Freebox Server - + Number Current upload rate in byte/s - + Number Current download rate in byte/s - + Number Total uploaded bytes since last connection - + Number Total downloaded bytes since last connection - + @@ -467,7 +467,7 @@ Indicates whether the phone is on hook Switch - + @@ -475,42 +475,42 @@ Is the phone ringing Alarm - + String Called number for outgoing calls. Caller number for incoming calls - + String Called number - + String Caller number - + Number Call duration in seconds - + DateTime Call creation timestamp - + @@ -530,21 +530,21 @@ String Called name for outgoing calls. Caller name for incoming calls - + String Called name - + String Caller name - + @@ -552,7 +552,7 @@ Indicates whether the network device is reachable Switch - + diff --git a/bundles/org.openhab.binding.fronius/pom.xml b/bundles/org.openhab.binding.fronius/pom.xml index 45d26276e5dd7..78bf3d452192e 100644 --- a/bundles/org.openhab.binding.fronius/pom.xml +++ b/bundles/org.openhab.binding.fronius/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.fronius/src/main/feature/feature.xml b/bundles/org.openhab.binding.fronius/src/main/feature/feature.xml index c9781cd4a4632..36830dc5ad572 100644 --- a/bundles/org.openhab.binding.fronius/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.fronius/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.fronius/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.fronius/${project.version} + diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBaseDeviceConfiguration.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBaseDeviceConfiguration.java index a89fc54d6ab0b..4ec788eb5c26c 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBaseDeviceConfiguration.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBaseDeviceConfiguration.java @@ -20,5 +20,4 @@ */ public class FroniusBaseDeviceConfiguration { public Integer deviceId; - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBindingConstants.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBindingConstants.java index 838a0f929263e..67448fed0e4a5 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBindingConstants.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/FroniusBindingConstants.java @@ -50,5 +50,4 @@ public class FroniusBindingConstants { // List of all Urls public static final String INVERTER_REALTIME_DATA_URL = "http://%IP%/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=%DEVICEID%&DataCollection=CommonInverterData"; public static final String POWERFLOW_REALTIME_DATA = "http://%IP%/solar_api/v1/GetPowerFlowRealtimeData.fcgi"; - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/BaseFroniusResponse.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/BaseFroniusResponse.java index 145bd8ba7066c..b9884c5313b98 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/BaseFroniusResponse.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/BaseFroniusResponse.java @@ -33,5 +33,4 @@ public Head getHead() { public void setHead(Head head) { this.head = head; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/DeviceStatus.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/DeviceStatus.java index 0bc296f3e09e6..7c720e7823bf8 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/DeviceStatus.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/DeviceStatus.java @@ -81,5 +81,4 @@ public boolean isStateToReset() { public void setStateToReset(boolean stateToReset) { this.stateToReset = stateToReset; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/Head.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/Head.java index ece9903d6a43a..60abf3ac9c92a 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/Head.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/Head.java @@ -65,5 +65,4 @@ public String getTimestamp() { public void setTimestamp(String timestamp) { this.timestamp = timestamp; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadRequestArguments.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadRequestArguments.java index 9c41e60b42814..9ee0a19819400 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadRequestArguments.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadRequestArguments.java @@ -73,5 +73,4 @@ public String getScope() { public void setScope(String scope) { this.scope = scope; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadStatus.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadStatus.java index 3566c63c709ff..f7f783e6f9793 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadStatus.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/HeadStatus.java @@ -57,5 +57,4 @@ public String getUserMessage() { public void setUserMessage(String userMessage) { this.userMessage = userMessage; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBody.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBody.java index f663ac9034282..20db8ec341240 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBody.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBody.java @@ -34,5 +34,4 @@ public InverterRealtimeBodyData getData() { public void setData(InverterRealtimeBodyData data) { this.data = data; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBodyData.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBodyData.java index 52090e54f045b..120883386d2bc 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBodyData.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeBodyData.java @@ -125,5 +125,4 @@ public ValueUnit getUdc() { public void setUdc(ValueUnit udc) { this.udc = udc; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeResponse.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeResponse.java index 0ad4aa2bd94b4..9accacb73d710 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeResponse.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/InverterRealtimeResponse.java @@ -35,5 +35,4 @@ public InverterRealtimeBody getBody() { public void setBody(InverterRealtimeBody body) { this.body = body; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeBodyData.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeBodyData.java index df6557c32d84d..da22f8c5d1456 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeBodyData.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeBodyData.java @@ -52,5 +52,4 @@ public PowerFlowRealtimeSite getSite() { public void setSite(PowerFlowRealtimeSite site) { this.site = site; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeInverter.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeInverter.java index f518b8610567c..6dd590ebbfa70 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeInverter.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeInverter.java @@ -72,5 +72,4 @@ public double geteTotal() { public void seteTotal(double eTotal) { this.eTotal = eTotal; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeResponse.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeResponse.java index d55dda5eeaa89..78c527f74a709 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeResponse.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeResponse.java @@ -34,5 +34,4 @@ public PowerFlowRealtimeBody getBody() { public void setBody(PowerFlowRealtimeBody body) { this.body = body; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeSite.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeSite.java index 3d99d700cc51d..23508b118093c 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeSite.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/PowerFlowRealtimeSite.java @@ -135,5 +135,4 @@ public String getMeterLocation() { public void setMeterLocation(String meterLocation) { this.meterLocation = meterLocation; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/ValueUnit.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/ValueUnit.java index 7f0de200c9dcd..a1ef83f879473 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/ValueUnit.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/api/ValueUnit.java @@ -47,5 +47,4 @@ public void setUnit(String unit) { this.setValue(KilowattConverter.convertTo(this.getValue(), this.getUnit(), unit)); this.unit = unit; } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBaseThingHandler.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBaseThingHandler.java index 5e3229b3ee24c..0ca41e2d14d1d 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBaseThingHandler.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBaseThingHandler.java @@ -149,5 +149,4 @@ protected void updateChannel(String channelId) { * @param bridgeConfiguration the connected bridge configuration */ public abstract void refresh(FroniusBridgeConfiguration bridgeConfiguration); - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBridgeHandler.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBridgeHandler.java index aa3733107c8b7..185f237d93312 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBridgeHandler.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusBridgeHandler.java @@ -119,5 +119,4 @@ private void startAutomaticRefresh(FroniusBridgeConfiguration config) { refreshJob = scheduler.scheduleWithFixedDelay(runnable, 0, delay, TimeUnit.SECONDS); } } - } diff --git a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusSymoInverterHandler.java b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusSymoInverterHandler.java index 7e16223e329c2..434c9ed441045 100644 --- a/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusSymoInverterHandler.java +++ b/bundles/org.openhab.binding.fronius/src/main/java/org/openhab/binding/fronius/internal/handler/FroniusSymoInverterHandler.java @@ -1,220 +1,219 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.fronius.internal.handler; - -import java.io.IOException; - -import org.apache.commons.lang.StringUtils; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.io.net.http.HttpUtil; -import org.openhab.binding.fronius.internal.FroniusBaseDeviceConfiguration; -import org.openhab.binding.fronius.internal.FroniusBindingConstants; -import org.openhab.binding.fronius.internal.FroniusBridgeConfiguration; -import org.openhab.binding.fronius.internal.api.BaseFroniusResponse; -import org.openhab.binding.fronius.internal.api.InverterRealtimeResponse; -import org.openhab.binding.fronius.internal.api.PowerFlowRealtimeResponse; -import org.openhab.binding.fronius.internal.api.ValueUnit; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.gson.Gson; -import com.google.gson.JsonSyntaxException; - -/** - * The {@link FroniusSymoInverterHandler} is responsible for updating the data, which are - * sent to one of the channels. - * - * @author Thomas Rokohl - Initial contribution - * @author Peter Schraffl - Added device status and error status channels - */ -public class FroniusSymoInverterHandler extends FroniusBaseThingHandler { - - private static final int API_TIMEOUT = 5000; - private final Logger logger = LoggerFactory.getLogger(FroniusSymoInverterHandler.class); - private InverterRealtimeResponse inverterRealtimeResponse; - private PowerFlowRealtimeResponse powerFlowResponse; - private FroniusBaseDeviceConfiguration config; - private final Gson gson; - - public FroniusSymoInverterHandler(Thing thing) { - super(thing); - gson = new Gson(); - } - - @Override - protected String getDescription() { - return "Fronius Symo Inverter"; - } - - @Override - public void refresh(FroniusBridgeConfiguration bridgeConfiguration) { - updateData(bridgeConfiguration, config); - updateChannels(); - } - - @Override - public void initialize() { - config = getConfigAs(FroniusBaseDeviceConfiguration.class); - super.initialize(); - } - - /** - * Update the channel from the last data retrieved - * - * @param channelId the id identifying the channel to be updated - * @return the last retrieved data - */ - @Override - protected Object getValue(String channelId) { - String[] fields = StringUtils.split(channelId, "#"); - - String fieldName = fields[0]; - - if (inverterRealtimeResponse == null) { - return null; - } - switch (fieldName) { - case FroniusBindingConstants.InverterDataChannelDayEnergy: - ValueUnit day = inverterRealtimeResponse.getBody().getData().getDayEnergy(); - if (day != null) { - day.setUnit("kWh"); - } - return day; - case FroniusBindingConstants.InverterDataChannelPac: - return inverterRealtimeResponse.getBody().getData().getPac(); - case FroniusBindingConstants.InverterDataChannelTotal: - ValueUnit total = inverterRealtimeResponse.getBody().getData().getTotalEnergy(); - if (total != null) { - total.setUnit("MWh"); - } - return total; - case FroniusBindingConstants.InverterDataChannelYear: - ValueUnit year = inverterRealtimeResponse.getBody().getData().getYearEnergy(); - if (year != null) { - year.setUnit("MWh"); - } - return year; - case FroniusBindingConstants.InverterDataChannelFac: - return inverterRealtimeResponse.getBody().getData().getFac(); - case FroniusBindingConstants.InverterDataChannelIac: - return inverterRealtimeResponse.getBody().getData().getIac(); - case FroniusBindingConstants.InverterDataChannelIdc: - return inverterRealtimeResponse.getBody().getData().getIdc(); - case FroniusBindingConstants.InverterDataChannelUac: - return inverterRealtimeResponse.getBody().getData().getUac(); - case FroniusBindingConstants.InverterDataChannelUdc: - return inverterRealtimeResponse.getBody().getData().getUdc(); - case FroniusBindingConstants.InverterDataChannelDeviceStatusErrorCode: - return inverterRealtimeResponse.getBody().getData().getDeviceStatus().getErrorCode(); - case FroniusBindingConstants.InverterDataChannelDeviceStatusStatusCode: - return inverterRealtimeResponse.getBody().getData().getDeviceStatus().getStatusCode(); - } - if (powerFlowResponse == null) { - return null; - } - switch (fieldName) { - case FroniusBindingConstants.PowerFlowpGrid: - return powerFlowResponse.getBody().getData().getSite().getPgrid(); - case FroniusBindingConstants.PowerFlowpLoad: - return powerFlowResponse.getBody().getData().getSite().getPload(); - case FroniusBindingConstants.PowerFlowpAkku: - return powerFlowResponse.getBody().getData().getSite().getPakku(); - } - - return null; - } - - /** - * Get new data - */ - private void updateData(FroniusBridgeConfiguration bridgeConfiguration, FroniusBaseDeviceConfiguration config) { - inverterRealtimeResponse = getRealtimeData(bridgeConfiguration.hostname, config.deviceId); - powerFlowResponse = getPowerFlowRealtime(bridgeConfiguration.hostname); - } - - /** - * - * @param type response class type - * @param url to request - * @return the object representation of the json response - */ - private T collectDataFormUrl(Class type, String url) { - T result = null; - boolean resultOk = false; - String errorMsg = null; - - try { - logger.debug("URL = {}", url); - String response = HttpUtil.executeUrl("GET", url, API_TIMEOUT); - - if (response != null) { - logger.debug("aqiResponse = {}", response); - result = gson.fromJson(response, type); - } - - if (result == null) { - errorMsg = "no data returned"; - } else { - if (result.getHead().getStatus().getCode() == 0) { - resultOk = true; - } else { - errorMsg = result.getHead().getStatus().getReason(); - } - } - if (!resultOk) { - logger.debug("Error in fronius response: {}", errorMsg); - } - } catch (JsonSyntaxException e) { - errorMsg = "Configuration is incorrect"; - logger.debug("Error running fronius request: {}", errorMsg); - } catch (IOException | IllegalStateException e) { - logger.debug("Error running fronius request: {}", e.getMessage()); - } - - // Update the thing status - if (resultOk) { - updateStatus(ThingStatus.ONLINE); - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR, errorMsg); - } - return resultOk ? result : null; - } - - /** - * Make the PowerFlowRealtimeDataRequest - * - * @param ip address of the device - * @return {PowerFlowRealtimeResponse} the object representation of the json response - */ - private PowerFlowRealtimeResponse getPowerFlowRealtime(String ip) { - String location = FroniusBindingConstants.POWERFLOW_REALTIME_DATA.replace("%IP%", StringUtils.trimToEmpty(ip)); - return collectDataFormUrl(PowerFlowRealtimeResponse.class, location); - } - - /** - * Make the InverterRealtimeDataRequest - * - * @param ip address of the device - * @param deviceId of the device - * @return {InverterRealtimeResponse} the object representation of the json response - */ - private InverterRealtimeResponse getRealtimeData(String ip, int deviceId) { - String location = FroniusBindingConstants.INVERTER_REALTIME_DATA_URL.replace("%IP%", - StringUtils.trimToEmpty(ip)); - location = location.replace("%DEVICEID%", Integer.toString(deviceId)); - return collectDataFormUrl(InverterRealtimeResponse.class, location); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.fronius.internal.handler; + +import java.io.IOException; + +import org.apache.commons.lang.StringUtils; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.io.net.http.HttpUtil; +import org.openhab.binding.fronius.internal.FroniusBaseDeviceConfiguration; +import org.openhab.binding.fronius.internal.FroniusBindingConstants; +import org.openhab.binding.fronius.internal.FroniusBridgeConfiguration; +import org.openhab.binding.fronius.internal.api.BaseFroniusResponse; +import org.openhab.binding.fronius.internal.api.InverterRealtimeResponse; +import org.openhab.binding.fronius.internal.api.PowerFlowRealtimeResponse; +import org.openhab.binding.fronius.internal.api.ValueUnit; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.google.gson.Gson; +import com.google.gson.JsonSyntaxException; + +/** + * The {@link FroniusSymoInverterHandler} is responsible for updating the data, which are + * sent to one of the channels. + * + * @author Thomas Rokohl - Initial contribution + * @author Peter Schraffl - Added device status and error status channels + */ +public class FroniusSymoInverterHandler extends FroniusBaseThingHandler { + + private static final int API_TIMEOUT = 5000; + private final Logger logger = LoggerFactory.getLogger(FroniusSymoInverterHandler.class); + private InverterRealtimeResponse inverterRealtimeResponse; + private PowerFlowRealtimeResponse powerFlowResponse; + private FroniusBaseDeviceConfiguration config; + private final Gson gson; + + public FroniusSymoInverterHandler(Thing thing) { + super(thing); + gson = new Gson(); + } + + @Override + protected String getDescription() { + return "Fronius Symo Inverter"; + } + + @Override + public void refresh(FroniusBridgeConfiguration bridgeConfiguration) { + updateData(bridgeConfiguration, config); + updateChannels(); + } + + @Override + public void initialize() { + config = getConfigAs(FroniusBaseDeviceConfiguration.class); + super.initialize(); + } + + /** + * Update the channel from the last data retrieved + * + * @param channelId the id identifying the channel to be updated + * @return the last retrieved data + */ + @Override + protected Object getValue(String channelId) { + String[] fields = StringUtils.split(channelId, "#"); + + String fieldName = fields[0]; + + if (inverterRealtimeResponse == null) { + return null; + } + switch (fieldName) { + case FroniusBindingConstants.InverterDataChannelDayEnergy: + ValueUnit day = inverterRealtimeResponse.getBody().getData().getDayEnergy(); + if (day != null) { + day.setUnit("kWh"); + } + return day; + case FroniusBindingConstants.InverterDataChannelPac: + return inverterRealtimeResponse.getBody().getData().getPac(); + case FroniusBindingConstants.InverterDataChannelTotal: + ValueUnit total = inverterRealtimeResponse.getBody().getData().getTotalEnergy(); + if (total != null) { + total.setUnit("MWh"); + } + return total; + case FroniusBindingConstants.InverterDataChannelYear: + ValueUnit year = inverterRealtimeResponse.getBody().getData().getYearEnergy(); + if (year != null) { + year.setUnit("MWh"); + } + return year; + case FroniusBindingConstants.InverterDataChannelFac: + return inverterRealtimeResponse.getBody().getData().getFac(); + case FroniusBindingConstants.InverterDataChannelIac: + return inverterRealtimeResponse.getBody().getData().getIac(); + case FroniusBindingConstants.InverterDataChannelIdc: + return inverterRealtimeResponse.getBody().getData().getIdc(); + case FroniusBindingConstants.InverterDataChannelUac: + return inverterRealtimeResponse.getBody().getData().getUac(); + case FroniusBindingConstants.InverterDataChannelUdc: + return inverterRealtimeResponse.getBody().getData().getUdc(); + case FroniusBindingConstants.InverterDataChannelDeviceStatusErrorCode: + return inverterRealtimeResponse.getBody().getData().getDeviceStatus().getErrorCode(); + case FroniusBindingConstants.InverterDataChannelDeviceStatusStatusCode: + return inverterRealtimeResponse.getBody().getData().getDeviceStatus().getStatusCode(); + } + if (powerFlowResponse == null) { + return null; + } + switch (fieldName) { + case FroniusBindingConstants.PowerFlowpGrid: + return powerFlowResponse.getBody().getData().getSite().getPgrid(); + case FroniusBindingConstants.PowerFlowpLoad: + return powerFlowResponse.getBody().getData().getSite().getPload(); + case FroniusBindingConstants.PowerFlowpAkku: + return powerFlowResponse.getBody().getData().getSite().getPakku(); + } + + return null; + } + + /** + * Get new data + */ + private void updateData(FroniusBridgeConfiguration bridgeConfiguration, FroniusBaseDeviceConfiguration config) { + inverterRealtimeResponse = getRealtimeData(bridgeConfiguration.hostname, config.deviceId); + powerFlowResponse = getPowerFlowRealtime(bridgeConfiguration.hostname); + } + + /** + * + * @param type response class type + * @param url to request + * @return the object representation of the json response + */ + private T collectDataFormUrl(Class type, String url) { + T result = null; + boolean resultOk = false; + String errorMsg = null; + + try { + logger.debug("URL = {}", url); + String response = HttpUtil.executeUrl("GET", url, API_TIMEOUT); + + if (response != null) { + logger.debug("aqiResponse = {}", response); + result = gson.fromJson(response, type); + } + + if (result == null) { + errorMsg = "no data returned"; + } else { + if (result.getHead().getStatus().getCode() == 0) { + resultOk = true; + } else { + errorMsg = result.getHead().getStatus().getReason(); + } + } + if (!resultOk) { + logger.debug("Error in fronius response: {}", errorMsg); + } + } catch (JsonSyntaxException e) { + errorMsg = "Configuration is incorrect"; + logger.debug("Error running fronius request: {}", errorMsg); + } catch (IOException | IllegalStateException e) { + logger.debug("Error running fronius request: {}", e.getMessage()); + } + + // Update the thing status + if (resultOk) { + updateStatus(ThingStatus.ONLINE); + } else { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR, errorMsg); + } + return resultOk ? result : null; + } + + /** + * Make the PowerFlowRealtimeDataRequest + * + * @param ip address of the device + * @return {PowerFlowRealtimeResponse} the object representation of the json response + */ + private PowerFlowRealtimeResponse getPowerFlowRealtime(String ip) { + String location = FroniusBindingConstants.POWERFLOW_REALTIME_DATA.replace("%IP%", StringUtils.trimToEmpty(ip)); + return collectDataFormUrl(PowerFlowRealtimeResponse.class, location); + } + + /** + * Make the InverterRealtimeDataRequest + * + * @param ip address of the device + * @param deviceId of the device + * @return {InverterRealtimeResponse} the object representation of the json response + */ + private InverterRealtimeResponse getRealtimeData(String ip, int deviceId) { + String location = FroniusBindingConstants.INVERTER_REALTIME_DATA_URL.replace("%IP%", + StringUtils.trimToEmpty(ip)); + location = location.replace("%DEVICEID%", Integer.toString(deviceId)); + return collectDataFormUrl(InverterRealtimeResponse.class, location); + } +} diff --git a/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/binding/binding.xml index 62e8da4ebbdea..719d631847204 100644 --- a/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Fronius Binding Binding for Fronius inverters. diff --git a/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/bridge.xml index 48c8eead643ee..c07d802cb7559 100644 --- a/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/thing-types.xml index de95c3158c0a0..b110b20f71319 100644 --- a/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.fronius/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,31 +1,32 @@ - - + Fronius Symo power inverter - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.fsinternetradio/pom.xml b/bundles/org.openhab.binding.fsinternetradio/pom.xml index 1c7a8c76fddaf..971ee33804092 100644 --- a/bundles/org.openhab.binding.fsinternetradio/pom.xml +++ b/bundles/org.openhab.binding.fsinternetradio/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.fsinternetradio/src/main/feature/feature.xml b/bundles/org.openhab.binding.fsinternetradio/src/main/feature/feature.xml index 63adff40a183b..002229147e784 100644 --- a/bundles/org.openhab.binding.fsinternetradio/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.fsinternetradio/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.fsinternetradio/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.fsinternetradio/${project.version} + diff --git a/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/handler/FSInternetRadioHandler.java b/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/handler/FSInternetRadioHandler.java index 225f8deafa1ef..111ccfd659fff 100644 --- a/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/handler/FSInternetRadioHandler.java +++ b/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/handler/FSInternetRadioHandler.java @@ -164,7 +164,6 @@ public void run() { } } }); - } @Override diff --git a/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadio.java b/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadio.java index 788990a9981bc..dd945f044b1dd 100644 --- a/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadio.java +++ b/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadio.java @@ -238,5 +238,4 @@ public void setMuted(boolean muted) throws IOException { final String params = "value=" + (muted ? "1" : "0"); conn.doRequest(REQUEST_SET_MUTE, params); } - } diff --git a/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadioConnection.java b/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadioConnection.java index 0828aa023b2bf..985b2f93343bb 100644 --- a/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadioConnection.java +++ b/bundles/org.openhab.binding.fsinternetradio/src/main/java/org/openhab/binding/fsinternetradio/internal/radio/FrontierSiliconRadioConnection.java @@ -202,5 +202,4 @@ public FrontierSiliconRadioApiResult doRequest(String requestString, String para isLoggedIn = false; // 3 tries failed. log in again next time, maybe our session went invalid (radio restarted?) return null; } - } diff --git a/bundles/org.openhab.binding.fsinternetradio/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.fsinternetradio/src/main/resources/ESH-INF/thing/thing-types.xml index 239a1bfb10144..248851517ac6b 100644 --- a/bundles/org.openhab.binding.fsinternetradio/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.fsinternetradio/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ An internet radio device based on the Frontier Silicon chipset. - - - - - - - - + + + + + + + + @@ -63,14 +64,14 @@ Volume (min=0, max=32). SoundVolume - + Dimmer Volume (in percent). SoundVolume - + Switch @@ -81,19 +82,19 @@ String The name of the current radio station or track. - + String Additional information e.g. of the current radio station. - + Number The radio mode, e.g. FM radio, internet radio, AUX, etc. - + diff --git a/bundles/org.openhab.binding.fsinternetradio/src/test/java/org/openhab/binding/fsinternetradio/test/FSInternetRadioHandlerJavaTest.java b/bundles/org.openhab.binding.fsinternetradio/src/test/java/org/openhab/binding/fsinternetradio/test/FSInternetRadioHandlerJavaTest.java index fb793c68b3de2..eee16674717f9 100644 --- a/bundles/org.openhab.binding.fsinternetradio/src/test/java/org/openhab/binding/fsinternetradio/test/FSInternetRadioHandlerJavaTest.java +++ b/bundles/org.openhab.binding.fsinternetradio/src/test/java/org/openhab/binding/fsinternetradio/test/FSInternetRadioHandlerJavaTest.java @@ -892,6 +892,5 @@ private void verifyCommunicationError(String exceptionMessage) { assertThat(status.getStatus(), is(ThingStatus.OFFLINE)); assertThat(status.getStatusDetail(), is(ThingStatusDetail.COMMUNICATION_ERROR)); assertThat(status.getDescription().contains(exceptionMessage), is(true)); - } } diff --git a/bundles/org.openhab.binding.ftpupload/pom.xml b/bundles/org.openhab.binding.ftpupload/pom.xml index 26ef395b9a6db..ff61c48aa07f7 100644 --- a/bundles/org.openhab.binding.ftpupload/pom.xml +++ b/bundles/org.openhab.binding.ftpupload/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.ftpupload/src/main/feature/feature.xml b/bundles/org.openhab.binding.ftpupload/src/main/feature/feature.xml index a15509a16a36e..bf944a4a12169 100644 --- a/bundles/org.openhab.binding.ftpupload/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ftpupload/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.ftpupload/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.ftpupload/${project.version} + diff --git a/bundles/org.openhab.binding.ftpupload/src/main/java/org/openhab/binding/ftpupload/internal/ftp/FtpServerEventListener.java b/bundles/org.openhab.binding.ftpupload/src/main/java/org/openhab/binding/ftpupload/internal/ftp/FtpServerEventListener.java index 1682ea8a8c47f..6abd8d9ca32be 100644 --- a/bundles/org.openhab.binding.ftpupload/src/main/java/org/openhab/binding/ftpupload/internal/ftp/FtpServerEventListener.java +++ b/bundles/org.openhab.binding.ftpupload/src/main/java/org/openhab/binding/ftpupload/internal/ftp/FtpServerEventListener.java @@ -29,5 +29,4 @@ public interface FtpServerEventListener { * @param data Received raw data. */ void fileReceived(@NonNull String userName, @NonNull String filename, byte[] data); - } diff --git a/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/binding/binding.xml index 628757333b6ae..364549c36d5fb 100644 --- a/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/binding/binding.xml @@ -15,7 +15,8 @@ - The number of seconds before an inactive client is disconnected. If this value is set to 0, the idle time is disabled. + The number of seconds before an inactive client is disconnected. If this value is set to 0, the idle + time is disabled. 60 diff --git a/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/thing/thing-types.xml index fec284b614b69..5c6599446fefc 100644 --- a/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.ftpupload/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,8 +9,8 @@ Receive image files via FTP. - - + + diff --git a/bundles/org.openhab.binding.gardena/pom.xml b/bundles/org.openhab.binding.gardena/pom.xml index 994a9723e7fb9..023e021c6f9b9 100644 --- a/bundles/org.openhab.binding.gardena/pom.xml +++ b/bundles/org.openhab.binding.gardena/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.gardena/src/main/feature/feature.xml b/bundles/org.openhab.binding.gardena/src/main/feature/feature.xml index 0f2f9bf9d3b24..c6c5e18be7177 100644 --- a/bundles/org.openhab.binding.gardena/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.gardena/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.gardena/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.gardena/${project.version} + diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/GardenaSmartEventListener.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/GardenaSmartEventListener.java index 65d89daf8cebc..224502c0c9eba 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/GardenaSmartEventListener.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/GardenaSmartEventListener.java @@ -45,5 +45,4 @@ public interface GardenaSmartEventListener { * Called when the connection is resumed to Gardena Smart Home. */ public void onConnectionResumed(); - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfig.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfig.java index ba6697cedb795..6a8e3795ebdf8 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfig.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfig.java @@ -129,5 +129,4 @@ public String toString() { .append("sessionTimeout", sessionTimeout).append("connectionTimeout", connectionTimeout) .append("refresh", refresh).toString(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigDataWrapper.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigDataWrapper.java index 513f97741c815..2f3c8fbf34cd0 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigDataWrapper.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigDataWrapper.java @@ -33,5 +33,4 @@ public GardenaConfigDataWrapper() { public GardenaConfigDataWrapper(GardenaConfig config) { this.config = config; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigWrapper.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigWrapper.java index cdede76ef35ad..be0ded0fb8fc9 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigWrapper.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/config/GardenaConfigWrapper.java @@ -29,5 +29,4 @@ public GardenaConfigWrapper() { public GardenaConfigWrapper(GardenaConfig config) { this.dataWrapper = new GardenaConfigDataWrapper(config); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/discovery/GardenaDeviceDiscoveryService.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/discovery/GardenaDeviceDiscoveryService.java index a01dd62a91ec0..eec484f991593 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/discovery/GardenaDeviceDiscoveryService.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/discovery/GardenaDeviceDiscoveryService.java @@ -173,5 +173,4 @@ public void deviceRemoved(Device device) { ThingUID thingUID = UidUtils.generateThingUID(device, accountHandler.getThing()); thingRemoved(thingUID); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/exception/GardenaDeviceNotFoundException.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/exception/GardenaDeviceNotFoundException.java index 2f8f269cf3951..1cf9ec03d9f61 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/exception/GardenaDeviceNotFoundException.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/exception/GardenaDeviceNotFoundException.java @@ -25,5 +25,4 @@ public class GardenaDeviceNotFoundException extends GardenaException { public GardenaDeviceNotFoundException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/AccountHandlerNotAvailableException.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/AccountHandlerNotAvailableException.java index 4a6ac681a7705..fc7d183b9cf89 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/AccountHandlerNotAvailableException.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/AccountHandlerNotAvailableException.java @@ -24,5 +24,4 @@ public class AccountHandlerNotAvailableException extends Exception { public AccountHandlerNotAvailableException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaAccountHandler.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaAccountHandler.java index 9b0d73e151da3..230379dbca15b 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaAccountHandler.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaAccountHandler.java @@ -185,5 +185,4 @@ public void onConnectionLost() { public void onConnectionResumed() { updateStatus(ThingStatus.ONLINE); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaThingHandler.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaThingHandler.java index b9418c3cbbb59..1479431f8fce9 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaThingHandler.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/handler/GardenaThingHandler.java @@ -367,5 +367,4 @@ private GardenaSmart getGardenaSmart() throws AccountHandlerNotAvailableExceptio return ((GardenaAccountHandler) getBridge().getHandler()).getGardenaSmart(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Device.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Device.java index 7da08bc8135a3..7a39a93ed3e5f 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Device.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Device.java @@ -144,5 +144,4 @@ public boolean equals(Object obj) { Device comp = (Device) obj; return new EqualsBuilder().append(comp.getId(), id).isEquals(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Devices.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Devices.java index 7cc7e076cf369..332cacc5d5726 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Devices.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Devices.java @@ -30,5 +30,4 @@ public class Devices { public List getDevices() { return devices; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Error.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Error.java index 515ff56833a99..c8f5e1c970fa6 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Error.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Error.java @@ -60,5 +60,4 @@ public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("id", id).append("status", status) .append("title", title).append("detail", detail).toString(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Errors.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Errors.java index d7b1c8276ab1e..13fd38ca2c6e9 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Errors.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Errors.java @@ -42,5 +42,4 @@ public String toString() { } return tsb.toString(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Location.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Location.java index 5b22575fe08d2..404cf21168441 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Location.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Location.java @@ -66,5 +66,4 @@ public boolean equals(Object obj) { Location comp = (Location) obj; return new EqualsBuilder().append(comp.getId(), id).isEquals(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Locations.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Locations.java index 445c9359267d4..41c023f8c1b5b 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Locations.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Locations.java @@ -30,5 +30,4 @@ public class Locations { public List getLocations() { return locations; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Property.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Property.java index 24f78d20a3896..98fd07a0f7d8a 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Property.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Property.java @@ -114,5 +114,4 @@ public Ability getAbility() { public void setAbility(Ability ability) { this.ability = ability; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/PropertyValue.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/PropertyValue.java index d32007cdbc83e..12af1aa3284d7 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/PropertyValue.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/PropertyValue.java @@ -40,5 +40,4 @@ public String getValue() { public void setValue(String value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/ScheduledEvent.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/ScheduledEvent.java index 01badf5d3c387..d7e20e251cd69 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/ScheduledEvent.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/ScheduledEvent.java @@ -72,5 +72,4 @@ public String getWeekday() { public Recurrence getRecurrence() { return recurrence; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Session.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Session.java index 5f4e41017118b..f860f1554e4db 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Session.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/Session.java @@ -51,5 +51,4 @@ public long getCreated() { public SessionAttributes getSessionAttributes() { return sessionAttributes; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/SessionWrapper.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/SessionWrapper.java index 31ea53c06cbec..f4f74ac873615 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/SessionWrapper.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/SessionWrapper.java @@ -43,5 +43,4 @@ public Session getSession() { public void setSession(Session session) { this.session = session; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/Command.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/Command.java index 14ea5cfb8f1a8..26e46adbdcc61 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/Command.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/Command.java @@ -91,5 +91,4 @@ public void setManualOverride(String manualOverride) { this.manualOverride = manualOverride; } } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilFurtherNoticeCommand.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilFurtherNoticeCommand.java index c770aa54f2485..338e000c0f73b 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilFurtherNoticeCommand.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilFurtherNoticeCommand.java @@ -23,5 +23,4 @@ public class MowerParkUntilFurtherNoticeCommand extends Command { public MowerParkUntilFurtherNoticeCommand() { super(COMMAND); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilNextTimerCommand.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilNextTimerCommand.java index 2126f9e2b9e5a..03e768f1978eb 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilNextTimerCommand.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/MowerParkUntilNextTimerCommand.java @@ -24,5 +24,4 @@ public class MowerParkUntilNextTimerCommand extends Command { public MowerParkUntilNextTimerCommand() { super(COMMAND); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommand.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommand.java index 12746eafc2ea1..5602d67e8e485 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommand.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommand.java @@ -55,5 +55,4 @@ public String getDeviceId() { public void setDeviceId(String deviceId) { this.deviceId = deviceId; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommandWrapper.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommandWrapper.java index 89ac8cec41a21..ac815e1c996ea 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommandWrapper.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/command/SettingCommandWrapper.java @@ -33,5 +33,4 @@ public SettingCommandWrapper(SettingCommand command) { public SettingCommand getCommand() { return command; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/deser/PropertyValueDeserializer.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/deser/PropertyValueDeserializer.java index 4c33f24b7f6d0..8c61bdcff89f7 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/deser/PropertyValueDeserializer.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/deser/PropertyValueDeserializer.java @@ -67,5 +67,4 @@ public PropertyValue deserialize(JsonElement element, Type type, JsonDeserializa return new PropertyValue(element.getAsString()); } } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/property/StringProperty.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/property/StringProperty.java index 73300c6fd2024..9f2986566e656 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/property/StringProperty.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/model/property/StringProperty.java @@ -32,5 +32,4 @@ public StringProperty(String name, String value) { public String getValue() { return value; } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/DateUtils.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/DateUtils.java index 07329adb3048b..5d99e43ee2a69 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/DateUtils.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/DateUtils.java @@ -58,7 +58,6 @@ public static Date parseToDate(String text) { } else { return null; } - } /** @@ -72,6 +71,5 @@ public static Calendar parseToCalendar(String text) { return cal; } return null; - } } diff --git a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/UidUtils.java b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/UidUtils.java index 5c3469f87c857..e09a0c7448523 100644 --- a/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/UidUtils.java +++ b/bundles/org.openhab.binding.gardena/src/main/java/org/openhab/binding/gardena/internal/util/UidUtils.java @@ -67,5 +67,4 @@ public static String getGardenaDeviceId(Thing thing) { return thing.getUID().getId(); } - } diff --git a/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/binding/binding.xml index eac09f1efff56..60fe257dcc494 100644 --- a/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Gardena Smart Home Binding This is the binding for Gardena Smart Home. diff --git a/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/bridge.xml index d4746f5961cc6..b8a91ead4ca31 100644 --- a/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/thing-types.xml index a7d6d31d1fdb6..bd99aa0f2aea2 100644 --- a/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.gardena/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,28 +7,28 @@ - + A Gardena Smart Sileno mower - - - - - - + + + + + + - - - - - - + + + + + + @@ -36,7 +36,7 @@ Information about the device - + @@ -44,8 +44,8 @@ Information about the rechargeable battery - - + + @@ -53,8 +53,8 @@ Information about the radio link - - + + @@ -62,17 +62,17 @@ Information about the robotic mower - - - - - - - - - - - + + + + + + + + + + + @@ -80,7 +80,7 @@ Number Mowing time in minutes - + @@ -111,28 +111,28 @@ DateTime Last time the device was online - + Switch Battery Charging - + Number Radio Link Quality - + String The mower is controlled manually - + @@ -269,30 +269,30 @@ DateTime Timestamp of the next start - + DateTime Override End Time - + Number Temperature - + Information about the firmware - - - + + + @@ -300,31 +300,31 @@ String The firmware status - + Number Firmware upload in progress - + String Available firmware version - + Statistics about the robotic mower - - - - + + + + @@ -332,54 +332,54 @@ Number The cutting time - + Number The charging cycles - + Number The number of collisions - + Number Running time - + - + Represents a Gardena Smart Watering Computer - - - - - + + + + + - - - - - - + + + + + + @@ -387,8 +387,8 @@ Information about the battery - - + + @@ -396,9 +396,9 @@ Information about the watering outlet - - - + + + @@ -409,7 +409,7 @@ - + @@ -451,7 +451,7 @@ Number The time the valve is open when you press the button on the device - + @@ -470,29 +470,29 @@ - + Represents a Gardena Smart Sensor - - - - - - - + + + + + + + - - - - - - + + + + + + @@ -510,7 +510,7 @@ The humidity - + @@ -518,7 +518,7 @@ The brightness - + @@ -526,46 +526,46 @@ Number The humidity - + Number The brightness - + - + Represents a Gardena Smart Pressure Pump - - - - - - - - - + + + + + + + + + - - - - - - + + + + + + @@ -602,10 +602,10 @@ The outlet temperature - - - - + + + + @@ -613,30 +613,30 @@ Number The minimum outlet temperature - + Number The maximum outlet temperature - + The pump - - - - - - - - - - + + + + + + + + + + @@ -644,42 +644,42 @@ Number The error counter - + Number The error counter one - + Number The error counter two - + Number The error counter three - + Number The error counter Four - + Number The operating days - + @@ -698,7 +698,7 @@ Switch Pump - + @@ -732,8 +732,8 @@ The outlet pressure - - + + @@ -741,24 +741,24 @@ Number The outlet pressure - + Number The maximum outlet pressure - + The flow - - - - + + + + @@ -766,21 +766,21 @@ Number The flow rate - + Number The flow since last reset - + Number The total flow - + @@ -800,8 +800,8 @@ Manual Watering - - + + @@ -834,16 +834,16 @@ Number The last manual override timer - + Manual Watering - - - + + + @@ -851,14 +851,14 @@ DateTime The scheduled watering end - + DateTime The scheduled watering next start - + @@ -878,26 +878,26 @@ - + A Gardena Smart Power Plug - - - - + + + + - - - - - - + + + + + + @@ -905,8 +905,8 @@ Power - - + + @@ -951,30 +951,30 @@ - + A Gardena Smart Irrigation Control - - + + - - - + + + - + - - - - - - + + + + + + @@ -1037,9 +1037,9 @@ The irrigation control - - - + + + The error for valve 0 @@ -1075,14 +1075,14 @@ String The connected valves - + String The valves master config - + @@ -1103,7 +1103,7 @@ String - + @@ -1164,7 +1164,7 @@ DateTime - + diff --git a/bundles/org.openhab.binding.globalcache/pom.xml b/bundles/org.openhab.binding.globalcache/pom.xml index 71e114ff8dfe7..fd83a3b303b85 100644 --- a/bundles/org.openhab.binding.globalcache/pom.xml +++ b/bundles/org.openhab.binding.globalcache/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.globalcache/src/main/feature/feature.xml b/bundles/org.openhab.binding.globalcache/src/main/feature/feature.xml index 02ab6a22b4ffd..e1dffc118d07d 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - file:${basedirRoot}/bundles/org.openhab.transform.map/target/feature/feature.xml + file:${basedirRoot}/bundles/org.openhab.transform.map/target/feature/feature.xml - - openhab-runtime-base - openhab-transformation-map - mvn:org.openhab.addons.bundles/org.openhab.binding.globalcache/${project.version} - + + openhab-runtime-base + openhab-transformation-map + mvn:org.openhab.addons.bundles/org.openhab.binding.globalcache/${project.version} + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/binding/binding.xml index f256fe8468ca9..6acf8063de5f1 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/binding/binding.xml @@ -1,11 +1,11 @@ - + GlobalCache Binding - Binding for GlobalCache iTach and GC-100 devices supporting infrared, serial, and contact closure interfaces. + Binding for GlobalCache iTach and GC-100 devices supporting infrared, serial, and contact closure + interfaces. Mark Hilbush diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channel-types.xml index 9bbe57a5bf5a3..fe29f9139bd17 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channel-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channels.xml index bde501d185e67..f9bba9a3a8216 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - @@ -77,7 +78,7 @@ - Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. + Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. 1 1 @@ -125,7 +126,7 @@ - Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. + Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. 2 1 @@ -158,7 +159,7 @@ - Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. + Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. 4 1 @@ -191,7 +192,7 @@ - Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. + Infrared emitter on connector 1. Connector 1 is the connector closest to the power plug. 5 1 diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-06.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-06.xml index ea0ef0af9760e..6ec0d84bf8197 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-06.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-06.xml @@ -1,5 +1,6 @@ - @@ -10,8 +11,8 @@ GC-100-06 Infrared and Serial Device - - + + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-12.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-12.xml index f2f5b343601c2..4b35b7c8e7b83 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-12.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/gc-100-12.xml @@ -1,5 +1,6 @@ - @@ -10,11 +11,11 @@ GC-100-12 Infrared, Serial, and Contact Closure Device - - - - - + + + + + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-cc.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-cc.xml index 9de50aae4808d..78bf77df3facf 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-cc.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-cc.xml @@ -1,5 +1,6 @@ - @@ -10,7 +11,7 @@ iTach Contact Closure Device (WF2CC or IP2CC) - + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-flex.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-flex.xml index 2efa75a831d58..d8a7103387957 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-flex.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-flex.xml @@ -1,5 +1,6 @@ - @@ -10,9 +11,9 @@ iTach Flex Device - - - + + + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-ir.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-ir.xml index 3a2733e6ba026..1a541fb4ba62b 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-ir.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-ir.xml @@ -1,5 +1,6 @@ - @@ -10,7 +11,7 @@ iTach Infrared Device (WF2IR or IP2IR) - + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-sl.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-sl.xml index 708f7a06aece9..abb1f396746b3 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-sl.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/itach-sl.xml @@ -1,5 +1,6 @@ - @@ -10,7 +11,7 @@ iTach Serial Device (WF2SL or IP2SL) - + diff --git a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/zmote.xml b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/zmote.xml index c4507e501a661..e61ddf9db891b 100644 --- a/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/zmote.xml +++ b/bundles/org.openhab.binding.globalcache/src/main/resources/ESH-INF/thing/zmote.xml @@ -1,5 +1,6 @@ - @@ -10,7 +11,7 @@ Zmote Infrared Device - + diff --git a/bundles/org.openhab.binding.goecharger/pom.xml b/bundles/org.openhab.binding.goecharger/pom.xml index 78274e789c226..69321988f1a8e 100644 --- a/bundles/org.openhab.binding.goecharger/pom.xml +++ b/bundles/org.openhab.binding.goecharger/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.goecharger/src/main/java/org/openhab/binding/goecharger/internal/handler/GoEChargerHandler.java b/bundles/org.openhab.binding.goecharger/src/main/java/org/openhab/binding/goecharger/internal/handler/GoEChargerHandler.java index fa064320ded1e..d493fb6f471ab 100755 --- a/bundles/org.openhab.binding.goecharger/src/main/java/org/openhab/binding/goecharger/internal/handler/GoEChargerHandler.java +++ b/bundles/org.openhab.binding.goecharger/src/main/java/org/openhab/binding/goecharger/internal/handler/GoEChargerHandler.java @@ -412,7 +412,6 @@ private void refresh() { } catch (InterruptedException | TimeoutException | ExecutionException e) { updateChannelsAndStatus(null, e.getMessage()); } - } private void startAutomaticRefresh() { diff --git a/bundles/org.openhab.binding.goecharger/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.goecharger/src/main/resources/ESH-INF/thing/thing-types.xml index b62027c388950..ca60f326f25bc 100755 --- a/bundles/org.openhab.binding.goecharger/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.goecharger/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,27 +9,27 @@ Go-eCharger thing that represents the wallbox configuration and readings - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -63,7 +63,7 @@ Number:ElectricCurrent Maximum current per phase allowed to use for charging - + String @@ -95,102 +95,102 @@ Number:ElectricPotential Voltage on L1 - + Number:ElectricPotential Voltage on L2 - + Number:ElectricPotential Voltage on L3 - + Number:ElectricCurrent Current on L1 - + Number:ElectricCurrent Current on L2 - + Number:ElectricCurrent Current on L3 - + Number:Power Power on L1 - + Number:Power Power on L2 - + Number:Power Power on L3 - + Number Amount of phases currently used for charging - + Number:Energy Wallbox stops charging after defined value, deactivate with value 0 - + Number:Energy Amount of energy that has been charged in this session - + Number:Energy Amount of energy that has been charged since installation - + Switch If true charging is allowed - + Number:ElectricCurrent Specifies the max amps that can be charged with that cable - + Number:Temperature Temperature of the Go-eCharger - + String Firmware Version - + diff --git a/bundles/org.openhab.binding.gpstracker/pom.xml b/bundles/org.openhab.binding.gpstracker/pom.xml index 331dd32705e21..2a51fb06ae841 100644 --- a/bundles/org.openhab.binding.gpstracker/pom.xml +++ b/bundles/org.openhab.binding.gpstracker/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.gpstracker/src/main/feature/feature.xml b/bundles/org.openhab.binding.gpstracker/src/main/feature/feature.xml index a36535e11f1f7..97563ed01e6c1 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.gpstracker/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.gpstracker/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.gpstracker/${project.version} + diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerBindingConstants.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerBindingConstants.java index 3c8e2cfc3d027..53fc06aebde02 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerBindingConstants.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerBindingConstants.java @@ -12,14 +12,13 @@ */ package org.openhab.binding.gpstracker.internal; - -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; - import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; + /** * Binding constants * @@ -31,7 +30,7 @@ public abstract class GPSTrackerBindingConstants { private static final String THING_TYPE = "tracker"; public static final ThingTypeUID THING_TYPE_TRACKER = new ThingTypeUID(BINDING_ID, THING_TYPE); - //channels + // channels public static final String CHANNEL_REGION_TRIGGER = "regionTrigger"; public static final String CHANNEL_LAST_REPORT = "lastReport"; public static final String CHANNEL_LAST_LOCATION = "lastLocation"; @@ -39,7 +38,7 @@ public abstract class GPSTrackerBindingConstants { private static final String CHANNEL_REGION_DISTANCE = "regionDistance"; public static final String CHANNEL_GPS_ACCURACY = "gpsAccuracy"; - //system distance channel + // system distance channel public static final String CHANNEL_DISTANCE_SYSTEM_ID = "distanceSystem"; public static final String CHANNEL_DISTANCE_SYSTEM_NAME = "System"; public static final Integer CHANNEL_DISTANCE_SYSTEM_RADIUS = 100; @@ -47,5 +46,6 @@ public abstract class GPSTrackerBindingConstants { public static final ChannelTypeUID CHANNEL_TYPE_DISTANCE = new ChannelTypeUID(BINDING_ID, CHANNEL_REGION_DISTANCE); public static final ChannelTypeUID CHANNEL_TYPE_REGION = new ChannelTypeUID(BINDING_ID, CHANNEL_REGION_TRIGGER); - public static final Set SUPPORTED_THING_TYPES_UIDS = Stream.of(THING_TYPE_TRACKER).collect(Collectors.toSet()); + public static final Set SUPPORTED_THING_TYPES_UIDS = Stream.of(THING_TYPE_TRACKER) + .collect(Collectors.toSet()); } diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerHandlerFactory.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerHandlerFactory.java index c95054e7c618e..d0d7aafd3dfaf 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerHandlerFactory.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/GPSTrackerHandlerFactory.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.gpstracker.internal; +import static org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants.CONFIG_PID; + +import java.net.URI; +import java.util.*; + +import javax.servlet.ServletException; + import org.eclipse.smarthome.config.core.ConfigOptionProvider; import org.eclipse.smarthome.config.core.ParameterOption; import org.eclipse.smarthome.core.i18n.LocationProvider; @@ -36,18 +43,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.ServletException; -import java.net.URI; -import java.util.*; - -import static org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants.CONFIG_PID; - /** * Main component * * @author Gabor Bicskei - Initial contribution */ -@Component(configurationPid = CONFIG_PID, service = {ThingHandlerFactory.class, ConfigOptionProvider.class}) +@Component(configurationPid = CONFIG_PID, service = { ThingHandlerFactory.class, ConfigOptionProvider.class }) public class GPSTrackerHandlerFactory extends BaseThingHandlerFactory implements TrackerRegistry, ConfigOptionProvider { /** * Config URI @@ -127,7 +128,7 @@ protected ThingHandler createHandler(Thing thing) { if (GPSTrackerBindingConstants.THING_TYPE_TRACKER.equals(thingTypeUID) && ConfigHelper.getTrackerId(thing.getConfiguration()) != null) { TrackerHandler trackerHandler = new TrackerHandler(thing, notificationBroker, regions, - locationProvider != null ? locationProvider.getLocation(): null, unitProvider); + locationProvider != null ? locationProvider.getLocation() : null, unitProvider); discoveryService.removeTracker(trackerHandler.getTrackerId()); trackerHandlers.put(trackerHandler.getTrackerId(), trackerHandler); return trackerHandler; @@ -189,7 +190,7 @@ protected void deactivate(ComponentContext componentContext) { public Collection getParameterOptions(URI uri, String param, Locale locale) { if (URI_STR.equals(uri.toString()) && ConfigHelper.CONFIG_REGION_NAME.equals(param)) { Set ret = new HashSet<>(); - regions.forEach(r->ret.add(new ParameterOption(r, r))); + regions.forEach(r -> ret.add(new ParameterOption(r, r))); return ret; } return Collections.emptyList(); diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/config/ConfigHelper.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/config/ConfigHelper.java index 7aac7e187f5ff..3ffcf5e0779ac 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/config/ConfigHelper.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/config/ConfigHelper.java @@ -12,18 +12,18 @@ */ package org.openhab.binding.gpstracker.internal.config; +import java.math.BigDecimal; + import org.eclipse.smarthome.config.core.Configuration; import org.eclipse.smarthome.core.library.types.PointType; -import java.math.BigDecimal; - /** * The {@link ConfigHelper} class is a configuration helper for channels and profiles. * * @author Gabor Bicskei - Initial contribution */ public class ConfigHelper { - //configuration constants + // configuration constants public static final String CONFIG_TRACKER_ID = "trackerId"; public static final String CONFIG_REGION_NAME = "regionName"; public static final String CONFIG_REGION_RADIUS = "regionRadius"; @@ -33,7 +33,8 @@ public class ConfigHelper { /** * Constructor. */ - private ConfigHelper() {} + private ConfigHelper() { + } public static double getRegionRadius(Configuration config) { return ((BigDecimal) config.get(CONFIG_REGION_RADIUS)).doubleValue(); @@ -41,7 +42,7 @@ public static double getRegionRadius(Configuration config) { public static double getAccuracyThreshold(Configuration config) { Object value = config.get(CONFIG_ACCURACY_THRESHOLD); - return value != null ? ((BigDecimal) value).doubleValue(): 0; + return value != null ? ((BigDecimal) value).doubleValue() : 0; } public static String getRegionName(Configuration config) { @@ -54,6 +55,6 @@ public static String getTrackerId(Configuration config) { public static PointType getRegionCenterLocation(Configuration config) { String location = (String) config.get(CONFIG_REGION_CENTER_LOCATION); - return location != null ? new PointType(location): null; + return location != null ? new PointType(location) : null; } } diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/discovery/TrackerDiscoveryService.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/discovery/TrackerDiscoveryService.java index 6753c511d85fb..a927b7854f8ed 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/discovery/TrackerDiscoveryService.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/discovery/TrackerDiscoveryService.java @@ -12,6 +12,11 @@ */ package org.openhab.binding.gpstracker.internal.discovery; +import java.util.Date; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.config.discovery.AbstractDiscoveryService; @@ -26,11 +31,6 @@ import org.osgi.service.component.annotations.Deactivate; import org.osgi.service.component.annotations.Modified; -import java.util.Date; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - /** * The {@link TrackerDiscoveryService} class provides discovery service for the binding to discover trackers. Discovery * process is initiated by the tracker by sending a GPS log record. Based on the tracker id received in thin record an @@ -39,7 +39,8 @@ * @author Gabor Bicskei - Initial contribution */ @NonNullByDefault -@Component(service = { DiscoveryService.class, TrackerDiscoveryService.class }, immediate = true, configurationPid = "discovery.gpstracker") +@Component(service = { DiscoveryService.class, + TrackerDiscoveryService.class }, immediate = true, configurationPid = "discovery.gpstracker") public class TrackerDiscoveryService extends AbstractDiscoveryService { /** * Discovery timeout @@ -96,8 +97,7 @@ private void createDiscoveryResult(String trackerId) { ThingUID id = new ThingUID(GPSTrackerBindingConstants.THING_TYPE_TRACKER, trackerId); DiscoveryResult discoveryResult = DiscoveryResultBuilder.create(id) .withProperty(ConfigHelper.CONFIG_TRACKER_ID, trackerId) - .withThingType(GPSTrackerBindingConstants.THING_TYPE_TRACKER) - .withLabel("GPS Tracker " + trackerId) + .withThingType(GPSTrackerBindingConstants.THING_TYPE_TRACKER).withLabel("GPS Tracker " + trackerId) .build(); this.thingDiscovered(discoveryResult); } diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/handler/TrackerHandler.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/handler/TrackerHandler.java index 58ffe7b603a42..89937b7835af6 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/handler/TrackerHandler.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/handler/TrackerHandler.java @@ -120,11 +120,11 @@ public class TrackerHandler extends BaseThingHandler { /** * Constructor. * - * @param thing Thing. + * @param thing Thing. * @param notificationBroker Notification broker - * @param regions Global region set - * @param sysLocation Location of the system - * @param unitProvider Unit provider + * @param regions Global region set + * @param sysLocation Location of the system + * @param unitProvider Unit provider */ public TrackerHandler(Thing thing, NotificationBroker notificationBroker, Set regions, PointType sysLocation, UnitProvider unitProvider) { @@ -269,7 +269,7 @@ private void updateTriggerChannelsWithTransition(TransitionMessage message) { * Fire trigger event with regionName/enter|leave payload but only if the event differs from the last event. * * @param regionName Region name - * @param event Occurred event + * @param event Occurred event */ private void triggerRegionChannel(@NonNull String regionName, @NonNull String event) { Boolean lastState = lastTriggeredStates.get(regionName); diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/MessageUtil.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/MessageUtil.java index 22c3b9c1df4e0..c8fe210aebf87 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/MessageUtil.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/MessageUtil.java @@ -12,11 +12,11 @@ */ package org.openhab.binding.gpstracker.internal.message; -import com.google.gson.Gson; - import java.util.HashMap; import java.util.Map; +import com.google.gson.Gson; + /** * Message handling utility * @@ -26,9 +26,8 @@ public class MessageUtil { /** * Patterns to identify incoming JSON payload. */ - private static final String[] PATTERNS = new String[]{ - ".*\"_type\"\\s*:\\s*\"transition\".*", //transition - ".*\"_type\"\\s*:\\s*\"location\".*", //location + private static final String[] PATTERNS = new String[] { ".*\"_type\"\\s*:\\s*\"transition\".*", // transition + ".*\"_type\"\\s*:\\s*\"location\".*", // location }; /** diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationBroker.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationBroker.java index 9b952c981eb7d..0194ffe6bc988 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationBroker.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationBroker.java @@ -38,7 +38,7 @@ public void registerHandler(String trackerId, NotificationHandler handler) { public void sendNotification(LocationMessage msg) { String trackerId = msg.getTrackerId(); - handlers.entrySet().stream().filter(e->!e.getKey().equals(trackerId)) - .forEach(e->e.getValue().handleNotification(msg)); + handlers.entrySet().stream().filter(e -> !e.getKey().equals(trackerId)) + .forEach(e -> e.getValue().handleNotification(msg)); } } diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationHandler.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationHandler.java index c6b969f806e98..e2a80e5a67d3d 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationHandler.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/NotificationHandler.java @@ -30,7 +30,8 @@ public class NotificationHandler { private Map locationNotifications = new HashMap<>(); /** - * TransitionMessage notification to send out to the own tracker. Notifications are saved in order they were received. + * TransitionMessage notification to send out to the own tracker. Notifications are saved in order they were + * received. */ private Map> transitionNotifications = new HashMap<>(); @@ -43,8 +44,8 @@ public void handleNotification(LocationMessage msg) { synchronized (this) { String trackerId = msg.getTrackerId(); if (msg instanceof TransitionMessage) { - List transitionMessages = transitionNotifications - .computeIfAbsent(trackerId, k -> new ArrayList<>()); + List transitionMessages = transitionNotifications.computeIfAbsent(trackerId, + k -> new ArrayList<>()); transitionMessages.add((TransitionMessage) msg); } else { locationNotifications.put(trackerId, msg); diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/TransitionMessage.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/TransitionMessage.java index bbcded91c203e..b4c32e3f8ff79 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/TransitionMessage.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/message/TransitionMessage.java @@ -23,8 +23,8 @@ public class TransitionMessage extends LocationMessage { /** * Event that triggered the transition (iOS,Android/string/required) - * enter The tracker entered the defined geographical region or BLE Beacon range (iOS) - * leave The tracker left the defined geographical region or BLE Beacon range (iOS) + * enter The tracker entered the defined geographical region or BLE Beacon range (iOS) + * leave The tracker left the defined geographical region or BLE Beacon range (iOS) */ @SerializedName("event") String event; diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/profile/GPSTrackerProfileFactory.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/profile/GPSTrackerProfileFactory.java index c95cc1d95b7a5..692baa617a356 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/profile/GPSTrackerProfileFactory.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/profile/GPSTrackerProfileFactory.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.gpstracker.internal.profile; +import static org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants.CHANNEL_TYPE_REGION; + +import java.util.Collection; +import java.util.Locale; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.library.CoreItemFactory; @@ -22,13 +29,6 @@ import org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants; import org.osgi.service.component.annotations.Component; -import java.util.Collection; -import java.util.Locale; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import static org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants.CHANNEL_TYPE_REGION; - /** * The {@link GPSTrackerProfileFactory} class defines and provides switch profile and its type of this binding. * @@ -40,15 +40,15 @@ public class GPSTrackerProfileFactory implements ProfileFactory, ProfileAdvisor, /** * Profile UID for trigger events */ - static final ProfileTypeUID UID_TRIGGER_SWITCH = new ProfileTypeUID(GPSTrackerBindingConstants.BINDING_ID, "trigger-geofence"); + static final ProfileTypeUID UID_TRIGGER_SWITCH = new ProfileTypeUID(GPSTrackerBindingConstants.BINDING_ID, + "trigger-geofence"); /** * Profile type for trigger events */ - private static final TriggerProfileType TRIGGER_SWITCH_TYPE = ProfileTypeBuilder.newTrigger(UID_TRIGGER_SWITCH, "Geofence") - .withSupportedItemTypes(CoreItemFactory.SWITCH) - .withSupportedChannelTypeUIDs(CHANNEL_TYPE_REGION) - .build(); + private static final TriggerProfileType TRIGGER_SWITCH_TYPE = ProfileTypeBuilder + .newTrigger(UID_TRIGGER_SWITCH, "Geofence").withSupportedItemTypes(CoreItemFactory.SWITCH) + .withSupportedChannelTypeUIDs(CHANNEL_TYPE_REGION).build(); @Override public Collection getSupportedProfileTypeUIDs() { @@ -70,7 +70,8 @@ public Collection getProfileTypes(@Nullable Locale locale) { return getSuggestedProfileTypeUID(channelType.getUID(), itemType); } - private @Nullable ProfileTypeUID getSuggestedProfileTypeUID(@Nullable ChannelTypeUID channelTypeUID, @Nullable String itemType) { + private @Nullable ProfileTypeUID getSuggestedProfileTypeUID(@Nullable ChannelTypeUID channelTypeUID, + @Nullable String itemType) { if (CoreItemFactory.SWITCH.equals(itemType) && CHANNEL_TYPE_REGION.equals(channelTypeUID)) { return UID_TRIGGER_SWITCH; } @@ -78,7 +79,8 @@ public Collection getProfileTypes(@Nullable Locale locale) { } @Override - public @Nullable Profile createProfile(ProfileTypeUID profileTypeUID, ProfileCallback callback, ProfileContext profileContext) { + public @Nullable Profile createProfile(ProfileTypeUID profileTypeUID, ProfileCallback callback, + ProfileContext profileContext) { if (UID_TRIGGER_SWITCH.equals(profileTypeUID)) { return new GPSTrackerTriggerSwitchProfile(callback, profileContext); } diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/AbstractCallbackServlet.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/AbstractCallbackServlet.java index e7dae2a8a4153..3dbae0d13e9d3 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/AbstractCallbackServlet.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/AbstractCallbackServlet.java @@ -61,7 +61,7 @@ public abstract class AbstractCallbackServlet extends HttpServlet { * Constructor called at binding startup. * * @param discoveryService Discovery service for new trackers. - * @param trackerRegistry Tracker handler registry + * @param trackerRegistry Tracker handler registry */ protected AbstractCallbackServlet(TrackerDiscoveryService discoveryService, TrackerRegistry trackerRegistry) { this.discoveryService = discoveryService; @@ -73,7 +73,7 @@ protected AbstractCallbackServlet(TrackerDiscoveryService discoveryService, Trac /** * Process the HTTP requests from tracker applications * - * @param req HTTP request + * @param req HTTP request * @param resp HTTP response */ @Override diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/gpslogger/GPSLoggerCallbackServlet.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/gpslogger/GPSLoggerCallbackServlet.java index f9d81464829d8..9a610c0f48686 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/gpslogger/GPSLoggerCallbackServlet.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/gpslogger/GPSLoggerCallbackServlet.java @@ -39,7 +39,7 @@ public class GPSLoggerCallbackServlet extends AbstractCallbackServlet { * Constructor called at binding startup. * * @param discoveryService Discovery service for new trackers. - * @param trackerRegistry Tracker registry + * @param trackerRegistry Tracker registry */ public GPSLoggerCallbackServlet(TrackerDiscoveryService discoveryService, TrackerRegistry trackerRegistry) { super(discoveryService, trackerRegistry); diff --git a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/owntracks/OwnTracksCallbackServlet.java b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/owntracks/OwnTracksCallbackServlet.java index 2a2286c500523..e612fbc1e1e3b 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/owntracks/OwnTracksCallbackServlet.java +++ b/bundles/org.openhab.binding.gpstracker/src/main/java/org/openhab/binding/gpstracker/internal/provider/owntracks/OwnTracksCallbackServlet.java @@ -39,7 +39,7 @@ public class OwnTracksCallbackServlet extends AbstractCallbackServlet { * Constructor called at binding startup. * * @param discoveryService Discovery service for new trackers. - * @param trackerRegistry Tracker registry + * @param trackerRegistry Tracker registry */ public OwnTracksCallbackServlet(TrackerDiscoveryService discoveryService, TrackerRegistry trackerRegistry) { super(discoveryService, trackerRegistry); diff --git a/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/config.xml index d276d3416aab9..a9d51fa57749e 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/config.xml @@ -1,8 +1,8 @@ diff --git a/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/profile.xml b/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/profile.xml index 71c9c4d9ff8d5..8838603892089 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/profile.xml +++ b/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/config/profile.xml @@ -1,8 +1,8 @@ diff --git a/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/thing/tracker.xml b/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/thing/tracker.xml index 50fd6268db072..9221356941657 100644 --- a/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/thing/tracker.xml +++ b/bundles/org.openhab.binding.gpstracker/src/main/resources/ESH-INF/thing/tracker.xml @@ -18,7 +18,7 @@ - + Number:Length @@ -42,7 +42,8 @@ trigger - Trigger channel for entering/leaving regions. Payload is the region name with prefix > for entering and < for leaving. + Trigger channel for entering/leaving regions. Payload is the region name with prefix > for entering + and < for leaving. diff --git a/bundles/org.openhab.binding.groheondus/pom.xml b/bundles/org.openhab.binding.groheondus/pom.xml index 969387d338396..55f756afa7dd7 100644 --- a/bundles/org.openhab.binding.groheondus/pom.xml +++ b/bundles/org.openhab.binding.groheondus/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.groheondus/src/main/feature/feature.xml b/bundles/org.openhab.binding.groheondus/src/main/feature/feature.xml index 81aa944f71a05..bcc0aa4659961 100644 --- a/bundles/org.openhab.binding.groheondus/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.groheondus/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab.tp-jackson - mvn:org.apache.commons/commons-text/1.6 - mvn:org.apache.commons/commons-lang3/3.8.1 - mvn:org.openhab.addons.bundles/org.openhab.binding.groheondus/${project.version} - + + openhab-runtime-base + openhab.tp-jackson + mvn:org.apache.commons/commons-text/1.6 + mvn:org.apache.commons/commons-lang3/3.8.1 + mvn:org.openhab.addons.bundles/org.openhab.binding.groheondus/${project.version} + diff --git a/bundles/org.openhab.binding.groheondus/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.groheondus/src/main/resources/ESH-INF/thing/thing-types.xml index 53173105d8cda..b7fef7a5fb6c8 100644 --- a/bundles/org.openhab.binding.groheondus/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.groheondus/src/main/resources/ESH-INF/thing/thing-types.xml @@ -6,7 +6,8 @@ - This is an interface to the GROHE ONDUS Account as it is used by the app. If username and password are not set, you can configure to use a `refreshToken` to login. Read the README to get more info. + This is an interface to the GROHE ONDUS Account as it is used by the app. If username and password are + not set, you can configure to use a `refreshToken` to login. Read the README to get more info. @@ -25,18 +26,18 @@ - + A SENSE GUARD device - - - - - + + + + + applianceId @@ -56,24 +57,25 @@ - The interval in seconds used to poll the API for new data. Defaults to the configuration of the appliance itself as retrieved from the API, usually 15 minutes. + The interval in seconds used to poll the API for new data. Defaults to the configuration of the + appliance itself as retrieved from the API, usually 15 minutes. - + A SENSE device - - - - + + + + applianceId @@ -112,7 +114,7 @@ Number:Temperature The ambient temperature of the appliance - + Switch @@ -123,19 +125,19 @@ Number:Dimensionless The humidity reported by the device - + Number:Temperature The temperature reported by the device - + Number The amount of water consumed in the given time period. - + diff --git a/bundles/org.openhab.binding.harmonyhub/pom.xml b/bundles/org.openhab.binding.harmonyhub/pom.xml index 2056a5cf145a2..ec14a4dade6d9 100644 --- a/bundles/org.openhab.binding.harmonyhub/pom.xml +++ b/bundles/org.openhab.binding.harmonyhub/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.harmonyhub/src/main/feature/feature.xml b/bundles/org.openhab.binding.harmonyhub/src/main/feature/feature.xml index 010ee8b9b2bf1..c9bf07622e2a0 100644 --- a/bundles/org.openhab.binding.harmonyhub/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.harmonyhub/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.harmonyhub/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.harmonyhub/${project.version} + diff --git a/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubBindingConstants.java b/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubBindingConstants.java index 8f3183385a0b1..477f6e3caf13b 100644 --- a/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubBindingConstants.java +++ b/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubBindingConstants.java @@ -45,5 +45,4 @@ public class HarmonyHubBindingConstants { public static final String HUB_PROPERTY_ID = "id"; public static final String HUB_PROPERTY_HOST = "host"; public static final String HUB_PROPERTY_NAME = "name"; - } diff --git a/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubHandlerFactory.java b/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubHandlerFactory.java index 4419fea862828..693074075234f 100644 --- a/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubHandlerFactory.java +++ b/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/HarmonyHubHandlerFactory.java @@ -177,5 +177,4 @@ public void removeChannelTypesForThing(ThingUID uid) { } channelTypes.removeAll(removes); } - } diff --git a/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/handler/HarmonyHubHandler.java b/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/handler/HarmonyHubHandler.java index e5020be0279f3..070ad47bf6c9f 100644 --- a/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/handler/HarmonyHubHandler.java +++ b/bundles/org.openhab.binding.harmonyhub/src/main/java/org/openhab/binding/harmonyhub/internal/handler/HarmonyHubHandler.java @@ -445,5 +445,4 @@ public void addHubStatusListener(HubStatusListener listener) { public void removeHubStatusListener(HubStatusListener listener) { listeners.remove(listener); } - } diff --git a/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/binding/binding.xml index a6e461446339e..47e03f0bd832c 100644 --- a/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + HarmonyHub Binding The HarmonyHub Binding integrates Logitech Harmony hubs and remotes. diff --git a/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/thing/thing-types.xml index 68cc560cffc66..04738360aee0e 100644 --- a/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.harmonyhub/src/main/resources/ESH-INF/thing/thing-types.xml @@ -8,7 +8,7 @@ A Logitech Harmony Hub - + Triggered when an activity is starting @@ -19,9 +19,10 @@ - The label/name of the button to press on a Harmony Hub which will be sent to the device associated with the current activity and label + The label/name of the button to press on a Harmony Hub which will be sent to the device associated with + the current activity and label - + @@ -43,12 +44,12 @@ - + Logitech Harmony Hub Device - + @@ -83,7 +84,8 @@ Player - Send player commands (Rewind,FastForward,Play,Pause,SkipForward,SkipBackwards) to the device associated with the current running activity. + Send player commands (Rewind,FastForward,Play,Pause,SkipForward,SkipBackwards) to the device associated + with the current running activity. diff --git a/bundles/org.openhab.binding.hdanywhere/pom.xml b/bundles/org.openhab.binding.hdanywhere/pom.xml index 9c246f1923670..797e841198776 100644 --- a/bundles/org.openhab.binding.hdanywhere/pom.xml +++ b/bundles/org.openhab.binding.hdanywhere/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.hdanywhere/src/main/feature/feature.xml b/bundles/org.openhab.binding.hdanywhere/src/main/feature/feature.xml index 80c7125a05746..6a4470344092e 100644 --- a/bundles/org.openhab.binding.hdanywhere/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.hdanywhere/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.hdanywhere/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.hdanywhere/${project.version} + diff --git a/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/HDanywhereBindingConstants.java b/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/HDanywhereBindingConstants.java index 5a3b84b0b20b1..a82ed7004a64d 100644 --- a/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/HDanywhereBindingConstants.java +++ b/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/HDanywhereBindingConstants.java @@ -81,7 +81,5 @@ public static Port get(String valueSelectorText) throws IllegalArgumentException public String channelID() { return this.id; } - } - } diff --git a/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/handler/Mhub4K431Handler.java b/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/handler/Mhub4K431Handler.java index b0b3ab66a0f96..e71ffa57019ac 100644 --- a/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/handler/Mhub4K431Handler.java +++ b/bundles/org.openhab.binding.hdanywhere/src/main/java/org/openhab/binding/hdanywhere/internal/handler/Mhub4K431Handler.java @@ -164,5 +164,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { } } } - } diff --git a/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/binding/binding.xml index a37301c776a73..809d78a4c12e3 100644 --- a/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + openHAB HDanywhere Binding This is the binding for HDanywhere HDMI Matrices diff --git a/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/mhub4k431.xml b/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/mhub4k431.xml index 6d2bf4a4d50a5..4295ba194cfd1 100644 --- a/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/mhub4k431.xml +++ b/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/mhub4k431.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -34,7 +34,8 @@ Number - The port channel allows to set or read the number of the input port that is connected to the output port. Valid values are 1 to 4 + The port channel allows to set or read the number of the input port that is connected to the output port. + Valid values are 1 to 4 diff --git a/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/multiroomplus.xml b/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/multiroomplus.xml index 29dcce7159646..334c82be757b3 100644 --- a/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/multiroomplus.xml +++ b/bundles/org.openhab.binding.hdanywhere/src/main/resources/ESH-INF/thing/multiroomplus.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -28,7 +28,8 @@ - Specifies the number of input/output ports on the Matrix, e.g. 4 or 8 if 4x4 or 8x8 version of the Matrix + Specifies the number of input/output ports on the Matrix, e.g. 4 or 8 if 4x4 or 8x8 version of the + Matrix 4 @@ -43,7 +44,8 @@ Number - The port channel allows to set or read the number of the input port that is connected to the output port. Valid values are 1 to 8 depending on the nature of the Matrix, e.g 4x4 8x8 etc + The port channel allows to set or read the number of the input port that is connected to the output port. + Valid values are 1 to 8 depending on the nature of the Matrix, e.g 4x4 8x8 etc diff --git a/bundles/org.openhab.binding.hdpowerview/pom.xml b/bundles/org.openhab.binding.hdpowerview/pom.xml index ffc67b1423265..272634517e46c 100644 --- a/bundles/org.openhab.binding.hdpowerview/pom.xml +++ b/bundles/org.openhab.binding.hdpowerview/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/feature/feature.xml b/bundles/org.openhab.binding.hdpowerview/src/main/feature/feature.xml index 39c632c82735f..589480fba40c6 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.hdpowerview/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.samba.jcifs/jcifs/1.3.17 - mvn:org.openhab.addons.bundles/org.openhab.binding.hdpowerview/${project.version} - + + openhab-runtime-base + mvn:org.samba.jcifs/jcifs/1.3.17 + mvn:org.openhab.addons.bundles/org.openhab.binding.hdpowerview/${project.version} + diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewBindingConstants.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewBindingConstants.java index c6129af9acf85..63b5ad2e66881 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewBindingConstants.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewBindingConstants.java @@ -48,5 +48,4 @@ public class HDPowerViewBindingConstants { SUPPORTED_THING_TYPES_UIDS.add(THING_TYPE_HUB); SUPPORTED_THING_TYPES_UIDS.add(THING_TYPE_SHADE); } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewWebTargets.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewWebTargets.java index 3bdd8556fb4f5..6e57ab09a7d07 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewWebTargets.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/HDPowerViewWebTargets.java @@ -111,5 +111,4 @@ private Response invoke(Invocation invocation, WebTarget target) throws Processi return response; } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/ShadePositionKind.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/ShadePositionKind.java index bb8c320822d2f..5fdef6dfa08d4 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/ShadePositionKind.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/ShadePositionKind.java @@ -41,5 +41,4 @@ public static ShadePositionKind get(int key) { return null; } } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/responses/Scenes.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/responses/Scenes.java index a1275fdaa5873..5673d2bc81739 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/responses/Scenes.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/api/responses/Scenes.java @@ -37,5 +37,4 @@ public String getName() { return new String(Base64.getDecoder().decode(name)); } } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewSceneConfiguration.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewSceneConfiguration.java index d3415b2ee6c9d..91b73c4054119 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewSceneConfiguration.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewSceneConfiguration.java @@ -22,5 +22,4 @@ public class HDPowerViewSceneConfiguration { public static final String ID = "id"; public int id; - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewShadeConfiguration.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewShadeConfiguration.java index 5f1819a5ae66c..620172d1b981c 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewShadeConfiguration.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/config/HDPowerViewShadeConfiguration.java @@ -22,5 +22,4 @@ public class HDPowerViewShadeConfiguration { public static final String ID = "id"; public String id; - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewHubDiscoveryService.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewHubDiscoveryService.java index c3153dacd5edb..5c942dd7bd1d3 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewHubDiscoveryService.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewHubDiscoveryService.java @@ -85,5 +85,4 @@ private Runnable createScanner() { } }; } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewShadeDiscoveryService.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewShadeDiscoveryService.java index 10fd399001fa2..12c7bb6c8ad80 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewShadeDiscoveryService.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/discovery/HDPowerViewShadeDiscoveryService.java @@ -94,5 +94,4 @@ private Runnable createScanner() { stopScan(); }; } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/AbstractHubbedThingHandler.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/AbstractHubbedThingHandler.java index 4991bd1cd6e8d..7acc5d59be453 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/AbstractHubbedThingHandler.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/AbstractHubbedThingHandler.java @@ -45,5 +45,4 @@ protected HDPowerViewHubHandler getBridgeHandler() { } return (HDPowerViewHubHandler) handler; } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewHubHandler.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewHubHandler.java index fd5c0d0f918a5..83953e408f202 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewHubHandler.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewHubHandler.java @@ -223,5 +223,4 @@ private Map getSceneChannelsById() { } return ret; } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewShadeHandler.java b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewShadeHandler.java index 13789dc465212..167b0f7149e5d 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewShadeHandler.java +++ b/bundles/org.openhab.binding.hdpowerview/src/main/java/org/openhab/binding/hdpowerview/internal/handler/HDPowerViewShadeHandler.java @@ -127,5 +127,4 @@ private void setPosition(ShadePosition position) { private String getShadeId() { return getConfigAs(HDPowerViewShadeConfiguration.class).id; } - } diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/binding/binding.xml index ccfa472d7f89f..85e6b7722569f 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Hunter Douglas PowerView Binding The Hunter Douglas PowerView binding provides access to the Hunter Douglas line of PowerView shades. diff --git a/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/thing/thing-types.xml index 1ec7bd85b4e96..c74073f4c3d39 100644 --- a/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.hdpowerview/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -24,7 +24,7 @@ - + Hunter Douglas PowerView Shade diff --git a/bundles/org.openhab.binding.helios/pom.xml b/bundles/org.openhab.binding.helios/pom.xml index 1212f07fc2627..9d8ddc8e44311 100644 --- a/bundles/org.openhab.binding.helios/pom.xml +++ b/bundles/org.openhab.binding.helios/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.helios/src/main/feature/feature.xml b/bundles/org.openhab.binding.helios/src/main/feature/feature.xml index a5fc54d21faaa..12b8277e3f22a 100644 --- a/bundles/org.openhab.binding.helios/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.helios/src/main/feature/feature.xml @@ -1,16 +1,16 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.apache.ws.xmlschema/xmlschema-core/2.2.4 - mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0 - mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.9.0 - mvn:org.apache.cxf/cxf-core/3.1.14 - mvn:org.apache.cxf.services.wsn/cxf-services-wsn-api/3.1.14 - mvn:org.apache.felix/org.apache.felix.framework/6.0.2 - mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/1.1.3 - mvn:org.openhab.addons.bundles/org.openhab.binding.helios/${project.version} - + + openhab-runtime-base + mvn:org.apache.ws.xmlschema/xmlschema-core/2.2.4 + mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jaxws-api-2.2/2.9.0 + mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.saaj-api-1.3/2.9.0 + mvn:org.apache.cxf/cxf-core/3.1.14 + mvn:org.apache.cxf.services.wsn/cxf-services-wsn-api/3.1.14 + mvn:org.apache.felix/org.apache.felix.framework/6.0.2 + mvn:org.apache.geronimo.specs/geronimo-ws-metadata_2.0_spec/1.1.3 + mvn:org.openhab.addons.bundles/org.openhab.binding.helios/${project.version} + diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTError.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTError.java index b59dd97aec8f5..9b970af54c636 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTError.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTError.java @@ -25,5 +25,4 @@ public class RESTError { RESTError() { } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSubscribeResponse.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSubscribeResponse.java index b7007de537756..23fd196933678 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSubscribeResponse.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSubscribeResponse.java @@ -23,5 +23,4 @@ public class RESTSubscribeResponse { RESTSubscribeResponse() { } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSystemInfo.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSystemInfo.java index 316b699f415bd..6d57cf1d5e84a 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSystemInfo.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/rest/RESTSystemInfo.java @@ -28,5 +28,4 @@ public class RESTSystemInfo { RESTSystemInfo() { } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCallStateChanged.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCallStateChanged.java index 02484053f7d61..bf08939704bdb 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCallStateChanged.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCallStateChanged.java @@ -49,5 +49,4 @@ public String getDirection() { public void setDirection(String direction) { this.direction = direction; } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCardEntered.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCardEntered.java index 9d3543d6a0048..c8e6636c14022 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCardEntered.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCardEntered.java @@ -49,5 +49,4 @@ public String getValid() { public void setValid(String valid) { this.valid = valid; } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCodeEntered.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCodeEntered.java index eaf572cf63f4b..a967365da2a72 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCodeEntered.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPCodeEntered.java @@ -49,5 +49,4 @@ public String getValid() { public void setValid(String valid) { this.valid = valid; } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPDeviceState.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPDeviceState.java index 4199e9296a776..4d4ed6998e74e 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPDeviceState.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPDeviceState.java @@ -38,5 +38,4 @@ public String getState() { public void setState(String state) { this.state = state; } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPKeyPressed.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPKeyPressed.java index 72b11ddd68e42..1df4b512479cc 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPKeyPressed.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPKeyPressed.java @@ -38,5 +38,4 @@ public String getKeyCode() { public void setKeyCode(String code) { this.keyCode = code; } - } diff --git a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPObjectFactory.java b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPObjectFactory.java index bd5037a87b69e..c56caccbc5a4f 100644 --- a/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPObjectFactory.java +++ b/bundles/org.openhab.binding.helios/src/main/java/org/openhab/binding/helios/internal/ws/soap/SOAPObjectFactory.java @@ -54,5 +54,4 @@ public JAXBElement createHeliosDeviceState(SOAPDeviceState valu public JAXBElement createHeliosKeyPressedd(SOAPKeyPressed value) { return new JAXBElement<>(DATA_QNAME, SOAPKeyPressed.class, null, value); } - } diff --git a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/binding/binding.xml index f7c124cb100e4..1379060feb7e9 100644 --- a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Helios Binding This is the binding for Helios IP (Vario/...) class of intercom/(video)doorstations. diff --git a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/channel-types.xml index 41fcd8356151d..04016cabcb015 100644 --- a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/channel-types.xml @@ -1,5 +1,6 @@ - @@ -9,13 +10,13 @@ Switch Audio loop test result - + DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + String @@ -44,7 +45,7 @@ DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + trigger @@ -55,13 +56,13 @@ Switch If the detected card is valid, the parameter value is ON. If not, the parameter is set to OFF - + DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + trigger @@ -72,13 +73,13 @@ Switch If the entered code is valid, the parameter value is ON. If not, the parameter is set to OFF - + DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + String @@ -94,7 +95,7 @@ DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + trigger @@ -105,7 +106,7 @@ DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + trigger @@ -116,43 +117,43 @@ DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + Switch Motion detection indicator - + DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + Switch Noise detection indicator - + DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + Switch ON when a switch switched on, OFF when a switch switched off - + Number Number of the switch that switched, e.g. 1 to 4 - + String @@ -169,7 +170,7 @@ DateTime Event date and time in CCYY-MM-DDThh:mm:ss format - + Switch diff --git a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario221.xml b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario221.xml index 96b264e11c5df..94e0d2c1949db 100644 --- a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario221.xml +++ b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario221.xml @@ -1,5 +1,6 @@ - @@ -8,31 +9,31 @@ Helios IP Vario Door Station / Intercom with Firmware v2.21 - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario27.xml b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario27.xml index a4165995c264f..fc92d32f18a72 100644 --- a/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario27.xml +++ b/bundles/org.openhab.binding.helios/src/main/resources/ESH-INF/thing/ipvario27.xml @@ -1,5 +1,6 @@ - @@ -8,19 +9,19 @@ Helios IP Vario Door Station / Intercom with Firmware v2.7 - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.heos/.project b/bundles/org.openhab.binding.heos/.project index 320367b85ec22..3eacf5ff15c44 100644 --- a/bundles/org.openhab.binding.heos/.project +++ b/bundles/org.openhab.binding.heos/.project @@ -1,23 +1,23 @@ - - - org.openhab.binding.heos - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - + + + org.openhab.binding.heos + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/bundles/org.openhab.binding.heos/pom.xml b/bundles/org.openhab.binding.heos/pom.xml index 00678a112e79d..91774ef107a1e 100644 --- a/bundles/org.openhab.binding.heos/pom.xml +++ b/bundles/org.openhab.binding.heos/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.heos/src/main/feature/feature.xml b/bundles/org.openhab.binding.heos/src/main/feature/feature.xml index aa85ee085b7ce..85127527b0a74 100644 --- a/bundles/org.openhab.binding.heos/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.heos/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:commons-net/commons-net/3.6 - mvn:org.openhab.addons.bundles/org.openhab.binding.heos/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:commons-net/commons-net/3.6 + mvn:org.openhab.addons.bundles/org.openhab.binding.heos/${project.version} + diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/HeosBindingConstants.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/HeosBindingConstants.java index 1d12f48c483fe..e211ae11035db 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/HeosBindingConstants.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/HeosBindingConstants.java @@ -101,5 +101,4 @@ public class HeosBindingConstants extends HeosConstants { public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet( Stream.of(THING_TYPE_BRIDGE, THING_TYPE_GROUP, THING_TYPE_PLAYER).collect(Collectors.toSet())); - } diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/handler/HeosThingBaseHandler.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/handler/HeosThingBaseHandler.java index 0d4628f09c488..735f3a0ffae16 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/handler/HeosThingBaseHandler.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/handler/HeosThingBaseHandler.java @@ -13,7 +13,6 @@ package org.openhab.binding.heos.handler; import static org.openhab.binding.heos.HeosBindingConstants.*; -//import static org.openhab.binding.heos.internal.resources.HeosConstants.*; import static org.openhab.binding.heos.internal.resources.HeosConstants.*; import java.net.MalformedURLException; diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosEventController.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosEventController.java index b96af8f1cb69b..c7177ff35c734 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosEventController.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosEventController.java @@ -229,7 +229,6 @@ private void signIn() { private void shuffleModeChanged() { fireStateEvent(heosDecoder.getPid(), SHUFFLE_MODE_CHANGED, heosDecoder.getShuffleMode()); - } private void repeatModeChanged() { diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosFacade.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosFacade.java index a1f851718a80c..95291cb3b9714 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosFacade.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosFacade.java @@ -14,7 +14,6 @@ import java.net.URL; -//import org.openhab.binding.heos.internal.resources.HeosConstants; import org.openhab.binding.heos.internal.resources.HeosEventListener; /** @@ -108,7 +107,7 @@ public void muteOFF(String pid) { /** * Set the play mode of the player or group * - * @param pid The PID of the dedicated player or group + * @param pid The PID of the dedicated player or group * @param mode The shuffle mode: Allowed commands: on; off */ public void setShuffleMode(String pid, String mode) { @@ -118,7 +117,7 @@ public void setShuffleMode(String pid, String mode) { /** * Sets the repeat mode of the player or group * - * @param pid The ID of the dedicated player or group + * @param pid The ID of the dedicated player or group * @param mode The repeat mode. Allowed commands: on_all; on_one; off */ public void setRepeatMode(String pid, String mode) { @@ -251,7 +250,7 @@ public void addContainerToQueuePlayNow(String pid, String sid, String cid) { /** * Sets the connection parameter if the HOES system and connects to the system * - * @param ip The IP address of the HEOS player which is used as bridge + * @param ip The IP address of the HEOS player which is used as bridge * @param port The port the system shall establish the connection */ public void setHeosConnection(String ip, int port) { @@ -270,7 +269,7 @@ public void reboot() { /** * Login in via the bridge to the HEOS account * - * @param name The username + * @param name The username * @param password The password of the user */ public void logIn(String name, String password) { @@ -281,10 +280,10 @@ public void logIn(String name, String password) { /** * Plays a specific station on the HEOS player * - * @param pid The player ID - * @param sid The source ID where the media is located - * @param cid The container ID of the media - * @param mid The media ID of the media + * @param pid The player ID + * @param sid The source ID where the media is located + * @param cid The container ID of the media + * @param mid The media ID of the media * @param name Station name returned by 'browse' command. */ public void playStation(String pid, String sid, String cid, String mid, String name) { @@ -317,9 +316,9 @@ public void playInputSource(String pid, String input) { * Plays a specified input source from another player on the selected player. * Input name as per specified in HEOS CLI Protocol * - * @param des_pid the PID where the source shall be played + * @param des_pid the PID where the source shall be played * @param source_pid the PID where the source is located. - * @param input the input name + * @param input the input name */ public void playInputSource(String des_pid, String source_pid, String input) { controller.send(controller.command().playInputSource(des_pid, source_pid, input)); diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosSystem.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosSystem.java index 601024d770b06..de4628958ffe7 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosSystem.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/api/HeosSystem.java @@ -23,8 +23,6 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -// import org.eclipse.smarthome.core.thing.ThingStatus; -// import org.eclipse.smarthome.core.thing.ThingStatusDetail; import org.openhab.binding.heos.internal.resources.HeosCommands; import org.openhab.binding.heos.internal.resources.HeosGroup; import org.openhab.binding.heos.internal.resources.HeosPlayer; diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/handler/HeosChannelHandler.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/handler/HeosChannelHandler.java index 1eeaa4028c496..d96a43211e359 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/handler/HeosChannelHandler.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/handler/HeosChannelHandler.java @@ -41,7 +41,7 @@ public abstract class HeosChannelHandler { /** * * @param bridge Requires the HeosBridgeHandler - * @param api The HeosFacade class + * @param api The HeosFacade class */ public HeosChannelHandler(HeosBridgeHandler bridge, HeosFacade api) { this.bridge = bridge; @@ -52,9 +52,9 @@ public HeosChannelHandler(HeosBridgeHandler bridge, HeosFacade api) { * Handle a command received from a channel. Requires the class which * wants to handle the command to decide which subclass has to be used * - * @param command the command to handle - * @param id of the group or player - * @param handler The class which wants to handle the command + * @param command the command to handle + * @param id of the group or player + * @param handler The class which wants to handle the command * @param channelUID the channelUID of the handleCommand function */ public void handleCommand(Command command, String id, Object handler, ChannelUID channelUID) { @@ -74,8 +74,8 @@ public void handleCommand(Command command, String id, Object handler, ChannelUID * Handles a command for classes without an id. Used * for BridgeHandler * - * @param command the command to handle - * @param handler The class which wants to handle the command + * @param command the command to handle + * @param handler The class which wants to handle the command * @param channelUID the channelUID of the handleCommand function */ public void handleCommand(Command command, Object handler, ChannelUID channelUID) { diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosConstants.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosConstants.java index 14a508ab7b8ff..64b5c66d29801 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosConstants.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosConstants.java @@ -133,5 +133,4 @@ public class HeosConstants { public static final String HEOS_UI_ALL = "All"; public static final String HEOS_UI_ONE = "One"; public static final String HEOS_UI_OFF = "Off"; - } diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosEventListener.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosEventListener.java index aaade980bf9e0..7af14c5771ce8 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosEventListener.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosEventListener.java @@ -34,5 +34,4 @@ public interface HeosEventListener extends EventListener { void playerMediaChangeEvent(String pid, Map info); void bridgeChangeEvent(String event, String result, String command); - } diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponse.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponse.java index 235e49dc998d2..04df2f3cd28aa 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponse.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponse.java @@ -80,5 +80,4 @@ public String getRawResponseMessage() { public void setRawResponseMessage(String rawResponseMessage) { this.rawResponseMessage = rawResponseMessage; } - } diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponseDecoder.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponseDecoder.java index 61176c1ad3f74..326d5b3d48072 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponseDecoder.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosResponseDecoder.java @@ -229,5 +229,4 @@ public HeosResponse getHeosResponse() { public HeosJsonParser getHeosJsonParser() { return parser; } - } diff --git a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosSystemEventListener.java b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosSystemEventListener.java index 5c5b63c626ecd..d74890be62a7d 100644 --- a/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosSystemEventListener.java +++ b/bundles/org.openhab.binding.heos/src/main/java/org/openhab/binding/heos/internal/resources/HeosSystemEventListener.java @@ -51,8 +51,8 @@ public void removeListener(HeosEventListener listener) { /** * Notifies the registered listener of a changed state type event * - * @param pid the ID of the player or group which has changed - * @param event the name of the event (see {@link HeosConstants} for event types) + * @param pid the ID of the player or group which has changed + * @param event the name of the event (see {@link HeosConstants} for event types) * @param command the command of the event */ public void fireStateEvent(String pid, String event, String command) { @@ -62,7 +62,7 @@ public void fireStateEvent(String pid, String event, String command) { /** * Notifies the registered listener of a changed media type event * - * @param pid the ID of the player or group which has changed + * @param pid the ID of the player or group which has changed * @param info an HashMap which contains the media information */ public void fireMediaEvent(String pid, Map info) { @@ -72,8 +72,8 @@ public void fireMediaEvent(String pid, Map info) { /** * Notifies the registered listener if a change of the bridge state * - * @param event the event type - * @param result the result (success or fail) + * @param event the event type + * @param result the result (success or fail) * @param command the command of the event */ public void fireBridgeEvent(String event, String result, String command) { diff --git a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/binding/binding.xml index b59c688dac8af..6db8e77d45e90 100644 --- a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,10 @@ - HEOS Binding Binding for the Denon HEOS system. - Johannes Einig + Johannes Einig diff --git a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosGroup.xml b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosGroup.xml index fbceb78309009..dbb384266c952 100644 --- a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosGroup.xml +++ b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosGroup.xml @@ -6,28 +6,28 @@ - + A group of HEOS Player - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosPlayer.xml b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosPlayer.xml index aa032adb51956..dfe07e0822dea 100644 --- a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosPlayer.xml +++ b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosPlayer.xml @@ -7,35 +7,35 @@ - + A HEOS Player of the HEOS Network - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + The internal Player ID true - + diff --git a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosSystem.xml b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosSystem.xml index 22b21bc5c2ecd..a882becbeec65 100644 --- a/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosSystem.xml +++ b/bundles/org.openhab.binding.heos/src/main/resources/ESH-INF/thing/HeosSystem.xml @@ -41,4 +41,3 @@ - diff --git a/bundles/org.openhab.binding.homematic/pom.xml b/bundles/org.openhab.binding.homematic/pom.xml index 0d747b6958928..c22e0d1f4aa09 100644 --- a/bundles/org.openhab.binding.homematic/pom.xml +++ b/bundles/org.openhab.binding.homematic/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.homematic/src/main/feature/feature.xml b/bundles/org.openhab.binding.homematic/src/main/feature/feature.xml index 3ad5dd134c26e..e461c67038373 100644 --- a/bundles/org.openhab.binding.homematic/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.homematic/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.homematic/${project.version} - + + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.homematic/${project.version} + diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/HomematicBindingConstants.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/HomematicBindingConstants.java index 870bec74486aa..a17366053cfa6 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/HomematicBindingConstants.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/HomematicBindingConstants.java @@ -26,7 +26,7 @@ public class HomematicBindingConstants { public static final String BINDING_ID = "homematic"; public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge"); public static final String CONFIG_DESCRIPTION_URI_CHANNEL = "channel-type:homematic:config"; - + /** * A thing's config-description-uri is generally composed as follows:
* {@link #CONFIG_DESCRIPTION_URI_THING_PREFIX}:{@link ThingTypeUID} @@ -64,7 +64,7 @@ public class HomematicBindingConstants { public static final String PROPERTY_BATTERY_TYPE = "batteryType"; public static final String PROPERTY_AES_KEY = "aesKey"; public static final String PROPERTY_DYNAMIC_FUNCTION_FORMAT = "dynamicFunction-%d"; - + public static final int INSTALL_MODE_NORMAL = 1; public static final int CONFIGURATION_CHANNEL_NUMBER = -1; diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/AbstractHomematicGateway.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/AbstractHomematicGateway.java index 2aaeba067de40..340bf933ce41d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/AbstractHomematicGateway.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/AbstractHomematicGateway.java @@ -970,6 +970,5 @@ private void handleInvalidConnection(String cause) throws IOException { startClients(); startServers(); } - } } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/CcuGateway.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/CcuGateway.java index 255e5787d6562..e209d8f07219b 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/CcuGateway.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/CcuGateway.java @@ -237,5 +237,4 @@ private Map loadTclRegaScripts() throws IOException { throw new IOException("The resource homematic/tclrega-scripts.xml could not be loaded!", e); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/DefaultGateway.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/DefaultGateway.java index cf1ae7dc20752..cc3ef2e2ed2af 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/DefaultGateway.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/DefaultGateway.java @@ -57,5 +57,4 @@ protected void executeScript(HmDatapoint dp) throws IOException { protected void loadDeviceNames(Collection devices) throws IOException { // not supported } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomegearGateway.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomegearGateway.java index a31c78d56e423..0861582d0b1f6 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomegearGateway.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomegearGateway.java @@ -57,5 +57,4 @@ protected void executeScript(HmDatapoint dp) throws IOException { protected void loadDeviceNames(Collection devices) throws IOException { getRpcClient(getDefaultInterface()).loadDeviceNames(getDefaultInterface(), devices); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGateway.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGateway.java index 48934a45c5df3..cd0a058ad9aa3 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGateway.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGateway.java @@ -98,13 +98,13 @@ public void sendDatapoint(HmDatapoint dp, HmDatapointConfig dpConfig, Object new * Returns the id of the HomematicGateway. */ public String getId(); - + /** * Set install mode of homematic controller. During install mode the * controller will accept any device (normal mode) * * @param enable true will start install mode, whereas false - * will stop it + * will stop it * @param seconds specify how long the install mode should last * @throws IOException if RpcClient fails to propagate command */ @@ -139,5 +139,4 @@ public void sendDatapoint(HmDatapoint dp, HmDatapointConfig dpConfig, Object new * @param defer true will delete the device once it becomes available. */ public void deleteDevice(String address, boolean reset, boolean force, boolean defer); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayAdapter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayAdapter.java index 1fcf4e13c8556..8bc6774ae7026 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayAdapter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayAdapter.java @@ -72,5 +72,4 @@ public interface HomematicGatewayAdapter { * Called when a new value for the duty cycle of the gateway has been received. */ public void onDutyCycleRatioUpdate(int dutyCycleRatio); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayFactory.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayFactory.java index afb4f6be8dc18..aa78b2127ba83 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayFactory.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/HomematicGatewayFactory.java @@ -30,8 +30,7 @@ public class HomematicGatewayFactory { * Creates the HomematicGateway. */ public static HomematicGateway createGateway(String id, HomematicConfig config, - HomematicGatewayAdapter gatewayAdapter, HttpClient httpClient) - throws IOException { + HomematicGatewayAdapter gatewayAdapter, HttpClient httpClient) throws IOException { loadGatewayInfo(config, id, httpClient); if (config.getGatewayInfo().isCCU()) { return new CcuGateway(id, config, gatewayAdapter, httpClient); @@ -53,5 +52,4 @@ private static void loadGatewayInfo(HomematicConfig config, String id, HttpClien rpcClient.dispose(); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/BinRpcClient.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/BinRpcClient.java index 474ddc45143f0..544651391df1d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/BinRpcClient.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/BinRpcClient.java @@ -99,5 +99,4 @@ private Object[] sendMessage(int port, RpcRequest request, int rpcRetryC } } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/RpcClient.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/RpcClient.java index 5f1b17afc8e5a..686ecd6a5377e 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/RpcClient.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/RpcClient.java @@ -463,5 +463,4 @@ private String getChannelSuffix(HmChannel channel) { private boolean isConfigurationChannel(HmChannel channel) { return channel.getNumber() == CONFIGURATION_CHANNEL_NUMBER; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownParameterSetException.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownParameterSetException.java index f34b7488861eb..702fdc7538e40 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownParameterSetException.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownParameterSetException.java @@ -26,5 +26,4 @@ public class UnknownParameterSetException extends IOException { public UnknownParameterSetException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownRpcFailureException.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownRpcFailureException.java index 1e6a850dd880d..997c3ede7f558 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownRpcFailureException.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/client/UnknownRpcFailureException.java @@ -26,5 +26,4 @@ public class UnknownRpcFailureException extends IOException { public UnknownRpcFailureException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcResponse.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcResponse.java index 0e5d17e924372..7536a1bca5340 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcResponse.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcResponse.java @@ -28,5 +28,4 @@ public interface RpcResponse { * Returns the decoded data. */ public Object[] getResponseData(); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcUtils.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcUtils.java index 3d9f6928e97fa..b893f2fd821f0 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcUtils.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/RpcUtils.java @@ -94,5 +94,4 @@ private static void dumpMap(Map c, StringBuilder sb, int indent) { sb.append("}\n"); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/XmlRpcResponse.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/XmlRpcResponse.java index b08c5f199542b..1a526fd27482d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/XmlRpcResponse.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/message/XmlRpcResponse.java @@ -170,6 +170,5 @@ public void endElement(String uri, String localName, String qName) throws SAXExc public void characters(char[] ch, int start, int length) throws SAXException { tagValue.append(new String(ch, start, length)); } - } } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CcuParamsetDescriptionParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CcuParamsetDescriptionParser.java index aa1bebd943698..f3aff9106bdd1 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CcuParamsetDescriptionParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CcuParamsetDescriptionParser.java @@ -55,5 +55,4 @@ private String[] toOptionList(String options) { String[] result = StringUtils.splitByWholeSeparatorPreserveAllTokens(options, ";"); return result == null || result.length == 0 ? null : result; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CommonRpcParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CommonRpcParser.java index c04a2841c2534..63a4fd243362a 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CommonRpcParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/CommonRpcParser.java @@ -175,8 +175,7 @@ protected HmDatapoint assembleDatapoint(String name, String unit, String type, S HmValueType valueType = HmValueType.parse(type); if (valueType == null || valueType == HmValueType.UNKNOWN) { throw new IOException("Unknown datapoint type: " + type); - } - else if (valueType == HmValueType.FLOAT && dp.getUnit() == null + } else if (valueType == HmValueType.FLOAT && dp.getUnit() == null && dp.getName().matches("\\w*_TEMPERATURE(_\\w.*|$)")) { logger.debug("No unit information found for temperature datapoint {}, assuming Number:Temperature", dp.getName()); @@ -226,5 +225,4 @@ protected Object convertToType(String value) { return value; } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DeleteDevicesParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DeleteDevicesParser.java index bdf68514ffc2f..8ebf0a273ab02 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DeleteDevicesParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DeleteDevicesParser.java @@ -41,5 +41,4 @@ public List parse(Object[] message) throws IOException { } return adresses; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DisplayOptionsParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DisplayOptionsParser.java index d6334331c06cc..bf5070a46c074 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DisplayOptionsParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/DisplayOptionsParser.java @@ -187,5 +187,4 @@ public int getUnit() { public List getSymbols() { return symbols; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllScriptsParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllScriptsParser.java index 108c2a17950bc..c7023de6f76a6 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllScriptsParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllScriptsParser.java @@ -44,5 +44,4 @@ public Void parse(Object[] message) throws IOException { } return null; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllSystemVariablesParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllSystemVariablesParser.java index 366a25af3960b..419be602e879f 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllSystemVariablesParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/GetAllSystemVariablesParser.java @@ -67,5 +67,4 @@ private HmValueType guessType(Object value) { return HmValueType.STRING; } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/NewDevicesParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/NewDevicesParser.java index 50b5bc1d176fc..c334159e59a7a 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/NewDevicesParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/NewDevicesParser.java @@ -44,5 +44,4 @@ public List parse(Object[] message) throws IOException { } return adresses; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/RpcParser.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/RpcParser.java index cd04e66fcb959..e1a1d45d039c1 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/RpcParser.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/parser/RpcParser.java @@ -25,5 +25,4 @@ public interface RpcParser { * Parses the message returns the result. */ public R parse(M message) throws IOException; - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/BinRpcNetworkService.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/BinRpcNetworkService.java index 34d88ac18701c..65e7b5100a400 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/BinRpcNetworkService.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/BinRpcNetworkService.java @@ -100,5 +100,4 @@ public void shutdown() { // ignore } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcEventListener.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcEventListener.java index 724828e7db70e..8885cbae5446d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcEventListener.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcEventListener.java @@ -37,5 +37,4 @@ public interface RpcEventListener { * Called when devices has been deleted from the Homeamtic gateway. */ public void deleteDevices(List addresses); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcResponseHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcResponseHandler.java index c70b4ead2cecc..df003324d78e9 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcResponseHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcResponseHandler.java @@ -138,5 +138,4 @@ private T handleDeleteDevice(Object[] message) throws IOException { * Creates a typed RpcRequest. */ protected abstract RpcRequest createRpcRequest(); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcServer.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcServer.java index e54dc019a4d32..937c35377254e 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcServer.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/RpcServer.java @@ -30,5 +30,4 @@ public interface RpcServer { * Stops the rpc server. */ public void shutdown(); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/XmlRpcServer.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/XmlRpcServer.java index 1b2ebee4ec5d1..484c33114111c 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/XmlRpcServer.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/server/XmlRpcServer.java @@ -135,5 +135,4 @@ public void handle(String target, Request baseRequest, HttpServletRequest reques baseRequest.setHandled(true); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/AbstractVirtualDatapointHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/AbstractVirtualDatapointHandler.java index 98de6118bd5a7..b84e412f0c76f 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/AbstractVirtualDatapointHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/AbstractVirtualDatapointHandler.java @@ -78,5 +78,4 @@ protected HmDatapoint addDatapoint(HmChannel channel, HmDatapoint dp) { channel.addDatapoint(dp); return dp; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/BatteryTypeVirtualDatapointHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/BatteryTypeVirtualDatapointHandler.java index a11eb02fc4f70..0576a376017d3 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/BatteryTypeVirtualDatapointHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/BatteryTypeVirtualDatapointHandler.java @@ -40,7 +40,8 @@ public BatteryTypeVirtualDatapointHandler() { try (InputStream stream = bundle.getResource("homematic/batteries.properties").openStream()) { batteries.load(stream); } catch (IllegalStateException | IOException e) { - logger.warn("The resource homematic/batteries.properties could not be loaded! Battery types not available", e); + logger.warn("The resource homematic/batteries.properties could not be loaded! Battery types not available", + e); } } @@ -56,5 +57,4 @@ public void initialize(HmDevice device) { addDatapoint(device, 0, getName(), HmValueType.STRING, batteryType, true); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/FirmwareVirtualDatapointHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/FirmwareVirtualDatapointHandler.java index 6ee0aa06ab6e3..814e62cd4ece8 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/FirmwareVirtualDatapointHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/FirmwareVirtualDatapointHandler.java @@ -34,5 +34,4 @@ public void initialize(HmDevice device) { addDatapoint(device, 0, getName(), HmValueType.STRING, device.getFirmware(), true); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/InstallModeVirtualDatapoint.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/InstallModeVirtualDatapoint.java index 9a1177f5838f0..d3cd9b20e5bfa 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/InstallModeVirtualDatapoint.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/InstallModeVirtualDatapoint.java @@ -71,5 +71,4 @@ private Integer getDuration(HmChannel channel) { return dpDuration == null || dpDuration.getValue() == null || dpDuration.getType() != HmValueType.INTEGER ? 60 : ((Number) dpDuration.getValue()).intValue(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadFromGatewayVirtualDatapointHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadFromGatewayVirtualDatapointHandler.java index 8e83bd2cc0e68..e84a36fb9ec1d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadFromGatewayVirtualDatapointHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadFromGatewayVirtualDatapointHandler.java @@ -57,5 +57,4 @@ public void handleCommand(VirtualGateway gateway, HmDatapoint dp, HmDatapointCon } } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadRssiVirtualDatapointHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadRssiVirtualDatapointHandler.java index abaee59bc7492..c5264d0b5f95e 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadRssiVirtualDatapointHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/communicator/virtual/ReloadRssiVirtualDatapointHandler.java @@ -59,5 +59,4 @@ public void handleCommand(VirtualGateway gateway, HmDatapoint dp, HmDatapointCon } } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterException.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterException.java index 106f10ba35815..6b44bf5565908 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterException.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterException.java @@ -23,5 +23,4 @@ public class ConverterException extends Exception { public ConverterException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterFactory.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterFactory.java index 7ff04eaa67bc0..f900da991d2f5 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterFactory.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterFactory.java @@ -79,5 +79,4 @@ public static TypeConverter createConverter(String itemType) throws Converter } return converter; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterTypeException.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterTypeException.java index d8160049ab523..6a996ad36f853 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterTypeException.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/ConverterTypeException.java @@ -23,5 +23,4 @@ public class ConverterTypeException extends ConverterException { public ConverterTypeException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/StateInvertInfo.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/StateInvertInfo.java index 6bc11c4334cad..d53813f1f2759 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/StateInvertInfo.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/StateInvertInfo.java @@ -53,5 +53,4 @@ public boolean isToInvert(HmDatapoint dp) { return dpDeviceType.startsWith(deviceType); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/TypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/TypeConverter.java index 75107b1ffba47..d7488e42d3ec9 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/TypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/TypeConverter.java @@ -32,5 +32,4 @@ public interface TypeConverter { * Converts a Homematic value to a openHAB type. */ public T convertFromBinding(HmDatapoint dp) throws ConverterException; - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/AbstractTypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/AbstractTypeConverter.java index 8100916d3f626..bb10d280ed261 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/AbstractTypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/AbstractTypeConverter.java @@ -191,5 +191,4 @@ protected enum LogLevel { INFO, DEBUG } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/DecimalTypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/DecimalTypeConverter.java index b76625df4c0ba..1d0b3301ac28b 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/DecimalTypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/DecimalTypeConverter.java @@ -51,5 +51,4 @@ protected DecimalType fromBinding(HmDatapoint dp) throws ConverterException { } return new DecimalType(round(number.doubleValue())); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OnOffTypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OnOffTypeConverter.java index d762db79dd928..f11b3b7f088e5 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OnOffTypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OnOffTypeConverter.java @@ -51,5 +51,4 @@ protected OnOffType fromBinding(HmDatapoint dp) throws ConverterException { private boolean isInvert(HmDatapoint dp) { return DATAPOINT_NAME_SENSOR.equals(dp.getName()) || isStateInvertDatapoint(dp); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OpenClosedTypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OpenClosedTypeConverter.java index fb7951f8a3e9b..a5b8d6e942349 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OpenClosedTypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/OpenClosedTypeConverter.java @@ -52,5 +52,4 @@ protected OpenClosedType fromBinding(HmDatapoint dp) throws ConverterException { private boolean isInvert(HmDatapoint dp) { return !DATAPOINT_NAME_SENSOR.equals(dp.getName()) && !isStateInvertDatapoint(dp); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/QuantityTypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/QuantityTypeConverter.java index f0c1c9800177e..4a1f90d8e9e16 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/QuantityTypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/QuantityTypeConverter.java @@ -146,5 +146,4 @@ protected LogLevel getDefaultLogLevelForTypeConverter() { // increase logging verbosity for this type of converter return LogLevel.DEBUG; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/StringTypeConverter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/StringTypeConverter.java index 761dcef2b0cbe..54bb532537704 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/StringTypeConverter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/converter/type/StringTypeConverter.java @@ -61,5 +61,4 @@ protected StringType fromBinding(HmDatapoint dp) throws ConverterException { return new StringType(value); } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/HomematicDeviceDiscoveryService.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/HomematicDeviceDiscoveryService.java index 6420f4ad51f75..686c23ee541ce 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/HomematicDeviceDiscoveryService.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/HomematicDeviceDiscoveryService.java @@ -245,5 +245,4 @@ public void deviceDiscovered(HmDevice device) { .withRepresentationProperty(Thing.PROPERTY_SERIAL_NUMBER).withTTL(timeToLive).build(); thingDiscovered(discoveryResult); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/eq3udp/Eq3UdpResponse.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/eq3udp/Eq3UdpResponse.java index 03fea63cddedf..8660bc7c46865 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/eq3udp/Eq3UdpResponse.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/discovery/eq3udp/Eq3UdpResponse.java @@ -89,5 +89,4 @@ public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("deviceTypeId", deviceTypeId) .append("serialNumber", serialNumber).toString(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/GatewayNotAvailableException.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/GatewayNotAvailableException.java index 87d2c121f2668..c77dc2e4c015a 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/GatewayNotAvailableException.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/GatewayNotAvailableException.java @@ -23,5 +23,4 @@ public class GatewayNotAvailableException extends Exception { public GatewayNotAvailableException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/HomematicBridgeHandler.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/HomematicBridgeHandler.java index d01545526d88b..35601ab2a9e46 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/HomematicBridgeHandler.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/handler/HomematicBridgeHandler.java @@ -426,5 +426,4 @@ public void deleteFromGateway(String address, boolean reset, boolean force, bool getGateway().deleteDevice(address, reset, force, defer); }); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/misc/DelayedExecuter.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/misc/DelayedExecuter.java index e47dcbc6267f3..e34037af380f4 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/misc/DelayedExecuter.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/misc/DelayedExecuter.java @@ -84,7 +84,5 @@ public void stop() { public interface DelayedExecuterCallback { public void execute() throws IOException, HomematicClientException; - } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmChannel.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmChannel.java index b5e95843f5257..f2250a9d45411 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmChannel.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmChannel.java @@ -219,5 +219,4 @@ public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("number", number).append("type", type) .append("initialized", initialized).toString(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapoint.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapoint.java index e39dbde088cfb..97c6207e49bb3 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapoint.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapoint.java @@ -438,5 +438,4 @@ public String toString() { .append("description", description).append("info", info).append("paramsetType", paramsetType) .append("virtual", virtual).append("trigger", trigger).toString(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapointConfig.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapointConfig.java index 100b22eacd8a8..8ca63574cc741 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapointConfig.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmDatapointConfig.java @@ -57,5 +57,4 @@ public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("delay", delay) .append("receiveDelay", receiveDelay).toString(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmRssiInfo.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmRssiInfo.java index 2df0935f75fd0..43ce6340ff7b4 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmRssiInfo.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmRssiInfo.java @@ -68,5 +68,4 @@ public String toString() { return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE).append("address", address) .append("device", device).append("peer", peer).toString(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmValueType.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmValueType.java index 8033442617a09..e0aa4cb3f06e0 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmValueType.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/HmValueType.java @@ -51,5 +51,4 @@ public static HmValueType parse(String type) { return UNKNOWN; } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScript.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScript.java index 01c37743a618c..f8510106eb263 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScript.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScript.java @@ -27,5 +27,4 @@ public class TclScript { public String name; public String data; - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptDataList.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptDataList.java index f020aea430ab2..552bfaa18b82c 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptDataList.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptDataList.java @@ -35,5 +35,4 @@ public class TclScriptDataList { public List getEntries() { return entries; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptList.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptList.java index 47e3cad06c2e3..d64b4402e109f 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptList.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/model/TclScriptList.java @@ -36,5 +36,4 @@ public class TclScriptList { public List getScripts() { return scripts; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProvider.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProvider.java index 7369abf843852..6d6d158f689e8 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProvider.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProvider.java @@ -42,5 +42,4 @@ public interface HomematicChannelGroupTypeProvider extends ChannelGroupTypeProvi * before */ public ChannelGroupType getInternalChannelGroupType(ChannelGroupTypeUID channelGroupTypeUID); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProviderImpl.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProviderImpl.java index 53b9449235a04..32dfbc2a8afdd 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProviderImpl.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelGroupTypeProviderImpl.java @@ -87,5 +87,4 @@ public Collection getChannelGroupTypes(Locale locale) { public void addChannelGroupType(ChannelGroupType channelGroupType) { channelGroupTypesByUID.put(channelGroupType.getUID(), channelGroupType); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProvider.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProvider.java index d7c57e78daca5..5338d32d77122 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProvider.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProvider.java @@ -42,5 +42,4 @@ public interface HomematicChannelTypeProvider extends ChannelTypeProvider { * before */ public ChannelType getInternalChannelType(ChannelTypeUID channelTypeUID); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProviderImpl.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProviderImpl.java index d3e7ec7b1ae12..1f8153b28c303 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProviderImpl.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicChannelTypeProviderImpl.java @@ -88,5 +88,4 @@ public ChannelType getInternalChannelType(ChannelTypeUID channelTypeUID) { public void addChannelType(ChannelType channelType) { channelTypesByUID.put(channelType.getUID(), channelType); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProvider.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProvider.java index 9bd53bb063f2c..4206962689c3e 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProvider.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProvider.java @@ -42,7 +42,7 @@ public interface HomematicConfigDescriptionProvider extends ConfigDescriptionPro @Override @Nullable ConfigDescription getConfigDescription(URI uri, @Nullable Locale locale); - + /** * Use this method to lookup a ConfigDescription which was generated by the * homematic binding. Other than {@link #getConfigDescription(URI, Locale)} diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProviderImpl.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProviderImpl.java index 832d17d5831d1..d5b4e7370602e 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProviderImpl.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicConfigDescriptionProviderImpl.java @@ -88,5 +88,4 @@ public ConfigDescription getInternalConfigDescription(URI uri) { public void addConfigDescription(ConfigDescription configDescription) { configDescriptionsByURI.put(configDescription.getUID(), configDescription); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicThingTypeProvider.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicThingTypeProvider.java index 0034c6ba3dc67..e35bedbd0ee8d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicThingTypeProvider.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicThingTypeProvider.java @@ -27,7 +27,7 @@ public interface HomematicThingTypeProvider extends ThingTypeProvider { * Adds the ThingType to this provider. */ public void addThingType(ThingType thingType); - + /** * Use this method to lookup a ThingType which was generated by the * homematic binding. Other than {@link #getThingType(ThingTypeUID, Locale)} @@ -42,5 +42,4 @@ public interface HomematicThingTypeProvider extends ThingTypeProvider { * before */ public ThingType getInternalThingType(ThingTypeUID thingTypeUID); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGenerator.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGenerator.java index d8c5c980207c1..43ba6b4b22e80 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGenerator.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGenerator.java @@ -35,5 +35,4 @@ public interface HomematicTypeGenerator { * different datapoints which may cause warnings in the logfile. */ public void validateFirmwares(); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java index 2073998cad525..83b35f70acf13 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/HomematicTypeGeneratorImpl.java @@ -376,5 +376,4 @@ private URI getConfigDescriptionURI(HmDevice device) { public static boolean isIgnoredDatapoint(HmDatapoint dp) { return StringUtils.indexOfAny(dp.getName(), IGNORE_DATAPOINT_NAMES) != -1; } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/MetadataUtils.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/MetadataUtils.java index f588d7b23ef8b..55f2f75cd0ebf 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/MetadataUtils.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/MetadataUtils.java @@ -392,5 +392,4 @@ public static String getCategory(HmDatapoint dp, String itemType) { return null; } } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/UidUtils.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/UidUtils.java index 865608f09eeab..32c378d92a47d 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/UidUtils.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/internal/type/UidUtils.java @@ -93,5 +93,4 @@ public static HmDatapointInfo createHmDatapointInfo(ChannelUID channelUID) { public static String getHomematicAddress(Thing thing) { return thing.getUID().getId(); } - } diff --git a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/type/HomematicThingTypeExcluder.java b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/type/HomematicThingTypeExcluder.java index aff40d532b363..822a853d07499 100644 --- a/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/type/HomematicThingTypeExcluder.java +++ b/bundles/org.openhab.binding.homematic/src/main/java/org/openhab/binding/homematic/type/HomematicThingTypeExcluder.java @@ -89,5 +89,4 @@ public interface HomematicThingTypeExcluder { * excluded */ public boolean isConfigDescriptionExcluded(URI configDescriptionURI); - } diff --git a/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/binding/binding.xml index d7d5ed926cd41..0927c2f831e97 100644 --- a/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Homematic Binding diff --git a/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/config/config.xml index 73290511a1adf..48eefe98637ed 100644 --- a/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/config/config.xml @@ -1,12 +1,14 @@ - - Delays transmission of a command to the Homematic gateway, duplicate commands are filtered out (in seconds) + Delays transmission of a command to the Homematic gateway, duplicate commands are filtered out (in + seconds) 0.0 diff --git a/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/thing/bridge.xml index 7d86ee2afd455..6910f697118da 100644 --- a/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.homematic/src/main/resources/ESH-INF/thing/bridge.xml @@ -10,7 +10,7 @@ The Homematic bridge represents a Homematic gateway - + serialNumber @@ -44,11 +44,13 @@ - Callback port of the binding's XML-RPC server. If no value is specified, xmlCallbackPort starts with 9125 and counts up + Callback port of the binding's XML-RPC server. If no value is specified, xmlCallbackPort starts with + 9125 and counts up - Callback port of the binding's BIN-RPC server. If no value is specified, xmlCallbackPort starts with 9126 and counts up + Callback port of the binding's BIN-RPC server. If no value is specified, xmlCallbackPort starts with + 9126 and counts up @@ -105,13 +107,16 @@ - If set to true, devices are unpaired from the gateway when their corresponding things are removed. The option "factoryResetOnDeletion" also unpairs a device, so in order to avoid unpairing on deletion, both options need to be set to false! + If set to true, devices are unpaired from the gateway when their corresponding things are removed. The + option "factoryResetOnDeletion" also unpairs a device, so in order to avoid unpairing on deletion, both options + need to be set to false! true false - If set to true, devices are factory reset when their corresponding things are removed. Due to the factory reset, the device will also be unpaired from the gateway, even if "unpairOnDeletion" is set to false! + If set to true, devices are factory reset when their corresponding things are removed. Due to the + factory reset, the device will also be unpaired from the gateway, even if "unpairOnDeletion" is set to false! true false @@ -123,6 +128,6 @@ Number Current duty cycle usage - +
diff --git a/bundles/org.openhab.binding.homematic/src/main/resources/homematic/tclrega-scripts.xml b/bundles/org.openhab.binding.homematic/src/main/resources/homematic/tclrega-scripts.xml index 836c333143959..cd7f81feca5d4 100644 --- a/bundles/org.openhab.binding.homematic/src/main/resources/homematic/tclrega-scripts.xml +++ b/bundles/org.openhab.binding.homematic/src/main/resources/homematic/tclrega-scripts.xml @@ -14,7 +14,7 @@ foreach (sys_var_id, dom.GetObject(ID_SYSTEM_VARIABLES).EnumUsedIDs()) { Write("' description='"); WriteXML(var_obj.DPInfo()); Write("' info='"); WriteXML(var_obj.Name()); Write("' value='"); WriteXML(var_obj.Value()); - + var var_type = "UNKNOWN"; if (var_obj.ValueType() == 2 ) { var_type = "BOOL"; } if (var_obj.ValueType() == 16 ) { var_type = "ENUM"; } @@ -97,8 +97,8 @@ Write(''); ]]> - - + - + + + diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/communicator/virtual/ButtonDatapointTest.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/communicator/virtual/ButtonDatapointTest.java index 3979c6f9dc539..0ec108701d6a3 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/communicator/virtual/ButtonDatapointTest.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/communicator/virtual/ButtonDatapointTest.java @@ -143,7 +143,6 @@ public void eventReceived(HmDatapoint dp) throws IOException, HomematicClientExc if (dp.isPressDatapoint() && MiscUtils.isTrueValue(dp.getValue())) { disableDatapoint(dp); } - } private void disableDatapoint(HmDatapoint dp) { @@ -155,7 +154,5 @@ private void disableDatapoint(HmDatapoint dp) { } }).start(); } - } - } diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/BaseConverterTest.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/BaseConverterTest.java index 07cbbf7f9b262..380607a32e852 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/BaseConverterTest.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/BaseConverterTest.java @@ -40,5 +40,4 @@ public void setup() { stubChannel.setDevice(new HmDevice("LEQ123456", HmInterface.RF, "HM-STUB-DEVICE", "", "", "")); floatDp.setChannel(stubChannel); } - } diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConvertFromBindingTest.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConvertFromBindingTest.java index 2a9cead5fc0f5..7f3eb06ed14e5 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConvertFromBindingTest.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConvertFromBindingTest.java @@ -100,7 +100,5 @@ public void testQuantityTypeConverter() throws ConverterException { assertThat(((QuantityType) convertedState).doubleValue(), is(70.0)); assertThat(((QuantityType) convertedState).getUnit(), is(SmartHomeUnits.PERCENT)); assertThat(((QuantityType) convertedState).toUnit(SmartHomeUnits.ONE).doubleValue(), is(0.7)); - } - } diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConverterFactoryTest.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConverterFactoryTest.java index 52d257f52ae2b..be8fde7081032 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConverterFactoryTest.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/converter/ConverterFactoryTest.java @@ -42,5 +42,4 @@ public void testTypesOfCreatedConverters() throws ConverterException { assertThat(ConverterFactory.createConverter("Number:Temperature"), instanceOf(QuantityTypeConverter.class)); assertThat(ConverterFactory.createConverter("Number:Percent"), instanceOf(QuantityTypeConverter.class)); } - } diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/handler/SimplePortPoolTest.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/handler/SimplePortPoolTest.java index 1c336fd4f03e4..e22056af39c05 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/handler/SimplePortPoolTest.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/handler/SimplePortPoolTest.java @@ -21,13 +21,11 @@ import org.junit.Before; import org.junit.Test; -import org.openhab.binding.homematic.internal.handler.SimplePortPool; /** - * Tests for {@link SimplePortPool}. - * - * @author Florian Stolte - Initial Contribution + * Tests for {@link org.openhab.binding.homematic.internal.handler.SimplePortPool}. * + * @author Florian Stolte - Initial Contribution */ public class SimplePortPoolTest { diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/type/UidUtilsTest.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/type/UidUtilsTest.java index e6ddb1b54f038..a2e62cc3defaf 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/type/UidUtilsTest.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/internal/type/UidUtilsTest.java @@ -29,7 +29,6 @@ import org.openhab.binding.homematic.internal.model.HmDatapoint; import org.openhab.binding.homematic.internal.model.HmDatapointInfo; import org.openhab.binding.homematic.internal.model.HmDevice; -import org.openhab.binding.homematic.internal.type.UidUtils; /** * Tests for {@link UidUtilsTest}. @@ -114,5 +113,4 @@ public void testHomematicAddressIsGeneratedFromThingID() { assertThat(generatedAddress, is("ABC12345678")); } - } diff --git a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/test/util/RpcClientMockImpl.java b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/test/util/RpcClientMockImpl.java index 9f5be55e1f448..aa96a9ab509c6 100644 --- a/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/test/util/RpcClientMockImpl.java +++ b/bundles/org.openhab.binding.homematic/src/test/java/org/openhab/binding/homematic/test/util/RpcClientMockImpl.java @@ -82,7 +82,6 @@ public String createMessage() { public String getMethodName() { return methodName; } - }; } diff --git a/bundles/org.openhab.binding.hpprinter/pom.xml b/bundles/org.openhab.binding.hpprinter/pom.xml index 83a7080bcd3a2..22765d3e2d23d 100644 --- a/bundles/org.openhab.binding.hpprinter/pom.xml +++ b/bundles/org.openhab.binding.hpprinter/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPUsage.java b/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPUsage.java index c773a0d1149bc..96a795cc420ad 100644 --- a/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPUsage.java +++ b/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPUsage.java @@ -216,5 +216,4 @@ public int getInkColor() { public float getInkColorMarking() { return inkColorMarking; } - } diff --git a/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPWebServerClient.java b/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPWebServerClient.java index c4dc4df8a990a..562fe81c6fda6 100644 --- a/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPWebServerClient.java +++ b/bundles/org.openhab.binding.hpprinter/src/main/java/org/openhab/binding/hpprinter/internal/api/HPWebServerClient.java @@ -112,5 +112,4 @@ private synchronized Document getDocument(String contentAsString) InputSource source = new InputSource(new StringReader(contentAsString)); return builder.parse(source); } - } diff --git a/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-groups.xml b/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-groups.xml index fa2d768da05d6..313838d63bb8f 100644 --- a/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-groups.xml +++ b/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-groups.xml @@ -27,7 +27,7 @@ - + diff --git a/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-types.xml index ab5725ea6ddad..5fb355b180668 100644 --- a/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/channel-types.xml @@ -7,34 +7,34 @@ Number:Dimensionless Shows the amount of Ink/Toner remaining - + Number Amount of pages. - + String Shows the estimated amount of pages remaining - + Number:Volume Shows the amount of Ink/Toner used - + String Printer Status - + diff --git a/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/thing-printer.xml b/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/thing-printer.xml index ccdad17744cbf..c25068ebfbe3f 100644 --- a/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/thing-printer.xml +++ b/bundles/org.openhab.binding.hpprinter/src/main/resources/ESH-INF/thing/thing-printer.xml @@ -8,15 +8,15 @@ An HP Printer. - - - + + + HP serialNumber - + diff --git a/bundles/org.openhab.binding.hue/pom.xml b/bundles/org.openhab.binding.hue/pom.xml index f2b44b5aa2645..abad47afe795f 100644 --- a/bundles/org.openhab.binding.hue/pom.xml +++ b/bundles/org.openhab.binding.hue/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.hue/src/main/feature/feature.xml b/bundles/org.openhab.binding.hue/src/main/feature/feature.xml index 4fa260af97a0c..abc121f42ed8b 100644 --- a/bundles/org.openhab.binding.hue/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.hue/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.hue/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.hue/${project.version} + diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/ApiVersion.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/ApiVersion.java index 7efea2a71e6ac..a4e59c902626f 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/ApiVersion.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/ApiVersion.java @@ -91,7 +91,6 @@ public int compare(ApiVersion other) { } } return c; - } @Override @@ -132,5 +131,4 @@ public boolean equals(Object obj) { public String toString() { return major + "." + minor + "." + micro; } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/Config.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/Config.java index 8ecb909a756c7..cf3b84bf59a79 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/Config.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/Config.java @@ -196,5 +196,4 @@ public String getApiVersion() { } return apiversion; } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueBridge.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueBridge.java index 048d9ca4cfbf9..aab93fcabb212 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueBridge.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueBridge.java @@ -377,10 +377,10 @@ public CompletableFuture setSensorState(FullSensor sensor, StateUpdate u requireAuthentication(); String body = update.toJson(); - return http.putAsync(getRelativeURL("sensors/" + enc(sensor.getId()) + "/state"), body, update.getMessageDelay(), - scheduler); - } - + return http.putAsync(getRelativeURL("sensors/" + enc(sensor.getId()) + "/state"), body, + update.getMessageDelay(), scheduler); + } + /** * Changes the config of a sensor. * diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueConfigStatusMessage.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueConfigStatusMessage.java index 7ad0911e2f71e..6474fb38d9966 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueConfigStatusMessage.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/HueConfigStatusMessage.java @@ -25,5 +25,4 @@ public interface HueConfigStatusMessage { static final String IP_ADDRESS_MISSING = "missing-ip-address-configuration"; - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/StateUpdate.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/StateUpdate.java index c8be2d4d2a479..0d92d5e7f15f7 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/StateUpdate.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/StateUpdate.java @@ -202,21 +202,20 @@ public StateUpdate setTransitionTime(long timeMillis) { * @param flag on if true, off otherwise * @return this object for chaining calls */ - + public StateUpdate setFlag(boolean flag) { commands.add(new Command("flag", flag)); return this; } - + /** * Set status of sensor. * - * @param status status + * @param status status * @return this object for chaining calls */ public StateUpdate setStatus(int status) { commands.add(new Command("status", status)); return this; } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/BridgeJsonParameters.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/BridgeJsonParameters.java index f78ab8f1b92ac..d759bb6be9a35 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/BridgeJsonParameters.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/BridgeJsonParameters.java @@ -57,5 +57,4 @@ public String getMacAddress() { public String getName() { return name; } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeDiscoveryParticipant.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeDiscoveryParticipant.java index 8e1cbadaf365b..ecca96b82ac05 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeDiscoveryParticipant.java @@ -84,5 +84,4 @@ public Set getSupportedThingTypeUIDs() { } return null; } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeNupnpDiscovery.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeNupnpDiscovery.java index dbaaeb25f531d..146d87f962aaa 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeNupnpDiscovery.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueBridgeNupnpDiscovery.java @@ -182,5 +182,4 @@ private List getBridgeList() { protected String doGetRequest(String url) throws IOException { return HttpUtil.executeUrl("GET", url, REQUEST_TIMEOUT); } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueLightDiscoveryService.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueLightDiscoveryService.java index 42d9ea038826c..5aef4039bf9d0 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueLightDiscoveryService.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/discovery/HueLightDiscoveryService.java @@ -112,7 +112,6 @@ public void deactivate() { removeOlderResults(new Date().getTime(), hueBridgeHandler.getThing().getUID()); hueBridgeHandler.unregisterLightStatusListener(this); hueBridgeHandler.unregisterSensorStatusListener(this); - } @Override diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/LightStateConverter.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/LightStateConverter.java index 3422660fa4759..5760a3346d11e 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/LightStateConverter.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/LightStateConverter.java @@ -21,10 +21,10 @@ import org.eclipse.smarthome.core.library.types.PercentType; import org.eclipse.smarthome.core.library.types.StringType; import org.openhab.binding.hue.internal.State; -import org.openhab.binding.hue.internal.StateUpdate; import org.openhab.binding.hue.internal.State.AlertMode; import org.openhab.binding.hue.internal.State.ColorMode; import org.openhab.binding.hue.internal.State.Effect; +import org.openhab.binding.hue.internal.StateUpdate; /** * The {@link LightStateConverter} is responsible for mapping Eclipse SmartHome @@ -310,5 +310,4 @@ private static int restrictToBounds(int percentValue) { } return percentValue; } - } diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/sensors/ClipHandler.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/sensors/ClipHandler.java index 3d383509e8acb..c0a81ec05388c 100644 --- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/sensors/ClipHandler.java +++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/handler/sensors/ClipHandler.java @@ -36,15 +36,16 @@ */ @NonNullByDefault public class ClipHandler extends HueSensorHandler { - public static final Set SUPPORTED_THING_TYPES = Stream.of(THING_TYPE_CLIP_GENERIC_STATUS, THING_TYPE_CLIP_GENERIC_FLAG).collect(Collectors.toSet()); - + public static final Set SUPPORTED_THING_TYPES = Stream + .of(THING_TYPE_CLIP_GENERIC_STATUS, THING_TYPE_CLIP_GENERIC_FLAG).collect(Collectors.toSet()); + public ClipHandler(Thing thing) { super(thing); } @Override protected SensorConfigUpdate doConfigurationUpdate(Map configurationParameters) { - return new SensorConfigUpdate(); + return new SensorConfigUpdate(); } protected void doSensorStateChanged(@Nullable HueBridge bridge, FullSensor sensor, Configuration config) { diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/binding/binding.xml index a8fc3b129f88d..a878d4fded24d 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,5 @@ - diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericFlagSensor.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericFlagSensor.xml index d16cc4ef435cb..0d165659f1e31 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericFlagSensor.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericFlagSensor.xml @@ -6,15 +6,15 @@ - + A generic sensor object for IP sensor use. - - + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericStatusSensor.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericStatusSensor.xml index 5d134b91e2bd4..2e425b01b7a4c 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericStatusSensor.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/CLIPGenericStatusSensor.xml @@ -6,15 +6,15 @@ - + A generic sensor object for IP sensor use. - - + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorLight.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorLight.xml index 4e11fcb6b3137..a843edcf16961 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorLight.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorLight.xml @@ -6,16 +6,16 @@ - + A dimmable light with changeable colors. - - - + + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorTemperatureLight.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorTemperatureLight.xml index 625294b8daa0c..17633b316cc94 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorTemperatureLight.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ColorTemperatureLight.xml @@ -6,17 +6,17 @@ - + A dimmable light with tunable color temperature. - - - - + + + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmableLight.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmableLight.xml index 9e06ea5256352..9ebe3a3431d08 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmableLight.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmableLight.xml @@ -6,15 +6,15 @@ - + A dimmable light. - - + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmablePlug.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmablePlug.xml index 1678e02a05f36..cf4972600d8b8 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmablePlug.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmablePlug.xml @@ -6,14 +6,14 @@ - + An outlet that can be dimmed. - + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmerSwitch.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmerSwitch.xml index 48fda3f7cb276..6825f79ade8bc 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmerSwitch.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/DimmerSwitch.xml @@ -6,18 +6,18 @@ - + A dimmer switch. - - - - - + + + + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ExtendedColorLight.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ExtendedColorLight.xml index 943eb01508d42..49f3bfc7bc1c6 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ExtendedColorLight.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/ExtendedColorLight.xml @@ -6,17 +6,17 @@ - + A dimmable light with changeable colors and tunable color temperature. - - - - + + + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/LightLevelSensor.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/LightLevelSensor.xml index 402288f60840e..e9f38ebcd7dde 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/LightLevelSensor.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/LightLevelSensor.xml @@ -6,20 +6,20 @@ - + A sensor providing light level information. - - - - - - - + + + + + + + uniqueId @@ -36,16 +36,19 @@
- Turns device LED during normal operation on or off. Devices might still indicate exceptional operation (Reset, SW Update, Battery Low). + Turns device LED during normal operation on or off. Devices might still indicate exceptional operation + (Reset, SW Update, Battery Low). - Threshold the user configured to be used in rules to determine insufficient light level (ie below threshold). Default value 16000. + Threshold the user configured to be used in rules to determine insufficient light level (ie below + threshold). Default value 16000. 16000 - Threshold the user configured to be used in rules to determine sufficient light level (ie above threshold). Specified as relative offset to the “dark†threshold. Shall be >=1. Default value 7000. + Threshold the user configured to be used in rules to determine sufficient light level (ie above + threshold). Specified as relative offset to the “dark†threshold. Shall be >=1. Default value 7000. 7000
diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffLight.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffLight.xml index c954a8cdffd4c..11bee9fa1c67c 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffLight.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffLight.xml @@ -6,15 +6,15 @@ - + A light that could be switched on and off. - - + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffPlug.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffPlug.xml index 5e4c650076f5d..690e6fbccd9da 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffPlug.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/OnOffPlug.xml @@ -6,14 +6,14 @@ - + An outlet that could be switched on and off. - + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/PresenceSensor.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/PresenceSensor.xml index a91e9cd6769af..d3f486f8ff2f6 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/PresenceSensor.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/PresenceSensor.xml @@ -6,17 +6,17 @@ - + A motion sensor providing presence detection. - - - - + + + + uniqueId @@ -33,7 +33,8 @@
- Turns device LED during normal operation on or off. Devices might still indicate exceptional operation (Reset, SW Update, Battery Low). + Turns device LED during normal operation on or off. Devices might still indicate exceptional operation + (Reset, SW Update, Battery Low). diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TapSwitch.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TapSwitch.xml index dcfff23fda1ba..409f67b77f7c9 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TapSwitch.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TapSwitch.xml @@ -6,16 +6,16 @@ - + A customizable switch. - - - + + + uniqueId diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TemperatureSensor.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TemperatureSensor.xml index d8af6f2f8e56b..f1f1a65112a81 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TemperatureSensor.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/TemperatureSensor.xml @@ -6,17 +6,17 @@ - + A sensor providing temperature values. - - - - + + + + uniqueId @@ -33,7 +33,8 @@ - Turns device LED during normal operation on or off. Devices might still indicate exceptional operation (Reset, SW Update, Battery Low). + Turns device LED during normal operation on or off. Devices might still indicate exceptional operation + (Reset, SW Update, Battery Low).
diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/bridge.xml index a291b3676a9b4..8c2faf491819c 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/bridge.xml @@ -38,7 +38,8 @@
- Milliseconds between fetching sensor-values from the Hue bridge. A higher value means more delay for the sensor values, but a too low value can cause congestion on the Hue bridge. + Milliseconds between fetching sensor-values from the Hue bridge. A higher value means more delay for + the sensor values, but a too low value can cause congestion on the Hue bridge. true 500 diff --git a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/channels.xml index c284b4364350c..d6645d2f43401 100644 --- a/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.hue/src/main/resources/ESH-INF/thing/channels.xml @@ -36,35 +36,35 @@ The date and time when the sensor was last updated. Time - + Number:Illuminance Current illuminance. - + Number Current light level. - + Switch Light level is below the darkness threshold. - + Switch Light level is above the daylight threshold. - + @@ -165,7 +165,7 @@ Current temperature. Temperature - + @@ -199,7 +199,7 @@ The effect channel allows putting the bulb in a color looping mode. ColorLight - + Number @@ -212,5 +212,5 @@ Flag of CLIP sensor. - + diff --git a/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/ApiVersionTest.java b/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/ApiVersionTest.java index 416ff4734e945..aac7516caf03f 100644 --- a/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/ApiVersionTest.java +++ b/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/ApiVersionTest.java @@ -52,6 +52,5 @@ public void testCompare() { assertTrue(v.compare(new ApiVersion(0, 2, 3)) > 0); assertTrue(v.compare(new ApiVersion(3, 2, 3)) < 0); - } } diff --git a/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/LightStateConverterTest.java b/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/LightStateConverterTest.java index c594b753e13ab..9365e2f78e260 100644 --- a/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/LightStateConverterTest.java +++ b/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/LightStateConverterTest.java @@ -19,8 +19,6 @@ import org.eclipse.smarthome.core.library.types.HSBType; import org.eclipse.smarthome.core.library.types.PercentType; import org.junit.Test; -import org.openhab.binding.hue.internal.State; -import org.openhab.binding.hue.internal.StateUpdate; import org.openhab.binding.hue.internal.State.ColorMode; import org.openhab.binding.hue.internal.handler.LightStateConverter; diff --git a/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/handler/HueLightHandlerTest.java b/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/handler/HueLightHandlerTest.java index 93762e189f4ef..4d204b19509fe 100644 --- a/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/handler/HueLightHandlerTest.java +++ b/bundles/org.openhab.binding.hue/src/test/java/org/openhab/binding/hue/internal/handler/HueLightHandlerTest.java @@ -400,5 +400,4 @@ private void assertJson(String expected, String actual) { JsonElement jsonActual = parser.parse(actual); assertEquals(jsonExpected, jsonActual); } - } diff --git a/bundles/org.openhab.binding.hydrawise/pom.xml b/bundles/org.openhab.binding.hydrawise/pom.xml index af2cc58bb4345..13ceaeb4b60d5 100644 --- a/bundles/org.openhab.binding.hydrawise/pom.xml +++ b/bundles/org.openhab.binding.hydrawise/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.hydrawise/src/main/feature/feature.xml b/bundles/org.openhab.binding.hydrawise/src/main/feature/feature.xml index 5db2f38481787..07ffb45437059 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.hydrawise/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.hydrawise/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.hydrawise/${project.version} + diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseBindingConstants.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseBindingConstants.java index 309002526901d..8570a19b19b1e 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseBindingConstants.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseBindingConstants.java @@ -66,5 +66,4 @@ public class HydrawiseBindingConstants { public static final String PROPERTY_DESCRIPTION = "description"; public static final String PROPERTY_LOCATION = "location"; public static final String PROPERTY_ADDRESS = "address"; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseCloudHandler.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseCloudHandler.java index 3c590ab55a547..39a59c46e69d7 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseCloudHandler.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseCloudHandler.java @@ -155,7 +155,6 @@ protected void sendStopCommand(@Nullable Relay relay) if (relay != null) { client.stopRelay(relay.relayId); } - } @Override diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseLocalHandler.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseLocalHandler.java index 7db82979ed286..e117a8ecfae49 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseLocalHandler.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/HydrawiseLocalHandler.java @@ -46,7 +46,6 @@ protected void configure() throws HydrawiseConnectionException, HydrawiseAuthent logger.trace("Connecting to host {}", configuration.host); client.setCredentials(configuration.host, configuration.username, configuration.password); pollController(); - } @Override diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyActual.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyActual.java index 66741dc7e155f..199c3a72cc492 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyActual.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyActual.java @@ -22,5 +22,4 @@ public class BocTopologyActual { public List bocGateways; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyDesired.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyDesired.java index 8da2ce9a8759c..f3dbde6fb43ec 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyDesired.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/BocTopologyDesired.java @@ -22,5 +22,4 @@ public class BocTopologyDesired { public List bocGateways; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Controller.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Controller.java index adeb0852df569..97214482d0c31 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Controller.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Controller.java @@ -62,5 +62,4 @@ public class Controller { public Boolean online; public List tags = null; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/CustomerDetailsResponse.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/CustomerDetailsResponse.java index df247117e94c7..5425426619fa5 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/CustomerDetailsResponse.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/CustomerDetailsResponse.java @@ -46,5 +46,4 @@ public class CustomerDetailsResponse extends Response { public Integer tandcVersion; public Features features; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Features.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Features.java index 29dd6dd24c204..32d8aaed1ce14 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Features.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Features.java @@ -98,5 +98,4 @@ public class Features { public String customerplanId; public Integer smsUsed; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Forecast.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Forecast.java index 2767a9c88890f..1c7b9fe49a0c7 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Forecast.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Forecast.java @@ -36,5 +36,4 @@ public class Forecast { public String icon; public String iconLocal; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/LocalScheduleResponse.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/LocalScheduleResponse.java index b9fda4df85915..9e804b477b8c8 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/LocalScheduleResponse.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/LocalScheduleResponse.java @@ -29,5 +29,4 @@ public class LocalScheduleResponse extends Response { public String name; public Integer time; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/PlanArray.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/PlanArray.java index 4db5b2a06ba8f..927b2a337cdf8 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/PlanArray.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/PlanArray.java @@ -88,5 +88,4 @@ public class PlanArray { public String start; public String customerplanId; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Relay.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Relay.java index 3d9668214c94c..65e1dae5be9dd 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Relay.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Relay.java @@ -54,5 +54,4 @@ public int getRelayNumber() { int quotient = relay / 100; return (relay - (quotient * 100)) + (quotient * 12); } - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Response.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Response.java index 516958cde40c1..f5bca8a42b4e2 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Response.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Response.java @@ -20,5 +20,4 @@ public class Response { public String errorMsg; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Running.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Running.java index 241e6b9223674..610d478e53fe4 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Running.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Running.java @@ -26,5 +26,4 @@ public class Running { public Integer timeLeft; public String run; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Sensor.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Sensor.java index a1273ad30fe38..9ee2b70d529d4 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Sensor.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/Sensor.java @@ -38,5 +38,4 @@ public class Sensor { public Integer active; public List relays = null; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetControllerResponse.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetControllerResponse.java index 340834a1e723e..e2d8b1e671804 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetControllerResponse.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetControllerResponse.java @@ -24,5 +24,4 @@ public class SetControllerResponse extends Response { public String controllerId; public String message; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetZoneResponse.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetZoneResponse.java index 126d6fa9d2fbc..bf67bf9f5652d 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetZoneResponse.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/SetZoneResponse.java @@ -22,5 +22,4 @@ public class SetZoneResponse extends Response { public String message; public String messageType; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/StatusScheduleResponse.java b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/StatusScheduleResponse.java index 8d9d399d4008b..af88b4734a98f 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/StatusScheduleResponse.java +++ b/bundles/org.openhab.binding.hydrawise/src/main/java/org/openhab/binding/hydrawise/internal/api/model/StatusScheduleResponse.java @@ -57,5 +57,4 @@ public class StatusScheduleResponse extends LocalScheduleResponse { public String status; public String statusIcon; - } diff --git a/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/channel-types.xml index aeae5e87503bb..a7532abfbe901 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/channel-types.xml @@ -8,14 +8,14 @@ Hydrawise zone - - - - - - - - + + + + + + + + @@ -23,22 +23,22 @@ Commands that control all Hydrawise zones - - + + - + Hydrawise sensor - - - - - - - + + + + + + + @@ -46,12 +46,12 @@ Hydrawise weather forecast - - - - - - + + + + + + @@ -173,7 +173,7 @@ High temperature Temperature - + @@ -181,7 +181,7 @@ Low Temperature Temperature - + @@ -210,7 +210,7 @@ Humidity percentage Temperature - + @@ -218,6 +218,6 @@ Wind speed Wind - + diff --git a/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/things.xml b/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/things.xml index 3b2e35fc485cf..b783b67833a86 100644 --- a/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/things.xml +++ b/bundles/org.openhab.binding.hydrawise/src/main/resources/ESH-INF/thing/things.xml @@ -9,7 +9,7 @@ Hydrawise cloud connected irrigation system - @@ -46,7 +46,7 @@ Day 4 weather forecast - + diff --git a/bundles/org.openhab.binding.hyperion/pom.xml b/bundles/org.openhab.binding.hyperion/pom.xml index 71787bb8a51a5..f87dc24124e4e 100644 --- a/bundles/org.openhab.binding.hyperion/pom.xml +++ b/bundles/org.openhab.binding.hyperion/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.hyperion/src/main/feature/feature.xml b/bundles/org.openhab.binding.hyperion/src/main/feature/feature.xml index 01863fd228f43..3d968df15134b 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.hyperion/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - openhab-transport-http - mvn:org.openhab.addons.bundles/org.openhab.binding.hyperion/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + openhab-transport-http + mvn:org.openhab.addons.bundles/org.openhab.binding.hyperion/${project.version} + diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionBindingConstants.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionBindingConstants.java index 275169eb5cac4..005d9bfbd573f 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionBindingConstants.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionBindingConstants.java @@ -79,5 +79,4 @@ public class HyperionBindingConstants { SUPPORTED_THING_TYPES_UIDS.add(THING_TYPE_SERVER_V1); SUPPORTED_THING_TYPES_UIDS.add(THING_TYPE_SERVER_NG); } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionDiscoveryParticipant.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionDiscoveryParticipant.java index 6fe5cd33c6c2b..3f8a7a2019c24 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/HyperionDiscoveryParticipant.java @@ -88,5 +88,4 @@ public ThingUID getThingUID(ServiceInfo service) { } return new ThingUID(HyperionBindingConstants.THING_TYPE_SERVER_NG, uid); } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/handler/HyperionNgHandler.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/handler/HyperionNgHandler.java index 5975eb37967eb..e197ed752da79 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/handler/HyperionNgHandler.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/handler/HyperionNgHandler.java @@ -459,7 +459,6 @@ private void handleEffect(Command command) throws IOException, CommandUnsuccessf } else { logger.debug("Channel {} unable to process command {}", CHANNEL_EFFECT, command); } - } private void handleClear(Command command) throws IOException, CommandUnsuccessfulException { @@ -494,5 +493,4 @@ public NgResponse sendCommand(HyperionCommand command) throws IOException, Comma } return response; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ColorCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ColorCommand.java index 70946008609ea..014d6228caf0e 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ColorCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ColorCommand.java @@ -63,5 +63,4 @@ public void setOrigin(String origin) { public String getOrigin() { return origin; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/EffectCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/EffectCommand.java index 67cc2634f4451..4bf0d4a744786 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/EffectCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/EffectCommand.java @@ -64,5 +64,4 @@ public void setOrigin(String origin) { public String getOrigin() { return origin; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/HyperionCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/HyperionCommand.java index d959a84e413b8..9f66a431a5b91 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/HyperionCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/HyperionCommand.java @@ -36,5 +36,4 @@ public String getCommand() { public void setCommand(String command) { this.command = command; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ServerInfoCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ServerInfoCommand.java index 9468ba5b6cf3e..95d788e67b30d 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ServerInfoCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ServerInfoCommand.java @@ -25,5 +25,4 @@ public class ServerInfoCommand extends HyperionCommand { public ServerInfoCommand() { super(NAME); } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Adjustment.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Adjustment.java index bc970b0454001..c844e53315632 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Adjustment.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Adjustment.java @@ -200,5 +200,4 @@ public List getYellow() { public void setYellow(List yellow) { this.yellow = yellow; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/AdjustmentCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/AdjustmentCommand.java index 72e71d074e013..7c837f27ff95b 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/AdjustmentCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/AdjustmentCommand.java @@ -37,5 +37,4 @@ public Adjustment getAdjustment() { public void setAdjustment(Adjustment adjustment) { this.adjustment = adjustment; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Component.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Component.java index f450301d5f152..b018e7d2b89b6 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Component.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Component.java @@ -42,5 +42,4 @@ public void setName(String name) { public void setEnabled(boolean enabled) { this.enabled = enabled; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentState.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentState.java index 2abb71a289ca4..2c77680213f54 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentState.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentState.java @@ -37,5 +37,4 @@ public String getComponent() { public boolean getState() { return state; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentStateCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentStateCommand.java index 453aecb68ec86..a4954161ee769 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentStateCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/ComponentStateCommand.java @@ -41,5 +41,4 @@ public ComponentState getComponentState() { public void setComponentState(ComponentState componentState) { this.componentState = componentState; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Hyperion.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Hyperion.java index 6e41b2c8bb4aa..a96e4f2ebd0f2 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Hyperion.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Hyperion.java @@ -66,5 +66,4 @@ public void setOff(boolean off) { public void setSessions(List sessions) { this.sessions = sessions; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgInfo.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgInfo.java index 98938c69df064..a4ebeb0e48d22 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgInfo.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgInfo.java @@ -75,5 +75,4 @@ public void setHyperion(Hyperion hyperion) { public List getEffects() { return effects; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgResponse.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgResponse.java index cb1680a4519ab..10bd07df582fd 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgResponse.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/NgResponse.java @@ -55,5 +55,4 @@ public NgInfo getInfo() { public String getError() { return error; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Priority.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Priority.java index 7a6eff92e06fd..4d942c6b3f1a8 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Priority.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Priority.java @@ -108,5 +108,4 @@ public Value getValue() { public void setValue(Value value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Session.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Session.java index 1558cc05b62ad..fa8fd8aa934e2 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Session.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Session.java @@ -86,5 +86,4 @@ public String getType() { public void setType(String type) { this.type = type; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Value.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Value.java index 271fb065d8405..562e531321482 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Value.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/ng/Value.java @@ -55,5 +55,4 @@ public void setHSL(List hsl) { public void setRGB(List rgb) { this.rgb = rgb; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ActiveEffect.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ActiveEffect.java index 9b8743c81cc0d..bbc922b3c5ad8 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ActiveEffect.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ActiveEffect.java @@ -53,5 +53,4 @@ public int getTimeout() { public void setTimeout(int timeout) { this.timeout = timeout; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearAllCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearAllCommand.java index 5a7422581f089..3e34abea06f03 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearAllCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearAllCommand.java @@ -27,5 +27,4 @@ public class ClearAllCommand extends HyperionCommand { public ClearAllCommand() { super(NAME); } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearCommand.java index 0b3b5950f25b2..1d5450dec78ff 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/ClearCommand.java @@ -37,5 +37,4 @@ public int getPriority() { public void setPriority(int priority) { this.priority = priority; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Correction.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Correction.java index d1810deaa00fd..ba15522128f60 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Correction.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Correction.java @@ -44,5 +44,4 @@ public String getId() { public void setId(String id) { this.id = id; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/HyperionBuild.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/HyperionBuild.java index e5650b5309c14..eb4d6fff6deab 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/HyperionBuild.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/HyperionBuild.java @@ -42,5 +42,4 @@ public String getVersion() { public void setVersion(String version) { this.version = version; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Priority.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Priority.java index d780c264def01..aa8bae3de90ff 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Priority.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Priority.java @@ -42,5 +42,4 @@ public Integer getDurationMs() { public void setDurationMs(Integer durationMs) { this.durationMs = durationMs; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Transform.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Transform.java index 4464c7c7a45fc..e2a49b0309749 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Transform.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/Transform.java @@ -132,5 +132,4 @@ public List getWhitelevel() { public void setWhitelevel(List whitelevel) { this.whitelevel = whitelevel; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/TransformCommand.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/TransformCommand.java index eaae1862fb728..22a78d995b1f8 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/TransformCommand.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/TransformCommand.java @@ -37,5 +37,4 @@ public Transform getTransform() { public void setTransform(Transform transform) { this.transform = transform; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Info.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Info.java index 01c36c183dff5..996c502305659 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Info.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Info.java @@ -134,5 +134,4 @@ public List getTransform() { public void setTransform(List transform) { this.transform = transform; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Response.java b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Response.java index 61926d8d82df7..274bc06ea0980 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Response.java +++ b/bundles/org.openhab.binding.hyperion/src/main/java/org/openhab/binding/hyperion/internal/protocol/v1/V1Response.java @@ -48,5 +48,4 @@ public int getTan() { public V1Info getInfo() { return info; } - } diff --git a/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/binding/binding.xml index c837b978531b0..b7e583bf2a7ec 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - Hyperion Binding diff --git a/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/thing/thing-types.xml index bf7b1eceb89cf..936630447f477 100644 --- a/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.hyperion/src/main/resources/ESH-INF/thing/thing-types.xml @@ -8,10 +8,10 @@ This is a Hyperion server - - - - + + + + @@ -42,20 +42,20 @@ This is a Hyperion.ng server - - - - - - - - - - - - - - + + + + + + + + + + + + + + @@ -122,43 +122,50 @@ Switch - Shows the current state of the black border component and allows the black border component to be enabled or disabled + Shows the current state of the black border component and allows the black border component to be enabled + or disabled Switch - Shows the current state of the smoothing component and allows the smoothing component to be enabled or disabled + Shows the current state of the smoothing component and allows the smoothing component to be enabled or + disabled Switch - Shows the current state of the Kodi checker component and allows the Kodi checker component to be enabled or disabled + Shows the current state of the Kodi checker component and allows the Kodi checker component to be enabled + or disabled Switch - Shows the current state of the forwarder component and allows the forwarder component to be enabled or disabled + Shows the current state of the forwarder component and allows the forwarder component to be enabled or + disabled Switch - Shows the current state of the UDP listener component and allows the UDP listener component to be enabled or disabled + Shows the current state of the UDP listener component and allows the UDP listener component to be enabled + or disabled Switch - Shows the current state of the Boblight server component and allows the Boblight server component to be enabled or disabled + Shows the current state of the Boblight server component and allows the Boblight server component to be + enabled or disabled Switch - Shows the current state of the grabber component and allows the grabber component to be enabled or disabled + Shows the current state of the grabber component and allows the grabber component to be enabled or + disabled diff --git a/bundles/org.openhab.binding.iaqualink/pom.xml b/bundles/org.openhab.binding.iaqualink/pom.xml index 72d277eb26390..ae1363ee41cf1 100644 --- a/bundles/org.openhab.binding.iaqualink/pom.xml +++ b/bundles/org.openhab.binding.iaqualink/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.iaqualink/src/main/feature/feature.xml b/bundles/org.openhab.binding.iaqualink/src/main/feature/feature.xml index 9636f132581f4..c1dd5f7cd5ab0 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.iaqualink/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.iaqualink/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.iaqualink/${project.version} + diff --git a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/Device.java b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/Device.java index 82fbf8c5da275..6e7b869742789 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/Device.java +++ b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/Device.java @@ -139,5 +139,4 @@ public Object getLastActivityAt() { public void setLastActivityAt(Object lastActivityAt) { this.lastActivityAt = lastActivityAt; } - } diff --git a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/OneTouch.java b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/OneTouch.java index 379a787d4534e..56ee4759064be 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/OneTouch.java +++ b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/OneTouch.java @@ -59,5 +59,4 @@ public String getName() { public void setName(String name) { this.name = name; } - } diff --git a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/SignIn.java b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/SignIn.java index 9547da0c4fc08..70d72132759b7 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/SignIn.java +++ b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/api/model/SignIn.java @@ -56,5 +56,4 @@ public String getPassword() { public void setPassword(String password) { this.password = password; } - } diff --git a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/handler/IAqualinkHandler.java b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/handler/IAqualinkHandler.java index 48304ce9709c5..e74579b179df7 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/handler/IAqualinkHandler.java +++ b/bundles/org.openhab.binding.iaqualink/src/main/java/org/openhab/binding/iaqualink/internal/handler/IAqualinkHandler.java @@ -551,5 +551,4 @@ private ChannelTypeUID getChannelTypeUID(ChannelUID channelUID) { Objects.requireNonNull(channelTypeUID); return channelTypeUID; } - } diff --git a/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/binding/binding.xml index d2656e3160d57..b967484504589 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + iAquaLink Binding This is the binding for a iAquaLink pool controller. diff --git a/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/thing/iAqualink.xml b/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/thing/iAqualink.xml index 4fb473e2dcc52..5f8cf2326a7e9 100644 --- a/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/thing/iAqualink.xml +++ b/bundles/org.openhab.binding.iaqualink/src/main/resources/ESH-INF/thing/iAqualink.xml @@ -8,9 +8,9 @@ A iAquaLink pool control thing represents a iAquaLink pool controller for Jandy/Zodiac systems - - - + + + The current temperature of the spa @@ -126,7 +126,7 @@ String The status of the iAqualink connection - + @@ -134,7 +134,7 @@ String System Type - + @@ -303,7 +303,7 @@ Number:Temperature Temperature - + @@ -311,7 +311,7 @@ Number:Temperature Temperature - + @@ -319,13 +319,13 @@ String The selected units for temperature (C or F) - + Number Other - + diff --git a/bundles/org.openhab.binding.icloud/pom.xml b/bundles/org.openhab.binding.icloud/pom.xml index 06b9e0505cffd..92a8888b2ba0a 100644 --- a/bundles/org.openhab.binding.icloud/pom.xml +++ b/bundles/org.openhab.binding.icloud/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/ICloudHandlerFactory.java b/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/ICloudHandlerFactory.java index f2aee2925b6c1..9e4989ff75e6d 100644 --- a/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/ICloudHandlerFactory.java +++ b/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/ICloudHandlerFactory.java @@ -115,5 +115,4 @@ public void setTranslationProvider(TranslationProvider i18nProvider) { public void unsetTranslationProvider(TranslationProvider i18nProvider) { this.i18nProvider = null; } - } diff --git a/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/handler/ICloudDeviceHandler.java b/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/handler/ICloudDeviceHandler.java index e8465eddf291c..519c651fb1168 100644 --- a/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/handler/ICloudDeviceHandler.java +++ b/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/handler/ICloudDeviceHandler.java @@ -128,7 +128,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { if (command == OnOffType.ON) { try { final String deviceId = this.deviceId; - if(deviceId == null) { + if (deviceId == null) { logger.debug("Can't send Find My Device request, because deviceId is null!"); return; } diff --git a/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/utilities/ICloudTextTranslator.java b/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/utilities/ICloudTextTranslator.java index 921427f11ed0a..b86a00d4b2f77 100644 --- a/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/utilities/ICloudTextTranslator.java +++ b/bundles/org.openhab.binding.icloud/src/main/java/org/openhab/binding/icloud/internal/utilities/ICloudTextTranslator.java @@ -44,5 +44,4 @@ public String getText(String key, Object... arguments) { public String getDefaultText(@Nullable String key) { return i18nProvider.getText(bundle, key, key, Locale.ENGLISH); } - } diff --git a/bundles/org.openhab.binding.icloud/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.icloud/src/main/resources/ESH-INF/thing/thing-types.xml index 9920c50725534..be950bed36ff4 100644 --- a/bundles/org.openhab.binding.icloud/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.icloud/src/main/resources/ESH-INF/thing/thing-types.xml @@ -28,20 +28,20 @@ - + @text/icloud.device-thing.description - - - - - - - + + + + + + + deviceId @@ -73,16 +73,16 @@ Location - + Number - + DateTime - + diff --git a/bundles/org.openhab.binding.ihc/pom.xml b/bundles/org.openhab.binding.ihc/pom.xml index bd10c3e5ad4f1..d415430f741b2 100644 --- a/bundles/org.openhab.binding.ihc/pom.xml +++ b/bundles/org.openhab.binding.ihc/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.ihc/src/main/feature/feature.xml b/bundles/org.openhab.binding.ihc/src/main/feature/feature.xml index f6264e77a53d3..5554903f4f1cd 100644 --- a/bundles/org.openhab.binding.ihc/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ihc/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.apache.httpcomponents/httpcore-osgi/4.4.10 - mvn:org.apache.httpcomponents/httpclient-osgi/4.5.8 - mvn:commons-logging/commons-logging/1.2 - mvn:org.openhab.addons.bundles/org.openhab.binding.ihc/${project.version} - + + openhab-runtime-base + mvn:org.apache.httpcomponents/httpcore-osgi/4.4.10 + mvn:org.apache.httpcomponents/httpclient-osgi/4.5.8 + mvn:commons-logging/commons-logging/1.2 + mvn:org.openhab.addons.bundles/org.openhab.binding.ihc/${project.version} + diff --git a/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/profiles/IhcProfiles.java b/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/profiles/IhcProfiles.java index 0e7609b645f09..847286c1da748 100644 --- a/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/profiles/IhcProfiles.java +++ b/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/profiles/IhcProfiles.java @@ -34,5 +34,4 @@ public interface IhcProfiles { .withSupportedItemTypes(CoreItemFactory.DIMMER, CoreItemFactory.ROLLERSHUTTER, CoreItemFactory.CONTACT, CoreItemFactory.SWITCH, CoreItemFactory.PLAYER) .build(); - } diff --git a/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/datatypes/WSTimeManagerSettings.java b/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/datatypes/WSTimeManagerSettings.java index 31164005e6e42..60879f20effc1 100644 --- a/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/datatypes/WSTimeManagerSettings.java +++ b/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/datatypes/WSTimeManagerSettings.java @@ -142,7 +142,7 @@ public WSTimeManagerSettings parseXMLData(String data) throws IhcExecption { setTimeAndDateInUTC(timeAndDateInUTC); return this; - } catch (IOException | XPathExpressionException| NumberFormatException e) { + } catch (IOException | XPathExpressionException | NumberFormatException e) { throw new IhcExecption("Error occured during XML data parsing", e); } } diff --git a/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/resourcevalues/WSFloatingPointValue.java b/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/resourcevalues/WSFloatingPointValue.java index 8aadba5c7584f..8e2cb9fb49c73 100644 --- a/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/resourcevalues/WSFloatingPointValue.java +++ b/bundles/org.openhab.binding.ihc/src/main/java/org/openhab/binding/ihc/internal/ws/resourcevalues/WSFloatingPointValue.java @@ -32,7 +32,7 @@ public WSFloatingPointValue(int resourceID, double value, double minimumValue, d @Override public String toString() { - return String.format("[resourceId=%d, value=%.2f, min=%.2f, max=%.2f]", super.resourceID, value, - minimumValue, maximumValue); + return String.format("[resourceId=%d, value=%.2f, min=%.2f, max=%.2f]", super.resourceID, value, minimumValue, + maximumValue); } } diff --git a/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/channels.xml index ca88d89e1cedf..0724e25228f10 100644 --- a/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/channels.xml @@ -48,7 +48,8 @@ - Pulse width in milliseconds. If defined, binding send pulse rather than command value to IHC controller. + Pulse width in milliseconds. If defined, binding send pulse rather than command value to IHC + controller. @@ -132,7 +133,8 @@ - If defined, binding use this level when ON command is received rather than resource maximum value. Level is anyhow limited to resource maximum value. + If defined, binding use this level when ON command is received rather than resource maximum value. + Level is anyhow limited to resource maximum value. diff --git a/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/controller.xml b/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/controller.xml index ecc34f724722c..3888d3d472dcc 100644 --- a/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/controller.xml +++ b/bundles/org.openhab.binding.ihc/src/main/resources/ESH-INF/thing/controller.xml @@ -10,28 +10,29 @@ - - - + + + - - - - - - - - - + + + + + + + + + network-address - Network/IP address of the IHC / ELKO controller without https prefix, but can contain TCP port if default port is not used + Network/IP address of the IHC / ELKO controller without https prefix, but can contain TCP port if + default port is not used @@ -54,7 +55,8 @@ - Create channels automatically from project file. Project file loading parameter should be enabled as well. + Create channels automatically from project file. Project file loading parameter should be enabled as + well. true diff --git a/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcConfigurationServiceTest.java b/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcConfigurationServiceTest.java index c1a0a59270979..b3f8109cb3b99 100644 --- a/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcConfigurationServiceTest.java +++ b/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcConfigurationServiceTest.java @@ -98,5 +98,4 @@ public void testv3() throws IhcExecption { assertEquals("3.06.c", result.getRfModuleSoftwareVersion()); assertEquals("640C10140000", result.getRfModuleSerialNumber()); } - } diff --git a/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcControllerServiceTest.java b/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcControllerServiceTest.java index 5ee9fc066be3b..0c8f208b85db8 100644 --- a/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcControllerServiceTest.java +++ b/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcControllerServiceTest.java @@ -140,5 +140,4 @@ public void projectSegmentQueryTest() throws IhcExecption { assertTrue("Result bytes doesn't match to expected bytes", Arrays.equals(expectedResult, result.getData())); } - } diff --git a/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcTimeServiceTest.java b/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcTimeServiceTest.java index 0f3aac9c33329..51871759aff06 100644 --- a/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcTimeServiceTest.java +++ b/bundles/org.openhab.binding.ihc/src/test/java/org/openhab/binding/ihc/internal/ws/services/IhcTimeServiceTest.java @@ -66,6 +66,5 @@ public void test() throws IhcExecption { assertEquals(24, result.getSyncIntervalInHours()); assertEquals(LocalDateTime.parse("2018-12-07T08:20:10", DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss")), result.getTimeAndDateInUTC().getAsLocalDateTime()); - } } diff --git a/bundles/org.openhab.binding.innogysmarthome/pom.xml b/bundles/org.openhab.binding.innogysmarthome/pom.xml index 9ec6c624f864d..e71ef51099cd4 100644 --- a/bundles/org.openhab.binding.innogysmarthome/pom.xml +++ b/bundles/org.openhab.binding.innogysmarthome/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/InnogyClient.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/InnogyClient.java index d3b3494d3278e..5b91c47b8fe03 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/InnogyClient.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/InnogyClient.java @@ -318,10 +318,10 @@ public void setRollerShutterActuatorState(final String capabilityId, final int r * @throws ApiException * @throws AuthenticationException */ - public void setRollerShutterAction(final String capabilityId, final ShutterAction.ShutterActions rollerShutterAction) + public void setRollerShutterAction(final String capabilityId, + final ShutterAction.ShutterActions rollerShutterAction) throws IOException, ApiException, AuthenticationException { - executePost(API_URL_ACTION, - new ShutterAction(capabilityId, rollerShutterAction)); + executePost(API_URL_ACTION, new ShutterAction(capabilityId, rollerShutterAction)); } /** diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/Action.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/Action.java index bda0602feef25..8d2eaa76b95be 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/Action.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/Action.java @@ -125,5 +125,4 @@ public ActionParams getParams() { public void setParams(ActionParams params) { this.params = params; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/DoubleActionParam.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/DoubleActionParam.java index 27c9176e0ea48..e3db9f233472c 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/DoubleActionParam.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/DoubleActionParam.java @@ -59,5 +59,4 @@ public double isValue() { public void setValue(double value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/IntegerActionParam.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/IntegerActionParam.java index 28d58a4db7870..c680085292856 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/IntegerActionParam.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/IntegerActionParam.java @@ -59,5 +59,4 @@ public int isValue() { public void setValue(int value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/ShutterAction.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/ShutterAction.java index b76aa716634bc..2fa9adbfb5eeb 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/ShutterAction.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/ShutterAction.java @@ -32,7 +32,6 @@ public enum ShutterActions { private static final String CONSTANT = "Constant"; private static final String NAMESPACE_COSIP = "CosipDevices.RWE"; - /** * Describes a Shutteraction * diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StateActionSetter.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StateActionSetter.java index e8f81afc5b27f..8311f5784ff02 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StateActionSetter.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StateActionSetter.java @@ -102,5 +102,4 @@ public StateActionSetter(String capabilityId, String capabilityType, String newV } setParams(params); } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StringActionParam.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StringActionParam.java index 4667006178c28..58b8b61714817 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StringActionParam.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/action/StringActionParam.java @@ -59,5 +59,4 @@ public String isValue() { public void setValue(String value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/Device.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/Device.java index 78170e3afd297..919ed1ead80f3 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/Device.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/Device.java @@ -457,7 +457,6 @@ public boolean isBatteryPowered() { */ public void setIsBatteryPowered(boolean hasBattery) { batteryPowered = hasBattery; - } /** @@ -540,5 +539,4 @@ public String toString() { + getType() + " name=" + getConfig().getName() + "]"; return string; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/DeviceConfig.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/DeviceConfig.java index b8828c2ba016d..5509d4d1642b0 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/DeviceConfig.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/device/DeviceConfig.java @@ -408,5 +408,4 @@ public String getMeterFirmwareVersion() { public void setMeterFirmwareVersion(String meterFirmwareVersion) { this.meterFirmwareVersion = meterFirmwareVersion; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/BaseEvent.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/BaseEvent.java index d4b82c0cb6de1..f33bfe1d2c6bc 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/BaseEvent.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/BaseEvent.java @@ -149,5 +149,4 @@ public boolean isNewMessageReceivedEvent() { public boolean isStateChangedEvent() { return TYPE_STATE_CHANGED.equals(getType()); } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/EventProperties.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/EventProperties.java index 0c4e36374ad74..e40ffaed07a7f 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/EventProperties.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/event/EventProperties.java @@ -579,5 +579,4 @@ public void setMemoryUsage(final Double memoryUsage) { public Double getMemoryUsage() { return memoryUsage; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/message/MessageProperties.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/message/MessageProperties.java index ae6a06cc1a6d1..277e7491a29af 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/message/MessageProperties.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/message/MessageProperties.java @@ -75,5 +75,4 @@ public String getLocationName() { public void setLocationName(String locationName) { this.locationName = locationName; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/DoubleState.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/DoubleState.java index ccb7e69486588..74aaf8718b154 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/DoubleState.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/DoubleState.java @@ -32,5 +32,4 @@ public Double getValue() { public void setValue(Double value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/IntegerState.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/IntegerState.java index b0a4984a7b8af..b8a6dba4eca6c 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/IntegerState.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/IntegerState.java @@ -32,5 +32,4 @@ public Integer getValue() { public void setValue(Integer value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/StringState.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/StringState.java index 6c4c334cc924c..64db1c9f93844 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/StringState.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/entity/state/StringState.java @@ -32,5 +32,4 @@ public String getValue() { public void setValue(String value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/AuthenticationException.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/AuthenticationException.java index 9d7104bf2f5e4..41722cab73c4f 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/AuthenticationException.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/AuthenticationException.java @@ -31,5 +31,4 @@ public AuthenticationException() { public AuthenticationException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/ControllerOfflineException.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/ControllerOfflineException.java index 0360f61418887..2a66da50ccb45 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/ControllerOfflineException.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/ControllerOfflineException.java @@ -33,5 +33,4 @@ public ControllerOfflineException() { public ControllerOfflineException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/RemoteAccessNotAllowedException.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/RemoteAccessNotAllowedException.java index 6f4294f1cbe83..a279496a2eaa8 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/RemoteAccessNotAllowedException.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/RemoteAccessNotAllowedException.java @@ -31,5 +31,4 @@ public RemoteAccessNotAllowedException() { public RemoteAccessNotAllowedException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/SessionNotFoundException.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/SessionNotFoundException.java index 2498d7e43968e..e8b06e2992ded 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/SessionNotFoundException.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/client/exception/SessionNotFoundException.java @@ -31,5 +31,4 @@ public SessionNotFoundException() { public SessionNotFoundException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeConfiguration.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeConfiguration.java index dd95903b35457..0de34541d71de 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeConfiguration.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeConfiguration.java @@ -29,5 +29,4 @@ public class InnogyBridgeConfiguration { public String clientId = InnogyBindingConstants.CLIENT_ID_INNOGY_SMARTHOME; public String clientSecret = InnogyBindingConstants.CLIENT_SECRET_INNOGY_SMARTHOME; public String redirectUrl = InnogyBindingConstants.REDIRECT_URL_INNOGY_SMARTHOME; - } diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeHandler.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeHandler.java index 386673c7a4efd..fd14643445cc8 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeHandler.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyBridgeHandler.java @@ -331,7 +331,7 @@ private void setBridgeProperties(final Device bridgeDevice) { } private void setPropertyIfPresent(final String key, final @Nullable Object data, - final Map properties) { + final Map properties) { if (data != null) { properties.put(key, data instanceof String ? (String) data : data.toString()); } @@ -466,7 +466,6 @@ public void onDeviceStateChanged(final Device device) { } } - } @Override @@ -602,7 +601,6 @@ public void handleStateChangedEvent(final Event event) throws ApiException, IOEx } else { logger.debug("link type {} not supported (yet?)", event.getSourceLinkType()); } - } /** @@ -667,7 +665,6 @@ public void handleNewMessageReceivedEvent(final MessageEvent event) } else { logger.debug("Message received event not yet implemented for Messagetype {}.", message.getType()); } - } /** @@ -865,6 +862,7 @@ public void commandSetRollerShutterLevel(final String deviceId, final int roller /** * Sends the command to start or stop moving the rollershutter (ISR2) in a specified direction + * * @param deviceId * @param action */ diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyDeviceHandler.java b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyDeviceHandler.java index dc9594beb3980..91d4a76e8f15f 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyDeviceHandler.java +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/java/org/openhab/binding/innogysmarthome/internal/handler/InnogyDeviceHandler.java @@ -150,8 +150,8 @@ public void handleCommand(final ChannelUID channelUID, final Command command) { } else { innogyBridgeHandler.commandSetRollerShutterStop(deviceId, ShutterAction.ShutterActions.UP); } - } else if (command instanceof StopMoveType){ - if (StopMoveType.STOP.equals(command)){ + } else if (command instanceof StopMoveType) { + if (StopMoveType.STOP.equals(command)) { innogyBridgeHandler.commandSetRollerShutterStop(deviceId, ShutterAction.ShutterActions.STOP); } } @@ -934,7 +934,6 @@ public void onDeviceStateChanged(final Device changedDevice, final Event event) } } - } /** diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/AnalogMeter.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/AnalogMeter.xml index d659e095c9e10..869c8b05eb0ed 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/AnalogMeter.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/AnalogMeter.xml @@ -6,20 +6,20 @@ - + The Analog Meter from the innogy EnergyControl product. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BRC8.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BRC8.xml index d1acede5b2180..cc1c0e8852e8b 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BRC8.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BRC8.xml @@ -6,32 +6,32 @@ - + A battery powered remote controller with eight push buttons. - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BT-PSS.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BT-PSS.xml index 0500ab1cb0a33..45c659ba2364d 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BT-PSS.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/BT-PSS.xml @@ -6,16 +6,16 @@ - + A pluggable switch that can be switched on and off and which can measure the current energy consumption. - + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/GenerationMeter.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/GenerationMeter.xml index 74bd748b61ddc..6224fdd11492f 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/GenerationMeter.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/GenerationMeter.xml @@ -6,21 +6,21 @@ - + The Generation Meter from the innogy PowerControlSolar product, that measures the generated energy. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISC2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISC2.xml index 1ce17b688ab80..1c8ebdde3f317 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISC2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISC2.xml @@ -6,19 +6,19 @@ - + A smart controller with two push buttons. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISD2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISD2.xml index fa9b48aaff94f..3c891dc5cac3b 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISD2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISD2.xml @@ -6,20 +6,20 @@ - + An in wall dimmer with push buttons. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISR2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISR2.xml index 01c963b4e0dc4..c4cf80ea1b4f7 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISR2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISR2.xml @@ -6,20 +6,20 @@ - + An in wall rollershutter with two push buttons. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISS2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISS2.xml index a9d8e89332896..9bb133a9408f8 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISS2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/ISS2.xml @@ -6,20 +6,20 @@ - + An in wall switch with push buttons that can be switched on and off. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSD.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSD.xml index 03648aa246a0c..1cb6e9bff7d09 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSD.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSD.xml @@ -6,16 +6,16 @@ - + A pluggable dimmer. - + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSS.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSS.xml index 3f40d98831443..e7cb590838d2a 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSS.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSS.xml @@ -6,16 +6,16 @@ - + A pluggable switch that can be switched on and off. - + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSSO.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSSO.xml index c0ef4ffeab2c9..614a713a67c3c 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSSO.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/PSSO.xml @@ -6,16 +6,16 @@ - + A pluggable outdoor switch that can be switched on and off. - + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST.xml index 8dc8752923701..502794083b1bd 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST.xml @@ -6,23 +6,23 @@ - + A thermostat, that supports setting the temperature and measuring the current temperature and humidity. - - - - - - - - + + + + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST2.xml index d8ec5c6c2a999..63aca1e1f3a38 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/RST2.xml @@ -6,23 +6,24 @@ - + - A thermostat, that supports setting the temperature and measuring the current temperature and humidity (2 battery version since 2018) + A thermostat, that supports setting the temperature and measuring the current temperature and humidity (2 + battery version since 2018) - - - - - - - - + + + + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/SmartMeter.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/SmartMeter.xml index 5e607bb0dabbc..e3cfaaf9daa41 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/SmartMeter.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/SmartMeter.xml @@ -6,21 +6,21 @@ - + The Smart Meter from the innogy PowerControl product. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/TwoWayMeter.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/TwoWayMeter.xml index bd167f304515d..1ebb074c774c0 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/TwoWayMeter.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/TwoWayMeter.xml @@ -6,28 +6,28 @@ - + The Two-Way-Meter from the innogy PowerControlSolar product. - - - - - + + + + + - - - - - + + + + + - + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/VariableActuator.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/VariableActuator.xml index f5152fa264238..01d3f03e2c02a 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/VariableActuator.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/VariableActuator.xml @@ -6,16 +6,16 @@ - + A variable from the innogy SmartHome System that can be switched on and off. - + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WDS.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WDS.xml index 5ef1eb6064cd2..3555b4d547961 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WDS.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WDS.xml @@ -6,17 +6,17 @@ - + A window/door sensor, that provides the open/close state. - - + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMD.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMD.xml index e474dce0c7d2a..a30825a2bd44c 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMD.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMD.xml @@ -6,18 +6,18 @@ - + A battery powered motion detector, that also measures luminance. - - - + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMDO.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMDO.xml index ef368a6ff1270..e873ea54c4044 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMDO.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WMDO.xml @@ -6,18 +6,18 @@ - + A battery powered motion detector for outdoors, that also measures luminance. - - - + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WRT.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WRT.xml index f7ac43e764717..c1bccef813a58 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WRT.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WRT.xml @@ -6,23 +6,24 @@ - + - A wall thermostat, that supports setting the temperature and measuring the current temperature and humidity. + A wall thermostat, that supports setting the temperature and measuring the current temperature and + humidity. - - - - - - - - + + + + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSC2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSC2.xml index 907522315e425..ee178027ba238 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSC2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSC2.xml @@ -6,20 +6,20 @@ - + A battery powered smart controller with two push buttons. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD.xml index c367e4610f817..0e8d9734c83db 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD.xml @@ -6,18 +6,18 @@ - + A battery powered smoke detector sensor with integrated alarm (first version). - - - + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD2.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD2.xml index 84993ca6888ce..ac3d1f4bd45c9 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD2.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/WSD2.xml @@ -6,18 +6,18 @@ - + A battery powered smoke detector sensor with integrated alarm (2nd version with long-life battery). - - - + + + - + diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/bridge.xml index 937ec36ea60dc..c3a42a9d76d10 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/bridge.xml @@ -9,9 +9,9 @@ The innogy SmartHome Controller (SHC) is the bridge for the innogy SmartHome System. - - - + + + @@ -47,8 +47,10 @@ seconds The WebSocket is the connection to the innogy service that listens to status updates. - If no data is received over the websocket connection for the given time, - the websocket will reconnect. 0 will disable the idle timeout. Default is 900 seconds (15 minutes). + If no data is + received over the websocket connection for the given time, + the websocket will reconnect. 0 will disable the idle + timeout. Default is 900 seconds (15 minutes). 900 true diff --git a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/channels.xml index 8b05d61ccc22a..e9dc92e5c2368 100644 --- a/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.innogysmarthome/src/main/resources/ESH-INF/thing/channels.xml @@ -68,7 +68,7 @@ Thermostat temperature reduced, if window is open. Temperature - + @@ -85,7 +85,7 @@ Warns, if temperature drop below a threshold (configured in innogy app) Temperature - + @@ -102,7 +102,7 @@ Active, if humidity is over a threshold (configured in innogy app) Humidity - + diff --git a/bundles/org.openhab.binding.insteon/pom.xml b/bundles/org.openhab.binding.insteon/pom.xml index e49e6c1ef51a6..a68f9c0fb610d 100644 --- a/bundles/org.openhab.binding.insteon/pom.xml +++ b/bundles/org.openhab.binding.insteon/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.insteon/src/main/feature/feature.xml b/bundles/org.openhab.binding.insteon/src/main/feature/feature.xml index cfcb08298df64..804d2f06d182b 100644 --- a/bundles/org.openhab.binding.insteon/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.insteon/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.insteon/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.insteon/${project.version} + diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBinding.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBinding.java index 9974a546a95e7..b57c81f5e7db1 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBinding.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/InsteonBinding.java @@ -456,7 +456,6 @@ public void msg(Msg msg, String fromPort) { } else { handleInsteonMessage(msg, fromPort); } - } @Override diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/DeviceType.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/DeviceType.java index 252711d395bde..da2f3fd7b84fa 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/DeviceType.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/DeviceType.java @@ -163,5 +163,4 @@ public String toString() { return (s.replaceAll(",$", "")); } } - } diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/MessageHandler.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/MessageHandler.java index 54104a861f0aa..d7682d1a754c6 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/MessageHandler.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/device/MessageHandler.java @@ -681,7 +681,6 @@ public boolean isDuplicate(Msg msg) { public void handleMessage(int group, byte cmd1, Msg msg, DeviceFeature f, String fromPort) { logger.debug("{}: dev {} manual state change: {}", nm(), f.getDevice().getAddress(), 0); feature.publish(new DecimalType(1), StateChangeType.ALWAYS); - } } diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Poller.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Poller.java index fb68dc35c3221..e675f1c834e49 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Poller.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Poller.java @@ -297,5 +297,4 @@ public static synchronized Poller instance() { poller.start(); return (poller); } - } diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Port.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Port.java index 9b2c24e4bcac9..1410956368760 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Port.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/driver/Port.java @@ -243,7 +243,6 @@ public void writeMessage(@Nullable Msg m) throws IOException { } catch (IllegalStateException e) { logger.warn("cannot write message {}, write queue is full!", m); } - } /** diff --git a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/message/MsgType.java b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/message/MsgType.java index a6047092dcc4e..c0eac34a86bda 100644 --- a/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/message/MsgType.java +++ b/bundles/org.openhab.binding.insteon/src/main/java/org/openhab/binding/insteon/internal/message/MsgType.java @@ -80,5 +80,4 @@ public static MsgType fromValue(byte b) throws IllegalArgumentException { } return mt; } - } diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.insteon/src/main/resources/ESH-INF/thing/thing-types.xml index eac9323cfebb4..91e36fe6fee98 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/ESH-INF/thing/thing-types.xml @@ -39,7 +39,7 @@ - + @@ -349,7 +349,7 @@ Number - + Contact diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml b/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml index 3b0cabe232eb7..6dbfd7fb1bf30 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/device_features.xml @@ -1,844 +1,873 @@ - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - FlexPollHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + FlexPollHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + - - DefaultDispatcher - - - RampDimmerHandler - RampPercentHandler - RampOnOffCommandHandler - + + DefaultDispatcher + + + RampDimmerHandler + RampPercentHandler + RampOnOffCommandHandler + - - DefaultDispatcher - - RampDimmerHandler - RampPercentHandler - RampOnOffCommandHandler - + + DefaultDispatcher + + RampDimmerHandler + RampPercentHandler + RampOnOffCommandHandler + - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOffSwitchHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - FlexPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOffSwitchHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + FlexPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - LightOnSwitchHandler - SwitchRequestReplyHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnDimmerHandler - LightOnDimmerHandler - LightOffDimmerHandler - LightOffDimmerHandler - NoOpMsgHandler - DimmerStopManualChangeHandler - DimmerRequestReplyHandler - PercentHandler - LightOnOffCommandHandler - FlexPollHandler - - - DefaultDispatcher - LightOnDimmerHandler - LightOffDimmerHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + LightOnSwitchHandler + SwitchRequestReplyHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnDimmerHandler + LightOnDimmerHandler + LightOffDimmerHandler + LightOffDimmerHandler + NoOpMsgHandler + DimmerStopManualChangeHandler + DimmerRequestReplyHandler + PercentHandler + LightOnOffCommandHandler + FlexPollHandler + + + DefaultDispatcher + LightOnDimmerHandler + LightOffDimmerHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - - - RampDimmerHandler - RampPercentHandler - RampOnOffCommandHandler - + + DefaultDispatcher + + + RampDimmerHandler + RampPercentHandler + RampOnOffCommandHandler + - - DefaultGroupDispatcher - FlexPollHandler - - - DefaultGroupDispatcher - NoPollHandler - - - DefaultGroupDispatcher - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultGroupDispatcher + FlexPollHandler + + + DefaultGroupDispatcher + NoPollHandler + + + DefaultGroupDispatcher + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - DefaultDispatcher - NoOpMsgHandler - LightOnSwitchHandler - LightOnSwitchHandler - LightOffSwitchHandler - LightOffSwitchHandler - SwitchRequestReplyHandler - LightOnOffCommandHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - FastOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - StartManualChangeHandler - StopManualChangeHandler - ManualChangeCommandHandler - NoPollHandler - + + DefaultDispatcher + NoOpMsgHandler + LightOnSwitchHandler + LightOnSwitchHandler + LightOffSwitchHandler + LightOffSwitchHandler + SwitchRequestReplyHandler + LightOnOffCommandHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + FastOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + StartManualChangeHandler + StopManualChangeHandler + ManualChangeCommandHandler + NoPollHandler + - - PassThroughDispatcher - LastTimeHandler - NoOpCommandHandler - - - DefaultDispatcher - NoOpMsgHandler - LightOnDimmerHandler - LightOnDimmerHandler - LightOffDimmerHandler - LightOffDimmerHandler - NoOpMsgHandler - DimmerStopManualChangeHandler - DimmerRequestReplyHandler - PercentHandler - IncreaseDecreaseCommandHandler - LightOnOffCommandHandler - FlexPollHandler - - - DefaultDispatcher - NoOpMsgHandler - OpenedContactHandler - ClosedContactHandler - ContactRequestReplyHandler - NoOpCommandHandler - FlexPollHandler - - - DefaultDispatcher - NoOpMsgHandler - NoOpMsgHandler - NoOpMsgHandler - SwitchRequestReplyHandler - IOLincOnOffCommandHandler - FlexPollHandler - - - DefaultDispatcher - NoOpMsgHandler - OpenedSleepingContactHandler - ClosedSleepingContactHandler - NoOpMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - OpenedSleepingContactHandler - ClosedSleepingContactHandler - NoOpMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - OpenedSleepingContactHandler - ClosedSleepingContactHandler - NoOpMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - SimpleDispatcher - NoOpMsgHandler - NoOpMsgHandler - NoOpMsgHandler - MotionSensorDataReplyHandler - NoOpCommandHandler - NoPollHandler - - - SimpleDispatcher - NoOpMsgHandler - NoOpMsgHandler - NoOpMsgHandler - HiddenDoorSensorDataReplyHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - OpenedContactHandler - ClosedContactHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - NoOpMsgHandler - OpenedOrClosedContactHandler - OpenedOrClosedContactHandler - NoOpCommandHandler - NoPollHandler - - - NoOpDispatcher - GroupBroadcastCommandHandler - NoOpMsgHandler - - - SimpleDispatcher - NoOpMsgHandler - PowerMeterResetHandler - PowerMeterUpdateHandler - PowerMeterCommandHandler - FlexPollHandler - - - X10Dispatcher - X10OnHandler - X10OffHandler - X10BrightHandler - X10DimHandler - NoOpMsgHandler - X10OnOffCommandHandler - X10PercentCommandHandler - X10IncreaseDecreaseCommandHandler - NoPollHandler - - - X10Dispatcher - X10OnHandler - X10OffHandler - NoOpMsgHandler - X10OnOffCommandHandler - NoOpCommandHandler - NoOpCommandHandler - NoPollHandler - - - X10Dispatcher - X10OpenHandler - X10ClosedHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - PollGroupDispatcher - FlexPollHandler - - - PollGroupDispatcher - FlexPollHandler - - - PollGroupDispatcher - FlexPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - ThermostatSystemModeMsgHandler - - ThermostatSystemModeReplyHandler - - NumberMsgHandler - NoOpMsgHandler - ThermostatSystemModeCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - ThermostatFanModeReplyHandler - - NumberMsgHandler - NoOpMsgHandler - ThermostatFanModeCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - FanLincFanReplyHandler - FanLincFanCommandHandler - FlexPollHandler - - - DefaultDispatcher - SwitchRequestReplyHandler - LightOnOffCommandHandler - FlexPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - - NumberMsgHandler - - ThermostatSystemModeReplyHandler - - NumberMsgHandler - NoOpMsgHandler - ThermostatSystemModeCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - ThermostatFanModeReplyHandler - - NumberMsgHandler - NoOpMsgHandler - ThermostatFanModeCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - NumberMsgHandler - - NumberMsgHandler - NoOpMsgHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - NoOpMsgHandler - NoPollHandler - - - PollGroupDispatcher - FlexPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - LightOnSwitchHandler - LightOffSwitchHandler - LEDOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - SwitchRequestReplyHandler - RampOnOffCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - - - DefaultDispatcher - - NumberMsgHandler - - TriggerPollMsgHandler - NoOpMsgHandler - NumberCommandHandler - NoOpCommandHandler - NoPollHandler - + + PassThroughDispatcher + LastTimeHandler + NoOpCommandHandler + + + DefaultDispatcher + NoOpMsgHandler + LightOnDimmerHandler + LightOnDimmerHandler + LightOffDimmerHandler + LightOffDimmerHandler + NoOpMsgHandler + DimmerStopManualChangeHandler + DimmerRequestReplyHandler + PercentHandler + IncreaseDecreaseCommandHandler + LightOnOffCommandHandler + FlexPollHandler + + + DefaultDispatcher + NoOpMsgHandler + OpenedContactHandler + ClosedContactHandler + ContactRequestReplyHandler + NoOpCommandHandler + FlexPollHandler + + + DefaultDispatcher + NoOpMsgHandler + NoOpMsgHandler + NoOpMsgHandler + SwitchRequestReplyHandler + IOLincOnOffCommandHandler + FlexPollHandler + + + DefaultDispatcher + NoOpMsgHandler + OpenedSleepingContactHandler + ClosedSleepingContactHandler + NoOpMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + OpenedSleepingContactHandler + ClosedSleepingContactHandler + NoOpMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + OpenedSleepingContactHandler + ClosedSleepingContactHandler + NoOpMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + SimpleDispatcher + NoOpMsgHandler + NoOpMsgHandler + NoOpMsgHandler + MotionSensorDataReplyHandler + NoOpCommandHandler + NoPollHandler + + + SimpleDispatcher + NoOpMsgHandler + NoOpMsgHandler + NoOpMsgHandler + HiddenDoorSensorDataReplyHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + OpenedContactHandler + ClosedContactHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + NoOpMsgHandler + OpenedOrClosedContactHandler + OpenedOrClosedContactHandler + NoOpCommandHandler + NoPollHandler + + + NoOpDispatcher + GroupBroadcastCommandHandler + NoOpMsgHandler + + + SimpleDispatcher + NoOpMsgHandler + PowerMeterResetHandler + PowerMeterUpdateHandler + PowerMeterCommandHandler + FlexPollHandler + + + X10Dispatcher + X10OnHandler + X10OffHandler + X10BrightHandler + X10DimHandler + NoOpMsgHandler + X10OnOffCommandHandler + X10PercentCommandHandler + X10IncreaseDecreaseCommandHandler + NoPollHandler + + + X10Dispatcher + X10OnHandler + X10OffHandler + NoOpMsgHandler + X10OnOffCommandHandler + NoOpCommandHandler + NoOpCommandHandler + NoPollHandler + + + X10Dispatcher + X10OpenHandler + X10ClosedHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + PollGroupDispatcher + FlexPollHandler + + + PollGroupDispatcher + FlexPollHandler + + + PollGroupDispatcher + FlexPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + ThermostatSystemModeMsgHandler + + ThermostatSystemModeReplyHandler + + NumberMsgHandler + NoOpMsgHandler + ThermostatSystemModeCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + ThermostatFanModeReplyHandler + + NumberMsgHandler + NoOpMsgHandler + ThermostatFanModeCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + FanLincFanReplyHandler + FanLincFanCommandHandler + FlexPollHandler + + + DefaultDispatcher + SwitchRequestReplyHandler + LightOnOffCommandHandler + FlexPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + + NumberMsgHandler + + ThermostatSystemModeReplyHandler + + NumberMsgHandler + NoOpMsgHandler + ThermostatSystemModeCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + ThermostatFanModeReplyHandler + + NumberMsgHandler + NoOpMsgHandler + ThermostatFanModeCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + NumberMsgHandler + + NumberMsgHandler + NoOpMsgHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + NoOpMsgHandler + NoPollHandler + + + PollGroupDispatcher + FlexPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + LightOnSwitchHandler + LightOffSwitchHandler + LEDOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + SwitchRequestReplyHandler + RampOnOffCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + + + DefaultDispatcher + + NumberMsgHandler + + TriggerPollMsgHandler + NoOpMsgHandler + NumberCommandHandler + NoOpCommandHandler + NoPollHandler + diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml b/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml index f0f4e310b6692..278f98f314358 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/device_types.xml @@ -1,580 +1,580 @@ - - - - - - 2450 - IO Link - IOLincContact - GenericLastTime - IOLincSwitch - - - - 2486D - KeypadLinc Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2663-222 - On/Off Outlet - GenericSwitch - BottomOutlet - GenericLastTime - - - - 2484DWH8 - KeypadLinc Countdown Timer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2413U - PowerLinc 2413U USB modem - GroupBroadcastOnOff - - - - 2843-222 - Wireless Open/Close Sensor - GenericContact - GenericLastTime - - - - 2842-222 - Motion Sensor - WirelessMotionSensorContact - WirelessMotionSensorLightLevelAboveThreshold - WirelessMotionSensorLowBattery - MotionSensorData - GenericLastTime - - - 2486DWH6 - KeypadLinc Dimmer - 6 Button - LoadDimmerButton - LoadDimmerRamp - ManualChange - LoadDimmerFastOnOff - - KeyPadButton3 - KeyPadButton4 - KeyPadButton5 - KeyPadButton6 - - GenericLastTime - - - 2486DWH8 - KeypadLinc Dimmer - 8 Button - LoadDimmerButton - LoadDimmerRamp - ManualChange - LoadDimmerFastOnOff - - KeyPadButton2 - KeyPadButton3 - KeyPadButton4 - KeyPadButton5 - KeyPadButton6 - KeyPadButton7 - KeyPadButton8 - - - GenericLastTime - - - - 2472D - OutletLincDimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - - - X10 switch - any simple X10 switch - X10Switch - - - X10 dimmer - Generic X10 Dimmer without preset - X10Switch - X10Dimmer - - - X10 motion sensor - Generic X10 motion sensor - X10Contact - - - - - - 2477D - SwitchLinc Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - LEDOnOff - Beep - - LEDBrightness - RampRate - OnLevel - - - - - 2477S - SwitchLinc Switch - GenericSwitch - FastOnOff - GenericLastTime - LEDOnOff - Beep - - LEDBrightness - - - - - 2845-222 - Hidden Door Sensor - WirelessMotionSensorContact - HiddenDoorSensorData - GenericLastTime - - - - 2876S - ICON Switch - GenericSwitch - GenericLastTime - - - - 2456D3 - LampLinc V2 - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2442-222 - Micro Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2453-222 - DIN Rail On/Off - GenericSwitch - GenericLastTime - - - - 2452-222 - DIN Rail Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2458-A1 - MorningLinc RF Lock Controller - GenericSwitch - - - - 2852-222 - Leak Sensor - LeakSensorContact - GenericLastTime - - - - 2672-422 - LED Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2476D - SwitchLinc Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2634-222 - On/Off Dual-Band Outdoor Module - GenericSwitch - GenericLastTime - LEDOnOff - Beep - - - - 2342-2 - Mini Remote - RemoteButton1 - RemoteButton2 - RemoteButton3 - RemoteButton4 - GenericLastTime - - - - 2466D - ToggleLinc Dimmer - GenericDimmer - RampDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2466S - ToggleLinc Switch - GenericSwitch - GenericLastTime - - - - 2672-222 - LED Bulb - GenericDimmer - RampDimmer_3435 - ManualChange - FastOnOff - GenericLastTime - - - - 2487S - KeypadLinc On/Off 6-Button Scene Control - LoadSwitchButton - LoadSwitchManualChange - LoadSwitchFastOnOff - - KeyPadButton3 - KeyPadButton4 - KeyPadButton5 - KeyPadButton6 - - - FastOnOffButton3 - FastOnOffButton4 - FastOnOffButton5 - FastOnOffButton6 - - - ManualChangeButton3 - ManualChangeButton4 - ManualChangeButton5 - ManualChangeButton6 - - GenericLastTime - - - - 2334-232 - Keypad Dimmer Switch, 6-Button - LoadDimmerButton - LoadDimmerRamp - ManualChange - LoadDimmerFastOnOff - - KeyPadButton3 - KeyPadButton4 - KeyPadButton5 - KeyPadButton6 - - - FastOnOffButton3 - FastOnOffButton4 - FastOnOffButton5 - FastOnOffButton6 - - - ManualChangeButton3 - ManualChangeButton4 - ManualChangeButton5 - ManualChangeButton6 - - - LEDBrightness - RampRate - OnLevel - - LEDOnOff - Beep - GenericLastTime - - - - 2334-232 - Keypad Dimmer Switch, 8-Button - LoadDimmerButton - LoadDimmerRamp - ManualChange - LoadDimmerFastOnOff - - KeyPadButton2 - KeyPadButton3 - KeyPadButton4 - KeyPadButton5 - KeyPadButton6 - KeyPadButton7 - KeyPadButton8 - - - FastOnOffButton2 - FastOnOffButton3 - FastOnOffButton4 - FastOnOffButton5 - FastOnOffButton6 - FastOnOffButton7 - FastOnOffButton8 - - - ManualChangeButton2 - ManualChangeButton3 - ManualChangeButton4 - ManualChangeButton5 - ManualChangeButton6 - ManualChangeButton7 - ManualChangeButton8 - - - LEDBrightness - RampRate - OnLevel - - LEDOnOff - Beep - GenericLastTime - - - - 2423A1 - iMeter Solo Power Meter - PowerMeter - GenericLastTime - - - - 2441TH - Insteon Thermostat - - ThermostatBackLightDuration - ThermostatACDelay - - - ThermostatHumidityHigh - ThermostatHumidityLow - ThermostatStage1Duration - - - ThermostatCoolSetPoint - ThermostatHeatSetPoint - ThermostatSystemMode - ThermostatFanMode - ThermostatIsHeating - ThermostatIsCooling - ThermostatTemperatureFahrenheit - - ThermostatHumidity - - GenericLastTime - - - - 2457D2 - LampLinc Dimmer - GenericDimmer - ManualChange - FastOnOff - GenericLastTime - LEDOnOff - Beep - - - - 2475SDB - In-LineLinc Relay - GenericSwitch - GenericLastTime - - - - 2635-222 - On/Off Module - GenericSwitch - GenericLastTime - LEDOnOff - Beep - - - - 2475F - FanLinc Module - GenericDimmer - FanLincFan - GenericLastTime - - - - 2456S3 - ApplianceLinc - GenericSwitch - GenericLastTime - - - - 2674-222 - LED Bulb (recessed) - GenericDimmer - RampDimmer - ManualChange - FastOnOff - GenericLastTime - - - - 2477SA1 - 220V 30-amp Load Controller N/O - GenericSwitch - FastOnOff - GenericLastTime - - - 2342-222 - Mini Remote (8 Button) - RemoteButton2 - RemoteButton1 - RemoteButton4 - RemoteButton3 - RemoteButton6 - RemoteButton5 - RemoteButton8 - RemoteButton7 - GenericLastTime - - - 2441V - Insteon Thermostat Adaptor for Venstar - - VenstarCoolSetPoint - VenstarHeatSetPoint - VenstarSystemMode - VenstarFanMode - VenstarTemperatureFahrenheit - VenstarHumidity - VenstarIsHeating - VenstarIsCooling - - GenericLastTime - - - 2982-222 - Insteon Smoke Bridge - ReceiveBroadcast - GenericLastTime - - - - 2487S - KeypadLinc On/Off 8-Button Scene Control - LoadSwitchButton - LoadSwitchManualChange - LoadSwitchFastOnOff - - KeyPadButton2 - KeyPadButton3 - KeyPadButton4 - KeyPadButton5 - KeyPadButton6 - KeyPadButton7 - KeyPadButton8 - - - FastOnOffButton2 - FastOnOffButton3 - FastOnOffButton4 - FastOnOffButton5 - FastOnOffButton6 - FastOnOffButton7 - FastOnOffButton8 - - - ManualChangeButton2 - ManualChangeButton3 - ManualChangeButton4 - ManualChangeButton5 - ManualChangeButton6 - ManualChangeButton7 - ManualChangeButton8 - - GenericLastTime - + + + + + + 2450 + IO Link + IOLincContact + GenericLastTime + IOLincSwitch + + + + 2486D + KeypadLinc Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2663-222 + On/Off Outlet + GenericSwitch + BottomOutlet + GenericLastTime + + + + 2484DWH8 + KeypadLinc Countdown Timer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2413U + PowerLinc 2413U USB modem + GroupBroadcastOnOff + + + + 2843-222 + Wireless Open/Close Sensor + GenericContact + GenericLastTime + + + + 2842-222 + Motion Sensor + WirelessMotionSensorContact + WirelessMotionSensorLightLevelAboveThreshold + WirelessMotionSensorLowBattery + MotionSensorData + GenericLastTime + + + 2486DWH6 + KeypadLinc Dimmer - 6 Button + LoadDimmerButton + LoadDimmerRamp + ManualChange + LoadDimmerFastOnOff + + KeyPadButton3 + KeyPadButton4 + KeyPadButton5 + KeyPadButton6 + + GenericLastTime + + + 2486DWH8 + KeypadLinc Dimmer - 8 Button + LoadDimmerButton + LoadDimmerRamp + ManualChange + LoadDimmerFastOnOff + + KeyPadButton2 + KeyPadButton3 + KeyPadButton4 + KeyPadButton5 + KeyPadButton6 + KeyPadButton7 + KeyPadButton8 + + + GenericLastTime + + + + 2472D + OutletLincDimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + + + X10 switch + any simple X10 switch + X10Switch + + + X10 dimmer + Generic X10 Dimmer without preset + X10Switch + X10Dimmer + + + X10 motion sensor + Generic X10 motion sensor + X10Contact + + + + + + 2477D + SwitchLinc Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + LEDOnOff + Beep + + LEDBrightness + RampRate + OnLevel + + + + + 2477S + SwitchLinc Switch + GenericSwitch + FastOnOff + GenericLastTime + LEDOnOff + Beep + + LEDBrightness + + + + + 2845-222 + Hidden Door Sensor + WirelessMotionSensorContact + HiddenDoorSensorData + GenericLastTime + + + + 2876S + ICON Switch + GenericSwitch + GenericLastTime + + + + 2456D3 + LampLinc V2 + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2442-222 + Micro Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2453-222 + DIN Rail On/Off + GenericSwitch + GenericLastTime + + + + 2452-222 + DIN Rail Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2458-A1 + MorningLinc RF Lock Controller + GenericSwitch + + + + 2852-222 + Leak Sensor + LeakSensorContact + GenericLastTime + + + + 2672-422 + LED Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2476D + SwitchLinc Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2634-222 + On/Off Dual-Band Outdoor Module + GenericSwitch + GenericLastTime + LEDOnOff + Beep + + + + 2342-2 + Mini Remote + RemoteButton1 + RemoteButton2 + RemoteButton3 + RemoteButton4 + GenericLastTime + + + + 2466D + ToggleLinc Dimmer + GenericDimmer + RampDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2466S + ToggleLinc Switch + GenericSwitch + GenericLastTime + + + + 2672-222 + LED Bulb + GenericDimmer + RampDimmer_3435 + ManualChange + FastOnOff + GenericLastTime + + + + 2487S + KeypadLinc On/Off 6-Button Scene Control + LoadSwitchButton + LoadSwitchManualChange + LoadSwitchFastOnOff + + KeyPadButton3 + KeyPadButton4 + KeyPadButton5 + KeyPadButton6 + + + FastOnOffButton3 + FastOnOffButton4 + FastOnOffButton5 + FastOnOffButton6 + + + ManualChangeButton3 + ManualChangeButton4 + ManualChangeButton5 + ManualChangeButton6 + + GenericLastTime + + + + 2334-232 + Keypad Dimmer Switch, 6-Button + LoadDimmerButton + LoadDimmerRamp + ManualChange + LoadDimmerFastOnOff + + KeyPadButton3 + KeyPadButton4 + KeyPadButton5 + KeyPadButton6 + + + FastOnOffButton3 + FastOnOffButton4 + FastOnOffButton5 + FastOnOffButton6 + + + ManualChangeButton3 + ManualChangeButton4 + ManualChangeButton5 + ManualChangeButton6 + + + LEDBrightness + RampRate + OnLevel + + LEDOnOff + Beep + GenericLastTime + + + + 2334-232 + Keypad Dimmer Switch, 8-Button + LoadDimmerButton + LoadDimmerRamp + ManualChange + LoadDimmerFastOnOff + + KeyPadButton2 + KeyPadButton3 + KeyPadButton4 + KeyPadButton5 + KeyPadButton6 + KeyPadButton7 + KeyPadButton8 + + + FastOnOffButton2 + FastOnOffButton3 + FastOnOffButton4 + FastOnOffButton5 + FastOnOffButton6 + FastOnOffButton7 + FastOnOffButton8 + + + ManualChangeButton2 + ManualChangeButton3 + ManualChangeButton4 + ManualChangeButton5 + ManualChangeButton6 + ManualChangeButton7 + ManualChangeButton8 + + + LEDBrightness + RampRate + OnLevel + + LEDOnOff + Beep + GenericLastTime + + + + 2423A1 + iMeter Solo Power Meter + PowerMeter + GenericLastTime + + + + 2441TH + Insteon Thermostat + + ThermostatBackLightDuration + ThermostatACDelay + + + ThermostatHumidityHigh + ThermostatHumidityLow + ThermostatStage1Duration + + + ThermostatCoolSetPoint + ThermostatHeatSetPoint + ThermostatSystemMode + ThermostatFanMode + ThermostatIsHeating + ThermostatIsCooling + ThermostatTemperatureFahrenheit + + ThermostatHumidity + + GenericLastTime + + + + 2457D2 + LampLinc Dimmer + GenericDimmer + ManualChange + FastOnOff + GenericLastTime + LEDOnOff + Beep + + + + 2475SDB + In-LineLinc Relay + GenericSwitch + GenericLastTime + + + + 2635-222 + On/Off Module + GenericSwitch + GenericLastTime + LEDOnOff + Beep + + + + 2475F + FanLinc Module + GenericDimmer + FanLincFan + GenericLastTime + + + + 2456S3 + ApplianceLinc + GenericSwitch + GenericLastTime + + + + 2674-222 + LED Bulb (recessed) + GenericDimmer + RampDimmer + ManualChange + FastOnOff + GenericLastTime + + + + 2477SA1 + 220V 30-amp Load Controller N/O + GenericSwitch + FastOnOff + GenericLastTime + + + 2342-222 + Mini Remote (8 Button) + RemoteButton2 + RemoteButton1 + RemoteButton4 + RemoteButton3 + RemoteButton6 + RemoteButton5 + RemoteButton8 + RemoteButton7 + GenericLastTime + + + 2441V + Insteon Thermostat Adaptor for Venstar + + VenstarCoolSetPoint + VenstarHeatSetPoint + VenstarSystemMode + VenstarFanMode + VenstarTemperatureFahrenheit + VenstarHumidity + VenstarIsHeating + VenstarIsCooling + + GenericLastTime + + + 2982-222 + Insteon Smoke Bridge + ReceiveBroadcast + GenericLastTime + + + + 2487S + KeypadLinc On/Off 8-Button Scene Control + LoadSwitchButton + LoadSwitchManualChange + LoadSwitchFastOnOff + + KeyPadButton2 + KeyPadButton3 + KeyPadButton4 + KeyPadButton5 + KeyPadButton6 + KeyPadButton7 + KeyPadButton8 + + + FastOnOffButton2 + FastOnOffButton3 + FastOnOffButton4 + FastOnOffButton5 + FastOnOffButton6 + FastOnOffButton7 + FastOnOffButton8 + + + ManualChangeButton2 + ManualChangeButton3 + ManualChangeButton4 + ManualChangeButton5 + ManualChangeButton6 + ManualChangeButton7 + ManualChangeButton8 + + GenericLastTime + diff --git a/bundles/org.openhab.binding.insteon/src/main/resources/msg_definitions.xml b/bundles/org.openhab.binding.insteon/src/main/resources/msg_definitions.xml index d4c1cf08aeff2..26a8db7c89a9b 100644 --- a/bundles/org.openhab.binding.insteon/src/main/resources/msg_definitions.xml +++ b/bundles/org.openhab.binding.insteon/src/main/resources/msg_definitions.xml @@ -1,110 +1,110 @@ - +
0x02 0x15
- +
0x02 - 0x50 -
-
- + 0x50 +
+
+
- - + +
- +
- 0x02 - 0x51 -
-
- 0x10 + 0x02 + 0x51 +
+
+ 0x10
- - - - - - - - - - - - - - - - -
- + + + + + + + + + + + + + + + + + +
0x02 - 0x52 + 0x52
- - + +
- +
0x02 - 0x53 + 0x53
- - -
- - - + + +
+ + + - +
0x02 - 0x54 + 0x54
- +
- +
0x02 - 0x55 + 0x55
- +
0x02 - 0x56 + 0x56
- -
+ +
- +
- 0x02 - 0x57 + 0x02 + 0x57
@@ -113,298 +113,298 @@
- +
0x02 - 0x58 + 0x58
- +
- +
0x02 - 0x5c -
-
- + 0x5c +
+
+
- - + +
- +
- 0x02 - 0x60 + 0x02 + 0x60
- +
- 0x02 - 0x60 + 0x02 + 0x60
-
- - - - +
+ + + + - +
- 0x02 - 0x61 + 0x02 + 0x61
- 0x00 - 0x00 - 0x00 + 0x00 + 0x00 + 0x00
- +
- 0x02 - 0x61 + 0x02 + 0x61
- 0x00 - 0x00 - 0x00 - + 0x00 + 0x00 + 0x00 +
- +
- 0x02 - 0x62 -
- + 0x02 + 0x62 +
+
- +
- 0x02 - 0x62 -
- + 0x02 + 0x62 +
+
- +
- +
- 0x02 - 0x62 -
- 0x10 + 0x02 + 0x62 +
+ 0x10
0x00 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 - 0x00 -
- + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + 0x00 + +
- 0x02 - 0x62 -
- 0x10 + 0x02 + 0x62 +
+ 0x10
- - - - - - - - - - - - - - - -
- + + + + + + + + + + + + + + + + +
- 0x02 - 0x63 + 0x02 + 0x63
- - 0x00 + + 0x00
- +
- 0x02 - 0x63 + 0x02 + 0x63
- - 0x00 - + + 0x00 +
- +
- 0x02 - 0x64 + 0x02 + 0x64
- - 0x00 + + 0x00
- +
- 0x02 - 0x64 + 0x02 + 0x64
- - 0x00 - + + 0x00 +
- +
- 0x02 - 0x65 + 0x02 + 0x65
- +
- 0x02 - 0x65 + 0x02 + 0x65
- +
- +
- 0x02 - 0x66 + 0x02 + 0x66
- - - + + +
- +
- 0x02 - 0x66 + 0x02 + 0x66
- - - - + + + +
- +
- 0x02 - 0x67 + 0x02 + 0x67
- +
- 0x02 - 0x67 + 0x02 + 0x67
- +
- +
- 0x02 - 0x68 + 0x02 + 0x68
- +
- +
- 0x02 - 0x68 + 0x02 + 0x68
- - + +
- +
- 0x02 - 0x69 + 0x02 + 0x69
- +
- 0x02 - 0x69 + 0x02 + 0x69
- +
- +
- 0x02 - 0x6a + 0x02 + 0x6a
- +
- 0x02 - 0x6a + 0x02 + 0x6a
- +
- +
- 0x02 - 0x6f + 0x02 + 0x6f
-
+
- +
- 0x02 - 0x6f + 0x02 + 0x6f
-
+
- + - +
- 0x02 - 0x77 + 0x02 + 0x77
- +
- 0x02 - 0x77 + 0x02 + 0x77
- +
- +
- 0x02 - 0x7F + 0x02 + 0x7F
- +
diff --git a/bundles/org.openhab.binding.ipp/pom.xml b/bundles/org.openhab.binding.ipp/pom.xml index 3ad7c62b517fd..0cf47cd61a420 100644 --- a/bundles/org.openhab.binding.ipp/pom.xml +++ b/bundles/org.openhab.binding.ipp/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -24,15 +26,15 @@ compile - org.simpleframework - simple-xml - 2.7.1 - compile + org.simpleframework + simple-xml + 2.7.1 + compile - xmlpull - xmlpull - 1.1.3.1 + xmlpull + xmlpull + 1.1.3.1 commons-io diff --git a/bundles/org.openhab.binding.ipp/src/main/feature/feature.xml b/bundles/org.openhab.binding.ipp/src/main/feature/feature.xml index d6f3bf93935e1..6a4f223a1150c 100644 --- a/bundles/org.openhab.binding.ipp/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ipp/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.ipp/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.ipp/${project.version} + diff --git a/bundles/org.openhab.binding.ipp/src/main/java/org/openhab/binding/ipp/internal/handler/IppPrinterHandler.java b/bundles/org.openhab.binding.ipp/src/main/java/org/openhab/binding/ipp/internal/handler/IppPrinterHandler.java index 33c514054bae4..60595d1298e8b 100644 --- a/bundles/org.openhab.binding.ipp/src/main/java/org/openhab/binding/ipp/internal/handler/IppPrinterHandler.java +++ b/bundles/org.openhab.binding.ipp/src/main/java/org/openhab/binding/ipp/internal/handler/IppPrinterHandler.java @@ -172,5 +172,4 @@ public Collection removeOlderResults(DiscoveryService source, long tim Collection thingTypeUIDs, ThingUID bridgeUID) { return Collections.emptyList(); } - } diff --git a/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/binding/binding.xml index 573c0d3103df1..dd73b4c15dbd8 100644 --- a/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/binding/binding.xml @@ -1,12 +1,12 @@ - + IPP Binding This is the binding for the Internet Printing Protocol (IPP). You can - show how many jobs are done/waiting on an IPP/CUPS Printer + show how many jobs are done/waiting + on an IPP/CUPS Printer Tobias Braeutigam diff --git a/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/thing/thing-types.xml index f0661f3d59492..554fdccdf0ce4 100644 --- a/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.ipp/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,6 +1,5 @@ - @@ -8,9 +7,9 @@ A IPP Printer - - - + + + diff --git a/bundles/org.openhab.binding.irtrans/pom.xml b/bundles/org.openhab.binding.irtrans/pom.xml index ec7343b38e85a..92c23171591a2 100644 --- a/bundles/org.openhab.binding.irtrans/pom.xml +++ b/bundles/org.openhab.binding.irtrans/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.irtrans/src/main/feature/feature.xml b/bundles/org.openhab.binding.irtrans/src/main/feature/feature.xml index babf7b7bf1a41..56856dfe10aad 100644 --- a/bundles/org.openhab.binding.irtrans/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.irtrans/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.irtrans/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.irtrans/${project.version} + diff --git a/bundles/org.openhab.binding.irtrans/src/main/java/org/openhab/binding/irtrans/internal/handler/BlasterHandler.java b/bundles/org.openhab.binding.irtrans/src/main/java/org/openhab/binding/irtrans/internal/handler/BlasterHandler.java index 082cdc2670cfd..629c3d0b73b22 100644 --- a/bundles/org.openhab.binding.irtrans/src/main/java/org/openhab/binding/irtrans/internal/handler/BlasterHandler.java +++ b/bundles/org.openhab.binding.irtrans/src/main/java/org/openhab/binding/irtrans/internal/handler/BlasterHandler.java @@ -22,8 +22,8 @@ import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; import org.eclipse.smarthome.core.types.Command; import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.irtrans.internal.IrCommand; import org.openhab.binding.irtrans.internal.IRtransBindingConstants.Led; +import org.openhab.binding.irtrans.internal.IrCommand; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/binding/binding.xml index 0ebdf77abc4e4..5e6b3c06ce483 100644 --- a/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - IRtrans Binding diff --git a/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/blaster.xml b/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/blaster.xml index 465c1b1ca7369..af912655533be 100644 --- a/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/blaster.xml +++ b/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/blaster.xml @@ -1,19 +1,20 @@ - - + This is an infrared transmitter that can send infrared commands - + @@ -24,12 +25,14 @@ - The remote or manufacturer name which's commands will be allowed, as defined in the IRtrans server database and flashed into the transceiver. Can be '*' for any remote + The remote or manufacturer name which's commands will be allowed, as defined in the IRtrans server + database and flashed into the transceiver. Can be '*' for any remote - The name of the command will be allowed, as defined in the IRtrans server database and flashed into the transceiver. Can be '*' for any command + The name of the command will be allowed, as defined in the IRtrans server database and flashed into the + transceiver. Can be '*' for any command diff --git a/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/ethernetbridge.xml b/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/ethernetbridge.xml index f1bc118ae4ec2..60e3df21c2d42 100644 --- a/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/ethernetbridge.xml +++ b/bundles/org.openhab.binding.irtrans/src/main/resources/ESH-INF/thing/ethernetbridge.xml @@ -1,5 +1,6 @@ - @@ -44,7 +45,8 @@ String - The Blaster Channel allows to send (filtered) infrared commands over the specified blaster led of the transceiver + The Blaster Channel allows to send (filtered) infrared commands over the specified blaster led of the + transceiver @@ -52,11 +54,13 @@ - The remote or manufacturer name which's commands will be allowed, as defined in the IRtrans server database and flashed into the transceiver. Can be '*' for any remote + The remote or manufacturer name which's commands will be allowed, as defined in the IRtrans server + database and flashed into the transceiver. Can be '*' for any remote - The name of the command will be allowed, as defined in the IRtrans server database and flashed into the transceiver. Can be '*' for any command + The name of the command will be allowed, as defined in the IRtrans server database and flashed into the + transceiver. Can be '*' for any command @@ -64,15 +68,18 @@ String - The Receiver Channel allows to receive (filtered) infrared commands on the receiver led of the transceiver + The Receiver Channel allows to receive (filtered) infrared commands on the receiver led of the + transceiver - The remote or manufacturer name which's commands will be allowed, as defined in the IRtrans server database and flashed into the transceiver. Can be '*' for any remote + The remote or manufacturer name which's commands will be allowed, as defined in the IRtrans server + database and flashed into the transceiver. Can be '*' for any remote - The name of the command will be allowed, as defined in the IRtrans server database and flashed into the transceiver. Can be '*' for any command + The name of the command will be allowed, as defined in the IRtrans server database and flashed into the + transceiver. Can be '*' for any command diff --git a/bundles/org.openhab.binding.jeelink/pom.xml b/bundles/org.openhab.binding.jeelink/pom.xml index 83dd93f6d011b..c23e4bd177136 100644 --- a/bundles/org.openhab.binding.jeelink/pom.xml +++ b/bundles/org.openhab.binding.jeelink/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.jeelink/src/main/feature/feature.xml b/bundles/org.openhab.binding.jeelink/src/main/feature/feature.xml index 2af682e8814fe..d2a4d28dac53a 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.jeelink/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.jeelink/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.jeelink/${project.version} + diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkBindingConstants.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkBindingConstants.java index b4a28cd33966d..d59ccee260e61 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkBindingConstants.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkBindingConstants.java @@ -70,7 +70,7 @@ private JeeLinkBindingConstants() { public static final String ELECTRIC_CURRENT_CHANNEL = "electricCurrent"; public static final String ELECTRIC_POTENTIAL_CHANNEL = "electricPotential"; public static final String FREQUENCY_CHANNEL = "powerFrequency"; - + // List of all additional channel ids for tx22 sensor things public static final String PRESSURE_CHANNEL = "pressure"; public static final String RAIN_CHANNEL = "rain"; diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkHandler.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkHandler.java index bbdc7dc97c0d2..d69ec5f510a39 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkHandler.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/JeeLinkHandler.java @@ -151,10 +151,10 @@ public void addReadingHandler(ReadingHandler h) { Set> handlers = readingClassHandlerMap.get(h.getReadingClass()); if (handlers == null) { handlers = new HashSet<>(); - + // this is the first handler for this reading class => also setup converter readingClassHandlerMap.put(h.getReadingClass(), handlers); - + if (SensorDefinition.ALL_TYPE == h.getSensorType()) { converters.addAll(SensorDefinition.getDiscoveryConverters()); } else { @@ -184,7 +184,7 @@ public void removeReadingHandler(ReadingHandler h) { if (handlers.isEmpty()) { // this was the last handler for this reading class => also remove converter readingClassHandlerMap.remove(h.getReadingClass()); - + if (SensorDefinition.ALL_TYPE == h.getSensorType()) { converters.removeAll(SensorDefinition.getDiscoveryConverters()); } else { @@ -205,11 +205,11 @@ public void handleCommand(ChannelUID channelUid, Command command) { @Override public void handleInput(String input) { lastReadingTime = System.currentTimeMillis(); - + // try all associated converters to find the correct one for (JeeLinkReadingConverter c : converters) { Reading r = c.createReading(input); - + if (r != null) { // this converter is responsible intializeConnection(); @@ -217,12 +217,12 @@ public void handleInput(String input) { // propagate to the appropriate sensor handler synchronized (readingClassHandlerMap) { Set> handlers = getAllHandlers(r.getClass()); - + for (ReadingHandler h : handlers) { h.handleReading(r); } } - + break; } } @@ -230,7 +230,7 @@ public void handleInput(String input) { private Set> getAllHandlers(Class readingClass) { Set> handlers = new HashSet<>(); - + Set> typeHandlers = readingClassHandlerMap.get(readingClass); if (typeHandlers != null) { handlers.addAll(typeHandlers); @@ -239,10 +239,10 @@ private Set> getAllHandlers(Class { public static final String ALL_TYPE = "All"; - + private static final Set> SENSOR_DEFS = Stream .of(new LaCrosseSensorDefinition(), new Ec3kSensorDefinition(), new Pca301SensorDefinition(), new Tx22SensorDefinition(), new RevoltSensorDefinition(), new LgwSensorDefinition()) diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/connection/AbstractJeeLinkConnection.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/connection/AbstractJeeLinkConnection.java index 54ad884089cf4..338506d80bf8a 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/connection/AbstractJeeLinkConnection.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/connection/AbstractJeeLinkConnection.java @@ -90,7 +90,7 @@ public void sendCommands(String commands) { OutputStreamWriter w = new OutputStreamWriter(initStream); for (String cmd : commands.split(";")) { logger.debug("Writing to device on port {}: {} ", port, cmd); - + w.write(cmd + "\n"); } w.flush(); diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/ec3k/Ec3kSensorDefinition.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/ec3k/Ec3kSensorDefinition.java index 68130e3a6f127..7de200de1057a 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/ec3k/Ec3kSensorDefinition.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/ec3k/Ec3kSensorDefinition.java @@ -43,5 +43,4 @@ public Class getReadingClass() { public JeeLinkSensorHandler createHandler(Thing thing) { return new Ec3kSensorHandler(thing, type); } - } diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReading.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReading.java index 669785af8d8e7..4318d440a1628 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReading.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReading.java @@ -44,7 +44,7 @@ public Float getTemperature() { public Integer getHumidity() { return humidity; } - + public Integer getPressure() { return pressure; } @@ -63,7 +63,7 @@ public boolean hasTemperature() { @Override public String toString() { - return "sensorId=" + sensorId + ": temp=" + temp + (hasHumidity() ? ", hum=" + humidity : "") + return "sensorId=" + sensorId + ": temp=" + temp + (hasHumidity() ? ", hum=" + humidity : "") + (hasPressure() ? ", pressure=" + pressure : ""); } } diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReadingConverter.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReadingConverter.java index 516f7053e3ed8..9ba06c9e9e772 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReadingConverter.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwReadingConverter.java @@ -35,21 +35,24 @@ public LgwReading createReading(String inputLine) { if (inputLine != null) { Matcher matcher = LINE_P.matcher(inputLine); if (matcher.matches()) { - /* Format - OK WS 71 4 4 203 53 255 255 255 255 255 255 255 255 0 3 219 255 255 255 255 255 255 255 255 255 - OK WS 75 4 4 195 61 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 - OK WS 213 4 5 126 40 255 255 255 255 255 255 255 255 0 40 53 0 48 57 - OK WS ID XXX TTT TTT HHH RRR RRR DDD DDD SSS SSS GGG GGG FFF PPP PPP GAS GAS GAS DEB DEB DEB LUX LUX LUX - | | | | | | | | | | | | | | | | | |-------------------------------------- Pressure LSB - | | | | | | | | | | | | | | | | |------------------------------------------ Pressure MSB - | | | | | | | | | | | | | | | |-- Fix 0 - | | | | | | |-------------------------------------- Humidity (1 ... 99 %rH) FF = none - | | | | | |------------------------------------------ Temp * 10 + 1000 LSB (-40 ... +60 °C) FF/FF = none - | | | | |---------------------------------------------- Temp * 10 + 1000 MSB - | | | |-------------------------------------------------- fix "4" - | | |------------------------------------------------------ Sensor ID (1 ... 63) - | |--------------------------------------------------------- fix "WS" - |------------------------------------------------------------ fix "OK" + /* + * Format + * OK WS 71 4 4 203 53 255 255 255 255 255 255 255 255 0 3 219 255 255 255 255 255 255 255 255 255 + * OK WS 75 4 4 195 61 255 255 255 255 255 255 255 255 0 255 255 255 255 255 255 255 255 255 255 255 + * OK WS 213 4 5 126 40 255 255 255 255 255 255 255 255 0 40 53 0 48 57 + * OK WS ID XXX TTT TTT HHH RRR RRR DDD DDD SSS SSS GGG GGG FFF PPP PPP GAS GAS GAS DEB DEB DEB LUX LUX + * LUX + * | | | | | | | | | | | | | | | | | |-------------------------------------- Pressure LSB + * | | | | | | | | | | | | | | | | |------------------------------------------ Pressure MSB + * | | | | | | | | | | | | | | | |-- Fix 0 + * | | | | | | |-------------------------------------- Humidity (1 ... 99 %rH) FF = none + * | | | | | |------------------------------------------ Temp * 10 + 1000 LSB (-40 ... +60 °C) FF/FF = + * none + * | | | | |---------------------------------------------- Temp * 10 + 1000 MSB + * | | | |-------------------------------------------------- fix "4" + * | | |------------------------------------------------------ Sensor ID (1 ... 63) + * | |--------------------------------------------------------- fix "WS" + * |------------------------------------------------------------ fix "OK" */ logger.trace("Creating reading from: {}", inputLine); @@ -57,7 +60,7 @@ public LgwReading createReading(String inputLine) { Float temperature = "255".equals(matcher.group(2)) ? null : (float) (Integer.parseInt(matcher.group(2)) * 256 + Integer.parseInt(matcher.group(3)) - 1000) - / 10; + / 10; Integer humidity = "255".equals(matcher.group(4)) ? null : Integer.parseInt(matcher.group(4)); diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwSensorHandler.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwSensorHandler.java index eab696412f284..f3b737f230aea 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwSensorHandler.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/lacrosse/LgwSensorHandler.java @@ -71,17 +71,17 @@ public void publish(LgwReading reading) { updateState(TEMPERATURE_CHANNEL, new QuantityType<>(temp, SIUnits.CELSIUS)); } - if (reading.hasHumidity()) { if (!hasHumidityChannel) { ThingBuilder thingBuilder = editThing(); thingBuilder.withChannel(ChannelBuilder .create(new ChannelUID(getThing().getUID(), HUMIDITY_CHANNEL), "Number:Humidity") - .withType(new ChannelTypeUID(getThing().getThingTypeUID().getBindingId(), HUMIDITY_CHANNEL)) + .withType(new ChannelTypeUID(getThing().getThingTypeUID().getBindingId(), + HUMIDITY_CHANNEL)) .withLabel(StringUtils.capitalize(HUMIDITY_CHANNEL)).build()); updateThing(thingBuilder.build()); - hasHumidityChannel=true; + hasHumidityChannel = true; } updateState(HUMIDITY_CHANNEL, @@ -93,11 +93,12 @@ public void publish(LgwReading reading) { ThingBuilder thingBuilder = editThing(); thingBuilder.withChannel(ChannelBuilder .create(new ChannelUID(getThing().getUID(), PRESSURE_CHANNEL), "Number:Pressure") - .withType(new ChannelTypeUID(getThing().getThingTypeUID().getBindingId(), PRESSURE_CHANNEL)) + .withType(new ChannelTypeUID(getThing().getThingTypeUID().getBindingId(), + PRESSURE_CHANNEL)) .withLabel(StringUtils.capitalize(PRESSURE_CHANNEL)).build()); updateThing(thingBuilder.build()); - hasPressureChannel=true; + hasPressureChannel = true; } updateState(PRESSURE_CHANNEL, new QuantityType<>(reading.getPressure(), HECTO(SIUnits.PASCAL))); diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/pca301/Pca301SensorDefinition.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/pca301/Pca301SensorDefinition.java index b9abbbd8c2b34..58f63a04750ef 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/pca301/Pca301SensorDefinition.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/pca301/Pca301SensorDefinition.java @@ -43,5 +43,4 @@ public Class getReadingClass() { public JeeLinkSensorHandler createHandler(Thing thing) { return new Pca301SensorHandler(thing, type); } - } diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReading.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReading.java index 161ff784254a2..ce255e936c422 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReading.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReading.java @@ -41,8 +41,8 @@ public RevoltReading(String sensorId, int voltage, float current, int frequency, @Override public String toString() { - return "sensorId=" + sensorId + ": voltage=" + voltage + ", current=" + current + ", frequency=" + frequency + - ", power=" + power + ", powerFact=" + powerFact + ", consumption=" + consumption; + return "sensorId=" + sensorId + ": voltage=" + voltage + ", current=" + current + ", frequency=" + frequency + + ", power=" + power + ", powerFact=" + powerFact + ", consumption=" + consumption; } @Override diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReadingConverter.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReadingConverter.java index f51ba4eeeafa1..628a300da0c83 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReadingConverter.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltReadingConverter.java @@ -35,14 +35,14 @@ public RevoltReading createReading(String inputLine) { /* * r4F1BE400513206875B312F25 */ - String id = matcher.group(1); // 4F1B - - int voltage = toInt(matcher.group(2)); // 0xE4 = 228 => 228 V - float current = toInt(matcher.group(3)) / 100f; // 0x0051 = 81 => 0,81 A - int frequency = toInt(matcher.group(4)); // 0x32 = 50 => 50 Hz - float power = toInt(matcher.group(5)) / 10f; // 0x0687 = 1671 => 167,1 W - float powerFact = toInt(matcher.group(6)) / 100f; // 0x5B = 91 => 0,91 VA - float consumption = toInt(matcher.group(7)) / 100f; // 0x312F = 12591 => 125,91 Wh + String id = matcher.group(1); // 4F1B + + int voltage = toInt(matcher.group(2)); // 0xE4 = 228 => 228 V + float current = toInt(matcher.group(3)) / 100f; // 0x0051 = 81 => 0,81 A + int frequency = toInt(matcher.group(4)); // 0x32 = 50 => 50 Hz + float power = toInt(matcher.group(5)) / 10f; // 0x0687 = 1671 => 167,1 W + float powerFact = toInt(matcher.group(6)) / 100f; // 0x5B = 91 => 0,91 VA + float consumption = toInt(matcher.group(7)) / 100f; // 0x312F = 12591 => 125,91 Wh return new RevoltReading(id, voltage, current, frequency, power, powerFact, consumption); } @@ -50,7 +50,7 @@ public RevoltReading createReading(String inputLine) { return null; } - + private int toInt(String hex) { Integer i = Integer.parseInt(hex, 16); return i.intValue(); diff --git a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltSensorHandler.java b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltSensorHandler.java index 2ed2f72ecd3c9..ba252ffce77df 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltSensorHandler.java +++ b/bundles/org.openhab.binding.jeelink/src/main/java/org/openhab/binding/jeelink/internal/revolt/RevoltSensorHandler.java @@ -57,13 +57,15 @@ public void publish(RevoltReading reading) { logger.debug( "updating states for thing {}: power={}, powerFactor={}, consumption={}, current={}, voltage={}, frequency={} ", - getThing().getUID().getId(), power, powerFactor, consumption, current, reading.getVoltage(), reading.getFrequency()); + getThing().getUID().getId(), power, powerFactor, consumption, current, reading.getVoltage(), + reading.getFrequency()); updateState(CURRENT_POWER_CHANNEL, new QuantityType<>(power, SmartHomeUnits.WATT)); updateState(POWER_FACTOR_CHANNEL, new DecimalType(powerFactor)); updateState(CONSUMPTION_CHANNEL, new QuantityType<>(consumption, SmartHomeUnits.WATT_HOUR)); updateState(ELECTRIC_CURRENT_CHANNEL, new QuantityType<>(current, SmartHomeUnits.AMPERE)); - updateState(ELECTRIC_POTENTIAL_CHANNEL, new QuantityType<>(reading.getVoltage(), SmartHomeUnits.VOLT)); + updateState(ELECTRIC_POTENTIAL_CHANNEL, + new QuantityType<>(reading.getVoltage(), SmartHomeUnits.VOLT)); updateState(FREQUENCY_CHANNEL, new QuantityType<>(reading.getFrequency(), SmartHomeUnits.HERTZ)); } } diff --git a/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/binding/binding.xml index 76007509ca346..cbe28ee96e6f6 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - @text/binding.jeelink.name diff --git a/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/thing/thing-types.xml index 2c7ea07d8da15..6c4aff1dc81aa 100644 --- a/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.jeelink/src/main/resources/ESH-INF/thing/thing-types.xml @@ -152,20 +152,20 @@ - - - - + + + + @text/thing-type.lacrosse.description - - - - + + + + @@ -211,22 +211,22 @@ - - - - + + + + @text/thing-type.ec3k.description - - - - - - + + + + + + @@ -256,19 +256,19 @@ - - - - + + + + @text/thing-type.pca301.description - - - + + + @@ -292,22 +292,22 @@ - - - - + + + + @text/thing-type.revolt.description - - - - - - + + + + + + @@ -326,24 +326,24 @@ - - - - + + + + @text/thing-type.tx22.description - - - - - - - - + + + + + + + + @text/gust-strength.description @@ -366,17 +366,17 @@ - - - - + + + + @text/thing-type.lgw.description - + @@ -397,7 +397,7 @@ @text/channel-type.wind-angle.description Wind - + @@ -405,7 +405,7 @@ @text/channel-type.wind-strength.description Wind - + @@ -413,7 +413,7 @@ @text/channel-type.rain.description Rain - + @@ -421,7 +421,7 @@ @text/channel-type.pressure.description Pressure - + @@ -429,7 +429,7 @@ Number:Power @text/channel-type.current-power.description - + @@ -437,7 +437,7 @@ Number:Power @text/channel-type.max-power.description - + @@ -445,7 +445,7 @@ Number:Energy @text/channel-type.consumption-total.description - + @@ -453,7 +453,7 @@ Number:Time @text/channel-type.appliance-time.description - + @@ -461,7 +461,7 @@ Number:Time @text/channel-type.sensor-time.description - + @@ -469,7 +469,7 @@ Number @text/channel-type.resets.description - + @@ -478,7 +478,7 @@ @text/channel-type.temperature.description Temperature - + @@ -487,7 +487,7 @@ @text/channel-type.humidity.description Humidity - + @@ -495,7 +495,7 @@ Switch @text/channel-type.battery-new.description - + @@ -504,7 +504,7 @@ @text/channel-type.switching-state.description - + Number:ElectricCurrent @@ -518,14 +518,14 @@ @text/channel-type.power-factor.description - + Number:ElectricPotential @text/channel-type.electric-potential.description - + Number:Frequency diff --git a/bundles/org.openhab.binding.keba/pom.xml b/bundles/org.openhab.binding.keba/pom.xml index 0e8f3a92fddbf..7f3dab0466b94 100644 --- a/bundles/org.openhab.binding.keba/pom.xml +++ b/bundles/org.openhab.binding.keba/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.keba/src/main/feature/feature.xml b/bundles/org.openhab.binding.keba/src/main/feature/feature.xml index be67517836124..561d37933c44f 100644 --- a/bundles/org.openhab.binding.keba/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.keba/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.keba/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.keba/${project.version} + diff --git a/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/binding/binding.xml index 9b6a91ef1e81e..f38a763b37fa1 100644 --- a/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Keba Binding This is the binding for Keba EV Charging Stations diff --git a/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/thing/kecontact.xml b/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/thing/kecontact.xml index 17786a3238f97..1739420b74679 100644 --- a/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/thing/kecontact.xml +++ b/bundles/org.openhab.binding.keba/src/main/resources/ESH-INF/thing/kecontact.xml @@ -9,24 +9,24 @@ A KeContact EV Charging Station - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -45,16 +45,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -258,5 +258,5 @@ Authenticate and start a charging session - + diff --git a/bundles/org.openhab.binding.km200/pom.xml b/bundles/org.openhab.binding.km200/pom.xml index ef4c3f5926e95..ff7f4a02b9c74 100644 --- a/bundles/org.openhab.binding.km200/pom.xml +++ b/bundles/org.openhab.binding.km200/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.km200/src/main/feature/feature.xml b/bundles/org.openhab.binding.km200/src/main/feature/feature.xml index 31c128009bdb6..6446b8753135e 100644 --- a/bundles/org.openhab.binding.km200/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.km200/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.km200/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.km200/${project.version} + diff --git a/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Comm.java b/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Comm.java index 45e33d87adcc8..dcd7b367af39a 100644 --- a/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Comm.java +++ b/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Comm.java @@ -145,6 +145,5 @@ public Integer sendDataToService(String service, byte[] data) { logger.debug("Call to {} {} timed out.", remoteDevice.getIP4Address(), service); } return rCode; - } } diff --git a/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Device.java b/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Device.java index d25c627544f87..972274bbd1ad5 100644 --- a/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Device.java +++ b/bundles/org.openhab.binding.km200/src/main/java/org/openhab/binding/km200/internal/KM200Device.java @@ -188,7 +188,6 @@ public void listAllServices() { logger.debug("readable;writeable;recordable;virtual;type;service;value;allowed;min;max;unit"); printAllServices(serviceTreeMap); logger.debug("##################################################################"); - } /** diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/binding/binding.xml index 7bf490b7a1780..7001d295d6ba2 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/binding/binding.xml @@ -1,12 +1,13 @@ - + KM200 Binding - The KM200 Binding is communicating with a Buderus Logamatic web KM200 / KM100 / KM50 gateway. - These devices are gateways for heating systems and allows to control them. It is possible to receive and send parameters. + The KM200 Binding is communicating with a Buderus Logamatic web KM200 / KM100 / KM50 gateway. + These devices + are gateways for heating systems and allows to control them. It is possible to receive and send parameters. + Markus Eckhardt diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/appliance.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/appliance.xml index f1824805b2927..a681c4b7579dc 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/appliance.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/appliance.xml @@ -6,7 +6,7 @@ - + This thing is representing the appliance (The heater inside of this heating system). diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/device.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/device.xml index c68a4d2b06278..d0bfab44f4e99 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/device.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/device.xml @@ -6,7 +6,8 @@ - The KM200 binding is communicating with a Buderus Logamatic web KM200 / KM100 / KM50. It is possible to receive and send parameters like string or float values. + The KM200 binding is communicating with a Buderus Logamatic web KM200 / KM100 / KM50. It is possible to + receive and send parameters like string or float values. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/dhwCircuit.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/dhwCircuit.xml index 60dfb1941c3e8..8dbea321506bf 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/dhwCircuit.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/dhwCircuit.xml @@ -6,7 +6,7 @@ - + This thing is representing a hot water circuit. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/gateway.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/gateway.xml index c9d45388345a5..02d186ef8ccc1 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/gateway.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/gateway.xml @@ -6,7 +6,7 @@ - + This thing is representing the gateway. (The connected KM200/100/50 device) diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatSource.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatSource.xml index b6d706ca1d5cf..bc05add0af56a 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatSource.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatSource.xml @@ -6,7 +6,7 @@ - + This thing is representing the heat source. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatingCircuit.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatingCircuit.xml index 0b7230b35de7c..41bfb081b23f3 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatingCircuit.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/heatingCircuit.xml @@ -6,7 +6,7 @@ - + This thing is representing a heating circuit. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/holidayMode.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/holidayMode.xml index be7dfd404a6f9..b03c69a6c63ca 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/holidayMode.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/holidayMode.xml @@ -6,7 +6,7 @@ - + This thing is representing the holiday modes configuration. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/notification.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/notification.xml index e128e9bc84c79..6460aff2e3b95 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/notification.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/notification.xml @@ -6,7 +6,7 @@ - + This thing is representing the notifications. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/sensor.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/sensor.xml index b9b0657b853c6..c9da80b9927ee 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/sensor.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/sensor.xml @@ -6,7 +6,7 @@ - + This thing is representing the sensors. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/solarCircuit.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/solarCircuit.xml index 05df815cd2b0d..f8077093d666b 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/solarCircuit.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/solarCircuit.xml @@ -6,7 +6,7 @@ - + This thing is representing a solar circuit. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/switchProgram.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/switchProgram.xml index 9257318ddfcd5..d38bb6155ddc5 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/switchProgram.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/switchProgram.xml @@ -6,12 +6,12 @@ - + This thing is representing a switch program. - + diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/system.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/system.xml index 6184248157c7b..5f577e41a2662 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/system.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/system.xml @@ -6,7 +6,7 @@ - + This thing is representing the system without sensors and appliance. diff --git a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/systemStates.xml b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/systemStates.xml index f9a7965eca61a..2205266ff02f0 100644 --- a/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/systemStates.xml +++ b/bundles/org.openhab.binding.km200/src/main/resources/ESH-INF/thing/systemStates.xml @@ -6,7 +6,7 @@ - + This thing is representing the systems states. diff --git a/bundles/org.openhab.binding.knx/pom.xml b/bundles/org.openhab.binding.knx/pom.xml index b8e1a9760bc89..2e02f6345bd6a 100644 --- a/bundles/org.openhab.binding.knx/pom.xml +++ b/bundles/org.openhab.binding.knx/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.knx/src/main/feature/feature.xml b/bundles/org.openhab.binding.knx/src/main/feature/feature.xml index e004818d86b39..2cf3b869c0191 100644 --- a/bundles/org.openhab.binding.knx/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.knx/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.knx/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.knx/${project.version} + diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXBindingConstants.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXBindingConstants.java index 8ade2ed862250..1b66cbf4fa735 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXBindingConstants.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXBindingConstants.java @@ -95,5 +95,4 @@ public class KNXBindingConstants { public static final String STOP_MOVE_GA = "stopMove"; public static final String SWITCH_GA = "switch"; public static final String UP_DOWN_GA = "upDown"; - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java index 378cb3e7b4a62..56a11337d400c 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/KNXTypeMapper.java @@ -53,5 +53,4 @@ public interface KNXTypeMapper { @Nullable public Class toTypeClass(@Nullable String dpt); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/AbstractSpec.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/AbstractSpec.java index a6ec05d3c220f..c1eaec52373d1 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/AbstractSpec.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/AbstractSpec.java @@ -64,5 +64,4 @@ protected final GroupAddress toGroupAddress(GroupAddressConfiguration ga) { public final String getDPT() { return dpt; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ChannelConfiguration.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ChannelConfiguration.java index 8c8a6d48b6c70..9adf1aeabb6ef 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ChannelConfiguration.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ChannelConfiguration.java @@ -55,5 +55,4 @@ public List getListenGAs() { public List getReadGAs() { return getListenGAs().stream().filter(ga -> ga.isRead()).collect(toList()); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/GroupAddressConfiguration.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/GroupAddressConfiguration.java index 61e59356bd04b..038733b6f78a5 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/GroupAddressConfiguration.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/GroupAddressConfiguration.java @@ -49,5 +49,4 @@ public String getGA() { public boolean isRead() { return read; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelType.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelType.java index b8e009ecb3b2d..2856466984790 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelType.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelType.java @@ -212,5 +212,4 @@ public final List getReadSpec(Configuration configuration) throws K public String toString() { return channelTypeIDs.toString(); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelTypes.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelTypes.java index 05bd8477af9df..da42468c1093a 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelTypes.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/KNXChannelTypes.java @@ -56,5 +56,4 @@ public static KNXChannelType getType(@Nullable ChannelTypeUID channelTypeUID) th } throw new IllegalArgumentException(channelTypeUID.getId() + " is not a valid value channel type ID"); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ListenSpecImpl.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ListenSpecImpl.java index d5743438171b9..026f2ae80e55d 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ListenSpecImpl.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ListenSpecImpl.java @@ -45,5 +45,4 @@ public ListenSpecImpl(@Nullable ChannelConfiguration channelConfiguration, Strin public List getGroupAddresses() { return listenAddresses; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadRequestSpecImpl.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadRequestSpecImpl.java index 12ff69ad25b3e..dda4f4a36e3c5 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadRequestSpecImpl.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadRequestSpecImpl.java @@ -47,5 +47,4 @@ public ReadRequestSpecImpl(@Nullable ChannelConfiguration channelConfiguration, public List getGroupAddresses() { return readAddresses; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadResponseSpecImpl.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadResponseSpecImpl.java index 70c599ebeef26..1bc33a6389f99 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadResponseSpecImpl.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/ReadResponseSpecImpl.java @@ -50,5 +50,4 @@ public ReadResponseSpecImpl(@Nullable ChannelConfiguration channelConfiguration, public Type getType() { return type; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeContact.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeContact.java index b36926522a605..1e935515a397c 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeContact.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeContact.java @@ -43,5 +43,4 @@ protected Set getAllGAKeys() { protected String getDefaultDPT(String gaConfigKey) { return DPTXlatorBoolean.DPT_OPENCLOSE.getID(); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeDateTime.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeDateTime.java index 0dcb7ea605711..80fd933b006bb 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeDateTime.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeDateTime.java @@ -43,5 +43,4 @@ protected Set getAllGAKeys() { protected String getDefaultDPT(String gaConfigKey) { return DPTXlatorDateTime.DPT_DATE_TIME.getID(); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeNumber.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeNumber.java index 1ee1eae73c070..c5404bc591efd 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeNumber.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeNumber.java @@ -41,5 +41,4 @@ protected String getDefaultDPT(String gaConfigKey) { protected Set getAllGAKeys() { return Collections.singleton(GA); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeRollershutter.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeRollershutter.java index fcb26012ff0ff..8e30f5f3cedd6 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeRollershutter.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeRollershutter.java @@ -55,5 +55,4 @@ protected String getDefaultDPT(String gaConfigKey) { protected Set getAllGAKeys() { return Stream.of(UP_DOWN_GA, STOP_MOVE_GA, POSITION_GA).collect(toSet()); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeString.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeString.java index ad7267a753b8f..01ca52914ef49 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeString.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeString.java @@ -43,5 +43,4 @@ protected Set getAllGAKeys() { protected String getDefaultDPT(String gaConfigKey) { return DPTXlatorString.DPT_STRING_8859_1.getID(); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeSwitch.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeSwitch.java index 1e97dee1cb813..0ef7f108ea7f0 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeSwitch.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/TypeSwitch.java @@ -43,5 +43,4 @@ protected Set getAllGAKeys() { protected String getDefaultDPT(String gaConfigKey) { return DPTXlatorBoolean.DPT_SWITCH.getID(); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/WriteSpecImpl.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/WriteSpecImpl.java index dd72b7fa0067b..9dad8d8244eab 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/WriteSpecImpl.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/channel/WriteSpecImpl.java @@ -50,5 +50,4 @@ public Type getType() { public @Nullable GroupAddress getGroupAddress() { return groupAddress; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/AbstractKNXClient.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/AbstractKNXClient.java index 435cbfd15f810..ff56a5d239f1b 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/AbstractKNXClient.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/AbstractKNXClient.java @@ -469,7 +469,5 @@ private void sendToKNX(ProcessCommunicationBase communicator, KNXNetworkLink lin } } } - } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/BusMessageListener.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/BusMessageListener.java index d9543ff09508f..661d617fe70d0 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/BusMessageListener.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/BusMessageListener.java @@ -52,5 +52,4 @@ public interface BusMessageListener { */ public void onGroupReadResponse(AbstractKNXClient client, IndividualAddress source, GroupAddress destination, byte[] asdu); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/CustomKNXNetworkLinkIP.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/CustomKNXNetworkLinkIP.java index 87a4debc28cc3..78fa204c9bc54 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/CustomKNXNetworkLinkIP.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/CustomKNXNetworkLinkIP.java @@ -33,5 +33,4 @@ public class CustomKNXNetworkLinkIP extends KNXNetworkLinkIP { throws KNXException, InterruptedException { super(serviceMode, conn, settings); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClient.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClient.java index 976df0823382e..211ddfea6242a 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClient.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClient.java @@ -36,5 +36,4 @@ public interface DeviceInfoClient { final int propertyId, final int start, final int elements, boolean authenticate, long timeout); public boolean isConnected(); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClientImpl.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClientImpl.java index e0cf6b499ae23..bc131a4e97b07 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClientImpl.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInfoClientImpl.java @@ -115,5 +115,4 @@ private void authorize(boolean authenticate, Destination destination) throws KNX public boolean isConnected() { return managementClient.isOpen(); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInspector.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInspector.java index 5434c79cc62df..bdd8f513d25e1 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInspector.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/DeviceInspector.java @@ -67,7 +67,6 @@ public Map getProperties() { public Set getGroupAddresses() { return groupAddresses; } - } public DeviceInspector(DeviceInfoClient client, IndividualAddress address) { @@ -131,7 +130,6 @@ private Map readDeviceProperties(IndividualAddress address) { e.getMessage()); } return ret; - } private @Nullable String toHex(byte @Nullable [] input, String separator) { @@ -171,5 +169,4 @@ private int toUnsigned(final byte @Nullable [] data) { value = value << 16 | data[2] & 0xff << 8 | data[3] & 0xff; return value; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/IPClient.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/IPClient.java index 26c9b22aab979..4afa7ba31e7aa 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/IPClient.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/IPClient.java @@ -126,5 +126,4 @@ private KNXnetIPConnection getConnection(int serviceMode, @Nullable InetSocketAd } return conn; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/InboundSpec.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/InboundSpec.java index 4de85a22626f1..bb99c24160a71 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/InboundSpec.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/InboundSpec.java @@ -40,5 +40,4 @@ public interface InboundSpec { * @return a list of group addresses. */ List getGroupAddresses(); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/KNXClient.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/KNXClient.java index 845509a95b114..099e1bab6b25f 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/KNXClient.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/KNXClient.java @@ -98,5 +98,4 @@ public interface KNXClient { * @throws KNXException if any problem with the communication arises. */ void respondToKNX(OutboundSpec responseSpec) throws KNXException; - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/NoOpClient.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/NoOpClient.java index 26794830bfd11..578897d18348d 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/NoOpClient.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/NoOpClient.java @@ -69,5 +69,4 @@ public void writeToKNX(OutboundSpec commandSpec) throws KNXException { @Override public void respondToKNX(OutboundSpec responseSpec) throws KNXException { } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/OutboundSpec.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/OutboundSpec.java index 57876eb902a0c..6d3d312df77c8 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/OutboundSpec.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/OutboundSpec.java @@ -48,5 +48,4 @@ public interface OutboundSpec { * @return the command/state */ Type getType(); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/ReadDatapoint.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/ReadDatapoint.java index 9334132fc4b1e..156afd1936384 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/ReadDatapoint.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/ReadDatapoint.java @@ -76,5 +76,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/SerialClient.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/SerialClient.java index 924b458b4686c..5cb90304845a1 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/SerialClient.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/SerialClient.java @@ -76,5 +76,4 @@ public SerialClient(int autoReconnectPeriod, ThingUID thingUID, int responseTime } } } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/StatusUpdateCallback.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/StatusUpdateCallback.java index df8c4046c4843..c8bb28256d8fb 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/StatusUpdateCallback.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/client/StatusUpdateCallback.java @@ -38,5 +38,4 @@ public interface StatusUpdateCallback { * @param status */ void updateStatus(ThingStatus status, ThingStatusDetail thingStatusDetail, String message); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/DeviceConfig.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/DeviceConfig.java index d7a0003ec131f..479c807353c7e 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/DeviceConfig.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/DeviceConfig.java @@ -42,5 +42,4 @@ public BigDecimal getPingInterval() { public BigDecimal getReadInterval() { return readInterval; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/IPBridgeConfiguration.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/IPBridgeConfiguration.java index ed36e5faf1ad9..40832e6c1afdf 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/IPBridgeConfiguration.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/IPBridgeConfiguration.java @@ -52,5 +52,4 @@ public String getLocalIp() { public String getLocalSourceAddr() { return localSourceAddr; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/SerialBridgeConfiguration.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/SerialBridgeConfiguration.java index 0ce69d146b1d7..307b5830ffd4c 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/SerialBridgeConfiguration.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/config/SerialBridgeConfiguration.java @@ -25,5 +25,4 @@ public class SerialBridgeConfiguration extends BridgeConfiguration { public String getSerialPort() { return serialPort; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/factory/KNXHandlerFactory.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/factory/KNXHandlerFactory.java index 8ed3b027470e4..a87cc15ac5e9d 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/factory/KNXHandlerFactory.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/factory/KNXHandlerFactory.java @@ -105,5 +105,4 @@ protected void setNetworkAddressService(NetworkAddressService networkAddressServ protected void unsetNetworkAddressService(NetworkAddressService networkAddressService) { this.networkAddressService = null; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/AbstractKNXThingHandler.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/AbstractKNXThingHandler.java index 2221842f715c4..8bdd7dde6138d 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/AbstractKNXThingHandler.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/AbstractKNXThingHandler.java @@ -29,8 +29,8 @@ import org.eclipse.smarthome.core.thing.ThingStatusInfo; import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; import org.openhab.binding.knx.internal.client.DeviceInspector; -import org.openhab.binding.knx.internal.client.KNXClient; import org.openhab.binding.knx.internal.client.DeviceInspector.Result; +import org.openhab.binding.knx.internal.client.KNXClient; import org.openhab.binding.knx.internal.config.DeviceConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -217,5 +217,4 @@ protected void detachFromClient() { } } } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceConstants.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceConstants.java index f9873503fbe95..43e0e10b41137 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceConstants.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceConstants.java @@ -43,5 +43,4 @@ private DeviceConstants() { // Property IDs for device information; public static final int HARDWARE_TYPE = 78; - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceThingHandler.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceThingHandler.java index 243a99fd22f43..feddabafe8133 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceThingHandler.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/DeviceThingHandler.java @@ -411,5 +411,4 @@ private boolean isDPTSupported(@Nullable String dpt) { private KNXChannelType getKNXChannelType(Channel channel) { return KNXChannelTypes.getType(channel.getChannelTypeUID()); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/Firmware.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/Firmware.java index 705a2d333da8b..ca414cdaa153a 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/Firmware.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/Firmware.java @@ -46,5 +46,4 @@ public static String getName(int code) { } return null; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/GroupAddressListener.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/GroupAddressListener.java index 590165206cf42..94037f0d01877 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/GroupAddressListener.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/GroupAddressListener.java @@ -33,5 +33,4 @@ public interface GroupAddressListener extends BusMessageListener { * @param destination */ public boolean listensTo(GroupAddress destination); - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/IPBridgeThingHandler.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/IPBridgeThingHandler.java index 04514512b9a42..c9d5a36a2dba6 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/IPBridgeThingHandler.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/IPBridgeThingHandler.java @@ -123,5 +123,4 @@ protected KNXClient getClient() { } return ret; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/KNXBridgeBaseThingHandler.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/KNXBridgeBaseThingHandler.java index 42c0d681f3950..a4c911eb5cafc 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/KNXBridgeBaseThingHandler.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/KNXBridgeBaseThingHandler.java @@ -78,5 +78,4 @@ public void updateStatus(ThingStatus status) { public void updateStatus(ThingStatus status, ThingStatusDetail statusDetail, @Nullable String description) { super.updateStatus(status, statusDetail, description); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/SerialBridgeThingHandler.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/SerialBridgeThingHandler.java index 19292521319ea..84cf69018a96c 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/SerialBridgeThingHandler.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/handler/SerialBridgeThingHandler.java @@ -57,5 +57,4 @@ public void dispose() { protected AbstractKNXClient getClient() { return client; } - } diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/profiles/KNXProfileAdvisor.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/profiles/KNXProfileAdvisor.java index 4cc49ea40bb1a..d2ab523a79675 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/profiles/KNXProfileAdvisor.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/profiles/KNXProfileAdvisor.java @@ -59,5 +59,4 @@ private ProfileTypeUID getSuggestedProfieTypeUID(ChannelTypeUID channelTypeUID) public static boolean isControl(ChannelTypeUID channelTypeUID) { return CONTROL_CHANNEL_TYPES.contains(channelTypeUID.getId()); } - } diff --git a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/binding/binding.xml index a1e42ea9fd8a1..18bab196ea2e9 100644 --- a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - KNX Binding diff --git a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/config/channelConfig.xml b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/config/channelConfig.xml index 94f4a2aaffaa2..4f8f11338100c 100644 --- a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/config/channelConfig.xml +++ b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/config/channelConfig.xml @@ -1,5 +1,6 @@ - @@ -40,11 +41,12 @@ - Increase/decrease send frequency if dimming should be handled by the binding (in ms) - set to 0 if the KNX device sends them repeatedly itself + Increase/decrease send frequency if dimming should be handled by the binding (in ms) - set to 0 if the + KNX device sends them repeatedly itself 0 - + @@ -91,7 +93,8 @@ - Increase/decrease send frequency if color should be handled by the binding (in ms) - set to 0 if the KNX device sends them repeatedly itself + Increase/decrease send frequency if color should be handled by the binding (in ms) - set to 0 if the KNX + device sends them repeatedly itself 0 diff --git a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/device.xml b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/device.xml index c869d4fc29c96..9751c56dae2d2 100644 --- a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/device.xml +++ b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/device.xml @@ -6,8 +6,8 @@ - - + + @@ -41,13 +41,13 @@ Switch A channel to manage a generic Group Addresses with a DPT compatible with Switch Items - + Switch Control a switch item via KNX (i.e. the status is not owned by KNX) - + @@ -55,13 +55,13 @@ Dimmer A channel to control a dimmer - + Dimmer Control a dimmer item via KNX (i.e. the status is not owned by KNX) - + @@ -69,13 +69,13 @@ Rollershutter A channel to control a rollershutter - + Rollershutter Control a rollershutter item (i.e. the status is not owned by KNX) - + @@ -83,13 +83,13 @@ Color A channel to control color information (RGB) - + Color Control a color item (i.e. the status is not owned by KNX) - + @@ -97,13 +97,13 @@ Contact A channel to manage a generic Group Addresses with a DPT compatible with Contact Items - + Contact Control a contact item (i.e. the status is not owned by KNX) - + @@ -111,13 +111,13 @@ Number A channel to manage a generic Group Addresses with a DPT compatible with Number Items - + Number Control a number item (i.e. the status is not owned by KNX) - + @@ -125,13 +125,13 @@ String A channel to manage a generic Group Addresses with a DPT compatible with String Items - + String Control a string item (i.e. the status is not owned by KNX) - + @@ -139,13 +139,13 @@ DateTime A channel to manage a generic Group Addresses with a DPT compatible with DateTime Items - + DateTime Control Control a date/time item (i.e. the status is not owned by KNX) - + diff --git a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/ip.xml b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/ip.xml index 3a0932b8768fe..36fb253ed5669 100644 --- a/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/ip.xml +++ b/bundles/org.openhab.binding.knx/src/main/resources/ESH-INF/thing/ip.xml @@ -36,7 +36,8 @@ - The Physical Address (Individual Address) in x.y.z notation for identification of this KNX/IP gateway within the KNX bus + The Physical Address (Individual Address) in x.y.z notation for identification of this KNX/IP gateway + within the KNX bus 0.0.0 @@ -60,7 +61,7 @@ Limits the read retries while initialization from the KNX bus 3 - + Seconds between connection retries when KNX link has been lost, 0 means never retry, minimum 30s 60 diff --git a/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/channel/KNXChannelTypeTest.java b/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/channel/KNXChannelTypeTest.java index 3de771c22bb9b..f8a161b66f091 100644 --- a/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/channel/KNXChannelTypeTest.java +++ b/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/channel/KNXChannelTypeTest.java @@ -109,7 +109,5 @@ public MyKNXChannelType(String channelTypeID) { protected @NonNull String getDefaultDPT(@NonNull String gaConfigKey) { return ""; } - } - } diff --git a/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/dpt/KNXCoreTypeMapperTest.java b/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/dpt/KNXCoreTypeMapperTest.java index c69fff45f0b5a..1456e49839ba9 100644 --- a/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/dpt/KNXCoreTypeMapperTest.java +++ b/bundles/org.openhab.binding.knx/src/test/java/org/openhab/binding/knx/internal/dpt/KNXCoreTypeMapperTest.java @@ -29,5 +29,4 @@ public void testToDPTValue_trailingZeroesStrippedOff() { assertEquals("3", new KNXCoreTypeMapper().toDPTValue(new DecimalType("3"), "17.001")); assertEquals("3", new KNXCoreTypeMapper().toDPTValue(new DecimalType("3.0"), "17.001")); } - } diff --git a/bundles/org.openhab.binding.kodi/pom.xml b/bundles/org.openhab.binding.kodi/pom.xml index 18e7fbf0d6d09..0d0d742261059 100644 --- a/bundles/org.openhab.binding.kodi/pom.xml +++ b/bundles/org.openhab.binding.kodi/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.kodi/src/main/feature/feature.xml b/bundles/org.openhab.binding.kodi/src/main/feature/feature.xml index a483c6b1c465c..2aab955449c8e 100644 --- a/bundles/org.openhab.binding.kodi/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.kodi/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.kodi/${project.version} - + + openhab-runtime-base + openhab-transport-http + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.kodi/${project.version} + diff --git a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/discovery/KodiUpnpDiscoveryParticipant.java b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/discovery/KodiUpnpDiscoveryParticipant.java index 3a3a55d45bd3a..2ce4e06fe8073 100644 --- a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/discovery/KodiUpnpDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/discovery/KodiUpnpDiscoveryParticipant.java @@ -105,5 +105,4 @@ public Set getSupportedThingTypeUIDs() { } return null; } - } diff --git a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiProfile.java b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiProfile.java index 42b5e15e96bb0..6d4379916c660 100644 --- a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiProfile.java +++ b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiProfile.java @@ -1,42 +1,42 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.kodi.internal.model; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * Class representing a Kodi profile (see https://kodi.wiki/view/JSON-RPC_API/v8#Profiles.GetProfiles) - * - * @author Jan Hendriks - Initial contribution - */ -@NonNullByDefault -public class KodiProfile extends KodiBaseItem { - private int lockmode; - private String thumbnail = ""; - - public int getLockmode() { - return lockmode; - } - - public void setLockmode(int lockmode) { - this.lockmode = lockmode; - } - - public String getThumbnail() { - return thumbnail; - } - - public void setThumbnail(String thumbnail) { - this.thumbnail = thumbnail; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.kodi.internal.model; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Class representing a Kodi profile (see https://kodi.wiki/view/JSON-RPC_API/v8#Profiles.GetProfiles) + * + * @author Jan Hendriks - Initial contribution + */ +@NonNullByDefault +public class KodiProfile extends KodiBaseItem { + private int lockmode; + private String thumbnail = ""; + + public int getLockmode() { + return lockmode; + } + + public void setLockmode(int lockmode) { + this.lockmode = lockmode; + } + + public String getThumbnail() { + return thumbnail; + } + + public void setThumbnail(String thumbnail) { + this.thumbnail = thumbnail; + } +} diff --git a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiSubtitle.java b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiSubtitle.java index 9b5a6e78e8475..17386de63f708 100644 --- a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiSubtitle.java +++ b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/model/KodiSubtitle.java @@ -1,51 +1,51 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.kodi.internal.model; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * Class representing a Kodi subtitle stream (see https://kodi.wiki/view/JSON-RPC_API/v9#Player.Subtitle) - * - * @author Meng Yiqi - Initial contribution - */ -@NonNullByDefault -public class KodiSubtitle { - private int index; - private String language = ""; - private String name = ""; - - public int getIndex() { - return index; - } - - public void setIndex(int index) { - this.index = index; - } - - public String getLanguage() { - return language; - } - - public void setLanguage(String language) { - this.language = language; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.kodi.internal.model; + +import org.eclipse.jdt.annotation.NonNullByDefault; + +/** + * Class representing a Kodi subtitle stream (see https://kodi.wiki/view/JSON-RPC_API/v9#Player.Subtitle) + * + * @author Meng Yiqi - Initial contribution + */ +@NonNullByDefault +public class KodiSubtitle { + private int index; + private String language = ""; + private String name = ""; + + public int getIndex() { + return index; + } + + public void setIndex(int index) { + this.index = index; + } + + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language = language; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocket.java b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocket.java index e1c071151a3b9..3b6c5dc4f04da 100644 --- a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocket.java +++ b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocket.java @@ -167,7 +167,6 @@ public void onError(Throwable error) { logger.trace("Error occured: {}", error.getMessage()); onClose(0, error.getMessage()); } - } private void sendMessage(String str) throws IOException { diff --git a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocketEventListener.java b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocketEventListener.java index bb6e8661ab8ad..c90ef03cb87d3 100644 --- a/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocketEventListener.java +++ b/bundles/org.openhab.binding.kodi/src/main/java/org/openhab/binding/kodi/internal/protocol/KodiClientSocketEventListener.java @@ -26,5 +26,4 @@ public interface KodiClientSocketEventListener { void onConnectionClosed(); void onConnectionOpened(); - } diff --git a/bundles/org.openhab.binding.kodi/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.kodi/src/main/resources/ESH-INF/thing/thing-types.xml index 7266484f0afa4..b70664295710c 100644 --- a/bundles/org.openhab.binding.kodi/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.kodi/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,31 +10,31 @@ Kodi Mediacenter Binding - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -51,8 +51,8 @@ Audio codec of currently playing media - - + + @@ -72,10 +72,10 @@ - - - - + + + + media_id in kodi database @@ -104,8 +104,8 @@ example usage - http://www.themoviedb.org/tv/12225/ - - + + @@ -117,7 +117,7 @@ ipAddress - + @@ -140,21 +140,21 @@ String Play the given PVR TV channel by sending a command with the channel's name - - + + String Play the given PVR Radio channel by sending a command with the channel's name - - + + String Shows a notification on the UI - + String @@ -439,7 +439,7 @@ String Comma-separated list of genres of the current file - + Image @@ -457,31 +457,31 @@ String Codec of currently playing media - + Number:Time Current time of currently playing media - + Number:Dimensionless Current time of currently playing media - + Number:Time Length of currently playing media - + Number id in kodi database - + Switch @@ -492,66 +492,66 @@ Number Channels - + Number Video Width - + Number Video Height - + Number stream index - + String Name - + String UniqueID - + String stream Language - + String file path and name - + Number Rating - + String MPAA Rating - + String Profile of Kodi - + diff --git a/bundles/org.openhab.binding.konnected/pom.xml b/bundles/org.openhab.binding.konnected/pom.xml index be7bbfe5f7e96..4156774cafa96 100644 --- a/bundles/org.openhab.binding.konnected/pom.xml +++ b/bundles/org.openhab.binding.konnected/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.konnected/src/main/feature/feature.xml b/bundles/org.openhab.binding.konnected/src/main/feature/feature.xml index ce6d9a129ff7f..eaeefd9b50e02 100644 --- a/bundles/org.openhab.binding.konnected/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.konnected/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.konnected/${project.version} - + + openhab-runtime-base + openhab-transport-http + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.konnected/${project.version} + diff --git a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedBindingConstants.java b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedBindingConstants.java index 7c85e78bbbb26..075b961d2a0e0 100644 --- a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedBindingConstants.java +++ b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedBindingConstants.java @@ -59,5 +59,4 @@ public class KonnectedBindingConstants { public static final String CHANNEL_ACTUATOR_PAUSE = "pause"; public static final String CHANNEL_ONVALUE = "onvalue"; - } diff --git a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedConfiguration.java b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedConfiguration.java index 45359f2aa28e5..0d894f32eb3ee 100644 --- a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedConfiguration.java +++ b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/KonnectedConfiguration.java @@ -22,7 +22,7 @@ public class KonnectedConfiguration extends Configuration { /** - * @param blink identifies whether the Konnected Alarm Panel LED will blink on transmission of Wifi Commands + * @param blink identifies whether the Konnected Alarm Panel LED will blink on transmission of Wifi Commands * @param discovery identifies whether the Konnected Alarm Panel will be discoverable via UPnP */ public boolean blink; diff --git a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/gson/KonnectedModulePayload.java b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/gson/KonnectedModulePayload.java index 8a16366b2bc1c..68d76a60d1038 100644 --- a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/gson/KonnectedModulePayload.java +++ b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/gson/KonnectedModulePayload.java @@ -110,5 +110,4 @@ public void setDiscovery(Boolean setDiscovery) { public void setBlink(Boolean setBlink) { this.blink = setBlink; } - } diff --git a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/handler/KonnectedHandler.java b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/handler/KonnectedHandler.java index b26e3e9b33235..1bd2d5e097734 100644 --- a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/handler/KonnectedHandler.java +++ b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/handler/KonnectedHandler.java @@ -520,5 +520,4 @@ private String getOnState(Channel channel) { return config; } } - } diff --git a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/servlet/KonnectedHTTPServlet.java b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/servlet/KonnectedHTTPServlet.java index 2e883c69598cc..dfad5eb49f868 100644 --- a/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/servlet/KonnectedHTTPServlet.java +++ b/bundles/org.openhab.binding.konnected/src/main/java/org/openhab/binding/konnected/internal/servlet/KonnectedHTTPServlet.java @@ -99,5 +99,4 @@ private void setHeaders(HttpServletResponse response) { response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); } - } diff --git a/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/config/config.xml index 5451820b401a2..157ecb5b20662 100644 --- a/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/config/config.xml @@ -7,7 +7,7 @@ - + @@ -17,19 +17,26 @@ - If set to false the device will not respond to discovery requests via UPnP. Make sure you have statically assigned an IP address to the module before turning this setting off. See https://help.konnected.io/support/solutions/articles/32000023968-disabling-device-discovery + If set to false the device will not respond to discovery requests via UPnP. Make sure you have + statically assigned an IP address to the module before turning this setting off. See + https://help.konnected.io/support/solutions/articles/32000023968-disabling-device-discovery true true - The number of times the binding attempts to send http requests to the Konnected Alarm Panel. Increase this setting if you are experiencing situations where the module is reporting as offline but you can access the website of the Alarm Panel to confirm that the Alarm Panel is Konnected to the Network. This will allow the binding to attempt more retries before it considers the connection a failure and marks the thing as offline. + The number of times the binding attempts to send http requests to the Konnected Alarm Panel. Increase + this setting if you are experiencing situations where the module is reporting as offline but you can access the + website of the Alarm Panel to confirm that the Alarm Panel is Konnected to the Network. This will allow the binding + to attempt more retries before it considers the connection a failure and marks the thing as offline. 2 true - The timeout period in seconds for HTTP requests to the Konnected Alarm Panel. The default is 30. Adjusting this setting can help in networks situations with high latency where the binding is erroneously reporting the thing as offline. + The timeout period in seconds for HTTP requests to the Konnected Alarm Panel. The default is 30. + Adjusting this setting can help in networks situations with high latency where the binding is erroneously reporting + the thing as offline. 30 true @@ -47,7 +54,8 @@ - Manually sends the settings to the module. The binding will send settings on every restart and if there are any configuration changes but this can be used to manually update the settings as needed. + Manually sends the settings to the module. The binding will send settings on every restart and if there + are any configuration changes but this can be used to manually update the settings as needed. true false diff --git a/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/thing/thing-types.xml index 8ea88a9992c89..7aa42317d8e4c 100644 --- a/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.konnected/src/main/resources/ESH-INF/thing/thing-types.xml @@ -16,14 +16,14 @@ - + Switch This zone is a read only switch type zone - + @@ -41,7 +41,8 @@ - The value that will be treated by the binding as the on value. For sensors that activate with a high value leave at the default of 1 and sensors that activate with a low value set to 0. + The value that will be treated by the binding as the on value. For sensors that activate with a high + value leave at the default of 1 and sensors that activate with a low value set to 0. 1 @@ -54,7 +55,7 @@ Number:Temperature This zone measures temperature - + @@ -87,7 +88,7 @@ Number:Dimensionless This zone measures humidity - + @@ -125,7 +126,8 @@ - The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0. + The value that will be treated by the binding as an on command. For actuators that activate with a high + command set to 1 and actuators that activate with a low value set to 0. 1 diff --git a/bundles/org.openhab.binding.kostalinverter/pom.xml b/bundles/org.openhab.binding.kostalinverter/pom.xml index 92a6e08650b7b..9544c8f992b32 100644 --- a/bundles/org.openhab.binding.kostalinverter/pom.xml +++ b/bundles/org.openhab.binding.kostalinverter/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/feature/feature.xml b/bundles/org.openhab.binding.kostalinverter/src/main/feature/feature.xml index de27f2842de5d..a4d722ce5b4b3 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.kostalinverter/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.kostalinverter/${project.version} + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/KostalInverterFactory.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/KostalInverterFactory.java index 0706235229006..66013d8f47557 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/KostalInverterFactory.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/KostalInverterFactory.java @@ -102,5 +102,4 @@ protected void setHttpClientFactory(HttpClientFactory httpClientFactory) { protected void unsetHttpClientFactory(HttpClientFactory httpClientFactory) { this.httpClient = null; } - } diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/firstgeneration/WebscrapeHandler.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/firstgeneration/WebscrapeHandler.java index 05c78aed4952c..f3ea1a239c273 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/firstgeneration/WebscrapeHandler.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/firstgeneration/WebscrapeHandler.java @@ -130,5 +130,4 @@ private State getState(String value, Unit unit) { } } } - } diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationBindingConstants.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationBindingConstants.java index f797cfc5a27c4..718186d6204af 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationBindingConstants.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationBindingConstants.java @@ -141,5 +141,4 @@ public class ThirdGenerationBindingConstants { public static final String CHANNEL_STATISTIC_YIELD_MONTH = "statisticYieldMonth"; public static final String CHANNEL_STATISTIC_YIELD_TOTAL = "statisticYieldTotal"; public static final String CHANNEL_STATISTIC_YIELD_YEAR = "statisticYieldYear"; - } diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationChannelMappingToWebApi.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationChannelMappingToWebApi.java index dd4579570074b..6493527a5e10f 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationChannelMappingToWebApi.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationChannelMappingToWebApi.java @@ -28,10 +28,10 @@ class ThirdGenerationChannelMappingToWebApi { /** * Constructor of {@link ThirdGenerationChannelMappingToWebApi} * - * @param channelUID The channel UUID - * @param moduleId module id (as defined by the web api) + * @param channelUID The channel UUID + * @param moduleId module id (as defined by the web api) * @param processdataId process data id (as defined by the web api) - * @param dataType data type of this channel + * @param dataType data type of this channel */ ThirdGenerationChannelMappingToWebApi(String channelUID, String moduleId, String processdataId, ThirdGenerationChannelDatatypes dataType) { diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationEncryptionHelper.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationEncryptionHelper.java index 63ab7feb3658d..4c783597bbfb6 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationEncryptionHelper.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationEncryptionHelper.java @@ -40,10 +40,10 @@ private ThirdGenerationEncryptionHelper() { /** * This method generates the HMACSha256 encrypted value of the given value * - * @param password Password used for encryption + * @param password Password used for encryption * @param valueToEncrypt value to encrypt * @return encrypted value - * @throws InvalidKeyException thrown if the key generated from the password is invalid + * @throws InvalidKeyException thrown if the key generated from the password is invalid * @throws NoSuchAlgorithmException thrown if HMAC SHA 256 is not supported */ static byte[] getHMACSha256(byte[] password, String valueToEncrypt) @@ -75,11 +75,11 @@ static String createClientProof(byte[] clientSignature, byte[] serverSignature) * Create the PBKDF2 hash * * @param password password - * @param salt salt - * @param rounds rounds + * @param salt salt + * @param rounds rounds * @return hash * @throws NoSuchAlgorithmException if PBKDF2WithHmacSHA256 is not supported - * @throws InvalidKeySpecException if the key specification is not supported + * @throws InvalidKeySpecException if the key specification is not supported */ static byte[] getPBKDF2Hash(String password, byte[] salt, int rounds) throws NoSuchAlgorithmException, InvalidKeySpecException { diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHandler.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHandler.java index 4c33fdf4ffea4..44f1fe5dd2ffb 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHandler.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHandler.java @@ -482,5 +482,4 @@ private final void authenticate() { updateStatus(ThingStatus.ONLINE); } - } diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHttpHelper.java b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHttpHelper.java index f8ef554bef911..0653084d387e3 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHttpHelper.java +++ b/bundles/org.openhab.binding.kostalinverter/src/main/java/org/openhab/binding/internal/kostal/inverter/thirdgeneration/ThirdGenerationHttpHelper.java @@ -53,12 +53,12 @@ private ThirdGenerationHttpHelper() { * Helper function to execute a HTTP post request * * @param httpClient httpClient to use for communication - * @param url IP or hostname or the device - * @param resource web API resource to post to + * @param url IP or hostname or the device + * @param resource web API resource to post to * @param parameters the JSON content to post * @return the HTTP response for the created post request - * @throws ExecutionException Error during the execution of the http request - * @throws TimeoutException Connection timed out + * @throws ExecutionException Error during the execution of the http request + * @throws TimeoutException Connection timed out * @throws InterruptedException Connection interrupted */ static ContentResponse executeHttpPost(HttpClient httpClient, String url, String resource, JsonObject parameters) @@ -70,13 +70,13 @@ static ContentResponse executeHttpPost(HttpClient httpClient, String url, String * Helper function to execute a HTTP post request * * @param httpClient httpClient to use for communication - * @param url IP or hostname or the device - * @param resource web API resource to post to - * @param sessionId optional session ID + * @param url IP or hostname or the device + * @param resource web API resource to post to + * @param sessionId optional session ID * @param parameters the JSON content to post * @return the HTTP response for the created post request - * @throws ExecutionException Error during the execution of the http request - * @throws TimeoutException Connection timed out + * @throws ExecutionException Error during the execution of the http request + * @throws TimeoutException Connection timed out * @throws InterruptedException Connection interrupted */ static ContentResponse executeHttpPost(HttpClient httpClient, String url, String resource, JsonElement parameters, @@ -96,11 +96,11 @@ static ContentResponse executeHttpPost(HttpClient httpClient, String url, String * Helper function to execute a HTTP get request * * @param httpClient httpClient to use for communication - * @param url IP or hostname or the device - * @param resource web API resource to get + * @param url IP or hostname or the device + * @param resource web API resource to get * @return the HTTP response for the created get request - * @throws ExecutionException Error during the execution of the http request - * @throws TimeoutException Connection timed out + * @throws ExecutionException Error during the execution of the http request + * @throws TimeoutException Connection timed out * @throws InterruptedException Connection interrupted */ static ContentResponse executeHttpGet(HttpClient httpClient, String url, String resource) @@ -112,14 +112,14 @@ static ContentResponse executeHttpGet(HttpClient httpClient, String url, String * Helper function to execute a HTTP get request * * @param httpClient httpClient to use for communication - * @param url IP or hostname or the device - * @param resource web API resource to get - * @param sessionId optional session ID + * @param url IP or hostname or the device + * @param resource web API resource to get + * @param sessionId optional session ID * @return the HTTP response for the created get request - * @throws ExecutionException Error during the execution of the http request - * @throws TimeoutException Connection timed out + * @throws ExecutionException Error during the execution of the http request + * @throws TimeoutException Connection timed out * @throws InterruptedException Connection interrupted - * @throws Exception thrown if there are communication problems + * @throws Exception thrown if there are communication problems */ static ContentResponse executeHttpGet(HttpClient httpClient, String url, String resource, @Nullable String sessionId) throws InterruptedException, TimeoutException, ExecutionException { diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/binding/binding.xml index d71428d583cdb..7107ae0507098 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Kostal Inverter Binding Extracts informations from a Kostal Inverter diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/config/ThirdGeneration.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/config/ThirdGeneration.xml index 33e55d0be29d0..1e773f4233ddf 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/config/ThirdGeneration.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/config/ThirdGeneration.xml @@ -1,12 +1,14 @@ - + network-address - Enter the IP address or the hostname of the inverter. Note that DNS resolution must work properly to identify the inverter by its name + Enter the IP address or the hostname of the inverter. Note that DNS resolution must work properly to + identify the inverter by its name @@ -20,4 +22,3 @@ xsi:schemaLocation="https://openhab.org/schemas/config-description/v1.0.0 https: - diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/Channels.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/Channels.xml index b55b96c61e8dc..8b7d830980521 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/Channels.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/Channels.xml @@ -6,482 +6,482 @@ String - + Number:Energy Current DC power of the inverter Energy - + Number:Energy Current home consumption obtained from the battery Energy - + Number:Energy Current home consumption obtained from the grid Energy - + Number:Energy Current own comsumption Energy - + Number:Energy Current home consumption obtained from photovoltaic Energy - + Number:Energy Current total homeconsumption Energy - + Number:Energy Permitted feed-in quantity as absolute value as specified by the energy supplier Energy - + Number:Dimensionless Permitted feed-in quantity as relative value as specified by the energy supplier - + Number:Time Uptime of the inverter Time - + Number:ElectricCurrent Amperage of phase 1 Energy - + Number:Energy Power of phase 1 Energy - + Number:ElectricPotential Voltage of phase 1 Energy - + Number:ElectricCurrent Amperage of phase 2 Energy - + Number:Energy Power of phase 2 Energy - + Number:ElectricPotential Voltage of phase 2 Energy - + Number:ElectricCurrent Amperage of phase 3 Energy - + Number:Energy Power of phase 3 Energy - + Number:ElectricPotential Voltage of phase 3 Energy - + Number:Energy Current AC power of the inverter Energy - + Number:Dimensionless Amount of loading cycles done by the battery - + Number:ElectricCharge Capacity of the battery if charged fully BatteryLevel - + Number:ElectricCurrent Current amperage of the battery Energy - + Number:Energy Current battery charge Energy - + Number:Dimensionless Current battery charge status BatteryLevel - + Number:ElectricPotential Current voltage of the battery Energy - + Number:ElectricCurrent Current amperage of photovoltaic string 1 Energy - + Number:Energy Current power of photovoltaic string 1 Energy - + Number:ElectricPotential Current voltage of photovoltaic string 1 Energy - + Number:ElectricCurrent Current amperage of photovoltaic string 2 Energy - + Number:Energy Current power of photovoltaic string 2 Energy - + Number:ElectricPotential Current voltage of photovoltaic string 2 Energy - + Number:ElectricCurrent Current amperage of photovoltaic string 3 Energy - + Number:Energy - Current power of photovoltaic string 3 + Current power of photovoltaic string 3 Energy - + Number:ElectricPotential Current voltage of photovoltaic string 3 Energy - + Number:Dimensionless Number of errors reported by the main controller - + Number:Dimensionless Number of errors reported by the grid interface controller - + Number:Dimensionless Number of errors reported by the smart communication board - + Number:Dimensionless Number of warnings reported by the smart communication board - + Number:Dimensionless Autarky ratio of this day - + Number:Dimensionless Autarky ratio of this month - + Number:Dimensionless Autarky ratio overall - + Number:Dimensionless Autarky ratio of this year - + Number:Mass Savings in Co2 emissions today CarbonDioxide - + Number:Mass Savings in Co2 emissions this month CarbonDioxide - + Number:Mass Savings in Co2 emissions overall CarbonDioxide - + Number:Mass Savings in Co2 emissions this year CarbonDioxide - + Number:Energy Home consumption today Energy - + Number:Energy Home consumption this month Energy - + Number:Energy Home consumption overall Energy - + Number:Energy Home consumption this year Energy - + Number:Energy Home consumption obtained from the battery today Energy - + Number:Energy Home consumption obtained from the battery this month Energy - + Number:Energy Home consumption obtained from the battery overall Energy - + Number:Energy Home consumption obtained from the battery this year Energy - + Number:Energy Home consumption obtained from the grid today Energy - + Number:Energy Home consumption obtained from the grid this month Energy - + Number:Energy Home consumption obtained from the grid overall Energy - + Number:Energy Home consumption obtained from the grid this year Energy - + Number:Energy Home consumption obtained from the photovoltaic plant today Energy - + Number:Energy Home consumption obtained from the photovoltaic plant this month Energy - + Number:Energy Home consumption obtained from the photovoltaic plant overall Energy - + Number:Energy Home consumption obtained from the photovoltaic plant this year Energy - + Number:Dimensionless Percentage of electricity demand covered by photovoltaics today - + Number:Dimensionless Percentage of electricity demand covered by photovoltaics this month - + Number:Dimensionless Percentage of electricity demand covered by photovoltaics overall - + Number:Dimensionless Percentage of electricity demand covered by photovoltaics this year - + Number:Energy Yield of the photovoltaic plant today Energy - + Number:Energy Yield of the photovoltaic plant this month Energy - + Number:Energy Yield of the photovoltaic plant overall Energy - + Number:Energy Yield of the photovoltaic plant this year Energy - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ100.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ100.xml index acf639eb2c72b..789fc821c974c 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ100.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ100.xml @@ -8,66 +8,66 @@ Bindings for the KOSTAL PIKO IQ 10.0 solar inverter Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ42.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ42.xml index 39cf5014437bc..17f83d2663a7e 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ42.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ42.xml @@ -8,66 +8,66 @@ Bindings for the KOSTAL PIKO IQ 4.2 solar inverter Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ55.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ55.xml index 73a27f3fec492..6fdebca021ec8 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ55.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ55.xml @@ -8,66 +8,66 @@ Bindings for the KOSTAL PIKO IQ 5.5 solar inverter Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ70.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ70.xml index 35044d6510182..484dbcbb56ec0 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ70.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ70.xml @@ -8,66 +8,66 @@ Bindings for the KOSTAL PIKO IQ 7.0 solar inverter Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ85.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ85.xml index 52732f0d11ba3..1b970830d58eb 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ85.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PIKOIQ85.xml @@ -8,67 +8,66 @@ Bindings for the KOSTAL PIKO IQ 8.5 solar inverter Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + - diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHBATTERY.xml index 33e4199b8365d..7cf7c17ce5440 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHBATTERY.xml @@ -8,81 +8,77 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 10.0 solar inverter (with battery attached on PV string 3) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHOUTBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHOUTBATTERY.xml index e4fabd5dbf4ef..8db1d98e5bcba 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHOUTBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS100WITHOUTBATTERY.xml @@ -8,69 +8,69 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 10.0 solar inverter (no battery attached) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHBATTERY.xml index b3171753a6edc..1f100e851aa74 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHBATTERY.xml @@ -8,81 +8,77 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 4.2 solar inverter (with battery attached on PV string 3) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHOUTBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHOUTBATTERY.xml index 8c3042bd83f61..dfcd4d0da62eb 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHOUTBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS42WITHOUTBATTERY.xml @@ -8,69 +8,69 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 4.2 solar inverter (no battery attached) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHBATTERY.xml index 4ded8b0ce1282..2860434b592bb 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHBATTERY.xml @@ -8,81 +8,77 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 5.5 solar inverter (with battery attached on PV string 3) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHOUTBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHOUTBATTERY.xml index 052e795a3466d..e9208610bea74 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHOUTBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS55WITHOUTBATTERY.xml @@ -8,69 +8,69 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 5.5 solar inverter (no battery attached) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHBATTERY.xml index c96783309b61d..4e99f2301611b 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHBATTERY.xml @@ -8,81 +8,77 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 7.0 solar inverter (with battery attached on PV string 3) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHOUTBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHOUTBATTERY.xml index 6e73eed746c66..524cb7d3850c2 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHOUTBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS70WITHOUTBATTERY.xml @@ -8,69 +8,69 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 7.0 solar inverter (no battery attached) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHBATTERY.xml index 957ef414cc23a..c7050564bc19a 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHBATTERY.xml @@ -8,81 +8,77 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 8.5 solar inverter (with battery attached on PV string 3) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHOUTBATTERY.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHOUTBATTERY.xml index 31483ab8aabef..9df186e33bd28 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHOUTBATTERY.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/PLENTICOREPLUS85WITHOUTBATTERY.xml @@ -8,69 +8,69 @@ Bindings for the KOSTAL PIKO PLENTICORE plus 8.5 solar inverter (no battery attached) Inverter - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KOSTAL Solar Electric GmbH - + diff --git a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/thing-types.xml index 691a34b3c7f0f..ac5a679bc2f83 100644 --- a/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.kostalinverter/src/main/resources/ESH-INF/thing/thing-types.xml @@ -8,20 +8,20 @@ Kostal Inverter - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.lametrictime/pom.xml b/bundles/org.openhab.binding.lametrictime/pom.xml index 32a46a049344a..921c38d7f9bcd 100644 --- a/bundles/org.openhab.binding.lametrictime/pom.xml +++ b/bundles/org.openhab.binding.lametrictime/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lametrictime/src/main/feature/feature.xml b/bundles/org.openhab.binding.lametrictime/src/main/feature/feature.xml index d6f4b6aa4f2aa..5b9ff91fe386b 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:com.eclipsesource.jaxrs/provider-gson/2.3 - mvn:org.openhab.addons.bundles/org.openhab.binding.lametrictime/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:com.eclipsesource.jaxrs/provider-gson/2.3 + mvn:org.openhab.addons.bundles/org.openhab.binding.lametrictime/${project.version} + diff --git a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/binding/binding.xml index 55e376f088abc..c706cde69ee11 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + LaMetric Time Binding This is the binding for LaMetric Time. diff --git a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/clock-app.xml b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/clock-app.xml index 9a613321da3d8..39060289682c8 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/clock-app.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/clock-app.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/countdown-app.xml b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/countdown-app.xml index f702e8dc27cd1..d0a9b9ef60508 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/countdown-app.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/countdown-app.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/radio-app.xml b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/radio-app.xml index 5dec87a4a2f16..e09f1498a3b6d 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/radio-app.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/radio-app.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/stopwatch-app.xml b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/stopwatch-app.xml index d9d2d4abdd4ad..2f8fb3e9fd956 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/stopwatch-app.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/stopwatch-app.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/weather-app.xml b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/weather-app.xml index bd6acfaebf2a7..596a6ac000cb3 100644 --- a/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/weather-app.xml +++ b/bundles/org.openhab.binding.lametrictime/src/main/resources/ESH-INF/thing/weather-app.xml @@ -6,7 +6,7 @@ - + diff --git a/bundles/org.openhab.binding.leapmotion/pom.xml b/bundles/org.openhab.binding.leapmotion/pom.xml index 88fc583c272d8..5b11dc637c3aa 100644 --- a/bundles/org.openhab.binding.leapmotion/pom.xml +++ b/bundles/org.openhab.binding.leapmotion/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.leapmotion/src/main/feature/feature.xml b/bundles/org.openhab.binding.leapmotion/src/main/feature/feature.xml index 45bc963dee4a5..eeaaf929a3e92 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.leapmotion/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.leapmotion/${project.version} - mvn:${project.groupId}/openhab-addons-external/${project.version}/lib/libLeap - mvn:${project.groupId}/openhab-addons-external/${project.version}/lib/libLeapJava - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.leapmotion/${project.version} + mvn:${project.groupId}/openhab-addons-external/${project.version}/lib/libLeap + mvn:${project.groupId}/openhab-addons-external/${project.version}/lib/libLeapJava + diff --git a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionBindingConstants.java b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionBindingConstants.java index cdf0485080da9..f1bf67462e6bc 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionBindingConstants.java +++ b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionBindingConstants.java @@ -40,5 +40,4 @@ public class LeapMotionBindingConstants { public static final String GESTURE_ANTICLOCKWISE = "anticlockwise"; public static final String GESTURE_FINGERS = "fingers"; public static final String GESTURE_NOHAND = "nohand"; - } diff --git a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionColorProfile.java b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionColorProfile.java index 4e64e028a5420..6fcd82cdaef65 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionColorProfile.java +++ b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionColorProfile.java @@ -97,5 +97,4 @@ private HSBType changeColor(HSBType color, boolean clockwise) { HSBType newState = new HSBType(new DecimalType(hue), color.getSaturation(), color.getBrightness()); return newState; } - } diff --git a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionDimmerProfile.java b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionDimmerProfile.java index 25fba73fcb0ba..6dfcffbeabdbc 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionDimmerProfile.java +++ b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionDimmerProfile.java @@ -85,5 +85,4 @@ public void onTriggerFromHandler(String event) { } } } - } diff --git a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionProfileFactory.java b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionProfileFactory.java index 0559433f614a9..a166048d00283 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionProfileFactory.java +++ b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionProfileFactory.java @@ -111,5 +111,4 @@ public Collection getProfileTypes(@Nullable Locale locale) { return null; } } - } diff --git a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionSwitchProfile.java b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionSwitchProfile.java index b650c2933657f..b0e92848e523d 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionSwitchProfile.java +++ b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/LeapMotionSwitchProfile.java @@ -50,5 +50,4 @@ public void onTriggerFromHandler(String event) { callback.sendCommand(lastState ? OnOffType.OFF : OnOffType.ON); } } - } diff --git a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/discovery/LeapMotionDiscoveryService.java b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/discovery/LeapMotionDiscoveryService.java index 0c2807d5d0576..9965bdb78f22f 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/discovery/LeapMotionDiscoveryService.java +++ b/bundles/org.openhab.binding.leapmotion/src/main/java/org/openhab/binding/leapmotion/internal/discovery/LeapMotionDiscoveryService.java @@ -94,5 +94,4 @@ private void createDiscoveryResult() { private void removeDiscoveryResult() { removeOlderResults(System.currentTimeMillis()); } - } diff --git a/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/config/dimmerprofile.xml b/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/config/dimmerprofile.xml index b93f5548b149f..80f46844439e3 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/config/dimmerprofile.xml +++ b/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/config/dimmerprofile.xml @@ -8,7 +8,8 @@ - The mode for interpreting gestures. Either it dims depending on the number of shown fingers or it uses the height of the hand over the controller. + The mode for interpreting gestures. Either it dims depending on the number of shown fingers or it uses + the height of the hand over the controller. diff --git a/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/thing/thing-types.xml index 46d8e92c91eae..cd2c55ce55eaa 100644 --- a/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.leapmotion/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,7 +9,7 @@ A Leap Motion Gesture Sensor - + diff --git a/bundles/org.openhab.binding.lghombot/pom.xml b/bundles/org.openhab.binding.lghombot/pom.xml index 8324015639d36..c113f8553b5a1 100644 --- a/bundles/org.openhab.binding.lghombot/pom.xml +++ b/bundles/org.openhab.binding.lghombot/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/CameraUtil.java b/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/CameraUtil.java index e8dc949d98cfc..1e969307a04af 100644 --- a/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/CameraUtil.java +++ b/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/CameraUtil.java @@ -80,5 +80,4 @@ static State parseImageFromBytes(byte[] yuvData, int width, int height) { return UnDefType.UNDEF; } } - } diff --git a/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotBindingConstants.java b/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotBindingConstants.java index bdfd0dc19ce93..63c9a1dd8f2aa 100644 --- a/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotBindingConstants.java +++ b/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotBindingConstants.java @@ -82,5 +82,4 @@ public final class LGHomBotBindingConstants { private LGHomBotBindingConstants() { // No need to instance this class. } - } diff --git a/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotConfiguration.java b/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotConfiguration.java index eded25ef2e42d..18d84fdf0f5b6 100644 --- a/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotConfiguration.java +++ b/bundles/org.openhab.binding.lghombot/src/main/java/org/openhab/binding/lghombot/internal/LGHomBotConfiguration.java @@ -43,5 +43,4 @@ public class LGHomBotConfiguration { * Polling time (in seconds) to refresh state from the HomBot itself. */ public int pollingPeriod = 3; - } diff --git a/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/binding/binding.xml index e64db94377007..46a5740b63387 100644 --- a/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - LG HomBot Binding diff --git a/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/thing/thing-types.xml index 219713a7d6e7a..4acf55b898475 100644 --- a/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.lghombot/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -9,29 +10,29 @@ CleaningRobot - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -89,19 +90,19 @@ Current battery charge. BatteryLevel - + Number Current CPU load. - + String Memory used by webserver on HomBot. - + Switch @@ -153,7 +154,7 @@ String Nickname of the HomBot. - + String @@ -178,61 +179,61 @@ Image Image feed from the top camera. - + DateTime Last time the HomBot cleaned. - + Image Map of last cleaned area. - + String Scheduled start time on Monday. - + String Scheduled start time on Tuesday. - + String Scheduled start time on Wednesday. - + String Scheduled start time on Thursday. - + String Scheduled start time on Friday. - + String Scheduled start time on Saturday. - + String Scheduled start time on Sunday. - + diff --git a/bundles/org.openhab.binding.lgtvserial/pom.xml b/bundles/org.openhab.binding.lgtvserial/pom.xml index c5f9dc2c88e0f..e5ed980d9f7bc 100644 --- a/bundles/org.openhab.binding.lgtvserial/pom.xml +++ b/bundles/org.openhab.binding.lgtvserial/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/feature/feature.xml b/bundles/org.openhab.binding.lgtvserial/src/main/feature/feature.xml index d27108dd3b076..fb214d614633d 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.lgtvserial/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.lgtvserial/${project.version} + diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/LgTvSerialBindingConstants.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/LgTvSerialBindingConstants.java index 9517c04e8aac3..da7927ecd9a1f 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/LgTvSerialBindingConstants.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/LgTvSerialBindingConstants.java @@ -34,5 +34,4 @@ public class LgTvSerialBindingConstants { public static final ThingTypeUID THING_TYPE_LGTV_LVX55_SERIES = new ThingTypeUID(BINDING_ID, "lgtv-LVx55-series"); public static final ThingTypeUID THING_TYPE_LGTV_M6503C = new ThingTypeUID(BINDING_ID, "lgtv-M6503C"); public static final ThingTypeUID THING_TYPE_LGTV_PW_SERIES = new ThingTypeUID(BINDING_ID, "lgtv-PW-series"); - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/handler/LgTvSerialHandler.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/handler/LgTvSerialHandler.java index 2fe4b3559544b..474afa9ed0bf5 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/handler/LgTvSerialHandler.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/handler/LgTvSerialHandler.java @@ -118,7 +118,6 @@ public void onSuccess(ChannelUID channel, LGSerialResponse response) { public void onFailure(ChannelUID channel, LGSerialResponse response) { logger.debug("Received error response for channel {}: {}", channel, response.getState()); } - }; if (portName != null) { diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommand.java index d3a5dde447f02..ccc278454283c 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommand.java @@ -36,11 +36,10 @@ public interface LGSerialCommand { * This method is used to send the serial protocol command to the communicator. * * @param channel Channel related to the command - * @param comm Communicator linked to the serial port - * @param data Data related to this command to send over the wire. If null, this means we should send an FF state - * read command. + * @param comm Communicator linked to the serial port + * @param data Data related to this command to send over the wire. If null, this means we should send an FF state + * read command. * @throws IOException */ void execute(ChannelUID channel, LGSerialCommunicator comm, Object data) throws IOException; - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommunicator.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommunicator.java index 97747ef9a27b8..088563bcb48ed 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommunicator.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialCommunicator.java @@ -158,5 +158,4 @@ public void close() { logger.debug("Thread interrupted while closing the communicator"); } } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponse.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponse.java index 579ae7a3c29ff..b4cc881d0d357 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponse.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponse.java @@ -27,5 +27,4 @@ public interface LGSerialResponse { State getState(); boolean isSuccess(); - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponseListener.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponseListener.java index a0611fe50fd31..8d08f54406a12 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponseListener.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/LGSerialResponseListener.java @@ -28,5 +28,4 @@ public interface LGSerialResponseListener { void onSuccess(ChannelUID channel, LGSerialResponse response); void onFailure(ChannelUID channel, LGSerialResponse response); - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/RegistrationCallback.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/RegistrationCallback.java index 17c1ca385d603..f3d5fb90a8786 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/RegistrationCallback.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/RegistrationCallback.java @@ -20,5 +20,4 @@ public interface RegistrationCallback { void onUnregister(); - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/SerialCommunicatorFactory.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/SerialCommunicatorFactory.java index e3a909e7e86a6..554f17a32bcb6 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/SerialCommunicatorFactory.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/SerialCommunicatorFactory.java @@ -54,5 +54,4 @@ public void onUnregister() { protected synchronized void deleteInstance(String port) { instances.remove(port).close(); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AspectRatioCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AspectRatioCommand.java index 1dafeef0f0a10..f2629f889fc25 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AspectRatioCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AspectRatioCommand.java @@ -23,5 +23,4 @@ public class AspectRatioCommand extends BaseStringCommand { protected AspectRatioCommand(int setId) { super('k', 'c', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoSleepCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoSleepCommand.java index 0b57cb80556ef..1be5b55b1a29b 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoSleepCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoSleepCommand.java @@ -23,5 +23,4 @@ public class AutoSleepCommand extends BaseDecimalCommand { protected AutoSleepCommand(int setId) { super('f', 'g', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoVolumeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoVolumeCommand.java index 936031ee067aa..1784d0a138040 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoVolumeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/AutoVolumeCommand.java @@ -23,5 +23,4 @@ public class AutoVolumeCommand extends BaseOnOffCommand { protected AutoVolumeCommand(int setId) { super('d', 'u', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BacklightCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BacklightCommand.java index 8484ef09f87d4..3376a156d8631 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BacklightCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BacklightCommand.java @@ -23,5 +23,4 @@ public class BacklightCommand extends BasePercentCommand { protected BacklightCommand(int setId) { super('m', 'g', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BalanceCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BalanceCommand.java index bcf69a007c3ec..9cc690187fb00 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BalanceCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BalanceCommand.java @@ -23,5 +23,4 @@ public class BalanceCommand extends BasePercentCommand { protected BalanceCommand(int setId) { super('k', 't', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseDecimalCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseDecimalCommand.java index d42ebac752962..ae544c206f7ae 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseDecimalCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseDecimalCommand.java @@ -27,9 +27,9 @@ public abstract class BaseDecimalCommand extends BaseLGSerialCommand { /** * Create a command. * - * @param command1 Command category - * @param command2 Command key - * @param setId TV Set id this command is tied to + * @param command1 Command category + * @param command2 Command key + * @param setId TV Set id this command is tied to * @param updatable Define if this command is one that can update the TV or can only ever be a read status command. */ protected BaseDecimalCommand(char command1, char command2, int setId, boolean updatable) { @@ -41,7 +41,7 @@ protected BaseDecimalCommand(char command1, char command2, int setId, boolean up * * @param command1 Command category * @param command2 Command key - * @param setId TV Set id this command is tied to + * @param setId TV Set id this command is tied to */ protected BaseDecimalCommand(char command1, char command2, int setId) { @@ -58,5 +58,4 @@ protected LGSerialResponse createResponse(int set, boolean success, String data) String decimalValue = Integer.toString(Integer.parseInt(data, 16)); return new DecimalResponse(set, success, DecimalType.valueOf(decimalValue)); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseLGSerialCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseLGSerialCommand.java index edecef65d272d..c91deeb1d061a 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseLGSerialCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseLGSerialCommand.java @@ -78,5 +78,4 @@ protected String getCommand(Object data) { } protected abstract String computeSerialDataFrom(Object data); - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseOnOffCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseOnOffCommand.java index bbe448e297c2d..5c0807722698c 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseOnOffCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseOnOffCommand.java @@ -37,5 +37,4 @@ protected String computeSerialDataFrom(Object data) { protected LGSerialResponse createResponse(int set, boolean success, String data) { return new OnOffResponse(set, success, data); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BasePercentCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BasePercentCommand.java index 03710ce5c871c..922c297f7c116 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BasePercentCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BasePercentCommand.java @@ -38,5 +38,4 @@ protected LGSerialResponse createResponse(int set, boolean success, String data) String decimalValue = Integer.toString(Integer.parseInt(data, 16)); return new PercentResponse(set, success, PercentType.valueOf(decimalValue)); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseStringCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseStringCommand.java index f515822f5e8b1..b2df4645348ec 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseStringCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BaseStringCommand.java @@ -48,5 +48,4 @@ protected String computeSerialDataFrom(Object data) { protected LGSerialResponse createResponse(int set, boolean success, String data) { return new StringResponse(set, success, data); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BassCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BassCommand.java index 0d78ec3b2d2e9..c3d09918c0460 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BassCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BassCommand.java @@ -23,5 +23,4 @@ public class BassCommand extends BasePercentCommand { protected BassCommand(int setId) { super('k', 's', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BrightnessCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BrightnessCommand.java index 0e8933e51c42c..de0a2c537faf8 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BrightnessCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/BrightnessCommand.java @@ -23,5 +23,4 @@ public class BrightnessCommand extends BasePercentCommand { protected BrightnessCommand(int setId) { super('k', 'h', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorCommand.java index 005d4786a2c44..98aeb9ad538fb 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorCommand.java @@ -23,5 +23,4 @@ public class ColorCommand extends BasePercentCommand { protected ColorCommand(int setId) { super('k', 'i', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperature2Command.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperature2Command.java index 403f3cf2028ac..b94b9608d7be3 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperature2Command.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperature2Command.java @@ -23,5 +23,4 @@ public class ColorTemperature2Command extends BasePercentCommand { protected ColorTemperature2Command(int setId) { super('x', 'u', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperatureCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperatureCommand.java index 8e8cb2c9f044a..fdde6ad5dbf84 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperatureCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ColorTemperatureCommand.java @@ -23,5 +23,4 @@ public class ColorTemperatureCommand extends BaseStringCommand { protected ColorTemperatureCommand(int setId) { super('k', 'u', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/CommandFactory.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/CommandFactory.java index 0c7b87d799762..af6785c23befa 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/CommandFactory.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/CommandFactory.java @@ -137,5 +137,4 @@ public static LGSerialCommand createCommandFor(ChannelUID channel, LGSerialRespo } return null; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ContrastCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ContrastCommand.java index db530e53e4b85..71e836c86754a 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ContrastCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ContrastCommand.java @@ -23,5 +23,4 @@ public class ContrastCommand extends BasePercentCommand { protected ContrastCommand(int setId) { super('k', 'g', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/DPMCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/DPMCommand.java index 2cad10de3f974..825840292692a 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/DPMCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/DPMCommand.java @@ -23,5 +23,4 @@ public class DPMCommand extends BaseOnOffCommand { protected DPMCommand(int setId) { super('f', 'j', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ElapsedTimeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ElapsedTimeCommand.java index 0f1e2d75c0330..b19c853b0bb94 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ElapsedTimeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ElapsedTimeCommand.java @@ -23,5 +23,4 @@ public class ElapsedTimeCommand extends BaseDecimalCommand { protected ElapsedTimeCommand(int setId) { super('d', 'l', setId, false); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/EnergySavingCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/EnergySavingCommand.java index 567404a6466fd..2fafbcfc32926 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/EnergySavingCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/EnergySavingCommand.java @@ -25,5 +25,4 @@ public class EnergySavingCommand extends BaseStringCommand implements LGSerialCo protected EnergySavingCommand(int setId) { super('j', 'q', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/FanFaultCheckCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/FanFaultCheckCommand.java index dcceec6760382..4400075da5053 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/FanFaultCheckCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/FanFaultCheckCommand.java @@ -23,5 +23,4 @@ public class FanFaultCheckCommand extends BaseStringCommand { protected FanFaultCheckCommand(int setId) { super('d', 'w', setId, false); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HPositionCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HPositionCommand.java index 4a000f223c22e..f0b588d8b5db1 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HPositionCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HPositionCommand.java @@ -23,5 +23,4 @@ public class HPositionCommand extends BasePercentCommand { protected HPositionCommand(int setId) { super('f', 'q', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HSizeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HSizeCommand.java index 1acbdb94ade91..5eca7a6fb1385 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HSizeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/HSizeCommand.java @@ -23,5 +23,4 @@ public class HSizeCommand extends BasePercentCommand { protected HSizeCommand(int setId) { super('f', 's', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/IRKeyCodeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/IRKeyCodeCommand.java index d3245e2bfa4a4..b3d31582840f4 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/IRKeyCodeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/IRKeyCodeCommand.java @@ -41,5 +41,4 @@ public void execute(ChannelUID channel, LGSerialCommunicator comm, Object data) public LGSerialResponse parseResponse(String response) { return null; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ISMMethodCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ISMMethodCommand.java index 65e185de4512f..5733af2f3abf4 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ISMMethodCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ISMMethodCommand.java @@ -23,5 +23,4 @@ public class ISMMethodCommand extends BaseStringCommand { protected ISMMethodCommand(int setId) { super('j', 'p', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelect2Command.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelect2Command.java index c14b725b3a90d..2e519b30046f8 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelect2Command.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelect2Command.java @@ -23,5 +23,4 @@ public class InputSelect2Command extends BaseStringCommand { protected InputSelect2Command(int setId) { super('x', 'b', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelectCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelectCommand.java index d9eada0acd814..44dce219d244f 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelectCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/InputSelectCommand.java @@ -23,5 +23,4 @@ public class InputSelectCommand extends BaseStringCommand { protected InputSelectCommand(int setId) { super('k', 'b', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DCommand.java index b8eeae1556fae..be3b6df3fe93f 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DCommand.java @@ -23,5 +23,4 @@ public class LG3DCommand extends BaseStringCommand { protected LG3DCommand(int setId) { super('x', 't', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DExtendedCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DExtendedCommand.java index b8e8d2f49510c..8235d83f4d34a 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DExtendedCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LG3DExtendedCommand.java @@ -23,5 +23,4 @@ public class LG3DExtendedCommand extends BaseStringCommand { protected LG3DExtendedCommand(int setId) { super('x', 'v', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LampFaultCheckCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LampFaultCheckCommand.java index 81d7a8d2f453a..2e112259acc3c 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LampFaultCheckCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/LampFaultCheckCommand.java @@ -23,5 +23,4 @@ public class LampFaultCheckCommand extends BaseStringCommand { protected LampFaultCheckCommand(int setId) { super('d', 'p', setId, false); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/NaturalModeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/NaturalModeCommand.java index 5ec26c18cc142..f5f8e0a7a7a3e 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/NaturalModeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/NaturalModeCommand.java @@ -23,5 +23,4 @@ public class NaturalModeCommand extends BaseOnOffCommand { protected NaturalModeCommand(int setId) { super('d', 'j', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDLanguageCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDLanguageCommand.java index 8272fa64e0c19..83d61dfa754d4 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDLanguageCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDLanguageCommand.java @@ -23,5 +23,4 @@ public class OSDLanguageCommand extends BaseStringCommand { protected OSDLanguageCommand(int setId) { super('f', 'i', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDSelectCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDSelectCommand.java index 2ad062bf09029..ccd4e778d9027 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDSelectCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/OSDSelectCommand.java @@ -23,5 +23,4 @@ public class OSDSelectCommand extends BaseOnOffCommand { protected OSDSelectCommand(int setId) { super('k', 'l', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PictureModeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PictureModeCommand.java index 6bd86e7e9dff6..d6b5bfd3bedc0 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PictureModeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PictureModeCommand.java @@ -23,5 +23,4 @@ public class PictureModeCommand extends BaseStringCommand { protected PictureModeCommand(int setId) { super('d', 'x', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerCommand.java index 95c8033908bd1..3e4493f1d0576 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerCommand.java @@ -23,5 +23,4 @@ public class PowerCommand extends BaseOnOffCommand { protected PowerCommand(int setId) { super('k', 'a', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerIndicatorCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerIndicatorCommand.java index 9f6ed48a22720..b346a43d51134 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerIndicatorCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerIndicatorCommand.java @@ -23,5 +23,4 @@ public class PowerIndicatorCommand extends BaseOnOffCommand { protected PowerIndicatorCommand(int setId) { super('f', 'o', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerSavingCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerSavingCommand.java index e6540dbea9633..1197b2064639b 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerSavingCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/PowerSavingCommand.java @@ -23,5 +23,4 @@ public class PowerSavingCommand extends BaseStringCommand { protected PowerSavingCommand(int setId) { super('f', 'l', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/RawCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/RawCommand.java index 42fa344a42ff0..8c2135d66e89c 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/RawCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/RawCommand.java @@ -42,5 +42,4 @@ public void execute(ChannelUID channel, LGSerialCommunicator comm, Object data) comm.write(this, data.toString(), channel); } } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ScreenMuteCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ScreenMuteCommand.java index 5bd48cb28d8ca..6c96bde85da07 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ScreenMuteCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/ScreenMuteCommand.java @@ -23,5 +23,4 @@ public class ScreenMuteCommand extends BaseStringCommand { protected ScreenMuteCommand(int setId) { super('k', 'd', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SerialNoCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SerialNoCommand.java index 874e0b9b3d046..511c60c747f7c 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SerialNoCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SerialNoCommand.java @@ -23,5 +23,4 @@ public class SerialNoCommand extends BaseStringCommand { protected SerialNoCommand(int setId) { super('f', 'y', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SharpnessCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SharpnessCommand.java index 2858691de3166..6a57360ed0da7 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SharpnessCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SharpnessCommand.java @@ -23,5 +23,4 @@ public class SharpnessCommand extends BasePercentCommand { protected SharpnessCommand(int setId) { super('k', 'k', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SleepTimeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SleepTimeCommand.java index 25d681cac68d1..834f5128866c6 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SleepTimeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SleepTimeCommand.java @@ -25,5 +25,4 @@ public class SleepTimeCommand extends BaseDecimalCommand { protected SleepTimeCommand(int setId) { super('f', 'f', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoftwareVersionCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoftwareVersionCommand.java index 8571daadf2bc7..954d04919ee68 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoftwareVersionCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoftwareVersionCommand.java @@ -23,5 +23,4 @@ public class SoftwareVersionCommand extends BaseStringCommand { protected SoftwareVersionCommand(int setId) { super('f', 'z', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoundModeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoundModeCommand.java index e98566d92b186..38e85bdf68d22 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoundModeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SoundModeCommand.java @@ -23,5 +23,4 @@ public class SoundModeCommand extends BaseStringCommand { protected SoundModeCommand(int setId) { super('d', 'y', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SpeakerCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SpeakerCommand.java index a86267d9062c1..d793be9123c34 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SpeakerCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/SpeakerCommand.java @@ -23,5 +23,4 @@ public class SpeakerCommand extends BaseOnOffCommand { protected SpeakerCommand(int setId) { super('d', 'v', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TemperatureValueCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TemperatureValueCommand.java index 89178e218d872..3ac6a85e9b235 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TemperatureValueCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TemperatureValueCommand.java @@ -33,5 +33,4 @@ protected TemperatureValueCommand(int setId) { protected LGSerialResponse createResponse(int set, boolean success, String data) { return new QuantityResponse(set, success, new QuantityType<>(Integer.parseInt(data, 16), SIUnits.CELSIUS)); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileCommand.java index 88d977db51212..32db710340df3 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileCommand.java @@ -23,5 +23,4 @@ public class TileCommand extends BaseStringCommand { protected TileCommand(int setId) { super('d', 'd', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHPositionCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHPositionCommand.java index 4a915e089545c..9e88f6e3af68c 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHPositionCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHPositionCommand.java @@ -23,5 +23,4 @@ public class TileHPositionCommand extends BasePercentCommand { protected TileHPositionCommand(int setId) { super('d', 'e', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHSizeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHSizeCommand.java index 86f6f0debf929..2fd7f0f48e495 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHSizeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileHSizeCommand.java @@ -23,5 +23,4 @@ public class TileHSizeCommand extends BasePercentCommand { protected TileHSizeCommand(int setId) { super('d', 'g', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileIdSetCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileIdSetCommand.java index 0dc23840225b4..aea75702416d8 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileIdSetCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileIdSetCommand.java @@ -23,5 +23,4 @@ public class TileIdSetCommand extends BaseStringCommand { protected TileIdSetCommand(int setId) { super('d', 'i', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVPositionCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVPositionCommand.java index 3561d240e048a..91212e3b10027 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVPositionCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVPositionCommand.java @@ -23,5 +23,4 @@ public class TileVPositionCommand extends BasePercentCommand { protected TileVPositionCommand(int setId) { super('d', 'v', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVSizeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVSizeCommand.java index 36dc668c41fe0..85edb3e3d151f 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVSizeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TileVSizeCommand.java @@ -23,5 +23,4 @@ public class TileVSizeCommand extends BasePercentCommand { protected TileVSizeCommand(int setId) { super('d', 'h', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TimeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TimeCommand.java index c57c0bdfcf16c..e987cf5559de5 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TimeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TimeCommand.java @@ -25,5 +25,4 @@ public class TimeCommand extends BaseStringCommand { protected TimeCommand(int setId) { super('f', 'a', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TintCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TintCommand.java index 2fabb093f5828..6b7020dcc53ed 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TintCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TintCommand.java @@ -23,5 +23,4 @@ public class TintCommand extends BasePercentCommand { protected TintCommand(int setId) { super('k', 'j', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TrebleCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TrebleCommand.java index f8bcf91fb791a..852de969ae027 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TrebleCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/TrebleCommand.java @@ -23,5 +23,4 @@ public class TrebleCommand extends BasePercentCommand { protected TrebleCommand(int setId) { super('k', 'r', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VPositionCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VPositionCommand.java index e9e6c089cc62e..f852cb82e601f 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VPositionCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VPositionCommand.java @@ -23,5 +23,4 @@ public class VPositionCommand extends BasePercentCommand { protected VPositionCommand(int setId) { super('f', 'r', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VSizeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VSizeCommand.java index 9342c80f10615..6af400c402e70 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VSizeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VSizeCommand.java @@ -23,5 +23,4 @@ public class VSizeCommand extends BasePercentCommand { protected VSizeCommand(int setId) { super('f', 't', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeCommand.java index 12371dd737667..420ad5ebedf7a 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeCommand.java @@ -23,5 +23,4 @@ public class VolumeCommand extends BasePercentCommand { protected VolumeCommand(int setId) { super('k', 'f', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeMuteCommand.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeMuteCommand.java index eef7c46e339d1..e231958d0ffcf 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeMuteCommand.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/commands/VolumeMuteCommand.java @@ -23,5 +23,4 @@ public class VolumeMuteCommand extends BaseOnOffCommand { protected VolumeMuteCommand(int setId) { super('k', 'e', setId); } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/DecimalResponse.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/DecimalResponse.java index 0463b94133659..d37f033f7109a 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/DecimalResponse.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/DecimalResponse.java @@ -50,5 +50,4 @@ public State getState() { public boolean isSuccess() { return success; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/OnOffResponse.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/OnOffResponse.java index 85e6089d0192b..38e97b4851248 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/OnOffResponse.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/OnOffResponse.java @@ -56,5 +56,4 @@ public State getState() { public boolean isSuccess() { return success; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/PercentResponse.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/PercentResponse.java index dfee61e49c147..762e1cd8cf7d3 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/PercentResponse.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/PercentResponse.java @@ -50,5 +50,4 @@ public State getState() { public boolean isSuccess() { return success; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/QuantityResponse.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/QuantityResponse.java index 0f4577dbaf90d..397329bc40113 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/QuantityResponse.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/QuantityResponse.java @@ -50,5 +50,4 @@ public State getState() { public boolean isSuccess() { return success; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/StringResponse.java b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/StringResponse.java index 7a331f399035f..d287ef1534521 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/StringResponse.java +++ b/bundles/org.openhab.binding.lgtvserial/src/main/java/org/openhab/binding/lgtvserial/internal/protocol/serial/responses/StringResponse.java @@ -50,5 +50,4 @@ public State getState() { public boolean isSuccess() { return success; } - } diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/binding/binding.xml index 22df02f755ae7..1292a32fc7407 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + LG TV Serial Binding Controlling LG TVs using serial (RS232C) protocol diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/config/config.xml index 9559f78f602b3..0712febd0bf48 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/config/config.xml @@ -19,4 +19,3 @@ - diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-channels.xml b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-channels.xml index 984e2c728bf8f..7e048264a8a25 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-channels.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-channels.xml @@ -250,10 +250,10 @@ - - - - + + + + @@ -396,7 +396,7 @@ String Read the serial numbers - + @@ -447,7 +447,7 @@ String Check the software version - + @@ -461,7 +461,7 @@ Number:Temperature Read the inside temperature value - + @@ -518,7 +518,7 @@ Dimmer To assign the Tile ID for Tiling function - + @@ -566,4 +566,3 @@ - diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-M6503C.xml b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-M6503C.xml index 92afce5d0c255..a2c87f5563d64 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-M6503C.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-M6503C.xml @@ -4,7 +4,8 @@ xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + @@ -20,13 +21,13 @@ - + - + @@ -37,7 +38,7 @@ - + @@ -53,17 +54,17 @@ - - + @@ -173,4 +174,3 @@ - diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-SAC34134216.xml b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-SAC34134216.xml index 2916c00ffedb8..939807d08a0a4 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-SAC34134216.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types-SAC34134216.xml @@ -4,8 +4,8 @@ xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - - + + @@ -13,8 +13,8 @@ LV and LW except *LV255C, *LV355B, *LV355C models]]> - - + + @@ -25,7 +25,7 @@ - + @@ -36,17 +36,17 @@ - + - + - - + + @@ -57,7 +57,7 @@ - + @@ -68,9 +68,9 @@ - + - + @@ -79,8 +79,8 @@ LK]]> - - + + @@ -91,7 +91,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -111,8 +111,8 @@ PW]]> - - + + @@ -122,7 +122,7 @@ - + @@ -135,7 +135,7 @@ - + @@ -355,4 +355,3 @@ - diff --git a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types.xml index 87b93ef8e2fae..4e05f0c68eb30 100644 --- a/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.lgtvserial/src/main/resources/ESH-INF/thing/thing-types.xml @@ -5,11 +5,12 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> + This would be the thing to use if we haven't yet defined a proper thing limiting the supported + channels. --> - Generic LG television connected through a serial interface. This thing should be used only when there is no proper thing defined for your TV model as it has most existing channels for most known commands. + Generic LG television connected through a serial interface. This thing should be used only when there is + no proper thing defined for your TV model as it has most existing channels for most known commands. @@ -57,7 +58,7 @@ @@ -66,8 +67,7 @@ - + - diff --git a/bundles/org.openhab.binding.lgwebos/pom.xml b/bundles/org.openhab.binding.lgwebos/pom.xml index a230462914422..aa17115b9bea2 100644 --- a/bundles/org.openhab.binding.lgwebos/pom.xml +++ b/bundles/org.openhab.binding.lgwebos/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lgwebos/src/main/feature/feature.xml b/bundles/org.openhab.binding.lgwebos/src/main/feature/feature.xml index afed8cf537a61..d89efb117bcc4 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.lgwebos/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - openhab.tp-httpclient - mvn:org.openhab.addons.bundles/org.openhab.binding.lgwebos/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + openhab.tp-httpclient + mvn:org.openhab.addons.bundles/org.openhab.binding.lgwebos/${project.version} + diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/Application.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/Application.java index 0cd2bc92169b3..d297fe9d00ccf 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/Application.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/Application.java @@ -41,5 +41,4 @@ public String getName() { public String toString() { return "Application [id=" + id + ", name=" + name + "]"; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/LGWebOSActions.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/LGWebOSActions.java index e906ab46d2084..656d9a0c6c527 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/LGWebOSActions.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/action/LGWebOSActions.java @@ -134,7 +134,6 @@ private List getAppInfos() { return Collections.emptyList(); } return appInfos; - } public List getApplications() { @@ -153,7 +152,6 @@ public void launchApplication( logger.warn("Device with ThingID {} does not support any app with id: {}.", getLGWebOSHandler().getThing().getUID(), appId); } - } @RuleAction(label = "@text/actionLaunchApplicationWithParamsLabel", description = "@text/actionLaunchApplicationWithParamsDesc") diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/BaseChannelHandler.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/BaseChannelHandler.java index 8e71fd56934a4..c47d73c791c82 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/BaseChannelHandler.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/BaseChannelHandler.java @@ -73,7 +73,6 @@ public final synchronized void refreshSubscription(String channelId, LGWebOSHand logger.debug("Subscribed {} on Thing: {}", this.getClass().getName(), handler.getThing().getUID()); subscriptions.put(handler.getThing().getUID(), listener.get()); } - } /** @@ -101,5 +100,4 @@ public final synchronized void removeAnySubscription(LGWebOSHandler handler) { protected ResponseListener getDefaultResponseListener() { return defaultResponseListener; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/ChannelHandler.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/ChannelHandler.java index aadcbfe3d228f..3f4175696ebcb 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/ChannelHandler.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/ChannelHandler.java @@ -68,5 +68,4 @@ public interface ChannelHandler { * @param handler must not be null */ void onDeviceReady(String channelId, LGWebOSHandler handler); - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LGWebOSHandlerFactory.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LGWebOSHandlerFactory.java index e5cbd94b32276..945d896b84bfc 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LGWebOSHandlerFactory.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LGWebOSHandlerFactory.java @@ -101,5 +101,4 @@ protected void deactivate(ComponentContext componentContext) { logger.warn("Unable to to stop websocket client.", e); } } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LauncherApplication.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LauncherApplication.java index f140536abb4d7..b1613be26a402 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LauncherApplication.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/LauncherApplication.java @@ -72,7 +72,6 @@ public void onSuccess(List appInfos) { handler.setOptions(channelId, options); } }); - } @Override @@ -102,7 +101,6 @@ public void onReceiveCommand(String channelId, LGWebOSHandler handler, Command c logger.warn("TV does not support any app with id: {}.", value); } } - } @Override diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/PowerControlPower.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/PowerControlPower.java index d9675cd6ff5b8..c5bb397ea0873 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/PowerControlPower.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/PowerControlPower.java @@ -114,5 +114,4 @@ public void onDeviceRemoved(String channelId, LGWebOSHandler handler) { public interface ConfigProvider { String getMacAddress(); } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/TVControlChannel.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/TVControlChannel.java index 3d17b9b582732..0ad3fe0e68d19 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/TVControlChannel.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/TVControlChannel.java @@ -69,7 +69,6 @@ public void onSuccess(List channels) { handler.setOptions(channelId, options); } }); - } @Override @@ -100,7 +99,6 @@ public void onReceiveCommand(String channelId, LGWebOSHandler handler, Command c logger.info("TV does not have a channel: {}.", value); } } - } @Override diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlMute.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlMute.java index 5bb77624fed65..4d3a09b42f5b9 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlMute.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlMute.java @@ -70,5 +70,4 @@ public void onSuccess(@Nullable Boolean value) { } }; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlVolume.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlVolume.java index a306047ff43d1..ac76a2a6ae2d8 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlVolume.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/VolumeControlVolume.java @@ -94,5 +94,4 @@ public void onSuccess(@Nullable Float value) { } }; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/WakeOnLanUtility.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/WakeOnLanUtility.java index cbe7e71ee11a3..a3eb5f46d6d60 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/WakeOnLanUtility.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/WakeOnLanUtility.java @@ -171,5 +171,4 @@ private static boolean checkIfLinuxCommandExists(String cmd) { } return false; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/discovery/LGWebOSUpnpDiscoveryParticipant.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/discovery/LGWebOSUpnpDiscoveryParticipant.java index 09836a3e66ec5..8d365be23a676 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/discovery/LGWebOSUpnpDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/discovery/LGWebOSUpnpDiscoveryParticipant.java @@ -77,5 +77,4 @@ public Set getSupportedThingTypeUIDs() { } return null; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSConfiguration.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSConfiguration.java index e89b5b33e7e6b..c20af488debc2 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSConfiguration.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSConfiguration.java @@ -55,5 +55,4 @@ public String toString() { return "WebOSConfiguration [host=" + host + ", port=" + port + ", key.length=" + getKey().length() + ", macAddress=" + macAddress + "]"; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSHandler.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSHandler.java index 8c113698fbc4c..371053e458e03 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSHandler.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSHandler.java @@ -315,7 +315,6 @@ public void onStateChanged(LGWebOSTVSocket.State state) { break; } - } @Override diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVKeyboardInput.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVKeyboardInput.java index 7f59a87a071db..4442fa7911492 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVKeyboardInput.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVKeyboardInput.java @@ -198,5 +198,4 @@ private TextInputStatusInfo parseRawKeyboardData(JsonObject rawData) { return keyboard; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVMouseSocket.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVMouseSocket.java index bdea494961694..e360b6cae39e9 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVMouseSocket.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVMouseSocket.java @@ -79,7 +79,6 @@ public interface WebOSTVMouseSocketListener { public void onStateChanged(State oldState, State newState); public void onError(String errorMessage); - } public void setListener(@Nullable WebOSTVMouseSocketListener listener) { @@ -190,21 +189,17 @@ public void button(ButtonType type) { public void button(String keyName) { sendMessage("type:button\n" + "name:" + keyName + "\n" + "\n"); - } public void move(double dx, double dy) { sendMessage("type:move\n" + "dx:" + dx + "\n" + "dy:" + dy + "\n" + "down:0\n" + "\n"); - } public void move(double dx, double dy, boolean drag) { sendMessage("type:move\n" + "dx:" + dx + "\n" + "dy:" + dy + "\n" + "down:" + (drag ? 1 : 0) + "\n" + "\n"); - } public void scroll(double dx, double dy) { sendMessage("type:scroll\n" + "dx:" + dx + "\n" + "dy:" + dy + "\n" + "\n"); } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVSocket.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVSocket.java index f2745f9aaf845..1324e68c03099 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVSocket.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/LGWebOSTVSocket.java @@ -307,7 +307,6 @@ public void onError(String message) { logger.debug("Registration failed with message: {}", message); disconnect(); } - }; this.requests.put(id, new ServiceSubscription<>("dummy", payload, x -> x, dummyListener)); @@ -346,7 +345,6 @@ public void sendCommand(ServiceCommand command) { command.getTarget(), state); break; } - } public void unsubscribe(ServiceSubscription subscription) { @@ -473,7 +471,6 @@ public void onMessage(String message) { setState(State.REGISTERED); break; } - } public interface WebOSTVSocketListener { @@ -481,7 +478,6 @@ public interface WebOSTVSocketListener { public void onStateChanged(State state); public void onError(String errorMessage); - } public ServiceSubscription subscribeMute(ResponseListener listener) { @@ -835,7 +831,6 @@ public void onError(String message) { jsonObj -> GSON.fromJson(jsonObj, AppInfo.class), interceptor); sendCommand(request); return request; - } public ServiceCommand getRunningApp(ResponseListener listener) { @@ -843,7 +838,6 @@ public ServiceCommand getRunningApp(ResponseListener listener) jsonObj -> GSON.fromJson(jsonObj, AppInfo.class), listener); sendCommand(request); return request; - } // KEYBOARD @@ -881,7 +875,6 @@ public void onStateChanged(LGWebOSTVMouseSocket.State oldState, LGWebOSTVMouseSo default: break; } - } @Override @@ -915,7 +908,6 @@ public void onError(String error) { ServiceCommand request = new ServiceCommand<>(uri, null, x -> x, listener); sendCommand(request); - } // Simulate Remote Control Button press @@ -931,5 +923,4 @@ public interface ConfigProvider { String getKey(); } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceCommand.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceCommand.java index fc8895ab27830..4dbc86d69e0b0 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceCommand.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceCommand.java @@ -98,5 +98,4 @@ public ResponseListener getResponseListener() { public String toString() { return "ServiceCommand [type=" + type + ", target=" + target + ", payload=" + payload + "]"; } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceSubscription.java b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceSubscription.java index 18df4b9acff44..02f697f37f859 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceSubscription.java +++ b/bundles/org.openhab.binding.lgwebos/src/main/java/org/openhab/binding/lgwebos/internal/handler/command/ServiceSubscription.java @@ -53,5 +53,4 @@ public ServiceSubscription(String uri, JsonObject payload, Function listener) { socket.closeLaunchSession(this, listener); } - } diff --git a/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/config/config.xml index 8ef209a6434f4..bb68bf987941f 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/config/config.xml @@ -17,7 +17,9 @@ - If MAC Address of TV is entered here, the binding will attempt to power on the device via Wake On Lan (WOL), when it receives command ON on channel power. Accepted value is six groups of two hexadecimal digits, separated by hyphens or colons, e.g '3c:cd:93:c2:20:e0'.) + If MAC Address of TV is entered here, the binding will attempt to power on the device via Wake On Lan + (WOL), when it receives command ON on channel power. Accepted value is six groups of two hexadecimal digits, + separated by hyphens or colons, e.g '3c:cd:93:c2:20:e0'.) diff --git a/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/thing/thing-types.xml index 6e0c353ee44b2..02799a74f5aec 100644 --- a/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.lgwebos/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,28 +9,28 @@ WebOS based smart TV - - - - - - - - - + + + + + + + + + - - - - - + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.lifx/pom.xml b/bundles/org.openhab.binding.lifx/pom.xml index 92c4b8362eefe..15db3f9432d15 100644 --- a/bundles/org.openhab.binding.lifx/pom.xml +++ b/bundles/org.openhab.binding.lifx/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lifx/src/main/feature/feature.xml b/bundles/org.openhab.binding.lifx/src/main/feature/feature.xml index a81e3c8b94bd4..124e1465322b9 100644 --- a/bundles/org.openhab.binding.lifx/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.lifx/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.lifx/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.lifx/${project.version} + diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxBindingConstants.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxBindingConstants.java index c2c1aa6478443..4a00ec7bf3d96 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxBindingConstants.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxBindingConstants.java @@ -108,5 +108,4 @@ public class LifxBindingConstants { public static final Set SUPPORTED_THING_TYPES = Stream.of(THING_TYPE_COLORLIGHT, THING_TYPE_COLORIRLIGHT, THING_TYPE_COLORMZLIGHT, THING_TYPE_WHITELIGHT, THING_TYPE_TILELIGHT) .collect(Collectors.toSet()); - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactory.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactory.java index 28e8bfa505708..816e1640bf2f5 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactory.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactory.java @@ -27,5 +27,4 @@ public interface LifxChannelFactory { Channel createColorZoneChannel(ThingUID thingUID, int index); Channel createTemperatureZoneChannel(ThingUID thingUID, int index); - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactoryImpl.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactoryImpl.java index 061825fd0c082..e00c1149bd7c5 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactoryImpl.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxChannelFactoryImpl.java @@ -107,5 +107,4 @@ protected void setLocaleProvider(LocaleProvider localeProvider) { protected void unsetLocaleProvider(LocaleProvider localeProvider) { this.localeProvider = null; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxHandlerFactory.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxHandlerFactory.java index f765ff266d780..dea5ab996a1c0 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxHandlerFactory.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxHandlerFactory.java @@ -70,5 +70,4 @@ protected void setChannelFactory(LifxChannelFactory channelFactory) { protected void unsetChannelFactory(LifxChannelFactory channelFactory) { this.channelFactory = null; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightCommunicationHandler.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightCommunicationHandler.java index 7b274db54a5fc..18e4c3401d9d2 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightCommunicationHandler.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightCommunicationHandler.java @@ -280,5 +280,4 @@ private void wrappedPacketSend(BiFunction } } } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightConfig.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightConfig.java index 33cc6c4d28e89..227188901b5fb 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightConfig.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightConfig.java @@ -43,5 +43,4 @@ public class LifxLightConfig { public Duration getFadeTime() { return Duration.ofMillis(fadetime); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightContext.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightContext.java index f1a77385bfc50..cba1dbc70d857 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightContext.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightContext.java @@ -67,5 +67,4 @@ public LifxLightState getPendingLightState() { public ScheduledExecutorService getScheduler() { return scheduler; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightDiscovery.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightDiscovery.java index 1e70d7456dd2b..782ea56cfa67b 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightDiscovery.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightDiscovery.java @@ -354,5 +354,4 @@ private DiscoveryResult createDiscoveryResult(DiscoveredLight light) throws Ille return builder.build(); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightOnlineStateUpdater.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightOnlineStateUpdater.java index e55cdca466e11..d38bb89dd18b0 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightOnlineStateUpdater.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightOnlineStateUpdater.java @@ -126,5 +126,4 @@ public void handleResponsePacket(Packet packet) { unansweredEchoPackets = 0; currentLightState.setOnline(); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightState.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightState.java index b09edb05e53b9..a36e31e4ef351 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightState.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightState.java @@ -27,9 +27,9 @@ import org.eclipse.smarthome.core.library.types.PercentType; import org.openhab.binding.lifx.internal.fields.HSBK; import org.openhab.binding.lifx.internal.listener.LifxLightStateListener; +import org.openhab.binding.lifx.internal.protocol.Effect; import org.openhab.binding.lifx.internal.protocol.PowerState; import org.openhab.binding.lifx.internal.protocol.SignalStrength; -import org.openhab.binding.lifx.internal.protocol.Effect; /** * The {@link LifxLightState} stores the properties that represent the state of a light. @@ -195,5 +195,4 @@ public void addListener(LifxLightStateListener listener) { public void removeListener(LifxLightStateListener listener) { listeners.remove(listener); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightStateChanger.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightStateChanger.java index d7cb0faa62195..3f3ff8b33889a 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightStateChanger.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxLightStateChanger.java @@ -34,6 +34,7 @@ import org.openhab.binding.lifx.internal.listener.LifxLightStateListener; import org.openhab.binding.lifx.internal.protocol.AcknowledgementResponse; import org.openhab.binding.lifx.internal.protocol.ApplicationRequest; +import org.openhab.binding.lifx.internal.protocol.Effect; import org.openhab.binding.lifx.internal.protocol.GetColorZonesRequest; import org.openhab.binding.lifx.internal.protocol.GetLightInfraredRequest; import org.openhab.binding.lifx.internal.protocol.GetLightPowerRequest; @@ -48,7 +49,6 @@ import org.openhab.binding.lifx.internal.protocol.SetPowerRequest; import org.openhab.binding.lifx.internal.protocol.SetTileEffectRequest; import org.openhab.binding.lifx.internal.protocol.SignalStrength; -import org.openhab.binding.lifx.internal.protocol.Effect; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -386,5 +386,4 @@ private void getZonesIfZonesAreSet() { } } } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxSelectorContext.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxSelectorContext.java index 28fac3dc875e4..d25eca781b3cc 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxSelectorContext.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/LifxSelectorContext.java @@ -104,5 +104,4 @@ public void setBroadcastKey(@Nullable SelectionKey broadcastKey) { public void setUnicastKey(@Nullable SelectionKey unicastKey) { this.unicastKey = unicastKey; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/ByteField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/ByteField.java index e3cf0bbae4d07..fe16d7b1d9f59 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/ByteField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/ByteField.java @@ -46,5 +46,4 @@ public ByteBuffer value(ByteBuffer bytes) { public ByteBuffer bytesInternal(ByteBuffer value) { return value; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Field.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Field.java index b1544242c59db..6ae4f10a02aec 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Field.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Field.java @@ -99,5 +99,4 @@ public ByteBuffer bytes(T value) { public Field little() { return new LittleField<>(this); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/FloatField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/FloatField.java index 8b8d715cb1823..0266e910e9621 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/FloatField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/FloatField.java @@ -36,5 +36,4 @@ public Float value(ByteBuffer bytes) { protected ByteBuffer bytesInternal(Float value) { return ByteBuffer.allocate(4).putFloat(value); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/HSBKField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/HSBKField.java index a6f1b3b1fa6d5..5fddd0bcd68df 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/HSBKField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/HSBKField.java @@ -48,5 +48,4 @@ protected ByteBuffer bytesInternal(HSBK value) { .put(FIELD_SATURATION.bytes(value.getSaturation())).put(FIELD_BRIGHTNESS.bytes(value.getBrightness())) .put(FIELD_KELVIN.bytes(value.getKelvin())); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/LittleField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/LittleField.java index 7cc6c466bc786..7dc3c36a05bdd 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/LittleField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/LittleField.java @@ -67,5 +67,4 @@ public static ByteBuffer flip(ByteBuffer buf) { return ret; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddress.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddress.java index bd32cc7832a03..5d6050ce01470 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddress.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddress.java @@ -147,5 +147,4 @@ public boolean equals(@Nullable Object obj) { return true; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddressField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddressField.java index 3061e325d4f9c..0c51c2cef92e2 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddressField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/MACAddressField.java @@ -57,5 +57,4 @@ public ByteBuffer bytes(MACAddress value) { buf.rewind(); return buf; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/StringField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/StringField.java index b93c90ebb16ed..e8b625a059d6a 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/StringField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/StringField.java @@ -76,5 +76,4 @@ public StringField utf8() { charset = StandardCharsets.UTF_8; return this; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt16Field.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt16Field.java index 709b3d9ecc8a6..f7f5c16914e8d 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt16Field.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt16Field.java @@ -36,5 +36,4 @@ public Integer value(ByteBuffer bytes) { public ByteBuffer bytesInternal(Integer value) { return ByteBuffer.allocate(2).putShort((short) (value & 0xFFFF)); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt32Field.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt32Field.java index 2b402657eebaa..9a622914dda11 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt32Field.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt32Field.java @@ -36,5 +36,4 @@ public Long value(ByteBuffer bytes) { public ByteBuffer bytesInternal(Long value) { return ByteBuffer.allocate(4).putInt((int) (value & 0xFFFFFFFFL)); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt64Field.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt64Field.java index c2e60a9d989f0..3cc682aa118d0 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt64Field.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt64Field.java @@ -40,5 +40,4 @@ public Long value(ByteBuffer bytes) { protected ByteBuffer bytesInternal(Long value) { return ByteBuffer.allocate(8).putLong(value); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt8Field.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt8Field.java index 0ca0ddf6f5f77..bdcdf7ec48297 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt8Field.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/UInt8Field.java @@ -40,5 +40,4 @@ public Integer value(ByteBuffer bytes) { public ByteBuffer bytesInternal(Integer value) { return ByteBuffer.allocate(1).put((byte) (value & 0xFF)); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Version.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Version.java index eb216191bf412..c397a2a8509b6 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Version.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/Version.java @@ -40,5 +40,4 @@ public long getMinor() { public String toString() { return major + "." + minor; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/VersionField.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/VersionField.java index 616742494e7f2..b68b821507c90 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/VersionField.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/fields/VersionField.java @@ -39,5 +39,4 @@ public Version value(ByteBuffer bytes) { public ByteBuffer bytesInternal(Version value) { return ByteBuffer.allocate(4).putInt((int) (((value.getMajor() << 16) | value.getMinor()) & 0xFFFFFFFFL)); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/handler/LifxLightHandler.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/handler/LifxLightHandler.java index ebb5c9203a9e4..b1b70422022df 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/handler/LifxLightHandler.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/handler/LifxLightHandler.java @@ -718,5 +718,4 @@ private void updateStatusIfChanged(ThingStatus status, ThingStatusDetail statusD updateStatus(status, statusDetail); } } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/listener/LifxLightStateListener.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/listener/LifxLightStateListener.java index 9eab26632530d..f35fec1ff63bc 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/listener/LifxLightStateListener.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/listener/LifxLightStateListener.java @@ -17,9 +17,9 @@ import org.eclipse.smarthome.core.library.types.PercentType; import org.openhab.binding.lifx.internal.LifxLightState; import org.openhab.binding.lifx.internal.fields.HSBK; +import org.openhab.binding.lifx.internal.protocol.Effect; import org.openhab.binding.lifx.internal.protocol.PowerState; import org.openhab.binding.lifx.internal.protocol.SignalStrength; -import org.openhab.binding.lifx.internal.protocol.Effect; /** * The {@link LifxLightStateListener} is notified when the properties of a {@link LifxLightState} change. diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/AcknowledgementResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/AcknowledgementResponse.java index f600a94daf100..c257d96b2eb88 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/AcknowledgementResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/AcknowledgementResponse.java @@ -49,5 +49,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/EchoRequestResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/EchoRequestResponse.java index 7c1f99e692268..01db68a6db286 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/EchoRequestResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/EchoRequestResponse.java @@ -64,5 +64,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericHandler.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericHandler.java index 086f0577b633e..72b589dc94932 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericHandler.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericHandler.java @@ -73,5 +73,4 @@ public T handle(ByteBuffer buf) { throw new IllegalArgumentException("Unable to instantiate empty packet", ex); } } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericPacket.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericPacket.java index 542672bcae9cd..89783669a13a0 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericPacket.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GenericPacket.java @@ -43,5 +43,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetColorZonesRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetColorZonesRequest.java index d28b49737898c..75db1e061f05f 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetColorZonesRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetColorZonesRequest.java @@ -82,5 +82,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateMultiZoneResponse.TYPE, StateZoneResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetEchoRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetEchoRequest.java index 29b8f93c1322f..84b8862b36f5d 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetEchoRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetEchoRequest.java @@ -77,5 +77,4 @@ public static GetEchoRequest currentTimeEchoRequest() { request.setPayload(payload); return request; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetGroupRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetGroupRequest.java index 964e8012e5f94..e10f4ae75c9aa 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetGroupRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetGroupRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateGroupResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostFirmwareRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostFirmwareRequest.java index 35b9ef1ca80bf..686ccf5352604 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostFirmwareRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostFirmwareRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateHostFirmwareResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostInfoRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostInfoRequest.java index c8aaf0d634b2f..91f5efa78ed2d 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostInfoRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetHostInfoRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateHostInfoResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetInfoRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetInfoRequest.java index 94d35aaa6b6c1..48b2a8e4b5317 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetInfoRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetInfoRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateInfoResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLabelRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLabelRequest.java index 7ba5d5fabeadd..1c825e3820106 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLabelRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLabelRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateLabelResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightInfraredRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightInfraredRequest.java index 4bc40a5180fd1..a27f67bf0c6eb 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightInfraredRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightInfraredRequest.java @@ -51,5 +51,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateLightInfraredResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightPowerRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightPowerRequest.java index 16ce666646257..3eee29946e394 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightPowerRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLightPowerRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateLightPowerResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLocationRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLocationRequest.java index f4bb2375ae1ae..21d7416ce8781 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLocationRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetLocationRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateLocationResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetPowerRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetPowerRequest.java index 7d5a41ce28f61..d35bbea033589 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetPowerRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetPowerRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StatePowerResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetRequest.java index ce7c0a30d44e8..6c64872f0769c 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetServiceRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetServiceRequest.java index 1bb0555cd5223..4df9c46b725f2 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetServiceRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetServiceRequest.java @@ -51,5 +51,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateServiceResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagLabelsRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagLabelsRequest.java index a0e6e331d740e..a2a2fcbc44889 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagLabelsRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagLabelsRequest.java @@ -64,5 +64,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { TagLabelsResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagsRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagsRequest.java index c3910d05bf2a3..93acb6856c622 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagsRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTagsRequest.java @@ -46,5 +46,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { TagsResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTileEffectRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTileEffectRequest.java index 2e464a68c31ea..2a6a8bae36c12 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTileEffectRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetTileEffectRequest.java @@ -53,5 +53,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateTileEffectResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetVersionRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetVersionRequest.java index 4479eec318fc9..1df439ddc1324 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetVersionRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetVersionRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateVersionResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiFirmwareRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiFirmwareRequest.java index 22ad119029ce3..c9877ded2f1e1 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiFirmwareRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiFirmwareRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateWifiFirmwareResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiInfoRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiInfoRequest.java index 468dd6e29d52b..06b1f4c6e70fd 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiInfoRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/GetWifiInfoRequest.java @@ -52,5 +52,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateWifiInfoResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Packet.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Packet.java index 25dcec356fcc2..621be6494466c 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Packet.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Packet.java @@ -394,5 +394,4 @@ public boolean isFulfilled(Packet somePacket) { } return false; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketFactory.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketFactory.java index b05926d7cca25..4e5b0418c87bb 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketFactory.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketFactory.java @@ -154,5 +154,4 @@ public final void register(Class clazz) { public static @Nullable PacketHandler createHandler(int packetType) { return getInstance().getHandler(packetType); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketHandler.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketHandler.java index 5f984d682d5cb..24279788a98e3 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketHandler.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PacketHandler.java @@ -37,5 +37,4 @@ public interface PacketHandler { * could not be parsed */ public abstract T handle(ByteBuffer buf); - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PowerState.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PowerState.java index b665c92b7f9c9..b8a000b08bd0f 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PowerState.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/PowerState.java @@ -54,5 +54,4 @@ public static PowerState fromOnOffType(OnOffType onOff) { public OnOffType toOnOffType() { return this == ON ? OnOffType.ON : OnOffType.OFF; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Product.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Product.java index ccf659f3ed19c..d15afcd7bd180 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Product.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/Product.java @@ -281,5 +281,4 @@ public static Product getProductFromProductID(long id) throws IllegalArgumentExc throw new IllegalArgumentException(id + " is not a valid product ID"); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorRequest.java index b29d5d5938eac..c0747c0535ab9 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorRequest.java @@ -89,5 +89,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorZonesRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorZonesRequest.java index 771142d3812cd..b880c2acb4a3b 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorZonesRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetColorZonesRequest.java @@ -122,5 +122,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetDimAbsoluteRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetDimAbsoluteRequest.java index 34b3eb3114cba..0d09f2864fbd8 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetDimAbsoluteRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetDimAbsoluteRequest.java @@ -73,5 +73,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLabelRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLabelRequest.java index 1e581b20debcd..2391be4c66982 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLabelRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLabelRequest.java @@ -67,5 +67,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightInfraredRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightInfraredRequest.java index f7dd20d59bd05..c5c33bc57391f 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightInfraredRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightInfraredRequest.java @@ -67,5 +67,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateLightInfraredResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightPowerRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightPowerRequest.java index a387c4d5c39cb..12ef6e75c7b0b 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightPowerRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetLightPowerRequest.java @@ -86,5 +86,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StateLightPowerResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetPowerRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetPowerRequest.java index 23dfecae3ef11..813c41ab5a727 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetPowerRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetPowerRequest.java @@ -71,5 +71,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] { StatePowerResponse.TYPE }; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTagsRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTagsRequest.java index 51e0fa17fcd97..79728d9fe42c6 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTagsRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTagsRequest.java @@ -68,5 +68,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTileEffectRequest.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTileEffectRequest.java index 1a49bdd3a2c4c..1ea2935332630 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTileEffectRequest.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SetTileEffectRequest.java @@ -150,5 +150,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SignalStrength.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SignalStrength.java index 687b2add3d748..e5298822e033f 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SignalStrength.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/SignalStrength.java @@ -72,5 +72,4 @@ public double toRSSI() { public String toString() { return "SignalStrength [milliWatts=" + milliWatts + ", rssi=" + Math.round(toRSSI()) + "]"; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateGroupResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateGroupResponse.java index 0a0b95f70603a..fef588c2659cf 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateGroupResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateGroupResponse.java @@ -90,5 +90,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostFirmwareResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostFirmwareResponse.java index 029193db0727c..fe71423ae5a2a 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostFirmwareResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostFirmwareResponse.java @@ -84,5 +84,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostInfoResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostInfoResponse.java index c33a575829f87..c7f08cef8cae9 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostInfoResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateHostInfoResponse.java @@ -81,5 +81,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateInfoResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateInfoResponse.java index 170caed171437..9772b10416243 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateInfoResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateInfoResponse.java @@ -90,5 +90,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLabelResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLabelResponse.java index 97e5ba198ee9c..549e1793e4b6b 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLabelResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLabelResponse.java @@ -65,5 +65,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightInfraredResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightInfraredResponse.java index 5fd8aa320fb5c..7d6c76aeb414b 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightInfraredResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightInfraredResponse.java @@ -56,5 +56,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightPowerResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightPowerResponse.java index 939ff6afde4c2..d77edab575335 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightPowerResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLightPowerResponse.java @@ -58,5 +58,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLocationResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLocationResponse.java index 2fe40417d28c6..4fc53f0564932 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLocationResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateLocationResponse.java @@ -90,5 +90,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateMultiZoneResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateMultiZoneResponse.java index 2d366b0407911..9daca4cfc80b0 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateMultiZoneResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateMultiZoneResponse.java @@ -95,5 +95,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StatePowerResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StatePowerResponse.java index 55065df608330..0ff09f4f60d84 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StatePowerResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StatePowerResponse.java @@ -58,5 +58,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateResponse.java index 1c4be112f87a9..e4f51721208c3 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateResponse.java @@ -95,5 +95,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateServiceResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateServiceResponse.java index c391d0cf52b19..4b9a44ea7414c 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateServiceResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateServiceResponse.java @@ -69,5 +69,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateVersionResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateVersionResponse.java index d301b52c16581..2d67a1293e42c 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateVersionResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateVersionResponse.java @@ -90,5 +90,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiFirmwareResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiFirmwareResponse.java index 876eb43eb876d..233dd59135076 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiFirmwareResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiFirmwareResponse.java @@ -84,5 +84,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiInfoResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiInfoResponse.java index 401b7a71c8139..45235628651a3 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiInfoResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateWifiInfoResponse.java @@ -81,5 +81,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateZoneResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateZoneResponse.java index a975bdd80aefd..b5dbe62fb0b4e 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateZoneResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/StateZoneResponse.java @@ -78,5 +78,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagLabelsResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagLabelsResponse.java index d90493b9a650d..80473ba7dfad1 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagLabelsResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagLabelsResponse.java @@ -65,5 +65,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagsResponse.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagsResponse.java index 0caea16525460..8996ab2df1d09 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagsResponse.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/protocol/TagsResponse.java @@ -57,5 +57,4 @@ protected ByteBuffer packetBytes() { public int[] expectedResponses() { return new int[] {}; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxMessageUtil.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxMessageUtil.java index d03a3b4c58dbc..a1b2b951d4206 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxMessageUtil.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxMessageUtil.java @@ -131,5 +131,4 @@ public static boolean sameColors(HSBK... colors) { public static long randomSourceId() { return UUID.randomUUID().getLeastSignificantBits() & (-1L >>> 32); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxNetworkUtil.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxNetworkUtil.java index 70fd4d02bfa11..ec319a8dd7282 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxNetworkUtil.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxNetworkUtil.java @@ -136,5 +136,4 @@ public static int getNewBroadcastPort() { }); return BROADCAST_PORT + (offset % (PORT_MAX - BROADCAST_PORT)); } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxSelectorUtil.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxSelectorUtil.java index 3c76885d7c60f..ca0ebeca261b4 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxSelectorUtil.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxSelectorUtil.java @@ -313,5 +313,4 @@ private static boolean sendPacket(@Nullable LifxSelectorContext context, Packet } return false; } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxThrottlingUtil.java b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxThrottlingUtil.java index e7785afef1dc3..90e334720d6af 100644 --- a/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxThrottlingUtil.java +++ b/bundles/org.openhab.binding.lifx/src/main/java/org/openhab/binding/lifx/internal/util/LifxThrottlingUtil.java @@ -144,5 +144,4 @@ public static void unlock() { tracker.unlock(); } } - } diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/binding/binding.xml index 2a0c5832fbfb5..ef2ea7f4d8ee4 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - LIFX Binding diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/config/config.xml index af6f9df2d1741..b2f662f94f3ab 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/config/config.xml @@ -37,14 +37,16 @@ pattern="(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9][0-9]|[0-9]),(100|[1-9][0-9]|[0-9]),(100|[1-9][0-9]|[0-9])" required="false"> - Comma separated Hue (0-360), saturation (0-100) and brightness (0-100) levels used when switching on the light. Use empty value to leave it as is. + Comma separated Hue (0-360), saturation (0-100) and brightness (0-100) levels used when switching on the + light. Use empty value to leave it as is. - Color temperature level used when switching on the light. Use empty value to leave color temperature as is. + Color temperature level used when switching on the light. Use empty value to leave color temperature as + is. diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/channel.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/channel.xml index 2435546d4dfb8..5536a9ec2eee8 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/channel.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/channel.xml @@ -12,7 +12,7 @@ Lighting - + @@ -23,7 +23,7 @@ Lighting - + @@ -47,7 +47,7 @@ Sets the temperature of the light ColorLight - + @@ -68,7 +68,7 @@ - + diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorirlight.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorirlight.xml index a90067477e942..9738e16e99573 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorirlight.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorirlight.xml @@ -1,18 +1,19 @@ - - - - - + + + + macAddress - + diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorlight.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorlight.xml index 4ba2fe7c74c53..c4e54beabdd10 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorlight.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colorlight.xml @@ -1,17 +1,18 @@ - - - - + + + macAddress - + diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colormzlight.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colormzlight.xml index 21a8af1d43866..f7276a66b96e7 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colormzlight.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/colormzlight.xml @@ -1,17 +1,18 @@ - - - - + + + macAddress - + diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/tilelight.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/tilelight.xml index 6f155fca97056..5b60250cde7f7 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/tilelight.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/tilelight.xml @@ -7,13 +7,13 @@ - - - - + + + + macAddress - + diff --git a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/whitelight.xml b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/whitelight.xml index 807025c4175f0..dc6f45d746af2 100644 --- a/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/whitelight.xml +++ b/bundles/org.openhab.binding.lifx/src/main/resources/ESH-INF/thing/whitelight.xml @@ -1,17 +1,18 @@ - - - - + + + macAddress - + diff --git a/bundles/org.openhab.binding.linky/pom.xml b/bundles/org.openhab.binding.linky/pom.xml index 0b9c26ed2865b..4dcb42248a2b9 100644 --- a/bundles/org.openhab.binding.linky/pom.xml +++ b/bundles/org.openhab.binding.linky/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -11,8 +13,8 @@ org.openhab.binding.linky openHAB Add-ons :: Bundles :: Linky Binding - - + + !android.*,!com.android.org.*,!dalvik.*,!javax.annotation.meta.*,!org.apache.harmony.*,!org.conscrypt.*,!sun.* diff --git a/bundles/org.openhab.binding.linky/src/main/feature/feature.xml b/bundles/org.openhab.binding.linky/src/main/feature/feature.xml index f73253e2f2a9b..3a1dd653712d9 100644 --- a/bundles/org.openhab.binding.linky/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.linky/src/main/feature/feature.xml @@ -1,10 +1,9 @@ - - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.linky/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.linky/${project.version} + diff --git a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/LinkyBindingConstants.java b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/LinkyBindingConstants.java index 2f58b1b0ef92d..c29124a902ed7 100644 --- a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/LinkyBindingConstants.java +++ b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/LinkyBindingConstants.java @@ -37,5 +37,4 @@ public class LinkyBindingConstants { public static final String LAST_MONTH = "monthly#lastMonth"; public static final String THIS_YEAR = "yearly#thisYear"; public static final String LAST_YEAR = "yearly#lastYear"; - } diff --git a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/console/LinkyCommandExtension.java b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/console/LinkyCommandExtension.java index fe0106d599072..1cbc5caad3e4a 100644 --- a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/console/LinkyCommandExtension.java +++ b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/console/LinkyCommandExtension.java @@ -116,5 +116,4 @@ public List getUsages() { new String[] { buildCommandUsage(" " + REPORT + " []", "report daily consumptions between two dates") }); } - } diff --git a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/handler/LinkyHandler.java b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/handler/LinkyHandler.java index 009d57220b37b..fdf3edba32eb2 100644 --- a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/handler/LinkyHandler.java +++ b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/handler/LinkyHandler.java @@ -384,5 +384,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { logger.debug("The Linky binding is read-only and can not handle command {}", command); } } - } diff --git a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/model/LinkyConsumptionData.java b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/model/LinkyConsumptionData.java index 16b060de7f13e..b6ed156029b65 100644 --- a/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/model/LinkyConsumptionData.java +++ b/bundles/org.openhab.binding.linky/src/main/java/org/openhab/binding/linky/internal/model/LinkyConsumptionData.java @@ -69,5 +69,4 @@ public boolean isPositive() { return valeur > 0; } } - } diff --git a/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/binding/binding.xml index 617baff45b801..8ff4c869f7de0 100644 --- a/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Linky Binding Retrieves your energy consumption data from Enedis website diff --git a/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/thing/thing-types.xml index bcf48919676cc..4b503cd85d825 100644 --- a/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.linky/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -7,15 +8,16 @@ - Provides your energy consumption data. - In order to receive the data, you must activate your account at https://espace-client-particuliers.enedis.fr/web/espace-particuliers/compteur-linky. + Provides your energy consumption data. + In order to receive the data, you must activate your account at + https://espace-client-particuliers.enedis.fr/web/espace-particuliers/compteur-linky. - + - - - - + + + + @@ -31,11 +33,11 @@ - + - + @@ -44,27 +46,27 @@ - + - + - + - + - + - + @@ -75,7 +77,7 @@ - + diff --git a/bundles/org.openhab.binding.linuxinput/pom.xml b/bundles/org.openhab.binding.linuxinput/pom.xml index 9b6ef6f0f3f31..6cdcb0a4ccbe1 100644 --- a/bundles/org.openhab.binding.linuxinput/pom.xml +++ b/bundles/org.openhab.binding.linuxinput/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.linuxinput/src/main/feature/feature.xml b/bundles/org.openhab.binding.linuxinput/src/main/feature/feature.xml index 2e411ff0f8f35..5ba575431ca57 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.linuxinput/src/main/feature/feature.xml @@ -1,20 +1,20 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - wrap - mvn:com.github.jnr/jnr-enxio/0.19 - - wrap:mvn:com.github.jnr/jnr-posix/3.0.47$overwrite=merge&Import-Package=jnr.ffi.provider.jffi,jnr.constants,jnr.constants.platform,jnr.constants.platform.windows,jnr.ffi,jnr.ffi.annotations,jnr.ffi.byref,jnr.ffi.mapper,jnr.ffi.provider,jnr.ffi.types,com.kenai.jffi,jnr.ffi.provider.converters - mvn:com.github.jnr/jffi/1.2.18/jar/native - mvn:com.github.jnr/jffi/1.2.18/jar/complete - mvn:com.github.jnr/jnr-constants/0.9.11 - mvn:com.github.jnr/jnr-ffi/2.1.9 - wrap:mvn:com.github.jnr/jnr-a64asm/1.0.0$Bundle-Name=jnr-a64asm&Bundle-SymbolicName=com.github.jnr.jnr-a64asm&Bundle-Version=1.0.0 - wrap:mvn:com.github.jnr/jnr-x86asm/1.0.2$Bundle-Name=jnr-x86asm&Bundle-SymbolicName=com.github.jnr.jnr-x86asm&Bundle-Version=1.0.2 - mvn:org.ow2.asm/asm/5.0.3 - mvn:org.openhab.addons.bundles/org.openhab.binding.linuxinput/${project.version} - + + openhab-runtime-base + wrap + mvn:com.github.jnr/jnr-enxio/0.19 + + wrap:mvn:com.github.jnr/jnr-posix/3.0.47$overwrite=merge&Import-Package=jnr.ffi.provider.jffi,jnr.constants,jnr.constants.platform,jnr.constants.platform.windows,jnr.ffi,jnr.ffi.annotations,jnr.ffi.byref,jnr.ffi.mapper,jnr.ffi.provider,jnr.ffi.types,com.kenai.jffi,jnr.ffi.provider.converters + mvn:com.github.jnr/jffi/1.2.18/jar/native + mvn:com.github.jnr/jffi/1.2.18/jar/complete + mvn:com.github.jnr/jnr-constants/0.9.11 + mvn:com.github.jnr/jnr-ffi/2.1.9 + wrap:mvn:com.github.jnr/jnr-a64asm/1.0.0$Bundle-Name=jnr-a64asm&Bundle-SymbolicName=com.github.jnr.jnr-a64asm&Bundle-Version=1.0.0 + wrap:mvn:com.github.jnr/jnr-x86asm/1.0.2$Bundle-Name=jnr-x86asm&Bundle-SymbolicName=com.github.jnr.jnr-x86asm&Bundle-Version=1.0.2 + mvn:org.ow2.asm/asm/5.0.3 + mvn:org.openhab.addons.bundles/org.openhab.binding.linuxinput/${project.version} + diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/DeviceReadingHandler.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/DeviceReadingHandler.java index b8a007e0f609d..3069c71b8469c 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/DeviceReadingHandler.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/DeviceReadingHandler.java @@ -12,6 +12,9 @@ */ package org.openhab.binding.linuxinput.internal; +import java.io.IOException; +import java.util.concurrent.CancellationException; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.thing.Thing; @@ -21,9 +24,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.concurrent.CancellationException; - /** * Abstract handler, that encapsulates the lifecycle of an underlying device. * @@ -63,7 +63,7 @@ public final void initialize() { logger.warn("Could not read event", e); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); } - } , getClass(), getInstanceName()); + }, getClass(), getInstanceName()); thread.start(); worker = thread; } @@ -110,7 +110,8 @@ public final void dispose() { } private void stopWorker() throws InterruptedException { - @Nullable Thread activeWorker = this.worker; + @Nullable + Thread activeWorker = this.worker; logger.debug("interrupting worker {}", activeWorker); worker = null; diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputBindingConstants.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputBindingConstants.java index 5ef068393e58c..b886f3f6b5922 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputBindingConstants.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputBindingConstants.java @@ -23,7 +23,8 @@ */ @NonNullByDefault public class LinuxInputBindingConstants { - private LinuxInputBindingConstants() { } + private LinuxInputBindingConstants() { + } public static final String BINDING_ID = "linuxinput"; diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputDiscoveryService.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputDiscoveryService.java index d28366554753b..b6a650b2dd987 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputDiscoveryService.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputDiscoveryService.java @@ -12,6 +12,17 @@ */ package org.openhab.binding.linuxinput.internal; +import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants.THING_TYPE_DEVICE; + +import java.io.File; +import java.io.IOException; +import java.nio.file.*; +import java.time.Duration; +import java.util.Collections; +import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; +import java.util.concurrent.TimeUnit; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.config.discovery.AbstractDiscoveryService; @@ -26,17 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.File; -import java.io.IOException; -import java.nio.file.*; -import java.time.Duration; -import java.util.Collections; -import java.util.concurrent.Future; -import java.util.concurrent.FutureTask; -import java.util.concurrent.TimeUnit; - -import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants.THING_TYPE_DEVICE; - /** * Discovery service for LinuxInputHandlers based on the /dev/input directory. * diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandler.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandler.java index e9b01bf1d4560..912f8b1642b75 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandler.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandler.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.linuxinput.internal; +import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants.*; + +import java.io.IOException; +import java.nio.channels.SelectionKey; +import java.nio.channels.Selector; +import java.util.*; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.library.CoreItemFactory; @@ -26,13 +33,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.nio.channels.SelectionKey; -import java.nio.channels.Selector; -import java.util.*; - -import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants.*; - /** * Handler for Linux Input devices. * @@ -109,7 +109,8 @@ boolean delayedSetup() throws IOException { @Override protected void closeDevice() throws IOException { - @Nullable EvdevDevice currentDevice = device; + @Nullable + EvdevDevice currentDevice = device; device = null; if (currentDevice != null) { @@ -130,7 +131,8 @@ String getInstanceName() { @Override void handleEventsInThread() throws IOException { try (Selector selector = EvdevDevice.openSelector()) { - @Nullable EvdevDevice currentDevice = device; + @Nullable + EvdevDevice currentDevice = device; if (currentDevice == null) { throw new IOException("trying to handle events without an device"); } @@ -163,7 +165,8 @@ private void handleEvent(EvdevDevice.InputEvent event) { if (event.type() != EvdevLibrary.Type.KEY) { return; } - @Nullable Channel channel = channels.get(event.getCode()); + @Nullable + Channel channel = channels.get(event.getCode()); if (channel == null) { String msg = "Could not find channel for code {}"; if (isInitialized()) { diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandlerFactory.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandlerFactory.java index 6bfb1ab3c005f..203312131a454 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandlerFactory.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/LinuxInputHandlerFactory.java @@ -12,6 +12,11 @@ */ package org.openhab.binding.linuxinput.internal; +import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants.THING_TYPE_DEVICE; + +import java.util.Collections; +import java.util.Set; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.thing.Thing; @@ -21,11 +26,6 @@ import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; import org.osgi.service.component.annotations.Component; -import java.util.Collections; -import java.util.Set; - -import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants.THING_TYPE_DEVICE; - /** * InputHandlerFactory for Linux Input devices. * diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java index 162ab8171cb44..b6b07f1bd3177 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/EvdevDevice.java @@ -12,15 +12,7 @@ */ package org.openhab.binding.linuxinput.internal.evdev4j; -import jnr.constants.platform.Errno; -import jnr.constants.platform.OpenFlags; -import jnr.enxio.channels.NativeDeviceChannel; -import jnr.enxio.channels.NativeFileSelectorProvider; -import jnr.ffi.byref.PointerByReference; -import jnr.posix.POSIX; -import jnr.posix.POSIXFactory; -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.openhab.binding.linuxinput.internal.evdev4j.jnr.EvdevLibrary; +import static org.openhab.binding.linuxinput.internal.evdev4j.Utils.combineFlags; import java.io.Closeable; import java.io.IOException; @@ -37,7 +29,16 @@ import java.util.List; import java.util.Optional; -import static org.openhab.binding.linuxinput.internal.evdev4j.Utils.combineFlags; +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.openhab.binding.linuxinput.internal.evdev4j.jnr.EvdevLibrary; + +import jnr.constants.platform.Errno; +import jnr.constants.platform.OpenFlags; +import jnr.enxio.channels.NativeDeviceChannel; +import jnr.enxio.channels.NativeFileSelectorProvider; +import jnr.ffi.byref.PointerByReference; +import jnr.posix.POSIX; +import jnr.posix.POSIXFactory; /** * Classbased access to libevdev-input functionality. diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/LastErrorException.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/LastErrorException.java index 11da336fa995f..36226c30169b7 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/LastErrorException.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/LastErrorException.java @@ -17,9 +17,10 @@ import java.text.MessageFormat; import java.util.Optional; +import org.eclipse.jdt.annotation.NonNullByDefault; + import jnr.constants.platform.linux.Errno; import jnr.posix.POSIX; -import org.eclipse.jdt.annotation.NonNullByDefault; /** * Exception wrapping an operating system errno. diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/Utils.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/Utils.java index fc155af72e79c..50633b20ddc85 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/Utils.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/Utils.java @@ -14,9 +14,10 @@ import java.util.Optional; -import jnr.constants.Constant; import org.eclipse.jdt.annotation.NonNullByDefault; +import jnr.constants.Constant; + /** * @author Thomas Weißschuh - Initial contribution */ diff --git a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java index 286a7550abf4c..0a31637a136bb 100644 --- a/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java +++ b/bundles/org.openhab.binding.linuxinput/src/main/java/org/openhab/binding/linuxinput/internal/evdev4j/jnr/EvdevLibrary.java @@ -126,7 +126,8 @@ public InputEvent(Runtime runtime) { @SuppressWarnings("unused") class ReadFlag { - private ReadFlag() { } + private ReadFlag() { + } public static final int SYNC = 1; public static final int NORMAL = 2; @@ -135,7 +136,8 @@ private ReadFlag() { } } class KeyEventValue { - private KeyEventValue() { } + private KeyEventValue() { + } public static final int UP = 0; public static final int DOWN = 1; diff --git a/bundles/org.openhab.binding.lirc/pom.xml b/bundles/org.openhab.binding.lirc/pom.xml index f35b20393a890..3bd3731411b60 100644 --- a/bundles/org.openhab.binding.lirc/pom.xml +++ b/bundles/org.openhab.binding.lirc/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lirc/src/main/feature/feature.xml b/bundles/org.openhab.binding.lirc/src/main/feature/feature.xml index 6aaff9cd5f012..3684dc445f27c 100644 --- a/bundles/org.openhab.binding.lirc/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.lirc/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.lirc/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.lirc/${project.version} + diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCBindingConstants.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCBindingConstants.java index 7d17b0981dd89..740286f1b9163 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCBindingConstants.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCBindingConstants.java @@ -46,5 +46,4 @@ public class LIRCBindingConstants { // List of all properties public static final String PROPERTY_REMOTE = "remote"; - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCResponseException.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCResponseException.java index 1888795d31140..f91a4a248bc6c 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCResponseException.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/LIRCResponseException.java @@ -55,5 +55,4 @@ public LIRCResponseException(Throwable cause) { public LIRCResponseException(String message, Throwable cause) { super(message, cause); } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCBridgeConfiguration.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCBridgeConfiguration.java index 78c732d71f0da..6adb5e31da8fe 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCBridgeConfiguration.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCBridgeConfiguration.java @@ -50,5 +50,4 @@ public int getPortNumber() { public void setPortNumber(int portNumber) { this.portNumber = portNumber; } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCRemoteConfiguration.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCRemoteConfiguration.java index e613411786130..c241517111d69 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCRemoteConfiguration.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/config/LIRCRemoteConfiguration.java @@ -34,5 +34,4 @@ public String getRemote() { public void setRemote(String remote) { this.remote = remote; } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCConnector.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCConnector.java index 7fbbfe61daddf..208f6ffdb4339 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCConnector.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCConnector.java @@ -193,5 +193,4 @@ public synchronized void sendMessageToListeners(LIRCResponse message) { logger.error("Error invoking event listener", e); } } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCEventListener.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCEventListener.java index aa9ce31148504..03fbc2b1c1303 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCEventListener.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCEventListener.java @@ -45,5 +45,4 @@ public interface LIRCEventListener { * Error occured. */ void errorOccured(String error); - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCStreamReader.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCStreamReader.java index ac50b58de8731..aad07357ddaa4 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCStreamReader.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/connector/LIRCStreamReader.java @@ -137,5 +137,4 @@ private void processResponse(String responseText) throws LIRCResponseException { LIRCResponse response = new LIRCResponse(command, success, data); connector.sendMessageToListeners(response); } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/discovery/LIRCRemoteDiscoveryService.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/discovery/LIRCRemoteDiscoveryService.java index 2d3ef4ee598c7..70033ca162a6a 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/discovery/LIRCRemoteDiscoveryService.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/discovery/LIRCRemoteDiscoveryService.java @@ -77,5 +77,4 @@ private void addRemote(ThingUID bridge, String remote) { .withProperties(properties).build(); thingDiscovered(discoveryResult); } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/handler/LIRCBridgeHandler.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/handler/LIRCBridgeHandler.java index 672b2447d85b4..8f28612e24b9c 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/handler/LIRCBridgeHandler.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/handler/LIRCBridgeHandler.java @@ -195,7 +195,5 @@ public void errorOccured(String error) { logger.error("Error occured: {}", error); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, error); } - } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/messages/LIRCResponse.java b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/messages/LIRCResponse.java index 3e0faaec8cda6..a0daeab8c6ea4 100644 --- a/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/messages/LIRCResponse.java +++ b/bundles/org.openhab.binding.lirc/src/main/java/org/openhab/binding/lirc/internal/messages/LIRCResponse.java @@ -41,5 +41,4 @@ public boolean isSuccess() { public String[] getData() { return data; } - } diff --git a/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/binding/binding.xml index 20b2c6a4b2343..a7a50a7341391 100644 --- a/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,12 @@ - LIRC Binding The LIRC binding allows transmission and receipt of - standard infrared remote control signals via a LIRC server. + standard infrared remote control signals via a LIRC + server. Andrew Nagle diff --git a/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/thing/thing-types.xml index c3f53524fbe36..7d730ebc7369d 100644 --- a/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.lirc/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -9,8 +10,8 @@ An IR remote control - - + + diff --git a/bundles/org.openhab.binding.logreader/pom.xml b/bundles/org.openhab.binding.logreader/pom.xml index c29ee7df46187..2afaece7a86e5 100644 --- a/bundles/org.openhab.binding.logreader/pom.xml +++ b/bundles/org.openhab.binding.logreader/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.logreader/src/main/feature/feature.xml b/bundles/org.openhab.binding.logreader/src/main/feature/feature.xml index 588337bb6a077..0f16c6808f568 100644 --- a/bundles/org.openhab.binding.logreader/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.logreader/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.logreader/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.logreader/${project.version} + diff --git a/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/binding/binding.xml index ab12464301947..e702d5f3c6ae4 100644 --- a/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - LogReader Binding diff --git a/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/channels.xml index 083464f84cbd7..4b9db8aa39768 100644 --- a/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/reader.xml b/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/reader.xml index f460d2b1b0849..bdcfc3534347f 100644 --- a/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/reader.xml +++ b/bundles/org.openhab.binding.logreader/src/main/resources/ESH-INF/thing/reader.xml @@ -1,5 +1,6 @@ - @@ -9,17 +10,17 @@ Log reader to analyze log events - - - - - - - + + + + + + + - - - + + + diff --git a/bundles/org.openhab.binding.loxone/pom.xml b/bundles/org.openhab.binding.loxone/pom.xml index a7e9761c558e4..2fb6704bb4b1f 100644 --- a/bundles/org.openhab.binding.loxone/pom.xml +++ b/bundles/org.openhab.binding.loxone/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.loxone/src/main/feature/feature.xml b/bundles/org.openhab.binding.loxone/src/main/feature/feature.xml index 86b6d39dfd083..06f9d7351c744 100644 --- a/bundles/org.openhab.binding.loxone/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.loxone/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.loxone/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.loxone/${project.version} + diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxDynamicStateDescriptionProvider.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxDynamicStateDescriptionProvider.java index e523fb2744ca0..bd31f94e708a5 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxDynamicStateDescriptionProvider.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxDynamicStateDescriptionProvider.java @@ -43,7 +43,7 @@ public class LxDynamicStateDescriptionProvider implements DynamicStateDescriptio * Set a state description for a channel. This description will be used when preparing the channel state by * the framework for presentation. A previous description, if existed, will be replaced. * - * @param channelUID channel UID + * @param channelUID channel UID * @param description state description for the channel */ void setDescription(ChannelUID channelUID, StateDescription description) { diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandler.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandler.java index 7c4928e28e745..f3237f84aca8f 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandler.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandler.java @@ -736,5 +736,4 @@ private String buildName(String name) { } return name; } - } diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandlerApi.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandlerApi.java index ddce35e2c10c3..eb985c066926c 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandlerApi.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/LxServerHandlerApi.java @@ -37,7 +37,7 @@ public interface LxServerHandlerApi { /** * Sends an action to a Loxone Miniserver's control. * - * @param id identifier of the control + * @param id identifier of the control * @param operation identifier of the operation * @throws IOException when communication error with Miniserver occurs */ @@ -65,7 +65,7 @@ public interface LxServerHandlerApi { * Sets channel's state to a new value * * @param channelId channel ID - * @param state new state value + * @param state new state value */ void setChannelState(ChannelUID channelId, State state); @@ -74,7 +74,7 @@ public interface LxServerHandlerApi { * interpreted and displayed. It is called when a dynamic state update is received from the Miniserver with a new * way of displaying control's state. * - * @param channelId channel ID + * @param channelId channel ID * @param description a new state description */ void setChannelStateDescription(ChannelUID channelId, StateDescription description); diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControl.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControl.java index da8d27c9b965c..777d11f8bba56 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControl.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControl.java @@ -736,5 +736,4 @@ private ChannelUID getChannelId(int index) { } return new ChannelUID(config.thingHandler.getThingId(), controlId); } - } diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControlJalousie.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControlJalousie.java index 50782ce9a24b1..42f0a1e76ac10 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControlJalousie.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/controls/LxControlJalousie.java @@ -226,7 +226,7 @@ public void onStateChange(LxState state) { * position. * * @param position end position to move jalousie to, floating point number from 0..1 (0-fully closed to 1-fully - * open) + * open) * @throws IOException when something went wrong with communication */ private void moveToPosition(Double position) throws IOException { diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurity.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurity.java index 8c1c2eac2e27b..642a8e233c8eb 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurity.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurity.java @@ -215,5 +215,4 @@ public static LxWsSecurity create(LxWsSecurityType type, String swVersion, int d return new LxWsSecurityToken(debugId, thingHandler, socket, user, password); } } - } diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityHash.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityHash.java index a2483f474fcf3..4ed2ea6734223 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityHash.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityHash.java @@ -37,11 +37,11 @@ class LxWsSecurityHash extends LxWsSecurity { /** * Create a hash-based authentication instance. * - * @param debugId instance of the client used for debugging purposes only + * @param debugId instance of the client used for debugging purposes only * @param thingHandler API to the thing handler - * @param socket websocket to perform communication with Miniserver - * @param user user to authenticate - * @param password password to authenticate + * @param socket websocket to perform communication with Miniserver + * @param user user to authenticate + * @param password password to authenticate */ LxWsSecurityHash(int debugId, LxServerHandlerApi thingHandler, LxWebSocket socket, String user, String password) { super(debugId, thingHandler, socket, user, password); diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityToken.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityToken.java index c87ea275cebed..881ebf10010e3 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityToken.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/security/LxWsSecurityToken.java @@ -407,7 +407,6 @@ private boolean acquireToken() { persistToken(); logger.debug("[{}] Token acquired.", debugId); return true; - } private boolean useToken() { diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxResponse.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxResponse.java index 07db405306860..595e7b15d47fb 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxResponse.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxResponse.java @@ -117,7 +117,7 @@ public String getValueAsString() { * Deserializes response value as a given type * * @param gson GSON object used for deserialization - * @param class to deserialize response to + * @param class to deserialize response to * @param type class type to deserialize response to * @return deserialized response */ diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxState.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxState.java index fd2fec2d81baa..2873de6c3015f 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxState.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxState.java @@ -39,8 +39,8 @@ public class LxState { /** * Create a control state object. * - * @param uuid UUID of the state - * @param name name of the state + * @param uuid UUID of the state + * @param name name of the state * @param control control to which this state belongs */ public LxState(LxUuid uuid, String name, LxControl control) { diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxTemperatureHSBType.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxTemperatureHSBType.java index 1360c63a8c58d..7af1e4839dd5b 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxTemperatureHSBType.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxTemperatureHSBType.java @@ -49,11 +49,11 @@ public static HSBType fromBrightnessTemperature(String value) { * Re-maps a number from one range to another. That is, a value of fromLow would get mapped to toLow, a value of * fromHigh to toHigh, values in-between to values in-between, etc. * - * @param x the number to map - * @param fromLow the lower bound of the value's current range + * @param x the number to map + * @param fromLow the lower bound of the value's current range * @param fromHigh the upper bound of the value's current range - * @param toLow the lower bound of the value's target range - * @param toHigh the upper bound of the value's target range + * @param toLow the lower bound of the value's target range + * @param toHigh the upper bound of the value's target range * @return the mapped value */ private static int map(int x, int fromLow, int fromHigh, int toLow, int toHigh) { @@ -124,7 +124,7 @@ private static int calculateBlue(int temp) { /** * Constrains a number to be within a range. * - * @param x the number to constrain + * @param x the number to constrain * @param min the minimum value * @param max the maximum value * @return the constrained value @@ -138,5 +138,4 @@ private static int constrain(int x, int min, int max) { return max; } } - } diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsBinaryHeader.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsBinaryHeader.java index c8af7b3c7adbc..6e7135a3b55aa 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsBinaryHeader.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsBinaryHeader.java @@ -26,33 +26,33 @@ public class LxWsBinaryHeader { * */ public enum LxWsMessageType { - /** - * Text message - jetty websocket client will pass it on automatically to a callback - */ - TEXT_MESSAGE, - /** - * Binary file - */ - BINARY_FILE, - /** - * A set of value states for controls that changed their state - */ - EVENT_TABLE_OF_VALUE_STATES, - /** - * A set of text states for controls that changed their state - */ - EVENT_TABLE_OF_TEXT_STATES, - EVENT_TABLE_OF_DAYTIMER_STATES, - OUT_OF_SERVICE_INDICATOR, - /** - * Response to keepalive request message - */ - KEEPALIVE_RESPONSE, - EVENT_TABLE_OF_WEATHER_STATES, - /** - * Unknown header - */ - UNKNOWN + /** + * Text message - jetty websocket client will pass it on automatically to a callback + */ + TEXT_MESSAGE, + /** + * Binary file + */ + BINARY_FILE, + /** + * A set of value states for controls that changed their state + */ + EVENT_TABLE_OF_VALUE_STATES, + /** + * A set of text states for controls that changed their state + */ + EVENT_TABLE_OF_TEXT_STATES, + EVENT_TABLE_OF_DAYTIMER_STATES, + OUT_OF_SERVICE_INDICATOR, + /** + * Response to keepalive request message + */ + KEEPALIVE_RESPONSE, + EVENT_TABLE_OF_WEATHER_STATES, + /** + * Unknown header + */ + UNKNOWN } private LxWsMessageType type = LxWsMessageType.UNKNOWN; diff --git a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsSecurityType.java b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsSecurityType.java index 08debdd4b7786..d134cfd796bc1 100644 --- a/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsSecurityType.java +++ b/bundles/org.openhab.binding.loxone/src/main/java/org/openhab/binding/loxone/internal/types/LxWsSecurityType.java @@ -31,11 +31,12 @@ public enum LxWsSecurityType { * Token-based authentication with AES-256 command encryption */ TOKEN; + /** * Encode security type based on index * * @param index - * 0 for auto, 1 for hash, 2 for token + * 0 for auto, 1 for hash, 2 for token * @return * security type fo given index */ diff --git a/bundles/org.openhab.binding.loxone/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.loxone/src/main/resources/ESH-INF/thing/thing-types.xml index 47f1c4df36982..52ef9ccf6c210 100644 --- a/bundles/org.openhab.binding.loxone/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.loxone/src/main/resources/ESH-INF/thing/thing-types.xml @@ -62,7 +62,8 @@ password - User password on the Loxone Miniserver. In token-based authentication this password will be cleared after token is acquired. + User password on the Loxone Miniserver. In token-based authentication this password will be cleared + after token is acquired. @@ -92,12 +93,14 @@ - Time in seconds between user login error as a result of wrong name/password or no authority and next connection attempt (seconds, 0-3600) + Time in seconds between user login error as a result of wrong name/password or no authority and next + connection attempt (seconds, 0-3600) 60 - Time between connection close (as a result of some communication error) and next connection attempt (seconds, 0-3600) + Time between connection close (as a result of some communication error) and next connection attempt + (seconds, 0-3600) 30 @@ -124,7 +127,7 @@ Switch Loxone's digital information controls (InfoOnlyDigital, read-only). - + @@ -137,7 +140,7 @@ String Loxone's state information controls (TextState, read-only). - + @@ -150,14 +153,14 @@ Number Loxone's time counter (TimedSwitch, read-only). - + Number Loxone's state information controls (InfoOnlyAnalog, read-only). - + @@ -184,7 +187,7 @@ Number Loxone's radio button controls (Radio). - + @@ -253,8 +256,7 @@ Number Loxone Intelligent Room Controller V2 Comfort Tolerance. - + - diff --git a/bundles/org.openhab.binding.loxone/src/test/java/org/openhab/binding/loxone/internal/controls/LxServerHandlerDummy.java b/bundles/org.openhab.binding.loxone/src/test/java/org/openhab/binding/loxone/internal/controls/LxServerHandlerDummy.java index 04c74a58bbc36..d3644acfdaeeb 100644 --- a/bundles/org.openhab.binding.loxone/src/test/java/org/openhab/binding/loxone/internal/controls/LxServerHandlerDummy.java +++ b/bundles/org.openhab.binding.loxone/src/test/java/org/openhab/binding/loxone/internal/controls/LxServerHandlerDummy.java @@ -97,7 +97,6 @@ public void removeControl(LxControl control) { @Override public void setChannelState(ChannelUID channelId, State state) { // TODO Auto-generated method stub - } @Override @@ -116,7 +115,6 @@ public String getSetting(String name) { @Override public void setSettings(Map properties) { // TODO Auto-generated method stub - } @Override diff --git a/bundles/org.openhab.binding.lutron/pom.xml b/bundles/org.openhab.binding.lutron/pom.xml index bd7f47cc67414..e5684d34f3ae3 100644 --- a/bundles/org.openhab.binding.lutron/pom.xml +++ b/bundles/org.openhab.binding.lutron/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.lutron/src/main/feature/feature.xml b/bundles/org.openhab.binding.lutron/src/main/feature/feature.xml index 54f387eaac281..22b267a7e26c4 100644 --- a/bundles/org.openhab.binding.lutron/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.lutron/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.lutron/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.lutron/${project.version} + diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/GreenMode.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/GreenMode.java index 30c8eea2ea431..eb8d75ac0c18b 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/GreenMode.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/GreenMode.java @@ -30,5 +30,4 @@ public String getName() { public Integer getIntegrationId() { return integrationId; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Project.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Project.java index a297e3bfde2ec..a059ea85c7132 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Project.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Project.java @@ -48,5 +48,4 @@ public List getTimeclocks() { public List getGreenModes() { return greenmodes != null ? greenmodes : Collections. emptyList(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Timeclock.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Timeclock.java index 151f70f750b05..f96fa2314822e 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Timeclock.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/discovery/project/Timeclock.java @@ -29,5 +29,4 @@ public String getName() { public Integer getIntegrationId() { return integrationId; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeConfig.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeConfig.java index c4b52bc42dc2d..6dc8bac86b673 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeConfig.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeConfig.java @@ -175,5 +175,4 @@ public int getPolling() { public void setPolling(int polling) { this.polling = polling; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeHandler.java index 0f77ded220952..bf2b41239717d 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/GrafikEyeHandler.java @@ -222,7 +222,7 @@ private void handleRefresh(String id) { /** * Gets the trailing number from the channel id (which usually represents the zone number). * - * @param id a non-null, possibly empty channel id + * @param id a non-null, possibly empty channel id * @param channelConstant a non-null, non-empty channel id constant to use in the parse. * @return the trailing number or null if a parse exception occurs */ @@ -311,7 +311,6 @@ public void run() { if (status == ThingStatus.ONLINE && _config != null) { getProtocolHandler().refreshState(_config.getControlUnit()); } - } }, 1, _config.getPolling(), TimeUnit.SECONDS); } @@ -368,7 +367,7 @@ boolean isShade(int zone) { * Helper method to expose the ability to change state outside of the class * * @param channelId the channel id - * @param state the new state + * @param state the new state */ void stateChanged(String channelId, State state) { updateState(channelId, state); diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgBridgeHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgBridgeHandler.java index 3ef13701beea7..c8bec6438b295 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgBridgeHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgBridgeHandler.java @@ -253,7 +253,6 @@ public void initialize() { public void run() { connect(); } - }, 1, TimeUnit.SECONDS); } @@ -318,7 +317,6 @@ public void run() { _retryConnection = null; connect(); } - }, config.getRetryPolling(), TimeUnit.SECONDS); } } else { diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgHandlerCallback.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgHandlerCallback.java index 25d6208f4422e..ff420335c33b8 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgHandlerCallback.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgHandlerCallback.java @@ -31,7 +31,7 @@ interface PrgHandlerCallback { * * @param status a non-null {@link org.eclipse.smarthome.core.thing.ThingStatus} * @param detail a non-null {@link org.eclipse.smarthome.core.thing.ThingStatusDetail} - * @param msg a possibly null, possibly empty message + * @param msg a possibly null, possibly empty message */ void statusChanged(ThingStatus status, ThingStatusDetail detail, String msg); @@ -39,7 +39,7 @@ interface PrgHandlerCallback { * Callback to the {@link PrgBridgeHandler} to update the state of an item * * @param channelId the non-null, non-empty channel id - * @param state the new non-null {@State} + * @param state the new non-null {@State} */ void stateChanged(String channelId, State state); @@ -47,8 +47,8 @@ interface PrgHandlerCallback { * Callback to the {@link PrgBridgeHandler} to update the state of an item in a specific {@link GrafikEyeHandler}. * * @param controlUnit the control unit identifier to update - * @param channelId the non-null, non-empty channel id - * @param state the new non-null {@State} + * @param channelId the non-null, non-empty channel id + * @param state the new non-null {@State} */ void stateChanged(int controlUnit, String channelId, State state); @@ -57,7 +57,7 @@ interface PrgHandlerCallback { * or not * * @param controlUnit the control unit identifier - * @param zone the zone identify + * @param zone the zone identify * @return true if a shade zone, false otherwise */ boolean isShade(int controlUnit, int zone); diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgProtocolHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgProtocolHandler.java index 45cf23ccd2baf..a1485fdc23120 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgProtocolHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/grxprg/PrgProtocolHandler.java @@ -377,7 +377,6 @@ private void validateZone(int zone) { if (zone < 1 || zone > 8) { throw new IllegalArgumentException("Invalid zone (must be between 1 and 8): " + zone); } - } /** @@ -1168,7 +1167,6 @@ public void responseException(Exception exception) { _callback.statusChanged(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Exception occurred reading from PRG: " + exception); } - } /** @@ -1220,6 +1218,5 @@ public void responseException(Exception e) { } catch (InterruptedException e1) { } } - } } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/BaseKeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/BaseKeypadHandler.java index bd44664c79680..80152256442ff 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/BaseKeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/BaseKeypadHandler.java @@ -402,5 +402,4 @@ public void handleUpdate(LutronCommandType type, String... parameters) { } } } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/CcoHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/CcoHandler.java index dca2a8cbba444..26b0bfbc9c2ae 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/CcoHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/CcoHandler.java @@ -206,5 +206,4 @@ public void handleUpdate(LutronCommandType type, String... parameters) { } } } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/GrafikEyeKeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/GrafikEyeKeypadHandler.java index 505a50f589bd3..fa067ba8978cf 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/GrafikEyeKeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/GrafikEyeKeypadHandler.java @@ -61,5 +61,4 @@ public GrafikEyeKeypadHandler(Thing thing) { super(thing); kp = new KeypadConfigGrafikEye(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/IntlKeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/IntlKeypadHandler.java index 16bfe6de1e12c..2edf6a7441726 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/IntlKeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/IntlKeypadHandler.java @@ -64,5 +64,4 @@ public IntlKeypadHandler(Thing thing) { super(thing); kp = new KeypadConfigIntlSeetouch(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/KeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/KeypadHandler.java index 37d112542149d..14b0d153ce66b 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/KeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/KeypadHandler.java @@ -107,5 +107,4 @@ public KeypadHandler(Thing thing) { super(thing); kp = new KeypadConfigSeetouch(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/LutronHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/LutronHandler.java index b6240738e77f6..c4dc311ef0b1d 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/LutronHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/LutronHandler.java @@ -124,5 +124,4 @@ protected void queryTimeclock(Object... parameters) { protected void queryGreenMode(Object... parameters) { sendCommand(new LutronCommand(LutronOperation.QUERY, LutronCommandType.MODE, getIntegrationId(), parameters)); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/MaintainedCcoHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/MaintainedCcoHandler.java index 58bd7e7c3220b..659dc679ab3bb 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/MaintainedCcoHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/MaintainedCcoHandler.java @@ -27,5 +27,4 @@ public MaintainedCcoHandler(Thing thing) { super(thing); this.outputType = CcoOutputType.MAINTAINED; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/OccupancySensorHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/OccupancySensorHandler.java index 3d57c588c5b25..38df645c5ddd4 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/OccupancySensorHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/OccupancySensorHandler.java @@ -90,5 +90,4 @@ public void handleUpdate(LutronCommandType type, String... parameters) { } } } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PalladiomKeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PalladiomKeypadHandler.java index 082f6951affc6..37455e0ad2efa 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PalladiomKeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PalladiomKeypadHandler.java @@ -67,5 +67,4 @@ public PalladiomKeypadHandler(Thing thing) { super(thing); kp = new KeypadConfigPalladiom(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PicoKeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PicoKeypadHandler.java index b32787ee8ef94..15869558f4393 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PicoKeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PicoKeypadHandler.java @@ -56,5 +56,4 @@ protected void configureComponents(@Nullable String model) { break; } } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PulsedCcoHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PulsedCcoHandler.java index a0954467063e2..2a4ab1b3a06c9 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PulsedCcoHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/PulsedCcoHandler.java @@ -27,5 +27,4 @@ public PulsedCcoHandler(Thing thing) { super(thing); this.outputType = CcoOutputType.PULSED; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/QSIOHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/QSIOHandler.java index d879cb0aef41a..40510db1586b2 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/QSIOHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/QSIOHandler.java @@ -97,5 +97,4 @@ protected void configureComponents(@Nullable String model) { public QSIOHandler(Thing thing) { super(thing); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TabletopKeypadHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TabletopKeypadHandler.java index c4d15e2f45ed6..dc4ffdb945ef2 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TabletopKeypadHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TabletopKeypadHandler.java @@ -61,5 +61,4 @@ public TabletopKeypadHandler(Thing thing) { super(thing); kp = new KeypadConfigTabletopSeetouch(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TimeclockHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TimeclockHandler.java index d78afeb458398..598e127b89c53 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TimeclockHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/TimeclockHandler.java @@ -207,5 +207,4 @@ public void handleUpdate(LutronCommandType type, String... parameters) { return; } } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/VcrxHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/VcrxHandler.java index 08c8d2834e2bf..dadc4b29a5710 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/VcrxHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/VcrxHandler.java @@ -122,5 +122,4 @@ protected void configureComponents(@Nullable String model) { public VcrxHandler(Thing thing) { super(thing); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/WciHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/WciHandler.java index 555246d8ff42e..348b720d1c1a8 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/WciHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/handler/WciHandler.java @@ -118,5 +118,4 @@ protected void configureComponents(@Nullable String model) { public WciHandler(Thing thing) { super(thing); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/hw/HwSerialBridgeHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/hw/HwSerialBridgeHandler.java index dd887747c034a..b050783421712 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/hw/HwSerialBridgeHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/hw/HwSerialBridgeHandler.java @@ -201,7 +201,6 @@ private void handleIncomingMessage(String line) { logger.error("Error parsing incoming message", e); } } - } private HwDimmerHandler findHandler(String address) { @@ -267,5 +266,4 @@ public void dispose() { logger.debug("Finished disposing bridge."); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigGrafikEye.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigGrafikEye.java index 50f1e23826e70..c6bb0c4cb09b4 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigGrafikEye.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigGrafikEye.java @@ -153,5 +153,4 @@ public KeypadConfigGrafikEye() { modelData.put("3COL", combinedList(SCENE_BUTTON_GROUP, COL1_BUTTON_GROUP, COL2_BUTTON_GROUP, COL3_BUTTON_GROUP, CCI_GROUP, SCENE_LED_GROUP, COL1_LED_GROUP, COL2_LED_GROUP, COL3_LED_GROUP)); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigTabletopSeetouch.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigTabletopSeetouch.java index 673d751966d5d..52538331fda97 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigTabletopSeetouch.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/keypadconfig/KeypadConfigTabletopSeetouch.java @@ -164,5 +164,4 @@ public KeypadConfigTabletopSeetouch() { modelData.put("Generic", combinedList(BUTTONGROUP1, BUTTONGROUP2, BUTTONGROUP3, BUTTONGROUPBOTTOM_GENERIC, LEDGROUP1, LEDGROUP2, LEDGROUP3, LEDGROUPBOTTOM_RL)); // Superset of all models } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232Connection.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232Connection.java index 588892ff75662..1835af19f50f3 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232Connection.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232Connection.java @@ -147,5 +147,4 @@ public void serialEvent(SerialPortEvent ev) { public void setListener(RadioRAFeedbackListener listener) { this.listener = listener; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232MessageParser.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232MessageParser.java index 30b6abd27e899..b43cc24755bed 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232MessageParser.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RS232MessageParser.java @@ -61,5 +61,4 @@ protected String parsePrefix(String msg) { return arr[0]; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnection.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnection.java index 99c98e2d8ecdd..db769edcabd24 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnection.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnection.java @@ -27,5 +27,4 @@ public interface RadioRAConnection { public void write(String command); public void setListener(RadioRAFeedbackListener listener); - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnectionException.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnectionException.java index b54b435319fde..2211ce326ea01 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnectionException.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConnectionException.java @@ -25,5 +25,4 @@ public class RadioRAConnectionException extends Exception { public RadioRAConnectionException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConstants.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConstants.java index 86523234d1482..695b62737543b 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConstants.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAConstants.java @@ -32,5 +32,4 @@ public class RadioRAConstants { "ra-switch"); public static final ThingTypeUID THING_TYPE_PHANTOM = new ThingTypeUID(LutronBindingConstants.BINDING_ID, "ra-phantomButton"); - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAFeedbackListener.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAFeedbackListener.java index 2e30348d0b6fd..9019756e25606 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAFeedbackListener.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/RadioRAFeedbackListener.java @@ -23,5 +23,4 @@ public interface RadioRAFeedbackListener { void handleRadioRAFeedback(RadioRAFeedback feedback); - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/DimmerConfig.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/DimmerConfig.java index 8b7c5c8f64331..4acf553982067 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/DimmerConfig.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/DimmerConfig.java @@ -48,5 +48,4 @@ public BigDecimal getFadeInSec() { public void setFadeInSec(BigDecimal fadeInSec) { this.fadeInSec = fadeInSec; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/PhantomButtonConfig.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/PhantomButtonConfig.java index 3341c63d3507c..51734bf1eaa13 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/PhantomButtonConfig.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/PhantomButtonConfig.java @@ -40,5 +40,4 @@ public BigDecimal getFadeSec() { public void setFadeSec(BigDecimal fadeSec) { this.fadeSec = fadeSec; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/RS232Config.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/RS232Config.java index acdd990afb5d4..c647c1a13e76f 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/RS232Config.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/RS232Config.java @@ -47,5 +47,4 @@ public int getZoneMapQueryInterval() { public void setZoneMapQueryInterval(int zoneMapQueryInterval) { this.zoneMapQueryInterval = zoneMapQueryInterval; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/SwitchConfig.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/SwitchConfig.java index e548f47d86baa..b58dc02064edb 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/SwitchConfig.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/config/SwitchConfig.java @@ -29,5 +29,4 @@ public int getZoneNumber() { public void setZoneNumber(int zoneNumber) { this.zoneNumber = zoneNumber; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/PhantomButtonHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/PhantomButtonHandler.java index 0eb4c3f9a2748..2fd9a48247a7b 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/PhantomButtonHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/PhantomButtonHandler.java @@ -51,7 +51,6 @@ public void handleFeedback(RadioRAFeedback feedback) { if (feedback instanceof LEDMapFeedback) { handleLEDMapFeedback((LEDMapFeedback) feedback); } - } private void handleLEDMapFeedback(LEDMapFeedback feedback) { @@ -59,5 +58,4 @@ private void handleLEDMapFeedback(LEDMapFeedback feedback) { updateState(LutronBindingConstants.CHANNEL_SWITCH, zoneEnabled ? OnOffType.ON : OnOffType.OFF); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/SwitchHandler.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/SwitchHandler.java index 6e1eae9f469f0..228478ab8de75 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/SwitchHandler.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/handler/SwitchHandler.java @@ -58,7 +58,6 @@ public void handleFeedback(RadioRAFeedback feedback) { } else if (feedback instanceof ZoneMapFeedback) { handleZoneMapFeedback((ZoneMapFeedback) feedback); } - } private void handleZoneMapFeedback(ZoneMapFeedback feedback) { @@ -80,5 +79,4 @@ private void handleLocalZoneChangeFeedback(LocalZoneChangeFeedback feedback) { updateState(LutronBindingConstants.CHANNEL_SWITCH, OnOffType.valueOf(feedback.getState().toString())); } } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ButtonPressCommand.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ButtonPressCommand.java index 829f6fe34cbc4..947811c3a0106 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ButtonPressCommand.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ButtonPressCommand.java @@ -60,5 +60,4 @@ public List getArgs() { return args; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LEDMapFeedback.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LEDMapFeedback.java index 89cd46230fcdb..aa8314f6b1d5b 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LEDMapFeedback.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LEDMapFeedback.java @@ -55,5 +55,4 @@ public char getZoneValue(int zone) { return bitmap.charAt(zone - 1); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LocalZoneChangeFeedback.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LocalZoneChangeFeedback.java index c809f9ed515b9..703ffe604e5c1 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LocalZoneChangeFeedback.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/LocalZoneChangeFeedback.java @@ -65,5 +65,4 @@ public State getState() { public int getZoneNumber() { return zoneNumber; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRACommand.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRACommand.java index b12b66f1acf35..9dd6d7eff8aa4 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRACommand.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRACommand.java @@ -44,5 +44,4 @@ public String toString() { return str.toString(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRAFeedback.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRAFeedback.java index 581b524bf8b3a..4e34fd4503ef3 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRAFeedback.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/RadioRAFeedback.java @@ -28,5 +28,4 @@ public String[] parse(String msg, int numParams) { return params; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetDimmerLevelCommand.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetDimmerLevelCommand.java index 3393939979275..ab59f27111757 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetDimmerLevelCommand.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetDimmerLevelCommand.java @@ -54,5 +54,4 @@ public List getArgs() { return args; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetSwitchLevelCommand.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetSwitchLevelCommand.java index b1069eb1d6458..d72d3ec67dcce 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetSwitchLevelCommand.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/SetSwitchLevelCommand.java @@ -56,5 +56,4 @@ public List getArgs() { return args; } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapFeedback.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapFeedback.java index a3692959163e5..28a7a97841ba3 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapFeedback.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapFeedback.java @@ -55,5 +55,4 @@ public char getZoneValue(int zone) { return zoneStates.charAt(zone - 1); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapInquiryCommand.java b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapInquiryCommand.java index 4184e4d150f78..becf27d649031 100644 --- a/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapInquiryCommand.java +++ b/bundles/org.openhab.binding.lutron/src/main/java/org/openhab/binding/lutron/internal/radiora/protocol/ZoneMapInquiryCommand.java @@ -32,5 +32,4 @@ public String getCommand() { public List getArgs() { return Collections.emptyList(); } - } diff --git a/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/binding/binding.xml index 4f6a48cff4fae..7316f34cddbe2 100644 --- a/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/binding/binding.xml @@ -1,11 +1,11 @@ - + Lutron Binding - The Lutron binding interfaces with Lutron lighting control and home automation systems such as RadioRA, RadioRA 2, HomeWorks, HomeWorks QS, RA2 Select, Caseta, and GRAFIK Eye. + The Lutron binding interfaces with Lutron lighting control and home automation systems such as RadioRA, + RadioRA 2, HomeWorks, HomeWorks QS, RA2 Select, Caseta, and GRAFIK Eye. Allan Tong, Bob Adair diff --git a/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/thing/thing-types.xml index 8198145c634f4..5b7673f6fec58 100644 --- a/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.lutron/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -697,7 +697,8 @@ - The user name to log in to the PRG access point (typically "nwk" for connection 1 or "nwk2" for connection 2) + The user name to log in to the PRG access point (typically "nwk" for connection 1 or "nwk2" for + connection 2) nwk @@ -891,7 +892,8 @@ The serial port name for the HomeWorks processor. Valid values - are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux. + are e.g. COM1 for Windows and /dev/ttyS0 + or /dev/ttyUSB0 for Linux. @@ -899,7 +901,8 @@ The baud rate to use for the RS232 connection. - Valid values are 300, 600, 1200, 2400, 4800, 9600 (default), + Valid values are 300, 600, 1200, 2400, 4800, 9600 + (default), 19200, 38400, 57600, and 115200. 9600 @@ -923,8 +926,10 @@ The older HomeWorks processors seem to have difficulty keeping track of the time, - especially where daylight savings is concerned. If this option is selected, the HomeWorks - bridge will automatically update the processor on initialization and once per day thereafter. + especially where + daylight savings is concerned. If this option is selected, the HomeWorks + bridge will automatically update the + processor on initialization and once per day thereafter. @@ -933,14 +938,14 @@ - + Controls dimmable loads - + @@ -1207,7 +1212,7 @@ Somenumber - + @@ -1256,7 +1261,8 @@ Number - Specifies the fade (in seconds [truncated to nearest minute if more than 60 seconds]) when applying intensity changes + Specifies the fade (in seconds [truncated to nearest minute if more than 60 seconds]) when applying + intensity changes Zone diff --git a/bundles/org.openhab.binding.mail/pom.xml b/bundles/org.openhab.binding.mail/pom.xml index 32ae63f3a3312..158a439111812 100644 --- a/bundles/org.openhab.binding.mail/pom.xml +++ b/bundles/org.openhab.binding.mail/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mail/src/main/feature/feature.xml b/bundles/org.openhab.binding.mail/src/main/feature/feature.xml index c4bf2fe840be8..08d40165adcc6 100644 --- a/bundles/org.openhab.binding.mail/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.mail/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:com.sun.mail/javax.mail/1.6.2 - mvn:org.openhab.addons.bundles/org.openhab.binding.mail/${project.version} - + + openhab-runtime-base + mvn:com.sun.mail/javax.mail/1.6.2 + mvn:org.openhab.addons.bundles/org.openhab.binding.mail/${project.version} + diff --git a/bundles/org.openhab.binding.mail/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.mail/src/main/resources/ESH-INF/binding/binding.xml index 6cbb270db2c11..f374815dc7fa7 100644 --- a/bundles/org.openhab.binding.mail/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.mail/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,5 @@ - diff --git a/bundles/org.openhab.binding.mail/src/test/java/org/openhab/binding/mail/MailBuilderTest.java b/bundles/org.openhab.binding.mail/src/test/java/org/openhab/binding/mail/MailBuilderTest.java index 825ceb1a64160..b4d79bc742030 100644 --- a/bundles/org.openhab.binding.mail/src/test/java/org/openhab/binding/mail/MailBuilderTest.java +++ b/bundles/org.openhab.binding.mail/src/test/java/org/openhab/binding/mail/MailBuilderTest.java @@ -89,5 +89,4 @@ public void fieldsSetInMail() throws EmailException, MessagingException, IOExcep assertEquals(TEST_EMAIL, builder.build().getToAddresses().get(0).getAddress()); assertEquals(2, builder.withRecipients(TEST_EMAIL).build().getToAddresses().size()); } - } diff --git a/bundles/org.openhab.binding.max/pom.xml b/bundles/org.openhab.binding.max/pom.xml index 771a524d98cfb..598c4a1e2730e 100644 --- a/bundles/org.openhab.binding.max/pom.xml +++ b/bundles/org.openhab.binding.max/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.max/src/main/feature/feature.xml b/bundles/org.openhab.binding.max/src/main/feature/feature.xml index 8a1a84b6cc78c..46e8e8aeea16e 100644 --- a/bundles/org.openhab.binding.max/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.max/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.max/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.max/${project.version} + diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/MaxBackupUtils.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/MaxBackupUtils.java index 08548e4b79c98..93a72a9d4d856 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/MaxBackupUtils.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/MaxBackupUtils.java @@ -65,7 +65,6 @@ public void buildBackup(String msgLine) { inProgress = false; saveMsg(msg.toString(), cube); } - } private void saveMsg(String data, String cube) { diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ACommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ACommand.java index cad27ec20d264..051ee41e62cda 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ACommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ACommand.java @@ -28,5 +28,4 @@ public String getCommandString() { public String getReturnStrings() { return "A:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CCommand.java index 126616bb5fb17..4fcfe81cd0e8f 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CCommand.java @@ -34,5 +34,4 @@ public String getCommandString() { public String getReturnStrings() { return "C:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CubeCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CubeCommand.java index 32c83d17181f8..7c9ce357af9fc 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CubeCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/CubeCommand.java @@ -30,5 +30,4 @@ public abstract class CubeCommand { * end of the message */ public abstract String getReturnStrings(); - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/FCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/FCommand.java index 41c6dfb5823cb..d098cac6f0741 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/FCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/FCommand.java @@ -52,5 +52,4 @@ public String getCommandString() { public String getReturnStrings() { return "F:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/LCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/LCommand.java index 15515a5f99e53..bb9e96b38973f 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/LCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/LCommand.java @@ -28,5 +28,4 @@ public String getCommandString() { public String getReturnStrings() { return "L:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/MCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/MCommand.java index 2b0b6e491b440..6e08679e47be1 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/MCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/MCommand.java @@ -181,5 +181,4 @@ public String getCommandString() { public String getReturnStrings() { return "A:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/NCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/NCommand.java index 326355ed63013..2b58beb6bedf6 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/NCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/NCommand.java @@ -32,5 +32,4 @@ public String getCommandString() { public String getReturnStrings() { return "N:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/TCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/TCommand.java index 7698c928454c5..486f8a88fbda0 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/TCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/TCommand.java @@ -61,5 +61,4 @@ public String getCommandString() { public String getReturnStrings() { return "A:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/UdpCubeCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/UdpCubeCommand.java index 30489d081c4d0..35ad91e50a69f 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/UdpCubeCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/UdpCubeCommand.java @@ -223,7 +223,6 @@ private void sendUdpCommand(String commandString, String ipAddress) { // Ignore } } - } /** @@ -244,5 +243,4 @@ public void setIpAddress(String ipAddress) { public Map getCommandResponse() { return commandResponse; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ZCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ZCommand.java index b427f169e8b70..93e9a4b3a7dde 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ZCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/command/ZCommand.java @@ -87,5 +87,4 @@ public String getCommandString() { public String getReturnStrings() { return "A:"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/config/MaxCubeBridgeConfiguration.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/config/MaxCubeBridgeConfiguration.java index 787e4c2c68d13..405ee14d9389b 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/config/MaxCubeBridgeConfiguration.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/config/MaxCubeBridgeConfiguration.java @@ -59,5 +59,4 @@ public class MaxCubeBridgeConfiguration { /** NTP Server 2 hostname */ public String ntpServer2; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/DeviceConfiguration.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/DeviceConfiguration.java index 15e77ee784c18..a2f723c77a976 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/DeviceConfiguration.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/DeviceConfiguration.java @@ -126,5 +126,4 @@ public Map getProperties() { public void setProperties(HashMap properties) { this.properties = properties; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/HeatingThermostat.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/HeatingThermostat.java index 0972037b82665..3c19fd2e6116a 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/HeatingThermostat.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/HeatingThermostat.java @@ -173,5 +173,4 @@ public Date getActualTempLastUpdated() { public void setActualTempLastUpdated(Date actualTempLastUpdated) { this.actualTempLastUpdated = actualTempLastUpdated; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/ShutterContact.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/ShutterContact.java index a18796aecfd22..a5600cf341c6b 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/ShutterContact.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/ShutterContact.java @@ -43,5 +43,4 @@ public OpenClosedType getShutterState() { public DeviceType getType() { return DeviceType.ShutterContact; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/UnsupportedDevice.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/UnsupportedDevice.java index 9859686695450..6e217a45e036f 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/UnsupportedDevice.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/device/UnsupportedDevice.java @@ -34,5 +34,4 @@ public DeviceType getType() { public String getName() { return "Unsupported device"; } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/discovery/MaxCubeBridgeDiscovery.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/discovery/MaxCubeBridgeDiscovery.java index a4ebd2d8304e7..df4cc4557418e 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/discovery/MaxCubeBridgeDiscovery.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/discovery/MaxCubeBridgeDiscovery.java @@ -217,5 +217,4 @@ private void sendDiscoveryMessage(String discoverString) { logger.debug("IO error during MAX! Cube discovery: {}", e.getMessage()); } } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncompleteMessageException.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncompleteMessageException.java index 2cdf5c067cb42..9b3f59a0c4ad1 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncompleteMessageException.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncompleteMessageException.java @@ -24,5 +24,4 @@ public class IncompleteMessageException extends Exception { * required variable to avoid IncorrectMultilineIndexException warning */ private static final long serialVersionUID = -8882867114144637120L; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncorrectMultilineIndexException.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncorrectMultilineIndexException.java index feb0229c35a73..12facda5d49db 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncorrectMultilineIndexException.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/IncorrectMultilineIndexException.java @@ -24,5 +24,4 @@ public class IncorrectMultilineIndexException extends Exception { * required variable to avoid IncorrectMultilineIndexException warning */ private static final long serialVersionUID = 3102159039702650238L; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/MessageIsWaitingException.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/MessageIsWaitingException.java index 4218b9db5658a..9614ee081f7a9 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/MessageIsWaitingException.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/MessageIsWaitingException.java @@ -25,5 +25,4 @@ public class MessageIsWaitingException extends Exception { * required variable to avoid IncorrectMultilineIndexException warning */ private static final long serialVersionUID = -7317329978634583853L; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/NoMessageAvailableException.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/NoMessageAvailableException.java index c4b61dfaa119a..4ac0fae214b09 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/NoMessageAvailableException.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/NoMessageAvailableException.java @@ -24,5 +24,4 @@ public class NoMessageAvailableException extends Exception { * required variable to avoid IncorrectMultilineIndexException warning */ private static final long serialVersionUID = -7663390696233390452L; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnprocessableMessageException.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnprocessableMessageException.java index 71f4d99b96e88..cd1ac601a2bb0 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnprocessableMessageException.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnprocessableMessageException.java @@ -24,5 +24,4 @@ public class UnprocessableMessageException extends Exception { * required variable to avoid IncorrectMultilineIndexException warning */ private static final long serialVersionUID = -9071779402960309265L; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnsupportedMessageTypeException.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnsupportedMessageTypeException.java index c9c32e877922e..07f02ee48e5a7 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnsupportedMessageTypeException.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/exceptions/UnsupportedMessageTypeException.java @@ -24,5 +24,4 @@ public class UnsupportedMessageTypeException extends Exception { * required variable to avoid IncorrectMultilineIndexException warning */ private static final long serialVersionUID = -5163044407682700913L; - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/factory/MaxCubeHandlerFactory.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/factory/MaxCubeHandlerFactory.java index 24f359918e50c..8b9805c47c695 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/factory/MaxCubeHandlerFactory.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/factory/MaxCubeHandlerFactory.java @@ -122,5 +122,4 @@ protected ThingHandler createHandler(Thing thing) { return null; } } - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/DeviceStatusListener.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/DeviceStatusListener.java index 34abe0f719c47..0c8f57b5647ec 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/DeviceStatusListener.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/DeviceStatusListener.java @@ -64,5 +64,4 @@ public interface DeviceStatusListener { * The device which config is changed. */ public void onDeviceConfigUpdate(Bridge bridge, Device device); - } diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java index b7f6c1153e1db..59dbe809f1606 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/MaxCubeBridgeHandler.java @@ -292,7 +292,6 @@ private void cubeConfigReset() { clearDeviceList(); propertiesSet = false; roomPropertiesSet = false; - } public void cubeReboot() { @@ -981,7 +980,6 @@ private void sendNtpUpdate(Map configurationParameters) { } queueCommand(new SendCommand("Cube(" + getThing().getUID().getId() + ")", new FCommand(ntpServer1, ntpServer2), "Update NTP info")); - } private boolean socketConnect() throws UnknownHostException, IOException { diff --git a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/SendCommand.java b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/SendCommand.java index 673cc8870bb45..55942ea9ae550 100644 --- a/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/SendCommand.java +++ b/bundles/org.openhab.binding.max/src/main/java/org/openhab/binding/max/internal/handler/SendCommand.java @@ -126,5 +126,4 @@ public String toString() { .append("cubeCommand", cubeCommand).append("serialNumber", serialNumber).append("key", key) .append("commandText", commandText).toString(); } - } diff --git a/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/binding/binding.xml index a7c069fb17c81..e083cf4cbb681 100644 --- a/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + MAX! Binding This is the binding for the eQ-3 MAX! Home Solution. diff --git a/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/bridge.xml index 906f04774cd5d..14398467d7440 100644 --- a/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/bridge.xml @@ -9,8 +9,8 @@ - - + + serialNumber @@ -121,14 +121,14 @@ Number Free memory slots to store commands send to the devices - + Number Duty Cycle for sending commands to the devices - + diff --git a/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/thing-types.xml index 697fd28bfdf9b..b07796a65a229 100644 --- a/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.max/src/main/resources/ESH-INF/thing/thing-types.xml @@ -5,19 +5,19 @@ - + This is a MAX! HeatingThermostat - - - - - - + + + + + + serialNumber @@ -108,9 +108,11 @@ Experimental feature! Rate of the actual refresh in minutes. - 0-9=refresh disabled. Minimum refresh rate once/10 minutes, recommended + 0-9=refresh disabled. Minimum refresh rate + once/10 minutes, recommended 60min. The settings of the heating thermostats are changed to trigger an - update of temperature, as the actual temperature only is updated when the + update of + temperature, as the actual temperature only is updated when the valves changes. 0 true @@ -133,19 +135,19 @@ - + This is a MAX! HeatingThermostat+ - - - - - - + + + + + + serialNumber @@ -237,9 +239,11 @@ Experimental feature! Rate of the actual refresh in minutes. - 0-9=refresh disabled. Minimum refresh rate once/10 minutes, recommended + 0-9=refresh disabled. Minimum refresh rate + once/10 minutes, recommended 60min. The settings of the heating thermostats are changed to trigger an - update of temperature, as the actual temperature only is updated when the + update of + temperature, as the actual temperature only is updated when the valves changes. 0 true @@ -262,19 +266,19 @@ - + This is a MAX! WallThermostat+ - - - - - - + + + + + + serialNumber @@ -327,14 +331,14 @@ - + This is a MAX! EcoSwitch - + serialNumber @@ -371,15 +375,15 @@ - + This is a MAX! Shutter Contact - - + + serialNumber @@ -464,7 +468,7 @@ heating - + @@ -475,7 +479,7 @@ heating - + diff --git a/bundles/org.openhab.binding.mcp23017/pom.xml b/bundles/org.openhab.binding.mcp23017/pom.xml index 8231f440176ce..31aa888ebe1da 100644 --- a/bundles/org.openhab.binding.mcp23017/pom.xml +++ b/bundles/org.openhab.binding.mcp23017/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mcp23017/src/main/feature/feature.xml b/bundles/org.openhab.binding.mcp23017/src/main/feature/feature.xml index 9bfe8060d35c5..0b24b0fbecb9b 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.mcp23017/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.mcp23017/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.mcp23017/${project.version} + diff --git a/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017BindingConstants.java b/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017BindingConstants.java index 482be5071045f..4d2875ab425e3 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017BindingConstants.java +++ b/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017BindingConstants.java @@ -71,5 +71,4 @@ public class Mcp23017BindingConstants { .of(CHANNEL_A0, CHANNEL_A1, CHANNEL_A2, CHANNEL_A3, CHANNEL_A4, CHANNEL_A5, CHANNEL_A6, CHANNEL_A7, CHANNEL_B0, CHANNEL_B1, CHANNEL_B2, CHANNEL_B3, CHANNEL_B4, CHANNEL_B5, CHANNEL_B6, CHANNEL_B7) .collect(Collectors.toSet()); - } diff --git a/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017HandlerFactory.java b/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017HandlerFactory.java index 9546317fd8081..e070f90a8da05 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017HandlerFactory.java +++ b/bundles/org.openhab.binding.mcp23017/src/main/java/org/openhab/binding/mcp23017/internal/Mcp23017HandlerFactory.java @@ -55,5 +55,4 @@ protected ThingHandler createHandler(Thing thing) { logger.debug("No handler match for {}", thingTypeUID.getAsString()); return null; } - } diff --git a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/binding/binding.xml index 32149b2ea6ee7..c9d7afc72b19d 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + MCP23017 Binding This is the binding for MCP23017 I/O expansion chips. diff --git a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/config/config.xml index 8b9814f8144e0..3e7a171ae5db7 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/channels.xml index 4457f2dc9ada2..46108a0c3fc7a 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - @@ -8,22 +9,22 @@ MCP 23017 pins working in DIGITAL_INPUT mode (contact) - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -32,22 +33,22 @@ MCP 23017 pins working in DIGITAL_OUTPUT mode (switch) - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -56,8 +57,8 @@ channel type for MCP23017 pin in DIGITAL_INPUT mode (contact) Contact - - + + @@ -65,8 +66,8 @@ channel type for MCP23017 pin in DIGITAL_INPUT mode (switch) Switch - - + + diff --git a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/thing-types.xml index 9382568e91def..c2cae24a6e6ca 100644 --- a/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.mcp23017/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.melcloud/pom.xml b/bundles/org.openhab.binding.melcloud/pom.xml index 3f60e9ce09d86..ed2b682007b86 100644 --- a/bundles/org.openhab.binding.melcloud/pom.xml +++ b/bundles/org.openhab.binding.melcloud/pom.xml @@ -1,15 +1,17 @@ - + + - 4.0.0 + 4.0.0 - - org.openhab.addons.bundles - org.openhab.addons.reactor.bundles - 2.5.5-SNAPSHOT - + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 2.5.5-SNAPSHOT + - org.openhab.binding.melcloud + org.openhab.binding.melcloud - openHAB Add-ons :: Bundles :: MELCloud Binding + openHAB Add-ons :: Bundles :: MELCloud Binding diff --git a/bundles/org.openhab.binding.melcloud/src/main/feature/feature.xml b/bundles/org.openhab.binding.melcloud/src/main/feature/feature.xml index 4a0e9cd87b42f..7794523ae465a 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.melcloud/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.melcloud/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.melcloud/${project.version} + diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/MelCloudHandlerFactory.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/MelCloudHandlerFactory.java index e69c6a23d67ac..4276675f70e40 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/MelCloudHandlerFactory.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/MelCloudHandlerFactory.java @@ -58,5 +58,4 @@ public boolean supportsThingType(ThingTypeUID thingTypeUID) { return null; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/MelCloudConnection.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/MelCloudConnection.java index c3ef722b104ef..4cd6668073720 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/MelCloudConnection.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/MelCloudConnection.java @@ -185,7 +185,6 @@ public HeatpumpDeviceStatus sendHeatpumpDeviceStatus(HeatpumpDeviceStatus heatpu setConnected(false); throw new MelCloudCommException("Error occurred during heatpump device command sending", e); } - } public synchronized boolean isConnected() { diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Device.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Device.java index ce8bda29cd8f0..611940f509d17 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Device.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Device.java @@ -553,5 +553,4 @@ public Permissions getPermissions() { public void setPermissions(Permissions permissions) { this.permissions = permissions; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/DeviceProps.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/DeviceProps.java index 13b678a07a751..67c9727f18a6b 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/DeviceProps.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/DeviceProps.java @@ -1102,5 +1102,4 @@ public List getUnits() { public void setUnits(List units) { this.units = units; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/LoginData.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/LoginData.java index 2ddefdbd0859d..51f2ab1d0ca51 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/LoginData.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/LoginData.java @@ -506,5 +506,4 @@ public Double getMapLatitude() { public void setMapLatitude(Double mapLatitude) { this.mapLatitude = mapLatitude; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Preset.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Preset.java index f957f0f6cc08b..59d95c7ee831d 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Preset.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Preset.java @@ -154,5 +154,4 @@ public String getNumberDescription() { public void setNumberDescription(String numberDescription) { this.numberDescription = numberDescription; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/QuantizedCoordinates.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/QuantizedCoordinates.java index 908e913dda071..3b9406bca157f 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/QuantizedCoordinates.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/QuantizedCoordinates.java @@ -44,5 +44,4 @@ public Double getLongitude() { public void setLongitude(Double longitude) { this.longitude = longitude; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Structure.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Structure.java index 572847cfa5891..8a2ab1f829ca7 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Structure.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/Structure.java @@ -69,5 +69,4 @@ public List getClients() { public void setClients(List clients) { this.clients = clients; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/WeatherObservation.java b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/WeatherObservation.java index ea57239dd41ab..c6733fc755107 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/WeatherObservation.java +++ b/bundles/org.openhab.binding.melcloud/src/main/java/org/openhab/binding/melcloud/internal/api/json/WeatherObservation.java @@ -143,5 +143,4 @@ public Integer getWeatherType() { public void setWeatherType(Integer weatherType) { this.weatherType = weatherType; } - } diff --git a/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/acDevice.xml b/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/acDevice.xml index 5fd39e12e5480..18c1b34153f42 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/acDevice.xml +++ b/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/acDevice.xml @@ -6,23 +6,23 @@ - + Air conditioning device - - - - - - - - - - - + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/channels.xml index 53ab174f9b92a..c22a0e21c3e67 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/channels.xml @@ -15,28 +15,28 @@ Switch Device has a pending command(s) - + Switch Is device in offline state. - + DateTime Last communication time between device and MELCloud - + DateTime Next communication time between device and MELCloud - + @@ -59,7 +59,7 @@ Number:Temperature Set temperature - + @@ -116,7 +116,7 @@ Number:Temperature Room temperature - + @@ -124,7 +124,7 @@ Number:Temperature Temperature of water i - + @@ -137,14 +137,14 @@ Number:Temperature Room temperature for zone 1 - + Number:Temperature Set temperature for zone 1 - + diff --git a/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/heatpumpDevice.xml b/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/heatpumpDevice.xml index dcc9d7b0ea677..aa0d2faf7c96a 100644 --- a/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/heatpumpDevice.xml +++ b/bundles/org.openhab.binding.melcloud/src/main/resources/ESH-INF/thing/heatpumpDevice.xml @@ -6,21 +6,21 @@ - + Heatpump device - - - - - - - - - + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoblue/pom.xml b/bundles/org.openhab.binding.meteoblue/pom.xml index 1b016bd034a0e..a53981271fcbc 100644 --- a/bundles/org.openhab.binding.meteoblue/pom.xml +++ b/bundles/org.openhab.binding.meteoblue/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.meteoblue/src/main/feature/feature.xml b/bundles/org.openhab.binding.meteoblue/src/main/feature/feature.xml index b4ca47ed78843..9d7ce2580561b 100644 --- a/bundles/org.openhab.binding.meteoblue/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.meteoblue/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.meteoblue/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.meteoblue/${project.version} + diff --git a/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/binding/binding.xml index cc8dacd17c848..2a3563000c185 100644 --- a/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + meteoblue Binding The meteoblue binding retrieves weather information from the meteoblue weather service. diff --git a/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/bridge.xml index cb3f783fbb582..1666bc4e4af80 100644 --- a/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,18 +1,19 @@ - - - - - The meteoblue account holds settings for use with the meteoblue weather service. + + + + + The meteoblue account holds settings for use with the meteoblue weather service. - - - password - - API key to access the meteoblue service - - - + + + password + + API key to access the meteoblue service + + + diff --git a/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/thing-types.xml index 855180564f29a..1c6ad767fc46b 100644 --- a/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.meteoblue/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,13 +1,13 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + @@ -62,7 +62,8 @@ - Time Zone of this location (e.g. America/Louisville). See https://en.wikipedia.org/wiki/List_of_tz_database_time_zones + Time Zone of this location (e.g. America/Louisville). See + https://en.wikipedia.org/wiki/List_of_tz_database_time_zones @@ -71,43 +72,43 @@ - + This is the weather forecast - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -130,7 +131,7 @@ The low temperature Temperature - + @@ -138,7 +139,7 @@ The high temperature Temperature - + @@ -146,7 +147,7 @@ The average temperature Temperature - + @@ -154,7 +155,7 @@ The low "feels like" temperature Temperature - + @@ -162,7 +163,7 @@ The high "feels like" temperature Temperature - + @@ -213,21 +214,21 @@ Maximum wind speed Wind - + Number:Speed Wind - + Number:Speed Wind - + @@ -235,7 +236,7 @@ Low Pressure Pressure - + @@ -243,7 +244,7 @@ High Pressure Pressure - + @@ -251,7 +252,7 @@ Mean Pressure Pressure - + @@ -267,7 +268,7 @@ Prediction of total precipitation Rain - + @@ -275,17 +276,18 @@ Prediction of convective precipitation (rainfall) Rain - + String Precipitation distribution around the location as a 7x7 array, - encoded from south to north and west to east - (e.g. 2112211093222219212110112229922133311912239022192). + encoded from south to north and west to + east + (e.g. 2112211093222219212110112229922133311912239022192). Rain - + @@ -293,7 +295,7 @@ Image representing the Rain Spot precipitation distribution Rain - + @@ -301,7 +303,7 @@ Prediction of the fraction of total precipitation that will fall as snow Rain - + @@ -309,7 +311,7 @@ Prediction of snowfall Rain - + @@ -348,7 +350,7 @@ Number The estimated certainty of the forecast (0 = very low, 5 = very high) - + diff --git a/bundles/org.openhab.binding.meteostick/pom.xml b/bundles/org.openhab.binding.meteostick/pom.xml index 78375e0db76ee..7df8f21c7537e 100644 --- a/bundles/org.openhab.binding.meteostick/pom.xml +++ b/bundles/org.openhab.binding.meteostick/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.meteostick/src/main/feature/feature.xml b/bundles/org.openhab.binding.meteostick/src/main/feature/feature.xml index 8325de6024f4a..cb6ab36920a17 100644 --- a/bundles/org.openhab.binding.meteostick/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.meteostick/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.meteostick/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.meteostick/${project.version} + diff --git a/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/binding/binding.xml index 2da235ae7e1fd..9298b4b3349d4 100644 --- a/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - MeteoStick Binding diff --git a/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/thing/thing-types.xml index 5587839d277d9..c996fcc03dc9f 100644 --- a/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.meteostick/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -7,8 +8,8 @@ Meteostick USB Receiver - - + + @@ -34,25 +35,25 @@ - + Davis Integrated Sensor Suite - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/pom.xml b/bundles/org.openhab.binding.miele/pom.xml index fc232203a13f4..82b98d61166ef 100644 --- a/bundles/org.openhab.binding.miele/pom.xml +++ b/bundles/org.openhab.binding.miele/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.miele/src/main/feature/feature.xml b/bundles/org.openhab.binding.miele/src/main/feature/feature.xml index 44c58e640fba6..152c30aeddcf1 100644 --- a/bundles/org.openhab.binding.miele/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.miele/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.miele/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.miele/${project.version} + diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/MieleBindingConstants.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/MieleBindingConstants.java index 8bfd12dcd81ee..26b0dc6c5aa96 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/MieleBindingConstants.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/MieleBindingConstants.java @@ -49,5 +49,4 @@ public class MieleBindingConstants { public static final String INTERFACE = "interface"; public static final String USER_NAME = "userName"; public static final String PASSWORD = "password"; - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/discovery/MieleMDNSDiscoveryParticipant.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/discovery/MieleMDNSDiscoveryParticipant.java index fbeec362e14e0..50a80b576508f 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/discovery/MieleMDNSDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/discovery/MieleMDNSDiscoveryParticipant.java @@ -114,5 +114,4 @@ private boolean isMieleGateway(ServiceInfo service) { return service.getApplication().contains(SERVICE_NAME) && service.getPropertyString(PATH_PROPERTY_NAME) != null && service.getPropertyString(PATH_PROPERTY_NAME).equalsIgnoreCase(PATH_TO_CHECK_FOR_XGW3000); } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/ApplianceStatusListener.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/ApplianceStatusListener.java index 23c9346d25799..ac31ad4a7fd7c 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/ApplianceStatusListener.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/ApplianceStatusListener.java @@ -54,5 +54,4 @@ public interface ApplianceStatusListener { * @param appliance The XGW homedevice definition of the appliance that was removed */ void onApplianceAdded(HomeDevice appliance); - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineChannelSelector.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineChannelSelector.java index b3cc6986f46de..7f2fced4b0369 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineChannelSelector.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineChannelSelector.java @@ -141,5 +141,4 @@ public String getMieleEnum(String s, DeviceMetaData dmd) { return null; } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineHandler.java index ca542e2229835..8ebc19bc87310 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/CoffeeMachineHandler.java @@ -78,5 +78,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { channelID, command.toString()); } } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishWasherHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishWasherHandler.java index af131d8309db3..23d1a5568a109 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishWasherHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishWasherHandler.java @@ -79,5 +79,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { channelID, command.toString()); } } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishwasherChannelSelector.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishwasherChannelSelector.java index 49685d70ce756..69ea12ed9b1e3 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishwasherChannelSelector.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/DishwasherChannelSelector.java @@ -200,5 +200,4 @@ public String getMieleEnum(String s, DeviceMetaData dmd) { return null; } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeChannelSelector.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeChannelSelector.java index 1821e1a1a3f28..5d4fd31f8af86 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeChannelSelector.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeChannelSelector.java @@ -77,8 +77,7 @@ public State getState(String s, DeviceMetaData dmd) { private final Class typeClass; private final boolean isProperty; - FridgeChannelSelector(String propertyID, String channelID, Class typeClass, - boolean isProperty) { + FridgeChannelSelector(String propertyID, String channelID, Class typeClass, boolean isProperty) { this.mieleID = propertyID; this.channelID = channelID; this.typeClass = typeClass; diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeFreezerHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeFreezerHandler.java index 3d7a254cf4a98..6009be3678fe7 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeFreezerHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/FridgeFreezerHandler.java @@ -84,5 +84,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { channelID, command.toString()); } } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HobHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HobHandler.java index 8c9a5626017c0..6eebbd1690976 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HobHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HobHandler.java @@ -33,5 +33,4 @@ public HobHandler(Thing thing) { public void handleCommand(ChannelUID channelUID, Command command) { super.handleCommand(channelUID, command); } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodChannelSelector.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodChannelSelector.java index 43ff4ee791b29..633867c07c8b5 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodChannelSelector.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodChannelSelector.java @@ -64,8 +64,7 @@ public State getState(String s, DeviceMetaData dmd) { private final Class typeClass; private final boolean isProperty; - HoodChannelSelector(String propertyID, String channelID, Class typeClass, - boolean isProperty) { + HoodChannelSelector(String propertyID, String channelID, Class typeClass, boolean isProperty) { this.mieleID = propertyID; this.channelID = channelID; this.typeClass = typeClass; diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodHandler.java index 9e8beb65e788e..c944298c2bee8 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/HoodHandler.java @@ -82,5 +82,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { channelID, command.toString()); } } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/MieleApplianceHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/MieleApplianceHandler.java index cfe96f397a201..d7194209e0cc5 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/MieleApplianceHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/MieleApplianceHandler.java @@ -143,8 +143,9 @@ public void handleCommand(ChannelUID channelUID, Command command) { } @Override - public void onApplianceStateChanged(String UID, DeviceClassObject dco) { - String myUID = ((String) getThing().getProperties().get(PROTOCOL_PROPERTY_NAME)) + (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID); + public void onApplianceStateChanged(String UID, DeviceClassObject dco) { + String myUID = ((String) getThing().getProperties().get(PROTOCOL_PROPERTY_NAME)) + + (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID); String modelID = StringUtils.right(dco.DeviceClass, dco.DeviceClass.length() - new String("com.miele.xgw3000.gateway.hdm.deviceclasses.Miele").length()); @@ -176,7 +177,8 @@ public void onApplianceStateChanged(String UID, DeviceClassObject dco) { @Override public void onAppliancePropertyChanged(String UID, DeviceProperty dp) { - String myUID = ((String) getThing().getProperties().get(PROTOCOL_PROPERTY_NAME)) + (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID); + String myUID = ((String) getThing().getProperties().get(PROTOCOL_PROPERTY_NAME)) + + (String) getThing().getConfiguration().getProperties().get(APPLIANCE_ID); if (myUID.equals(UID)) { try { diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerChannelSelector.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerChannelSelector.java index 5556be0edef67..2e0ca19d169fd 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerChannelSelector.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerChannelSelector.java @@ -209,5 +209,4 @@ public String getMieleEnum(String s, DeviceMetaData dmd) { return null; } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerHandler.java index 37d8b30852473..c9ff24f9564ac 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/TumbleDryerHandler.java @@ -79,5 +79,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { channelID, command.toString()); } } - } diff --git a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/WashingMachineHandler.java b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/WashingMachineHandler.java index 286ebcacca431..20bec177412cc 100644 --- a/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/WashingMachineHandler.java +++ b/bundles/org.openhab.binding.miele/src/main/java/org/openhab/binding/miele/internal/handler/WashingMachineHandler.java @@ -80,5 +80,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { channelID, command.toString()); } } - } diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/binding/binding.xml index bdc80cf8b1cef..a9ae1c8359276 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Miele Binding This is the binding for Miele@home appliances diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/channeltypes.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/channeltypes.xml index 9fa2e04dc90f8..6d652dfc2d668 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/channeltypes.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/channeltypes.xml @@ -1,5 +1,6 @@ - @@ -71,7 +72,7 @@ Switch the appliance on or off - + Switch @@ -212,4 +213,3 @@ - diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/coffeemachine.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/coffeemachine.xml index 7691488adc01c..d4d6f8588f028 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/coffeemachine.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/coffeemachine.xml @@ -1,24 +1,25 @@ - - + This is a Miele@home compatible coffee machine - - - - - - + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/dishwasher.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/dishwasher.xml index a6a7075b59acd..5aae629917f2c 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/dishwasher.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/dishwasher.xml @@ -1,27 +1,28 @@ - - + This is a Miele@home compatible dishwasher - - - - - - - - - + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridge.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridge.xml index b64e6ead9d133..0e76fa038fc95 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridge.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridge.xml @@ -1,24 +1,25 @@ - - + This is a Miele@home compatible fridge - - - - - - + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridgefreezer.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridgefreezer.xml index edd63bceb004c..0982b2581a42c 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridgefreezer.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/fridgefreezer.xml @@ -1,29 +1,30 @@ - - + This is a Miele@home compatible fridgefreezer - - - - - - - - - - - + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hob.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hob.xml index 296b92b39b5e8..c091f9ad6c0b3 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hob.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hob.xml @@ -1,37 +1,38 @@ - - + This is a Miele@home compatible hob - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hood.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hood.xml index 68066a0266cf3..668c81ef11a2a 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hood.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/hood.xml @@ -1,22 +1,23 @@ - - + This is a Miele@home compatible hood - - - - + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/oven.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/oven.xml index 2e5fd3a97a0e4..0e42274429a32 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/oven.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/oven.xml @@ -1,33 +1,34 @@ - - + This is a Miele@home compatible oven - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/tumbledryer.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/tumbledryer.xml index bfa1caa52b5ac..22c81484ff98c 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/tumbledryer.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/tumbledryer.xml @@ -1,29 +1,30 @@ - - + This is a Miele@home compatible tumbledryer - - - - - - - - - - - + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/washingmachine.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/washingmachine.xml index 5e78b9256a771..3330fd36ef4b5 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/washingmachine.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/washingmachine.xml @@ -1,30 +1,31 @@ - - + This is a Miele@home compatible washing machine - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/xgw3000.xml b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/xgw3000.xml index f14a16d4c355f..36cb38e137c65 100644 --- a/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/xgw3000.xml +++ b/bundles/org.openhab.binding.miele/src/main/resources/ESH-INF/thing/xgw3000.xml @@ -1,5 +1,6 @@ - @@ -22,7 +23,8 @@ network-address - Network address of openHAB host interface where the binding will listen for multicast events coming from the Miele@home gateway + Network address of openHAB host interface where the binding will listen for multicast events coming + from the Miele@home gateway true diff --git a/bundles/org.openhab.binding.mihome/pom.xml b/bundles/org.openhab.binding.mihome/pom.xml index 123f270a91df6..8890da1e18fde 100644 --- a/bundles/org.openhab.binding.mihome/pom.xml +++ b/bundles/org.openhab.binding.mihome/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mihome/src/main/feature/feature.xml b/bundles/org.openhab.binding.mihome/src/main/feature/feature.xml index 73fd4bf9808bc..a98b44182915a 100644 --- a/bundles/org.openhab.binding.mihome/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.mihome/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.mihome/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.mihome/${project.version} + diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/EncryptionHelper.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/EncryptionHelper.java index eb52822be3f94..11ed1fc005c57 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/EncryptionHelper.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/EncryptionHelper.java @@ -123,5 +123,4 @@ private String bytesToHex(byte[] bytes) { } return new String(hexChars); } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorCurtainHandler.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorCurtainHandler.java index e5afd8592efd9..7e95b0ae07bda 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorCurtainHandler.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorCurtainHandler.java @@ -65,8 +65,7 @@ void execute(ChannelUID channelUID, Command command) { status = lastDirection; } } else if (command instanceof PercentType) { - getXiaomiBridgeHandler().writeToDevice(getItemId(), new String[] { STATUS }, - new Object[] { AUTO }); + getXiaomiBridgeHandler().writeToDevice(getItemId(), new String[] { STATUS }, new Object[] { AUTO }); getXiaomiBridgeHandler().writeToDevice(getItemId(), new String[] { CURTAIN_LEVEL }, new Object[] { status }); } else { @@ -114,5 +113,4 @@ void parseDefault(JsonObject data) { } } } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorGatewayHandler.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorGatewayHandler.java index 24b1eb224b56a..6af4678e631af 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorGatewayHandler.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorGatewayHandler.java @@ -210,5 +210,4 @@ private void writeBridgeRingtone(int ringtoneId, int volume) { private void stopRingtone() { getXiaomiBridgeHandler().writeToBridge(new String[] { MID }, new Object[] { 10000 }); } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorPlugHandler.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorPlugHandler.java index 44f4de2e8e8aa..d32daf6d6a4e9 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorPlugHandler.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiActorPlugHandler.java @@ -100,5 +100,4 @@ private void getStatusFromData(JsonObject data) { } } } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiAqaraActorSwitch2Handler.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiAqaraActorSwitch2Handler.java index 8e6e14052bf89..161324cc0eda7 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiAqaraActorSwitch2Handler.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiAqaraActorSwitch2Handler.java @@ -87,5 +87,4 @@ void parseDefault(JsonObject data) { updateState(CHANNEL_SWITCH_CH1, isOn ? OnOffType.ON : OnOffType.OFF); } } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiSensorMagnetHandler.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiSensorMagnetHandler.java index a2178d966ac57..b118d27f876bc 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiSensorMagnetHandler.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/handler/XiaomiSensorMagnetHandler.java @@ -96,5 +96,4 @@ void execute(ChannelUID channelUID, Command command) { void onTimer() { triggerChannel(CHANNEL_OPEN_ALARM, "ALARM"); } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/socket/XiaomiDiscoverySocket.java b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/socket/XiaomiDiscoverySocket.java index c76afe41f13e3..bd0bdca21c9ff 100644 --- a/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/socket/XiaomiDiscoverySocket.java +++ b/bundles/org.openhab.binding.mihome/src/main/java/org/openhab/binding/mihome/internal/socket/XiaomiDiscoverySocket.java @@ -71,5 +71,4 @@ public void sendMessage(String message) { logger.error("Sending error", e); } } - } diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/binding/binding.xml index 7a6663fb91702..94437f2570fe5 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/binding/binding.xml @@ -4,8 +4,10 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> Xiaomi Mi Smart Home Binding - Connects to Xiaomi Smart Gateway v2 and allows to communicate with Xiaomi Mi Smart Home suite (also called Xiaomi Aqara). - The Gateway connects with a range of Xiaomi Zigbee sensors such as Wireless Switches, Wall Plugs or Temperature Sensors. + Connects to Xiaomi Smart Gateway v2 and allows to communicate with Xiaomi Mi Smart Home suite (also called + Xiaomi Aqara). + The Gateway connects with a range of Xiaomi Zigbee sensors such as Wireless Switches, Wall Plugs or + Temperature Sensors. Patrick Boos diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw1.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw1.xml index 3b7e30c28ae28..04b2b7032b520 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw1.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw1.xml @@ -6,7 +6,7 @@ - + Battery powered Aqara Switch with 1 Channel @@ -15,10 +15,10 @@ The pushbutton on the switch - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw2.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw2.xml index a362270fcd4f8..4bf9d687392db 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw2.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_86sw2.xml @@ -6,7 +6,7 @@ - + Battery powered Aqara Switch with 2 channels @@ -23,9 +23,9 @@ Fires when both buttons are pressed simultaneously - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln1.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln1.xml index 41995850ced1e..89b97f80102d3 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln1.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln1.xml @@ -6,7 +6,7 @@ - + @@ -14,7 +14,7 @@ The pushbutton on the switch. - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln2.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln2.xml index 03a553fe588dc..63e8402ea9b82 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln2.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_ln2.xml @@ -6,7 +6,7 @@ - + @@ -19,6 +19,6 @@ The second pushbutton on the switch. - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral1.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral1.xml index 8acde05cc8810..56738b29c47c1 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral1.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral1.xml @@ -6,7 +6,7 @@ - + Mains powered Aqara Switch with 1 controllable Channel @@ -15,6 +15,6 @@ The pushbutton on the switch. - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral2.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral2.xml index 826b5108b4011..6d54014382ca3 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral2.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/aqara_ctrl_neutral2.xml @@ -6,7 +6,7 @@ - + Mains powered Aqara Switch with 2 controllable Channels @@ -20,6 +20,6 @@ The second pushbutton on the switch. - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/basic.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/basic.xml index c459d0dd106e1..d190a372eb5d5 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/basic.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/basic.xml @@ -6,10 +6,13 @@ - + - This device is not supported by the binding but you can still add it to your OpenHAB configuration. All messages from the device are available as channels providing values to String Items. Please open an issue on the openhab-addons2 github page to get this device added to the binding in the future. Meanwhile you can parse the messages with rules and/or JSONPATH transformations. + This device is not supported by the binding but you can still add it to your OpenHAB configuration. All + messages from the device are available as channels providing values to String Items. Please open an issue on the + openhab-addons2 github page to get this device added to the binding in the future. Meanwhile you can parse the + messages with rules and/or JSONPATH transformations. @@ -36,6 +39,6 @@ Channel to write command parameters - Example: \"join_permission\":\"yes\" - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/bridge.xml index 18daf74779d3d..bdbd0451346d3 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/bridge.xml @@ -12,6 +12,6 @@ Xiaomi - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/channel.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/channel.xml index 675990311fdd8..6328658a3dc11 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/channel.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/channel.xml @@ -60,7 +60,7 @@ ColorTemperature - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/curtain.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/curtain.xml index 3f8454ab37dde..21dc4103d9108 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/curtain.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/curtain.xml @@ -6,14 +6,14 @@ - + Smart curtain controller for drawing back and forth fabric curtains. It has manual and remote operation modes. - + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/gateway.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/gateway.xml index c6e1d40953863..138a12c165306 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/gateway.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/gateway.xml @@ -6,19 +6,19 @@ - + Multifunctional Gateway with a built in light, ambient light sensor and capability to play sounds. - - - - - - - + + + + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_cube.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_cube.xml index ddfbbe5979331..79406e101775e 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_cube.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_cube.xml @@ -6,7 +6,7 @@ - + Multifunctional controller equipped with an accelerometer and a gyroscope. Triggers the following @@ -16,10 +16,10 @@ - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_gas.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_gas.xml index 574f48925dffc..f83442a9f8fa2 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_gas.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_gas.xml @@ -6,15 +6,15 @@ - + - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_ht.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_ht.xml index dce443380e355..e755a3ddf8ee1 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_ht.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_ht.xml @@ -6,18 +6,19 @@ - + Reports temperature and humidity. Operating temperature: −20°C to 60°C. Operating humidity: 0 to 100%. - Sensor reports the temperature when there's a difference of around 0.5°C. If there is no significant temperature change then the sensor reports temperature once every 50 minutes. + Sensor reports the temperature when there's a difference of around 0.5°C. If there is no significant temperature + change then the sensor reports temperature once every 50 minutes. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_lock_aq1.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_lock_aq1.xml index 55ced9f17cd46..824ad65957e95 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_lock_aq1.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_lock_aq1.xml @@ -6,7 +6,7 @@ - + Live fingerprint unlock, password unlock, proximity card unlock, key unlock. @@ -20,9 +20,9 @@ - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet.xml index 0fc042616a668..cdad5be87ca6d 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet.xml @@ -6,18 +6,18 @@ - + Contact sensor mounted on doors or windows. Detects states: open and closed. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet_aq2.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet_aq2.xml index fd8499168c42a..344bf0c46db5f 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet_aq2.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_magnet_aq2.xml @@ -6,18 +6,18 @@ - + Contact sensor mounted on doors or windows. Detects states: open and closed. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion.xml index 23635add2397e..01bb02e9bfd33 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion.xml @@ -6,18 +6,18 @@ - + Sensor that detects movement. Also called Occupancy Sensor or Human Body Sensor. After it detects motion, it goes to sleep for 1 minute. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion_aq2.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion_aq2.xml index 5eaad247195d0..eefe5536b7766 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion_aq2.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_motion_aq2.xml @@ -6,19 +6,19 @@ - + Sensor that detects movement. Also called Occupancy Sensor or Human Body Sensor. After it detects motion, it goes to sleep for 1 minute. - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_plug.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_plug.xml index 3cf2ff6061bb0..10949f52791e7 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_plug.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_plug.xml @@ -6,16 +6,16 @@ - + Allows you to enable or disable the socket, read voltage, current and power consumption. - - - - + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_smoke.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_smoke.xml index af27501d78dd3..2d9f96e3484f4 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_smoke.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_smoke.xml @@ -6,16 +6,16 @@ - + - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch.xml index e9ed8dc74c06f..5b0eed65959d3 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch.xml @@ -6,16 +6,16 @@ - + Round-shaped mini wireless switch that allows to trigger four types of event: single click, double click, long click press and long click release. - - - + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch_aq2.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch_aq2.xml index c12685c01cde7..82137cd23c665 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch_aq2.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_switch_aq2.xml @@ -6,16 +6,16 @@ - + Square-shaped mini wireless switch that allows to trigger four types of event: single click, double click, long click press and long click release. - - - + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_vibration.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_vibration.xml index 30adb1c70879b..6dea38090fe50 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_vibration.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_vibration.xml @@ -6,10 +6,13 @@ - + - Incorporates high-precision six-axis acceleration and gyroscopes, used for collecting external vibration and motion data. Used to monitor the door and windows with status, important items alarmed, and can also monitor user's bed activity, to help determine the quality of sleep. Installation: Click the reset button on the sensor in the selected sensor installation location. + Incorporates high-precision six-axis acceleration and gyroscopes, used for collecting external vibration + and motion data. Used to monitor the door and windows with status, important items alarmed, and can also monitor + user's bed activity, to help determine the quality of sleep. Installation: Click the reset button on the sensor in + the selected sensor installation location. @@ -18,10 +21,10 @@ - - + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_weather_v1.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_weather_v1.xml index dd0e3cefe8d9b..896b4d6a19f2c 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_weather_v1.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_weather_v1.xml @@ -6,19 +6,20 @@ - + Reports temperature and humidity. Operating temperature: −20°C to 60°C. Operating humidity: 0 to 100%. - Sensor reports the temperature when there's a difference of around 0.5°C. If there is no significant temperature change then the sensor reports temperature once every 50 minutes. + Sensor reports the temperature when there's a difference of around 0.5°C. If there is no significant temperature + change then the sensor reports temperature once every 50 minutes. - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_wleak_aq1.xml b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_wleak_aq1.xml index 1899fb8783720..a9e8404e49a0d 100644 --- a/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_wleak_aq1.xml +++ b/bundles/org.openhab.binding.mihome/src/main/resources/ESH-INF/thing/sensor_wleak_aq1.xml @@ -6,15 +6,14 @@ - + - - + + - + - diff --git a/bundles/org.openhab.binding.miio/pom.xml b/bundles/org.openhab.binding.miio/pom.xml index cc41d8bb921b6..1966455c7bf16 100644 --- a/bundles/org.openhab.binding.miio/pom.xml +++ b/bundles/org.openhab.binding.miio/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 org.openhab.addons.bundles diff --git a/bundles/org.openhab.binding.miio/src/main/feature/feature.xml b/bundles/org.openhab.binding.miio/src/main/feature/feature.xml index b68528bbb0050..1ab32f26fa245 100644 --- a/bundles/org.openhab.binding.miio/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.miio/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.miio/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.miio/${project.version} + diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConstants.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConstants.java index 66f79d6615fcc..fc2c1b7a59090 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConstants.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoBindingConstants.java @@ -111,5 +111,4 @@ public final class MiIoBindingConstants { .of("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF", "00000000000000000000000000000000").collect(Collectors.toSet())); public static final String DATABASE_PATH = "database/"; - } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCommand.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCommand.java index b6365097c8d18..cc34395a8c804 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCommand.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCommand.java @@ -104,5 +104,4 @@ public static MiIoCommand getCommand(String commandString) { } return UNKNOWN; } - } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCrypto.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCrypto.java index 428b4b1932e41..18ae3b0383508 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCrypto.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoCrypto.java @@ -40,7 +40,7 @@ public static byte[] md5(byte[] source) throws MiIoCryptoException { MessageDigest m = MessageDigest.getInstance("MD5"); return m.digest(source); } catch (NoSuchAlgorithmException e) { - throw new MiIoCryptoException(e.getMessage(),e); + throw new MiIoCryptoException(e.getMessage(), e); } } @@ -52,7 +52,7 @@ public static byte[] iv(byte[] token) throws MiIoCryptoException { System.arraycopy(token, 0, ivbuf, 16, 16); return m.digest(ivbuf); } catch (NoSuchAlgorithmException e) { - throw new MiIoCryptoException(e.getMessage(),e); + throw new MiIoCryptoException(e.getMessage(), e); } } @@ -66,7 +66,7 @@ public static byte[] encrypt(byte[] cipherText, byte[] key, byte[] iv) throws Mi return encrypted; } catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException e) { - throw new MiIoCryptoException(e.getMessage(),e); + throw new MiIoCryptoException(e.getMessage(), e); } } @@ -84,7 +84,7 @@ public static byte[] decrypt(byte[] cipherText, byte[] key, byte[] iv) throws Mi return (crypted); } catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException e) { - throw new MiIoCryptoException(e.getMessage(),e); + throw new MiIoCryptoException(e.getMessage(), e); } } @@ -106,7 +106,7 @@ public static String decryptToken(byte[] cipherText) throws MiIoCryptoException } } catch (InvalidKeyException | NoSuchAlgorithmException | NoSuchPaddingException | IllegalBlockSizeException | BadPaddingException e) { - throw new MiIoCryptoException(e.getMessage(),e); + throw new MiIoCryptoException(e.getMessage(), e); } } } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoMessageListener.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoMessageListener.java index d4e1cdd854388..32b44e6f84044 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoMessageListener.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/MiIoMessageListener.java @@ -38,5 +38,4 @@ public interface MiIoMessageListener { * @param statusDetail Status details text */ void onStatusUpdated(ThingStatus status, ThingStatusDetail statusDetail); - } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java index d4cc8ef6fed38..557270911446c 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/Conversions.java @@ -72,5 +72,4 @@ public static JsonElement execute(String transfortmation, JsonElement value) { return value; } } - } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicDevice.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicDevice.java index 065c8c5e78930..0815d622d6d33 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicDevice.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/basic/MiIoBasicDevice.java @@ -36,5 +36,4 @@ public DeviceMapping getDevice() { public void setDevice(DeviceMapping deviceMapping) { this.deviceMapping = deviceMapping; } - } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/cloud/MiCloudConnector.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/cloud/MiCloudConnector.java index 1b41b669405a4..0e446b6a73c48 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/cloud/MiCloudConnector.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/cloud/MiCloudConnector.java @@ -96,7 +96,6 @@ public MiCloudConnector(String username, String password, HttpClient httpClient) } clientId = (new Random().ints(97, 122 + 1).limit(6) .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append).toString()); - } void startClient() throws MiCloudException { diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java index 426e2c5fe4570..3c2de39ff94d7 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/handler/MiIoAbstractHandler.java @@ -474,5 +474,4 @@ public void onMessageReceived(MiIoSendCommand response) { logger.debug("Error while handing message {}", response.getResponse(), e); } } - } diff --git a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/robot/RRMapFileParser.java b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/robot/RRMapFileParser.java index 13e8ff22d8621..0e70fe27103a4 100644 --- a/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/robot/RRMapFileParser.java +++ b/bundles/org.openhab.binding.miio/src/main/java/org/openhab/binding/miio/internal/robot/RRMapFileParser.java @@ -413,5 +413,4 @@ public ArrayList getObstacles() { public byte[] getBlocks() { return blocks; } - } diff --git a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/basicThing.xml b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/basicThing.xml index 5d933b3bf04f3..18589aadb1cc1 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/basicThing.xml +++ b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/basicThing.xml @@ -8,21 +8,21 @@ - - + + Xiaomi - + - + diff --git a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/commonChannels.xml b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/commonChannels.xml index 496795834082c..c064cef616018 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/commonChannels.xml +++ b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/commonChannels.xml @@ -7,10 +7,10 @@ - - - - + + + + @@ -18,22 +18,22 @@ String - + String - + Number - + Number - + @@ -152,90 +152,90 @@ Number - + Number - + Number Particulate Matter 2.5 - + Number Carbon Dioxide - + Number Total Volatile Organic Compounds - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number @@ -256,7 +256,7 @@ Number - + String @@ -271,42 +271,42 @@ Number - + Number - + Number - + Number - + Switch - + String - + Switch - + Switch - + String @@ -334,7 +334,7 @@ Number - + Switch @@ -366,7 +366,7 @@ Switch - + String @@ -382,22 +382,22 @@ Number - + Number - + Number - + Number - + String @@ -421,22 +421,22 @@ Number - + Number - + Number - + Number - + Number diff --git a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/genericThing.xml b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/genericThing.xml index 6f4dcc337224b..80be8cf142add 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/genericThing.xml +++ b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/genericThing.xml @@ -8,15 +8,15 @@ - - + + Xiaomi - + diff --git a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/unsupportedThing.xml b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/unsupportedThing.xml index dcb25d1ca649e..4473a413fea74 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/unsupportedThing.xml +++ b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/unsupportedThing.xml @@ -8,23 +8,23 @@ - - + + Xiaomi - + - - - + + + diff --git a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/vacuumThing.xml b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/vacuumThing.xml index 79572f4eb6ef3..004859b4aa22f 100644 --- a/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/vacuumThing.xml +++ b/bundles/org.openhab.binding.miio/src/main/resources/ESH-INF/thing/vacuumThing.xml @@ -8,89 +8,89 @@ - - - - - - - + + + + + + + Xiaomi - + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - + + + - - - - - - - - + + + + + + + + - - - + + + @@ -98,12 +98,12 @@ Number - + Number - + Switch @@ -112,85 +112,85 @@ String - + Number - + Number - + Number - + Number Energy - + Number - + String - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + Number - + @@ -262,17 +262,17 @@ Number Total Cleaning Time in minutes - + Number - + Number - + @@ -281,44 +281,44 @@ Last Cleaning Start Time Date - + DateTime Last Cleaning End Time Date - + Number Cleaning Duration in minutes - + Number - + Number - + Number - + String - + Image - + diff --git a/bundles/org.openhab.binding.miio/src/test/java/org/openhab/binding/miio/internal/RoboMapViewer.java b/bundles/org.openhab.binding.miio/src/test/java/org/openhab/binding/miio/internal/RoboMapViewer.java index dffa2d00887bd..3c7db4f413e65 100644 --- a/bundles/org.openhab.binding.miio/src/test/java/org/openhab/binding/miio/internal/RoboMapViewer.java +++ b/bundles/org.openhab.binding.miio/src/test/java/org/openhab/binding/miio/internal/RoboMapViewer.java @@ -39,7 +39,6 @@ import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.filechooser.FileSystemView; -//import org.apache.log4j.PropertyConfigurator; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.junit.Ignore; @@ -213,7 +212,6 @@ public void actionPerformed(@Nullable ActionEvent ae) { logger.debug("Error finding next file:{}", e); } } - }); openButton.addActionListener(new ActionListener() { @@ -258,7 +256,6 @@ private void loadFirstFile() { } catch (SecurityException | InvalidPathException e) { logger.debug("Error finding first file:{}", e); } - } private void updateStatusLine() { diff --git a/bundles/org.openhab.binding.milight/pom.xml b/bundles/org.openhab.binding.milight/pom.xml index c299fe4ff2930..3c81c64aeb591 100644 --- a/bundles/org.openhab.binding.milight/pom.xml +++ b/bundles/org.openhab.binding.milight/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.milight/src/main/feature/feature.xml b/bundles/org.openhab.binding.milight/src/main/feature/feature.xml index 88403aef7212c..c6c942e2b4477 100644 --- a/bundles/org.openhab.binding.milight/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.milight/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.milight/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.milight/${project.version} + diff --git a/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/AbstractLedV6Handler.java b/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/AbstractLedV6Handler.java index 6e52bd8ad5638..b681db35a225a 100644 --- a/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/AbstractLedV6Handler.java +++ b/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/AbstractLedV6Handler.java @@ -221,5 +221,4 @@ protected void sendRepeatable(int... data) { sendQueue.queue(QueueItem.createRepeatable(socket, delayTimeMS, repeatTimes, address, port, session.makeCommand(getAddr(), config.zone, data))); } - } diff --git a/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/MilightV3WhiteHandler.java b/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/MilightV3WhiteHandler.java index 42eb8645cb140..9ed7ae89fe0f9 100644 --- a/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/MilightV3WhiteHandler.java +++ b/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/handler/MilightV3WhiteHandler.java @@ -205,5 +205,4 @@ public void nextAnimationMode(MilightThingState state) { sendQueue.queue(createRepeatable(cOn).addNonRepeatable(NEXT_ANIMATION_MODE)); state.animationMode = Math.min(state.animationMode + 1, MAX_ANIM_MODES); } - } diff --git a/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/protocol/MilightV6SessionManager.java b/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/protocol/MilightV6SessionManager.java index 98cb8b7536bc7..6cbafdeee7a29 100644 --- a/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/protocol/MilightV6SessionManager.java +++ b/bundles/org.openhab.binding.milight/src/main/java/org/openhab/binding/milight/internal/protocol/MilightV6SessionManager.java @@ -113,7 +113,7 @@ public interface ISessionState { * SESSION_VALID_KEEP_ALIVE will be reported in the interval, given to the constructor of * {@link MilightV6SessionManager}. * - * @param state The new state + * @param state The new state * @param address The remote IP address. Only guaranteed to be non null in the SESSION_VALID* states. */ void sessionStateChanged(SessionState state, @Nullable InetAddress address); diff --git a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/binding/binding.xml index 50080039a262a..9542cf160d2ff 100644 --- a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Milight Binding A binding for Milight/Easybulb/compatible white, color and color+white bulbs. diff --git a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v2.xml b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v2.xml index a10029f827750..9dfed1d7801ad 100644 --- a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v2.xml +++ b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v2.xml @@ -6,16 +6,16 @@ - + The oldest produced color bulb. Without a white channel. No saturation support. Lightbulb - - - + + + diff --git a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v3.xml b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v3.xml index a7eea8b72c503..471e19d57e012 100644 --- a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v3.xml +++ b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v3.xml @@ -41,10 +41,13 @@ The mac address of the bridge in upper case letters without delimiter. - Use this parameter and leave the IP/Hostname empty for DHCP environments where IPs may often change over time. + Use this parameter and leave the + IP/Hostname empty for DHCP environments where IPs may often change over time. - The Bridge ID is also used to check if a given IP corresponds to the right device. - The bridge is set offline if the device does not respond with the correct Bridge ID and a re-detection is started. + The Bridge ID is also used to check if + a given IP corresponds to the right device. + The bridge is set offline if the device does not respond with the + correct Bridge ID and a re-detection is started. true @@ -61,7 +64,7 @@ - + RGB bulb with white channel. No saturation control. If the set saturation is below a threshold of 50%, @@ -69,12 +72,12 @@ Lightbulb - - - - - - + + + + + + @@ -89,17 +92,17 @@ - + White bulb for the older bridge (up to 2016) Lightbulb - - - - + + + + diff --git a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v6.xml b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v6.xml index 425bc65a5e93d..f0d12c4b22f8e 100644 --- a/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v6.xml +++ b/bundles/org.openhab.binding.milight/src/main/resources/ESH-INF/thing/v6.xml @@ -82,7 +82,7 @@ - + Integrated bulb of the ibox bridge with no dedicated white channel and therefore no saturation control @@ -90,12 +90,12 @@ Lightbulb - - - - - - + + + + + + @@ -110,22 +110,22 @@ - + Color bulb with white channel for the new Milight/Easybulb system. Lightbulb - - - - - - - - - + + + + + + + + + @@ -140,24 +140,24 @@ - + Color bulb with warm and cold white support for the new Milight/Easybulb system. Lightbulb - - - - - - - - - - - + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.millheat/pom.xml b/bundles/org.openhab.binding.millheat/pom.xml index a21b25cb6c626..c95b89867038e 100644 --- a/bundles/org.openhab.binding.millheat/pom.xml +++ b/bundles/org.openhab.binding.millheat/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.millheat/src/main/feature/feature.xml b/bundles/org.openhab.binding.millheat/src/main/feature/feature.xml index 2a0c86e23d316..259654d87e2b6 100644 --- a/bundles/org.openhab.binding.millheat/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.millheat/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.millheat/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.millheat/${project.version} + diff --git a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatBindingConstants.java b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatBindingConstants.java index e7fe0c1035788..1d244d9b15b6e 100644 --- a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatBindingConstants.java +++ b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatBindingConstants.java @@ -59,5 +59,4 @@ public class MillheatBindingConstants { CHANNEL_TYPE_MASTER_SWITCH); public static final ChannelTypeUID CHANNEL_TYPE_TARGET_TEMPERATURE_HEATER_UID = new ChannelTypeUID(BINDING_ID, CHANNEL_TYPE_TARGET_TEMPERATURE_HEATER); - } diff --git a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatHandlerFactory.java b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatHandlerFactory.java index cc23324d772d3..f59b2707e8d06 100644 --- a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatHandlerFactory.java +++ b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/MillheatHandlerFactory.java @@ -109,5 +109,4 @@ private void unregisterDeviceDiscoveryService(ThingUID thingUID) { discoveryServiceRegs.remove(thingUID); } } - } diff --git a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/config/MillheatHomeConfiguration.java b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/config/MillheatHomeConfiguration.java index a1e9bf03dbcfe..13b92600708bd 100644 --- a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/config/MillheatHomeConfiguration.java +++ b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/config/MillheatHomeConfiguration.java @@ -25,5 +25,4 @@ public class MillheatHomeConfiguration { public String toString() { return "MillheatHomeConfiguration [homeId=" + homeId + "]"; } - } diff --git a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/handler/MillheatBaseThingHandler.java b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/handler/MillheatBaseThingHandler.java index b7a08b4911920..0c80a60760cd1 100644 --- a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/handler/MillheatBaseThingHandler.java +++ b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/handler/MillheatBaseThingHandler.java @@ -69,5 +69,4 @@ protected Optional getAccountHandler() { } protected abstract void handleCommand(ChannelUID uid, Command command, MillheatModel model); - } diff --git a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/model/Heater.java b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/model/Heater.java index 97e25c6f3644f..f0951d4c3bbe3 100644 --- a/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/model/Heater.java +++ b/bundles/org.openhab.binding.millheat/src/main/java/org/openhab/binding/millheat/internal/model/Heater.java @@ -146,5 +146,4 @@ public void setFanActive(final boolean fanActive) { public void setPowerStatus(final boolean powerStatus) { this.powerStatus = powerStatus; } - } diff --git a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/account.xml b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/account.xml index 7be0121466040..88e92115971ef 100644 --- a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/account.xml +++ b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/account.xml @@ -7,7 +7,7 @@ This bridge represents the gateway to Mill Heating API - + diff --git a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/channels.xml index 1f77a939ba81c..ab6c02ac89288 100644 --- a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/channels.xml @@ -11,7 +11,7 @@ CurrentTemperature - + Number:Temperature @@ -20,7 +20,7 @@ TargetTemperature - + Number:Temperature @@ -29,7 +29,7 @@ TargetTemperature - + Number:Temperature @@ -39,7 +39,7 @@ TargetTemperature - + Number:Temperature @@ -48,7 +48,7 @@ TargetTemperature - + Number:Temperature @@ -57,20 +57,20 @@ TargetTemperature - + Switch Current state of the heater or heaters in room Energy - + Switch ON if heater is an independent heater and not connected to a room - + Switch @@ -87,7 +87,7 @@ Contact Open window/cold air flow detection - + Number:Power @@ -123,7 +123,7 @@ TargetTemperature - + Switch diff --git a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/heater.xml b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/heater.xml index 9ec2fcdb3def2..13da6f03cb03e 100644 --- a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/heater.xml +++ b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/heater.xml @@ -6,21 +6,21 @@ - + - - - - - - + + + + + + macAddress - + diff --git a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/home.xml b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/home.xml index f6de2c87cce9e..6d5dc3b4d0926 100644 --- a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/home.xml +++ b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/home.xml @@ -6,20 +6,20 @@ - + - - - - - + + + + + homeId - + diff --git a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/room.xml b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/room.xml index be21f67762d79..bbd829cc9da90 100644 --- a/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/room.xml +++ b/bundles/org.openhab.binding.millheat/src/main/resources/ESH-INF/thing/room.xml @@ -6,23 +6,23 @@ - + - - - - - - - - + + + + + + + + roomId - + diff --git a/bundles/org.openhab.binding.minecraft/pom.xml b/bundles/org.openhab.binding.minecraft/pom.xml index e992410a80c5b..7dd4a20cdf932 100644 --- a/bundles/org.openhab.binding.minecraft/pom.xml +++ b/bundles/org.openhab.binding.minecraft/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.minecraft/src/main/feature/feature.xml b/bundles/org.openhab.binding.minecraft/src/main/feature/feature.xml index a18138eda5803..087315a682c9e 100644 --- a/bundles/org.openhab.binding.minecraft/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.minecraft/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.minecraft/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.minecraft/${project.version} + diff --git a/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/PlayerData.java b/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/PlayerData.java index 13c8468a524d7..e06d08be6e123 100644 --- a/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/PlayerData.java +++ b/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/PlayerData.java @@ -139,5 +139,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/SignData.java b/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/SignData.java index 418b7162ff7e5..c9be76e124191 100644 --- a/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/SignData.java +++ b/bundles/org.openhab.binding.minecraft/src/main/java/org/openhab/binding/minecraft/internal/message/data/SignData.java @@ -80,5 +80,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/binding/binding.xml index 4dd829b597a3a..d2f3cc60e7dd9 100644 --- a/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Minecraft Binding This binding can integrate Minecraft servers. diff --git a/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/thing/thing-types.xml index 02e7676b258fc..260b937704ada 100644 --- a/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.minecraft/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,9 +9,9 @@ Server from which data is being fetched. - - - + + + @@ -30,7 +31,7 @@ - + @@ -41,13 +42,13 @@ Online status of the player. - - - - - - - + + + + + + + @@ -61,14 +62,14 @@ - + A sign with a redstone path under it. - + @@ -83,14 +84,14 @@ Number The number of players on the server. - + Number The maxumum number of players on the server. - + @@ -122,14 +123,14 @@ Number The total experience of the player. - + Number Percentage of the experience bar filled for the next level. - + @@ -142,7 +143,7 @@ Number The speed of player. - + diff --git a/bundles/org.openhab.binding.modbus.sunspec/pom.xml b/bundles/org.openhab.binding.modbus.sunspec/pom.xml index f7c1e1c54228c..4c419762ada0a 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/pom.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/pom.xml @@ -1,30 +1,32 @@ - + + - 4.0.0 + 4.0.0 - - org.openhab.addons.bundles - org.openhab.addons.reactor.bundles - 2.5.5-SNAPSHOT - + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 2.5.5-SNAPSHOT + - org.openhab.binding.modbus.sunspec + org.openhab.binding.modbus.sunspec - openHAB Add-ons :: Bundles :: SunSpec Bundle + openHAB Add-ons :: Bundles :: SunSpec Bundle - - - org.openhab.addons.bundles - org.openhab.binding.modbus - ${project.version} - provided - - - org.openhab.addons.bundles - org.openhab.io.transport.modbus - ${project.version} - provided - - + + + org.openhab.addons.bundles + org.openhab.binding.modbus + ${project.version} + provided + + + org.openhab.addons.bundles + org.openhab.io.transport.modbus + ${project.version} + provided + + diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/feature/feature.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/feature/feature.xml index 8c1bb0a5aaa0f..5eb7e1afd7121 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - file:${basedirRoot}/bundles/org.openhab.io.transport.modbus/target/feature/feature.xml + file:${basedirRoot}/bundles/org.openhab.io.transport.modbus/target/feature/feature.xml - - openhab-runtime-base - openhab-transport-modbus - mvn:org.openhab.addons.bundles/org.openhab.binding.modbus/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.modbus.sunspec/${project.version} - + + openhab-runtime-base + openhab-transport-modbus + mvn:org.openhab.addons.bundles/org.openhab.binding.modbus/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.modbus.sunspec/${project.version} + diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryParticipant.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryParticipant.java index 995ce867459f5..0684e71579c69 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryParticipant.java @@ -54,5 +54,4 @@ public void startDiscovery(ModbusEndpointThingHandler handler, ModbusDiscoveryLi listener.discoveryFinished(); } } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryProcess.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryProcess.java index c7f4124cd357c..a84febdf4d3fa 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryProcess.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/discovery/SunspecDiscoveryProcess.java @@ -391,5 +391,4 @@ private void handleError(Exception error) { detectModel(); } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/CommonModelBlock.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/CommonModelBlock.java index 3b8ecac38cd85..b3c9db0c82261 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/CommonModelBlock.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/CommonModelBlock.java @@ -43,5 +43,4 @@ public class CommonModelBlock { public String model = ""; public String version = ""; public String serialNumber = ""; - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/InverterModelBlock.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/InverterModelBlock.java index f66d911ac7d08..9a12bd4bf0d16 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/InverterModelBlock.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/InverterModelBlock.java @@ -216,5 +216,4 @@ public class InverterModelBlock { * Vendor defined operating state or error code */ public Optional statusVendor; - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/MeterModelBlock.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/MeterModelBlock.java index 46edae21274cd..c7793d6d7823f 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/MeterModelBlock.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/dto/MeterModelBlock.java @@ -258,5 +258,4 @@ public static class PhaseBlock { */ public Optional acExportedReactiveEnergyQ4; } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/InverterHandler.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/InverterHandler.java index 2842df418623c..25c582553fde7 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/InverterHandler.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/InverterHandler.java @@ -149,5 +149,4 @@ protected void handlePolledData(ModbusRegisterArray registers) { resetCommunicationError(); } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/MeterHandler.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/MeterHandler.java index 5971aa1389498..aba27a79140e9 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/MeterHandler.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/handler/MeterHandler.java @@ -209,5 +209,4 @@ private void updatePhaseValues(MeterModelBlock block, MeterModelBlock.PhaseBlock // should be // VAR_HOUR } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/CommonModelParser.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/CommonModelParser.java index c136729c0fab7..fb20e82271d2b 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/CommonModelParser.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/CommonModelParser.java @@ -62,7 +62,5 @@ public CommonModelBlock parse(ModbusRegisterArray raw) { block.deviceAddress = extractUInt16(raw, 66, 1); return block; - } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/InverterModelParser.java b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/InverterModelParser.java index deddc0b48a8af..1350b112fb901 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/InverterModelParser.java +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/java/org/openhab/binding/modbus/sunspec/internal/parser/InverterModelParser.java @@ -76,5 +76,4 @@ public InverterModelBlock parse(ModbusRegisterArray raw) { return block; } - } diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-groups.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-groups.xml index 62a4a2237c9de..ad7fb5a157b29 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-groups.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-groups.xml @@ -1,5 +1,6 @@ - @@ -13,7 +14,7 @@ - + @@ -30,18 +31,18 @@ - - - + + + - - - + + + diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-types.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-types.xml index c677f288fbef3..fa0506bbc02a8 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-types.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-channel-types.xml @@ -1,5 +1,6 @@ - @@ -28,43 +29,43 @@ This phase's AC voltage relative to N line - + Number:Power - + Number:Frequency - + Number:Power - + Number:Power - + Number:Dimensionless - + Number:Energy - + Number:ElectricCurrent @@ -86,21 +87,21 @@ Number:Temperature - + - + Number:Temperature - + Number:Temperature - + Number:Temperature diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-types.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-types.xml index b7b54f5b97643..b084633aef61c 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-types.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/inverter-types.xml @@ -6,8 +6,8 @@ - - + + @@ -15,68 +15,69 @@ Inverter - - + + - + - - - - - + + + + + uniqueAddress - + - - + + - Split phase (Japanese grid and 240V grid in North America) inverter supporting SunSpec mapping over tcp modbus connection + Split phase (Japanese grid and 240V grid in North America) inverter supporting SunSpec mapping over tcp + modbus connection Inverter - - + + - + - - - - - + + + + + uniqueAddress - + - - + + @@ -84,8 +85,8 @@ Inverter - - + + @@ -95,20 +96,20 @@ - + - - - - - + + + + + uniqueAddress - + diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-groups.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-groups.xml index 6dea65ac86b80..2c2e3f9b3d87f 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-groups.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-groups.xml @@ -1,48 +1,49 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-types.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-types.xml index 4d8fc9d2ec56a..2187f9bc8c86e 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-types.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-channel-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-types.xml b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-types.xml index efbae000321f1..b695ae26c2d5f 100644 --- a/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-types.xml +++ b/bundles/org.openhab.binding.modbus.sunspec/src/main/resources/ESH-INF/thing/meter-types.xml @@ -6,8 +6,8 @@ - - + + @@ -15,29 +15,29 @@ Meter - + - - - - - + + + + + uniqueAddress - + - - + + @@ -45,7 +45,7 @@ Meter - + @@ -55,22 +55,22 @@ - - - - - + + + + + uniqueAddress - + - - + + @@ -78,7 +78,7 @@ Meter - + @@ -91,22 +91,22 @@ - - - - - + + + + + uniqueAddress - + - - + + @@ -114,7 +114,7 @@ Meter - + @@ -127,15 +127,15 @@ - - - - - + + + + + uniqueAddress - + diff --git a/bundles/org.openhab.binding.modbus/pom.xml b/bundles/org.openhab.binding.modbus/pom.xml index 9f60a14f382a8..9c80aeda31457 100644 --- a/bundles/org.openhab.binding.modbus/pom.xml +++ b/bundles/org.openhab.binding.modbus/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.modbus/src/main/feature/feature.xml b/bundles/org.openhab.binding.modbus/src/main/feature/feature.xml index 5ffca23712e88..de4b6572a86c1 100644 --- a/bundles/org.openhab.binding.modbus/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.modbus/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - file:${basedirRoot}/bundles/org.openhab.io.transport.modbus/target/feature/feature.xml + file:${basedirRoot}/bundles/org.openhab.io.transport.modbus/target/feature/feature.xml - - openhab-runtime-base - openhab-transport-modbus - mvn:org.openhab.addons.bundles/org.openhab.binding.modbus/${project.version} - + + openhab-runtime-base + openhab-transport-modbus + mvn:org.openhab.addons.bundles/org.openhab.binding.modbus/${project.version} + diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/ModbusBindingConstants.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/ModbusBindingConstants.java index 8a83f0c8eca23..1055b10ceea0d 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/ModbusBindingConstants.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/ModbusBindingConstants.java @@ -25,5 +25,4 @@ public class ModbusBindingConstants { public static final String BINDING_ID = "modbus"; - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/handler/EndpointNotInitializedException.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/handler/EndpointNotInitializedException.java index bf05979a5ef5e..ff15631a2bab5 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/handler/EndpointNotInitializedException.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/handler/EndpointNotInitializedException.java @@ -24,5 +24,4 @@ public class EndpointNotInitializedException extends Exception { private static final long serialVersionUID = -6721646244844348903L; - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusConfigurationException.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusConfigurationException.java index eecbfe067cf98..8ee3860c7c96f 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusConfigurationException.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusConfigurationException.java @@ -28,5 +28,4 @@ public ModbusConfigurationException(String errmsg) { } private static final long serialVersionUID = -466597103876477780L; - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusHandlerFactory.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusHandlerFactory.java index 23f4f5b2494d5..4bb0dbe07e088 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusHandlerFactory.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/ModbusHandlerFactory.java @@ -94,5 +94,4 @@ public void setModbusManager(ModbusManager manager) { public void unsetModbusManager(ModbusManager manager) { this.manager = null; } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusPollerConfiguration.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusPollerConfiguration.java index 0c0e74d1174d3..efe2ef444e72d 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusPollerConfiguration.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusPollerConfiguration.java @@ -116,5 +116,4 @@ public long getCacheMillis() { public void setCacheMillis(long cacheMillis) { this.cacheMillis = cacheMillis; } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusTcpConfiguration.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusTcpConfiguration.java index adcdff3b7754e..1c1f0841f79fc 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusTcpConfiguration.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/config/ModbusTcpConfiguration.java @@ -105,5 +105,4 @@ public boolean isDiscoveryEnabled() { public void setDiscoveryEnabled(boolean enableDiscovery) { this.enableDiscovery = enableDiscovery; } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusDataThingHandler.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusDataThingHandler.java index 8b9083adbfcfa..f70444ebce4f1 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusDataThingHandler.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusDataThingHandler.java @@ -519,8 +519,8 @@ private void validateAndParseWriteParameters() throws ModbusConfigurationExcepti boolean writeTransformationMissing = StringUtils.isBlank(config.getWriteTransform()); writeTransformation = new Transformation(config.getWriteTransform()); boolean writingCoil = WRITE_TYPE_COIL.equals(config.getWriteType()); - writeParametersHavingTransformationOnly = (writeTypeMissing && writeStartMissing - && writeValueTypeMissing && !writeTransformationMissing); + writeParametersHavingTransformationOnly = (writeTypeMissing && writeStartMissing && writeValueTypeMissing + && !writeTransformationMissing); boolean allMissingOrAllPresentOrOnlyNonDefaultTransform = // // read-only thing, no write specified (writeTypeMissing && writeStartMissing && writeValueTypeMissing) @@ -936,5 +936,4 @@ protected void updateStatus(ThingStatusInfo statusInfo) { } } } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandler.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandler.java index 3dbe887e83c1a..1f765157be84a 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandler.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandler.java @@ -48,5 +48,4 @@ public interface ModbusPollerThingHandler { * Refresh data */ public void refresh(); - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandlerImpl.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandlerImpl.java index 2de9fcf19df0d..0bb1b09e4cb85 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandlerImpl.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusPollerThingHandlerImpl.java @@ -453,5 +453,4 @@ public void refresh() { managerRef.get().submitOneTimePoll(pollTask); } } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusSerialThingHandler.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusSerialThingHandler.java index 57b66b582ceac..6eb3a4cc949c9 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusSerialThingHandler.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusSerialThingHandler.java @@ -112,5 +112,4 @@ public ThingUID getUID() { public Collection> getServices() { return Collections.singleton(ModbusEndpointDiscoveryService.class); } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusTcpThingHandler.java b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusTcpThingHandler.java index 258ab7198d467..e7432e3fe8590 100644 --- a/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusTcpThingHandler.java +++ b/bundles/org.openhab.binding.modbus/src/main/java/org/openhab/binding/modbus/internal/handler/ModbusTcpThingHandler.java @@ -101,5 +101,4 @@ public boolean isDiscoveryEnabled() { public Collection> getServices() { return Collections.singleton(ModbusEndpointDiscoveryService.class); } - } diff --git a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/binding/binding.xml index d065f34d9fa2b..fa7638c8a9b9e 100644 --- a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Modbus Binding Binding for Modbus diff --git a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-poller.xml b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-poller.xml index 81713385dff9a..f6298b3c8f31e 100644 --- a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-poller.xml +++ b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-poller.xml @@ -1,11 +1,12 @@ - - - + + @@ -18,7 +19,7 @@ -
Input as zero-based index number, e.g. in place of 400001 (first holding register), use the address 0.]]>
0 @@ -45,7 +46,7 @@ 50 -
Use zero to disable the caching.]]>
true diff --git a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-serial.xml b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-serial.xml index 7ff20bff89b4a..05b1eb5c04dbc 100644 --- a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-serial.xml +++ b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-serial.xml @@ -1,5 +1,6 @@ - @@ -81,14 +82,15 @@
- When enabled we try to find a device specific handler. Turn this on if you're using one of the supported devices. + When enabled we try to find a device specific handler. Turn this on if you're using one of the + supported devices. false -
This controls whether we should try to read back whatever we send on the line, before reading the response. +
This controls whether we should try to read back whatever we send on the line, before reading the response. ]]>
false true diff --git a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-tcp.xml b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-tcp.xml index c9c48809060fb..b1e48f945f608 100644 --- a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-tcp.xml +++ b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/bridge-tcp.xml @@ -1,5 +1,6 @@ - @@ -23,10 +24,11 @@ Slave id. Also known as station address or unit identifier. 1
- + - When enabled we try to find a device specific handler. Turn this on if you're using one of the supported devices. + When enabled we try to find a device specific handler. Turn this on if you're using one of the + supported devices. false diff --git a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-data.xml b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-data.xml index 934f7b65c477c..3e592882e72a1 100644 --- a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-data.xml +++ b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-data.xml @@ -1,27 +1,28 @@ - - - - + + + Data thing extracts values from binary data received from Modbus slave. Similarly, it it responsible of tranlating openHAB commands to Modbus write requests - - - - - - - - - - - + + + + + + + + + + + @@ -32,7 +33,7 @@
Input as zero-based index number, e.g. in place of 400001 (first holding register), use the address 0. Must be between (poller start) and (poller start + poller length - 1) (inclusive).

With registers and value type less than 16 bits, you must use X.Y format where Y specifies the sub-element to read from the 16 bit register: -
    +
    • For example, 3.1 would mean pick second bit from register index 3 with bit value type.
    • With int8 valuetype, it would pick the high byte of register index 3.
    @@ -44,21 +45,21 @@
    Use "default" to communicate that no transformation is done and value should be passed as is.
    Use SERVICENAME(ARG) to use transformation service. -
    Any other value than the above types will be interpreted as static text, in which case the actual content of the polled +
    Any other value than the above types will be interpreted as static text, in which case the actual content of the polled value is ignored.]]>
    default
    With registers all value types are applicable.]]>
    - + @@ -85,7 +86,7 @@ -
    +
    Coil uses function code (FC) FC05 or FC15. Holding register uses FC06 or FC16. See writeMultipleEvenWithSingleRegisterOrCoil parameter.]]>
    @@ -97,7 +98,7 @@
    Use "default" to communicate that no transformation is done and value should be passed as is.
    Use SERVICENAME(ARG) to use transformation service. -
    Any other value than the above types will be interpreted as static text, in which case the actual content of the command +
    Any other value than the above types will be interpreted as static text, in which case the actual content of the command value is ignored.]]>
    default
    @@ -107,7 +108,8 @@ - + @@ -119,7 +121,7 @@ false -
    If false, FC6/FC5 are used with single register and single coil, respectively.]]>
    diff --git a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-types.xml index df02bc8071694..c44d0b4db4675 100644 --- a/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.modbus/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.mqtt.generic/pom.xml b/bundles/org.openhab.binding.mqtt.generic/pom.xml index 7200a361ff39e..35397e24ed3fe 100644 --- a/bundles/org.openhab.binding.mqtt.generic/pom.xml +++ b/bundles/org.openhab.binding.mqtt.generic/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/AvailabilityTracker.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/AvailabilityTracker.java index 7ade7c6ba2302..d59ba2c811e3b 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/AvailabilityTracker.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/AvailabilityTracker.java @@ -43,5 +43,4 @@ public interface AvailabilityTracker { * This is used to time out the availability of the device after some time without receiving a message. */ public void resetMessageReceived(); - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/ChannelState.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/ChannelState.java index 3a6918b574e38..2774be78f0b48 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/ChannelState.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/ChannelState.java @@ -411,5 +411,4 @@ public void setChannelStateUpdateListener(ChannelStateUpdateListener channelStat public void setConnection(MqttBrokerConnection connection) { this.connection = connection; } - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/internal/MqttThingHandlerFactory.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/internal/MqttThingHandlerFactory.java index 3e02d45e50b79..b0bb152aa7b2c 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/internal/MqttThingHandlerFactory.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/internal/MqttThingHandlerFactory.java @@ -87,5 +87,4 @@ protected void unsetStateDescriptionProvider(MqttChannelStateDescriptionProvider public @Nullable TransformationService getTransformationService(String type) { return TransformationHelper.getTransformationService(bundleContext, type); } - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/mapping/AbstractMqttAttributeClass.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/mapping/AbstractMqttAttributeClass.java index b1c9de0f4bb3d..dde6157fccec5 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/mapping/AbstractMqttAttributeClass.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/mapping/AbstractMqttAttributeClass.java @@ -316,5 +316,4 @@ public void fieldChanged(Field field, Object value) { * Implement this method in your field class and return "this". */ public abstract Object getFieldsOf(); - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/tools/JsonReaderDelegate.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/tools/JsonReaderDelegate.java index aa6376e0d646f..5d4362c01ad16 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/tools/JsonReaderDelegate.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/tools/JsonReaderDelegate.java @@ -147,5 +147,4 @@ public void skipValue() throws IOException { public String toString() { return delegate.toString(); } - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/ValueFactory.java b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/ValueFactory.java index 8eff012f6c3a7..d400e545bdf99 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/ValueFactory.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/java/org/openhab/binding/mqtt/generic/values/ValueFactory.java @@ -72,5 +72,4 @@ public static Value createValueState(ChannelConfig config, String channelTypeID) } return value; } - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/config/color-channel-config.xml b/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/config/color-channel-config.xml index c17c8f137eb01..d10ccbcec07ff 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/config/color-channel-config.xml +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/config/color-channel-config.xml @@ -96,7 +96,8 @@ If you connect this channel to a Switch item and turn it on, - color and saturation are preserved from the last state, but + color and saturation are preserved from the + last state, but the brightness will be set to this configured initial brightness percentage. 10 true diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/channels.xml index ebf6062fe98ef..f99c9f7a857ee 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/channels.xml @@ -7,29 +7,29 @@ String - + DateTime Current date and/or time - + Image An image to display. Send a binary bmp, jpg, png or any other supported format to this channel. - - + + Location GPS coordinates as Latitude,Longitude,Altitude - + diff --git a/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/generic-thing.xml b/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/generic-thing.xml index 4b579b9632c66..1c1e1860419b5 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/generic-thing.xml +++ b/bundles/org.openhab.binding.mqtt.generic/src/main/resources/ESH-INF/thing/generic-thing.xml @@ -7,8 +7,8 @@ - - + + You need a configured Broker first. Dynamically add channels of various types to this Thing. Link diff --git a/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/internal/handler/ThingChannelConstants.java b/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/internal/handler/ThingChannelConstants.java index 81e3e07df9359..648fe40183631 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/internal/handler/ThingChannelConstants.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/internal/handler/ThingChannelConstants.java @@ -125,5 +125,4 @@ private static Configuration onoffConfiguration() { data.put("inverse", true); return new Configuration(data); } - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/mapping/SubscribeFieldToMQTTtopicTests.java b/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/mapping/SubscribeFieldToMQTTtopicTests.java index 39103f439372a..1a7aa582659a5 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/mapping/SubscribeFieldToMQTTtopicTests.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/mapping/SubscribeFieldToMQTTtopicTests.java @@ -152,5 +152,4 @@ public void MessageReceive() future.get(50, TimeUnit.MILLISECONDS); assertThat(attributes.Int, is(10)); } - } diff --git a/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/values/ValueTests.java b/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/values/ValueTests.java index 74259c4c31260..e7ea19314d5d4 100644 --- a/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/values/ValueTests.java +++ b/bundles/org.openhab.binding.mqtt.generic/src/test/java/org/openhab/binding/mqtt/generic/values/ValueTests.java @@ -230,7 +230,6 @@ public void percentMQTTValue() { v.update(new DecimalType(i)); assertThat(v.getMQTTpublishValue(null), is("" + i)); } - } @Test diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/pom.xml b/bundles/org.openhab.binding.mqtt.homeassistant/pom.xml index 03105c09ded6b..13086ecf639c9 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/pom.xml +++ b/bundles/org.openhab.binding.mqtt.homeassistant/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/feature/feature.xml b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/feature/feature.xml index d7ad564331dcf..fd50c3169fcff 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/feature/feature.xml @@ -1,13 +1,13 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mqtt - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.generic/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.homeassistant/${project.version} - + + openhab-runtime-base + openhab-transport-mqtt + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.generic/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.homeassistant/${project.version} + diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/generic/internal/MqttThingHandlerFactory.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/generic/internal/MqttThingHandlerFactory.java index d2d09a7e577e7..2fd9bdcf32d36 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/generic/internal/MqttThingHandlerFactory.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/generic/internal/MqttThingHandlerFactory.java @@ -93,5 +93,4 @@ protected void unsetChannelProvider(MqttChannelTypeProvider provider) { public @Nullable TransformationService getTransformationService(String type) { return TransformationHelper.getTransformationService(bundleContext, type); } - } diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ComponentSensor.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ComponentSensor.java index d3429ebc2d4ca..56b89a739dff4 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ComponentSensor.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ComponentSensor.java @@ -65,5 +65,4 @@ public ComponentSensor(CFactory.ComponentConfiguration componentConfiguration) { .stateTopic(channelConfiguration.state_topic, channelConfiguration.value_template)// .build(); } - } diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ConnectionDeserializer.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ConnectionDeserializer.java index 491a072080df0..8d1681010b1f1 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ConnectionDeserializer.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ConnectionDeserializer.java @@ -12,10 +12,10 @@ */ package org.openhab.binding.mqtt.homeassistant.internal; -import com.google.gson.*; - import java.lang.reflect.Type; +import com.google.gson.*; + /** * The {@link ConnectionDeserializer} will de-serialize a connection-list * diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ListOrStringDeserializer.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ListOrStringDeserializer.java index df5aadfa3f410..115ffe1f52ccb 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ListOrStringDeserializer.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/ListOrStringDeserializer.java @@ -88,6 +88,5 @@ public void write(@Nullable JsonWriter out, @Nullable List value) throws in.endArray(); return result; - } } diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/discovery/HomeAssistantDiscovery.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/discovery/HomeAssistantDiscovery.java index 9af7d85b894f8..cfbd54f85003a 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/discovery/HomeAssistantDiscovery.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/java/org/openhab/binding/mqtt/homeassistant/internal/discovery/HomeAssistantDiscovery.java @@ -222,5 +222,4 @@ public void topicVanished(ThingUID connectionBridge, MqttBrokerConnection connec } } } - } diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/resources/ESH-INF/thing/homeassistant-thing.xml b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/resources/ESH-INF/thing/homeassistant-thing.xml index fa18f92376844..57331f1783de9 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/main/resources/ESH-INF/thing/homeassistant-thing.xml +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/main/resources/ESH-INF/thing/homeassistant-thing.xml @@ -6,11 +6,12 @@ - - + + - You need a configured Broker first. This Thing represents a device, that follows the "HomeAssistant MQTT Component" specification. + You need a configured Broker first. This Thing represents a device, that follows the "HomeAssistant MQTT + Component" specification. diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/HaIDTests.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/HaIDTests.java index 161d0965de362..643b590c5cd2e 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/HaIDTests.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/HaIDTests.java @@ -72,5 +72,4 @@ public void testWithNode() { Collection restoreList = HaID.fromConfig(haConfig); assertThat(restoreList, hasItem(new HaID("homeassistant/switch/node/name/config"))); } - } diff --git a/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/handler/ThingChannelConstants.java b/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/handler/ThingChannelConstants.java index d2261423d567c..0b0d93fdc51ee 100644 --- a/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/handler/ThingChannelConstants.java +++ b/bundles/org.openhab.binding.mqtt.homeassistant/src/test/java/org/openhab/binding/mqtt/homeassistant/internal/handler/ThingChannelConstants.java @@ -57,5 +57,4 @@ static Configuration textConfigurationWithJson() { data.put("transformationPattern", "JSONPATH:" + jsonPathPattern); return new Configuration(data); } - } diff --git a/bundles/org.openhab.binding.mqtt.homie/pom.xml b/bundles/org.openhab.binding.mqtt.homie/pom.xml index df505f2eea19c..23525de73c3a7 100644 --- a/bundles/org.openhab.binding.mqtt.homie/pom.xml +++ b/bundles/org.openhab.binding.mqtt.homie/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mqtt.homie/src/main/feature/feature.xml b/bundles/org.openhab.binding.mqtt.homie/src/main/feature/feature.xml index f0fccb1c0a4a3..6f59a0c154365 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.mqtt.homie/src/main/feature/feature.xml @@ -1,13 +1,13 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mqtt - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.generic/${project.version} - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.homie/${project.version} - + + openhab-runtime-base + openhab-transport-mqtt + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.generic/${project.version} + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt.homie/${project.version} + diff --git a/bundles/org.openhab.binding.mqtt.homie/src/main/java/org/openhab/binding/mqtt/homie/generic/internal/MqttThingHandlerFactory.java b/bundles/org.openhab.binding.mqtt.homie/src/main/java/org/openhab/binding/mqtt/homie/generic/internal/MqttThingHandlerFactory.java index 2004b179755d9..bd8ca41ba412e 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/main/java/org/openhab/binding/mqtt/homie/generic/internal/MqttThingHandlerFactory.java +++ b/bundles/org.openhab.binding.mqtt.homie/src/main/java/org/openhab/binding/mqtt/homie/generic/internal/MqttThingHandlerFactory.java @@ -28,7 +28,6 @@ import org.openhab.binding.mqtt.generic.MqttChannelStateDescriptionProvider; import org.openhab.binding.mqtt.generic.MqttChannelTypeProvider; import org.openhab.binding.mqtt.generic.TransformationServiceProvider; -import org.openhab.binding.mqtt.homie.generic.internal.MqttBindingConstants; import org.openhab.binding.mqtt.homie.internal.handler.HomieThingHandler; import org.osgi.service.component.ComponentContext; import org.osgi.service.component.annotations.Activate; @@ -99,5 +98,4 @@ protected void unsetChannelProvider(MqttChannelTypeProvider provider) { public @Nullable TransformationService getTransformationService(String type) { return TransformationHelper.getTransformationService(bundleContext, type); } - } diff --git a/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/config/homie-channel-config.xml b/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/config/homie-channel-config.xml index 47d62640cb9f9..741a1369644e3 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/config/homie-channel-config.xml +++ b/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/config/homie-channel-config.xml @@ -22,7 +22,8 @@ - If set to false, the resulting channel will be a trigger channel (stateless), useful for non-permanent events. This flag corresponds to the retained option for MQTT publish. + If set to false, the resulting channel will be a trigger channel (stateless), useful for non-permanent + events. This flag corresponds to the retained option for MQTT publish. true diff --git a/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/thing/homie-thing.xml b/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/thing/homie-thing.xml index cc3ae1ea45f49..b3d7fe26e5d40 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/thing/homie-thing.xml +++ b/bundles/org.openhab.binding.mqtt.homie/src/main/resources/ESH-INF/thing/homie-thing.xml @@ -6,13 +6,14 @@ - - + + - You need a configured Broker first. This thing represents a device, that follows the "MQTT Homie Convention" (Version 3.x). + You need a configured Broker first. This thing represents a device, that follows the "MQTT Homie + Convention" (Version 3.x). - + diff --git a/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/generic/internal/mapping/HomieChildMapTests.java b/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/generic/internal/mapping/HomieChildMapTests.java index fc218b0df3980..1443661c0a369 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/generic/internal/mapping/HomieChildMapTests.java +++ b/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/generic/internal/mapping/HomieChildMapTests.java @@ -25,8 +25,8 @@ import org.junit.Before; import org.junit.Test; import org.mockito.Mock; -import org.openhab.binding.mqtt.homie.internal.handler.ThingChannelConstants; import org.openhab.binding.mqtt.generic.tools.ChildMap; +import org.openhab.binding.mqtt.homie.internal.handler.ThingChannelConstants; import org.openhab.binding.mqtt.homie.internal.homie300.DeviceCallback; import org.openhab.binding.mqtt.homie.internal.homie300.Node; import org.openhab.binding.mqtt.homie.internal.homie300.NodeAttributes; @@ -88,5 +88,4 @@ public void testArrayToSubtopicCreateAndRemove() { subject.apply(new String[] { "abc" }, addedAction, this::createNode, this::removedNode); verify(callback).nodeRemoved(eq(soonToBeRemoved)); } - } diff --git a/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/handler/ThingChannelConstants.java b/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/handler/ThingChannelConstants.java index 202876593107c..493d8a356118e 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/handler/ThingChannelConstants.java +++ b/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/handler/ThingChannelConstants.java @@ -86,5 +86,4 @@ private static Configuration onoffConfiguration() { data.put("inverse", true); return new Configuration(data); } - } diff --git a/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/homie300/PropertyHelper.java b/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/homie300/PropertyHelper.java index 6bb5070172163..5a97be3ed4ec1 100644 --- a/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/homie300/PropertyHelper.java +++ b/bundles/org.openhab.binding.mqtt.homie/src/test/java/org/openhab/binding/mqtt/homie/internal/homie300/PropertyHelper.java @@ -15,10 +15,9 @@ import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.mqtt.generic.ChannelState; -import org.openhab.binding.mqtt.homie.internal.homie300.Property; /** - * Helper to access {@link Property} internals. + * Helper to access {@link org.openhab.binding.mqtt.homie.internal.homie300.Property} internals. * * @author David Graeff - Initial contribution */ diff --git a/bundles/org.openhab.binding.mqtt/pom.xml b/bundles/org.openhab.binding.mqtt/pom.xml index 663a9c9b38b2d..6b8beb1f904bf 100644 --- a/bundles/org.openhab.binding.mqtt/pom.xml +++ b/bundles/org.openhab.binding.mqtt/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.mqtt/src/main/feature/feature.xml b/bundles/org.openhab.binding.mqtt/src/main/feature/feature.xml index 24b80f2b292fb..8ba33b77789bf 100644 --- a/bundles/org.openhab.binding.mqtt/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.mqtt/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mqtt - mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/${project.version} - + + openhab-runtime-base + openhab-transport-mqtt + mvn:org.openhab.addons.bundles/org.openhab.binding.mqtt/${project.version} + diff --git a/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/action/MQTTActions.java b/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/action/MQTTActions.java index a0d6a7a6d175a..28e34db36299b 100644 --- a/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/action/MQTTActions.java +++ b/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/action/MQTTActions.java @@ -91,7 +91,8 @@ public static void publishMQTT(@Nullable ThingActions actions, @Nullable String publishMQTT(actions, topic, value, null); } - public static void publishMQTT(@Nullable ThingActions actions, @Nullable String topic, @Nullable String value, @Nullable Boolean retain) { + public static void publishMQTT(@Nullable ThingActions actions, @Nullable String topic, @Nullable String value, + @Nullable Boolean retain) { if (actions instanceof MQTTActions) { ((MQTTActions) actions).publishMQTT(topic, value, retain); } else { diff --git a/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandler.java b/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandler.java index 42b1bd739f1cb..5b8fe39d3c319 100644 --- a/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandler.java +++ b/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandler.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.mqtt.handler; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.TimeoutException; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.thing.*; @@ -28,13 +35,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.TimeoutException; - /** * This base implementation handles connection changes of the {@link MqttBrokerConnection} * and puts the Thing on or offline. It also handles adding/removing notifications of the @@ -217,8 +217,8 @@ public final void registerDiscoveryListener(MQTTTopicDiscoveryParticipant listen * @param topic the topic (as specified during registration) */ public final void unregisterDiscoveryListener(MQTTTopicDiscoveryParticipant listener, String topic) { - Map topicListeners = discoveryTopics - .compute(topic, (k, v) -> { + Map topicListeners = discoveryTopics.compute(topic, + (k, v) -> { if (v == null) { logger.warn( "Tried to unsubscribe {} from discovery topic {} on broker {} but topic not registered at all. Check discovery logic!", diff --git a/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/internal/MqttBrokerHandlerFactory.java b/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/internal/MqttBrokerHandlerFactory.java index 1cfab3857e164..306bb5a5d7e10 100644 --- a/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/internal/MqttBrokerHandlerFactory.java +++ b/bundles/org.openhab.binding.mqtt/src/main/java/org/openhab/binding/mqtt/internal/MqttBrokerHandlerFactory.java @@ -12,6 +12,10 @@ */ package org.openhab.binding.mqtt.internal; +import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.thing.Bridge; @@ -33,10 +37,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - /** * The {@link MqttBrokerHandlerFactory} is responsible for creating things and thing * handlers. It keeps reference to all handlers and implements the {@link MQTTTopicDiscoveryService} service @@ -108,8 +108,8 @@ protected void createdHandler(AbstractBrokerHandler handler) { */ @Override public void subscribe(MQTTTopicDiscoveryParticipant listener, String topic) { - List listenerList = discoveryTopics - .computeIfAbsent(topic, t -> new ArrayList<>()); + List listenerList = discoveryTopics.computeIfAbsent(topic, + t -> new ArrayList<>()); listenerList.add(listener); handlers.forEach(broker -> broker.registerDiscoveryListener(listener, topic)); } diff --git a/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/binding/binding.xml index 764a2adc1bd65..47fe6772032d5 100644 --- a/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - MQTT Binding diff --git a/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/thing/thing-types.xml index d4ec5e1431bcc..19ca98f5f8c5f 100644 --- a/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.mqtt/src/main/resources/ESH-INF/thing/thing-types.xml @@ -50,7 +50,8 @@ Reconnect time in ms. If a connection is lost, the - binding will wait this time before it tries to reconnect. + binding will wait this time before it tries to + reconnect. 60000 true @@ -58,7 +59,8 @@ Keep alive / heartbeat timer in s. It can take up to - this time to determine if a server connection is lost. A lower + this time to determine if a server connection is + lost. A lower value may keep the broker unnecessarily busy for no or little additional value. 60 @@ -110,9 +112,11 @@ If this and SSL is set: After the next connection has - been successfully established, the certificate is pinned. The + been successfully established, the certificate is + pinned. The connection will be refused if another certificate is used. Clear - **certificate** to allow a new certificate for the next connection + **certificate** to allow a new + certificate for the next connection attempt. This option can increase security. true true @@ -120,18 +124,22 @@ If **certificatepin** is set this hash is used to - verify the connection. Clear to allow a new certificate pinning on + verify the connection. Clear to allow a new + certificate pinning on the next connection attempt. If empty will be filled automatically - by the next successful connection. An example input would be + by the next successful + connection. An example input would be `SHA-256:83F9171E06A313118889F7D79302BD1B7A2042EE0CFD029ABF8DD06FFA6CD9D3`. true If this and SSL is set: After the next connection has - been successfully established, the public key of the broker is + been successfully established, the public key of + the broker is pinned. The connection will be refused if another public key is - used. Clear **publickey** to allow a new public key for the next + used. Clear **publickey** to allow a + new public key for the next connection attempt. This option can increase security. true true @@ -139,9 +147,11 @@ If **publickeypin** is set this hash is used to verify - the connection. Clear to allow a new public key pinning on the next + the connection. Clear to allow a new public key + pinning on the next connection attempt. If empty will be filled automatically by the - next successful connection. An example input would be + next successful connection. An + example input would be `SHA-256:83F9171E06A313118889F7D79302BD1B7A2042EE0CFD029ABF8DD06FFA6CD9D3` true @@ -151,18 +161,19 @@ A system configured and therefore read-only broker - connection. Properties are reflecting the configuration and internal + connection. Properties are reflecting the configuration + and internal connection status. - - - - - - - - + + + + + + + + @@ -176,12 +187,14 @@ trigger - This channel is triggered when a value is published to the configured MQTT topic on this broker connection. The event payload will be the received MQTT topic value. + This channel is triggered when a value is published to the configured MQTT topic on this broker + connection. The event payload will be the received MQTT topic value. - This channel will trigger on this MQTT topic. This topic can contain wildcards like + and # for example "all/in/#" or "sensors/+/config". + This channel will trigger on this MQTT topic. This topic can contain wildcards like + and # for example + "all/in/#" or "sensors/+/config". @@ -189,7 +202,9 @@ - The trigger channel payload usually only contains the received MQTT topic value. If you define a separator character, for example '#', the topic and received value will be in the trigger channel payload. For example: my_topic#my_received_value. + The trigger channel payload usually only contains the received MQTT topic value. If you define a + separator character, for example '#', the topic and received value will be in the trigger channel payload. For + example: my_topic#my_received_value. diff --git a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandlerTest.java b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandlerTest.java index 982874d9b2d84..03d4f2e429921 100644 --- a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandlerTest.java +++ b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/AbstractBrokerHandlerTest.java @@ -30,13 +30,11 @@ import org.junit.Test; import org.mockito.Mock; import org.mockito.MockitoAnnotations; -import org.openhab.binding.mqtt.handler.AbstractBrokerHandler; -import org.openhab.binding.mqtt.handler.SystemBrokerHandler; import org.openhab.binding.mqtt.internal.MqttThingID; import org.osgi.service.cm.ConfigurationException; /** - * Tests cases for {@link AbstractBrokerHandler}. + * Tests cases for {@link org.openhab.binding.mqtt.handler.AbstractBrokerHandler}. * * @author David Graeff - Initial contribution */ diff --git a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerEx.java b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerEx.java index 93ba58cd0f12b..4257088fafa47 100644 --- a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerEx.java +++ b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerEx.java @@ -18,7 +18,6 @@ import org.eclipse.smarthome.core.thing.Bridge; import org.eclipse.smarthome.io.transport.mqtt.MqttBrokerConnection; import org.mockito.Mockito; -import org.openhab.binding.mqtt.handler.BrokerHandler; /** * Overwrite BrokerHandler to return our mocked/extended MqttBrokerConnection in diff --git a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerTest.java b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerTest.java index 19fbb2adeb6a9..1d91f9d063382 100644 --- a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerTest.java +++ b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/BrokerHandlerTest.java @@ -137,5 +137,4 @@ boolean initializeHandlerWaitForTimeout() verify(handler, times(3)).connectionStateChanged(any(), any()); return true; } - } diff --git a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/MqttBrokerConnectionEx.java b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/MqttBrokerConnectionEx.java index 83c1295c29e46..1b24eb3060e33 100644 --- a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/MqttBrokerConnectionEx.java +++ b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/handler/MqttBrokerConnectionEx.java @@ -110,5 +110,4 @@ protected MqttAsyncClientWrapper createClient() { public @NonNull MqttConnectionState connectionState() { return connectionStateOverwrite; } - } diff --git a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/MQTTTopicDiscoveryServiceTest.java b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/MQTTTopicDiscoveryServiceTest.java index c336f2cfb5c2e..6eaf6c3740610 100644 --- a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/MQTTTopicDiscoveryServiceTest.java +++ b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/MQTTTopicDiscoveryServiceTest.java @@ -151,5 +151,4 @@ public void topicVanished() { .forEach(s -> s.processMessage("topic", bytes)); verify(listener).topicVanished(eq(thing.getUID()), eq(connection), eq("topic")); } - } diff --git a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/discovery/ServiceDiscoveryServiceTest.java b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/discovery/ServiceDiscoveryServiceTest.java index 301925f02aeda..2885a08c4a78a 100644 --- a/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/discovery/ServiceDiscoveryServiceTest.java +++ b/bundles/org.openhab.binding.mqtt/src/test/java/org/openhab/binding/mqtt/internal/discovery/ServiceDiscoveryServiceTest.java @@ -33,10 +33,9 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.openhab.binding.mqtt.MqttBindingConstants; -import org.openhab.binding.mqtt.internal.discovery.MqttServiceDiscoveryService; /** - * Tests cases for {@link MqttServiceDiscoveryService}. + * Tests cases for {@link org.openhab.binding.mqtt.internal.discovery.MqttServiceDiscoveryService}. * * @author David Graeff - Initial contribution */ diff --git a/bundles/org.openhab.binding.nanoleaf/pom.xml b/bundles/org.openhab.binding.nanoleaf/pom.xml index b61764c58ecf2..1cbd84e354df2 100644 --- a/bundles/org.openhab.binding.nanoleaf/pom.xml +++ b/bundles/org.openhab.binding.nanoleaf/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/OpenAPIUtils.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/OpenAPIUtils.java index d1e640a48ef18..b101a02c091c3 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/OpenAPIUtils.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/OpenAPIUtils.java @@ -87,8 +87,7 @@ public static URI getUri(NanoleafControllerConfig controllerConfig, String apiOp return requestURI; } - public static ContentResponse sendOpenAPIRequest(Request request) - throws NanoleafException { + public static ContentResponse sendOpenAPIRequest(Request request) throws NanoleafException { try { traceSendRequest(request); ContentResponse openAPIResponse; @@ -122,7 +121,7 @@ public static ContentResponse sendOpenAPIRequest(Request request) throw new NanoleafUnauthorizedException("Invalid authorization token"); } throw new NanoleafException("Failed to send OpenAPI request", clientException); - } catch ( InterruptedException interruptedException) { + } catch (InterruptedException interruptedException) { throw new NanoleafInterruptedException("OpenAPI request has been interrupted", interruptedException); } } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/discovery/NanoleafMDNSDiscoveryParticipant.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/discovery/NanoleafMDNSDiscoveryParticipant.java index cab6aa7b0825a..6e7667746a47f 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/discovery/NanoleafMDNSDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/discovery/NanoleafMDNSDiscoveryParticipant.java @@ -39,7 +39,8 @@ * * @author Martin Raepple - Initial contribution * @author Stefan Höhn - further improvements for static defined things - * @see MSDN Discovery + * @see MSDN + * Discovery */ @Component(immediate = true, configurationPid = "discovery.nanoleaf") @NonNullByDefault @@ -76,10 +77,10 @@ public String getServiceType() { String qualifiedName = service.getQualifiedName(); logger.debug("AVR found: {}", qualifiedName); - logger.trace("Discovered nanoleaf host: {} port: {} firmWare: {} modelId: {} qualifiedName: {}", host, port, firmwareVersion, - modelId, qualifiedName); - logger.debug("Adding Nanoleaf controller {} with FW version {} found at {} {} to inbox", qualifiedName, firmwareVersion, host, - port); + logger.trace("Discovered nanoleaf host: {} port: {} firmWare: {} modelId: {} qualifiedName: {}", host, port, + firmwareVersion, modelId, qualifiedName); + logger.debug("Adding Nanoleaf controller {} with FW version {} found at {} {} to inbox", qualifiedName, + firmwareVersion, host, port); if (!OpenAPIUtils.checkRequiredFirmware(service.getPropertyString("md"), firmwareVersion)) { logger.warn("Nanoleaf controller firmware is too old. Must be {} or higher", MODEL_ID_LIGHTPANELS.equals(modelId) ? API_MIN_FW_VER_LIGHTPANELS : API_MIN_FW_VER_CANVAS); diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/handler/NanoleafControllerHandler.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/handler/NanoleafControllerHandler.java index 85e5e6e0cc129..67a7e8b4b9ff0 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/handler/NanoleafControllerHandler.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/handler/NanoleafControllerHandler.java @@ -130,7 +130,7 @@ public void initialize() { stopAllJobs(); } else if (!StringUtils.isEmpty(getThing().getProperties().get(Thing.PROPERTY_FIRMWARE_VERSION)) && !OpenAPIUtils.checkRequiredFirmware(getThing().getProperties().get(Thing.PROPERTY_MODEL_ID), - getThing().getProperties().get(Thing.PROPERTY_FIRMWARE_VERSION))) { + getThing().getProperties().get(Thing.PROPERTY_FIRMWARE_VERSION))) { logger.warn("Nanoleaf controller firmware is too old: {}. Must be equal or higher than {}", getThing().getProperties().get(Thing.PROPERTY_FIRMWARE_VERSION), API_MIN_FW_VER_LIGHTPANELS); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/AuthToken.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/AuthToken.java index c5eedaad2b074..80ec22a062c0e 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/AuthToken.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/AuthToken.java @@ -35,5 +35,4 @@ public class AuthToken { public void setAuthToken(String authToken) { this.authToken = authToken; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Brightness.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Brightness.java index 7cc2413b7b0bf..eb699deffdb14 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Brightness.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Brightness.java @@ -52,5 +52,4 @@ public void setMax(Integer max) { public void setMin(Integer min) { this.min = min; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Command.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Command.java index de7659ea0199c..dd2c999def841 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Command.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Command.java @@ -35,5 +35,4 @@ public class Command { public void setWrite(Write write) { this.write = write; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Effects.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Effects.java index e26f31b2bd13c..9e87a0bdc7994 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Effects.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Effects.java @@ -52,5 +52,4 @@ public void setEffectsList(@Nullable List effectsList) { public void setWrite(@Nullable Write write) { this.write = write; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/GlobalOrientation.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/GlobalOrientation.java index 969ac206c7ce4..a97a2b0aedd91 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/GlobalOrientation.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/GlobalOrientation.java @@ -50,5 +50,4 @@ public void setMax(Integer max) { public void setMin(Integer min) { this.min = min; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Hue.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Hue.java index 6e767ad4f9fae..bcaac6ba5a4cb 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Hue.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Hue.java @@ -52,5 +52,4 @@ public void setMax(Integer max) { public void setMin(Integer min) { this.min = min; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Layout.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Layout.java index d9c6fbe2f5a30..f1fa9d29deb9d 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Layout.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Layout.java @@ -74,7 +74,7 @@ public String getLayoutView() { final int noofDefinedPanels = positionData.size(); for (int index = 0; index < noofDefinedPanels; index++) { - if (positionData != null ) { + if (positionData != null) { @Nullable PositionDatum panel = positionData.get(index); diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/On.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/On.java index 4b654a9e8b4d8..33ba8715a76e4 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/On.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/On.java @@ -33,5 +33,4 @@ public boolean getValue() { public void setValue(boolean value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Palette.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Palette.java index 15c232bdddbcc..d64b3e8d91c73 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Palette.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Palette.java @@ -49,5 +49,4 @@ public int getBrightness() { public void setBrightness(int brightness) { this.brightness = brightness; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PanelLayout.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PanelLayout.java index 25aa9438fde22..6736d05a7ff2b 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PanelLayout.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PanelLayout.java @@ -41,5 +41,4 @@ public void setLayout(Layout layout) { public void setGlobalOrientation(GlobalOrientation globalOrientation) { this.globalOrientation = globalOrientation; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PositionDatum.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PositionDatum.java index 8172fffeea05a..b4802cb18b402 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PositionDatum.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/PositionDatum.java @@ -63,5 +63,4 @@ public int getOrientation() { public void setOrientation(int o) { this.orientation = o; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Rhythm.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Rhythm.java index 1f740f911a6f5..c9af07675fe0d 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Rhythm.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Rhythm.java @@ -95,5 +95,4 @@ public void setRhythmMode(int rhythmMode) { public void setRhythmPos(RhythmPos rhythmPos) { this.rhythmPos = rhythmPos; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/RhythmPos.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/RhythmPos.java index 366f43e790e3f..d0c1eea47ba8d 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/RhythmPos.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/RhythmPos.java @@ -54,5 +54,4 @@ public float getOrientation() { public void setOrientation(float o) { this.orientation = o; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Sat.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Sat.java index 2a7d82c38d333..8f3e75a532e93 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Sat.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/Sat.java @@ -52,5 +52,4 @@ public void setMax(Integer max) { public void setMin(Integer min) { this.min = min; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/TouchEvents.java b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/TouchEvents.java index b236783ac1820..82da9ba48d889 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/TouchEvents.java +++ b/bundles/org.openhab.binding.nanoleaf/src/main/java/org/openhab/binding/nanoleaf/internal/model/TouchEvents.java @@ -35,5 +35,4 @@ public List getEvents() { public void setEvents(List events) { this.events = events; } - } diff --git a/bundles/org.openhab.binding.nanoleaf/src/main/resources/ESH-INF/thing/lightpanels.xml b/bundles/org.openhab.binding.nanoleaf/src/main/resources/ESH-INF/thing/lightpanels.xml index 5f753ef6b93a3..a8a7f33d80cc9 100644 --- a/bundles/org.openhab.binding.nanoleaf/src/main/resources/ESH-INF/thing/lightpanels.xml +++ b/bundles/org.openhab.binding.nanoleaf/src/main/resources/ESH-INF/thing/lightpanels.xml @@ -9,45 +9,45 @@ @text/thing-type.nanoleaf.controller.description - - - - - - - - - - + + + + + + + + + + - - - - + + + + address - + - + @text/thing-type.nanoleaf.lightpanel.description - - - + + + id - + @@ -67,7 +67,7 @@ Dimmer @text/channel-type.nanoleaf.colorTemperature.description - + @@ -75,7 +75,7 @@ @text/channel-type.nanoleaf.colorTemperatureAbs.description ColorLight - + @@ -107,14 +107,14 @@ Switch @text/channel-type.nanoleaf.rhythmState.description - + Switch @text/channel-type.nanoleaf.rhythmActive.description - + @@ -133,20 +133,20 @@ Switch @text/channel-type.nanoleaf.singleTap.description - + Switch @text/channel-type.nanoleaf.doubleTap.description - + Switch @text/channel-type.nanoleaf.panelLayout.description - + diff --git a/bundles/org.openhab.binding.neato/pom.xml b/bundles/org.openhab.binding.neato/pom.xml index b42ae70729a58..9efa5f5308cbe 100644 --- a/bundles/org.openhab.binding.neato/pom.xml +++ b/bundles/org.openhab.binding.neato/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.neato/src/main/feature/feature.xml b/bundles/org.openhab.binding.neato/src/main/feature/feature.xml index f9c68b923b907..5c3f784008738 100644 --- a/bundles/org.openhab.binding.neato/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.neato/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.neato/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.neato/${project.version} + diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoBindingConstants.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoBindingConstants.java index 8010deeb9175d..0af362a184c87 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoBindingConstants.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoBindingConstants.java @@ -50,5 +50,4 @@ public class NeatoBindingConstants { public static final String CONFIG_REFRESHTIME = "refresh"; public static final String PROPERTY_NAME = "robot-name"; - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoCommunicationException.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoCommunicationException.java index 41e23b722efb9..f2af0e84df8d0 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoCommunicationException.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/NeatoCommunicationException.java @@ -28,5 +28,4 @@ public NeatoCommunicationException(Throwable cause) { public NeatoCommunicationException(String message, Throwable cause) { super(message, cause); } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableCommands.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableCommands.java index 9fbd79280b94d..94748f3c69997 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableCommands.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableCommands.java @@ -64,5 +64,4 @@ public Boolean getGoToBase() { public void setGoToBase(Boolean goToBase) { this.goToBase = goToBase; } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableServices.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableServices.java index 426b4b65a3822..691cc65246abe 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableServices.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/AvailableServices.java @@ -73,5 +73,4 @@ public String getSchedule() { public void setSchedule(String schedule) { this.schedule = schedule; } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/Battery.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/Battery.java index c162763727f82..8ab47060429a2 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/Battery.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/Battery.java @@ -82,5 +82,4 @@ public String getVendor() { public void setVendor(String vendor) { this.vendor = vendor; } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/BeehiveAuthentication.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/BeehiveAuthentication.java index f5e0f7d4f1c57..aa83b789f00a3 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/BeehiveAuthentication.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/BeehiveAuthentication.java @@ -41,5 +41,4 @@ public String getCurrentTime() { public void setCurrentTime(String currentTime) { this.currentTime = currentTime; } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/ErrorMessage.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/ErrorMessage.java index 88e9f51188f85..f7fe83ddc1c63 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/ErrorMessage.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/classes/ErrorMessage.java @@ -28,5 +28,4 @@ public String getMessage() { public void setMessage(String message) { this.message = message; } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/config/NeatoRobotConfig.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/config/NeatoRobotConfig.java index a74a4e473c1c0..a53588e395f71 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/config/NeatoRobotConfig.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/config/NeatoRobotConfig.java @@ -52,5 +52,4 @@ public void setSerial(String serial) { public String toString() { return "NeatoRobotConfig [refresh=" + refresh + ", secret=" + secret + ", serial=" + serial + "]"; } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/discovery/NeatoAccountDiscoveryService.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/discovery/NeatoAccountDiscoveryService.java index 39279d007b044..7e57d2afd5355 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/discovery/NeatoAccountDiscoveryService.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/discovery/NeatoAccountDiscoveryService.java @@ -96,5 +96,4 @@ private void addThing(Robot robot) { thingDiscovered( DiscoveryResultBuilder.create(thingUID).withBridge(bridgeUID).withProperties(properties).build()); } - } diff --git a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/handler/NeatoAccountHandler.java b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/handler/NeatoAccountHandler.java index 8376fca339575..a1572f0919888 100644 --- a/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/handler/NeatoAccountHandler.java +++ b/bundles/org.openhab.binding.neato/src/main/java/org/openhab/binding/neato/internal/handler/NeatoAccountHandler.java @@ -154,5 +154,4 @@ public String getToken() { return token; } } - } diff --git a/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/binding/binding.xml index b36f1ef481707..623f442696941 100644 --- a/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Neato Binding This is the binding for Neato. diff --git a/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/thing/vacuumcleaner.xml b/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/thing/vacuumcleaner.xml index 612bbf8ffd4ec..ec500d4043c06 100644 --- a/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/thing/vacuumcleaner.xml +++ b/bundles/org.openhab.binding.neato/src/main/resources/ESH-INF/thing/vacuumcleaner.xml @@ -6,7 +6,7 @@ - Access to Neato Account. Used to discover robots tied to account. + Access to Neato Account. Used to discover robots tied to account. @@ -27,7 +27,7 @@ - + @@ -35,19 +35,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -114,35 +114,35 @@ Switch True or False value if the dock has been seen - + Switch Is the vacuum cleaner in the docking station? - + Switch True or False value if the vacuum cleaner is scheduled for cleaning. - + Switch Is the vacuum cleaner currently charging? - + String Last error message in system. - + @@ -203,13 +203,13 @@ Number Current or Last cleaning, width of spot. 100-400cm. - + Number Current or Last cleaning, height of spot. 100-400cm. - + diff --git a/bundles/org.openhab.binding.neeo/pom.xml b/bundles/org.openhab.binding.neeo/pom.xml index 6010261cfca81..7819117b4f53a 100644 --- a/bundles/org.openhab.binding.neeo/pom.xml +++ b/bundles/org.openhab.binding.neeo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.neeo/src/main/feature/feature.xml b/bundles/org.openhab.binding.neeo/src/main/feature/feature.xml index 3ec1eb20e490f..62c65c0c3f4aa 100644 --- a/bundles/org.openhab.binding.neeo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.neeo/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.neeo/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.neeo/${project.version} + diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/discovery/NeeoBrainDiscovery.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/discovery/NeeoBrainDiscovery.java index dbb8be70845ae..7eb817431bd7f 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/discovery/NeeoBrainDiscovery.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/discovery/NeeoBrainDiscovery.java @@ -158,5 +158,4 @@ private InetAddress getIpAddress(ServiceInfo service) { } return null; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/handler/NeeoBrainHandler.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/handler/NeeoBrainHandler.java index 53a6efbe0cd51..d3f29e6f119da 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/handler/NeeoBrainHandler.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/handler/NeeoBrainHandler.java @@ -199,7 +199,6 @@ public void post(String json) { } } } - }, config.getForwardChain()); NeeoUtil.checkInterrupt(); diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/ExecuteResult.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/ExecuteResult.java index 1e13926497f38..e96f4427261c5 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/ExecuteResult.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/ExecuteResult.java @@ -95,5 +95,4 @@ public String toString() { return "ExecuteResult [estimatedDuration=" + estimatedDuration + ", name=" + name + ", startTime=" + startTime + ", steps=" + Arrays.toString(steps) + ", type=" + type + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoAction.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoAction.java index 6ff02c2a916ba..f4acbf1810c7e 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoAction.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoAction.java @@ -101,5 +101,4 @@ public String toString() { return "NeeoAction [action=" + action + ", actionParameter=" + actionParameter + ", recipe=" + recipe + ", device=" + device + ", room=" + room + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoBrain.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoBrain.java index a4a1cab1fad5d..8cb8b425b63f1 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoBrain.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoBrain.java @@ -136,5 +136,4 @@ public String toString() { return "NeeoBrain [name=" + name + ", version=" + version + ", label=" + label + ", configured=" + configured + ", key=" + key + ", airkey=" + airkey + ", lastchange=" + lastchange + ", rooms=" + rooms + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetails.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetails.java index b5b38593596d7..78f40143a13fe 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetails.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetails.java @@ -127,5 +127,4 @@ public String toString() { + ", manufacturer=" + manufacturer + ", name=" + name + ", timing=" + timing + ", deviceCapabilities=" + StringUtils.join(deviceCapabilities, ',') + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetailsTiming.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetailsTiming.java index d40391bfdbe2c..c09a2e377117b 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetailsTiming.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoDeviceDetailsTiming.java @@ -70,5 +70,4 @@ public String toString() { return "NeeoDeviceDetailsTiming [standbyCommandDelay=" + standbyCommandDelay + ", sourceSwitchDelay=" + sourceSwitchDelay + ", shutdownDelay=" + shutdownDelay + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacro.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacro.java index 06dfe633ca60d..0c6a75113d7a3 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacro.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacro.java @@ -112,5 +112,4 @@ public String toString() { return "NeeoMacro [key=" + key + ", componentType=" + componentType + ", name=" + name + ", label=" + label + ", deviceName=" + deviceName + ", roomName=" + roomName + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacrosDeserializer.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacrosDeserializer.java index cc8606f0cd39f..51ea0332f8470 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacrosDeserializer.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoMacrosDeserializer.java @@ -52,5 +52,4 @@ public NeeoMacros deserialize(@Nullable JsonElement jsonElement, @Nullable Type } return null; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRecipesDeserializer.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRecipesDeserializer.java index 7d4eb000467a4..a976f2484bf0e 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRecipesDeserializer.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRecipesDeserializer.java @@ -52,5 +52,4 @@ public NeeoRecipes deserialize(@Nullable JsonElement jsonElement, @Nullable Type } return null; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoom.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoom.java index ecbe21df39bb6..60196dfbe22a0 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoom.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoom.java @@ -98,5 +98,4 @@ public String toString() { return "NeeoRoom [name=" + name + ", key=" + key + ", scenarios=" + scenarios + ", devices=" + devices + ", recipes=" + recipes + "]"; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoomsDeserializer.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoomsDeserializer.java index dc6f6e5ace7bf..a04ff9f7b90f0 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoomsDeserializer.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoRoomsDeserializer.java @@ -51,5 +51,4 @@ public NeeoRooms deserialize(@Nullable JsonElement jsonElement, @Nullable Type t } return null; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoScenariosDeserializer.java b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoScenariosDeserializer.java index 37f0e47ef643e..926c61bb93242 100644 --- a/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoScenariosDeserializer.java +++ b/bundles/org.openhab.binding.neeo/src/main/java/org/openhab/binding/neeo/internal/models/NeeoScenariosDeserializer.java @@ -51,5 +51,4 @@ public NeeoScenarios deserialize(@Nullable JsonElement jsonElement, @Nullable Ty } return null; } - } diff --git a/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/binding/binding.xml index 2fdc30b7fb80f..d7dc8f2c56ed5 100644 --- a/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,11 @@ - + Neeo Binding - This binding allows you to discover NEEO Brain(s), discover the Rooms within and the Devices within those Rooms. The binding then will expose that information to openHAB and allow you to execute Recipes/Scenarios and Macros on the Devices + This binding allows you to discover NEEO Brain(s), discover the Rooms within and the Devices within those + Rooms. The binding then will expose that information to openHAB and allow you to execute Recipes/Scenarios and Macros + on the Devices Tim Roberts diff --git a/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/thing/thing-types.xml index f1bc5369f78db..6a4d92ad2c7c9 100644 --- a/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.neeo/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,7 +9,7 @@ The NEEO Brain - + @@ -43,14 +43,14 @@ - + Neeo Room - - - + + + @@ -73,12 +73,12 @@ - + Neeo Device - + @@ -100,7 +100,7 @@ The room's state - + @@ -114,29 +114,29 @@ The room recipes - - - - + + + + String The recipe name - + String The type of recipe - + Switch Whether the recipe is enabled or not. - + Switch @@ -147,22 +147,22 @@ The room scenarios - - - + + + String The scenario name - + Switch Whether the scenario is configured or not - + Switch @@ -173,7 +173,7 @@ Executable macros - + diff --git a/bundles/org.openhab.binding.neohub/pom.xml b/bundles/org.openhab.binding.neohub/pom.xml index 8e40d5aa55a57..926d2da4aa2b3 100644 --- a/bundles/org.openhab.binding.neohub/pom.xml +++ b/bundles/org.openhab.binding.neohub/pom.xml @@ -1,14 +1,16 @@ - + + - 4.0.0 + 4.0.0 - - org.openhab.addons.bundles - org.openhab.addons.reactor.bundles - 2.5.5-SNAPSHOT - + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 2.5.5-SNAPSHOT + - org.openhab.binding.neohub - openHAB Add-ons :: Bundles :: NeoHub Binding + org.openhab.binding.neohub + openHAB Add-ons :: Bundles :: NeoHub Binding diff --git a/bundles/org.openhab.binding.neohub/src/main/feature/feature.xml b/bundles/org.openhab.binding.neohub/src/main/feature/feature.xml index 460a41af31659..d05bcd6ada5ed 100644 --- a/bundles/org.openhab.binding.neohub/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.neohub/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.neohub/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.neohub/${project.version} + diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseConfiguration.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseConfiguration.java index 35e6a14bb370a..bc6bd222bf0a9 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseConfiguration.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseConfiguration.java @@ -21,5 +21,4 @@ public class NeoBaseConfiguration { public String deviceNameInHub; - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseHandler.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseHandler.java index eb51752c4e427..d307f8fa7f052 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseHandler.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoBaseHandler.java @@ -107,7 +107,7 @@ public void toBaseSendPollResponse(@NonNull NeoHubInfoResponse infoResponse) { logger.warn(MSG_FMT_DEVICE_CONFIG, getThing().getLabel()); return; } - + if (myInfo.isOffline()) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); logger.debug(MSG_FMT_DEVICE_COMM, getThing().getLabel()); @@ -117,7 +117,7 @@ public void toBaseSendPollResponse(@NonNull NeoHubInfoResponse infoResponse) { if (getThing().getStatus() != ThingStatus.ONLINE) { updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE); } - + toOpenHabSendChannelValues(myInfo); } @@ -146,27 +146,27 @@ protected void toNeoHubSendCommand(String channelId, Command command) { * issue command, check result, and update status accordingly */ switch (hub.toNeoHubSendChannelValue(cmdStr)) { - case SUCCEEDED: - logger.debug(MSG_FMT_COMMAND_OK, getThing().getLabel()); + case SUCCEEDED: + logger.debug(MSG_FMT_COMMAND_OK, getThing().getLabel()); - if (getThing().getStatus() != ThingStatus.ONLINE) { - updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE); - } + if (getThing().getStatus() != ThingStatus.ONLINE) { + updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE); + } - // initialize the de-bouncer for this channel - debouncer.initialize(channelId); + // initialize the de-bouncer for this channel + debouncer.initialize(channelId); - break; + break; - case ERR_COMMUNICATION: - logger.debug(MSG_HUB_COMM); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); - break; + case ERR_COMMUNICATION: + logger.debug(MSG_HUB_COMM); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); + break; - case ERR_INITIALIZATION: - logger.warn(MSG_HUB_CONFIG); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); - break; + case ERR_INITIALIZATION: + logger.warn(MSG_HUB_CONFIG); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); + break; } } else { logger.debug(MSG_HUB_CONFIG); diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubBindingConstants.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubBindingConstants.java index 371fbeeda9209..1c66ef9cfc13f 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubBindingConstants.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubBindingConstants.java @@ -62,7 +62,9 @@ public class NeoHubBindingConstants { * enumerator for results of method calls */ public static enum NeoHubReturnResult { - SUCCEEDED, ERR_COMMUNICATION, ERR_INITIALIZATION + SUCCEEDED, + ERR_COMMUNICATION, + ERR_INITIALIZATION } /* @@ -116,7 +118,7 @@ public static enum NeoHubReturnResult { */ public static final String VAL_OFF = "Off"; public static final String VAL_HEATING = "Heating"; - + /* * logger message strings */ @@ -124,5 +126,4 @@ public static enum NeoHubReturnResult { public static final String MSG_HUB_CONFIG = PLEASE_REPORT_BUG + "hub needs to be initialized!"; public static final String MSG_HUB_COMM = PLEASE_REPORT_BUG + "error communicating with the hub!"; public static final String MSG_FMT_POLL_ERR = "Polling error: {}"; - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubConfiguration.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubConfiguration.java index 8dee34554eafd..17d5ef155b687 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubConfiguration.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubConfiguration.java @@ -23,5 +23,4 @@ public class NeoHubConfiguration { public String hostName; public int portNumber; public int pollingInterval; - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDebouncer.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDebouncer.java index 309217d09a508..dca2917835125 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDebouncer.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDebouncer.java @@ -53,5 +53,4 @@ public void initialize(String channelId) { public Boolean timeExpired(String channelId) { return (channels.containsKey(channelId) ? channels.get(channelId).timeExpired() : true); } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDiscoveryService.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDiscoveryService.java index d59d846829a51..d32720e7e771a 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDiscoveryService.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubDiscoveryService.java @@ -13,7 +13,6 @@ package org.openhab.binding.neohub.internal; import static org.openhab.binding.neohub.internal.NeoHubBindingConstants.*; -import org.openhab.binding.neohub.internal.NeoHubInfoResponse.DeviceInfo; import java.util.Collections; import java.util.List; @@ -29,7 +28,7 @@ import org.eclipse.smarthome.core.thing.ThingStatus; import org.eclipse.smarthome.core.thing.ThingTypeUID; import org.eclipse.smarthome.core.thing.ThingUID; - +import org.openhab.binding.neohub.internal.NeoHubInfoResponse.DeviceInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -132,5 +131,4 @@ private void publishDevice(DeviceInfo deviceInfo) { logger.debug("discovered device={}, name={} ..", deviceType, deviceOpenHabId); } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandler.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandler.java index 7be9729e189c8..92089ac0a1179 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandler.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandler.java @@ -248,5 +248,4 @@ private void fastPollingSchedulerExecute() { lazyPollingSchedulerExecute(); } } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandlerFactory.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandlerFactory.java index 3d0d62aa407a1..c4d0f53408e30 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandlerFactory.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubHandlerFactory.java @@ -122,5 +122,4 @@ private synchronized void destroyDiscoveryService(NeoHubHandler handler) { } } } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubInfoResponse.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubInfoResponse.java index dbb850399598c..b7ef9174328a7 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubInfoResponse.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubInfoResponse.java @@ -154,7 +154,6 @@ public Boolean stateAuto() { public Boolean hasStatMode() { return statMode != null; } - } /** diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubSocket.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubSocket.java index 50cdb88da099b..43c6869911ab5 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubSocket.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoHubSocket.java @@ -109,5 +109,4 @@ public String sendMessage(final String request) throws IOException, NeoHubExcept } } } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoStatHandler.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoStatHandler.java index ded21d20aa466..ffc934610bbf2 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoStatHandler.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeoStatHandler.java @@ -64,5 +64,4 @@ protected void toOpenHabSendChannelValues(NeoHubInfoResponse.DeviceInfo deviceIn (deviceInfo.isHeating() || deviceInfo.isPreHeating() ? new StringType(VAL_HEATING) : new StringType(VAL_OFF))); } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBool.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBool.java index c81492df82fec..96d942cd30829 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBool.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBool.java @@ -26,5 +26,4 @@ class NeohubBool { public NeohubBool(boolean value) { this.value = value; } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBoolDeserializer.java b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBoolDeserializer.java index 161d642725d17..8fd0510d61d7b 100644 --- a/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBoolDeserializer.java +++ b/bundles/org.openhab.binding.neohub/src/main/java/org/openhab/binding/neohub/internal/NeohubBoolDeserializer.java @@ -41,5 +41,4 @@ public NeohubBool deserialize(JsonElement json, Type typeOfT, JsonDeserializatio } return new NeohubBool(false); } - } diff --git a/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/binding/binding.xml index db04f439fa05e..3a83e92cd7490 100644 --- a/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,5 @@ - diff --git a/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/thing/thing-types.xml index 5127dbc087940..0fa2a6e4584a4 100644 --- a/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.neohub/src/main/resources/ESH-INF/thing/thing-types.xml @@ -28,8 +28,7 @@ 4242 - + Time (seconds) between polling the NeoHub (min=4, max/default=60) 60 @@ -42,7 +41,7 @@ - + @@ -69,8 +68,7 @@ Status of whether the thermostat is Off, or calling for Heat - + The Thermostat is in the Present Occupancy Mode (Off=Absent, On=Present) @@ -84,8 +82,7 @@ deviceNameInHub - + Device Name that identifies the NeoStat device in the NeoHub and Heatmiser App @@ -96,7 +93,7 @@ - + @@ -121,8 +118,7 @@ deviceNameInHub - + Device Name that identifies the NeoPlugt device in the NeoHub and Heatmiser App @@ -135,7 +131,7 @@ Measured temperature value (Read-Only) temperature - + @@ -143,8 +139,7 @@ Target temperature setting temperature - + @@ -152,7 +147,7 @@ Status of whether the thermostat is Off, or calling for Heat fire - + @@ -160,21 +155,21 @@ The Thermostat is in the Present Occupancy Mode (Off=Absent, On=Present) presence - + Switch The Plug is in Automatic Mode (Off=Manual, On=Automatic) - + Switch The state of the Plug switch, Off or On - + diff --git a/bundles/org.openhab.binding.neohub/src/test/java/org/openhab/binding/neohub/test/NeoHubTestData.java b/bundles/org.openhab.binding.neohub/src/test/java/org/openhab/binding/neohub/test/NeoHubTestData.java index 8289838497e1d..5a97dcb0fe110 100644 --- a/bundles/org.openhab.binding.neohub/src/test/java/org/openhab/binding/neohub/test/NeoHubTestData.java +++ b/bundles/org.openhab.binding.neohub/src/test/java/org/openhab/binding/neohub/test/NeoHubTestData.java @@ -12,9 +12,6 @@ */ package org.openhab.binding.neohub.test; -import org.openhab.binding.neohub.internal.NeoHubInfoResponse; -import org.openhab.binding.neohub.internal.NeoHubInfoResponse.DeviceInfo; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -24,6 +21,8 @@ import java.math.BigDecimal; import org.junit.Test; +import org.openhab.binding.neohub.internal.NeoHubInfoResponse; +import org.openhab.binding.neohub.internal.NeoHubInfoResponse.DeviceInfo; /** * The {@link NeoHubTestData} class defines common constants, which are @@ -33,42 +32,42 @@ */ public class NeoHubTestData { - public static final String NEOHUB_JSON_TEST_STRING = - "{\"devices\":[" + + public static final String NEOHUB_JSON_TEST_STRING = "{\"devices\":[" + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":23,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.2\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"22.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"2:42\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Dining Room\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":23,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"23.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"REMOTE_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":4,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shower Room\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":26,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"23.3\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":16,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"25.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:48\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Conservatory\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":28,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"19.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:16\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":2,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":23,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"23.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"23.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"2:08\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":6,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Kitchen\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":17,\"CURRENT_SET_TEMPERATURE\":\"20.0\",\"CURRENT_TEMPERATURE\":\"20.1\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"21.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"7 days 00:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Hallway\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"10.0\",\"CURRENT_TEMPERATURE\":\"17.3\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":10,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"19.0\",\"MIN_TEMPERATURE\":\"16.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"7 days 08:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":5,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shed\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":11,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Plug South\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":0,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":true,\"TIME_CLOCK_OVERIDE_BIT\":true,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":7,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Plug North\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":28,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Watering System\"}" + - - "]}"; - - public static final String NEOHUB_JSON_TEST_STRING_NEW_OFFLINE_JSON = - "{\"devices\":["+ + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":23,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.2\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"22.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"2:42\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Dining Room\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":23,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"23.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"REMOTE_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":4,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shower Room\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":26,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"23.3\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":16,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"25.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:48\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Conservatory\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":28,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"19.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:16\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":2,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":23,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"23.6\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"23.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"6 days 23:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"2:08\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":6,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Kitchen\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":17,\"CURRENT_SET_TEMPERATURE\":\"20.0\",\"CURRENT_TEMPERATURE\":\"20.1\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"21.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"7 days 00:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Hallway\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"10.0\",\"CURRENT_TEMPERATURE\":\"17.3\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":10,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"19.0\",\"MIN_TEMPERATURE\":\"16.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"7 days 08:00\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":5,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":20,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shed\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":11,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Plug South\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":0,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":true,\"TIME_CLOCK_OVERIDE_BIT\":true,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":7,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Plug North\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":false,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":28,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Watering System\"}" + + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":21,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"24.0\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:24\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Dining Room\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.9\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":23,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"26.0\",\"MIN_TEMPERATURE\":\"23.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"REMOTE_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shower Room\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":23,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"25.7\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":16,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"26.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Conservatory\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":27,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"25.7\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"26.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:24\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":19,\"CURRENT_SET_TEMPERATURE\":\"21.0\",\"CURRENT_TEMPERATURE\":\"23.0\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Kitchen\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":19,\"CURRENT_SET_TEMPERATURE\":\"20.0\",\"CURRENT_TEMPERATURE\":\"21.7\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"23.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 22:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Hallway\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"9.0\",\"CURRENT_TEMPERATURE\":\"19.4\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":9,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"22.0\",\"MIN_TEMPERATURE\":\"15.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"4 days 08:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":5,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":1,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shed Heating\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":11,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room South\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":0,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":true,\"TIME_CLOCK_OVERIDE_BIT\":true,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":192,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room North\"}," + - "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":57,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Green Wall Watering\"}" + + "]}"; + + public static final String NEOHUB_JSON_TEST_STRING_NEW_OFFLINE_JSON = "{\"devices\":[" + + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":21,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"24.0\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:24\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Dining Room\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"22.9\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":23,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"26.0\",\"MIN_TEMPERATURE\":\"23.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"REMOTE_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shower Room\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":23,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"25.7\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":16,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"26.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Conservatory\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":27,\"CURRENT_SET_TEMPERATURE\":\"22.0\",\"CURRENT_TEMPERATURE\":\"25.7\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"26.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"3:24\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":19,\"CURRENT_SET_TEMPERATURE\":\"21.0\",\"CURRENT_TEMPERATURE\":\"23.0\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"24.0\",\"MIN_TEMPERATURE\":\"20.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 23:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Kitchen\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":19,\"CURRENT_SET_TEMPERATURE\":\"20.0\",\"CURRENT_TEMPERATURE\":\"21.7\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":21,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"23.0\",\"MIN_TEMPERATURE\":\"21.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"3 days 22:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AND_FLOOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":0,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Hallway\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":23,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"9.0\",\"CURRENT_TEMPERATURE\":\"19.4\",\"DEMAND\":false,\"DEVICE_TYPE\":12,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":9,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"22.0\",\"MIN_TEMPERATURE\":\"15.0\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"4 days 08:00\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":5,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"THERMOSTAT\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":24,\"WRITE_COUNT\":1,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Shed Heating\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":11,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room South\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":0,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_ON\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":true,\"TIME_CLOCK_OVERIDE_BIT\":true,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":192,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Living Room North\"}," + + "{\"AWAY\":false,\"COOLING\":false,\"COOLING_ENABLED\":false,\"COOLING_TEMPERATURE_IN_WHOLE_DEGREES\":0,\"COOL_INP\":false,\"COUNT_DOWN_TIME\":\"0:00\",\"CRADLE_PAIRED_TO_REMOTE_SENSOR\":false,\"CRADLE_PAIRED_TO_STAT\":false,\"CURRENT_FLOOR_TEMPERATURE\":127,\"CURRENT_SET_TEMPERATURE\":\"0.0\",\"CURRENT_TEMPERATURE\":\"255.255\",\"DEMAND\":false,\"DEVICE_TYPE\":6,\"ENABLE_BOILER\":false,\"ENABLE_COOLING\":false,\"ENABLE_PUMP\":false,\"ENABLE_VALVE\":false,\"ENABLE_ZONE\":false,\"FAILSAFE_STATE\":false,\"FAIL_SAFE_ENABLED\":false,\"FLOOR_LIMIT\":false,\"FULL/PARTIAL_LOCK_AVAILABLE\":false,\"HEAT/COOL_MODE\":false,\"HEATING\":false,\"HOLD_TEMPERATURE\":1,\"HOLD_TIME\":\"0:00\",\"HOLIDAY\":false,\"HOLIDAY_DAYS\":0,\"HUMIDITY\":0,\"LOCK\":false,\"LOCK_PIN_NUMBER\":\"0000\",\"LOW_BATTERY\":false,\"MAX_TEMPERATURE\":\"255.255\",\"MIN_TEMPERATURE\":\"255.255\",\"MODULATION_LEVEL\":0,\"NEXT_ON_TIME\":\"255 days 255:255\",\"OFFLINE\":0,\"OUPUT_DELAY\":false,\"OUTPUT_DELAY\":0,\"PREHEAT\":false,\"PREHEAT_TIME\":\"255:255\",\"PROGRAM_MODE\":\"24HOURSFIXED\",\"PUMP_DELAY\":false,\"RADIATORS_OR_UNDERFLOOR\":false,\"SENSOR_SELECTION\":\"BUILT_IN_AIR_SENSOR\",\"SET_COUNTDOWN_TIME\":0,\"STANDBY\":false,\"STAT_MODE\":{\"4_HEAT_LEVELS\":true,\"MANUAL_OFF\":true,\"TIMECLOCK\":true},\"TEMPERATURE_FORMAT\":false,\"TEMP_HOLD\":false,\"TIMECLOCK_MODE\":false,\"TIMER\":false,\"TIME_CLOCK_OVERIDE_BIT\":false,\"ULTRA_VERSION\":0,\"VERSION_NUMBER\":79,\"WRITE_COUNT\":57,\"ZONE_1PAIRED_TO_MULTILINK\":true,\"ZONE_1_OR_2\":false,\"ZONE_2_PAIRED_TO_MULTILINK\":false,\"device\":\"Green Wall Watering\"}" + + + + "]}"; - "]}"; - @Test public void test() { // info response (old JSON format) - NeoHubInfoResponse infoResponse = NeoHubInfoResponse.createInfoResponse(NEOHUB_JSON_TEST_STRING); + NeoHubInfoResponse infoResponse = NeoHubInfoResponse.createInfoResponse(NEOHUB_JSON_TEST_STRING); assertNotNull(infoResponse); // missing device @@ -96,7 +95,7 @@ public void test() { assertTrue(device.hasStatMode()); // info response (new JSON format) - infoResponse = NeoHubInfoResponse.createInfoResponse(NEOHUB_JSON_TEST_STRING_NEW_OFFLINE_JSON); + infoResponse = NeoHubInfoResponse.createInfoResponse(NEOHUB_JSON_TEST_STRING_NEW_OFFLINE_JSON); assertNotNull(infoResponse); // existing device (new JSON format) @@ -104,7 +103,5 @@ public void test() { assertNotNull(device); assertEquals("Dining Room", device.getDeviceName()); assertFalse(device.isOffline()); - } - } diff --git a/bundles/org.openhab.binding.nest/pom.xml b/bundles/org.openhab.binding.nest/pom.xml index e2178c90fffff..0d862d5522708 100644 --- a/bundles/org.openhab.binding.nest/pom.xml +++ b/bundles/org.openhab.binding.nest/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nest/src/main/feature/feature.xml b/bundles/org.openhab.binding.nest/src/main/feature/feature.xml index dbb5872b15a80..4da2a00a8dc2b 100644 --- a/bundles/org.openhab.binding.nest/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.nest/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.nest/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.nest/${project.version} + diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/NestUtils.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/NestUtils.java index fd0d4f4005244..e3bca80e52e02 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/NestUtils.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/NestUtils.java @@ -46,5 +46,4 @@ public static T fromJson(Reader reader, Class dataClass) { public static String toJson(Object object) { return GSON.toJson(object); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/AccessTokenData.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/AccessTokenData.java index 78331284dcc7b..fd8eee8586b52 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/AccessTokenData.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/AccessTokenData.java @@ -76,5 +76,4 @@ public String toString() { .append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ActivityZone.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ActivityZone.java index a1ac682559f30..c9cb050ee7444 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ActivityZone.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ActivityZone.java @@ -71,5 +71,4 @@ public String toString() { builder.append("CameraActivityZone [name=").append(name).append(", id=").append(id).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/BaseNestDevice.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/BaseNestDevice.java index 5f6ae14085064..f5853f83be54f 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/BaseNestDevice.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/BaseNestDevice.java @@ -164,5 +164,4 @@ public String toString() { .append(", structureId=").append(structureId).append(", whereId=").append(whereId).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Camera.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Camera.java index ad2e3ed0addc7..90093a1db6367 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Camera.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Camera.java @@ -206,5 +206,4 @@ public String toString() { .append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/CameraEvent.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/CameraEvent.java index 230d0a6600236..e9795fd4c5018 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/CameraEvent.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/CameraEvent.java @@ -200,5 +200,4 @@ public String toString() { .append(animatedImageUrl).append(", activityZoneIds=").append(activityZoneIds).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ETA.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ETA.java index 48cbddf4e78e4..719f963002b5e 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ETA.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ETA.java @@ -105,5 +105,4 @@ public String toString() { .append(estimatedArrivalWindowEnd).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ErrorData.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ErrorData.java index 8cc5269d71894..808553c15cf5f 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ErrorData.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/ErrorData.java @@ -103,5 +103,4 @@ public String toString() { .append(message).append(", instance=").append(instance).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestDevices.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestDevices.java index 7332cb601001e..63506964140e2 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestDevices.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestDevices.java @@ -93,5 +93,4 @@ public String toString() { .append(", cameras=").append(cameras).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestMetadata.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestMetadata.java index 15477bfabae25..e0da860af1cc8 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestMetadata.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/NestMetadata.java @@ -76,5 +76,4 @@ public String toString() { .append(clientVersion).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/SmokeDetector.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/SmokeDetector.java index e94ea6e911e7c..2011a0c9d61d1 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/SmokeDetector.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/SmokeDetector.java @@ -150,5 +150,4 @@ public String toString() { .append(getStructureId()).append(", getWhereId()=").append(getWhereId()).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Structure.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Structure.java index 655b57b709e84..2d61fb285e39a 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Structure.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Structure.java @@ -308,5 +308,4 @@ public String toString() { .append(wwnSecurityState).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Thermostat.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Thermostat.java index 99d35dbfaa2ff..ce781af2a911d 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Thermostat.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/Thermostat.java @@ -569,5 +569,4 @@ public String toString() { .append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelData.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelData.java index 96fe541b831e8..93be10f94ccfe 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelData.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelData.java @@ -91,5 +91,4 @@ public String toString() { .append(", structures=").append(structures).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelStreamingData.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelStreamingData.java index bdfb9410ec5bd..740518161dd47 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelStreamingData.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/data/TopLevelStreamingData.java @@ -76,5 +76,4 @@ public String toString() { builder.append("TopLevelStreamingData [path=").append(path).append(", data=").append(data).append("]"); return builder.toString(); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBaseHandler.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBaseHandler.java index dcb27abc3bada..bde5b2d65d46c 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBaseHandler.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBaseHandler.java @@ -200,5 +200,4 @@ public void onMissingData(String nestId) { } protected abstract void update(T oldData, T data); - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBridgeHandler.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBridgeHandler.java index 480685cedd018..6d131491f8c38 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBridgeHandler.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestBridgeHandler.java @@ -373,5 +373,4 @@ private void transmitQueue() { } } } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestSmokeDetectorHandler.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestSmokeDetectorHandler.java index 848d856b180a4..b401624b61b4a 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestSmokeDetectorHandler.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestSmokeDetectorHandler.java @@ -92,5 +92,4 @@ protected void update(SmokeDetector oldSmokeDetector, SmokeDetector smokeDetecto updateStatus(newStatus); } } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestStructureHandler.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestStructureHandler.java index 5e9d845df2c56..4c46993d35150 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestStructureHandler.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestStructureHandler.java @@ -125,5 +125,4 @@ protected void update(Structure oldStructure, Structure structure) { updateStatus(ThingStatus.ONLINE); } } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestThermostatHandler.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestThermostatHandler.java index 4ecde558cea0e..1b959467cefd7 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestThermostatHandler.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/handler/NestThermostatHandler.java @@ -216,5 +216,4 @@ protected void update(Thermostat oldThermostat, Thermostat thermostat) { updateStatus(newStatus); } } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/listener/NestThingDataListener.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/listener/NestThingDataListener.java index a080232fdb370..04963553c2cdc 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/listener/NestThingDataListener.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/listener/NestThingDataListener.java @@ -43,5 +43,4 @@ public interface NestThingDataListener { * @param nestId identifies the Nest thing */ void onMissingData(String nestId); - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestAuthorizer.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestAuthorizer.java index 8f804ee924b7e..303893dfe7cc6 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestAuthorizer.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestAuthorizer.java @@ -86,5 +86,4 @@ public String getNewAccessToken() throws InvalidAccessTokenException { throw new InvalidAccessTokenException("Access token request failed", e); } } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestStreamingRestClient.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestStreamingRestClient.java index e5397fea46e0a..8cbf57addb8cc 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestStreamingRestClient.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/rest/NestStreamingRestClient.java @@ -223,5 +223,4 @@ private void onEvent(InboundEvent inboundEvent) { logger.warn("An exception occurred while processing the inbound event", e); } } - } diff --git a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/update/NestCompositeUpdateHandler.java b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/update/NestCompositeUpdateHandler.java index 823703703480d..ad48942547cd3 100644 --- a/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/update/NestCompositeUpdateHandler.java +++ b/bundles/org.openhab.binding.nest/src/main/java/org/openhab/binding/nest/internal/update/NestCompositeUpdateHandler.java @@ -126,5 +126,4 @@ public void resendLastUpdates() { } }); } - } diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/binding/binding.xml index 899abcf34bbd4..279bc6b8808bb 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Nest Binding Nest connects to the Nest cloud and allows control of the various Nest devices. diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/config/config.xml index 03aa678a809a7..21c880e10fbae 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - @@ -26,14 +27,16 @@ The single use pincode for obtaining an OAuth access token. - Get the pincode by accepting to the terms shown at the product authorization URL. - This value is automatically reset when the access token has been obtained + Get the pincode by accepting to the terms + shown at the product authorization URL. + This value is automatically reset when the access token has been obtained The access token used for authenticating to the Nest API. - It is automatically obtained from Nest when the value is empty and - a valid pincode parameter is entered + It is automatically obtained from Nest when the + value is empty and + a valid pincode parameter is entered true diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/bridge.xml index d397eb5a39b4c..60e6e60450793 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,11 +1,12 @@ - An account for using the Nest REST API - + diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/camera.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/camera.xml index 9d9ce6fc9a6b7..67c11800114a2 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/camera.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/camera.xml @@ -1,18 +1,19 @@ - - + A Nest Cam registered with your account - + Information about the last camera event (requires Nest Aware subscription) @@ -25,6 +26,6 @@ deviceId - + diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/channels.xml index 9b4250a816110..b3d0346ddcbbc 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/channels.xml @@ -1,13 +1,15 @@ - + DateTime Timestamp of the last successful interaction with Nest - + @@ -45,14 +47,14 @@ DateTime Peak period start for the Rush Hour Rewards program - + DateTime Peak period end for the Rush Hour Rewards program - + @@ -68,7 +70,7 @@ Switch If rush hour rewards system is enabled or not - + @@ -88,15 +90,15 @@ Information about the camera - - - - - - - - - + + + + + + + + + @@ -152,102 +154,102 @@ DateTime Timestamp of the last online status change - + Information about the camera event - - - - - - - - - - - + + + + + + + + + + + - + Switch If sound was detected in the camera event - + Switch If motion was detected in the camera event - + Switch If a person was detected in the camera event - + DateTime Timestamp when the camera event started - + DateTime Timestamp when the camera event ended - + DateTime Timestamp when the camera event URLs expire - + String The web URL for the camera event, allows you to see the camera event in a web page - + String The app URL for the camera event, allows you to see the camera event in an app - + String The URL showing an image for the camera event - + String The URL showing an animated image for the camera event - + String Identifiers for activity zones that detected the event (comma separated) - + @@ -295,14 +297,14 @@ Switch If the manual test is currently active - + DateTime Timestamp of the last successful manual test - + @@ -311,7 +313,7 @@ Current temperature Temperature - + @@ -319,7 +321,7 @@ The set point temperature Temperature - + @@ -327,7 +329,7 @@ The max set point temperature Temperature - + @@ -335,7 +337,7 @@ The min set point temperature Temperature - + @@ -343,7 +345,7 @@ The eco range max set point temperature Temperature - + @@ -351,7 +353,7 @@ The eco range min set point temperature Temperature - + @@ -359,7 +361,7 @@ The locked range max set point temperature Temperature - + @@ -367,14 +369,14 @@ The locked range min set point temperature Temperature - + Switch If the thermostat has the temperature locked to only be within a set range - + @@ -425,35 +427,35 @@ Indicates the current relative humidity Humidity - + Number:Time Time left to the target temperature approximately - + Switch If the thermostat can actually turn on heating - + Switch If the thermostat can actually turn on cooling - + Switch If the fan timer is engaged - + @@ -478,41 +480,41 @@ DateTime Timestamp when the fan stops running - + Switch If the thermostat can control the fan - + Switch If the thermostat is currently in a leaf mode - + Switch If sunlight correction is enabled - + Switch If sunlight correction is active - + Switch If the system is currently using emergency heat - + diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/smoke-detector.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/smoke-detector.xml index 3b1c430302d5e..d1fc874898931 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/smoke-detector.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/smoke-detector.xml @@ -1,24 +1,25 @@ - - + The smoke detector/Nest Protect for the account - - - - - - - + + + + + + + @@ -27,6 +28,6 @@ deviceId - + diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/structure.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/structure.xml index 449e420218962..242ea0c316f01 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/structure.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/structure.xml @@ -1,29 +1,31 @@ - - + The Nest structure defines the house the account has setup on Nest. - You will only have more than one structure if you have more than one house + You will only have more than one + structure if you have more than one house - - - - - - - - - - - + + + + + + + + + + + @@ -32,7 +34,7 @@ structureId - + diff --git a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/thermostat.xml b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/thermostat.xml index f040c547c74a0..816e2b3591591 100644 --- a/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/thermostat.xml +++ b/bundles/org.openhab.binding.nest/src/main/resources/ESH-INF/thing/thermostat.xml @@ -1,42 +1,43 @@ - - + A Thermostat to control the various aspects of the house's HVAC system - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -45,6 +46,6 @@ deviceId - + diff --git a/bundles/org.openhab.binding.netatmo/pom.xml b/bundles/org.openhab.binding.netatmo/pom.xml index e4687c20d49db..524242c3cecc0 100644 --- a/bundles/org.openhab.binding.netatmo/pom.xml +++ b/bundles/org.openhab.binding.netatmo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.netatmo/src/main/feature/feature.xml b/bundles/org.openhab.binding.netatmo/src/main/feature/feature.xml index 3a31036556a62..fb52bfe4e9a58 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/feature/feature.xml @@ -1,15 +1,15 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.osgiify/org.json.json/20131018 - mvn:org.openhab.osgiify/com.squareup.okhttp.okhttp/2.3.0 - mvn:org.openhab.osgiify/com.squareup.okio.okio-1.3.0/1.3.0 - mvn:org.openhab.osgiify/com.squareup.retrofit.retrofit/1.9.0 - mvn:org.apache.oltu.oauth2/org.apache.oltu.oauth2.client/1.0.0 - mvn:org.apache.oltu.oauth2/org.apache.oltu.oauth2.common/1.0.0 - mvn:org.openhab.addons.bundles/org.openhab.binding.netatmo/${project.version} - + + openhab-runtime-base + mvn:org.openhab.osgiify/org.json.json/20131018 + mvn:org.openhab.osgiify/com.squareup.okhttp.okhttp/2.3.0 + mvn:org.openhab.osgiify/com.squareup.okio.okio-1.3.0/1.3.0 + mvn:org.openhab.osgiify/com.squareup.retrofit.retrofit/1.9.0 + mvn:org.apache.oltu.oauth2/org.apache.oltu.oauth2.client/1.0.0 + mvn:org.apache.oltu.oauth2/org.apache.oltu.oauth2.common/1.0.0 + mvn:org.openhab.addons.bundles/org.openhab.binding.netatmo/${project.version} + diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoBindingConstants.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoBindingConstants.java index 7c31dbe87c36d..01a71843f4239 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoBindingConstants.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoBindingConstants.java @@ -285,5 +285,4 @@ public class NetatmoBindingConstants { .collect(Collectors.toSet()); public static final Set PRESENCE_EVENTS = Stream .of(EventTypeEnum.OUTDOOR, EventTypeEnum.ALIM, EventTypeEnum.DAILY_SUMMARY).collect(Collectors.toSet()); - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoHandlerFactory.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoHandlerFactory.java index a377b546e7e87..b6a7d3cb481a3 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoHandlerFactory.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/NetatmoHandlerFactory.java @@ -170,5 +170,4 @@ protected void setDynamicStateDescriptionProvider(NATherm1StateDescriptionProvid protected void unsetDynamicStateDescriptionProvider(NATherm1StateDescriptionProvider provider) { this.stateDescriptionProvider = null; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/RefreshStrategy.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/RefreshStrategy.java index f3467ec8c1088..797334daa7242 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/RefreshStrategy.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/RefreshStrategy.java @@ -91,5 +91,4 @@ public void expireData() { ZonedDateTime now = ZonedDateTime.now().minus(this.dataValidityPeriod, ChronoUnit.MILLIS); dataTimeStamp = now.toInstant().toEpochMilli(); } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/WeatherUtils.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/WeatherUtils.java index 53ceeea5c7722..4d04bff509011 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/WeatherUtils.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/WeatherUtils.java @@ -80,5 +80,4 @@ public static double getHumidex(double temperature, double hygro) { result = temperature + 0.555555556 * (result - 10); return result; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/channelhelper/RadioHelper.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/channelhelper/RadioHelper.java index 77fe2a4bab07b..f5d27283a937d 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/channelhelper/RadioHelper.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/channelhelper/RadioHelper.java @@ -78,5 +78,4 @@ public Optional getNAThingProperty(String channelId) { } return Optional.empty(); } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/discovery/NetatmoModuleDiscoveryService.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/discovery/NetatmoModuleDiscoveryService.java index 1bffa8c8aa7a9..17bcd6381a991 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/discovery/NetatmoModuleDiscoveryService.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/discovery/NetatmoModuleDiscoveryService.java @@ -194,5 +194,4 @@ private ThingUID findThingUID(String thingType, String thingId) throws IllegalAr throw new IllegalArgumentException("Unsupported device type discovered : " + thingType); } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoBridgeHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoBridgeHandler.java index f3045a45262ee..f8127209996a9 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoBridgeHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoBridgeHandler.java @@ -99,7 +99,6 @@ public Object get(Class apiClass) { } return super.get(apiClass); } - } public NetatmoBridgeHandler(@NonNull Bridge bridge, WelcomeWebHookServlet webHookServlet) { diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoDeviceHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoDeviceHandler.java index 103c66ff3189b..a46124fce1c1c 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoDeviceHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoDeviceHandler.java @@ -231,5 +231,4 @@ private void defineRefreshInterval() { public void expireData() { refreshStrategy.expireData(); } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoModuleHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoModuleHandler.java index d5a286bcdec10..5d87dfe0db4b8 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoModuleHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/NetatmoModuleHandler.java @@ -130,5 +130,4 @@ protected boolean isRefreshRequired() { protected void setRefreshRequired(boolean refreshRequired) { this.refreshRequired = refreshRequired; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/homecoach/NAHealthyHomeCoachHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/homecoach/NAHealthyHomeCoachHandler.java index b08123553a93a..da0f74303e59a 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/homecoach/NAHealthyHomeCoachHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/homecoach/NAHealthyHomeCoachHandler.java @@ -120,5 +120,4 @@ private String toHealthIndexString(Integer healthIndex) { } return null; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NAPlugHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NAPlugHandler.java index d3845a8a0f92d..5f3db29ec4803 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NAPlugHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NAPlugHandler.java @@ -96,5 +96,4 @@ protected State getNAThingProperty(String channelId) { } return null; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NATherm1Handler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NATherm1Handler.java index b004f32012366..3a95e34af5058 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NATherm1Handler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/thermostat/NATherm1Handler.java @@ -304,5 +304,4 @@ private int getSetPointDefaultDuration() { // TODO : this informations could be sourced from Netatmo API instead of a local configuration element return ((Number) config.get(SETPOINT_DEFAULT_DURATION)).intValue(); } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/NAWebhookCameraEvent.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/NAWebhookCameraEvent.java index 5ad19658444b2..c04fdf47d876f 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/NAWebhookCameraEvent.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/NAWebhookCameraEvent.java @@ -152,5 +152,4 @@ public String getHomeId() { public List getPersons() { return persons; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/WelcomeWebHookServlet.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/WelcomeWebHookServlet.java index a57edb2ad5c9d..2364ae3e22d57 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/WelcomeWebHookServlet.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/webhook/WelcomeWebHookServlet.java @@ -109,5 +109,4 @@ private void setHeaders(HttpServletResponse response) { public String getPath() { return path; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeCameraHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeCameraHandler.java index 8eecffbfb2170..c13dc94bab160 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeCameraHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeCameraHandler.java @@ -114,5 +114,4 @@ public String getStreamURL(String videoId) { private boolean isLocal() { return (module == null || module.getIsLocal() == null) ? false : module.getIsLocal().booleanValue(); } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeHomeHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeHomeHandler.java index ea41e70ab2923..55d76b51b4b71 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeHomeHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomeHomeHandler.java @@ -189,5 +189,4 @@ protected String getSnapshotURL(NAWelcomeSnapshot snapshot) { protected @Nullable Integer getDataTimestamp() { return dataTimeStamp; } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomePersonHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomePersonHandler.java index 436f93aeaeee2..45c490c4103c6 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomePersonHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/welcome/NAWelcomePersonHandler.java @@ -121,5 +121,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { invalidateParentCacheAndRefresh(); } } - } diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/binding/binding.xml index 4eabfae57fcd4..af7cba2e6a13a 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,11 +1,11 @@ - + Netatmo Binding - The Netatmo binding integrates Weather Station with companion modules, Healthy Home Coach, Thermostat Plug and Welcome Camera. + The Netatmo binding integrates Weather Station with companion modules, Healthy Home Coach, Thermostat Plug + and Welcome Camera. Gaël L'hopital and Ing. Peter Weiss diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/config/config.xml index be947333380d8..3d947ed0d5feb 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/bridge.xml index 8516b683185db..b3591dfe04ede 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/bridge.xml @@ -8,7 +8,7 @@ This bridge represents the gateway to Netatmo API. - + diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/channels.xml index c02f86bb64983..c105e83050152 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/channels.xml @@ -8,14 +8,14 @@ DateTime Last Status Store - + Location Location of the device - + @@ -23,7 +23,7 @@ Current temperature Temperature - + @@ -31,7 +31,7 @@ Minimum Temperature on current day Temperature - + @@ -39,7 +39,7 @@ Minimum Temperature this week Temperature - + @@ -47,7 +47,7 @@ Minimum Temperature this month Temperature - + @@ -55,7 +55,7 @@ Maximum Temperature on current day Temperature - + @@ -63,7 +63,7 @@ Maximum Temperature this week Temperature - + @@ -71,7 +71,7 @@ Maximum Temperature this month Temperature - + @@ -93,7 +93,7 @@ Thermostat temperature setpoint Temperature - + @@ -116,321 +116,321 @@ Switch Indicates whether the furnace is heating or not - + Number Physical orientation of the thermostat module - + DateTime Timestamp when data was measured - + DateTime Last Plug Seen - + DateTime Date when minimum CO2 was reached on current day - + DateTime Date when minimum CO2 was reached this week - + DateTime Date when minimum CO2 was reached this month - + DateTime Date when maximum CO2 was reached on current day - + DateTime Date when maximum CO2 was reached this week - + DateTime Date when maximum CO2 was reached this month - + DateTime Date when minimum temperature was reached on current day - + DateTime Date when minimum temperature was reached this week - + DateTime Date when minimum temperature was reached this month - + DateTime Date when maximum temperature was reached on current day - + DateTime Date when maximum temperature was reached this week - + DateTime Date when maximum temperature was reached this month - + DateTime Date when minimum humidity was reached on current day - + DateTime Date when minimum humidity was reached this week - + DateTime Date when minimum humidity was reached this month - + DateTime Date when maximum humidity was reached on current day - + DateTime Date when maximum humidity was reached this week - + DateTime Date when maximum humidity was reached this month - + DateTime Date when minimum noise was reached on current day - + DateTime Date when minimum noise was reached this week - + DateTime Date when minimum noise was reached this month - + DateTime Date when maximum noise was reached on current day - + DateTime Date when maximum noise was reached this week - + DateTime Date when maximum noise was reached this month - + DateTime Date when minimum pressure was reached on current day - + DateTime Date when minimum pressure was reached this week - + DateTime Date when minimum pressure was reached this month - + DateTime Date when maximum pressure was reached on current day - + DateTime Date when maximum pressure was reached this week - + DateTime Date when maximum pressure was reached this month - + DateTime Month of the last available thermostat bilan - + Switch - + DateTime Last Message emitted by the module - + DateTime Thermostat goes back to schedule after that timestamp. - + DateTime Last Them Seen - + Number:Dimensionless Air Quality - + Number:Dimensionless Minimum CO2 on current day - + Number:Dimensionless Minimum CO2 this week - + Number:Dimensionless Minimum CO2 this month - + Number:Dimensionless Maximum CO2 on current day - + Number:Dimensionless Maximum CO2 this week - + Number:Dimensionless Maximum CO2 this month - + @@ -438,7 +438,7 @@ Current Noise Level Noise - + @@ -446,7 +446,7 @@ Minimum Noise on current day Noise - + @@ -454,7 +454,7 @@ Minimum Noise this week Noise - + @@ -462,7 +462,7 @@ Minimum Noise this month Noise - + @@ -470,7 +470,7 @@ Maximum Noise on current day Noise - + @@ -478,7 +478,7 @@ Maximum Noise this week Noise - + @@ -486,7 +486,7 @@ Maximum Noise this month Noise - + @@ -509,7 +509,7 @@ Current pressure Pressure - + @@ -517,7 +517,7 @@ Minimum Pressure on current day Pressure - + @@ -525,7 +525,7 @@ Minimum Pressure this week Pressure - + @@ -533,7 +533,7 @@ Minimum Pressure this month Pressure - + @@ -541,7 +541,7 @@ Maximum Pressure on current day Pressure - + @@ -549,7 +549,7 @@ Maximum Pressure this week Pressure - + @@ -557,7 +557,7 @@ Maximum Pressure this month Pressure - + @@ -578,7 +578,7 @@ String Heat planning currently used - + @@ -586,7 +586,7 @@ Absolute pressure Pressure - + @@ -594,7 +594,7 @@ Current humidity Humidity - + @@ -602,7 +602,7 @@ Minimum Humidity on current day Humidity - + @@ -610,7 +610,7 @@ Minimum Humidity this week Humidity - + @@ -618,7 +618,7 @@ Minimum Humidity this month Humidity - + @@ -626,7 +626,7 @@ Maximum Humidity on current day Humidity - + @@ -634,7 +634,7 @@ Minimum Humidity this week Humidity - + @@ -642,7 +642,7 @@ Maximum Humidity this month Humidity - + @@ -650,7 +650,7 @@ Computed Humidex index Temperature - + @@ -658,7 +658,7 @@ Computed Heat Index Temperature - + @@ -666,14 +666,14 @@ Computed Dewpoint Temperature Temperature - + Number:Temperature Computed Dewpoint Depression - + @@ -681,7 +681,7 @@ Quantity of water Rain - + @@ -689,7 +689,7 @@ Quantity of water on last hour Rain - + @@ -697,7 +697,7 @@ Quantity of water on last day Rain - + @@ -705,7 +705,7 @@ Quantity of water this week Rain - + @@ -713,7 +713,7 @@ Quantity of water this month Rain - + @@ -721,7 +721,7 @@ Current 5 minutes average wind direction Wind - + @@ -729,7 +729,7 @@ Current 5 minutes average wind speed Wind - + @@ -737,14 +737,14 @@ Maximum wind strength recorded Wind - + DateTime Timestamp when MaxWindStrength was recorded. - + @@ -752,7 +752,7 @@ Direction of the last 5 minutes highest gust wind Wind - + @@ -760,7 +760,7 @@ Speed of the last 5 minutes highest gust wind Wind - + diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/healthyhomecoach.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/healthyhomecoach.xml index 0938478c62370..c8a2090e4f50e 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/healthyhomecoach.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/healthyhomecoach.xml @@ -6,30 +6,31 @@ - + - This represents the healthy home coach capable of reporting health index,temperature,humidity,pressure,air quality and sound level + This represents the healthy home coach capable of reporting health + index,temperature,humidity,pressure,air quality and sound level - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -38,6 +39,6 @@ id - + diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/station.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/station.xml index 977c85d16e4d4..f2b43468d7c0f 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/station.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/station.xml @@ -6,90 +6,91 @@ - + - This represents the main indoor module capable of reporting temperature,humidity,pressure,air quality and sound level + This represents the main indoor module capable of reporting temperature,humidity,pressure,air quality and + sound level - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + @@ -98,55 +99,55 @@ id - + - + This represents the outdoor module capable of reporting temperature and humidity - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -155,30 +156,30 @@ id - + - + This represents the wind module capable of reporting wind angle and strength - - - - - - + + + + + + - - - - - + + + + + @@ -187,29 +188,29 @@ id - + - + This represents the Rain Gauge capable of measuring precipitation - - - - - + + + + + - - - - - + + + + + @@ -218,68 +219,68 @@ id - + - + This represents an additional indoor module capable of reporting temperature, humidity and CO2 level - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + @@ -288,7 +289,7 @@ id - + diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/thermostat.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/thermostat.xml index 3b128154cf58e..b2b9b69777477 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/thermostat.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/thermostat.xml @@ -7,54 +7,54 @@ - + This represents the thermostat relay - - - - - - - + + + + + + + 86,71,56 3600000 - + id - + - + This represents the thermostat module itself - - - - + + + + - - + + - - - - - + + + + + @@ -63,7 +63,7 @@ id - + diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomecamera.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomecamera.xml index d47ff042ad4de..2e8fcd5074441 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomecamera.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomecamera.xml @@ -1,11 +1,12 @@ - - + @@ -23,7 +24,7 @@ id - + @@ -51,7 +52,8 @@ Switch - Only for scope access_camera. If Camera and application requesting the information are on the same network (true/false) + Only for scope access_camera. If Camera and application requesting the information are on the same + network (true/false) @@ -62,7 +64,7 @@ - + Image Camera Live Snapshot diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomehome.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomehome.xml index 0a63138853b17..0f8d95501562a 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomehome.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomehome.xml @@ -1,11 +1,12 @@ - - + @@ -34,7 +35,7 @@ id - + @@ -99,12 +100,12 @@ - + Image Event Snapshot - + String diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomeperson.xml b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomeperson.xml index dd1b3066ac2c5..ecf3eaf6f7c14 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomeperson.xml +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/ESH-INF/thing/welcomeperson.xml @@ -1,11 +1,12 @@ - - + @@ -24,7 +25,7 @@ id - + @@ -61,14 +62,14 @@ - + Image Avatar of this person - + Image Picture of the last event for this person diff --git a/bundles/org.openhab.binding.network/pom.xml b/bundles/org.openhab.binding.network/pom.xml index 12a5ab73497f9..dc3276ea07533 100644 --- a/bundles/org.openhab.binding.network/pom.xml +++ b/bundles/org.openhab.binding.network/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -29,12 +31,12 @@ 1.04 compile - - commons-net - commons-net - 3.6 - compile - + + commons-net + commons-net + 3.6 + compile + diff --git a/bundles/org.openhab.binding.network/src/main/feature/feature.xml b/bundles/org.openhab.binding.network/src/main/feature/feature.xml index 5479ba232903d..a1fd91f9992fd 100644 --- a/bundles/org.openhab.binding.network/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.network/src/main/feature/feature.xml @@ -1,12 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-core-model-script - mvn:commons-net/commons-net/3.6 - mvn:org.openhab.addons.bundles/org.openhab.binding.network/${project.version} - + + openhab-runtime-base + openhab-core-model-script + mvn:commons-net/commons-net/3.6 + mvn:org.openhab.addons.bundles/org.openhab.binding.network/${project.version} + - diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConfiguration.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConfiguration.java index edb4e82c817c3..14594569072ce 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConfiguration.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConfiguration.java @@ -62,13 +62,9 @@ private void notifyListeners() { @Override public String toString() { - return "NetworkBindingConfiguration{" + - "allowSystemPings=" + allowSystemPings + - ", allowDHCPlisten=" + allowDHCPlisten + - ", cacheDeviceStateTimeInMS=" + cacheDeviceStateTimeInMS + - ", arpPingToolPath='" + arpPingToolPath + '\'' + - ", arpPingUtilMethod=" + arpPingUtilMethod + - ", preferResponseTimeAsLatency=" + preferResponseTimeAsLatency + - '}'; + return "NetworkBindingConfiguration{" + "allowSystemPings=" + allowSystemPings + ", allowDHCPlisten=" + + allowDHCPlisten + ", cacheDeviceStateTimeInMS=" + cacheDeviceStateTimeInMS + ", arpPingToolPath='" + + arpPingToolPath + '\'' + ", arpPingUtilMethod=" + arpPingUtilMethod + ", preferResponseTimeAsLatency=" + + preferResponseTimeAsLatency + '}'; } } diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConstants.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConstants.java index 012f6ee40b811..689c16af33494 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConstants.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/NetworkBindingConstants.java @@ -69,5 +69,4 @@ public class NetworkBindingConstants { SUPPORTED_THING_TYPES_UIDS.add(BACKWARDS_COMPATIBLE_DEVICE); SUPPORTED_THING_TYPES_UIDS.add(SPEEDTEST_DEVICE); } - } diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/dhcp/DHCPPacket.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/dhcp/DHCPPacket.java index c363bc0712ba2..c99af8ce101f7 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/dhcp/DHCPPacket.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/dhcp/DHCPPacket.java @@ -89,7 +89,6 @@ static class BadPacketException extends IllegalArgumentException { BadPacketException(String message, Throwable cause) { super(message, cause); } - } private byte op; diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/handler/NetworkHandler.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/handler/NetworkHandler.java index 16902d98394ec..66469c86d3e97 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/handler/NetworkHandler.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/handler/NetworkHandler.java @@ -47,7 +47,8 @@ * @author David Graeff - Rewritten */ @NonNullByDefault -public class NetworkHandler extends BaseThingHandler implements PresenceDetectionListener, NetworkBindingConfigurationListener { +public class NetworkHandler extends BaseThingHandler + implements PresenceDetectionListener, NetworkBindingConfigurationListener { private final Logger logger = LoggerFactory.getLogger(NetworkHandler.class); private @NonNullByDefault({}) PresenceDetection presenceDetection; diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/LatencyParser.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/LatencyParser.java index 70db4dc062523..6217739efbd87 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/LatencyParser.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/LatencyParser.java @@ -12,13 +12,13 @@ */ package org.openhab.binding.network.internal.utils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.Optional; import java.util.regex.Matcher; import java.util.regex.Pattern; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + /** * Examines output lines of the ping command and tries to extract the contained latency value. * @@ -42,14 +42,14 @@ public class LatencyParser { * * @param inputLine Single output line of the ping command. * @return Latency value provided by the ping command. Optional is empty if the provided line did not contain a - * latency value which matches the known patterns. + * latency value which matches the known patterns. */ public Optional parseLatency(String inputLine) { logger.debug("Parsing latency from input {}", inputLine); String pattern = ".*time=(.*) ms"; Matcher m = Pattern.compile(pattern).matcher(inputLine); - if(m.find() && m.groupCount() == 1) { + if (m.find() && m.groupCount() == 1) { return Optional.of(Double.parseDouble(m.group(1))); } diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/NetworkUtils.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/NetworkUtils.java index e612d4663e77b..972ff29f5d842 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/NetworkUtils.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/NetworkUtils.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.network.internal.utils; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.*; +import java.util.*; +import java.util.stream.Collectors; + import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.SystemUtils; import org.apache.commons.net.util.SubnetUtils; @@ -23,13 +30,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.net.*; -import java.util.*; -import java.util.stream.Collectors; - /** * Network utility functions for pinging and for determining all interfaces and assigned IP addresses. * @@ -62,7 +62,7 @@ public Set getInterfaceNames() { try { // For each interface ... - for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements(); ) { + for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface networkInterface = en.nextElement(); if (!networkInterface.isLoopback()) { result.add(networkInterface.getName()); @@ -264,9 +264,9 @@ public Optional nativePing(@Nullable IpPingMethodEnum method, String // Because of the Windows issue, we need to check this. We assume that the ping was successful whenever // this specific string is contained in the output if (line.contains("TTL=") || line.contains("ttl=")) { - PingResult pingResult = new PingResult(true, System.currentTimeMillis() - execStartTimeInMS); - latencyParser.parseLatency(line).ifPresent(pingResult::setResponseTimeInMS); - return Optional.of(pingResult); + PingResult pingResult = new PingResult(true, System.currentTimeMillis() - execStartTimeInMS); + latencyParser.parseLatency(line).ifPresent(pingResult::setResponseTimeInMS); + return Optional.of(pingResult); } line = r.readLine(); } while (line != null); @@ -298,7 +298,7 @@ public enum ArpPingUtilEnum { * @throws IOException The ping command could probably not be found */ public Optional nativeARPPing(@Nullable ArpPingUtilEnum arpingTool, @Nullable String arpUtilPath, - String interfaceName, String ipV4address, int timeoutInMS) throws IOException, InterruptedException { + String interfaceName, String ipV4address, int timeoutInMS) throws IOException, InterruptedException { double execStartTimeInMS = System.currentTimeMillis(); if (arpUtilPath == null || arpingTool == null || arpingTool == ArpPingUtilEnum.UNKNOWN_TOOL) { @@ -333,7 +333,7 @@ public Optional javaPing(int timeoutInMS, InetAddress destinationAdd double execStartTimeInMS = System.currentTimeMillis(); try { - if(destinationAddress.isReachable(timeoutInMS)) { + if (destinationAddress.isReachable(timeoutInMS)) { return Optional.of(new PingResult(true, System.currentTimeMillis() - execStartTimeInMS)); } else { return Optional.of(new PingResult(false, System.currentTimeMillis() - execStartTimeInMS)); diff --git a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/PingResult.java b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/PingResult.java index 46169bef2f062..9bc0b0ef94a7d 100644 --- a/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/PingResult.java +++ b/bundles/org.openhab.binding.network/src/main/java/org/openhab/binding/network/internal/utils/PingResult.java @@ -26,7 +26,7 @@ public class PingResult { private double executionTimeInMS; /** - * @param success true if the device was reachable, false if not. + * @param success true if the device was reachable, false if not. * @param executionTimeInMS Execution time of the ping command in ms. */ public PingResult(boolean success, double executionTimeInMS) { @@ -43,7 +43,7 @@ public boolean isSuccess() { /** * @return Response time in ms which was returned by the ping command. Optional is empty if response time provided - * by ping command is not available. + * by ping command is not available. */ public Optional getResponseTimeInMS() { return responseTimeInMS == null ? Optional.empty() : Optional.of(responseTimeInMS); @@ -58,11 +58,8 @@ public void setResponseTimeInMS(double responseTimeInMS) { @Override public String toString() { - return "PingResult{" + - "success=" + success + - ", responseTimeInMS=" + responseTimeInMS + - ", executionTimeInMS=" + executionTimeInMS + - '}'; + return "PingResult{" + "success=" + success + ", responseTimeInMS=" + responseTimeInMS + ", executionTimeInMS=" + + executionTimeInMS + '}'; } /** diff --git a/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/binding/binding.xml index 89628e8b919d7..ece305fba1013 100644 --- a/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Network Binding The Network Binding can be used for device presence detection and to determine network device health @@ -12,29 +11,36 @@ true Allows or disallows to use system pings next to the java integrated ping functionality. - On windows the system ping works more reliable most of the time. + On windows the + system ping works more reliable most of the time. true - Usually a device requests an IP address in an IPv4 network with the help of DHCP as soon as it enters a network. If we listen to those - packets, we can detect a device presence even faster. You need elevated access rights (see readme) for this to work. + Usually a device requests an IP address in an IPv4 network with the help of DHCP as soon as it enters a + network. If we listen to those + packets, we can detect a device presence even faster. You need elevated access rights + (see readme) for this to work. 2000 - The result of a device presence detection is cached for a small amount of time. Be aware that no new pings will be issued within this time frame, even if explicitly requested. + The result of a device presence detection is cached for a small amount of time. Be aware that no new + pings will be issued within this time frame, even if explicitly requested. true arping - If your arp ping tool is not called arping and cannot be found in the PATH environment, you can configure the absolute path / tool name here. + If your arp ping tool is not called arping and cannot be found in the PATH environment, you can + configure the absolute path / tool name here. false - If enabled, an attempt will be made to extract the latency from the output of the ping command. If no such latency value is found in the ping command output, the time to execute the ping command is used as fallback latency. If disabled, the time to execute the ping command is always used as latency value. + If enabled, an attempt will be made to extract the latency from the output of the ping command. If no + such latency value is found in the ping command output, the time to execute the ping command is used as fallback + latency. If disabled, the time to execute the ping command is always used as latency value. diff --git a/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/thing/thing-types.xml index 8e3e9e4368e53..b0a388320aaf5 100644 --- a/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.network/src/main/resources/ESH-INF/thing/thing-types.xml @@ -6,13 +6,14 @@ The presence detection is performed by using ICMP and, if available, ARP pings. - You can change the arping tool path in the binding configuration. - DHCP sniffing is performed for faster network reentry discovery. + You can change the arping + tool path in the binding configuration. + DHCP sniffing is performed for faster network reentry discovery. - - - + + + @@ -37,7 +38,8 @@ - How many refresh interval cycles should a presence detection should take place, before the device is stated as offline + How many refresh interval cycles should a presence detection should take place, before the device is + stated as offline 1 @@ -53,12 +55,13 @@ A device which reachable state is detected by connecting to a TCP port. - DHCP sniffing is performed for faster network reentry discovery. + DHCP sniffing is performed for + faster network reentry discovery. - - - + + + @@ -77,7 +80,8 @@ - The port on which the device can be accessed. Windows systems usually have the 445 port open. Webservers are on port 80. + The port on which the device can be accessed. Windows systems usually have the 445 port open. + Webservers are on port 80. 80 @@ -106,10 +110,10 @@ Provides information about bandwidth speed. - - - - + + + + @@ -163,28 +167,28 @@ Number:Dimensionless Current Test progression - + Number:DataTransferRate Current upload rate - + Number:DataTransferRate Current download rate - + DateTime Status timestamp - + diff --git a/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/toberemoved/cache/ExpiringCacheHelper.java b/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/toberemoved/cache/ExpiringCacheHelper.java index 2e851b69b9261..c94a5af6a1aa2 100644 --- a/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/toberemoved/cache/ExpiringCacheHelper.java +++ b/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/toberemoved/cache/ExpiringCacheHelper.java @@ -12,8 +12,6 @@ */ package org.openhab.binding.network.internal.toberemoved.cache; -import org.openhab.binding.network.internal.toberemoved.cache.ExpiringCacheAsync; - /** * Helper class to make the package private cacheUpdater field available for tests. * diff --git a/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/utils/LatencyParserTest.java b/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/utils/LatencyParserTest.java index 5758c96023ac9..141f6644f94d7 100644 --- a/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/utils/LatencyParserTest.java +++ b/bundles/org.openhab.binding.network/src/test/java/org/openhab/binding/network/internal/utils/LatencyParserTest.java @@ -12,11 +12,11 @@ */ package org.openhab.binding.network.internal.utils; +import java.util.Optional; + import org.junit.Assert; import org.junit.Test; -import java.util.Optional; - /** * Tests the parser which extracts latency values from the output of the ping command. * @@ -44,14 +44,10 @@ public void parseLinuxAndMacResultNotFoundTest() { LatencyParser latencyParser = new LatencyParser(); // This is the output of the command. We exclude the line which contains the latency, because here we want // to test that no latency is returned for all other lines. - String[] inputLines = { - "ping -c 1 192.168.1.1", - "PING 192.168.1.1 (192.168.1.1): 56 data bytes", + String[] inputLines = { "ping -c 1 192.168.1.1", "PING 192.168.1.1 (192.168.1.1): 56 data bytes", // "64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=1.225 ms", - "--- 192.168.1.1 ping statistics ---", - "1 packets transmitted, 1 packets received, 0.0% packet loss", - "round-trip min/avg/max/stddev = 1.225/1.225/1.225/0.000 ms" - }; + "--- 192.168.1.1 ping statistics ---", "1 packets transmitted, 1 packets received, 0.0% packet loss", + "round-trip min/avg/max/stddev = 1.225/1.225/1.225/0.000 ms" }; for (String inputLine : inputLines) { // Act diff --git a/bundles/org.openhab.binding.networkupstools/pom.xml b/bundles/org.openhab.binding.networkupstools/pom.xml index c0aec4555f179..d192d2baa145a 100644 --- a/bundles/org.openhab.binding.networkupstools/pom.xml +++ b/bundles/org.openhab.binding.networkupstools/pom.xml @@ -1,15 +1,17 @@ - + + - 4.0.0 + 4.0.0 - - org.openhab.addons.bundles - org.openhab.addons.reactor.bundles - 2.5.5-SNAPSHOT - + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 2.5.5-SNAPSHOT + - org.openhab.binding.networkupstools + org.openhab.binding.networkupstools - openHAB Add-ons :: Bundles :: Network UPS Tools Binding + openHAB Add-ons :: Bundles :: Network UPS Tools Binding diff --git a/bundles/org.openhab.binding.networkupstools/src/main/feature/feature.xml b/bundles/org.openhab.binding.networkupstools/src/main/feature/feature.xml index d0de2604754e0..3d9189b0edcc0 100644 --- a/bundles/org.openhab.binding.networkupstools/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.networkupstools/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.networkupstools/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.networkupstools/${project.version} + diff --git a/bundles/org.openhab.binding.networkupstools/src/main/java/org/openhab/binding/networkupstools/internal/NUTDynamicChannelConfiguration.java b/bundles/org.openhab.binding.networkupstools/src/main/java/org/openhab/binding/networkupstools/internal/NUTDynamicChannelConfiguration.java index 52d95b7474d73..0dc1898bc9659 100644 --- a/bundles/org.openhab.binding.networkupstools/src/main/java/org/openhab/binding/networkupstools/internal/NUTDynamicChannelConfiguration.java +++ b/bundles/org.openhab.binding.networkupstools/src/main/java/org/openhab/binding/networkupstools/internal/NUTDynamicChannelConfiguration.java @@ -24,5 +24,4 @@ public class NUTDynamicChannelConfiguration { public String networkupstools = ""; public @Nullable String unit; - } diff --git a/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/channels.xml index 4159b0807185b..435eba8d920ff 100644 --- a/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/channels.xml @@ -8,25 +8,25 @@ String UPS alarms - + Number:Dimensionless Load on UPS (percent) - + Number:Power Current value of apparent power (Volt-Amps) - + Number:Power Current value of real power (Watts) - + String @@ -52,91 +52,91 @@ Number:Temperature UPS temperature (degrees C) - + String Results of last self test (opaque string) - + Number:ElectricCurrent Input current (A) - + String Status relative to the thresholds - + Number:Dimensionless Load on (ePDU) input (percent of full) - + Number:Power Current sum value of all (ePDU) phases real power (W) - + String Input power quality (*** opaque) - + String Reason for last transfer to battery (*** opaque) - + Number:ElectricPotential Input voltage (V) - + String Status relative to the thresholds - + Number:ElectricCurrent Output current (A) - + Number:ElectricPotential Output voltage (V) - + Number:Dimensionless Battery charge (percent) - + Number:Time Battery runtime (seconds) - + Number:ElectricPotential Battery voltage (V) - + diff --git a/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/dynamic-channels.xml b/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/dynamic-channels.xml index 36d62ebd1f1ee..5ed6d1973c566 100644 --- a/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/dynamic-channels.xml +++ b/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/dynamic-channels.xml @@ -8,57 +8,57 @@ String String channel - - + + Number Number channel - - + + Number:ElectricCurrent Electric Current channel - - + + Number:ElectricPotential Electric Potential channel - - + + Number:Frequency Frequency channel - - + + Number:Power Power channel - - + + Number:Time Time channel - - + + Switch Switch channel - - + + diff --git a/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/thing-types.xml index 323a08ccc9259..3720317e0ace7 100644 --- a/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.networkupstools/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,29 +10,29 @@ Network UPS Tool Thing - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/NutNameChannelsTest.java b/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/NutNameChannelsTest.java index 85adf07990812..ca0d213c03db9 100644 --- a/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/NutNameChannelsTest.java +++ b/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/NutNameChannelsTest.java @@ -56,11 +56,11 @@ public class NutNameChannelsTest { private static final String TEMPLATE_ITEM_TYPE = "%s"; private static final String TEMPLATE_LABEL = ""; private static final String TEMPLATE_DESCRIPTION = "%s"; - private static final String TEMPLATE_STATE = ""; - private static final String TEMPLATE_STATE_NO_PATTERN = ""; + private static final String TEMPLATE_STATE = ""; + private static final String TEMPLATE_STATE_NO_PATTERN = ""; private static final String TEMPLATE_STATE_OPTIONS = ""; private static final String TEMPLATE_CHANNEL_TYPE_END = ""; - private static final String TEMPLATE_CHANNEL = ""; + private static final String TEMPLATE_CHANNEL = ""; private static final String README_IS_ADVANCED = "yes"; @@ -221,5 +221,4 @@ private String nutNameToPattern(final String itemType) { } return pattern; } - } diff --git a/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/nut/NutApiTest.java b/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/nut/NutApiTest.java index 777b0b6c4f6c7..b90ff77412023 100644 --- a/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/nut/NutApiTest.java +++ b/bundles/org.openhab.binding.networkupstools/src/test/java/org/openhab/binding/networkupstools/internal/nut/NutApiTest.java @@ -102,5 +102,4 @@ public void write(int b) throws IOException { assertThat("Should send commands correctly", actualCommands.toString(), is(expectedCommands)); } } - } diff --git a/bundles/org.openhab.binding.nibeheatpump/pom.xml b/bundles/org.openhab.binding.nibeheatpump/pom.xml index 6a83496fd337e..0e1bdd43531bd 100644 --- a/bundles/org.openhab.binding.nibeheatpump/pom.xml +++ b/bundles/org.openhab.binding.nibeheatpump/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/feature/feature.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/feature/feature.xml index 51c50b1b34862..13bdb7587afed 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.nibeheatpump/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.nibeheatpump/${project.version} + diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpCommandResult.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpCommandResult.java index 6146301ce0ecd..fd71f7b86e0bd 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpCommandResult.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpCommandResult.java @@ -53,7 +53,6 @@ public boolean isDone() { } finally { lock.unlock(); } - } @Override diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpException.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpException.java index ce0b5578868e3..896ba3632d58c 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpException.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/NibeHeatPumpException.java @@ -32,5 +32,4 @@ public NibeHeatPumpException(String message, Throwable cause) { public NibeHeatPumpException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpConnector.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpConnector.java index a533c902fd278..038345cb4931f 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpConnector.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpConnector.java @@ -67,5 +67,4 @@ public interface NibeHeatPumpConnector { * @return true, if connected */ boolean isConnected(); - } diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpEventListener.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpEventListener.java index a9a4e41ace355..3594a1343cad4 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpEventListener.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/connection/NibeHeatPumpEventListener.java @@ -36,5 +36,4 @@ public interface NibeHeatPumpEventListener { * Error occurred. */ void errorOccurred(String error); - } diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/message/NibeHeatPumpBaseMessage.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/message/NibeHeatPumpBaseMessage.java index e13e1d66e13ec..c8646f8ce39d0 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/message/NibeHeatPumpBaseMessage.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/message/NibeHeatPumpBaseMessage.java @@ -52,7 +52,6 @@ public enum MessageType { public byte toByte() { return (byte) msgType; } - } public byte[] rawMessage; @@ -89,5 +88,4 @@ public String toHexString() { return HexUtils.bytesToHex(rawMessage); } } - } diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X45.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X45.java index cc77afc9dd637..505ee0ee6e6d7 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X45.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X45.java @@ -31,7 +31,7 @@ public class F1X45 { private static final Map VARIABLE_INFO_F1X45 = Collections .unmodifiableMap(new HashMap() { { - // @formatter:off + // @formatter:off put(40004, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "BT1 Outdoor temp")); put(40005, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "EP23-BT2 Supply temp S4")); put(40006, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "EP22-BT2 Supply temp S3")); diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X55.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X55.java index b47c3f8a9cc05..c94f5ba68bef7 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X55.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F1X55.java @@ -12,13 +12,13 @@ */ package org.openhab.binding.nibeheatpump.internal.models; -import org.openhab.binding.nibeheatpump.internal.models.VariableInformation.NibeDataType; -import org.openhab.binding.nibeheatpump.internal.models.VariableInformation.Type; - import java.util.Collections; import java.util.HashMap; import java.util.Map; +import org.openhab.binding.nibeheatpump.internal.models.VariableInformation.NibeDataType; +import org.openhab.binding.nibeheatpump.internal.models.VariableInformation.Type; + /** * Class which holds all data variables of F1x55 heat pumps. * @@ -31,7 +31,7 @@ public class F1X55 { private static final Map VARIABLE_INFO_F1X55 = Collections .unmodifiableMap(new HashMap() { { - // @formatter:off + // @formatter:off put(32260, new VariableInformation( 1, NibeDataType.U8 , Type.SENSOR , "NIBE Inverter 216-state")); put(40004, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "BT1 Outdoor Temperature")); put(40005, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "EP23-BT2 Supply temp S4")); diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F750.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F750.java index 6ea83fde56823..6e61e68ec1509 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F750.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/models/F750.java @@ -31,7 +31,7 @@ public class F750 { private static final Map VARIABLE_INFO_F750 = Collections .unmodifiableMap(new HashMap() { { - // @formatter:off + // @formatter:off put(32260, new VariableInformation( 1, NibeDataType.U8 , Type.SENSOR , "NIBE Inverter 216-state")); put(40004, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "BT1 Outdoor Temperature")); put(40005, new VariableInformation( 10, NibeDataType.S16, Type.SENSOR , "EP23-BT2 Supply temp S4")); diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/protocol/NibeHeatPumpProtocolStates.java b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/protocol/NibeHeatPumpProtocolStates.java index 8dd958493a0dd..4f7aefd46f300 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/protocol/NibeHeatPumpProtocolStates.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/java/org/openhab/binding/nibeheatpump/internal/protocol/NibeHeatPumpProtocolStates.java @@ -80,7 +80,6 @@ public boolean process(NibeHeatPumpProtocolContext context) { } return false; } - }, OK_MESSAGE_RECEIVED { @Override @@ -102,7 +101,6 @@ public boolean process(NibeHeatPumpProtocolContext context) { } return true; } - }, WRITE_TOKEN_RECEIVED { @Override @@ -112,7 +110,6 @@ public boolean process(NibeHeatPumpProtocolContext context) { context.state(WAIT_START); return true; } - }, READ_TOKEN_RECEIVED { @Override @@ -122,7 +119,6 @@ public boolean process(NibeHeatPumpProtocolContext context) { context.state(WAIT_START); return true; } - }, CHECKSUM_FAILURE { @Override diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/binding/binding.xml index 17178e7453a2b..1ade6b609ffa5 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - NibeHeatPump Binding diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-channel-groups.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-channel-groups.xml index ca27f6ebe49e4..c0dc5e05427aa 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-channel-groups.xml @@ -1,748 +1,749 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-types.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-types.xml index 7e961f4327a9c..294bc219c14e4 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-types.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45-types.xml @@ -1,5 +1,6 @@ - @@ -461,7 +462,8 @@ String - Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat 40=Pool 41=Pool 2 50=Transfer 60=Cooling + Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat 40=Pool + 41=Pool 2 50=Transfer 60=Cooling @@ -2961,7 +2963,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -2975,7 +2978,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -2989,7 +2993,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3003,7 +3008,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3017,7 +3023,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3031,7 +3038,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3045,7 +3053,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3059,7 +3068,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3073,7 +3083,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3087,7 +3098,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3101,7 +3113,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3115,7 +3128,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3129,7 +3143,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3143,7 +3158,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3157,7 +3173,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3171,7 +3188,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3185,7 +3203,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -3199,7 +3218,8 @@ String - Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 = Pool2 + Indicates what need is assigned to the compressor module, 0 = Off, 1 = Heat, 2 = Hot water, 3 = Pool 1, 4 + = Pool2 @@ -4028,7 +4048,8 @@ String - Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi 6=Lietuviu 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar + Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi 6=Lietuviu + 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar @@ -4650,13 +4671,15 @@ Switch - Lowers the room temperature during red light alarms to notify the occupants of the building that something is the matter 0=Off 1=On + Lowers the room temperature during red light alarms to notify the occupants of the building that + something is the matter 0=Off 1=On Switch - Lowers the hot water temperature during red light alarms to notify the occupants of the building that something is the matter 0=Off 1=On + Lowers the hot water temperature during red light alarms to notify the occupants of the building that + something is the matter 0=Off 1=On @@ -4714,28 +4737,32 @@ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. @@ -4959,7 +4986,8 @@ Number - The value below the last compressor step the degree minutes needed to be reached for the pump to start electric addition + The value below the last compressor step the degree minutes needed to be reached for the pump to start + electric addition diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45.xml index bb14023e3308b..a68cfaffb56c0 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x45.xml @@ -9,8 +9,8 @@ - - + + @@ -57,7 +57,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -69,8 +70,8 @@ - - + + @@ -117,7 +118,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -128,8 +130,8 @@ - - + + @@ -157,7 +159,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-channel-groups.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-channel-groups.xml index 14505d4ee76e7..95d6500689dc0 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-channel-groups.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-types.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-types.xml index 31420fd6647cf..f40cc454475b9 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-types.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55-types.xml @@ -1,5 +1,6 @@ - @@ -665,7 +666,8 @@ Number Indicates the status of the relays on the ERS accessory. The information is binary encoded. b0: K1, - b1: K2, b2: K3, b3: K4 + b1: + K2, b2: K3, b3: K4 @@ -905,7 +907,8 @@ Number Bitmap telling the reason to why the compressor slows down. b0:inverter b1:brine b2:current b3:high - cond b4:hot gas b5:evaporator + cond + b4:hot gas b5:evaporator @@ -2087,7 +2090,8 @@ Number Indicates the status of the relays on the ERS accessory. The information is binary encoded. b0: K1, - b1: K2, b2: K3, b3: K4 + b1: + K2, b2: K3, b3: K4 @@ -2096,7 +2100,8 @@ Number Indicates the status of the relays on the ERS accessory. The information is binary encoded. b0: K1, - b1: K2, b2: K3, b3: K4 + b1: + K2, b2: K3, b3: K4 @@ -2105,7 +2110,8 @@ Number Indicates the status of the relays on the ERS accessory. The information is binary encoded. b0: K1, - b1: K2, b2: K3, b3: K4 + b1: + K2, b2: K3, b3: K4 @@ -2303,7 +2309,8 @@ Number Degree minutes, 16bit value (-32768 < x < 32767). Values outside valid values are rounded to - the closest valid value. + the + closest valid value. @@ -2389,7 +2396,8 @@ String Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat - 40=Pool 41=Pool 2 50=Transfer 60=Cooling + 40=Pool + 41=Pool 2 50=Transfer 60=Cooling @@ -2754,7 +2762,8 @@ String Indicates active relays on the PCA Base card. Please refer to the wiring diagram for relay - description. Binary encoded. 1=on, 0=off. Bit0=K4,Bit1=K3,Bit2=K2,Bit3=K1 + description. + Binary encoded. 1=on, 0=off. Bit0=K4,Bit1=K3,Bit2=K2,Bit3=K1 @@ -3576,7 +3585,8 @@ String Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi - 6=Lietuviu 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar + 6=Lietuviu + 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar @@ -3952,7 +3962,8 @@ Number Minimum time between defrost in FLM 1|Minimum time between defrost in FLM 2|Minimum time between - defrost in FLM 3|Minimum time between defrost in FLM 4 + defrost + in FLM 3|Minimum time between defrost in FLM 4 @@ -4264,7 +4275,8 @@ Switch Lowers the hot water temperature during red light alarms to notify the occupants of the building - that something is the matter 0=Off 1=On + that + something is the matter 0=Off 1=On @@ -4402,7 +4414,8 @@ String Preset flow setting for climate system. 0 = manual setting, 1 = radiator, 2 = floor heating, 3 = - radiator + floor heating. + radiator + + floor heating. @@ -4593,7 +4606,8 @@ Number The value below the last compressor step the degree minutes needed to be reached for the pump to - start electric addition + start + electric addition @@ -4790,7 +4804,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -4798,7 +4813,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -4806,7 +4822,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -4814,7 +4831,8 @@ Number Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -5269,7 +5287,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -5277,7 +5296,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -5285,7 +5305,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -5293,7 +5314,8 @@ Switch Sets if the valve should be used or not in cooling mode. Only applies if cooling is available in - the system + the + system @@ -5301,7 +5323,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5309,7 +5332,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5317,7 +5341,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5325,7 +5350,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5333,7 +5359,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5341,7 +5368,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5349,7 +5377,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -5357,7 +5386,8 @@ Switch Sets if the valve should be used or not in heating mode. Only applies if cooling is available in - the system. Otherwise the valve is always used in heating mode. + the + system. Otherwise the valve is always used in heating mode. @@ -6340,7 +6370,8 @@ Switch Smart energy source, fixed electricity price part source, if spot electricity price are used. 0 = - fixed price. 1 = tariff. + fixed + price. 1 = tariff. @@ -6355,7 +6386,8 @@ Switch Smart energy source, shunted addition price part source. From tariff or fixed price. 0 = fixed - price. 1 = tariff. + price. 1 = + tariff. diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55.xml index 10d11511c9895..1afdb4d721e61 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f1x55.xml @@ -9,8 +9,8 @@ - - + + @@ -57,7 +57,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -69,8 +70,8 @@ - - + + @@ -117,7 +118,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -128,8 +130,8 @@ - - + + @@ -157,7 +159,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-channel-groups.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-channel-groups.xml index c8de97f0ab646..24112dce59922 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-channel-groups.xml @@ -7,498 +7,498 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-types.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-types.xml index dd822c4443bd6..99aef58972981 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-types.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> Number @@ -1478,7 +1478,8 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ String - Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat 40=Pool 41=Pool 2 50=Transfer 60=Cooling + Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat 40=Pool + 41=Pool 2 50=Transfer 60=Cooling @@ -1664,7 +1665,8 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ String - Indicates active relays on the PCA Base card. Please refer to the wiring diagram for relay description. Binary encoded. 1=on, 0=off. Bit0=K4,Bit1=K3,Bit2=K2,Bit3=K1 + Indicates active relays on the PCA Base card. Please refer to the wiring diagram for relay description. + Binary encoded. 1=on, 0=off. Bit0=K4,Bit1=K3,Bit2=K2,Bit3=K1 @@ -2186,7 +2188,8 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ String - Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi 6=Lietuviu 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar + Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi 6=Lietuviu + 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar @@ -2458,7 +2461,8 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Number - Above the set outdoor temperature the addition activation time is limited to give the compressor more time to raise the hot water temperature. + Above the set outdoor temperature the addition activation time is limited to give the compressor more + time to raise the hot water temperature. @@ -2678,13 +2682,15 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Switch - Lowers the room temperature during red light alarms to notify the occupants of the building that something is the matter 0=Off 1=On + Lowers the room temperature during red light alarms to notify the occupants of the building that + something is the matter 0=Off 1=On Switch - Lowers the hot water temperature during red light alarms to notify the occupants of the building that something is the matter 0=Off 1=On + Lowers the hot water temperature during red light alarms to notify the occupants of the building that + something is the matter 0=Off 1=On @@ -2742,35 +2748,40 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. String - Preset flow setting for climate system. 0 = manual setting, 1 = radiator, 2 = floor heating, 3 = radiator + floor heating. + Preset flow setting for climate system. 0 = manual setting, 1 = radiator, 2 = floor heating, 3 = radiator + + floor heating. @@ -3176,28 +3187,32 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. @@ -3274,49 +3289,57 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + @@ -3328,14 +3351,16 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Number - Setting of how much the difference between set and actual room humidity should affect the supply temperature. + Setting of how much the difference between set and actual room humidity should affect the supply + temperature. Number - Setting of how much the difference between set and actual room humidity should affect the supply temperature in cooling mode. + Setting of how much the difference between set and actual room humidity should affect the supply + temperature in cooling mode. @@ -3379,7 +3404,8 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https:/ Switch - + + diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470.xml index 91a89b18bd493..0289070610557 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f470.xml @@ -9,8 +9,8 @@ - - + + @@ -57,7 +57,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -69,8 +70,8 @@ - - + + @@ -117,7 +118,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -128,8 +130,8 @@ - - + + @@ -157,7 +159,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-channel-groups.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-channel-groups.xml index d238f2be2ae7f..351fe6738fc3a 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-channel-groups.xml @@ -1,656 +1,657 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-types.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-types.xml index 48133727d8511..6d2e252007e9d 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-types.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750-types.xml @@ -1,5 +1,6 @@ - @@ -700,7 +701,7 @@ - + @@ -1771,7 +1772,8 @@ Number - Degree minutes, 16bit value (-32768 < x < 32767). Values outside valid values are rounded to the closest valid value. + Degree minutes, 16bit value (-32768 < x < 32767). Values outside valid values are rounded to the + closest valid value. @@ -1865,7 +1867,8 @@ String - Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat 40=Pool 41=Pool 2 50=Transfer 60=Cooling + Indicates what heating action (HW/heat/pool) currently prioritised 10=Off 20=Hot Water 30=Heat 40=Pool + 41=Pool 2 50=Transfer 60=Cooling @@ -2168,7 +2171,8 @@ String - Indicates active relays on the PCA Base card. Please refer to the wiring diagram for relay description. Binary encoded. 1=on, 0=off. Bit0=K4,Bit1=K3,Bit2=K2,Bit3=K1 + Indicates active relays on the PCA Base card. Please refer to the wiring diagram for relay description. + Binary encoded. 1=on, 0=off. Bit0=K4,Bit1=K3,Bit2=K2,Bit3=K1 @@ -2200,7 +2204,8 @@ Number - Indicates the status of the relays on the external supply air accessory. The information is binary encoded. B0: relay K1 (QN40 close signal). B1: relay K2 (QN40 open signal) + Indicates the status of the relays on the external supply air accessory. The information is binary + encoded. B0: relay K1 (QN40 close signal). B1: relay K2 (QN40 open signal) @@ -2242,7 +2247,8 @@ Number - Indicates the status of the relays on the SCA accessory. The information is binary encoded. B0: relay K1 (Solar pump). B1: relay K2 (Solar Cooling Pump) B2: relay K3 (QN28) + Indicates the status of the relays on the SCA accessory. The information is binary encoded. B0: relay K1 + (Solar pump). B1: relay K2 (Solar Cooling Pump) B2: relay K3 (QN28) @@ -2876,7 +2882,8 @@ String - Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi 6=Lietuviu 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar + Display language in the heat pump 0=English 1=Svenska 2=Deutsch 3=Francais 4=Espanol 5=Suomi 6=Lietuviu + 7=Cesky 8=Polski 9=Nederlands 10=Norsk 11=Dansk 12=Eesti 13=Latviesu 16=Magyar @@ -3439,13 +3446,15 @@ Switch - Lowers the room temperature during red light alarms to notify the occupants of the building that something is the matter 0=Off 1=On + Lowers the room temperature during red light alarms to notify the occupants of the building that + something is the matter 0=Off 1=On Switch - Lowers the hot water temperature during red light alarms to notify the occupants of the building that something is the matter 0=Off 1=On + Lowers the hot water temperature during red light alarms to notify the occupants of the building that + something is the matter 0=Off 1=On @@ -3503,35 +3512,40 @@ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. String - Preset flow setting for climate system. 0 = manual setting, 1 = radiator, 2 = floor heating, 3 = radiator + floor heating. + Preset flow setting for climate system. 0 = manual setting, 1 = radiator, 2 = floor heating, 3 = radiator + + floor heating. @@ -3602,7 +3616,8 @@ Number - The value below the last compressor step the degree minutes needed to be reached for the pump to start electric addition + The value below the last compressor step the degree minutes needed to be reached for the pump to start + electric addition @@ -3630,42 +3645,48 @@ Number - The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 and T3. + The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 + and T3. Number - The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 and T3. + The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 + and T3. Number - The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 and T3. + The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 + and T3. Number - The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 and T3. + The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 + and T3. Number - The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 and T3. + The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 + and T3. Number - The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 and T3. + The supply air curve is defined by 3 supply air temperatures at 3 different outdoor temperatures T1, T2 + and T3. @@ -4103,28 +4124,32 @@ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. @@ -4207,55 +4232,64 @@ Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - + + Switch - If set, swapping the words in 32-bit variables when value requested via ''read holding register'' commando. + If set, swapping the words in 32-bit variables when value requested via ''read holding register'' + commando. @@ -4314,14 +4348,16 @@ Number - Setting of how much the difference between set and actual room humidity should affect the supply temperature. + Setting of how much the difference between set and actual room humidity should affect the supply + temperature. Number - Setting of how much the difference between set and actual room humidity should affect the supply temperature in cooling mode. + Setting of how much the difference between set and actual room humidity should affect the supply + temperature in cooling mode. @@ -4449,7 +4485,8 @@ Switch - + + diff --git a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750.xml b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750.xml index 9526c0bc672c4..68a8bc0b827ef 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750.xml +++ b/bundles/org.openhab.binding.nibeheatpump/src/main/resources/ESH-INF/thing/f750.xml @@ -9,8 +9,8 @@ - - + + @@ -57,7 +57,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -69,8 +70,8 @@ - - + + @@ -117,7 +118,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 @@ -128,8 +130,8 @@ - - + + @@ -157,7 +159,8 @@ - Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle time in milliseconds. + Throttle incoming data read out messages from heat pump. 0 = throttle is disabled, otherwise throttle + time in milliseconds. 0 diff --git a/bundles/org.openhab.binding.nibeheatpump/src/test/java/org/openhab/binding/nibeheatpump/internal/handler/NibeHeatPumpHandlerCommand2NibeTest.java b/bundles/org.openhab.binding.nibeheatpump/src/test/java/org/openhab/binding/nibeheatpump/internal/handler/NibeHeatPumpHandlerCommand2NibeTest.java index 3998850d3322c..3fe3766b18d31 100644 --- a/bundles/org.openhab.binding.nibeheatpump/src/test/java/org/openhab/binding/nibeheatpump/internal/handler/NibeHeatPumpHandlerCommand2NibeTest.java +++ b/bundles/org.openhab.binding.nibeheatpump/src/test/java/org/openhab/binding/nibeheatpump/internal/handler/NibeHeatPumpHandlerCommand2NibeTest.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.nibeheatpump.internal.handler; +import static org.junit.Assert.assertEquals; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Arrays; +import java.util.Collection; + import org.eclipse.smarthome.core.library.types.DecimalType; import org.eclipse.smarthome.core.library.types.OnOffType; import org.eclipse.smarthome.core.library.types.StringType; @@ -23,13 +30,6 @@ import org.openhab.binding.nibeheatpump.internal.models.PumpModel; import org.openhab.binding.nibeheatpump.internal.models.VariableInformation; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.util.Arrays; -import java.util.Collection; - -import static org.junit.Assert.assertEquals; - /** * Tests cases for {@link NibeHeatPumpHandler}. * @@ -51,21 +51,13 @@ public class NibeHeatPumpHandlerCommand2NibeTest { @Parameterized.Parameters(name = "{index}: f({0}, {1})={2}") public static Collection data() { - return Arrays.asList(new Object[][] { - { 47028, new DecimalType("-1"), (byte)0xFF }, - { 48132, new DecimalType("0"), 0 }, - { 48132, new StringType("0"), 0 }, - { 43009, new DecimalType("28.7"), 0x011F }, - { 40004, new DecimalType("-0.1"), (short)0xFFFF }, - { 47418, new DecimalType("75"), 0x004B }, - { 43514, new DecimalType("7"), 0x0007 }, - { 47291, new DecimalType("65535"), 0xFFFF }, - { 42437, new DecimalType("429496729.5"), 0xFFFFFFFF }, - { 42504, new DecimalType("4294967295"), 0xFFFFFFFF }, - { 47041, new StringType("1"), 0x1 }, - { 47371, OnOffType.from(true), 0x1 }, - { 47371, OnOffType.from(false), 0x0 }, - }); + return Arrays.asList(new Object[][] { { 47028, new DecimalType("-1"), (byte) 0xFF }, + { 48132, new DecimalType("0"), 0 }, { 48132, new StringType("0"), 0 }, + { 43009, new DecimalType("28.7"), 0x011F }, { 40004, new DecimalType("-0.1"), (short) 0xFFFF }, + { 47418, new DecimalType("75"), 0x004B }, { 43514, new DecimalType("7"), 0x0007 }, + { 47291, new DecimalType("65535"), 0xFFFF }, { 42437, new DecimalType("429496729.5"), 0xFFFFFFFF }, + { 42504, new DecimalType("4294967295"), 0xFFFFFFFF }, { 47041, new StringType("1"), 0x1 }, + { 47371, OnOffType.from(true), 0x1 }, { 47371, OnOffType.from(false), 0x0 }, }); } public NibeHeatPumpHandlerCommand2NibeTest(final int coilAddress, final Command command, final int expected) { diff --git a/bundles/org.openhab.binding.nibeuplink/pom.xml b/bundles/org.openhab.binding.nibeuplink/pom.xml index 8cd6fd7e7221b..ef2a41456b978 100644 --- a/bundles/org.openhab.binding.nibeuplink/pom.xml +++ b/bundles/org.openhab.binding.nibeuplink/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/feature/feature.xml b/bundles/org.openhab.binding.nibeuplink/src/main/feature/feature.xml index 7ebd19dd08391..e021703b5b93f 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.nibeuplink/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.nibeuplink/${project.version} + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/AtomicReferenceTrait.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/AtomicReferenceTrait.java index abeea81c8501f..139f1abd3504d 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/AtomicReferenceTrait.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/AtomicReferenceTrait.java @@ -42,7 +42,7 @@ default void cancelJob(@Nullable Future job) { * updates a job reference with a new job. the old job will be cancelled if there is one. * * @param jobReference reference to be updated - * @param newJob job to be assigned + * @param newJob job to be assigned */ default void updateJobReference(AtomicReference<@Nullable Future> jobReference, Future newJob) { cancelJob(jobReference.getAndSet(newJob)); @@ -56,5 +56,4 @@ default void updateJobReference(AtomicReference<@Nullable Future> jobReferenc default void cancelJobReference(AtomicReference<@Nullable Future> jobReference) { cancelJob(jobReference.getAndSet(null)); } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/NibeUplinkBindingConstants.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/NibeUplinkBindingConstants.java index aa3a44a48e607..29901af40a633 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/NibeUplinkBindingConstants.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/NibeUplinkBindingConstants.java @@ -75,5 +75,4 @@ public final class NibeUplinkBindingConstants { public static final Set SUPPORTED_THING_TYPES_UIDS = Collections .unmodifiableSet(Stream.of(THING_TYPE_VVM320, THING_TYPE_VVM310, THING_TYPE_F730, THING_TYPE_F750, THING_TYPE_F1145, THING_TYPE_F1155).collect(Collectors.toSet())); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/callback/AbstractUplinkCommandCallback.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/callback/AbstractUplinkCommandCallback.java index c01bfa5c7c467..a5de7509690ef 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/callback/AbstractUplinkCommandCallback.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/callback/AbstractUplinkCommandCallback.java @@ -167,5 +167,4 @@ public CommunicationStatus getCommunicationStatus() { public final void setListener(StatusUpdateListener listener) { this.listener = listener; } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/command/NibeUplinkCommand.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/command/NibeUplinkCommand.java index 3fd077d803b81..e7aa4d239590f 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/command/NibeUplinkCommand.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/command/NibeUplinkCommand.java @@ -52,5 +52,4 @@ public interface NibeUplinkCommand extends SuccessListener, FailureListener, Con * @param listener the listener to be registered. */ void setListener(StatusUpdateListener listener); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/CommunicationStatus.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/CommunicationStatus.java index 1f81dec49c891..a83bfa908bbc3 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/CommunicationStatus.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/CommunicationStatus.java @@ -49,5 +49,4 @@ public final String getMessage() { } return ""; } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/StatusUpdateListener.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/StatusUpdateListener.java index 9414a9662e4b3..99fc58bbe5eeb 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/StatusUpdateListener.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/StatusUpdateListener.java @@ -23,5 +23,4 @@ public interface StatusUpdateListener { void update(CommunicationStatus status); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/UplinkWebInterface.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/UplinkWebInterface.java index 470a37b997dad..4d0fe1129f8fa 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/UplinkWebInterface.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/connector/UplinkWebInterface.java @@ -161,7 +161,6 @@ public void update(CommunicationStatus status) { command.performAction(httpClient); } } - } /** @@ -262,7 +261,6 @@ private boolean preCheck() { this.uplinkHandler.setStatusInfo(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, preCheckStatusMessage); return false; - } /** diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/ChannelProvider.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/ChannelProvider.java index f730af072d435..5f8c929fc534c 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/ChannelProvider.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/ChannelProvider.java @@ -32,5 +32,4 @@ public interface ChannelProvider { @Nullable Channel getSpecificChannel(String channelCode); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/GenericHandler.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/GenericHandler.java index 97019603150d2..be1fc840cbbbe 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/GenericHandler.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/GenericHandler.java @@ -35,8 +35,8 @@ public class GenericHandler extends UplinkBaseHandler { /** * constructor, called by the factory * - * @param thing instance of the thing, passed in by the factory - * @param httpClient the httpclient that communicates with the API + * @param thing instance of the thing, passed in by the factory + * @param httpClient the httpclient that communicates with the API * @param channelList the specific channellist */ public GenericHandler(Thing thing, HttpClient httpClient, ChannelList channelList) { @@ -62,5 +62,4 @@ public Set getChannels() { specificAndCustomChannels.addAll(CustomChannels.getInstance().getChannels()); return specificAndCustomChannels; } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/NibeUplinkHandler.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/NibeUplinkHandler.java index 6604e439fa9ad..05a8d75a1ed2b 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/NibeUplinkHandler.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/NibeUplinkHandler.java @@ -34,9 +34,9 @@ public interface NibeUplinkHandler extends ThingHandler, ChannelProvider { * Called from {@link NibeUplinkWebInterface#authenticate()} to update * the thing status because updateStatus is protected. * - * @param status Bridge status + * @param status Bridge status * @param statusDetail Bridge status detail - * @param description Bridge status description + * @param description Bridge status description */ void setStatusInfo(ThingStatus status, ThingStatusDetail statusDetail, String description); @@ -50,5 +50,4 @@ public interface NibeUplinkHandler extends ThingHandler, ChannelProvider { void updateChannelStatus(Map values); NibeUplinkConfiguration getConfiguration(); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/UplinkBaseHandler.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/UplinkBaseHandler.java index 909e21bf84aad..b9bebb4bcfd1a 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/UplinkBaseHandler.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/handler/UplinkBaseHandler.java @@ -181,5 +181,4 @@ public void setStatusInfo(ThingStatus status, ThingStatusDetail statusDetail, St public NibeUplinkConfiguration getConfiguration() { return this.getConfigAs(NibeUplinkConfiguration.class); } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/BaseChannels.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/BaseChannels.java index 0ab2718e6f6c5..1f2d79a97290a 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/BaseChannels.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/BaseChannels.java @@ -173,5 +173,4 @@ public Set getChannels() { // Compressor public static final Channel CH_10012 = INSTANCE .addChannel(new SwitchChannel("10012", "Compressor blocked", ChannelGroup.BASE)); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/Channel.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/Channel.java index 275afa9691b65..8f9f7b5381293 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/Channel.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/Channel.java @@ -33,10 +33,10 @@ public class Channel { /** * constructor for channels with write access enabled wihtout a unit * - * @param id identifier of the channel - * @param name human readable name - * @param channelGroup group of the channel - * @param writeApiUrl API URL for channel updates + * @param id identifier of the channel + * @param name human readable name + * @param channelGroup group of the channel + * @param writeApiUrl API URL for channel updates * @param validationExpression expression to validate values before sent to the API */ Channel(String id, String name, ChannelGroup channelGroup, @Nullable String writeApiUrl, @@ -52,8 +52,8 @@ public class Channel { /** * constructor for channels without write access and without unit * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel */ Channel(String id, String name, ChannelGroup channelGroup) { diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannel.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannel.java index 9593862568782..aef24752fda51 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannel.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannel.java @@ -37,5 +37,4 @@ public final void setCode(Integer channelCode) { this.channelCode = channelCode.toString(); } } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannels.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannels.java index bfb0c130504a9..87d1a27a3c9eb 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannels.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/CustomChannels.java @@ -48,5 +48,4 @@ private CustomChannels() { public static final CustomChannel CH_CH06 = INSTANCE.addChannel(new CustomChannel("CH06", "Custom Channel #06")); public static final CustomChannel CH_CH07 = INSTANCE.addChannel(new CustomChannel("CH07", "Custom Channel #07")); public static final CustomChannel CH_CH08 = INSTANCE.addChannel(new CustomChannel("CH08", "Custom Channel #08")); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/DataResponseTransformer.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/DataResponseTransformer.java index 2afdc6562f9e6..9e17d1d2e9edf 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/DataResponseTransformer.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/DataResponseTransformer.java @@ -76,5 +76,4 @@ public Map transform(DataResponse response) { } return result; } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1145Channels.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1145Channels.java index de01c89af5574..af9b466624eee 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1145Channels.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1145Channels.java @@ -80,5 +80,4 @@ private F1145Channels() { ChannelGroup.AIRSUPPLY, ScaleFactor.DIV_10, SIUnits.CELSIUS)); public static final Channel CH_40026 = INSTANCE.addChannel(new QuantityChannel("40026", "BT21 Vented air temp. 1", ChannelGroup.AIRSUPPLY, ScaleFactor.DIV_10, SIUnits.CELSIUS)); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1155Channels.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1155Channels.java index 84db09a27827e..a0823f4fbfb9d 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1155Channels.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F1155Channels.java @@ -82,5 +82,4 @@ private F1155Channels() { ChannelGroup.AIRSUPPLY, ScaleFactor.DIV_10, SIUnits.CELSIUS)); public static final Channel CH_40026 = INSTANCE.addChannel(new QuantityChannel("40026", "BT21 Vented air temp. 1", ChannelGroup.AIRSUPPLY, ScaleFactor.DIV_10, SIUnits.CELSIUS)); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F730Channels.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F730Channels.java index 18082e4140487..21caf1507eb85 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F730Channels.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F730Channels.java @@ -91,5 +91,4 @@ private F730Channels() { new QuantityChannel("40919", "Air mix", ChannelGroup.AIRSUPPLY, ScaleFactor.DIV_10, SIUnits.CELSIUS)); public static final Channel CH_40101 = INSTANCE.addChannel(new QuantityChannel("40101", "BT28 Air mix Temp", ChannelGroup.AIRSUPPLY, ScaleFactor.DIV_10, SIUnits.CELSIUS)); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F750Channels.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F750Channels.java index 865f30b1e5344..66c102b3fc78e 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F750Channels.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/F750Channels.java @@ -83,5 +83,4 @@ private F750Channels() { .addChannel(new Channel("41026", "EB100-Adjusted BS1 Air flow", ChannelGroup.AIRSUPPLY)); public static final Channel CH_47260 = INSTANCE .addChannel(new Channel("47260", "Current Fan speed", ChannelGroup.AIRSUPPLY, "/Manage/1.2", "[01234]")); - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/GenericDataResponse.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/GenericDataResponse.java index b489195b5468b..6910810ff1a94 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/GenericDataResponse.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/GenericDataResponse.java @@ -82,5 +82,4 @@ public String getDate() { public String getFuzzyDate() { return fuzzyDate; } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/QuantityChannel.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/QuantityChannel.java index 9039762689cec..12085588c3048 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/QuantityChannel.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/QuantityChannel.java @@ -30,11 +30,11 @@ public class QuantityChannel extends ScaledChannel { /** * constructor for channels with explicit scaling * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel - * @param factor scaling factor - * @param unit UoM unit + * @param factor scaling factor + * @param unit UoM unit */ QuantityChannel(String id, String name, ChannelGroup channelGroup, ScaleFactor factor, Unit unit) { super(id, name, channelGroup, factor, null, null); @@ -44,10 +44,10 @@ public class QuantityChannel extends ScaledChannel { /** * constructor for channels with defaulted scaling to 1 * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel - * @param unit UoM unit + * @param unit UoM unit */ QuantityChannel(String id, String name, ChannelGroup channelGroup, Unit unit) { this(id, name, channelGroup, ScaleFactor.ONE, unit); @@ -56,5 +56,4 @@ public class QuantityChannel extends ScaledChannel { public Unit getUnit() { return unit; } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ScaledChannel.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ScaledChannel.java index b3ffaaa73430d..690a353e09b70 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ScaledChannel.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ScaledChannel.java @@ -44,11 +44,11 @@ private final double getFactor() { /** * constructor for channels with write access enabled + unit * - * @param id identifier of the channel - * @param name human readable name - * @param channelGroup group of the channel - * @param factor scaling factor - * @param writeApiUrl API URL for channel updates + * @param id identifier of the channel + * @param name human readable name + * @param channelGroup group of the channel + * @param factor scaling factor + * @param writeApiUrl API URL for channel updates * @param validationExpression expression to validate values before sent to the API */ ScaledChannel(String id, String name, ChannelGroup channelGroup, ScaleFactor factor, @Nullable String writeApiUrl, @@ -60,10 +60,10 @@ private final double getFactor() { /** * constructor for channels without write access * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel - * @param factor scaling factor + * @param factor scaling factor */ ScaledChannel(String id, String name, ChannelGroup channelGroup, ScaleFactor factor) { this(id, name, channelGroup, factor, null, null); diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/SwitchChannel.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/SwitchChannel.java index eabff98df9de2..ecb785a8fb479 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/SwitchChannel.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/SwitchChannel.java @@ -33,12 +33,12 @@ public class SwitchChannel extends Channel { /** * constructor for channels with write access enabled. custom on/off mapping * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel - * @param offValue value which represents OFF state - * @param onValue value which represents ON state - * @param writeApiUrl API URL for channel updates + * @param offValue value which represents OFF state + * @param onValue value which represents ON state + * @param writeApiUrl API URL for channel updates */ SwitchChannel(String id, String name, ChannelGroup channelGroup, double offValue, double onValue, @Nullable String writeApiUrl) { @@ -50,11 +50,11 @@ public class SwitchChannel extends Channel { /** * constructor for channels without write access. custom on/off mapping * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel - * @param offValue value which represents OFF state - * @param onValue value which represents ON state + * @param offValue value which represents OFF state + * @param onValue value which represents ON state */ SwitchChannel(String id, String name, ChannelGroup channelGroup, double offValue, double onValue) { this(id, name, channelGroup, offValue, onValue, null); @@ -63,10 +63,10 @@ public class SwitchChannel extends Channel { /** * constructor for channels with write access enabled * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel - * @param writeApiUrl API URL for channel updates + * @param writeApiUrl API URL for channel updates */ SwitchChannel(String id, String name, ChannelGroup channelGroup, @Nullable String writeApiUrl) { this(id, name, channelGroup, DEFAULT_OFF, DEFAULT_ON, writeApiUrl); @@ -75,8 +75,8 @@ public class SwitchChannel extends Channel { /** * constructor for channels without write access * - * @param id identifier of the channel - * @param name human readable name + * @param id identifier of the channel + * @param name human readable name * @param channelGroup group of the channel */ SwitchChannel(String id, String name, ChannelGroup channelGroup) { @@ -98,5 +98,4 @@ public String mapValue(OnOffType value) { return String.valueOf(onValue); } } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ValidationException.java b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ValidationException.java index cafae67295c22..64c51399d4886 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ValidationException.java +++ b/bundles/org.openhab.binding.nibeuplink/src/main/java/org/openhab/binding/nibeuplink/internal/model/ValidationException.java @@ -35,5 +35,4 @@ public ValidationException(Throwable cause) { public ValidationException(String message, Throwable cause) { super(message, cause); } - } diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/binding/binding.xml index 32c6b33f86b37..9f58695d77d3d 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - NibeUplink Binding diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-groups.xml index 6cf7c16a94d58..d69f914491ac4 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-groups.xml @@ -6,48 +6,48 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-types.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-types.xml index e088b84955291..fbf495b3953af 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-types.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/base-channel-types.xml @@ -102,7 +102,8 @@ Number - Degree minutes, 16bit value (-32768 < x < 32767). Values outside valid values are rounded to the closest valid value. + Degree minutes, 16bit value (-32768 < x < 32767). Values outside valid values are rounded to the + closest valid value. diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/custom-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/custom-channel-groups.xml index a2d2d17d66346..375baaec2c4e5 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/custom-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/custom-channel-groups.xml @@ -6,14 +6,14 @@ - - - - - - - - + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-channel-groups.xml index 56d3612ed74bd..f1fbc6b2c932c 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-channel-groups.xml @@ -6,32 +6,32 @@ - - - + + + - - - - - - - - - - + + + + + + + + + + - - + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-thing.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-thing.xml index 9f663cab7feb7..04ab86127ccf4 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-thing.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1145-thing.xml @@ -7,13 +7,13 @@ Nibe F1145 heat pump connected through Nibe UpLink - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-groups.xml index 4d601a8928a58..e72b43e87e47d 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-groups.xml @@ -6,32 +6,32 @@ - + - - - - - - - - - - - - - + + + + + + + + + + + + + - - + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-types.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-types.xml index 465441d03f982..8c71b744f02c2 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-types.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-channel-types.xml @@ -94,8 +94,8 @@ - - Number:Dimensionless + + Number:Dimensionless Brine pump speed EP14 diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-thing.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-thing.xml index 39797efc21935..12106b2c16e8a 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-thing.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f1155-thing.xml @@ -7,13 +7,13 @@ Nibe F1155 heat pump connected through Nibe UpLink - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-channel-groups.xml index 1def76d77f310..e175a83aae8e3 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-channel-groups.xml @@ -6,32 +6,32 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-thing.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-thing.xml index 950ea80751773..134ff4e99f9a9 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-thing.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f730-thing.xml @@ -7,12 +7,12 @@ Nibe F730 heat pump connected through Nibe UpLink - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-channel-groups.xml index 76de534d8ca02..ddd442a6a3a68 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-channel-groups.xml @@ -6,28 +6,28 @@ - - - - - - - - - - - - + + + + + + + + + + + + - - - - - + + + + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-thing.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-thing.xml index 5f467ac077921..0c6b9200bf6d1 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-thing.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/f750-thing.xml @@ -7,12 +7,12 @@ Nibe F750 heat pump connected through Nibe UpLink - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-groups.xml index 10e886db764c1..69650987aa3b0 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-groups.xml @@ -6,50 +6,50 @@ - - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-types.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-types.xml index e72dfc2fa9c71..03a458faec2c2 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-types.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-channel-types.xml @@ -239,14 +239,16 @@ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature in cooling mode. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature in cooling mode. diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-thing.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-thing.xml index aa8e1fb15e6af..fb12c2692fe14 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-thing.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm310-thing.xml @@ -7,13 +7,13 @@ Nibe VVM310 / VVM500 heat pump connected through Nibe UpLink - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-groups.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-groups.xml index d8979afae014c..753515cbec180 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-groups.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-groups.xml @@ -6,54 +6,54 @@ - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-types.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-types.xml index ae163af65cb86..8d25a07b63947 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-types.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-channel-types.xml @@ -267,14 +267,16 @@ Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature. Number - Setting of how much the difference between set and actual room temperature should affect the supply temperature in cooling mode. + Setting of how much the difference between set and actual room temperature should affect the supply + temperature in cooling mode. diff --git a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-thing.xml b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-thing.xml index 4825b926b584a..708e23490216c 100644 --- a/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-thing.xml +++ b/bundles/org.openhab.binding.nibeuplink/src/main/resources/ESH-INF/thing/vvm320-thing.xml @@ -7,13 +7,13 @@ Nibe VVM320 / VVM325 heat pump connected through Nibe UpLink - - - - - - + + + + + + - + diff --git a/bundles/org.openhab.binding.nikobus/pom.xml b/bundles/org.openhab.binding.nikobus/pom.xml index ee1d1f9774b6b..e5c841e3ba235 100644 --- a/bundles/org.openhab.binding.nikobus/pom.xml +++ b/bundles/org.openhab.binding.nikobus/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nikobus/src/main/feature/feature.xml b/bundles/org.openhab.binding.nikobus/src/main/feature/feature.xml index 33cc08cfaf512..8eb000b93771b 100644 --- a/bundles/org.openhab.binding.nikobus/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.nikobus/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.nikobus/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.nikobus/${project.version} + diff --git a/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/NikobusBindingConstants.java b/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/NikobusBindingConstants.java index bb52708ed396a..daf1fed1a09a3 100644 --- a/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/NikobusBindingConstants.java +++ b/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/NikobusBindingConstants.java @@ -44,5 +44,4 @@ public class NikobusBindingConstants { public static final String CONFIG_IMPACTED_MODULES = "impactedModules"; public static final String CONFIG_ADDRESS = "address"; public static final String CONFIG_PORT_NAME = "port"; - } diff --git a/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/handler/NikobusPushButtonHandler.java b/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/handler/NikobusPushButtonHandler.java index 32166b9351337..926732ff64881 100644 --- a/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/handler/NikobusPushButtonHandler.java +++ b/bundles/org.openhab.binding.nikobus/src/main/java/org/openhab/binding/nikobus/internal/handler/NikobusPushButtonHandler.java @@ -97,7 +97,6 @@ SwitchModuleGroup getGroup() { protected int getMinimalNumberOfSegments() { return 3; } - } private static final String END_OF_TRANSMISSION = "\r#E1"; diff --git a/bundles/org.openhab.binding.nikobus/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.nikobus/src/main/resources/ESH-INF/thing/thing-types.xml index 10cccf2538347..471a70ee19e2b 100644 --- a/bundles/org.openhab.binding.nikobus/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.nikobus/src/main/resources/ESH-INF/thing/thing-types.xml @@ -24,14 +24,14 @@ - + A single push button - + @@ -61,7 +61,7 @@ - + @@ -116,7 +116,7 @@ - + @@ -171,7 +171,7 @@ - + diff --git a/bundles/org.openhab.binding.nikohomecontrol/pom.xml b/bundles/org.openhab.binding.nikohomecontrol/pom.xml index 43709908c91be..86cda199b6bcf 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/pom.xml +++ b/bundles/org.openhab.binding.nikohomecontrol/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/feature/feature.xml b/bundles/org.openhab.binding.nikohomecontrol/src/main/feature/feature.xml index c4c61bff03583..e26436045dd9e 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mqtt - mvn:org.openhab.addons.bundles/org.openhab.binding.nikohomecontrol/${project.version} - + + openhab-runtime-base + openhab-transport-mqtt + mvn:org.openhab.addons.bundles/org.openhab.binding.nikohomecontrol/${project.version} + diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcAction1.java b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcAction1.java index 3a02cb323a6d7..8ba8ab1f35d2f 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcAction1.java +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcAction1.java @@ -65,9 +65,9 @@ private interface Action { * Sets state of action. This is the version for Niko Home Control I. * * @param newState - The allowed values depend on the action type. - * switch action: 0 or 100 - * dimmer action: between 0 and 100 - * rollershutter action: between 0 and 100 + * switch action: 0 or 100 + * dimmer action: between 0 and 100 + * rollershutter action: between 0 and 100 */ @Override public void setState(int newState) { @@ -235,7 +235,7 @@ private void executeRollershutterTask() { * position. * * @param currentValue current percent position - * @param newValue new percent position + * @param newValue new percent position * */ private void scheduleRollershutterStop(int currentValue, int newValue) { diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcThermostat1.java b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcThermostat1.java index 7554cecdf47d9..844908237d9b8 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcThermostat1.java +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc1/NhcThermostat1.java @@ -51,7 +51,7 @@ public void executeMode(int mode) { * Sends thermostat setpoint to Niko Home Control. * * @param overrule temperature to overrule the setpoint in 0.1°C multiples - * @param time time duration in min for overrule + * @param time time duration in min for overrule */ @Override public void executeOverrule(int overrule, int overruletime) { diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NhcAction2.java b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NhcAction2.java index c71910e8108af..9023258d64d90 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NhcAction2.java +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NhcAction2.java @@ -88,9 +88,9 @@ public void setBooleanState(boolean state) { * Sets state of action. This version is used for Niko Home Control II. * * @param state - The allowed values depend on the action type. - * switch action: 0 or 100 - * dimmer action: between 0 and 100 - * rollershutter action: between 0 and 100 + * switch action: 0 or 100 + * dimmer action: between 0 and 100 + * rollershutter action: between 0 and 100 */ @Override public void setState(int state) { @@ -104,9 +104,9 @@ public void setState(int state) { * Sends action to Niko Home Control. This version is used for Niko Home Control II, that has extra status options. * * @param command - The allowed values depend on the action type. - * switch action: On or Off - * dimmer action: between 0 and 100, On or Off - * rollershutter action: between 0 and 100, Up, Down or Stop + * switch action: On or Off + * dimmer action: between 0 and 100, On or Off + * rollershutter action: between 0 and 100, Up, Down or Stop */ @Override public void execute(String command) { diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java index 3055a99b4f476..3368183b949cc 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/java/org/openhab/binding/nikohomecontrol/internal/protocol/nhc2/NikoHomeControlCommunication2.java @@ -567,7 +567,6 @@ private void updateEnergyMeterState(NhcEnergyMeter2 energyMeter, NhcDevice2 devi energyMeter.getId()); } }); - } @Override diff --git a/bundles/org.openhab.binding.nikohomecontrol/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.nikohomecontrol/src/main/resources/ESH-INF/thing/thing-types.xml index 15c4cf2add788..95ba063d7881a 100644 --- a/bundles/org.openhab.binding.nikohomecontrol/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.nikohomecontrol/src/main/resources/ESH-INF/thing/thing-types.xml @@ -8,8 +8,8 @@ This bridge represents a Niko Home Control I IP-interface - - + + @@ -26,7 +26,8 @@ - Refresh interval for connection with Niko Home Control IP-interface (min), default 300. If set to 0 or left empty, no refresh will be scheduled + Refresh interval for connection with Niko Home Control IP-interface (min), default 300. If set to 0 or + left empty, no refresh will be scheduled 300 true @@ -36,8 +37,8 @@ This bridge represents a Niko Home Control II Connected Controller - - + + @@ -60,12 +61,14 @@ - Token for Niko Home Control II hobby API, should not be empty. This token will have to be renewed after expiration (1 year after creation) + Token for Niko Home Control II hobby API, should not be empty. This token will have to be renewed after + expiration (1 year after creation) password - Refresh interval for connection with Connected Controller (min), default 300. If set to 0 or left empty, no refresh will be scheduled + Refresh interval for connection with Connected Controller (min), default 300. If set to 0 or left + empty, no refresh will be scheduled 300 true @@ -74,13 +77,13 @@ - - + + Pushbutton type action in Niko Home Control - + @@ -92,13 +95,13 @@ - - + + On/Off type action in Niko Home Control - + @@ -110,13 +113,13 @@ - - + + Dimmer type action in Niko Home Control - + @@ -134,13 +137,13 @@ - - + + Rollershutter type action in Niko Home Control - + @@ -152,16 +155,16 @@ - - + + Thermostat in the Niko Home Control system - - - - + + + + @@ -171,7 +174,8 @@ - Default overrule duration in minutes when an overrule temperature is set without providing overrule time, 60 minutes by default + Default overrule duration in minutes when an overrule temperature is set without providing overrule + time, 60 minutes by default 60 true @@ -179,12 +183,12 @@ - + Energy meter in the Niko Home Control system - + @@ -229,7 +233,7 @@ CurrentTemperature - + Number:Temperature @@ -239,14 +243,14 @@ TargetTemperature - + Number Time duration for overruling thermostat target temperature in min. Number - + Number @@ -271,7 +275,7 @@ Momentary power consumption/production (positive is consumption) Number - + diff --git a/bundles/org.openhab.binding.ntp/README.md b/bundles/org.openhab.binding.ntp/README.md index 0098aa6acc3ad..926dce9de8701 100644 --- a/bundles/org.openhab.binding.ntp/README.md +++ b/bundles/org.openhab.binding.ntp/README.md @@ -1,53 +1,53 @@ -# NTP Binding - -The NTP binding is used for displaying the local date and time based update from an NTP server. - -## Supported Things - -This binding supports one ThingType: ntp - -## Discovery - -Discovery is used to place one default item in the inbox as a convenient way to add a Thing for the local time. - -## Binding Configuration - -The binding has no configuration options, all configuration is done at Thing level. - -## Thing Configuration - -The thing has a few configuration options: - -| Option | Description | -|-----------------|--------------------------------------------------- | -| hostname | NTP host server, e.g. nl.pool.ntp.org | -| refreshInterval | Interval that new time updates are posted to the eventbus in seconds | -| refreshNtp | Number of updates between querying the NTP server (e.g. with refreshinterval = 60 (seconds) and refreshNtp = 30 the NTP server is queried each half hour. | -| timeZone | Timezone, can be left blank for using the default system one | -| locale | Locale, can be left blank for using the default system one | - - -## Channels - -The ntp binding has two channels: - -* `dateTime` which provides the data in a dateTime type -* `string` which provides the data in a string type. The string channel can be configured with the formatting of the date & time. This also allows proper representation of timezones other than the java machine default one. - -See the [java documentation](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) for the detailed information on the formatting - - - -## Full Example - -Things: - -``` -ntp:ntp:demo [ hostname="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30 ] -``` - -Items: - -``` -DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" } -``` +# NTP Binding + +The NTP binding is used for displaying the local date and time based update from an NTP server. + +## Supported Things + +This binding supports one ThingType: ntp + +## Discovery + +Discovery is used to place one default item in the inbox as a convenient way to add a Thing for the local time. + +## Binding Configuration + +The binding has no configuration options, all configuration is done at Thing level. + +## Thing Configuration + +The thing has a few configuration options: + +| Option | Description | +|-----------------|--------------------------------------------------- | +| hostname | NTP host server, e.g. nl.pool.ntp.org | +| refreshInterval | Interval that new time updates are posted to the eventbus in seconds | +| refreshNtp | Number of updates between querying the NTP server (e.g. with refreshinterval = 60 (seconds) and refreshNtp = 30 the NTP server is queried each half hour. | +| timeZone | Timezone, can be left blank for using the default system one | +| locale | Locale, can be left blank for using the default system one | + + +## Channels + +The ntp binding has two channels: + +* `dateTime` which provides the data in a dateTime type +* `string` which provides the data in a string type. The string channel can be configured with the formatting of the date & time. This also allows proper representation of timezones other than the java machine default one. + +See the [java documentation](https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html) for the detailed information on the formatting + + + +## Full Example + +Things: + +``` +ntp:ntp:demo [ hostname="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30 ] +``` + +Items: + +``` +DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" } +``` diff --git a/bundles/org.openhab.binding.ntp/pom.xml b/bundles/org.openhab.binding.ntp/pom.xml index 3cb4f54ccb58e..670986a814a32 100644 --- a/bundles/org.openhab.binding.ntp/pom.xml +++ b/bundles/org.openhab.binding.ntp/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.ntp/src/main/feature/feature.xml b/bundles/org.openhab.binding.ntp/src/main/feature/feature.xml index 732776f8ae1f4..88ec1b45d7b23 100644 --- a/bundles/org.openhab.binding.ntp/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.ntp/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.ntp/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.ntp/${project.version} + diff --git a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpBindingConstants.java b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpBindingConstants.java index b7957e20eafce..9e71124b63d2b 100644 --- a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpBindingConstants.java +++ b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpBindingConstants.java @@ -1,51 +1,51 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.ntp.internal; - -import java.util.Collections; -import java.util.Set; - -import org.eclipse.smarthome.core.thing.ThingTypeUID; - -/** - * The {@link ntpBinding} class defines common constants, which are used across - * the whole binding. - * - * @author Marcel Verpaalen - Initial contribution - * - */ -public class NtpBindingConstants { - - private NtpBindingConstants() {} - - public static final String BINDING_ID = "ntp"; - - // List of all Thing Type UIDs - public static final ThingTypeUID THING_TYPE_NTP = new ThingTypeUID(BINDING_ID, "ntp"); - - // List of all Channel ids - public static final String CHANNEL_DATE_TIME = "dateTime"; - public static final String CHANNEL_STRING = "string"; - - // Custom Properties - public static final String PROPERTY_NTP_SERVER_HOST = "hostname"; - public static final String PROPERTY_REFRESH_INTERVAL = "refreshInterval"; - public static final String PROPERTY_REFRESH_NTP = "refreshNtp"; - public static final String PROPERTY_TIMEZONE = "timeZone"; - public static final String PROPERTY_LOCALE = "locale"; - public static final String PROPERTY_DATE_TIME_FORMAT = "DateTimeFormat"; - public static final String PROPERTY_NTP_SERVER_PORT = "serverPort"; - - public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_NTP); - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ntp.internal; + +import java.util.Collections; +import java.util.Set; + +import org.eclipse.smarthome.core.thing.ThingTypeUID; + +/** + * The {@link ntpBinding} class defines common constants, which are used across + * the whole binding. + * + * @author Marcel Verpaalen - Initial contribution + * + */ +public class NtpBindingConstants { + + private NtpBindingConstants() { + } + + public static final String BINDING_ID = "ntp"; + + // List of all Thing Type UIDs + public static final ThingTypeUID THING_TYPE_NTP = new ThingTypeUID(BINDING_ID, "ntp"); + + // List of all Channel ids + public static final String CHANNEL_DATE_TIME = "dateTime"; + public static final String CHANNEL_STRING = "string"; + + // Custom Properties + public static final String PROPERTY_NTP_SERVER_HOST = "hostname"; + public static final String PROPERTY_REFRESH_INTERVAL = "refreshInterval"; + public static final String PROPERTY_REFRESH_NTP = "refreshNtp"; + public static final String PROPERTY_TIMEZONE = "timeZone"; + public static final String PROPERTY_LOCALE = "locale"; + public static final String PROPERTY_DATE_TIME_FORMAT = "DateTimeFormat"; + public static final String PROPERTY_NTP_SERVER_PORT = "serverPort"; + + public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_NTP); +} diff --git a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpHandlerFactory.java b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpHandlerFactory.java index 98fa35a67b2db..b2673684bb130 100644 --- a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpHandlerFactory.java +++ b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/NtpHandlerFactory.java @@ -1,63 +1,63 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.ntp.internal; - -import static org.openhab.binding.ntp.internal.NtpBindingConstants.*; - -import org.eclipse.smarthome.core.i18n.LocaleProvider; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; -import org.openhab.binding.ntp.internal.handler.NtpHandler; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; - -/** - * The {@link NtpHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Marcel Verpaalen - Initial contribution - * @author Markus Rathgeb - Add locale provider support - */ -@Component(service = ThingHandlerFactory.class, configurationPid = "binding.ntp") -public class NtpHandlerFactory extends BaseThingHandlerFactory { - - private LocaleProvider localeProvider; - - @Reference - protected void setLocaleProvider(final LocaleProvider localeProvider) { - this.localeProvider = localeProvider; - } - - protected void unsetLocaleProvider(final LocaleProvider localeProvider) { - this.localeProvider = null; - } - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - - if (THING_TYPE_NTP.equals(thingTypeUID)) { - return new NtpHandler(thing, localeProvider); - } - - return null; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ntp.internal; + +import static org.openhab.binding.ntp.internal.NtpBindingConstants.*; + +import org.eclipse.smarthome.core.i18n.LocaleProvider; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.openhab.binding.ntp.internal.handler.NtpHandler; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * The {@link NtpHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Marcel Verpaalen - Initial contribution + * @author Markus Rathgeb - Add locale provider support + */ +@Component(service = ThingHandlerFactory.class, configurationPid = "binding.ntp") +public class NtpHandlerFactory extends BaseThingHandlerFactory { + + private LocaleProvider localeProvider; + + @Reference + protected void setLocaleProvider(final LocaleProvider localeProvider) { + this.localeProvider = localeProvider; + } + + protected void unsetLocaleProvider(final LocaleProvider localeProvider) { + this.localeProvider = null; + } + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + + if (THING_TYPE_NTP.equals(thingTypeUID)) { + return new NtpHandler(thing, localeProvider); + } + + return null; + } +} diff --git a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/discovery/NtpDiscovery.java b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/discovery/NtpDiscovery.java index 54cbcbca793fc..43ff128f22766 100644 --- a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/discovery/NtpDiscovery.java +++ b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/discovery/NtpDiscovery.java @@ -1,98 +1,97 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.ntp.internal.discovery; - -import static org.openhab.binding.ntp.internal.NtpBindingConstants.*; - -import java.util.HashMap; -import java.util.Map; -import java.util.TimeZone; -import java.util.concurrent.TimeUnit; - -import org.eclipse.smarthome.config.discovery.AbstractDiscoveryService; -import org.eclipse.smarthome.config.discovery.DiscoveryResult; -import org.eclipse.smarthome.config.discovery.DiscoveryResultBuilder; -import org.eclipse.smarthome.config.discovery.DiscoveryService; -import org.eclipse.smarthome.core.i18n.LocaleProvider; -import org.eclipse.smarthome.core.i18n.TranslationProvider; -import org.eclipse.smarthome.core.thing.ThingUID; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; - -/** - * - * The {@link NtpDiscovery} is used to add a ntp Thing for the local time in the discovery inbox - * * - * - * @author Marcel Verpaalen - Initial contribution - */ -@Component(service = DiscoveryService.class, immediate = true, configurationPid = "discovery.ntp") -public class NtpDiscovery extends AbstractDiscoveryService { - - public NtpDiscovery() throws IllegalArgumentException { - super(SUPPORTED_THING_TYPES_UIDS, 2); - } - - @Override - protected void activate(Map configProperties) { - super.activate(configProperties); - } - - @Override - protected void modified(Map configProperties) { - super.modified(configProperties); - } - - @Override - protected void startBackgroundDiscovery() { - scheduler.schedule(() -> { - discoverNtp(); - }, 1, TimeUnit.SECONDS); - } - - @Override - protected void startScan() { - discoverNtp(); - } - - /** - * Add a ntp Thing for the local time in the discovery inbox - */ - private void discoverNtp() { - Map properties = new HashMap<>(4); - properties.put(PROPERTY_TIMEZONE, TimeZone.getDefault().getID()); - ThingUID uid = new ThingUID(THING_TYPE_NTP, "local"); - DiscoveryResult result = DiscoveryResultBuilder.create(uid).withProperties(properties).withLabel("Local Time") - .build(); - thingDiscovered(result); - } - - @Reference - protected void setLocaleProvider(final LocaleProvider localeProvider) { - this.localeProvider = localeProvider; - } - - protected void unsetLocaleProvider(final LocaleProvider localeProvider) { - this.localeProvider = null; - } - - @Reference - protected void setTranslationProvider(TranslationProvider i18nProvider) { - this.i18nProvider = i18nProvider; - } - - protected void unsetTranslationProvider(TranslationProvider i18nProvider) { - this.i18nProvider = null; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ntp.internal.discovery; + +import static org.openhab.binding.ntp.internal.NtpBindingConstants.*; + +import java.util.HashMap; +import java.util.Map; +import java.util.TimeZone; +import java.util.concurrent.TimeUnit; + +import org.eclipse.smarthome.config.discovery.AbstractDiscoveryService; +import org.eclipse.smarthome.config.discovery.DiscoveryResult; +import org.eclipse.smarthome.config.discovery.DiscoveryResultBuilder; +import org.eclipse.smarthome.config.discovery.DiscoveryService; +import org.eclipse.smarthome.core.i18n.LocaleProvider; +import org.eclipse.smarthome.core.i18n.TranslationProvider; +import org.eclipse.smarthome.core.thing.ThingUID; +import org.osgi.service.component.annotations.Component; +import org.osgi.service.component.annotations.Reference; + +/** + * + * The {@link NtpDiscovery} is used to add a ntp Thing for the local time in the discovery inbox + * * + * + * @author Marcel Verpaalen - Initial contribution + */ +@Component(service = DiscoveryService.class, immediate = true, configurationPid = "discovery.ntp") +public class NtpDiscovery extends AbstractDiscoveryService { + + public NtpDiscovery() throws IllegalArgumentException { + super(SUPPORTED_THING_TYPES_UIDS, 2); + } + + @Override + protected void activate(Map configProperties) { + super.activate(configProperties); + } + + @Override + protected void modified(Map configProperties) { + super.modified(configProperties); + } + + @Override + protected void startBackgroundDiscovery() { + scheduler.schedule(() -> { + discoverNtp(); + }, 1, TimeUnit.SECONDS); + } + + @Override + protected void startScan() { + discoverNtp(); + } + + /** + * Add a ntp Thing for the local time in the discovery inbox + */ + private void discoverNtp() { + Map properties = new HashMap<>(4); + properties.put(PROPERTY_TIMEZONE, TimeZone.getDefault().getID()); + ThingUID uid = new ThingUID(THING_TYPE_NTP, "local"); + DiscoveryResult result = DiscoveryResultBuilder.create(uid).withProperties(properties).withLabel("Local Time") + .build(); + thingDiscovered(result); + } + + @Reference + protected void setLocaleProvider(final LocaleProvider localeProvider) { + this.localeProvider = localeProvider; + } + + protected void unsetLocaleProvider(final LocaleProvider localeProvider) { + this.localeProvider = null; + } + + @Reference + protected void setTranslationProvider(TranslationProvider i18nProvider) { + this.i18nProvider = i18nProvider; + } + + protected void unsetTranslationProvider(TranslationProvider i18nProvider) { + this.i18nProvider = null; + } +} diff --git a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/handler/NtpHandler.java b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/handler/NtpHandler.java index c2d4369a097d0..dcd2569549b33 100644 --- a/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/handler/NtpHandler.java +++ b/bundles/org.openhab.binding.ntp/src/main/java/org/openhab/binding/ntp/internal/handler/NtpHandler.java @@ -1,271 +1,270 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.ntp.internal.handler; - -import static org.openhab.binding.ntp.internal.NtpBindingConstants.*; - -import java.io.IOException; -import java.math.BigDecimal; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.time.Instant; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; -import java.util.Date; -import java.util.Locale; -import java.util.TimeZone; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - -import org.apache.commons.net.ntp.NTPUDPClient; -import org.apache.commons.net.ntp.TimeInfo; -import org.eclipse.smarthome.config.core.Configuration; -import org.eclipse.smarthome.core.i18n.LocaleProvider; -import org.eclipse.smarthome.core.library.types.DateTimeType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.Channel; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * - * The NTP Refresh Service polls the configured timeserver with a configurable - * interval and posts a new event of type ({@link DateTimeType}. - * - * The {@link NtpHandler} is responsible for handling commands, which are sent - * to one of the channels. - * - * @author Marcel Verpaalen - Initial contribution OH2 ntp binding - * @author Thomas.Eichstaedt-Engelen OH1 ntp binding (getTime routine) - * @author Markus Rathgeb - Add locale provider - * @author Erdoan Hadzhiyusein - Adapted the class to work with the new DateTimeType - */ - -public class NtpHandler extends BaseThingHandler { - - private final Logger logger = LoggerFactory.getLogger(NtpHandler.class); - - /** timeout for requests to the NTP server */ - private static final int NTP_TIMEOUT = 30000; - - public static final String DATE_PATTERN_WITH_TZ = "yyyy-MM-dd HH:mm:ss z"; - - /** for logging purposes */ - private final DateFormat SDF = new SimpleDateFormat(DATE_PATTERN_WITH_TZ); - - /** for publish purposes */ - private DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern(DATE_PATTERN_WITH_TZ); - - private final LocaleProvider localeProvider; - - ScheduledFuture refreshJob; - - /** NTP host */ - private String hostname; - /** NTP server port */ - private BigDecimal port; - /** refresh interval */ - private BigDecimal refreshInterval; - /** NTP refresh frequency */ - private BigDecimal refreshNtp = new BigDecimal(0); - /** Timezone */ - private TimeZone timeZone; - /** Locale */ - private Locale locale; - - /** NTP refresh counter */ - private int refreshNtpCount = 0; - /** NTP system time delta */ - private long timeOffset; - - private ChannelUID dateTimeChannelUID; - private ChannelUID stringChannelUID; - - public NtpHandler(final Thing thing, final LocaleProvider localeProvider) { - super(thing); - this.localeProvider = localeProvider; - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - // No specific commands tied to this, but we will trigger an update - this.refreshNtpCount = 0; - refreshTimeDate(); - } - - @Override - public void initialize() { - try { - logger.debug("Initializing NTP handler for '{}'.", getThing().getUID()); - - Configuration config = getThing().getConfiguration(); - hostname = config.get(PROPERTY_NTP_SERVER_HOST).toString(); - port = (BigDecimal) config.get(PROPERTY_NTP_SERVER_PORT); - refreshInterval = (BigDecimal) config.get(PROPERTY_REFRESH_INTERVAL); - refreshNtp = (BigDecimal) config.get(PROPERTY_REFRESH_NTP); - refreshNtpCount = 0; - - try { - Object timeZoneConfigValue = config.get(PROPERTY_TIMEZONE); - if (timeZoneConfigValue != null) { - timeZone = TimeZone.getTimeZone(timeZoneConfigValue.toString()); - } else { - timeZone = TimeZone.getDefault(); - logger.debug("{} using default TZ '{}', because configuration property '{}' is null.", - getThing().getUID(), timeZone, PROPERTY_TIMEZONE); - } - } catch (Exception e) { - timeZone = TimeZone.getDefault(); - logger.debug("{} using default TZ '{}' due to an occurred exception: ", getThing().getUID(), timeZone, - e); - } - - try { - Object localeStringConfigValue = config.get(PROPERTY_LOCALE); - if (localeStringConfigValue != null) { - locale = new Locale(localeStringConfigValue.toString()); - } else { - locale = localeProvider.getLocale(); - logger.debug("{} using default locale '{}', because configuration property '{}' is null.", - getThing().getUID(), locale, PROPERTY_LOCALE); - } - } catch (Exception e) { - locale = localeProvider.getLocale(); - logger.debug("{} using default locale '{}' due to an occurred exception: ", getThing().getUID(), locale, - e); - } - dateTimeChannelUID = new ChannelUID(getThing().getUID(), CHANNEL_DATE_TIME); - stringChannelUID = new ChannelUID(getThing().getUID(), CHANNEL_STRING); - try { - Channel stringChannel = getThing().getChannel(stringChannelUID.getId()); - if (stringChannel != null) { - Configuration cfg = stringChannel.getConfiguration(); - String dateTimeFormatString = cfg.get(PROPERTY_DATE_TIME_FORMAT).toString(); - if (!(dateTimeFormatString == null || dateTimeFormatString.isEmpty())) { - dateTimeFormat = DateTimeFormatter.ofPattern(dateTimeFormatString); - } else { - logger.debug("No format set in channel config for {}. Using default format.", stringChannelUID); - dateTimeFormat = DateTimeFormatter.ofPattern(DATE_PATTERN_WITH_TZ); - } - } else { - logger.debug("Missing channel: '{}'", stringChannelUID.getId()); - } - } catch (RuntimeException ex) { - logger.debug("No channel config or invalid format for {}. Using default format. ({})", stringChannelUID, - ex.getMessage()); - dateTimeFormat = DateTimeFormatter.ofPattern(DATE_PATTERN_WITH_TZ); - } - SDF.setTimeZone(timeZone); - dateTimeFormat.withZone(timeZone.toZoneId()); - - logger.debug( - "Initialized NTP handler '{}' with configuration: host '{}', refresh interval {}, timezone {}, locale {}.", - getThing().getUID(), hostname, refreshInterval, timeZone, locale); - startAutomaticRefresh(); - } catch (Exception ex) { - logger.error("Error occurred while initializing NTP handler: {}", ex.getMessage(), ex); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "@text/offline.conf-error-init-handler"); - } - } - - @Override - public void dispose() { - refreshJob.cancel(true); - super.dispose(); - } - - private void startAutomaticRefresh() { - refreshJob = scheduler.scheduleWithFixedDelay(() -> { - try { - refreshTimeDate(); - } catch (Exception e) { - logger.debug("Exception occurred during refresh: {}", e.getMessage(), e); - } - }, 0, refreshInterval.intValue(), TimeUnit.SECONDS); - } - - private synchronized void refreshTimeDate() { - if (timeZone != null && locale != null) { - long networkTimeInMillis; - if (refreshNtpCount <= 0) { - networkTimeInMillis = getTime(hostname); - timeOffset = networkTimeInMillis - System.currentTimeMillis(); - logger.debug("{} delta system time: {}", getThing().getUID(), timeOffset); - refreshNtpCount = refreshNtp.intValue(); - } else { - networkTimeInMillis = System.currentTimeMillis() + timeOffset; - refreshNtpCount--; - } - - ZonedDateTime zoned = ZonedDateTime.ofInstant(Instant.ofEpochMilli(networkTimeInMillis), - timeZone.toZoneId()); - updateState(dateTimeChannelUID, new DateTimeType(zoned)); - updateState(stringChannelUID, new StringType(dateTimeFormat.format(zoned))); - } else { - logger.debug("Not refreshing, since we do not seem to be initialized yet"); - } - } - - /** - * Queries the given timeserver hostname and returns the time - * in milliseconds. - * - * @param hostname the timeserver to query - * @return the time in milliseconds or the current time of the system if an - * error occurs. - */ - public long getTime(String hostname) { - try { - NTPUDPClient timeClient = new NTPUDPClient(); - timeClient.setDefaultTimeout(NTP_TIMEOUT); - InetAddress inetAddress = InetAddress.getByName(hostname); - TimeInfo timeInfo = timeClient.getTime(inetAddress, port.intValue()); - timeInfo.computeDetails(); - - long serverMillis = timeInfo.getReturnTime() + timeInfo.getOffset(); - logger.debug("{} Got time update from host '{}': {}.", getThing().getUID(), hostname, - SDF.format(new Date(serverMillis))); - updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE); - return serverMillis; - } catch (UnknownHostException uhe) { - logger.debug( - "{} The given hostname '{}' of the timeserver is unknown -> returning current sytem time instead. ({})", - getThing().getUID(), hostname, uhe.getMessage()); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - "@text/offline.comm-error-unknown-host [\"" + (hostname == null ? "null" : hostname) + "\"]"); - } catch (IOException ioe) { - logger.debug( - "{} Couldn't establish network connection to host '{}' -> returning current sytem time instead. ({})", - getThing().getUID(), hostname, ioe.getMessage()); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - "@text/offline.comm-error-connection [\"" + (hostname == null ? "null" : hostname) + "\"]"); - } - - return System.currentTimeMillis(); - } - - @Override - public void channelLinked(ChannelUID channelUID) { - refreshTimeDate(); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.ntp.internal.handler; + +import static org.openhab.binding.ntp.internal.NtpBindingConstants.*; + +import java.io.IOException; +import java.math.BigDecimal; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.time.Instant; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + +import org.apache.commons.net.ntp.NTPUDPClient; +import org.apache.commons.net.ntp.TimeInfo; +import org.eclipse.smarthome.config.core.Configuration; +import org.eclipse.smarthome.core.i18n.LocaleProvider; +import org.eclipse.smarthome.core.library.types.DateTimeType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.Channel; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * + * The NTP Refresh Service polls the configured timeserver with a configurable + * interval and posts a new event of type ({@link DateTimeType}. + * + * The {@link NtpHandler} is responsible for handling commands, which are sent + * to one of the channels. + * + * @author Marcel Verpaalen - Initial contribution OH2 ntp binding + * @author Thomas.Eichstaedt-Engelen OH1 ntp binding (getTime routine) + * @author Markus Rathgeb - Add locale provider + * @author Erdoan Hadzhiyusein - Adapted the class to work with the new DateTimeType + */ + +public class NtpHandler extends BaseThingHandler { + + private final Logger logger = LoggerFactory.getLogger(NtpHandler.class); + + /** timeout for requests to the NTP server */ + private static final int NTP_TIMEOUT = 30000; + + public static final String DATE_PATTERN_WITH_TZ = "yyyy-MM-dd HH:mm:ss z"; + + /** for logging purposes */ + private final DateFormat SDF = new SimpleDateFormat(DATE_PATTERN_WITH_TZ); + + /** for publish purposes */ + private DateTimeFormatter dateTimeFormat = DateTimeFormatter.ofPattern(DATE_PATTERN_WITH_TZ); + + private final LocaleProvider localeProvider; + + ScheduledFuture refreshJob; + + /** NTP host */ + private String hostname; + /** NTP server port */ + private BigDecimal port; + /** refresh interval */ + private BigDecimal refreshInterval; + /** NTP refresh frequency */ + private BigDecimal refreshNtp = new BigDecimal(0); + /** Timezone */ + private TimeZone timeZone; + /** Locale */ + private Locale locale; + + /** NTP refresh counter */ + private int refreshNtpCount = 0; + /** NTP system time delta */ + private long timeOffset; + + private ChannelUID dateTimeChannelUID; + private ChannelUID stringChannelUID; + + public NtpHandler(final Thing thing, final LocaleProvider localeProvider) { + super(thing); + this.localeProvider = localeProvider; + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + // No specific commands tied to this, but we will trigger an update + this.refreshNtpCount = 0; + refreshTimeDate(); + } + + @Override + public void initialize() { + try { + logger.debug("Initializing NTP handler for '{}'.", getThing().getUID()); + + Configuration config = getThing().getConfiguration(); + hostname = config.get(PROPERTY_NTP_SERVER_HOST).toString(); + port = (BigDecimal) config.get(PROPERTY_NTP_SERVER_PORT); + refreshInterval = (BigDecimal) config.get(PROPERTY_REFRESH_INTERVAL); + refreshNtp = (BigDecimal) config.get(PROPERTY_REFRESH_NTP); + refreshNtpCount = 0; + + try { + Object timeZoneConfigValue = config.get(PROPERTY_TIMEZONE); + if (timeZoneConfigValue != null) { + timeZone = TimeZone.getTimeZone(timeZoneConfigValue.toString()); + } else { + timeZone = TimeZone.getDefault(); + logger.debug("{} using default TZ '{}', because configuration property '{}' is null.", + getThing().getUID(), timeZone, PROPERTY_TIMEZONE); + } + } catch (Exception e) { + timeZone = TimeZone.getDefault(); + logger.debug("{} using default TZ '{}' due to an occurred exception: ", getThing().getUID(), timeZone, + e); + } + + try { + Object localeStringConfigValue = config.get(PROPERTY_LOCALE); + if (localeStringConfigValue != null) { + locale = new Locale(localeStringConfigValue.toString()); + } else { + locale = localeProvider.getLocale(); + logger.debug("{} using default locale '{}', because configuration property '{}' is null.", + getThing().getUID(), locale, PROPERTY_LOCALE); + } + } catch (Exception e) { + locale = localeProvider.getLocale(); + logger.debug("{} using default locale '{}' due to an occurred exception: ", getThing().getUID(), locale, + e); + } + dateTimeChannelUID = new ChannelUID(getThing().getUID(), CHANNEL_DATE_TIME); + stringChannelUID = new ChannelUID(getThing().getUID(), CHANNEL_STRING); + try { + Channel stringChannel = getThing().getChannel(stringChannelUID.getId()); + if (stringChannel != null) { + Configuration cfg = stringChannel.getConfiguration(); + String dateTimeFormatString = cfg.get(PROPERTY_DATE_TIME_FORMAT).toString(); + if (!(dateTimeFormatString == null || dateTimeFormatString.isEmpty())) { + dateTimeFormat = DateTimeFormatter.ofPattern(dateTimeFormatString); + } else { + logger.debug("No format set in channel config for {}. Using default format.", stringChannelUID); + dateTimeFormat = DateTimeFormatter.ofPattern(DATE_PATTERN_WITH_TZ); + } + } else { + logger.debug("Missing channel: '{}'", stringChannelUID.getId()); + } + } catch (RuntimeException ex) { + logger.debug("No channel config or invalid format for {}. Using default format. ({})", stringChannelUID, + ex.getMessage()); + dateTimeFormat = DateTimeFormatter.ofPattern(DATE_PATTERN_WITH_TZ); + } + SDF.setTimeZone(timeZone); + dateTimeFormat.withZone(timeZone.toZoneId()); + + logger.debug( + "Initialized NTP handler '{}' with configuration: host '{}', refresh interval {}, timezone {}, locale {}.", + getThing().getUID(), hostname, refreshInterval, timeZone, locale); + startAutomaticRefresh(); + } catch (Exception ex) { + logger.error("Error occurred while initializing NTP handler: {}", ex.getMessage(), ex); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + "@text/offline.conf-error-init-handler"); + } + } + + @Override + public void dispose() { + refreshJob.cancel(true); + super.dispose(); + } + + private void startAutomaticRefresh() { + refreshJob = scheduler.scheduleWithFixedDelay(() -> { + try { + refreshTimeDate(); + } catch (Exception e) { + logger.debug("Exception occurred during refresh: {}", e.getMessage(), e); + } + }, 0, refreshInterval.intValue(), TimeUnit.SECONDS); + } + + private synchronized void refreshTimeDate() { + if (timeZone != null && locale != null) { + long networkTimeInMillis; + if (refreshNtpCount <= 0) { + networkTimeInMillis = getTime(hostname); + timeOffset = networkTimeInMillis - System.currentTimeMillis(); + logger.debug("{} delta system time: {}", getThing().getUID(), timeOffset); + refreshNtpCount = refreshNtp.intValue(); + } else { + networkTimeInMillis = System.currentTimeMillis() + timeOffset; + refreshNtpCount--; + } + + ZonedDateTime zoned = ZonedDateTime.ofInstant(Instant.ofEpochMilli(networkTimeInMillis), + timeZone.toZoneId()); + updateState(dateTimeChannelUID, new DateTimeType(zoned)); + updateState(stringChannelUID, new StringType(dateTimeFormat.format(zoned))); + } else { + logger.debug("Not refreshing, since we do not seem to be initialized yet"); + } + } + + /** + * Queries the given timeserver hostname and returns the time + * in milliseconds. + * + * @param hostname the timeserver to query + * @return the time in milliseconds or the current time of the system if an + * error occurs. + */ + public long getTime(String hostname) { + try { + NTPUDPClient timeClient = new NTPUDPClient(); + timeClient.setDefaultTimeout(NTP_TIMEOUT); + InetAddress inetAddress = InetAddress.getByName(hostname); + TimeInfo timeInfo = timeClient.getTime(inetAddress, port.intValue()); + timeInfo.computeDetails(); + + long serverMillis = timeInfo.getReturnTime() + timeInfo.getOffset(); + logger.debug("{} Got time update from host '{}': {}.", getThing().getUID(), hostname, + SDF.format(new Date(serverMillis))); + updateStatus(ThingStatus.ONLINE, ThingStatusDetail.NONE); + return serverMillis; + } catch (UnknownHostException uhe) { + logger.debug( + "{} The given hostname '{}' of the timeserver is unknown -> returning current sytem time instead. ({})", + getThing().getUID(), hostname, uhe.getMessage()); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "@text/offline.comm-error-unknown-host [\"" + (hostname == null ? "null" : hostname) + "\"]"); + } catch (IOException ioe) { + logger.debug( + "{} Couldn't establish network connection to host '{}' -> returning current sytem time instead. ({})", + getThing().getUID(), hostname, ioe.getMessage()); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "@text/offline.comm-error-connection [\"" + (hostname == null ? "null" : hostname) + "\"]"); + } + + return System.currentTimeMillis(); + } + + @Override + public void channelLinked(ChannelUID channelUID) { + refreshTimeDate(); + } +} diff --git a/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/binding/binding.xml index 990db7d38302d..b21b695a9cd81 100644 --- a/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/binding/binding.xml @@ -1,9 +1,10 @@ - - - - NTP Binding - The NTP Binding polls the configured timeserver and post the current date and time. - Marcel Verpaalen - - + + + + NTP Binding + The NTP Binding polls the configured timeserver and post the current date and time. + Marcel Verpaalen + + diff --git a/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/thing/thing-types.xml index 7ab3b456380d7..737df4afc15f0 100644 --- a/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.ntp/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,71 +1,70 @@ - - - - - - An NTP server that provides current date and time - - - - - - - network-address - - The NTP server hostname. - 0.pool.ntp.org - - - - - Interval that new time updates are posted to the event bus in seconds. - - 60 - - - - - Number of updates before querying the NTP server. - - 30 - - - - The port that the NTP server could use. - 123 - - - - The configured timezone. - - - - The configured locale. - - - - - DateTime - - NTP refreshed date & time - Date - - - - String - - NTP refreshed date & time - Date - - - - - Formattting of the date & time. - yyyy-MM-dd HH:mm:ss z - - - - + + + + + + An NTP server that provides current date and time + + + + + + + network-address + + The NTP server hostname. + 0.pool.ntp.org + + + + + Interval that new time updates are posted to the event bus in seconds. + + 60 + + + + + Number of updates before querying the NTP server. + + 30 + + + + The port that the NTP server could use. + 123 + + + + The configured timezone. + + + + The configured locale. + + + + + DateTime + + NTP refreshed date & time + Date + + + + String + + NTP refreshed date & time + Date + + + + + Formattting of the date & time. + yyyy-MM-dd HH:mm:ss z + + + + diff --git a/bundles/org.openhab.binding.nuki/pom.xml b/bundles/org.openhab.binding.nuki/pom.xml index 177981db2ae41..b65c400fd965a 100644 --- a/bundles/org.openhab.binding.nuki/pom.xml +++ b/bundles/org.openhab.binding.nuki/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.nuki/src/main/feature/feature.xml b/bundles/org.openhab.binding.nuki/src/main/feature/feature.xml index a62823a42c65f..0d3ab61bc9f85 100644 --- a/bundles/org.openhab.binding.nuki/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.nuki/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - mvn:org.openhab.addons.bundles/org.openhab.binding.nuki/${project.version} - + + openhab-runtime-base + openhab-transport-http + mvn:org.openhab.addons.bundles/org.openhab.binding.nuki/${project.version} + diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiBindingConstants.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiBindingConstants.java index 4ce675eca5e92..df94bbb2b84f1 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiBindingConstants.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiBindingConstants.java @@ -86,5 +86,4 @@ public class NukiBindingConstants { // Nuki Binding additional Lock States public static final int LOCK_STATES_UNLOCKING_LOCKNGO = 1002; public static final int LOCK_STATES_UNLATCHING_LOCKNGO = 1007; - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiHandlerFactory.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiHandlerFactory.java index 204f3e27401cb..baf5acdbba440 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiHandlerFactory.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/NukiHandlerFactory.java @@ -139,5 +139,4 @@ private String createCallbackUrl() { logger.trace("callbackUrl[{}]", callbackUrl); return callbackUrl; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/converter/LockActionConverter.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/converter/LockActionConverter.java index 4c9e31849676a..5e6093cd3fcd0 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/converter/LockActionConverter.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/converter/LockActionConverter.java @@ -55,5 +55,4 @@ public static int getLockStateFor(int lockAction) { } return 0; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackAddResponse.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackAddResponse.java index 02b22b841d3bd..773b57aa06c07 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackAddResponse.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackAddResponse.java @@ -34,5 +34,4 @@ public BridgeCallbackAddResponse(int status, String message, BridgeApiCallbackAd public BridgeCallbackAddResponse(NukiBaseResponse nukiBaseResponse) { super(nukiBaseResponse.getStatus(), nukiBaseResponse.getMessage()); } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackListResponse.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackListResponse.java index 61abedf070611..fa46e3f34351f 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackListResponse.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackListResponse.java @@ -45,5 +45,4 @@ public List getCallbacks() { public void setCallbacks(List callbacks) { this.callbacks = callbacks; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackRemoveResponse.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackRemoveResponse.java index a6cd8b26483e4..871ec43b945a5 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackRemoveResponse.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeCallbackRemoveResponse.java @@ -35,5 +35,4 @@ public BridgeCallbackRemoveResponse(int status, String message, public BridgeCallbackRemoveResponse(NukiBaseResponse nukiBaseResponse) { super(nukiBaseResponse.getStatus(), nukiBaseResponse.getMessage()); } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeInfoResponse.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeInfoResponse.java index aff974e7a26fa..24b10e7aa4800 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeInfoResponse.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeInfoResponse.java @@ -124,5 +124,4 @@ public List getScanResults() { public void setScanResults(List scanResults) { this.scanResults = scanResults; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockActionResponse.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockActionResponse.java index 56842afc40f51..b728ad9238719 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockActionResponse.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockActionResponse.java @@ -42,5 +42,4 @@ public boolean isBatteryCritical() { public void setBatteryCritical(boolean batteryCritical) { this.batteryCritical = batteryCritical; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockStateResponse.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockStateResponse.java index 922e5dfa31ba7..0c8ef5aa1152b 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockStateResponse.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/BridgeLockStateResponse.java @@ -62,5 +62,4 @@ public boolean isBatteryCritical() { public void setBatteryCritical(boolean batteryCritical) { this.batteryCritical = batteryCritical; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiApiServlet.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiApiServlet.java index 246e30998596a..b42e59b60ad96 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiApiServlet.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiApiServlet.java @@ -210,5 +210,4 @@ private void setHeaders(HttpServletResponse response) { response.setCharacterEncoding(CHARSET); response.setContentType(APPLICATION_JSON); } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiHttpClient.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiHttpClient.java index f84c332d1a1cf..04018826c3794 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiHttpClient.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dataexchange/NukiHttpClient.java @@ -261,5 +261,4 @@ public BridgeCallbackRemoveResponse getBridgeCallbackRemove(int id) { return new BridgeCallbackRemoveResponse(handleException(e)); } } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackAddDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackAddDto.java index d6e15683f19a1..a556a951300d8 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackAddDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackAddDto.java @@ -38,5 +38,4 @@ public String getMessage() { public void setMessage(String message) { this.message = message; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListCallbackDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListCallbackDto.java index 72c808841cca5..08a76437ad5b1 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListCallbackDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListCallbackDto.java @@ -38,5 +38,4 @@ public String getUrl() { public void setUrl(String url) { this.url = url; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListDto.java index 8b9fbd4685e5f..c19ea2759e93f 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackListDto.java @@ -31,5 +31,4 @@ public List getCallbacks() { public void setCallbacks(List callbacks) { this.callbacks = callbacks; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackRemoveDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackRemoveDto.java index e7367b63a051f..26e49d3497ff9 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackRemoveDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiCallbackRemoveDto.java @@ -38,5 +38,4 @@ public String getMessage() { public void setMessage(String message) { this.message = message; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoDto.java index 592397622124b..861ba25b465c0 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoDto.java @@ -84,5 +84,4 @@ public List getScanResults() { public void setScanResults(List scanResults) { this.scanResults = scanResults; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoIdDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoIdDto.java index 219e18c58267a..274f67c745139 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoIdDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoIdDto.java @@ -38,5 +38,4 @@ public int getServerId() { public void setServerId(int serverId) { this.serverId = serverId; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoScanResultDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoScanResultDto.java index af493d17d8bfd..ff9f30a67b4ad 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoScanResultDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoScanResultDto.java @@ -57,5 +57,4 @@ public boolean isPaired() { public void setPaired(boolean paired) { this.paired = paired; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoVersionDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoVersionDto.java index 43343ba1004f1..372c391c6384e 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoVersionDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiInfoVersionDto.java @@ -39,5 +39,4 @@ public String getWifiFirmwareVersion() { public void setWifiFirmwareVersion(String wifiFirmwareVersion) { this.wifiFirmwareVersion = wifiFirmwareVersion; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockActionDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockActionDto.java index 93de49d2d6839..36cd1b352fb6f 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockActionDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockActionDto.java @@ -38,5 +38,4 @@ public boolean isBatteryCritical() { public void setBatteryCritical(boolean batteryCritical) { this.batteryCritical = batteryCritical; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateDto.java index 4e278f49d6d17..7bc4865516fc9 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateDto.java @@ -56,5 +56,4 @@ public boolean isSuccess() { public void setSuccess(boolean success) { this.success = success; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateRequestDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateRequestDto.java index faa3367e066c9..cbf7cd5b72466 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateRequestDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/BridgeApiLockStateRequestDto.java @@ -56,5 +56,4 @@ public boolean isBatteryCritical() { public void setBatteryCritical(boolean batteryCritical) { this.batteryCritical = batteryCritical; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/NukiHttpServerStatusResponseDto.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/NukiHttpServerStatusResponseDto.java index 640dd892f5d93..5a62b09641508 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/NukiHttpServerStatusResponseDto.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/dto/NukiHttpServerStatusResponseDto.java @@ -35,5 +35,4 @@ public String getStatus() { public void setStatus(String status) { this.status = status; } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiBridgeHandler.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiBridgeHandler.java index 644261fe8e381..b583eb6d10260 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiBridgeHandler.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiBridgeHandler.java @@ -191,5 +191,4 @@ private void manageNukiBridgeCallbacks() { } } } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiSmartLockHandler.java b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiSmartLockHandler.java index bf00780751ff6..d8f5e39704295 100644 --- a/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiSmartLockHandler.java +++ b/bundles/org.openhab.binding.nuki/src/main/java/org/openhab/binding/nuki/internal/handler/NukiSmartLockHandler.java @@ -275,5 +275,4 @@ public void handleApiServletUpdate(ChannelUID channelUID, State newState) { logger.trace("handleApiServletUpdate({}, {})", channelUID, newState); updateState(channelUID, newState); } - } diff --git a/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/binding/binding.xml index ba8c20b5a1a37..c5d51821f7871 100644 --- a/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/binding/binding.xml @@ -1,11 +1,11 @@ - + Nuki Binding - The Nuki Binding allows simple and fast integration of Nuki Smart Locks into OpenHAB. This binding needs the Nuki Smart Lock(s) to be paired via Bluetooth with a Nuki Bridge to function correctly. + The Nuki Binding allows simple and fast integration of Nuki Smart Locks into OpenHAB. This binding needs + the Nuki Smart Lock(s) to be paired via Bluetooth with a Nuki Bridge to function correctly. Markus Katter diff --git a/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/thing/thing-types.xml index 232859ee74283..e26905d90093b 100644 --- a/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.nuki/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,28 +1,32 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - This bridge represents a Nuki Bridge on your local network. Nuki Smart Locks have to be paired via Bluetooth with it. + This bridge represents a Nuki Bridge on your local network. Nuki Smart Locks have to be paired via + Bluetooth with it. network-address - The IP address of the Nuki Bridge. Look it up on your router. It is recommended to set a static IP address lease for the Nuki Bridge (and for your openHAB server too) on your router. + The IP address of the Nuki Bridge. Look it up on your router. It is recommended to set a static IP + address lease for the Nuki Bridge (and for your openHAB server too) on your router. - The Port which you configured during Initial Bridge setup (https://nuki.io/en/support/bridge/bridge-setup/initial-bridge-setup/). + The Port which you configured during Initial Bridge setup + (https://nuki.io/en/support/bridge/bridge-setup/initial-bridge-setup/). 8080 password - The API Token which you configured during Initial Bridge setup (https://nuki.io/en/support/bridge/bridge-setup/initial-bridge-setup/). + The API Token which you configured during Initial Bridge setup + (https://nuki.io/en/support/bridge/bridge-setup/initial-bridge-setup/). @@ -35,23 +39,25 @@ - + Nuki Smart Lock which is paired via Bluetooth to a Nuki Bridge. - - - + + + - The 8-digit hexadecimal string that identifies the Nuki Smart Lock. Look it up on the sticker on the back of the Nuki Smart Lock (remove mounting plate). + The 8-digit hexadecimal string that identifies the Nuki Smart Lock. Look it up on the sticker on the + back of the Nuki Smart Lock (remove mounting plate). - If switched to On (or set to true) the Nuki Smart Lock will unlock the door but then also automatically pull the latch of the door lock. Usually, if the door hinges are correctly adjusted, the door will then swing open. + If switched to On (or set to true) the Nuki Smart Lock will unlock the door but then also automatically + pull the latch of the door lock. Usually, if the door hinges are correctly adjusted, the door will then swing open. false @@ -61,7 +67,8 @@ Switch - Use this channel with a Switch Item to unlock and lock the door. Configure "Unlatch" to true if your Nuki Smart Lock is mounted on a door lock with a knob on the outside. + Use this channel with a Switch Item to unlock and lock the door. Configure "Unlatch" to true if your Nuki + Smart Lock is mounted on a door lock with a knob on the outside. Door @@ -74,7 +81,8 @@ Number - Use this channel if you want to execute other supported lock actions or to display the current lock state. + Use this channel if you want to execute other supported lock actions or to display the current lock + state. Door diff --git a/bundles/org.openhab.binding.oceanic/pom.xml b/bundles/org.openhab.binding.oceanic/pom.xml index 7d5a345137336..e48cd9dce526d 100644 --- a/bundles/org.openhab.binding.oceanic/pom.xml +++ b/bundles/org.openhab.binding.oceanic/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.oceanic/src/main/feature/feature.xml b/bundles/org.openhab.binding.oceanic/src/main/feature/feature.xml index a67bfb5216eb6..4e51c25d6e34b 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.oceanic/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.oceanic/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.oceanic/${project.version} + diff --git a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/NetworkOceanicBindingConfiguration.java b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/NetworkOceanicBindingConfiguration.java index 0e17bfe95b0fd..be0347ef7bc8a 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/NetworkOceanicBindingConfiguration.java +++ b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/NetworkOceanicBindingConfiguration.java @@ -20,5 +20,4 @@ public class NetworkOceanicBindingConfiguration { public String ipAddress; public Integer portNumber; public Integer interval; - } diff --git a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/OceanicBindingConstants.java b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/OceanicBindingConstants.java index 3289652380b1f..4922b4d0c6c3a 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/OceanicBindingConstants.java +++ b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/OceanicBindingConstants.java @@ -291,7 +291,6 @@ public static ValueSelectorType getValueSelectorType(String valueSelectorText) t } throw new IllegalArgumentException("Not valid value selector"); - } public String convertValue(String value) { @@ -302,7 +301,5 @@ public enum ValueSelectorType { GET, SET } - } - } diff --git a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/SerialOceanicBindingConfiguration.java b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/SerialOceanicBindingConfiguration.java index 64a0b2bd04291..7b76bd36641a3 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/SerialOceanicBindingConfiguration.java +++ b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/SerialOceanicBindingConfiguration.java @@ -19,5 +19,4 @@ public class SerialOceanicBindingConfiguration { public String port; public Integer interval; - } diff --git a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/handler/OceanicThingHandler.java b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/handler/OceanicThingHandler.java index 382fc3aee0ce5..d897b0d5d3919 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/handler/OceanicThingHandler.java +++ b/bundles/org.openhab.binding.oceanic/src/main/java/org/openhab/binding/oceanic/internal/handler/OceanicThingHandler.java @@ -166,5 +166,4 @@ private State createStateForType(OceanicChannelSelector selector, String value) } protected abstract String requestResponse(String commandAsString); - } diff --git a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/binding/binding.xml index fce26fd72a228..5872ea89007c8 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - openHAB Oceanic Binding diff --git a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/channel-types.xml index 192077b1343b0..b64d32099fe6f 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/channel-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/network.xml b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/network.xml index 7e7603bab94a2..9fc10fc31e81a 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/network.xml +++ b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/network.xml @@ -1,5 +1,6 @@ - @@ -8,46 +9,46 @@ Oceanic Water Softener connected through a network proxy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/serial.xml b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/serial.xml index 70fb0e2ea4ec4..08f6270cee7a2 100644 --- a/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/serial.xml +++ b/bundles/org.openhab.binding.oceanic/src/main/resources/ESH-INF/thing/serial.xml @@ -1,5 +1,6 @@ - @@ -8,46 +9,46 @@ Oceanic Water Softener connected through a serial port - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.omnikinverter/pom.xml b/bundles/org.openhab.binding.omnikinverter/pom.xml index e5c1017ddd4d2..e0cc64e52ac1f 100644 --- a/bundles/org.openhab.binding.omnikinverter/pom.xml +++ b/bundles/org.openhab.binding.omnikinverter/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.omnikinverter/src/main/feature/feature.xml b/bundles/org.openhab.binding.omnikinverter/src/main/feature/feature.xml index 0a7f08569c43b..eea18accccff0 100644 --- a/bundles/org.openhab.binding.omnikinverter/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.omnikinverter/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.omnikinverter/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.omnikinverter/${project.version} + diff --git a/bundles/org.openhab.binding.omnikinverter/src/main/java/org/openhab/binding/omnikinverter/internal/OmnikInverterBindingConstants.java b/bundles/org.openhab.binding.omnikinverter/src/main/java/org/openhab/binding/omnikinverter/internal/OmnikInverterBindingConstants.java index e84a73105a7d5..62c19e65f498a 100644 --- a/bundles/org.openhab.binding.omnikinverter/src/main/java/org/openhab/binding/omnikinverter/internal/OmnikInverterBindingConstants.java +++ b/bundles/org.openhab.binding.omnikinverter/src/main/java/org/openhab/binding/omnikinverter/internal/OmnikInverterBindingConstants.java @@ -35,5 +35,4 @@ public class OmnikInverterBindingConstants { public static final String CHANNEL_ENERGY_TODAY = "energyToday"; public static final String CHANNEL_ENERGY_TOTAL = "energyTotal"; - } diff --git a/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/binding/binding.xml index 0ea7ca89e8ecd..420df3f3d7b42 100644 --- a/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/binding/binding.xml @@ -4,6 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> OmnikInverter Binding - This is the binding for the Omnik solar grid inverters. The integration is based on the undocumented API, which is reverse engineered at https://github.com/Woutrrr/Omnik-Data-Logger. As such, the known supported inverters are known to work with inverters with wifi bridge which start with the serial number '602' and '606'. + This is the binding for the Omnik solar grid inverters. The integration is based on the undocumented API, + which is reverse engineered at https://github.com/Woutrrr/Omnik-Data-Logger. As such, the known supported inverters + are known to work with inverters with wifi bridge which start with the serial number '602' and '606'. Hans van den Bogert diff --git a/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/thing/thing-types.xml index 03f325fcab8ad..12ec7a4de08bf 100644 --- a/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.omnikinverter/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,9 +9,9 @@ Thing for OmnikInverter Binding - - - + + + @@ -37,19 +37,19 @@ Number:Power The instantaneous power generation - + Number:Energy The amount of energy generated today - + Number:Energy The amount of generated energy in total - + diff --git a/bundles/org.openhab.binding.omnikinverter/src/test/java/org/openhab/binding/omnikinverter/internal/test/OmnikInverterMessageTest.java b/bundles/org.openhab.binding.omnikinverter/src/test/java/org/openhab/binding/omnikinverter/internal/test/OmnikInverterMessageTest.java index 4e0a58d06c5d9..7adc85ae7c6b0 100644 --- a/bundles/org.openhab.binding.omnikinverter/src/test/java/org/openhab/binding/omnikinverter/internal/test/OmnikInverterMessageTest.java +++ b/bundles/org.openhab.binding.omnikinverter/src/test/java/org/openhab/binding/omnikinverter/internal/test/OmnikInverterMessageTest.java @@ -49,5 +49,4 @@ public void testGetTotalEnergy() { public void testGetEnergyToday() { assertEquals(11.13, message.getEnergyToday(), 0.01); } - } diff --git a/bundles/org.openhab.binding.onebusaway/pom.xml b/bundles/org.openhab.binding.onebusaway/pom.xml index 26c988352b0f9..71582d57fa4b8 100644 --- a/bundles/org.openhab.binding.onebusaway/pom.xml +++ b/bundles/org.openhab.binding.onebusaway/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.onebusaway/src/main/feature/feature.xml b/bundles/org.openhab.binding.onebusaway/src/main/feature/feature.xml index 42e41222c7d22..86770fda6e989 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.onebusaway/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.onebusaway/${project.version} + diff --git a/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/config/ApiConfiguration.java b/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/config/ApiConfiguration.java index 8022ce31ad028..0500ea4f4dd66 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/config/ApiConfiguration.java +++ b/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/config/ApiConfiguration.java @@ -58,5 +58,4 @@ public String toString() { return new ToStringBuilder(this).append(API_CONFIG_API_KEY, this.getApiKey()) .append(API_CONFIG_API_SERVER, this.getApiServer()).toString(); } - } diff --git a/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ApiHandler.java b/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ApiHandler.java index 63ba83acec92d..1a58e7ede6a44 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ApiHandler.java +++ b/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ApiHandler.java @@ -77,5 +77,4 @@ private ApiConfiguration loadAndCheckConfiguration() { } return config; } - } diff --git a/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ObaStopArrivalResponse.java b/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ObaStopArrivalResponse.java index dc7398935b844..5ecafa432a4d3 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ObaStopArrivalResponse.java +++ b/bundles/org.openhab.binding.onebusaway/src/main/java/org/openhab/binding/onebusaway/internal/handler/ObaStopArrivalResponse.java @@ -55,6 +55,5 @@ public int compareTo(ArrivalAndDeparture other) { return (int) ((predicted ? predictedArrivalTime : scheduledArrivalTime) - (other.predicted ? other.predictedArrivalTime : other.scheduledArrivalTime)); } - } } diff --git a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/binding/binding.xml index 23d2a3c5758fa..aaa35b41608d9 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + OneBusAway Binding This is the binding for OneBusAway, an open system to provide transit data. diff --git a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/config/config.xml index 6b8fe996151c5..677fc75508ee1 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/api.xml b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/api.xml index 068e75334f6d0..dc5e413bf3d3d 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/api.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/api.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/channels.xml index 2771503a5ab3f..7dbe3c75849e3 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/channels.xml @@ -1,23 +1,23 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> DateTime The arrival time - - + + DateTime The departure time - - + + @@ -30,13 +30,13 @@
    - + DateTime The last time information was updated - + diff --git a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/route.xml b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/route.xml index d0f4fc90ea694..37b31fe4c1c87 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/route.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/route.xml @@ -1,21 +1,21 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + Provides data about a route at a specific stop. - - - - + + + + diff --git a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/stop.xml b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/stop.xml index 8a9508da4ab67..fbdf3fb4887bf 100644 --- a/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/stop.xml +++ b/bundles/org.openhab.binding.onebusaway/src/main/resources/ESH-INF/thing/stop.xml @@ -1,12 +1,12 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + Provides data about different routes at a specific stop. diff --git a/bundles/org.openhab.binding.onewire/pom.xml b/bundles/org.openhab.binding.onewire/pom.xml index 028b87c13e355..1ba9d3272311c 100644 --- a/bundles/org.openhab.binding.onewire/pom.xml +++ b/bundles/org.openhab.binding.onewire/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/OwPageBuffer.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/OwPageBuffer.java index 7bec7ae0e8899..2e1c919955a6c 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/OwPageBuffer.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/OwPageBuffer.java @@ -144,5 +144,4 @@ public String toString() { s.append(new String("]")); return s.toString(); } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractDigitalOwDevice.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractDigitalOwDevice.java index 97c2dccf7ed25..014a3403d24b5 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractDigitalOwDevice.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractDigitalOwDevice.java @@ -151,5 +151,4 @@ public boolean writeChannel(OwserverBridgeHandler bridgeHandler, Integer ioChann throw new IllegalArgumentException("channel number out of range"); } } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractOwDevice.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractOwDevice.java index b9f31b6244957..a846b455433db 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractOwDevice.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/AbstractOwDevice.java @@ -137,5 +137,4 @@ public OwSensorType getSensorType(OwserverBridgeHandler bridgeHandler) throws Ow } return sensorType; } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2405.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2405.java index 20e376e92ac47..4e9b1378471ef 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2405.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2405.java @@ -42,5 +42,4 @@ public void configureChannels() throws OwException { super.configureChannels(); } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2406_DS2413.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2406_DS2413.java index ea818ddb3d0ab..ea2d745a09537 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2406_DS2413.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2406_DS2413.java @@ -43,5 +43,4 @@ public void configureChannels() throws OwException { super.configureChannels(); } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2438.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2438.java index dde9bed80f789..65dee6479f2c4 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2438.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/device/DS2438.java @@ -218,5 +218,4 @@ public void setLightSensorType(LightSensorType lightSensorType) { public void setCurrentSensorType(CurrentSensorType currentSensorType) { this.currentSensorType = currentSensorType; } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/discovery/OwDiscoveryService.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/discovery/OwDiscoveryService.java index a5520eb8f9e26..a49f9530b97f2 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/discovery/OwDiscoveryService.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/discovery/OwDiscoveryService.java @@ -137,5 +137,4 @@ protected synchronized void stopScan() { public void deactivate() { removeOlderResults(new Date().getTime()); } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/handler/BasicMultisensorThingHandler.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/handler/BasicMultisensorThingHandler.java index ef9f82f8096f8..4de533f4c18a0 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/handler/BasicMultisensorThingHandler.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/handler/BasicMultisensorThingHandler.java @@ -117,5 +117,4 @@ public void updateSensorProperties(OwserverBridgeHandler bridgeHandler) throws O updateProperties(properties); } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverConnection.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverConnection.java index 4c0097abe18c0..ae84ead82b761 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverConnection.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverConnection.java @@ -452,5 +452,4 @@ private OwserverPacket read(boolean noTimeoutException) throws OwException { return returnPacket; } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverControlFlag.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverControlFlag.java index 0048e43c9703e..cff23e29297b2 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverControlFlag.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverControlFlag.java @@ -54,5 +54,4 @@ public int getValue() { public boolean isSet(int controlFlags) { return (this.getValue() & controlFlags) == this.getValue(); } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverPacket.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverPacket.java index 128b357bc2c30..851db93db7224 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverPacket.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverPacket.java @@ -342,7 +342,5 @@ public String toString() { return String.format("%s, size %d, controlFlags 0x%08x, payload '%s'", prefix, HEADER_SIZE + payloadLength, controlFlags, getPayloadString().replaceAll("\\p{C}", "?")); - } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverTemperatureScale.java b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverTemperatureScale.java index 93c528cc0b885..0a0ca352cc4e9 100644 --- a/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverTemperatureScale.java +++ b/bundles/org.openhab.binding.onewire/src/main/java/org/openhab/binding/onewire/internal/owserver/OwserverTemperatureScale.java @@ -73,5 +73,4 @@ public static OwserverTemperatureScale getFlag(int flags) { } return CENTIGRADE; } - } diff --git a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bae09x.xml b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bae09x.xml index 3f226e91f0238..38973babbbab5 100644 --- a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bae09x.xml +++ b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bae09x.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + 1-wire multisensor (BAE0910-based) @@ -150,7 +150,7 @@ Number:ElectricPotential Analog input (ADC) - + @@ -163,6 +163,6 @@ Number - + diff --git a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/basic.xml b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/basic.xml index 64dc53527e972..6e777f208a953 100644 --- a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/basic.xml +++ b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/basic.xml @@ -5,9 +5,9 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + - + diff --git a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bridge.xml index 6e888da8de448..0c0f85075e227 100644 --- a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/bridge.xml @@ -25,7 +25,7 @@ String Allows direct access to the OWFS - + @@ -45,7 +45,7 @@ Number Allows direct access to the OWFS - + diff --git a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/common.xml b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/common.xml index 00c517ba9a3b3..54c01c5abd67a 100644 --- a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/common.xml +++ b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/common.xml @@ -8,20 +8,20 @@ Switch ON if device present on OneWire bus - + Number:Temperature temperature value of this sensor - + Number:Temperature temperature value of this sensor - + @@ -35,7 +35,7 @@ Number:Temperature temperature value of this sensor - + @@ -62,20 +62,20 @@ Number:Temperature dewpoint (calculated from temperature and relative humidity) - + Number:Dimensionless relative humidity (0-100%) - + Number:Dimensionless relative humidity (0-100%) - + @@ -96,35 +96,35 @@ Number:Density absolute humidity (calculated from temperature and relative humidity) - + Number:ElectricPotential The voltage measured by the sensor - + Number:ElectricPotential The sensor's supply voltage - + Number:Illuminance Ambient light - + Number:ElectricCurrent The current measured by the sensor - + @@ -156,13 +156,13 @@ Number:Pressure The pressure measured by the sensor - + Number A single counter (reset on power loss) - + diff --git a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/multisensor.xml b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/multisensor.xml index 7ca785683b996..3af91defdcf0e 100644 --- a/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/multisensor.xml +++ b/bundles/org.openhab.binding.onewire/src/main/resources/ESH-INF/thing/multisensor.xml @@ -5,15 +5,15 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + A 1-wire multisensor (DS1923/DS2438-based) - + - + 1-wire multisensor (DS2438-based) @@ -44,7 +44,7 @@ - + 1-wire multisensor (DS2438-based) @@ -82,7 +82,7 @@ - + A 1-wire multisensor (EDS00xx-based) diff --git a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/OwserverDeviceParameterTest.java b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/OwserverDeviceParameterTest.java index 1eb0664c7d089..9dfe7de596c57 100644 --- a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/OwserverDeviceParameterTest.java +++ b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/OwserverDeviceParameterTest.java @@ -57,7 +57,5 @@ public void withPrefixTest() { owserverDeviceParameter = new OwserverDeviceParameter("uncached/", "/humidity"); assertEquals("/uncached/1F.0123456789ab/main/00.1234567890ab/humidity", owserverDeviceParameter.getPath(sensorId)); - } - } diff --git a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/SensorIdTest.java b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/SensorIdTest.java index bc6148a4d9751..50fc6eb425516 100644 --- a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/SensorIdTest.java +++ b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/SensorIdTest.java @@ -74,5 +74,4 @@ public void equalsTest() { assertTrue(sensorId1.equals(sensorId2)); assertFalse(sensorId1.equals(sensorId3)); } - } diff --git a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/UtilTest.java b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/UtilTest.java index 91df99cea6974..8e7601d16dda0 100644 --- a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/UtilTest.java +++ b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/UtilTest.java @@ -40,7 +40,6 @@ public void convertAbsoluteHumidityTest() { QuantityType absoluteHumidity = (QuantityType) Util.calculateAbsoluteHumidity(temperature, relativeHumidity); assertEquals(12.93, absoluteHumidity.doubleValue(), 0.01); - } @Test diff --git a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/internal/OwserverBridgeHandlerTest.java b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/internal/OwserverBridgeHandlerTest.java index c16d11c8c1ed7..b1715089fc4ac 100644 --- a/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/internal/OwserverBridgeHandlerTest.java +++ b/bundles/org.openhab.binding.onewire/src/test/java/org/openhab/binding/onewire/internal/OwserverBridgeHandlerTest.java @@ -168,5 +168,4 @@ public void testInitializationReportsNotRefreshableOnFailedConnection() { waitForAssert(() -> assertFalse(bridgeHandler.isRefreshable())); } - } diff --git a/bundles/org.openhab.binding.onewiregpio/pom.xml b/bundles/org.openhab.binding.onewiregpio/pom.xml index b3f8495a743c4..4e0b1efff2c23 100644 --- a/bundles/org.openhab.binding.onewiregpio/pom.xml +++ b/bundles/org.openhab.binding.onewiregpio/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.onewiregpio/src/main/feature/feature.xml b/bundles/org.openhab.binding.onewiregpio/src/main/feature/feature.xml index 72bbd6c917d32..c572505c1838d 100644 --- a/bundles/org.openhab.binding.onewiregpio/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.onewiregpio/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.onewiregpio/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.onewiregpio/${project.version} + diff --git a/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/OneWireGPIOBindingConstants.java b/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/OneWireGPIOBindingConstants.java index ae76eb490815b..a78f5145ff7c4 100644 --- a/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/OneWireGPIOBindingConstants.java +++ b/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/OneWireGPIOBindingConstants.java @@ -38,5 +38,4 @@ public class OneWireGPIOBindingConstants { public static final int MAX_PRECISION_VALUE = 3; public static final String FILE_TEMP_MARKER = "t="; - } diff --git a/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/handler/OneWireGPIOHandler.java b/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/handler/OneWireGPIOHandler.java index 85bdf7cb7a250..c387d8d7fa4cc 100644 --- a/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/handler/OneWireGPIOHandler.java +++ b/bundles/org.openhab.binding.onewiregpio/src/main/java/org/openhab/binding/onewiregpio/internal/handler/OneWireGPIOHandler.java @@ -173,7 +173,6 @@ private BigDecimal readSensorTemperature(String gpioFile) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Error reading GPIO bus file."); return null; } - } private BigDecimal calculateValue(Integer intTemp) { diff --git a/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/binding/binding.xml index 8b0639b6d200d..2eab172daf09d 100644 --- a/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - OneWireGPIO Binding Use GPIO in various devices like RaspberryPi to communicate the OneWire protocol diff --git a/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/thing/thing-types.xml index cde2988b4008b..2f4278b99dbe9 100644 --- a/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.onewiregpio/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,7 +9,7 @@ OneWire GPIO Temperature sensor - + @@ -36,7 +37,7 @@ Number:Temperature Indicates the temperature read from one wire gpio sensor - + diff --git a/bundles/org.openhab.binding.onkyo/pom.xml b/bundles/org.openhab.binding.onkyo/pom.xml index 0afe3d8321d06..fa4c4996c7ffa 100644 --- a/bundles/org.openhab.binding.onkyo/pom.xml +++ b/bundles/org.openhab.binding.onkyo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.onkyo/src/main/feature/feature.xml b/bundles/org.openhab.binding.onkyo/src/main/feature/feature.xml index 3d6bda88646f1..270b51c09222b 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.onkyo/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.onkyo/${project.version} + diff --git a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoBindingConstants.java b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoBindingConstants.java index 18b03b08b9b10..cc781866b02ac 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoBindingConstants.java +++ b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoBindingConstants.java @@ -92,5 +92,4 @@ public class OnkyoBindingConstants { // Used for Discovery service public static final String MANUFACTURER = "ONKYO"; public static final String UPNP_DEVICE_TYPE = "MediaRenderer"; - } diff --git a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoModel.java b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoModel.java index 3605c57c54e86..ae3a2cd80571e 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoModel.java +++ b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoModel.java @@ -63,5 +63,4 @@ private OnkyoModel(String id) { public String getId() { return id; } - } diff --git a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoStateDescriptionProvider.java b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoStateDescriptionProvider.java index 07330cc96de04..ce33774e0063e 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoStateDescriptionProvider.java +++ b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/OnkyoStateDescriptionProvider.java @@ -52,7 +52,8 @@ public void setStateOptions(ChannelUID channelUID, List options) { return null; } - StateDescriptionFragmentBuilder builder = (original == null) ? StateDescriptionFragmentBuilder.create() : StateDescriptionFragmentBuilder.create(original); + StateDescriptionFragmentBuilder builder = (original == null) ? StateDescriptionFragmentBuilder.create() + : StateDescriptionFragmentBuilder.create(original); return builder.withOptions(options).build().toStateDescription(); } diff --git a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/discovery/OnkyoUpnpDiscoveryParticipant.java b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/discovery/OnkyoUpnpDiscoveryParticipant.java index aff8e8d8e08f5..b46d555324699 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/discovery/OnkyoUpnpDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/discovery/OnkyoUpnpDiscoveryParticipant.java @@ -146,5 +146,4 @@ private boolean isSupportedDeviceModel(final @Nullable String deviceModel) { return StringUtils.isNotBlank(deviceModel) && Arrays.stream(OnkyoModel.values()) .anyMatch(model -> StringUtils.startsWithIgnoreCase(deviceModel, model.getId())); } - } diff --git a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/eiscp/EiscpException.java b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/eiscp/EiscpException.java index 3ca9b6f3e7aed..f588cf826153d 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/eiscp/EiscpException.java +++ b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/eiscp/EiscpException.java @@ -36,5 +36,4 @@ public EiscpException(String message, Throwable cause) { public EiscpException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/handler/OnkyoHandler.java b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/handler/OnkyoHandler.java index f908625b627bd..7608eeb44f149 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/handler/OnkyoHandler.java +++ b/bundles/org.openhab.binding.onkyo/src/main/java/org/openhab/binding/onkyo/internal/handler/OnkyoHandler.java @@ -90,7 +90,7 @@ public class OnkyoHandler extends UpnpAudioSinkHandler implements OnkyoEventList private State volumeLevelZone2 = UnDefType.UNDEF; private State volumeLevelZone3 = UnDefType.UNDEF; private State lastPowerState = OnOffType.OFF; - + private final OnkyoStateDescriptionProvider stateDescriptionProvider; private final OnkyoAlbumArt onkyoAlbumArt = new OnkyoAlbumArt(); @@ -509,7 +509,6 @@ private void processInfo(String infoXML) { } catch (ParserConfigurationException | SAXException | IOException e) { logger.debug("Error occured during Info XML parsing.", e); } - } @Override @@ -620,7 +619,6 @@ private void updateAlbumArt(String data) { logger.debug("Not supported album art URL type: {}", data.substring(0, 2)); updateState(CHANNEL_ALBUM_ART_URL, UnDefType.UNDEF); } - } private void updateNetTitle(String data) { @@ -635,7 +633,6 @@ private void updateNetTitle(String data) { updateState(CHANNEL_NET_MENU_TITLE, new StringType(service.toString() + ((title.length() > 0) ? ": " + title : ""))); - } private void updateNetMenu(String data) { diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/binding/binding.xml index 72069e85296f2..35e690fcd23b4 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Onkyo Binding diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/config/config.xml index 45efc073ed5b6..0d76748e77b50 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/config/config.xml @@ -24,7 +24,9 @@ - The refresh interval in seconds for polling the receiver (0=disable). Binding receive automatically updates from + The refresh interval in seconds for polling the receiver (0=disable). Binding receive automatically + updates from + 0 true diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/channel-groups.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/channel-groups.xml index e9a5e55597852..03bb270fcd336 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/channel-groups.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/channel-groups.xml @@ -1,5 +1,6 @@ - @@ -8,53 +9,53 @@ - - - - + + + + - - - - + + + + - - - - + + + + - - - - - - - - - + + + + + + + + + - - + + Net/USB menu item at position 0 @@ -95,7 +96,7 @@ Net/USB menu item at position 9 - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/ht-rc560.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/ht-rc560.xml index fb74846def4ca..9d6b1cb46a6dd 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/ht-rc560.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/ht-rc560.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoAVR.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoAVR.xml index 711136acfba98..556de328f7c8e 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoAVR.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoAVR.xml @@ -1,5 +1,6 @@ - @@ -9,14 +10,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoUnsupported.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoUnsupported.xml index 412dcede5b220..5ef600e688a96 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoUnsupported.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/onkyoUnsupported.xml @@ -1,20 +1,22 @@ - - Network enabled Onkyo AV Receivers for models that are not officially supported. You may experience some odd behaviors. + Network enabled Onkyo AV Receivers for models that are not officially supported. You may experience some + odd behaviors. - - - + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr3007.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr3007.xml index 624190a219219..75c6437d8433b 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr3007.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr3007.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr414.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr414.xml index 480fc1a2fc210..3e6913fb71bf4 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr414.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr414.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr474.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr474.xml index cb1f5d2b57d6c..b6f1d1a6041ba 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr474.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr474.xml @@ -1,19 +1,20 @@ - - - - - - Network enabled Onkyo AV Receiver - - - - - - - - - - - + + + + + + Network enabled Onkyo AV Receiver + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr509.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr509.xml index b573c4ed36f4e..65aa6f66af8e0 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr509.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr509.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr515.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr515.xml index 5e42e4ea03fe4..088a172b8d218 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr515.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr515.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr525.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr525.xml index 1902e8b787642..45ff4bc2acfc1 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr525.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr525.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr535.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr535.xml index 1894b6d3cb0f4..bd29ac88e5a3f 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr535.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr535.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr545.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr545.xml index 271dad2781909..b50e0c88f0930 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr545.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr545.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr555.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr555.xml index 8071b87451b5d..2865b309c1fa2 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr555.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr555.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575.xml index f17ca0ff264a3..5ec7af800d5c6 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575e.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575e.xml index c24b3ef17964e..bfe837cf80bd3 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575e.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr575e.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr616.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr616.xml index 4ddca4779a923..fc808e1149eac 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr616.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr616.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr626.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr626.xml index 254551da3fa42..ef0a088397f65 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr626.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr626.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr636.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr636.xml index af65f7a1ca0a7..758ff2e58564f 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr636.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr636.xml @@ -1,20 +1,21 @@ - - - - - - Network enabled Onkyo AV Receiver - - - - - - - - - - - - + + + + + + Network enabled Onkyo AV Receiver + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr646.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr646.xml index aacc14266186b..13018e87c744d 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr646.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr646.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr656.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr656.xml index 9d05b5dad9ffa..b555ff761d008 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr656.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr656.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr676.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr676.xml index 9f36ee2c5784e..1732a70b24917 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr676.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr676.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr686.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr686.xml index 25208ddb0e74f..72b35531b1a2d 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr686.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr686.xml @@ -1,20 +1,21 @@ - - - - - - Network enabled Onkyo AV Receiver - - - - - - - - - - - - + + + + + + Network enabled Onkyo AV Receiver + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr708.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr708.xml index 11a4303a63ad5..26de65a9d12ee 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr708.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr708.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr717.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr717.xml index 89da3644832b6..a78297a4d01f4 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr717.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr717.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr727.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr727.xml index e51c3b6603a86..b3fe2ba56d721 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr727.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr727.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr737.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr737.xml index edbf382442e3e..3dfb36053227e 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr737.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr737.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr747.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr747.xml index 7561a9427ff34..375661dc86679 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr747.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr747.xml @@ -1,5 +1,6 @@ - @@ -8,13 +9,13 @@ Network enabled Onkyo AV Receiver - - - - + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr809.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr809.xml index 9204cb73b502b..f7ace621d525c 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr809.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr809.xml @@ -9,14 +9,14 @@ Network enabled Onkyo AV Receivers - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr818.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr818.xml index dcb1e889fe000..0e23b22485e60 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr818.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr818.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr828.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr828.xml index ef5323e048ab3..fc3317abc3b22 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr828.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr828.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr838.xml b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr838.xml index 77a56cbc1ec5e..b48fef1f68963 100644 --- a/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr838.xml +++ b/bundles/org.openhab.binding.onkyo/src/main/resources/ESH-INF/thing/tx-nr838.xml @@ -1,5 +1,6 @@ - @@ -8,14 +9,14 @@ Network enabled Onkyo AV Receiver - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.opengarage/pom.xml b/bundles/org.openhab.binding.opengarage/pom.xml index e6250ecb5fc1a..63eac69e584ba 100644 --- a/bundles/org.openhab.binding.opengarage/pom.xml +++ b/bundles/org.openhab.binding.opengarage/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.opengarage/src/main/feature/feature.xml b/bundles/org.openhab.binding.opengarage/src/main/feature/feature.xml index d9c8efe80bae3..19e65804f48ff 100644 --- a/bundles/org.openhab.binding.opengarage/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.opengarage/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.opengarage/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.opengarage/${project.version} + diff --git a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageBindingConstants.java b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageBindingConstants.java index af9bd360a1fbd..943f6cd8347c0 100644 --- a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageBindingConstants.java +++ b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageBindingConstants.java @@ -30,7 +30,7 @@ public class OpenGarageBindingConstants { private static final String BINDING_ID = "opengarage"; // List of all Thing Type UIDs - public static final ThingTypeUID OPENGARAGE_THING = new ThingTypeUID(BINDING_ID, "opengarage"); + public static final ThingTypeUID OPENGARAGE_THING = new ThingTypeUID(BINDING_ID, "opengarage"); // List of all Channel ids public static final String CHANNEL_OG_DISTANCE = "distance"; diff --git a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageHandler.java b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageHandler.java index 5ebbe453687c9..1ed43aab3bd20 100644 --- a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageHandler.java +++ b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageHandler.java @@ -12,29 +12,27 @@ */ package org.openhab.binding.opengarage.internal; +import java.io.IOException; +import java.util.concurrent.Future; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.QuantityType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.library.unit.MetricPrefix; +import org.eclipse.smarthome.core.library.unit.SIUnits; import org.eclipse.smarthome.core.thing.ChannelUID; import org.eclipse.smarthome.core.thing.Thing; import org.eclipse.smarthome.core.thing.ThingStatus; import org.eclipse.smarthome.core.thing.ThingStatusDetail; import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.library.types.QuantityType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.library.unit.SIUnits; -import org.eclipse.smarthome.core.library.unit.MetricPrefix; +import org.openhab.binding.opengarage.internal.api.ControllerVariables; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.openhab.binding.opengarage.internal.OpenGarageWebTargets; -import org.openhab.binding.opengarage.internal.api.ControllerVariables; -import org.openhab.binding.opengarage.internal.OpenGarageConfiguration; - -import java.io.IOException; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.Future; -import java.util.concurrent.TimeUnit; /** * The {@link OpenGarageHandler} is responsible for handling commands, which are @@ -60,7 +58,7 @@ public OpenGarageHandler(Thing thing) { public void handleCommand(ChannelUID channelUID, Command command) { try { logger.warn("Received command {} for thing '{}' on channel {}", command, thing.getUID().getAsString(), - channelUID.getId()); + channelUID.getId()); switch (channelUID.getId()) { case OpenGarageBindingConstants.CHANNEL_OG_STATUS: if (command instanceof OnOffType) { @@ -71,8 +69,8 @@ public void handleCommand(ChannelUID channelUID, Command command) { default: } - logger.debug("Received command {} of wrong type for thing '{}' on channel {}", command, thing.getUID().getAsString(), - channelUID.getId()); + logger.debug("Received command {} of wrong type for thing '{}' on channel {}", command, + thing.getUID().getAsString(), channelUID.getId()); } catch (OpenGarageCommunicationException ex) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, ex.getMessage()); } @@ -131,7 +129,8 @@ private void pollStatus() throws IOException { ControllerVariables controllerVariables = webTargets.getControllerVariables(); updateStatus(ThingStatus.ONLINE); if (controllerVariables != null) { - updateState(OpenGarageBindingConstants.CHANNEL_OG_DISTANCE, new QuantityType<>(controllerVariables.dist, MetricPrefix.CENTI(SIUnits.METRE))); + updateState(OpenGarageBindingConstants.CHANNEL_OG_DISTANCE, + new QuantityType<>(controllerVariables.dist, MetricPrefix.CENTI(SIUnits.METRE))); if (controllerVariables.door == 0) { updateState(OpenGarageBindingConstants.CHANNEL_OG_STATUS, OnOffType.OFF); } else if (controllerVariables.door == 1) { @@ -150,5 +149,4 @@ private void pollStatus() throws IOException { private void changeStatus(boolean status) throws OpenGarageCommunicationException { webTargets.setControllerVariables(status); } - } diff --git a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageWebTargets.java b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageWebTargets.java index 2c5dcf744c4a9..c4d587af4c52b 100644 --- a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageWebTargets.java +++ b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/OpenGarageWebTargets.java @@ -45,15 +45,15 @@ public ControllerVariables getControllerVariables() throws OpenGarageCommunicati public void setControllerVariables(boolean request) throws OpenGarageCommunicationException { logger.debug("Received request: {}", request); - if (request) { - logger.debug("Received request to open door"); - String queryParams = "&open=1"; - invoke(changeControllerVariablesUri, queryParams); - } else { - logger.debug("Received request to close door"); - String queryParams = "&close=1"; - invoke(changeControllerVariablesUri, queryParams); - } + if (request) { + logger.debug("Received request to open door"); + String queryParams = "&open=1"; + invoke(changeControllerVariablesUri, queryParams); + } else { + logger.debug("Received request to close door"); + String queryParams = "&close=1"; + invoke(changeControllerVariablesUri, queryParams); + } } private String invoke(String uri) throws OpenGarageCommunicationException { diff --git a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/api/ControllerVariables.java b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/api/ControllerVariables.java index 1f14dc4f839fd..abed44d76e3b2 100644 --- a/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/api/ControllerVariables.java +++ b/bundles/org.openhab.binding.opengarage/src/main/java/org/openhab/binding/opengarage/internal/api/ControllerVariables.java @@ -12,12 +12,12 @@ */ package org.openhab.binding.opengarage.internal.api; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; + /** * Class for holding the set of parameters used to read the controller variables. * @@ -37,7 +37,6 @@ public class ControllerVariables { public String cid; public int rssi; - private ControllerVariables() { } @@ -57,5 +56,4 @@ public static ControllerVariables parse(String response) { info.rssi = jsonObject.get("rssi").getAsInt(); return info; } - } diff --git a/bundles/org.openhab.binding.opengarage/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.opengarage/src/main/resources/ESH-INF/thing/thing-types.xml index 5708076ea9d54..255200dfa7d48 100644 --- a/bundles/org.openhab.binding.opengarage/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.opengarage/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,9 +9,9 @@ OpenGarage Controller - - - + + + @@ -43,7 +43,7 @@ Number:Length Distance Reading from the OG unit - + Switch diff --git a/bundles/org.openhab.binding.opensprinkler/pom.xml b/bundles/org.openhab.binding.opensprinkler/pom.xml index e586ecbb2d70b..947a6ef2365e2 100644 --- a/bundles/org.openhab.binding.opensprinkler/pom.xml +++ b/bundles/org.openhab.binding.opensprinkler/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/feature/feature.xml b/bundles/org.openhab.binding.opensprinkler/src/main/feature/feature.xml index fd736489ed72a..01b0205a35303 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.opensprinkler/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.opensprinkler/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.opensprinkler/${project.version} + diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseBridgeHandler.java b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseBridgeHandler.java index 633e3ee995783..336da25d6b0ce 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseBridgeHandler.java +++ b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseBridgeHandler.java @@ -102,5 +102,4 @@ public void dispose() { public void handleCommand(ChannelUID channelUID, Command command) { // Nothing to do for the bridge handler } - } diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseHandler.java b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseHandler.java index aee9156e639cf..9a00aa3812cf9 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseHandler.java +++ b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerBaseHandler.java @@ -70,5 +70,4 @@ public void updateChannels() { } protected abstract void updateChannel(ChannelUID uid); - } diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerDeviceHandler.java b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerDeviceHandler.java index fa8a168f962b3..0bb7bc0623811 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerDeviceHandler.java +++ b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerDeviceHandler.java @@ -97,5 +97,4 @@ public void initialize() { public void handleCommand(ChannelUID channelUID, Command command) { // nothing to do here } - } diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerStationHandler.java b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerStationHandler.java index 6af81714626a5..97d8311d11c07 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerStationHandler.java +++ b/bundles/org.openhab.binding.opensprinkler/src/main/java/org/openhab/binding/opensprinkler/internal/handler/OpenSprinklerStationHandler.java @@ -231,5 +231,4 @@ private int getStationIndex() { } return config.stationIndex; } - } diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/binding/binding.xml index 75fe8f102e1bd..46de684cdf263 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + OpenSprinkler Binding This is the binding for OpenSprinkler. diff --git a/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/thing/thing-types.xml index abaef0651d0e4..9a2e4cd5162f6 100644 --- a/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.opensprinkler/src/main/resources/ESH-INF/thing/thing-types.xml @@ -11,7 +11,8 @@ - The host name or IP address of the OpenSprinkler Web API interface. It may or may not start with the protocol, e.g. in order to use https:// instead of the default http://. + The host name or IP address of the OpenSprinkler Web API interface. It may or may not start with the + protocol, e.g. in order to use https:// instead of the default http://. localhost @@ -44,7 +45,7 @@ - + Controls a station connected to the OpenSprinkler device. @@ -66,7 +67,7 @@ - + A thing that receives data from the OpenSprinkler device directly. @@ -81,7 +82,7 @@ Provides feedback on whether the OpenSprinkler device has detected rain or not. Sensor - + @@ -94,7 +95,8 @@ Switch - Indicates if the station is queued to be turned on. Can be removed from the queue by turning off. ON is read-only. + Indicates if the station is queued to be turned on. Can be removed from the queue by turning off. ON is + read-only. Switch diff --git a/bundles/org.openhab.binding.openuv/pom.xml b/bundles/org.openhab.binding.openuv/pom.xml index ee6b2525b4c15..8b0952899466d 100644 --- a/bundles/org.openhab.binding.openuv/pom.xml +++ b/bundles/org.openhab.binding.openuv/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.openuv/src/main/feature/feature.xml b/bundles/org.openhab.binding.openuv/src/main/feature/feature.xml index 5edc141761f29..a6b918f8b7a20 100644 --- a/bundles/org.openhab.binding.openuv/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.openuv/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.openuv/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.openuv/${project.version} + diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java index 9d867ef10105d..6c7d9f00311f1 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVHandlerFactory.java @@ -75,5 +75,4 @@ private void registerOpenUVDiscoveryService(OpenUVBridgeHandler bridgeHandler) { bridgeHandler.getDiscoveryServiceRegs().put(bridgeHandler.getThing().getUID(), bundleContext.registerService(DiscoveryService.class.getName(), discoveryService, new Hashtable<>())); } - } diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java index 415fa17fcf263..a98540af3e158 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/discovery/OpenUVDiscoveryService.java @@ -117,5 +117,4 @@ protected void stopBackgroundDiscovery() { } } } - } diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/json/OpenUVResult.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/json/OpenUVResult.java index b9bdbc1b5faf6..f691998a5e578 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/json/OpenUVResult.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/json/OpenUVResult.java @@ -69,5 +69,4 @@ public State getOzoneTime() { public SafeExposureTime getSafeExposureTime() { return safeExposureTime; } - } diff --git a/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/binding/binding.xml index 25cfa8110aa42..02f9689a437f3 100644 --- a/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + OpenUV Binding Global Real-Time UV Index Forecast API diff --git a/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/thing/thing-types.xml index 92ab9e878cf28..51ed38d855544 100644 --- a/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.openuv/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -7,7 +8,8 @@ - Bridge to the OpenUV Project API. In order to receive the data, you must register an account on https://www.openuv.io/auth/google and get your API token. + Bridge to the OpenUV Project API. In order to receive the data, you must register an account on + https://www.openuv.io/auth/google and get your API token. @@ -23,27 +25,27 @@ - + - + - Provides various UV data from the OpenUV Project for a given location. + Provides various UV data from the OpenUV Project for a given location. - - - - - - - - - - + + + + + + + + + + - + location @@ -59,40 +61,40 @@ - + Number UV Index - + Number Max UV Index for the day (at solar noon) - + Number:ArealDensity Ozone level from OMI data - + DateTime Latest OMI ozone update time - + DateTime Max UV Index time (solar noon) - + @@ -135,9 +137,9 @@ Number:Angle The elevation of the sun - + - + trigger @@ -146,4 +148,3 @@ - diff --git a/bundles/org.openhab.binding.openweathermap/pom.xml b/bundles/org.openhab.binding.openweathermap/pom.xml index a4edb22123107..38c27e8a687d9 100644 --- a/bundles/org.openhab.binding.openweathermap/pom.xml +++ b/bundles/org.openhab.binding.openweathermap/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/bridge-types.xml b/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/bridge-types.xml index dfbeec5a4b200..9decd02247ebd 100644 --- a/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/bridge-types.xml +++ b/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/bridge-types.xml @@ -11,7 +11,7 @@ apikey - + diff --git a/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/channel-types.xml index 874f68b2f69ed..17e604f5e5010 100644 --- a/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/channel-types.xml @@ -9,8 +9,8 @@ This is a weather station. - - + + Location of the weather station or the city. @@ -21,22 +21,22 @@ This is the current weather. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -44,23 +44,23 @@ This is the 5 day / 3 hour weather forecast. - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + @@ -68,22 +68,22 @@ This is the 16 day / daily weather forecast. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -91,8 +91,8 @@ This is the current UV Index. - - + + @@ -100,8 +100,8 @@ This is the forecasted UV Index. - - + + @@ -110,14 +110,14 @@ String Id of the weather station or the city. - + String Name of the weather station or the city. - + @@ -125,7 +125,7 @@ Time of data observation. Time - + @@ -133,7 +133,7 @@ Time of data forecasted. Time - + @@ -141,7 +141,7 @@ Date of data forecasted. Time - + @@ -149,7 +149,7 @@ Current weather condition. Sun_Clouds - + @@ -157,28 +157,28 @@ Forecasted weather condition. Sun_Clouds - + String Id of the weather condition. - + Image Icon representing the weather condition. - + String Id of the icon to create the URL. - + @@ -186,7 +186,7 @@ Forecasted outdoor temperature. Temperature - + @@ -194,7 +194,7 @@ Minimum forecasted outdoor temperature. Temperature - + @@ -202,7 +202,7 @@ Maximum forecasted outdoor temperature. Temperature - + @@ -210,7 +210,7 @@ Current apparent temperature. Temperature - + @@ -218,7 +218,7 @@ Forecasted apparent temperature. Temperature - + @@ -226,7 +226,7 @@ Forecasted barometric pressure. Pressure - + @@ -234,7 +234,7 @@ Forecasted atmospheric relative humidity. Humidity - + @@ -242,7 +242,7 @@ Forecasted wind speed. Wind - + @@ -250,7 +250,7 @@ Forecasted wind direction expressed as an angle. Wind - + @@ -258,7 +258,7 @@ Current gust speed. Wind - + @@ -266,7 +266,7 @@ Forecasted gust speed. Wind - + @@ -274,7 +274,7 @@ Current cloudiness. Clouds - + @@ -282,7 +282,7 @@ Forecasted cloudiness. Clouds - + @@ -290,7 +290,7 @@ Rain volume of the last hour. Rain - + @@ -298,7 +298,7 @@ Forecasted rain volume. Rain - + @@ -306,7 +306,7 @@ Snow volume of the last hour. Snow - + @@ -314,28 +314,28 @@ Forecasted snow volume. Snow - + Number Current UV Index. - + Number Forecasted UV Index. - + Number:Length Current visibility. - + diff --git a/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/thing-types.xml index dfe1de0fbc0b0..fc0c9ba2454f8 100644 --- a/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.openweathermap/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,15 +7,15 @@ - + Provides current weather and forecast data from the OpenWeatherMap API. - - + + This is the weather forecast for the next 3 hours. @@ -76,19 +76,19 @@ location - + - + Provides UV Index data from the OpenWeatherMap API. - + This is the UV Index forecast for tomorrow. @@ -113,7 +113,7 @@ location - + diff --git a/bundles/org.openhab.binding.orvibo/pom.xml b/bundles/org.openhab.binding.orvibo/pom.xml index a831c563093d8..e931164b5e1b9 100644 --- a/bundles/org.openhab.binding.orvibo/pom.xml +++ b/bundles/org.openhab.binding.orvibo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -30,5 +32,5 @@ compile - + diff --git a/bundles/org.openhab.binding.orvibo/src/main/feature/feature.xml b/bundles/org.openhab.binding.orvibo/src/main/feature/feature.xml index 03b85e236e88a..23fb753cc2199 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.orvibo/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.apache.commons/commons-collections4/4.1 - mvn:org.openhab.addons.bundles/org.openhab.binding.orvibo/${project.version} - + + openhab-runtime-base + mvn:org.apache.commons/commons-collections4/4.1 + mvn:org.openhab.addons.bundles/org.openhab.binding.orvibo/${project.version} + diff --git a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboActivator.java b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboActivator.java index 6ab9c28ba0962..c401b9129d7b0 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboActivator.java +++ b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboActivator.java @@ -37,5 +37,4 @@ public void start(BundleContext context) throws Exception { public void stop(BundleContext context) throws Exception { s20Client.disconnect(); } - } diff --git a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboBindingConstants.java b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboBindingConstants.java index e4b2cbdbe0165..43094aebbc1d6 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboBindingConstants.java +++ b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboBindingConstants.java @@ -34,5 +34,4 @@ public class OrviboBindingConstants { // List of all Config properties public static final String CONFIG_PROPERTY_DEVICE_ID = "deviceId"; - } diff --git a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboHandlerFactory.java b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboHandlerFactory.java index 855d1ce0c5133..76f4aeec0bf75 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboHandlerFactory.java +++ b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/OrviboHandlerFactory.java @@ -49,5 +49,4 @@ protected ThingHandler createHandler(Thing thing) { } return null; } - } diff --git a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/discovery/SocketDiscoveryService.java b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/discovery/SocketDiscoveryService.java index 469aa123a978a..73ee1c0a28c23 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/discovery/SocketDiscoveryService.java +++ b/bundles/org.openhab.binding.orvibo/src/main/java/org/openhab/binding/orvibo/internal/discovery/SocketDiscoveryService.java @@ -118,5 +118,4 @@ private void doThingDiscovered(Socket socket) { DiscoveryResult discoveryResult = createDiscoveryResult(socket); thingDiscovered(discoveryResult); } - } diff --git a/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/binding/binding.xml index 6219b604843a2..1db30bbc0db13 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Orvibo Binding This is the binding for Orvibo devices. diff --git a/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/thing/thing-types.xml index beca57b8435ec..178fe6a97f7b0 100644 --- a/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.orvibo/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.paradoxalarm/.classpath b/bundles/org.openhab.binding.paradoxalarm/.classpath index 906bfcecb475f..a5d95095ccaaf 100644 --- a/bundles/org.openhab.binding.paradoxalarm/.classpath +++ b/bundles/org.openhab.binding.paradoxalarm/.classpath @@ -1,32 +1,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.paradoxalarm/NOTICE b/bundles/org.openhab.binding.paradoxalarm/NOTICE index edfd204e5d248..38d625e349232 100644 --- a/bundles/org.openhab.binding.paradoxalarm/NOTICE +++ b/bundles/org.openhab.binding.paradoxalarm/NOTICE @@ -1,13 +1,13 @@ -This content is produced and maintained by the openHAB project. - -* Project home: https://www.openhab.org - -== Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Public License 2.0 which is available at -https://www.eclipse.org/legal/epl-2.0/. - -== Source Code - -https://github.com/openhab/openhab-addons +This content is produced and maintained by the openHAB project. + +* Project home: https://www.openhab.org + +== Declared Project Licenses + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License 2.0 which is available at +https://www.eclipse.org/legal/epl-2.0/. + +== Source Code + +https://github.com/openhab/openhab-addons diff --git a/bundles/org.openhab.binding.paradoxalarm/README.md b/bundles/org.openhab.binding.paradoxalarm/README.md index 5c19dbdae7ec3..8b4b458b689c1 100644 --- a/bundles/org.openhab.binding.paradoxalarm/README.md +++ b/bundles/org.openhab.binding.paradoxalarm/README.md @@ -1,177 +1,177 @@ -# Paradox Alarm System binding - -This binding is intended to provide basic support for Paradox Alarm system. -Currently the binding does not support active communication, i.e. you cannot change states (arming, disarming). The intention is to use it only for monitoring of your security system. -With the power of openHAB this binding can be used for complex decision rules combining motion/magnetic sensor or whole partitions states with different scenarios. - -Examples: - -* All partitions are armed, therefore there is no one at home. -* Window is opened for more than 10 minutes and temperature outside is bellow XXX degrees, send mail/any other supported notification to particular people. - -## Supported Paradox panels/systems - -Currently binding supports the following panels: EVO192, EVO48(not tested), EVO96(not tested) - -## Supported things - -| Thing | Thing Type | Description | -|------------|------------|----------------------------------------------------------------| -| ip150 | Bridge | The bridge is used to communicate with IP150 ethernet module attached to Paradox security system.| -| panel | Thing | this is representation of Paradox panel. Has the general information about the main panel module, i.e. serial number, firmware/hardware/software versions, panel type, etc...| -| partition | Thing | provides "state"(armed, disarmed, in alarm), "partition label" and "additional states" are aggregated additional states which are booleans (ready to arm, trouble, force instant arm ready, etc...)| -| zone | Thing | Paradox zone. Can be anything - magnetic, motion or any other opened/closed sensor. State channel is contact, low battery and is tampered channels are switch, label is String | - -## Things configuration - -### IP150 bridge parameters - -| Parameter | Description | -|-------------------|----------------------------------------| -| refresh | Value is in seconds. Defines the refresh interval when the binding polls from paradox system.| -| ip150Password | The password to your IP150 (not your panel PIN).| -| pcPassword | The code 3012 setting. Default value is 0000.| -| ipAddress | IP address of your IP150.| -| port | The port used for data communication. Default value is 10000.| -| panelType | Optional parameter. Will be used if discovery does not identify the panel. Otherwise provide EVO48, EVO96, EVO192, etc...| -| reconnectWaitTime | Value is in seconds. The time to wait before a reconnect occurs after socket timeout.| -| maxPartitions | Optional parameter which sets maximum partitions to use during refresh. If not set, maximum allowed amount from panelType will be used.| -| maxZones | Optional parameter which sets maximum zones to use during refresh. If not set, maximum allowed amount from panelType will be used.| - -### IP150 bridge channels - -| Channel | Description | -|---------------------|------------------------------------------------| -|communicationCommand | Possible values [LOGOUT, LOGIN, RESET] | - -| Value | Description | -|--------|------------------------------------------------------------------------------------| -| LOGOUT | Logs out and disconnects from Paradox alarm system | -| LOGIN | Creates socket if necessary, connects to paradox system and uses the logon data from the thing parameters to connect.| -| RESET | Does logout and then login with recreation of communicator objects inside the code.| - -### Entities (zones, partitions) configuration parameters: - -| Value | Description | -|--------|------------------------------------------------------------------------------------| -| id | The numeric ID of the zone/partition | - -### Partition channels: - -| Channel | Type | Description | -|--------------------------|---------|---------------------------------------------------------------------------------------------| -| partitionLabel | String | Label of partition inside Paradox configuration | -| state | String |State of partition (armed, disarmed, in alarm) | -| additionalState | String | This used to be a channel where all different states were consolidated as semi-colon separated string. With implementation of each state as channel additional states should be no longer used. (deprecated channel) | -| readyToArm | Switch | Partition is Ready to arm | -| inExitDelay | Switch | Partition is in Exit delay | -| inEntryDelay | Switch | Partition in Entry Delay | -| inTrouble | Switch | Partition has trouble | -| alarmInMemory | Switch | Partition has alarm in memory | -| zoneBypass | Switch | Partition is in Zone Bypass | -| zoneInTamperTrouble | Switch | Partition is in Tamper Trouble | -| zoneInLowBatteryTrouble | Switch | Partition has zone in Low Battery Trouble | -| zoneInFireLoopTrouble | Switch | Partition has zone in Fire Loop Trouble | -| zoneInSupervisionTrouble | Switch | Partition has zone in Supervision Trouble | -| stayInstantReady | Switch | Partition is in state Stay Instant Ready | -| forceReady | Switch | Partition is in state Force Ready | -| bypassReady | Switch | Partition is in state Bypass Ready | -| inhibitReady | Switch | Partition is in state Inhibit Ready | -| allZonesClosed | Contact | All zones in partition are currently closed | - -### Zone channels: - -| Channel | Type | Description | -|-----------------|---------|--------------------------------------------------------------------------------| -| zoneLabel | String | Label of zone inside Paradox configuration | -| openedState | Contact | Zone opened / closed | -| tamperedState | Switch | Zone is tampered / not tampered | -## Example things configuration - -```java - Bridge paradoxalarm:ip150:ip150 [refresh=5, panelType="EVO192", ip150Password="asdfasdf", pcPassword="1234", ipAddress=XXX.XXX.XXX.XXX", port=10000 ] { - - Thing panel panel - - Thing partition partition1 [id=1] - Thing partition partition2 [id=2] - Thing partition partition3 [id=3] - Thing partition partition4 [id=4] - - Thing zone MotionSensor1 [id=1] - Thing zone MagneticSensorWindow1 [id=2] - Thing zone MotionSensor2 [id=3] - Thing zone MagneticSensorWindow2 [id=4] -} -``` - -## Example items configuration - -```java -//Groups - Group Paradox "Paradox security group" - Group Partitions "Paradox partitions" (Paradox) - Group Floor1MUC "Magnetic sensors - Floor 1" (Paradox) - Group PIRSensors "Motion sensors" (Paradox) - -//COMMUNICATOR BRIDGE - String paradoxSendCommand "Send command to IP150" {channel="paradoxalarm:ip150:ip150:communicationCommand"} - -//PANEL - String panelState "Paradox panel state: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:state" } - String panelType "Paradox panel type: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:panelType" } - String serialNumber "Paradox Serial number: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:serialNumber" } - String hardwareVersion "Paradox HW version: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:hardwareVersion" } - String applicationVersion "Paradox Application version: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:applicationVersion" } - String bootloaderVersion "Paradox Bootloader version: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:bootloaderVersion" } - -//PARTITIONS - String partition1State "Magnetic sensors - Floor 1: [%s]" (Partitions) { channel = "paradoxalarm:partition:ip150:partition1:state" } - String partition1AdditionalStates "Floor1 MUC additional states: [%s]" (Partitions) { channel = "paradoxalarm:partition:ip150:partition1:additionalStates" } - -//ZONES - Contact CorridorFl1_PIR_state "Corridor Fl1 motion: [%s]" (PIRSensors) { channel = "paradoxalarm:zone:ip150:MotionSensor1:opened" } - Contact CorridorFl1_MUC_state "Corridor Fl1 window: [%s]" (Floor1MUC) { channel = "paradoxalarm:zone:ip150:MagneticSensorWindow1:opened" } -``` - -## Example sitemap configuration - -```java - Text label="Security" icon="lock"{ - Frame label="Panel"{ - Text item=panelState valuecolor=[panelState=="Online"="green", panelState=="Offline"="red"] - Text item=panelType - Text item=serialNumber - Text item=hardwareVersion - Text item=applicationVersion - Text item=bootloaderVersion - } - Frame label="IP150 communication" { - Switch item=paradoxSendCommand mappings=["LOGOUT"="Logout", "LOGIN"="Login", "RESET"="Reset"] - } - Frame label="Partitions" { - Text item=partition1State valuecolor=[partition1State=="Disarmed"="green", partition1State=="Armed"="red"] - Text item=partition1AdditionalStates - Text item=partition2State valuecolor=[partition2State=="Disarmed"="green", partition2State=="Armed"="red"] - Text item=partition2AdditionalStates - Text item=partition3State valuecolor=[partition3State=="Disarmed"="green", partition3State=="Armed"="red"] - Text item=partition3AdditionalStates - Text item=partition4State valuecolor=[partition4State=="Disarmed"="green", partition4State=="Armed"="red"] - Text item=partition4AdditionalStates - } - Frame label="Zones" { - Group item=Floor1MUC - Group item=Floor2MUC - Group item=Floor3MUC - Group item=PIRSensors - } - } -``` -## Acknowledgements -This binding would not be possible without the reverse engineering of the byte level protocol and the development by other authors in python, C# and other languages. Many thanks to the following authors and their respective github repositories for their development that helped in creating this binding: - -João Paulo Barraca - https://github.com/ParadoxAlarmInterface/pai - -Jean Henning - repository not available - -Tertuish - https://github.com/Tertiush/ParadoxIP150v2 / https://github.com/Tertiush/ParadoxIP150 +# Paradox Alarm System binding + +This binding is intended to provide basic support for Paradox Alarm system. +Currently the binding does not support active communication, i.e. you cannot change states (arming, disarming). The intention is to use it only for monitoring of your security system. +With the power of openHAB this binding can be used for complex decision rules combining motion/magnetic sensor or whole partitions states with different scenarios. + +Examples: + +* All partitions are armed, therefore there is no one at home. +* Window is opened for more than 10 minutes and temperature outside is bellow XXX degrees, send mail/any other supported notification to particular people. + +## Supported Paradox panels/systems + +Currently binding supports the following panels: EVO192, EVO48(not tested), EVO96(not tested) + +## Supported things + +| Thing | Thing Type | Description | +|------------|------------|----------------------------------------------------------------| +| ip150 | Bridge | The bridge is used to communicate with IP150 ethernet module attached to Paradox security system.| +| panel | Thing | this is representation of Paradox panel. Has the general information about the main panel module, i.e. serial number, firmware/hardware/software versions, panel type, etc...| +| partition | Thing | provides "state"(armed, disarmed, in alarm), "partition label" and "additional states" are aggregated additional states which are booleans (ready to arm, trouble, force instant arm ready, etc...)| +| zone | Thing | Paradox zone. Can be anything - magnetic, motion or any other opened/closed sensor. State channel is contact, low battery and is tampered channels are switch, label is String | + +## Things configuration + +### IP150 bridge parameters + +| Parameter | Description | +|-------------------|----------------------------------------| +| refresh | Value is in seconds. Defines the refresh interval when the binding polls from paradox system.| +| ip150Password | The password to your IP150 (not your panel PIN).| +| pcPassword | The code 3012 setting. Default value is 0000.| +| ipAddress | IP address of your IP150.| +| port | The port used for data communication. Default value is 10000.| +| panelType | Optional parameter. Will be used if discovery does not identify the panel. Otherwise provide EVO48, EVO96, EVO192, etc...| +| reconnectWaitTime | Value is in seconds. The time to wait before a reconnect occurs after socket timeout.| +| maxPartitions | Optional parameter which sets maximum partitions to use during refresh. If not set, maximum allowed amount from panelType will be used.| +| maxZones | Optional parameter which sets maximum zones to use during refresh. If not set, maximum allowed amount from panelType will be used.| + +### IP150 bridge channels + +| Channel | Description | +|---------------------|------------------------------------------------| +|communicationCommand | Possible values [LOGOUT, LOGIN, RESET] | + +| Value | Description | +|--------|------------------------------------------------------------------------------------| +| LOGOUT | Logs out and disconnects from Paradox alarm system | +| LOGIN | Creates socket if necessary, connects to paradox system and uses the logon data from the thing parameters to connect.| +| RESET | Does logout and then login with recreation of communicator objects inside the code.| + +### Entities (zones, partitions) configuration parameters: + +| Value | Description | +|--------|------------------------------------------------------------------------------------| +| id | The numeric ID of the zone/partition | + +### Partition channels: + +| Channel | Type | Description | +|--------------------------|---------|---------------------------------------------------------------------------------------------| +| partitionLabel | String | Label of partition inside Paradox configuration | +| state | String |State of partition (armed, disarmed, in alarm) | +| additionalState | String | This used to be a channel where all different states were consolidated as semi-colon separated string. With implementation of each state as channel additional states should be no longer used. (deprecated channel) | +| readyToArm | Switch | Partition is Ready to arm | +| inExitDelay | Switch | Partition is in Exit delay | +| inEntryDelay | Switch | Partition in Entry Delay | +| inTrouble | Switch | Partition has trouble | +| alarmInMemory | Switch | Partition has alarm in memory | +| zoneBypass | Switch | Partition is in Zone Bypass | +| zoneInTamperTrouble | Switch | Partition is in Tamper Trouble | +| zoneInLowBatteryTrouble | Switch | Partition has zone in Low Battery Trouble | +| zoneInFireLoopTrouble | Switch | Partition has zone in Fire Loop Trouble | +| zoneInSupervisionTrouble | Switch | Partition has zone in Supervision Trouble | +| stayInstantReady | Switch | Partition is in state Stay Instant Ready | +| forceReady | Switch | Partition is in state Force Ready | +| bypassReady | Switch | Partition is in state Bypass Ready | +| inhibitReady | Switch | Partition is in state Inhibit Ready | +| allZonesClosed | Contact | All zones in partition are currently closed | + +### Zone channels: + +| Channel | Type | Description | +|-----------------|---------|--------------------------------------------------------------------------------| +| zoneLabel | String | Label of zone inside Paradox configuration | +| openedState | Contact | Zone opened / closed | +| tamperedState | Switch | Zone is tampered / not tampered | +## Example things configuration + +```java + Bridge paradoxalarm:ip150:ip150 [refresh=5, panelType="EVO192", ip150Password="asdfasdf", pcPassword="1234", ipAddress=XXX.XXX.XXX.XXX", port=10000 ] { + + Thing panel panel + + Thing partition partition1 [id=1] + Thing partition partition2 [id=2] + Thing partition partition3 [id=3] + Thing partition partition4 [id=4] + + Thing zone MotionSensor1 [id=1] + Thing zone MagneticSensorWindow1 [id=2] + Thing zone MotionSensor2 [id=3] + Thing zone MagneticSensorWindow2 [id=4] +} +``` + +## Example items configuration + +```java +//Groups + Group Paradox "Paradox security group" + Group Partitions "Paradox partitions" (Paradox) + Group Floor1MUC "Magnetic sensors - Floor 1" (Paradox) + Group PIRSensors "Motion sensors" (Paradox) + +//COMMUNICATOR BRIDGE + String paradoxSendCommand "Send command to IP150" {channel="paradoxalarm:ip150:ip150:communicationCommand"} + +//PANEL + String panelState "Paradox panel state: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:state" } + String panelType "Paradox panel type: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:panelType" } + String serialNumber "Paradox Serial number: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:serialNumber" } + String hardwareVersion "Paradox HW version: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:hardwareVersion" } + String applicationVersion "Paradox Application version: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:applicationVersion" } + String bootloaderVersion "Paradox Bootloader version: [%s]" (Paradox) { channel = "paradoxalarm:panel:ip150:panel:bootloaderVersion" } + +//PARTITIONS + String partition1State "Magnetic sensors - Floor 1: [%s]" (Partitions) { channel = "paradoxalarm:partition:ip150:partition1:state" } + String partition1AdditionalStates "Floor1 MUC additional states: [%s]" (Partitions) { channel = "paradoxalarm:partition:ip150:partition1:additionalStates" } + +//ZONES + Contact CorridorFl1_PIR_state "Corridor Fl1 motion: [%s]" (PIRSensors) { channel = "paradoxalarm:zone:ip150:MotionSensor1:opened" } + Contact CorridorFl1_MUC_state "Corridor Fl1 window: [%s]" (Floor1MUC) { channel = "paradoxalarm:zone:ip150:MagneticSensorWindow1:opened" } +``` + +## Example sitemap configuration + +```java + Text label="Security" icon="lock"{ + Frame label="Panel"{ + Text item=panelState valuecolor=[panelState=="Online"="green", panelState=="Offline"="red"] + Text item=panelType + Text item=serialNumber + Text item=hardwareVersion + Text item=applicationVersion + Text item=bootloaderVersion + } + Frame label="IP150 communication" { + Switch item=paradoxSendCommand mappings=["LOGOUT"="Logout", "LOGIN"="Login", "RESET"="Reset"] + } + Frame label="Partitions" { + Text item=partition1State valuecolor=[partition1State=="Disarmed"="green", partition1State=="Armed"="red"] + Text item=partition1AdditionalStates + Text item=partition2State valuecolor=[partition2State=="Disarmed"="green", partition2State=="Armed"="red"] + Text item=partition2AdditionalStates + Text item=partition3State valuecolor=[partition3State=="Disarmed"="green", partition3State=="Armed"="red"] + Text item=partition3AdditionalStates + Text item=partition4State valuecolor=[partition4State=="Disarmed"="green", partition4State=="Armed"="red"] + Text item=partition4AdditionalStates + } + Frame label="Zones" { + Group item=Floor1MUC + Group item=Floor2MUC + Group item=Floor3MUC + Group item=PIRSensors + } + } +``` +## Acknowledgements +This binding would not be possible without the reverse engineering of the byte level protocol and the development by other authors in python, C# and other languages. Many thanks to the following authors and their respective github repositories for their development that helped in creating this binding: + +João Paulo Barraca - https://github.com/ParadoxAlarmInterface/pai + +Jean Henning - repository not available + +Tertuish - https://github.com/Tertiush/ParadoxIP150v2 / https://github.com/Tertiush/ParadoxIP150 diff --git a/bundles/org.openhab.binding.paradoxalarm/pom.xml b/bundles/org.openhab.binding.paradoxalarm/pom.xml index 27db12071a05a..66366db523480 100644 --- a/bundles/org.openhab.binding.paradoxalarm/pom.xml +++ b/bundles/org.openhab.binding.paradoxalarm/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/feature/feature.xml b/bundles/org.openhab.binding.paradoxalarm/src/main/feature/feature.xml index c6820307c1236..2abed59eb452c 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.paradoxalarm/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.paradoxalarm/${project.version} + diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/CommunicationState.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/CommunicationState.java index 548da82a6c1dc..278c089acbdcd 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/CommunicationState.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/CommunicationState.java @@ -83,7 +83,6 @@ protected boolean isPhaseSuccess(IResponse response) { } return false; } - }, STEP2 { @@ -99,7 +98,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... .setCommand(HeaderCommand.LOGIN_COMMAND1); sendPacket(communicator, packet); } - }, STEP3 { @@ -115,7 +113,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... .setCommand(HeaderCommand.LOGIN_COMMAND2); sendPacket(communicator, packet); } - }, STEP4 { @@ -147,7 +144,6 @@ protected void receiveResponse(IParadoxInitialLoginCommunicator communicator, IR LOGOUT.runPhase(communicator); } } - }, STEP5 { @@ -163,7 +159,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... .setCommand(HeaderCommand.SERIAL_CONNECTION_INITIATED); sendPacket(communicator, packet); } - }, STEP6 { @@ -191,7 +186,6 @@ protected void receiveResponse(IParadoxInitialLoginCommunicator communicator, IR logger.debug("Phase {} completed successfully.", this); nextState().runPhase(communicator, initializationMessage); } - }, STEP7 { @@ -298,7 +292,6 @@ protected void receiveResponse(IParadoxInitialLoginCommunicator communicator, IR } }, 300, TimeUnit.MILLISECONDS); } - }, INITIALIZE_DATA { @@ -315,7 +308,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... } ONLINE.runPhase(communicator); } - }, ONLINE { @@ -330,7 +322,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... communicator.setOnline(true); logger.info("Successfully established communication with the panel."); } - }, LOGOUT { @@ -350,7 +341,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... // sendPacket(communicator, logoutPacket); nextState().runPhase(communicator); } - }, OFFLINE { @@ -364,7 +354,6 @@ protected void runPhase(IParadoxInitialLoginCommunicator communicator, Object... communicator.close(); communicator.setOnline(false); } - }; protected final Logger logger = LoggerFactory.getLogger(CommunicationState.class); diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EpromRequest.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EpromRequest.java index cc64de0c0dbb3..3a890a164632d 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EpromRequest.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EpromRequest.java @@ -43,5 +43,4 @@ public int getEntityId() { public String toString() { return "EpromRequest [getType()=" + getType() + ", entityType=" + entityType + ", entityId=" + entityId + "]"; } - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EvoCommunicator.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EvoCommunicator.java index e57745e2d41cc..5b66a1480f987 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EvoCommunicator.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/EvoCommunicator.java @@ -1,398 +1,398 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -import java.io.IOException; -import java.net.UnknownHostException; -import java.nio.charset.StandardCharsets; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -import org.openhab.binding.paradoxalarm.internal.communication.messages.EpromRequestPayload; -import org.openhab.binding.paradoxalarm.internal.communication.messages.HeaderMessageType; -import org.openhab.binding.paradoxalarm.internal.communication.messages.IPPacketPayload; -import org.openhab.binding.paradoxalarm.internal.communication.messages.ParadoxIPPacket; -import org.openhab.binding.paradoxalarm.internal.communication.messages.RamRequestPayload; -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; -import org.openhab.binding.paradoxalarm.internal.model.EntityType; -import org.openhab.binding.paradoxalarm.internal.model.PanelType; -import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link EvoCommunicator} is responsible for handling communication to Evo192 alarm system via IP150 interface. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class EvoCommunicator extends GenericCommunicator implements IParadoxCommunicator { - - private static final byte RAM_BLOCK_SIZE = (byte) 64; - - private final Logger logger = LoggerFactory.getLogger(EvoCommunicator.class); - - private MemoryMap memoryMap; - - private Map> entityLabelsMap = new HashMap<>(); - - private PanelType panelType = PanelType.UNKNOWN; - private Integer maxPartitions; - private Integer maxZones; - - private EvoCommunicator(String ipAddress, int tcpPort, String ip150Password, String pcPassword, - ScheduledExecutorService scheduler, PanelType panelType, Integer maxPartitions, Integer maxZones) - throws UnknownHostException, IOException { - super(ipAddress, tcpPort, ip150Password, pcPassword, scheduler); - this.panelType = panelType; - this.maxPartitions = maxPartitions; - this.maxZones = maxZones; - logger.debug("PanelType={}, max partitions={}, max Zones={}", panelType, maxPartitions, maxZones); - initializeMemoryMap(); - } - - @Override - protected void receiveEpromResponse(IResponse response) throws ParadoxException { - EpromRequest request = (EpromRequest) response.getRequest(); - int entityId = request.getEntityId(); - EntityType entityType = request.getEntityType(); - - byte[] parsedResult = parsePacket(response); - updateEntityLabel(entityType, entityId, parsedResult); - } - - @Override - protected void receiveRamResponse(IResponse response) throws ParadoxException { - RamRequest request = (RamRequest) response.getRequest(); - int ramBlockNumber = request.getRamBlockNumber(); - - byte[] parsedResult = parsePacket(response); - if (parsedResult != null && parsedResult.length == RAM_BLOCK_SIZE) { - memoryMap.updateElement(ramBlockNumber, parsedResult); - logger.trace("Result for ramBlock={} is [{}]", ramBlockNumber, parsedResult); - } else { - logger.debug("Wrong parsed result. Probably wrong data received in response"); - return; - } - - // Trigger listeners update when last memory page update is received - if (ramBlockNumber == panelType.getRamPagesNumber()) { - updateListeners(); - } - } - - private void updateEntityLabel(EntityType entityType, int entityId, byte[] payload) { - String label = createString(payload); - logger.debug("{} label updated to: {}", entityType, label); - - entityLabelsMap.get(entityType).put(entityId, label); - } - - private void retrievePartitionLabel(int partitionNo) { - logger.debug("Submitting request for partition label: {}", partitionNo); - int address = 0x3A6B + (partitionNo) * 107; - byte labelLength = 16; - - try { - IPPacketPayload payload = new EpromRequestPayload(address, labelLength); - ParadoxIPPacket readEpromIPPacket = new ParadoxIPPacket(payload) - .setMessageType(HeaderMessageType.SERIAL_PASSTHRU_REQUEST).setUnknown0((byte) 0x14); - - IRequest epromRequest = new EpromRequest(partitionNo, EntityType.PARTITION, readEpromIPPacket); - submitRequest(epromRequest); - } catch (ParadoxException e) { - logger.debug("Error creating request for with number={}, Exception={} ", partitionNo, e.getMessage()); - } - } - - private void retrieveZoneLabel(int zoneNumber) { - logger.debug("Submitting request for zone label: {}", zoneNumber); - byte labelLength = 16; - - try { - int address; - if (zoneNumber < 96) { - address = 0x430 + (zoneNumber) * 16; - } else { - address = 0x62F7 + (zoneNumber - 96) * 16; - } - - IPPacketPayload payload = new EpromRequestPayload(address, labelLength); - ParadoxIPPacket readEpromIPPacket = createParadoxIpPacket(payload); - - IRequest epromRequest = new EpromRequest(zoneNumber, EntityType.ZONE, readEpromIPPacket); - submitRequest(epromRequest); - } catch (ParadoxException e) { - logger.debug("Error creating request with number={}, Exception={} ", zoneNumber, e.getMessage()); - } - } - - @Override - public List getPartitionFlags() { - List result = new ArrayList<>(); - - byte[] element = memoryMap.getElement(2); - byte[] firstBlock = Arrays.copyOfRange(element, 32, 64); - - element = memoryMap.getElement(3); - byte[] secondBlock = Arrays.copyOfRange(element, 0, 16); - byte[] mergeByteArrays = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); - for (int i = 0; i < mergeByteArrays.length; i += 6) { - result.add(Arrays.copyOfRange(mergeByteArrays, i, i + 6)); - } - - return result; - } - - @Override - public ZoneStateFlags getZoneStateFlags() { - ZoneStateFlags result = new ZoneStateFlags(); - - byte[] firstPage = memoryMap.getElement(0); - byte[] secondPage = memoryMap.getElement(8); - - int pageOffset = panelType == PanelType.EVO48 ? 34 : 40; - byte[] firstBlock = Arrays.copyOfRange(firstPage, 28, pageOffset); - if (panelType != PanelType.EVO192) { - result.setZonesOpened(firstBlock); - } else { - byte[] secondBlock = Arrays.copyOfRange(secondPage, 0, 12); - byte[] zonesOpened = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); - result.setZonesOpened(zonesOpened); - } - - pageOffset = panelType == PanelType.EVO48 ? 46 : 52; - firstBlock = Arrays.copyOfRange(firstPage, 40, pageOffset); - if (panelType != PanelType.EVO192) { - result.setZonesTampered(firstBlock); - } else { - byte[] secondBlock = Arrays.copyOfRange(secondPage, 12, 24); - byte[] zonesTampered = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); - result.setZonesTampered(zonesTampered); - } - - pageOffset = panelType == PanelType.EVO48 ? 58 : 64; - firstBlock = Arrays.copyOfRange(firstPage, 52, pageOffset); - if (panelType != PanelType.EVO192) { - result.setZonesTampered(firstBlock); - } else { - byte[] secondBlock = Arrays.copyOfRange(secondPage, 24, 36); - byte[] zonesLowBattery = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); - result.setZonesLowBattery(zonesLowBattery); - } - - return result; - } - - public void initializeMemoryMap() { - for (EntityType type : EntityType.values()) { - entityLabelsMap.put(type, new HashMap<>()); - } - - List ramCache = new ArrayList<>(panelType.getRamPagesNumber() + 1); - for (int i = 0; i <= panelType.getRamPagesNumber(); i++) { - ramCache.add(new byte[0]); - } - memoryMap = new MemoryMap(ramCache); - } - - @Override - public void refreshMemoryMap() { - if (!isOnline()) { - return; - } - - SyncQueue queue = SyncQueue.getInstance(); - synchronized (queue) { - for (int i = 1; i <= panelType.getRamPagesNumber(); i++) { - readRAM(i); - } - } - } - - private void readRAM(int blockNo) { - try { - logger.trace("Creating RAM page {} read request", blockNo); - IPPacketPayload payload = new RamRequestPayload(blockNo, RAM_BLOCK_SIZE); - ParadoxIPPacket ipPacket = createParadoxIpPacket(payload); - IRequest ramRequest = new RamRequest(blockNo, ipPacket); - submitRequest(ramRequest); - } catch (ParadoxException e) { - logger.debug( - "Unable to create request payload from provided bytes to read. blockNo={}, bytes to read={}. Exception={}", - blockNo, RAM_BLOCK_SIZE, e.getMessage()); - } - } - - private String createString(byte[] payloadResult) { - return new String(payloadResult, StandardCharsets.US_ASCII); - } - - @Override - public void executeCommand(String command) { - IP150Command ip150Command = IP150Command.valueOf(command); - switch (ip150Command) { - case LOGIN: - startLoginSequence(); - return; - case LOGOUT: - CommunicationState.LOGOUT.runPhase(this); - return; - case RESET: - CommunicationState.LOGOUT.runPhase(this); - scheduler.schedule(this::startLoginSequence, 5, TimeUnit.SECONDS); - return; - default: - logger.debug("Command {} not implemented.", command); - } - } - - public MemoryMap getMemoryMap() { - return memoryMap; - } - - public Map> getEntityLabelsMap() { - return entityLabelsMap; - } - - @Override - public Map getPartitionLabels() { - return entityLabelsMap.get(EntityType.PARTITION); - } - - @Override - public Map getZoneLabels() { - return entityLabelsMap.get(EntityType.ZONE); - } - - @Override - public void initializeData() { - synchronized (SyncQueue.getInstance()) { - initializeEpromData(); - refreshMemoryMap(); - } - } - - private void initializeEpromData() { - for (int i = 0; i < maxPartitions; i++) { - retrievePartitionLabel(i); - } - for (int i = 0; i < maxZones; i++) { - retrieveZoneLabel(i); - } - } - - public static class EvoCommunicatorBuilder implements ICommunicatorBuilder { - - private final Logger logger = LoggerFactory.getLogger(EvoCommunicatorBuilder.class); - - // Mandatory parameters - private PanelType panelType; - private String ipAddress; - private String ip150Password; - private ScheduledExecutorService scheduler; - - // Non mandatory or with predefined values - private Integer maxPartitions; - private Integer maxZones; - private int tcpPort = 10000; - private String pcPassword = "0000"; - - EvoCommunicatorBuilder(PanelType panelType) { - this.panelType = panelType; - } - - @Override - public IParadoxCommunicator build() { - if (panelType != PanelType.EVO48 && panelType != PanelType.EVO96 && panelType != PanelType.EVO192) { - throw new ParadoxRuntimeException("Unknown or unsupported panel type. Type=" + panelType); - } - - if (ipAddress == null || ipAddress.isEmpty()) { - throw new ParadoxRuntimeException("IP address cannot be empty !"); - } - - if (ip150Password == null || ip150Password.isEmpty()) { - throw new ParadoxRuntimeException("Password for IP150 cannot be empty !"); - } - - if (scheduler == null) { - throw new ParadoxRuntimeException("Scheduler is mandatory parameter !"); - } - - if (maxPartitions == null || maxPartitions < 1) { - this.maxPartitions = panelType.getPartitions(); - } - - if (maxZones == null || maxZones < 1) { - this.maxZones = panelType.getZones(); - } - - try { - return new EvoCommunicator(ipAddress, tcpPort, ip150Password, pcPassword, scheduler, panelType, - maxPartitions, maxZones); - } catch (IOException e) { - logger.warn("Unable to create communicator for Panel={}. Message={}", panelType, e.getMessage()); - throw new ParadoxRuntimeException(e); - } - } - - @Override - public ICommunicatorBuilder withMaxZones(Integer maxZones) { - this.maxZones = maxZones; - return this; - } - - @Override - public ICommunicatorBuilder withMaxPartitions(Integer maxPartitions) { - this.maxPartitions = maxPartitions; - return this; - } - - @Override - public ICommunicatorBuilder withIp150Password(String ip150Password) { - this.ip150Password = ip150Password; - return this; - } - - @Override - public ICommunicatorBuilder withPcPassword(String pcPassword) { - this.pcPassword = pcPassword; - return this; - } - - @Override - public ICommunicatorBuilder withIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - return this; - } - - @Override - public ICommunicatorBuilder withTcpPort(Integer tcpPort) { - this.tcpPort = tcpPort; - return this; - } - - @Override - public ICommunicatorBuilder withScheduler(ScheduledExecutorService scheduler) { - this.scheduler = scheduler; - return this; - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import org.openhab.binding.paradoxalarm.internal.communication.messages.EpromRequestPayload; +import org.openhab.binding.paradoxalarm.internal.communication.messages.HeaderMessageType; +import org.openhab.binding.paradoxalarm.internal.communication.messages.IPPacketPayload; +import org.openhab.binding.paradoxalarm.internal.communication.messages.ParadoxIPPacket; +import org.openhab.binding.paradoxalarm.internal.communication.messages.RamRequestPayload; +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; +import org.openhab.binding.paradoxalarm.internal.model.EntityType; +import org.openhab.binding.paradoxalarm.internal.model.PanelType; +import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link EvoCommunicator} is responsible for handling communication to Evo192 alarm system via IP150 interface. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class EvoCommunicator extends GenericCommunicator implements IParadoxCommunicator { + + private static final byte RAM_BLOCK_SIZE = (byte) 64; + + private final Logger logger = LoggerFactory.getLogger(EvoCommunicator.class); + + private MemoryMap memoryMap; + + private Map> entityLabelsMap = new HashMap<>(); + + private PanelType panelType = PanelType.UNKNOWN; + private Integer maxPartitions; + private Integer maxZones; + + private EvoCommunicator(String ipAddress, int tcpPort, String ip150Password, String pcPassword, + ScheduledExecutorService scheduler, PanelType panelType, Integer maxPartitions, Integer maxZones) + throws UnknownHostException, IOException { + super(ipAddress, tcpPort, ip150Password, pcPassword, scheduler); + this.panelType = panelType; + this.maxPartitions = maxPartitions; + this.maxZones = maxZones; + logger.debug("PanelType={}, max partitions={}, max Zones={}", panelType, maxPartitions, maxZones); + initializeMemoryMap(); + } + + @Override + protected void receiveEpromResponse(IResponse response) throws ParadoxException { + EpromRequest request = (EpromRequest) response.getRequest(); + int entityId = request.getEntityId(); + EntityType entityType = request.getEntityType(); + + byte[] parsedResult = parsePacket(response); + updateEntityLabel(entityType, entityId, parsedResult); + } + + @Override + protected void receiveRamResponse(IResponse response) throws ParadoxException { + RamRequest request = (RamRequest) response.getRequest(); + int ramBlockNumber = request.getRamBlockNumber(); + + byte[] parsedResult = parsePacket(response); + if (parsedResult != null && parsedResult.length == RAM_BLOCK_SIZE) { + memoryMap.updateElement(ramBlockNumber, parsedResult); + logger.trace("Result for ramBlock={} is [{}]", ramBlockNumber, parsedResult); + } else { + logger.debug("Wrong parsed result. Probably wrong data received in response"); + return; + } + + // Trigger listeners update when last memory page update is received + if (ramBlockNumber == panelType.getRamPagesNumber()) { + updateListeners(); + } + } + + private void updateEntityLabel(EntityType entityType, int entityId, byte[] payload) { + String label = createString(payload); + logger.debug("{} label updated to: {}", entityType, label); + + entityLabelsMap.get(entityType).put(entityId, label); + } + + private void retrievePartitionLabel(int partitionNo) { + logger.debug("Submitting request for partition label: {}", partitionNo); + int address = 0x3A6B + (partitionNo) * 107; + byte labelLength = 16; + + try { + IPPacketPayload payload = new EpromRequestPayload(address, labelLength); + ParadoxIPPacket readEpromIPPacket = new ParadoxIPPacket(payload) + .setMessageType(HeaderMessageType.SERIAL_PASSTHRU_REQUEST).setUnknown0((byte) 0x14); + + IRequest epromRequest = new EpromRequest(partitionNo, EntityType.PARTITION, readEpromIPPacket); + submitRequest(epromRequest); + } catch (ParadoxException e) { + logger.debug("Error creating request for with number={}, Exception={} ", partitionNo, e.getMessage()); + } + } + + private void retrieveZoneLabel(int zoneNumber) { + logger.debug("Submitting request for zone label: {}", zoneNumber); + byte labelLength = 16; + + try { + int address; + if (zoneNumber < 96) { + address = 0x430 + (zoneNumber) * 16; + } else { + address = 0x62F7 + (zoneNumber - 96) * 16; + } + + IPPacketPayload payload = new EpromRequestPayload(address, labelLength); + ParadoxIPPacket readEpromIPPacket = createParadoxIpPacket(payload); + + IRequest epromRequest = new EpromRequest(zoneNumber, EntityType.ZONE, readEpromIPPacket); + submitRequest(epromRequest); + } catch (ParadoxException e) { + logger.debug("Error creating request with number={}, Exception={} ", zoneNumber, e.getMessage()); + } + } + + @Override + public List getPartitionFlags() { + List result = new ArrayList<>(); + + byte[] element = memoryMap.getElement(2); + byte[] firstBlock = Arrays.copyOfRange(element, 32, 64); + + element = memoryMap.getElement(3); + byte[] secondBlock = Arrays.copyOfRange(element, 0, 16); + byte[] mergeByteArrays = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); + for (int i = 0; i < mergeByteArrays.length; i += 6) { + result.add(Arrays.copyOfRange(mergeByteArrays, i, i + 6)); + } + + return result; + } + + @Override + public ZoneStateFlags getZoneStateFlags() { + ZoneStateFlags result = new ZoneStateFlags(); + + byte[] firstPage = memoryMap.getElement(0); + byte[] secondPage = memoryMap.getElement(8); + + int pageOffset = panelType == PanelType.EVO48 ? 34 : 40; + byte[] firstBlock = Arrays.copyOfRange(firstPage, 28, pageOffset); + if (panelType != PanelType.EVO192) { + result.setZonesOpened(firstBlock); + } else { + byte[] secondBlock = Arrays.copyOfRange(secondPage, 0, 12); + byte[] zonesOpened = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); + result.setZonesOpened(zonesOpened); + } + + pageOffset = panelType == PanelType.EVO48 ? 46 : 52; + firstBlock = Arrays.copyOfRange(firstPage, 40, pageOffset); + if (panelType != PanelType.EVO192) { + result.setZonesTampered(firstBlock); + } else { + byte[] secondBlock = Arrays.copyOfRange(secondPage, 12, 24); + byte[] zonesTampered = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); + result.setZonesTampered(zonesTampered); + } + + pageOffset = panelType == PanelType.EVO48 ? 58 : 64; + firstBlock = Arrays.copyOfRange(firstPage, 52, pageOffset); + if (panelType != PanelType.EVO192) { + result.setZonesTampered(firstBlock); + } else { + byte[] secondBlock = Arrays.copyOfRange(secondPage, 24, 36); + byte[] zonesLowBattery = ParadoxUtil.mergeByteArrays(firstBlock, secondBlock); + result.setZonesLowBattery(zonesLowBattery); + } + + return result; + } + + public void initializeMemoryMap() { + for (EntityType type : EntityType.values()) { + entityLabelsMap.put(type, new HashMap<>()); + } + + List ramCache = new ArrayList<>(panelType.getRamPagesNumber() + 1); + for (int i = 0; i <= panelType.getRamPagesNumber(); i++) { + ramCache.add(new byte[0]); + } + memoryMap = new MemoryMap(ramCache); + } + + @Override + public void refreshMemoryMap() { + if (!isOnline()) { + return; + } + + SyncQueue queue = SyncQueue.getInstance(); + synchronized (queue) { + for (int i = 1; i <= panelType.getRamPagesNumber(); i++) { + readRAM(i); + } + } + } + + private void readRAM(int blockNo) { + try { + logger.trace("Creating RAM page {} read request", blockNo); + IPPacketPayload payload = new RamRequestPayload(blockNo, RAM_BLOCK_SIZE); + ParadoxIPPacket ipPacket = createParadoxIpPacket(payload); + IRequest ramRequest = new RamRequest(blockNo, ipPacket); + submitRequest(ramRequest); + } catch (ParadoxException e) { + logger.debug( + "Unable to create request payload from provided bytes to read. blockNo={}, bytes to read={}. Exception={}", + blockNo, RAM_BLOCK_SIZE, e.getMessage()); + } + } + + private String createString(byte[] payloadResult) { + return new String(payloadResult, StandardCharsets.US_ASCII); + } + + @Override + public void executeCommand(String command) { + IP150Command ip150Command = IP150Command.valueOf(command); + switch (ip150Command) { + case LOGIN: + startLoginSequence(); + return; + case LOGOUT: + CommunicationState.LOGOUT.runPhase(this); + return; + case RESET: + CommunicationState.LOGOUT.runPhase(this); + scheduler.schedule(this::startLoginSequence, 5, TimeUnit.SECONDS); + return; + default: + logger.debug("Command {} not implemented.", command); + } + } + + public MemoryMap getMemoryMap() { + return memoryMap; + } + + public Map> getEntityLabelsMap() { + return entityLabelsMap; + } + + @Override + public Map getPartitionLabels() { + return entityLabelsMap.get(EntityType.PARTITION); + } + + @Override + public Map getZoneLabels() { + return entityLabelsMap.get(EntityType.ZONE); + } + + @Override + public void initializeData() { + synchronized (SyncQueue.getInstance()) { + initializeEpromData(); + refreshMemoryMap(); + } + } + + private void initializeEpromData() { + for (int i = 0; i < maxPartitions; i++) { + retrievePartitionLabel(i); + } + for (int i = 0; i < maxZones; i++) { + retrieveZoneLabel(i); + } + } + + public static class EvoCommunicatorBuilder implements ICommunicatorBuilder { + + private final Logger logger = LoggerFactory.getLogger(EvoCommunicatorBuilder.class); + + // Mandatory parameters + private PanelType panelType; + private String ipAddress; + private String ip150Password; + private ScheduledExecutorService scheduler; + + // Non mandatory or with predefined values + private Integer maxPartitions; + private Integer maxZones; + private int tcpPort = 10000; + private String pcPassword = "0000"; + + EvoCommunicatorBuilder(PanelType panelType) { + this.panelType = panelType; + } + + @Override + public IParadoxCommunicator build() { + if (panelType != PanelType.EVO48 && panelType != PanelType.EVO96 && panelType != PanelType.EVO192) { + throw new ParadoxRuntimeException("Unknown or unsupported panel type. Type=" + panelType); + } + + if (ipAddress == null || ipAddress.isEmpty()) { + throw new ParadoxRuntimeException("IP address cannot be empty !"); + } + + if (ip150Password == null || ip150Password.isEmpty()) { + throw new ParadoxRuntimeException("Password for IP150 cannot be empty !"); + } + + if (scheduler == null) { + throw new ParadoxRuntimeException("Scheduler is mandatory parameter !"); + } + + if (maxPartitions == null || maxPartitions < 1) { + this.maxPartitions = panelType.getPartitions(); + } + + if (maxZones == null || maxZones < 1) { + this.maxZones = panelType.getZones(); + } + + try { + return new EvoCommunicator(ipAddress, tcpPort, ip150Password, pcPassword, scheduler, panelType, + maxPartitions, maxZones); + } catch (IOException e) { + logger.warn("Unable to create communicator for Panel={}. Message={}", panelType, e.getMessage()); + throw new ParadoxRuntimeException(e); + } + } + + @Override + public ICommunicatorBuilder withMaxZones(Integer maxZones) { + this.maxZones = maxZones; + return this; + } + + @Override + public ICommunicatorBuilder withMaxPartitions(Integer maxPartitions) { + this.maxPartitions = maxPartitions; + return this; + } + + @Override + public ICommunicatorBuilder withIp150Password(String ip150Password) { + this.ip150Password = ip150Password; + return this; + } + + @Override + public ICommunicatorBuilder withPcPassword(String pcPassword) { + this.pcPassword = pcPassword; + return this; + } + + @Override + public ICommunicatorBuilder withIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + return this; + } + + @Override + public ICommunicatorBuilder withTcpPort(Integer tcpPort) { + this.tcpPort = tcpPort; + return this; + } + + @Override + public ICommunicatorBuilder withScheduler(ScheduledExecutorService scheduler) { + this.scheduler = scheduler; + return this; + } + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/GenericCommunicator.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/GenericCommunicator.java index 1e7e491a57b86..05f35bbcbb3dd 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/GenericCommunicator.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/GenericCommunicator.java @@ -1,149 +1,149 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -import java.io.IOException; -import java.net.UnknownHostException; -import java.util.Collection; -import java.util.concurrent.ScheduledExecutorService; - -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link GenericCommunicator} Used for the common communication logic for all types of panels. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class GenericCommunicator extends AbstractCommunicator implements IParadoxInitialLoginCommunicator { - - private final Logger logger = LoggerFactory.getLogger(GenericCommunicator.class); - - private final String password; - private final byte[] pcPasswordBytes; - private byte[] panelInfoBytes; - - public GenericCommunicator(String ipAddress, int tcpPort, String ip150Password, String pcPassword, - ScheduledExecutorService scheduler) throws UnknownHostException, IOException { - super(ipAddress, tcpPort, scheduler); - this.password = ip150Password; - this.pcPasswordBytes = ParadoxUtil.stringToBCD(pcPassword); - } - - @Override - public synchronized void startLoginSequence() { - logger.debug("Login sequence started"); - - if (isOnline()) { - logger.debug("Already logged on. No action needed. Returning."); - return; - } - - if (socket.isClosed()) { - try { - initializeSocket(); - } catch (IOException e) { - throw new ParadoxRuntimeException(e); - } - } - - CommunicationState.login(this); - } - - @Override - protected void handleReceivedPacket(IResponse response) { - retryCounter = 0; - IRequest request = response.getRequest(); - logger.trace("Handling response for request={}", request); - - RequestType type = request.getType(); - // Send back the response to proper receive methods - switch (type) { - case LOGON_SEQUENCE: - CommunicationState logonSequenceSender = ((LogonRequest) request).getLogonSequenceSender(); - logonSequenceSender.receiveResponse(this, response); - break; - case RAM: - try { - receiveRamResponse(response); - } catch (ParadoxException e) { - RamRequest ramRequest = (RamRequest) request; - logger.debug("Unable to retrieve RAM message for memory page={}", ramRequest.getRamBlockNumber()); - } - break; - case EPROM: - try { - receiveEpromResponse(response); - } catch (ParadoxException e) { - EpromRequest epromRequest = (EpromRequest) request; - logger.debug("Unable to retrieve EPROM message for entity Type={}, Id={}", - epromRequest.getEntityType(), epromRequest.getEntityId()); - } - break; - } - } - - @Override - public byte[] getPanelInfoBytes() { - return panelInfoBytes; - } - - @Override - public void setPanelInfoBytes(byte[] panelInfoBytes) { - this.panelInfoBytes = panelInfoBytes; - } - - @Override - public byte[] getPcPasswordBytes() { - return pcPasswordBytes; - } - - @Override - public String getPassword() { - return password; - } - - @Override - protected void receiveEpromResponse(IResponse response) throws ParadoxException { - // Nothing to do here. Override in sub class. - } - - @Override - protected void receiveRamResponse(IResponse response) throws ParadoxException { - // Nothing to do here. Override in sub class. - } - - public void refreshMemoryMap() { - // Nothing to do here. Override in sub class. - } - - @Override - public ScheduledExecutorService getScheduler() { - return scheduler; - } - - @Override - public void setListeners(Collection listeners) { - this.listeners = listeners; - } - - @Override - public void updateListeners() { - if (listeners != null && !listeners.isEmpty()) { - listeners.forEach(IDataUpdateListener::update); - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +import java.io.IOException; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.concurrent.ScheduledExecutorService; + +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link GenericCommunicator} Used for the common communication logic for all types of panels. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class GenericCommunicator extends AbstractCommunicator implements IParadoxInitialLoginCommunicator { + + private final Logger logger = LoggerFactory.getLogger(GenericCommunicator.class); + + private final String password; + private final byte[] pcPasswordBytes; + private byte[] panelInfoBytes; + + public GenericCommunicator(String ipAddress, int tcpPort, String ip150Password, String pcPassword, + ScheduledExecutorService scheduler) throws UnknownHostException, IOException { + super(ipAddress, tcpPort, scheduler); + this.password = ip150Password; + this.pcPasswordBytes = ParadoxUtil.stringToBCD(pcPassword); + } + + @Override + public synchronized void startLoginSequence() { + logger.debug("Login sequence started"); + + if (isOnline()) { + logger.debug("Already logged on. No action needed. Returning."); + return; + } + + if (socket.isClosed()) { + try { + initializeSocket(); + } catch (IOException e) { + throw new ParadoxRuntimeException(e); + } + } + + CommunicationState.login(this); + } + + @Override + protected void handleReceivedPacket(IResponse response) { + retryCounter = 0; + IRequest request = response.getRequest(); + logger.trace("Handling response for request={}", request); + + RequestType type = request.getType(); + // Send back the response to proper receive methods + switch (type) { + case LOGON_SEQUENCE: + CommunicationState logonSequenceSender = ((LogonRequest) request).getLogonSequenceSender(); + logonSequenceSender.receiveResponse(this, response); + break; + case RAM: + try { + receiveRamResponse(response); + } catch (ParadoxException e) { + RamRequest ramRequest = (RamRequest) request; + logger.debug("Unable to retrieve RAM message for memory page={}", ramRequest.getRamBlockNumber()); + } + break; + case EPROM: + try { + receiveEpromResponse(response); + } catch (ParadoxException e) { + EpromRequest epromRequest = (EpromRequest) request; + logger.debug("Unable to retrieve EPROM message for entity Type={}, Id={}", + epromRequest.getEntityType(), epromRequest.getEntityId()); + } + break; + } + } + + @Override + public byte[] getPanelInfoBytes() { + return panelInfoBytes; + } + + @Override + public void setPanelInfoBytes(byte[] panelInfoBytes) { + this.panelInfoBytes = panelInfoBytes; + } + + @Override + public byte[] getPcPasswordBytes() { + return pcPasswordBytes; + } + + @Override + public String getPassword() { + return password; + } + + @Override + protected void receiveEpromResponse(IResponse response) throws ParadoxException { + // Nothing to do here. Override in sub class. + } + + @Override + protected void receiveRamResponse(IResponse response) throws ParadoxException { + // Nothing to do here. Override in sub class. + } + + public void refreshMemoryMap() { + // Nothing to do here. Override in sub class. + } + + @Override + public ScheduledExecutorService getScheduler() { + return scheduler; + } + + @Override + public void setListeners(Collection listeners) { + this.listeners = listeners; + } + + @Override + public void updateListeners() { + if (listeners != null && !listeners.isEmpty()) { + listeners.forEach(IDataUpdateListener::update); + } + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IConnectionHandler.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IConnectionHandler.java index 67313604ae289..9514a3901a5c2 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IConnectionHandler.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IConnectionHandler.java @@ -31,5 +31,4 @@ public interface IConnectionHandler { * @param stoListener This method sets a listener which is called in case of socket timeout occurrence. */ void setStoListener(ISocketTimeOutListener stoListener); - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IP150Command.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IP150Command.java index 487d362666a51..a55657d27aa5c 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IP150Command.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IP150Command.java @@ -1,26 +1,26 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -/** - * The {@link IParadoxCommunicator} is representing the functionality of communication implementation. - * If another Paradox alarm system is used this interface must be implemented. - * - * @author Konstantin Polihronov - Initial contribution - */ -public enum IP150Command { - LOGOUT, - LOGIN, - RESET, - UNIMPLEMENTED -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +/** + * The {@link IParadoxCommunicator} is representing the functionality of communication implementation. + * If another Paradox alarm system is used this interface must be implemented. + * + * @author Konstantin Polihronov - Initial contribution + */ +public enum IP150Command { + LOGOUT, + LOGIN, + RESET, + UNIMPLEMENTED +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxCommunicator.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxCommunicator.java index 88db7824d179d..56ebbdc452022 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxCommunicator.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxCommunicator.java @@ -1,41 +1,41 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -import java.util.List; -import java.util.Map; - -import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; - -/** - * The {@link IParadoxCommunicator} is representing the functionality of communication implementation. - * If another Paradox alarm system is used this interface must be implemented. - * - * @author Konstantin Polihronov - Initial contribution - */ -public interface IParadoxCommunicator extends IParadoxInitialLoginCommunicator { - - void refreshMemoryMap(); - - List getPartitionFlags(); - - ZoneStateFlags getZoneStateFlags(); - - void executeCommand(String commandAsString); - - Map getPartitionLabels(); - - Map getZoneLabels(); - - void initializeData(); -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +import java.util.List; +import java.util.Map; + +import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; + +/** + * The {@link IParadoxCommunicator} is representing the functionality of communication implementation. + * If another Paradox alarm system is used this interface must be implemented. + * + * @author Konstantin Polihronov - Initial contribution + */ +public interface IParadoxCommunicator extends IParadoxInitialLoginCommunicator { + + void refreshMemoryMap(); + + List getPartitionFlags(); + + ZoneStateFlags getZoneStateFlags(); + + void executeCommand(String commandAsString); + + Map getPartitionLabels(); + + Map getZoneLabels(); + + void initializeData(); +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxInitialLoginCommunicator.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxInitialLoginCommunicator.java index e1f917b553b01..e971692ce65cf 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxInitialLoginCommunicator.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/IParadoxInitialLoginCommunicator.java @@ -1,43 +1,42 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -import java.util.Collection; -import java.util.concurrent.ScheduledExecutorService; - -/** - * The {@link IParadoxInitialLoginCommunicator} is representing the functionality of generic communication. Only - * login/logout - * sequence which is used to determine the Panel type. - * - * @author Konstantin Polihronov - Initial contribution - */ -public interface IParadoxInitialLoginCommunicator extends IConnectionHandler { - - void startLoginSequence(); - - byte[] getPanelInfoBytes(); - - void setPanelInfoBytes(byte[] panelInfoBytes); - - byte[] getPcPasswordBytes(); - - String getPassword(); - - ScheduledExecutorService getScheduler(); - - void setListeners(Collection listeners); - - void updateListeners(); - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +import java.util.Collection; +import java.util.concurrent.ScheduledExecutorService; + +/** + * The {@link IParadoxInitialLoginCommunicator} is representing the functionality of generic communication. Only + * login/logout + * sequence which is used to determine the Panel type. + * + * @author Konstantin Polihronov - Initial contribution + */ +public interface IParadoxInitialLoginCommunicator extends IConnectionHandler { + + void startLoginSequence(); + + byte[] getPanelInfoBytes(); + + void setPanelInfoBytes(byte[] panelInfoBytes); + + byte[] getPcPasswordBytes(); + + String getPassword(); + + ScheduledExecutorService getScheduler(); + + void setListeners(Collection listeners); + + void updateListeners(); +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/MemoryMap.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/MemoryMap.java index 7d8f2958723ff..65ce1925b6c98 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/MemoryMap.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/MemoryMap.java @@ -1,46 +1,46 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -import java.util.ArrayList; -import java.util.List; - -/** - * The {@link MemoryMap} this keeps Paradox RAM map as cached object inside the communicator. - * Every record in the list is byte array which contains 64 byte RAM page. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class MemoryMap { - private List ramCache = new ArrayList<>(); - - public MemoryMap(List ramCache) { - this.ramCache = ramCache; - } - - public List getRamCache() { - return ramCache; - } - - public void setRamCache(List ramCache) { - this.ramCache = ramCache; - } - - public synchronized byte[] getElement(int index) { - return ramCache.get(index); - } - - public synchronized void updateElement(int index, byte[] elementValue) { - ramCache.set(index - 1, elementValue); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +import java.util.ArrayList; +import java.util.List; + +/** + * The {@link MemoryMap} this keeps Paradox RAM map as cached object inside the communicator. + * Every record in the list is byte array which contains 64 byte RAM page. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class MemoryMap { + private List ramCache = new ArrayList<>(); + + public MemoryMap(List ramCache) { + this.ramCache = ramCache; + } + + public List getRamCache() { + return ramCache; + } + + public void setRamCache(List ramCache) { + this.ramCache = ramCache; + } + + public synchronized byte[] getElement(int index) { + return ramCache.get(index); + } + + public synchronized void updateElement(int index, byte[] elementValue) { + ramCache.set(index - 1, elementValue); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/ParadoxBuilderFactory.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/ParadoxBuilderFactory.java index b6b24e68923df..cb88f004af24d 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/ParadoxBuilderFactory.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/ParadoxBuilderFactory.java @@ -1,41 +1,41 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication; - -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; -import org.openhab.binding.paradoxalarm.internal.model.PanelType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxBuilderFactory} used to create the proper communicator builder objects for different panel - * types. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxBuilderFactory { - - private final Logger logger = LoggerFactory.getLogger(ParadoxBuilderFactory.class); - - public ICommunicatorBuilder createBuilder(PanelType panelType) { - switch (panelType) { - case EVO48: - case EVO96: - case EVO192: - logger.debug("Creating new builder for Paradox {} system", panelType); - return new EvoCommunicator.EvoCommunicatorBuilder(panelType); - default: - throw new ParadoxRuntimeException("Unsupported panel type: " + panelType); - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication; + +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; +import org.openhab.binding.paradoxalarm.internal.model.PanelType; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxBuilderFactory} used to create the proper communicator builder objects for different panel + * types. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxBuilderFactory { + + private final Logger logger = LoggerFactory.getLogger(ParadoxBuilderFactory.class); + + public ICommunicatorBuilder createBuilder(PanelType panelType) { + switch (panelType) { + case EVO48: + case EVO96: + case EVO192: + logger.debug("Creating new builder for Paradox {} system", panelType); + return new EvoCommunicator.EvoCommunicatorBuilder(panelType); + default: + throw new ParadoxRuntimeException("Unsupported panel type: " + panelType); + } + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/RamRequest.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/RamRequest.java index e22a5e2761aef..1eba27a6ebd81 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/RamRequest.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/RamRequest.java @@ -36,6 +36,4 @@ public int getRamBlockNumber() { public String toString() { return "RamRequest [getType()=" + getType() + ", getRamBlockNumber()=" + getRamBlockNumber() + "]"; } - - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/Response.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/Response.java index e1f275a80c5f5..40b0503eecce5 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/Response.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/Response.java @@ -41,5 +41,4 @@ public byte[] getPayload() { public IRequest getRequest() { return request; } - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/SyncQueue.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/SyncQueue.java index 7d87253f62955..9f0bf07504962 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/SyncQueue.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/SyncQueue.java @@ -77,7 +77,6 @@ public synchronized IRequest removeSendRequest() { return request; } - public synchronized IRequest peekSendQueue() { return sendQueue.peek(); } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/EpromRequestPayload.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/EpromRequestPayload.java index a11fbe7183b65..648cbfa44e69c 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/EpromRequestPayload.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/EpromRequestPayload.java @@ -1,50 +1,49 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link EpromRequestPayload} Object representing payload of IP packet which retrieves data from Paradox EPROM - * - * @author Konstantin Polihronov - Initial contribution - */ -public class EpromRequestPayload extends MemoryRequestPayload implements IPPacketPayload { - - private final Logger logger = LoggerFactory.getLogger(EpromRequestPayload.class); - - public EpromRequestPayload(int address, byte bytesToRead) throws ParadoxException { - super(address, bytesToRead); - } - - @Override - protected byte calculateControlByte() { - int address = getAddress(); - logTraceHexFormatted("Address: {}", address); - - byte controlByte = 0x00; - byte[] shortToByteArray = ParadoxUtil.intToByteArray(address); - if (shortToByteArray.length > 2) { - byte bit16 = ParadoxUtil.getBit(address, 16); - controlByte |= bit16 << 0; - byte bit17 = ParadoxUtil.getBit(address, 17); - controlByte |= bit17 << 1; - } - logger.trace("ControlByte value: {}", controlByte); - return controlByte; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link EpromRequestPayload} Object representing payload of IP packet which retrieves data from Paradox EPROM + * + * @author Konstantin Polihronov - Initial contribution + */ +public class EpromRequestPayload extends MemoryRequestPayload implements IPPacketPayload { + + private final Logger logger = LoggerFactory.getLogger(EpromRequestPayload.class); + + public EpromRequestPayload(int address, byte bytesToRead) throws ParadoxException { + super(address, bytesToRead); + } + + @Override + protected byte calculateControlByte() { + int address = getAddress(); + logTraceHexFormatted("Address: {}", address); + + byte controlByte = 0x00; + byte[] shortToByteArray = ParadoxUtil.intToByteArray(address); + if (shortToByteArray.length > 2) { + byte bit16 = ParadoxUtil.getBit(address, 16); + controlByte |= bit16 << 0; + byte bit17 = ParadoxUtil.getBit(address, 17); + controlByte |= bit17 << 1; + } + logger.trace("ControlByte value: {}", controlByte); + return controlByte; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderCommand.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderCommand.java index 7cf0e3745f677..f9880f1635e54 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderCommand.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderCommand.java @@ -1,48 +1,48 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -/** - * {@link HeaderCommand} - * From Jean's(Jean_Henning from community) excel sheet: - * 0x00: Serial/pass through command any other: IP module command - * 0xF0: Connect to IP module - * 0xF2: (unknown, part of login sequence) - * 0xF3: (unknown, part of login sequence) - * 0xF4: (unknown) - * 0xF8: (unknown, occurs after serial connection is initiated with the panel) - * 0xFB: Multicommand - * 0xFF: Disconnect from IP module (byte 00 in the response payload MUST be 01 to indicate a successful disconnect) - * - * @author Konstantin Polihronov - Initial contribution - */ -public enum HeaderCommand { - SERIAL((byte) 0x00), - CONNECT_TO_IP_MODULE((byte) 0xF0), - LOGIN_COMMAND1((byte) 0xF2), - LOGIN_COMMAND2((byte) 0xF3), - UNKNOWN1((byte) 0xF4), - SERIAL_CONNECTION_INITIATED((byte) 0xF8), - MULTI_COMMAND((byte) 0xFB), - DISCONNECT((byte) 0xFF); - - private byte value; - - HeaderCommand(byte value) { - this.value = value; - } - - public byte getValue() { - return value; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +/** + * {@link HeaderCommand} + * From Jean's(Jean_Henning from community) excel sheet: + * 0x00: Serial/pass through command any other: IP module command + * 0xF0: Connect to IP module + * 0xF2: (unknown, part of login sequence) + * 0xF3: (unknown, part of login sequence) + * 0xF4: (unknown) + * 0xF8: (unknown, occurs after serial connection is initiated with the panel) + * 0xFB: Multicommand + * 0xFF: Disconnect from IP module (byte 00 in the response payload MUST be 01 to indicate a successful disconnect) + * + * @author Konstantin Polihronov - Initial contribution + */ +public enum HeaderCommand { + SERIAL((byte) 0x00), + CONNECT_TO_IP_MODULE((byte) 0xF0), + LOGIN_COMMAND1((byte) 0xF2), + LOGIN_COMMAND2((byte) 0xF3), + UNKNOWN1((byte) 0xF4), + SERIAL_CONNECTION_INITIATED((byte) 0xF8), + MULTI_COMMAND((byte) 0xFB), + DISCONNECT((byte) 0xFF); + + private byte value; + + HeaderCommand(byte value) { + this.value = value; + } + + public byte getValue() { + return value; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderMessageType.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderMessageType.java index 9e970e7d8f010..5db8a9c1ed3dd 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderMessageType.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/HeaderMessageType.java @@ -1,39 +1,39 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -/** - * From Jean's excel: - * 0x03: IP Request - * 0x01: IP Response - * 0x04: Serial/pass through command request - * 0x02: Serial/pass through command response - * - * @author Konstantin Polihronov - Initial contribution - */ -public enum HeaderMessageType { - IP_REQUEST((byte) 0x03), - IP_RESPONSE((byte) 0x01), - SERIAL_PASSTHRU_REQUEST((byte) 0x04), - SERIAL_PASSTHRU_RESPONSE((byte) 0x02); - - private byte value; - - HeaderMessageType(byte value) { - this.value = value; - } - - public byte getValue() { - return value; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +/** + * From Jean's excel: + * 0x03: IP Request + * 0x01: IP Response + * 0x04: Serial/pass through command request + * 0x02: Serial/pass through command response + * + * @author Konstantin Polihronov - Initial contribution + */ +public enum HeaderMessageType { + IP_REQUEST((byte) 0x03), + IP_RESPONSE((byte) 0x01), + SERIAL_PASSTHRU_REQUEST((byte) 0x04), + SERIAL_PASSTHRU_RESPONSE((byte) 0x02); + + private byte value; + + HeaderMessageType(byte value) { + this.value = value; + } + + public byte getValue() { + return value; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IPPacketPayload.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IPPacketPayload.java index 8ea56ff552d5d..4d5ce3c7deeb7 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IPPacketPayload.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IPPacketPayload.java @@ -1,24 +1,24 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -/** - * Interface representing what we need to add IPPacketPayload. - * Not sure if we need it as it needs only getBytes() method so far. - * - * @author Konstantin Polihronov - Initial contribution - */ -public interface IPPacketPayload { - - byte[] getBytes(); -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +/** + * Interface representing what we need to add IPPacketPayload. + * Not sure if we need it as it needs only getBytes() method so far. + * + * @author Konstantin Polihronov - Initial contribution + */ +public interface IPPacketPayload { + + byte[] getBytes(); +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IpMessagesConstants.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IpMessagesConstants.java index 66c3f02e8e763..425d051515aa0 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IpMessagesConstants.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/IpMessagesConstants.java @@ -1,28 +1,29 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -/** - * Constants representing packet headers / messages which are easier written as static final byte arrays - * - * @author Konstantin Polihronov - Initial contribution - */ -public class IpMessagesConstants { - - public static final byte[] UNKNOWN_IP150_REQUEST_MESSAGE01 = { 0x0A, 0x50, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, 0x59 }; - - public static final byte[] EPROM_REQUEST_HEADER = { (byte) 0xAA, 0x08, 0x00, 0x04, 0x08, 0x00, 0x00, 0x14, (byte) 0xEE, - (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE }; - - public static final byte[] LOGOUT_MESAGE_BYTES = new byte[] { 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00 }; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +/** + * Constants representing packet headers / messages which are easier written as static final byte arrays + * + * @author Konstantin Polihronov - Initial contribution + */ +public class IpMessagesConstants { + + public static final byte[] UNKNOWN_IP150_REQUEST_MESSAGE01 = { 0x0A, 0x50, 0x08, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x59 }; + + public static final byte[] EPROM_REQUEST_HEADER = { (byte) 0xAA, 0x08, 0x00, 0x04, 0x08, 0x00, 0x00, 0x14, + (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE, (byte) 0xEE }; + + public static final byte[] LOGOUT_MESAGE_BYTES = new byte[] { 0x00, 0x07, 0x05, 0x00, 0x00, 0x00, 0x00 }; +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/MemoryRequestPayload.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/MemoryRequestPayload.java index 62b78e5d9b7be..2b41dabadb284 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/MemoryRequestPayload.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/MemoryRequestPayload.java @@ -1,89 +1,88 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; - -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link EpromRequestPayload} Abstract class which contains common logic used in RAM and EPROM payload generation - * classes. - * - * @author Konstantin Polihronov - Initial contribution - */ -public abstract class MemoryRequestPayload implements IPPacketPayload { - - private final Logger logger = LoggerFactory.getLogger(MemoryRequestPayload.class); - - private static final short MESSAGE_START = (short) ((0x50 << 8) | 0x08); - - private int address; - private byte bytesToRead; - - public MemoryRequestPayload(int address, byte bytesToRead) throws ParadoxException { - if (bytesToRead < 1 || bytesToRead > 64) { - throw new ParadoxException("Invalid bytes to read. Valid values are 1 to 64."); - } - - this.address = address; - this.bytesToRead = bytesToRead; - - logTraceHexFormatted("MessageStart: {}", MESSAGE_START); - } - - protected abstract byte calculateControlByte(); - - @Override - public byte[] getBytes() { - try { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - - outputStream.write(ParadoxUtil.shortToByteArray(MESSAGE_START)); - outputStream.write(calculateControlByte()); - outputStream.write((byte) 0x00); - - outputStream.write(ParadoxUtil.shortToByteArray((short) address)); - - outputStream.write(bytesToRead); - - // The bellow 0x00 is dummy which will be overwritten by the checksum - outputStream.write(0x00); - byte[] byteArray = outputStream.toByteArray(); - - return byteArray; - } catch (IOException e) { - throw new ParadoxRuntimeException("Unable to create byte array stream.", e); - } - } - - protected int getAddress() { - return address; - } - - protected void logTraceHexFormatted(String text, int address) { - logTraceOptional(text, "0x%02X,\t", address); - } - - private void logTraceOptional(String text, String format, int address) { - if (logger.isTraceEnabled()) { - logger.trace("Address: {}", String.format(format, address)); - } - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; + +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link EpromRequestPayload} Abstract class which contains common logic used in RAM and EPROM payload generation + * classes. + * + * @author Konstantin Polihronov - Initial contribution + */ +public abstract class MemoryRequestPayload implements IPPacketPayload { + + private final Logger logger = LoggerFactory.getLogger(MemoryRequestPayload.class); + + private static final short MESSAGE_START = (short) ((0x50 << 8) | 0x08); + + private int address; + private byte bytesToRead; + + public MemoryRequestPayload(int address, byte bytesToRead) throws ParadoxException { + if (bytesToRead < 1 || bytesToRead > 64) { + throw new ParadoxException("Invalid bytes to read. Valid values are 1 to 64."); + } + + this.address = address; + this.bytesToRead = bytesToRead; + + logTraceHexFormatted("MessageStart: {}", MESSAGE_START); + } + + protected abstract byte calculateControlByte(); + + @Override + public byte[] getBytes() { + try { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + + outputStream.write(ParadoxUtil.shortToByteArray(MESSAGE_START)); + outputStream.write(calculateControlByte()); + outputStream.write((byte) 0x00); + + outputStream.write(ParadoxUtil.shortToByteArray((short) address)); + + outputStream.write(bytesToRead); + + // The bellow 0x00 is dummy which will be overwritten by the checksum + outputStream.write(0x00); + byte[] byteArray = outputStream.toByteArray(); + + return byteArray; + } catch (IOException e) { + throw new ParadoxRuntimeException("Unable to create byte array stream.", e); + } + } + + protected int getAddress() { + return address; + } + + protected void logTraceHexFormatted(String text, int address) { + logTraceOptional(text, "0x%02X,\t", address); + } + + private void logTraceOptional(String text, String format, int address) { + if (logger.isTraceEnabled()) { + logger.trace("Address: {}", String.format(format, address)); + } + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/ParadoxIPPacket.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/ParadoxIPPacket.java index da3a511bdeee9..ceebff426d3a0 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/ParadoxIPPacket.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/ParadoxIPPacket.java @@ -1,198 +1,198 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; -import java.nio.charset.StandardCharsets; - -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; - -/** - * The {@link ParadoxIPPacket} This class is object representing a full IP request packet. Header and payload together. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxIPPacket implements IPPacketPayload { - - public static final byte[] EMPTY_PAYLOAD = new byte[0]; - - /** - * Start of header - always 0xAA - */ - private byte startOfHeader = (byte) 0xAA; - - /** - * Payload length - 2 bytes (LL HH) - */ - private short payloadLength = 0; - - /** - * "Message Type: 0x01: IP responses 0x02: Serial/pass through cmd response - * 0x03: IP requests 0x04: Serial/pass through cmd requests" - */ - private byte messageType = 0x03; - - /** - * "IP Encryption 0x08: Disabled 0x09: Enabled" - */ - private byte encryption = 0x08; - private byte command = 0; - private byte subCommand = 0; - private byte unknown0 = 0x0A; - - /** - * Padding bytes to fill the header to 16 bytes with 0xEE. - */ - private long theRest = 0xEEEEEEEEEEEEEEEEl; - private byte[] payload; - private boolean isChecksumRequired; - - public ParadoxIPPacket(IPPacketPayload payload) { - this(payload.getBytes(), true); - } - - public ParadoxIPPacket(String payload, boolean isChecksumRequired) { - this(payload.getBytes(StandardCharsets.US_ASCII), isChecksumRequired); - } - - public ParadoxIPPacket(byte[] payload, boolean isChecksumRequired) { - this.isChecksumRequired = isChecksumRequired; - - if (payload == null) { - this.payload = new byte[0]; - this.payloadLength = 0; - } else { - this.payload = payload; - this.payloadLength = (short) payload.length; - } - - // TODO: Figure out how to fill up to 16, 32, 48, etc sizes with 0xEE - // if (payload.length < 16) { - // this.payload = extendPayload(16, payload); - // } else { - // } - } - - @Override - public byte[] getBytes() { - try { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - - outputStream.write(startOfHeader); - outputStream.write(ByteBuffer.allocate(Short.SIZE / Byte.SIZE).order(ByteOrder.LITTLE_ENDIAN) - .putShort(payloadLength).array()); - outputStream.write(messageType); - outputStream.write(encryption); - outputStream.write(command); - outputStream.write(subCommand); - outputStream.write(unknown0); - outputStream.write(ByteBuffer.allocate(Long.SIZE / Byte.SIZE).putLong(theRest).array()); - outputStream.write(payload); - byte[] byteArray = outputStream.toByteArray(); - - if (isChecksumRequired) { - byteArray[byteArray.length - 1] = ParadoxUtil.calculateChecksum(payload); - } - - return byteArray; - } catch (IOException e) { - throw new ParadoxRuntimeException("Unable to create byte array stream.", e); - } - } - - public byte getStartOfHeader() { - return startOfHeader; - } - - public ParadoxIPPacket setStartOfHeader(byte startOfHeader) { - this.startOfHeader = startOfHeader; - return this; - } - - public short getPayloadLength() { - return payloadLength; - } - - public ParadoxIPPacket setPayloadLength(short payloadLength) { - this.payloadLength = payloadLength; - return this; - } - - public byte getMessageType() { - return messageType; - } - - public ParadoxIPPacket setMessageType(byte messageType) { - this.messageType = messageType; - return this; - } - - public ParadoxIPPacket setMessageType(HeaderMessageType messageType) { - this.messageType = messageType.getValue(); - return this; - } - - public byte getEncryption() { - return encryption; - } - - public ParadoxIPPacket setEncryption(byte encryption) { - this.encryption = encryption; - return this; - } - - public byte getCommand() { - return command; - } - - public ParadoxIPPacket setCommand(HeaderCommand command) { - this.command = command.getValue(); - return this; - } - - public ParadoxIPPacket setCommand(byte command) { - this.command = command; - return this; - } - - public byte getSubCommand() { - return subCommand; - } - - public ParadoxIPPacket setSubCommand(byte subCommand) { - this.subCommand = subCommand; - return this; - } - - public byte getUnknown0() { - return unknown0; - } - - public ParadoxIPPacket setUnknown0(byte unknown0) { - this.unknown0 = unknown0; - return this; - } - - public long getTheRest() { - return theRest; - } - - public ParadoxIPPacket setTheRest(long theRest) { - this.theRest = theRest; - return this; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; +import java.nio.charset.StandardCharsets; + +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; + +/** + * The {@link ParadoxIPPacket} This class is object representing a full IP request packet. Header and payload together. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxIPPacket implements IPPacketPayload { + + public static final byte[] EMPTY_PAYLOAD = new byte[0]; + + /** + * Start of header - always 0xAA + */ + private byte startOfHeader = (byte) 0xAA; + + /** + * Payload length - 2 bytes (LL HH) + */ + private short payloadLength = 0; + + /** + * "Message Type: 0x01: IP responses 0x02: Serial/pass through cmd response + * 0x03: IP requests 0x04: Serial/pass through cmd requests" + */ + private byte messageType = 0x03; + + /** + * "IP Encryption 0x08: Disabled 0x09: Enabled" + */ + private byte encryption = 0x08; + private byte command = 0; + private byte subCommand = 0; + private byte unknown0 = 0x0A; + + /** + * Padding bytes to fill the header to 16 bytes with 0xEE. + */ + private long theRest = 0xEEEEEEEEEEEEEEEEl; + private byte[] payload; + private boolean isChecksumRequired; + + public ParadoxIPPacket(IPPacketPayload payload) { + this(payload.getBytes(), true); + } + + public ParadoxIPPacket(String payload, boolean isChecksumRequired) { + this(payload.getBytes(StandardCharsets.US_ASCII), isChecksumRequired); + } + + public ParadoxIPPacket(byte[] payload, boolean isChecksumRequired) { + this.isChecksumRequired = isChecksumRequired; + + if (payload == null) { + this.payload = new byte[0]; + this.payloadLength = 0; + } else { + this.payload = payload; + this.payloadLength = (short) payload.length; + } + + // TODO: Figure out how to fill up to 16, 32, 48, etc sizes with 0xEE + // if (payload.length < 16) { + // this.payload = extendPayload(16, payload); + // } else { + // } + } + + @Override + public byte[] getBytes() { + try { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + + outputStream.write(startOfHeader); + outputStream.write(ByteBuffer.allocate(Short.SIZE / Byte.SIZE).order(ByteOrder.LITTLE_ENDIAN) + .putShort(payloadLength).array()); + outputStream.write(messageType); + outputStream.write(encryption); + outputStream.write(command); + outputStream.write(subCommand); + outputStream.write(unknown0); + outputStream.write(ByteBuffer.allocate(Long.SIZE / Byte.SIZE).putLong(theRest).array()); + outputStream.write(payload); + byte[] byteArray = outputStream.toByteArray(); + + if (isChecksumRequired) { + byteArray[byteArray.length - 1] = ParadoxUtil.calculateChecksum(payload); + } + + return byteArray; + } catch (IOException e) { + throw new ParadoxRuntimeException("Unable to create byte array stream.", e); + } + } + + public byte getStartOfHeader() { + return startOfHeader; + } + + public ParadoxIPPacket setStartOfHeader(byte startOfHeader) { + this.startOfHeader = startOfHeader; + return this; + } + + public short getPayloadLength() { + return payloadLength; + } + + public ParadoxIPPacket setPayloadLength(short payloadLength) { + this.payloadLength = payloadLength; + return this; + } + + public byte getMessageType() { + return messageType; + } + + public ParadoxIPPacket setMessageType(byte messageType) { + this.messageType = messageType; + return this; + } + + public ParadoxIPPacket setMessageType(HeaderMessageType messageType) { + this.messageType = messageType.getValue(); + return this; + } + + public byte getEncryption() { + return encryption; + } + + public ParadoxIPPacket setEncryption(byte encryption) { + this.encryption = encryption; + return this; + } + + public byte getCommand() { + return command; + } + + public ParadoxIPPacket setCommand(HeaderCommand command) { + this.command = command.getValue(); + return this; + } + + public ParadoxIPPacket setCommand(byte command) { + this.command = command; + return this; + } + + public byte getSubCommand() { + return subCommand; + } + + public ParadoxIPPacket setSubCommand(byte subCommand) { + this.subCommand = subCommand; + return this; + } + + public byte getUnknown0() { + return unknown0; + } + + public ParadoxIPPacket setUnknown0(byte unknown0) { + this.unknown0 = unknown0; + return this; + } + + public long getTheRest() { + return theRest; + } + + public ParadoxIPPacket setTheRest(long theRest) { + this.theRest = theRest; + return this; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/RamRequestPayload.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/RamRequestPayload.java index 6ffb14ce381da..beeab01ba1d96 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/RamRequestPayload.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/communication/messages/RamRequestPayload.java @@ -1,36 +1,35 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.communication.messages; - -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; - -/** - * The {@link RamRequestPayload} Object representing payload of IP packet which retrieves data from Paradox RAM - * - * @author Konstantin Polihronov - Initial contribution - */ -public class RamRequestPayload extends MemoryRequestPayload implements IPPacketPayload { - - private static final byte CONTROL_BYTE = ParadoxUtil.setBit((byte) 0, 7, 1); - - public RamRequestPayload(int address, byte bytesToRead) throws ParadoxException { - super(address, bytesToRead); - } - - @Override - protected byte calculateControlByte() { - return CONTROL_BYTE; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.communication.messages; + +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; + +/** + * The {@link RamRequestPayload} Object representing payload of IP packet which retrieves data from Paradox RAM + * + * @author Konstantin Polihronov - Initial contribution + */ +public class RamRequestPayload extends MemoryRequestPayload implements IPPacketPayload { + + private static final byte CONTROL_BYTE = ParadoxUtil.setBit((byte) 0, 7, 1); + + public RamRequestPayload(int address, byte bytesToRead) throws ParadoxException { + super(address, bytesToRead); + } + + @Override + protected byte calculateControlByte() { + return CONTROL_BYTE; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/discovery/ParadoxDiscoveryService.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/discovery/ParadoxDiscoveryService.java index 235a6ce2fef1d..e0d6043aed705 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/discovery/ParadoxDiscoveryService.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/discovery/ParadoxDiscoveryService.java @@ -111,5 +111,4 @@ private void discoverZones(List zones) { thingDiscovered(result); }); } - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxException.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxException.java index ba8a21a571b11..cd8f6001e60fa 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxException.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxException.java @@ -1,41 +1,39 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.exceptions; - -/** - * The {@link ParadoxException} Wrapper of Exception class. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxException extends Exception { - - private static final long serialVersionUID = -5771699322577106346L; - - public ParadoxException(String message, Throwable cause, boolean enableSuppression, - boolean writableStackTrace) { - super(message, cause, enableSuppression, writableStackTrace); - } - - public ParadoxException(String message, Throwable cause) { - super(message, cause); - } - - public ParadoxException(String message) { - super(message); - } - - public ParadoxException(Throwable cause) { - super(cause); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.exceptions; + +/** + * The {@link ParadoxException} Wrapper of Exception class. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxException extends Exception { + + private static final long serialVersionUID = -5771699322577106346L; + + public ParadoxException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + super(message, cause, enableSuppression, writableStackTrace); + } + + public ParadoxException(String message, Throwable cause) { + super(message, cause); + } + + public ParadoxException(String message) { + super(message); + } + + public ParadoxException(Throwable cause) { + super(cause); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxRuntimeException.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxRuntimeException.java index d48e64e17bff8..6d57de4001569 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxRuntimeException.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/exceptions/ParadoxRuntimeException.java @@ -29,7 +29,8 @@ public ParadoxRuntimeException() { super(); } - public ParadoxRuntimeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) { + public ParadoxRuntimeException(String message, Throwable cause, boolean enableSuppression, + boolean writableStackTrace) { super(message, cause, enableSuppression, writableStackTrace); } @@ -38,7 +39,7 @@ public ParadoxRuntimeException(String message, Throwable cause) { } public ParadoxRuntimeException(Throwable cause) { - this("This is a Paradox Binding wrapper of RuntimeException. For detailed error message, see the original exception. Short message: " + cause.getMessage(), cause); + this("This is a Paradox Binding wrapper of RuntimeException. For detailed error message, see the original exception. Short message: " + + cause.getMessage(), cause); } - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityBaseHandler.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityBaseHandler.java index bed4a9434b92b..b1e236accf9f2 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityBaseHandler.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityBaseHandler.java @@ -1,80 +1,81 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -import java.util.concurrent.TimeUnit; - -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link EntityBaseHandler} abstract handler class that contains common logic for entities. - * - * @author Konstantin Polihronov - Initial contribution - */ -public abstract class EntityBaseHandler extends BaseThingHandler { - - private static final long INITIAL_DELAY_SECONDS = 20; - - private final Logger logger = LoggerFactory.getLogger(EntityBaseHandler.class); - - protected EntityConfiguration config; - - public EntityBaseHandler(Thing thing) { - super(thing); - } - - @Override - public void initialize() { - logger.debug("Start initializing. {}", thing.getLabel()); - updateStatus(ThingStatus.UNKNOWN); - - config = getConfigAs(EntityConfiguration.class); - - scheduler.schedule(this::initializeDelayed, INITIAL_DELAY_SECONDS, TimeUnit.SECONDS); - } - - private void initializeDelayed() { - logger.trace("Start initializeDelayed() in {}", getThing().getUID()); - ParadoxPanel panel = ParadoxPanel.getInstance(); - if (!panel.isPanelSupported()) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "Panel " + panel.getPanelInformation().getPanelType().name() + " is not supported."); - } - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (command instanceof RefreshType) { - if (ThingStatus.ONLINE == getThing().getStatus()) { - updateEntity(); - } else { - logger.debug("Received REFRESH command but {} has the following detailed status {}", getThing().getUID(), getThing().getStatusInfo()); - } - } - } - - protected abstract void updateEntity(); - - protected int calculateEntityIndex() { - return Math.max(0, config.getId() - 1); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +import java.util.concurrent.TimeUnit; + +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link EntityBaseHandler} abstract handler class that contains common logic for entities. + * + * @author Konstantin Polihronov - Initial contribution + */ +public abstract class EntityBaseHandler extends BaseThingHandler { + + private static final long INITIAL_DELAY_SECONDS = 20; + + private final Logger logger = LoggerFactory.getLogger(EntityBaseHandler.class); + + protected EntityConfiguration config; + + public EntityBaseHandler(Thing thing) { + super(thing); + } + + @Override + public void initialize() { + logger.debug("Start initializing. {}", thing.getLabel()); + updateStatus(ThingStatus.UNKNOWN); + + config = getConfigAs(EntityConfiguration.class); + + scheduler.schedule(this::initializeDelayed, INITIAL_DELAY_SECONDS, TimeUnit.SECONDS); + } + + private void initializeDelayed() { + logger.trace("Start initializeDelayed() in {}", getThing().getUID()); + ParadoxPanel panel = ParadoxPanel.getInstance(); + if (!panel.isPanelSupported()) { + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, + "Panel " + panel.getPanelInformation().getPanelType().name() + " is not supported."); + } + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (command instanceof RefreshType) { + if (ThingStatus.ONLINE == getThing().getStatus()) { + updateEntity(); + } else { + logger.debug("Received REFRESH command but {} has the following detailed status {}", + getThing().getUID(), getThing().getStatusInfo()); + } + } + } + + protected abstract void updateEntity(); + + protected int calculateEntityIndex() { + return Math.max(0, config.getId() - 1); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityConfiguration.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityConfiguration.java index 9762b325be0a2..27dc0bdb35435 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityConfiguration.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/EntityConfiguration.java @@ -1,26 +1,26 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -/** - * The {@link EntityConfiguration} Common configuration class used by all entities at the moment. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class EntityConfiguration { - private int id; - - public int getId() { - return id; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +/** + * The {@link EntityConfiguration} Common configuration class used by all entities at the moment. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class EntityConfiguration { + private int id; + + public int getId() { + return id; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmBindingConstants.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmBindingConstants.java index 13203997792f0..0d794cdf562fd 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmBindingConstants.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmBindingConstants.java @@ -1,94 +1,93 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -import java.util.Collections; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.ThingTypeUID; - -/** - * The {@link ParadoxAlarmBindingConstants} class defines common constants, which are - * used across the whole binding. - * - * @author Konstantin Polihronov - Initial contribution - */ -@NonNullByDefault -public class ParadoxAlarmBindingConstants { - - public static final String BINDING_ID = "paradoxalarm"; - - public static final String PARADOX_COMMUNICATOR_THING_TYPE_ID = "ip150"; - - public static final String PARADOX_PANEL_THING_TYPE_ID = "panel"; - - public static final String PARTITION_THING_TYPE_ID = "partition"; - - public static final String ZONE_THING_TYPE_ID = "zone"; - - // List of all Thing Type UIDs - public static final ThingTypeUID COMMUNICATOR_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, - PARADOX_COMMUNICATOR_THING_TYPE_ID); - public static final ThingTypeUID PANEL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, PARADOX_PANEL_THING_TYPE_ID); - public static final ThingTypeUID PARTITION_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, PARTITION_THING_TYPE_ID); - public static final ThingTypeUID ZONE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, ZONE_THING_TYPE_ID); - - public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet( - Stream.of(COMMUNICATOR_THING_TYPE_UID, PANEL_THING_TYPE_UID, PARTITION_THING_TYPE_UID, ZONE_THING_TYPE_UID) - .collect(Collectors.toSet())); - - // List of all Channel UIDs - public static final String IP150_COMMUNICATION_COMMAND_CHANNEL_UID = "communicationCommand"; - - public static final String PANEL_STATE_CHANNEL_UID = "state"; - public static final String PANEL_SERIAL_NUMBER_PROPERTY_NAME = "serialNumber"; - public static final String PANEL_TYPE_PROPERTY_NAME = "panelType"; - public static final String PANEL_HARDWARE_VERSION_PROPERTY_NAME = "hardwareVersion"; - public static final String PANEL_APPLICATION_VERSION_PROPERTY_NAME = "applicationVersion"; - public static final String PANEL_BOOTLOADER_VERSION_PROPERTY_NAME = "bootloaderVersion"; - - public static final String PARTITION_LABEL_CHANNEL_UID = "partitionLabel"; - public static final String PARTITION_STATE_CHANNEL_UID = "state"; - @Deprecated // After implementation of channels for every possible state, the summarized additional states is no - // longer needed. We'll keep it for backward compatibility - public static final String PARTITION_ADDITIONAL_STATES_CHANNEL_UID = "additionalStates"; - public static final String PARTITION_READY_TO_ARM_CHANNEL_UID = "readyToArm"; - public static final String PARTITION_IN_EXIT_DELAY_CHANNEL_UID = "inExitDelay"; - public static final String PARTITION_IN_ENTRY_DELAY_CHANNEL_UID = "inEntryDelay"; - public static final String PARTITION_IN_TROUBLE_CHANNEL_UID = "inTrouble"; - public static final String PARTITION_ALARM_IN_MEMORY_CHANNEL_UID = "alarmInMemory"; - public static final String PARTITION_ZONE_BYPASS_CHANNEL_UID = "zoneBypass"; - public static final String PARTITION_ZONE_IN_TAMPER_CHANNEL_UID = "zoneInTamperTrouble"; - public static final String PARTITION_ZONE_IN_LOW_BATTERY_CHANNEL_UID = "zoneInLowBatteryTrouble"; - public static final String PARTITION_ZONE_IN_FIRE_LOOP_CHANNEL_UID = "zoneInFireLoopTrouble"; - public static final String PARTITION_ZONE_IN_SUPERVISION_TROUBLE_CHANNEL_UID = "zoneInSupervisionTrouble"; - public static final String PARTITION_STAY_INSTANT_READY_CHANNEL_UID = "stayInstantReady"; - public static final String PARTITION_FORCE_READY_CHANNEL_UID = "forceReady"; - public static final String PARTITION_BYPASS_READY_CHANNEL_UID = "bypassReady"; - public static final String PARTITION_INHIBIT_READY_CHANNEL_UID = "inhibitReady"; - public static final String PARTITION_ALL_ZONES_CLOSED_CHANNEL_UID = "allZonesClosed"; - - public static final String ZONE_LABEL_CHANNEL_UID = "zoneLabel"; - public static final String ZONE_OPENED_CHANNEL_UID = "opened"; - public static final String ZONE_TAMPERED_CHANNEL_UID = "tampered"; - public static final String ZONE_LOW_BATTERY_CHANNEL_UID = "lowBattery"; - - // Misc constants - public static final StringType STATE_OFFLINE = new StringType("Offline"); - public static final StringType STATE_ONLINE = new StringType("Online"); - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +import java.util.Collections; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.ThingTypeUID; + +/** + * The {@link ParadoxAlarmBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Konstantin Polihronov - Initial contribution + */ +@NonNullByDefault +public class ParadoxAlarmBindingConstants { + + public static final String BINDING_ID = "paradoxalarm"; + + public static final String PARADOX_COMMUNICATOR_THING_TYPE_ID = "ip150"; + + public static final String PARADOX_PANEL_THING_TYPE_ID = "panel"; + + public static final String PARTITION_THING_TYPE_ID = "partition"; + + public static final String ZONE_THING_TYPE_ID = "zone"; + + // List of all Thing Type UIDs + public static final ThingTypeUID COMMUNICATOR_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, + PARADOX_COMMUNICATOR_THING_TYPE_ID); + public static final ThingTypeUID PANEL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, PARADOX_PANEL_THING_TYPE_ID); + public static final ThingTypeUID PARTITION_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, PARTITION_THING_TYPE_ID); + public static final ThingTypeUID ZONE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, ZONE_THING_TYPE_ID); + + public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet( + Stream.of(COMMUNICATOR_THING_TYPE_UID, PANEL_THING_TYPE_UID, PARTITION_THING_TYPE_UID, ZONE_THING_TYPE_UID) + .collect(Collectors.toSet())); + + // List of all Channel UIDs + public static final String IP150_COMMUNICATION_COMMAND_CHANNEL_UID = "communicationCommand"; + + public static final String PANEL_STATE_CHANNEL_UID = "state"; + public static final String PANEL_SERIAL_NUMBER_PROPERTY_NAME = "serialNumber"; + public static final String PANEL_TYPE_PROPERTY_NAME = "panelType"; + public static final String PANEL_HARDWARE_VERSION_PROPERTY_NAME = "hardwareVersion"; + public static final String PANEL_APPLICATION_VERSION_PROPERTY_NAME = "applicationVersion"; + public static final String PANEL_BOOTLOADER_VERSION_PROPERTY_NAME = "bootloaderVersion"; + + public static final String PARTITION_LABEL_CHANNEL_UID = "partitionLabel"; + public static final String PARTITION_STATE_CHANNEL_UID = "state"; + @Deprecated // After implementation of channels for every possible state, the summarized additional states is no + // longer needed. We'll keep it for backward compatibility + public static final String PARTITION_ADDITIONAL_STATES_CHANNEL_UID = "additionalStates"; + public static final String PARTITION_READY_TO_ARM_CHANNEL_UID = "readyToArm"; + public static final String PARTITION_IN_EXIT_DELAY_CHANNEL_UID = "inExitDelay"; + public static final String PARTITION_IN_ENTRY_DELAY_CHANNEL_UID = "inEntryDelay"; + public static final String PARTITION_IN_TROUBLE_CHANNEL_UID = "inTrouble"; + public static final String PARTITION_ALARM_IN_MEMORY_CHANNEL_UID = "alarmInMemory"; + public static final String PARTITION_ZONE_BYPASS_CHANNEL_UID = "zoneBypass"; + public static final String PARTITION_ZONE_IN_TAMPER_CHANNEL_UID = "zoneInTamperTrouble"; + public static final String PARTITION_ZONE_IN_LOW_BATTERY_CHANNEL_UID = "zoneInLowBatteryTrouble"; + public static final String PARTITION_ZONE_IN_FIRE_LOOP_CHANNEL_UID = "zoneInFireLoopTrouble"; + public static final String PARTITION_ZONE_IN_SUPERVISION_TROUBLE_CHANNEL_UID = "zoneInSupervisionTrouble"; + public static final String PARTITION_STAY_INSTANT_READY_CHANNEL_UID = "stayInstantReady"; + public static final String PARTITION_FORCE_READY_CHANNEL_UID = "forceReady"; + public static final String PARTITION_BYPASS_READY_CHANNEL_UID = "bypassReady"; + public static final String PARTITION_INHIBIT_READY_CHANNEL_UID = "inhibitReady"; + public static final String PARTITION_ALL_ZONES_CLOSED_CHANNEL_UID = "allZonesClosed"; + + public static final String ZONE_LABEL_CHANNEL_UID = "zoneLabel"; + public static final String ZONE_OPENED_CHANNEL_UID = "opened"; + public static final String ZONE_TAMPERED_CHANNEL_UID = "tampered"; + public static final String ZONE_LOW_BATTERY_CHANNEL_UID = "lowBattery"; + + // Misc constants + public static final StringType STATE_OFFLINE = new StringType("Offline"); + public static final StringType STATE_ONLINE = new StringType("Online"); +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmHandlerFactory.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmHandlerFactory.java index bdb1082675d45..3122bef2410c3 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmHandlerFactory.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxAlarmHandlerFactory.java @@ -1,97 +1,97 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; - -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Map; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.config.discovery.DiscoveryService; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.ThingUID; -import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; -import org.openhab.binding.paradoxalarm.internal.discovery.ParadoxDiscoveryService; -import org.osgi.framework.ServiceRegistration; -import org.osgi.service.component.annotations.Component; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxAlarmHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Konstantin Polihronov - Initial contribution - */ -@NonNullByDefault -@Component(configurationPid = "binding.paradoxalarm", service = ThingHandlerFactory.class) -public class ParadoxAlarmHandlerFactory extends BaseThingHandlerFactory { - - private final Logger logger = LoggerFactory.getLogger(ParadoxAlarmHandlerFactory.class); - - private final Map> discoveryServiceRegs = new HashMap<>(); - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected @Nullable ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - if (COMMUNICATOR_THING_TYPE_UID.equals(thingTypeUID)) { - logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); - - ParadoxIP150BridgeHandler paradoxIP150BridgeHandler = new ParadoxIP150BridgeHandler((Bridge) thing); - registerDiscoveryService(paradoxIP150BridgeHandler); - - return paradoxIP150BridgeHandler; - } else if (PANEL_THING_TYPE_UID.equals(thingTypeUID)) { - logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); - return new ParadoxPanelHandler(thing); - } else if (PARTITION_THING_TYPE_UID.equals(thingTypeUID)) { - logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); - return new ParadoxPartitionHandler(thing); - } else if (ZONE_THING_TYPE_UID.equals(thingTypeUID)) { - logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); - return new ParadoxZoneHandler(thing); - } else { - logger.warn("Handler implementation not found for Thing: {}", thing.getLabel()); - } - return null; - } - - private void registerDiscoveryService(ParadoxIP150BridgeHandler paradoxIP150BridgeHandler) { - ParadoxDiscoveryService discoveryService = new ParadoxDiscoveryService(paradoxIP150BridgeHandler); - ServiceRegistration serviceRegistration = bundleContext.registerService(DiscoveryService.class.getName(), - discoveryService, new Hashtable<>()); - this.discoveryServiceRegs.put(paradoxIP150BridgeHandler.getThing().getUID(), serviceRegistration); - } - - @Override - protected void removeHandler(ThingHandler thingHandler) { - if (thingHandler instanceof ParadoxIP150BridgeHandler) { - ServiceRegistration serviceReg = this.discoveryServiceRegs.remove(thingHandler.getThing().getUID()); - if (serviceReg != null) { - serviceReg.unregister(); - } - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; + +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.config.discovery.DiscoveryService; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.ThingUID; +import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.openhab.binding.paradoxalarm.internal.discovery.ParadoxDiscoveryService; +import org.osgi.framework.ServiceRegistration; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxAlarmHandlerFactory} is responsible for creating things and thing + * handlers. + * + * @author Konstantin Polihronov - Initial contribution + */ +@NonNullByDefault +@Component(configurationPid = "binding.paradoxalarm", service = ThingHandlerFactory.class) +public class ParadoxAlarmHandlerFactory extends BaseThingHandlerFactory { + + private final Logger logger = LoggerFactory.getLogger(ParadoxAlarmHandlerFactory.class); + + private final Map> discoveryServiceRegs = new HashMap<>(); + + @Override + public boolean supportsThingType(ThingTypeUID thingTypeUID) { + return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + } + + @Override + protected @Nullable ThingHandler createHandler(Thing thing) { + ThingTypeUID thingTypeUID = thing.getThingTypeUID(); + if (COMMUNICATOR_THING_TYPE_UID.equals(thingTypeUID)) { + logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); + + ParadoxIP150BridgeHandler paradoxIP150BridgeHandler = new ParadoxIP150BridgeHandler((Bridge) thing); + registerDiscoveryService(paradoxIP150BridgeHandler); + + return paradoxIP150BridgeHandler; + } else if (PANEL_THING_TYPE_UID.equals(thingTypeUID)) { + logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); + return new ParadoxPanelHandler(thing); + } else if (PARTITION_THING_TYPE_UID.equals(thingTypeUID)) { + logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); + return new ParadoxPartitionHandler(thing); + } else if (ZONE_THING_TYPE_UID.equals(thingTypeUID)) { + logger.debug("createHandler(): ThingHandler created for {}", thingTypeUID); + return new ParadoxZoneHandler(thing); + } else { + logger.warn("Handler implementation not found for Thing: {}", thing.getLabel()); + } + return null; + } + + private void registerDiscoveryService(ParadoxIP150BridgeHandler paradoxIP150BridgeHandler) { + ParadoxDiscoveryService discoveryService = new ParadoxDiscoveryService(paradoxIP150BridgeHandler); + ServiceRegistration serviceRegistration = bundleContext.registerService(DiscoveryService.class.getName(), + discoveryService, new Hashtable<>()); + this.discoveryServiceRegs.put(paradoxIP150BridgeHandler.getThing().getUID(), serviceRegistration); + } + + @Override + protected void removeHandler(ThingHandler thingHandler) { + if (thingHandler instanceof ParadoxIP150BridgeHandler) { + ServiceRegistration serviceReg = this.discoveryServiceRegs.remove(thingHandler.getThing().getUID()); + if (serviceReg != null) { + serviceReg.unregister(); + } + } + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeConfiguration.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeConfiguration.java index 58e5c4f6d95bd..8f890dbeac7fc 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeConfiguration.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeConfiguration.java @@ -1,104 +1,103 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -/** - * The {@link ParadoxIP150BridgeConfiguration} class contains fields mapping thing configuration parameters. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxIP150BridgeConfiguration { - - private int refresh; - private String ip150Password; - private String pcPassword; - private String ipAddress; - private int port; - private String panelType; - private int reconnectWaitTime; - private Integer maxZones; - private Integer maxPartitions; - - public int getRefresh() { - return refresh; - } - - public void setRefresh(int refresh) { - this.refresh = refresh; - } - - public String getIp150Password() { - return ip150Password; - } - - public void setIp150Password(String ip150Password) { - this.ip150Password = ip150Password; - } - - public String getPcPassword() { - return pcPassword; - } - - public void setPcPassword(String pcPassword) { - this.pcPassword = pcPassword; - } - - public String getIpAddress() { - return ipAddress; - } - - public void setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - } - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - - public String getPanelType() { - return panelType; - } - - public void setPanelType(String panelType) { - this.panelType = panelType; - } - - public int getReconnectWaitTime() { - return reconnectWaitTime; - } - - public void setReconnectWaitTime(int reconnectWaitTime) { - this.reconnectWaitTime = reconnectWaitTime; - } - - public Integer getMaxZones() { - return maxZones; - } - - public void setMaxZones(Integer maxZones) { - this.maxZones = maxZones; - } - - public Integer getMaxPartitions() { - return maxPartitions; - } - - public void setMaxPartitions(Integer maxPartitions) { - this.maxPartitions = maxPartitions; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +/** + * The {@link ParadoxIP150BridgeConfiguration} class contains fields mapping thing configuration parameters. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxIP150BridgeConfiguration { + + private int refresh; + private String ip150Password; + private String pcPassword; + private String ipAddress; + private int port; + private String panelType; + private int reconnectWaitTime; + private Integer maxZones; + private Integer maxPartitions; + + public int getRefresh() { + return refresh; + } + + public void setRefresh(int refresh) { + this.refresh = refresh; + } + + public String getIp150Password() { + return ip150Password; + } + + public void setIp150Password(String ip150Password) { + this.ip150Password = ip150Password; + } + + public String getPcPassword() { + return pcPassword; + } + + public void setPcPassword(String pcPassword) { + this.pcPassword = pcPassword; + } + + public String getIpAddress() { + return ipAddress; + } + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public String getPanelType() { + return panelType; + } + + public void setPanelType(String panelType) { + this.panelType = panelType; + } + + public int getReconnectWaitTime() { + return reconnectWaitTime; + } + + public void setReconnectWaitTime(int reconnectWaitTime) { + this.reconnectWaitTime = reconnectWaitTime; + } + + public Integer getMaxZones() { + return maxZones; + } + + public void setMaxZones(Integer maxZones) { + this.maxZones = maxZones; + } + + public Integer getMaxPartitions() { + return maxPartitions; + } + + public void setMaxPartitions(Integer maxPartitions) { + this.maxPartitions = maxPartitions; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeHandler.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeHandler.java index 31dfe266ed03d..4ca4658173230 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeHandler.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxIP150BridgeHandler.java @@ -298,5 +298,4 @@ public void onSocketTimeOutOccurred(IOException exception) { TimeUnit.SECONDS); } } - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPanelHandler.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPanelHandler.java index 84d37ce273d4e..ca2be18c938f1 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPanelHandler.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPanelHandler.java @@ -1,56 +1,55 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.Thing; -import org.openhab.binding.paradoxalarm.internal.model.ParadoxInformation; -import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxPanelHandler} This is the handler that takes care of the panel related stuff. - * - * @author Konstantin Polihronov - Initial contribution - */ -@NonNullByDefault -public class ParadoxPanelHandler extends EntityBaseHandler { - - private final Logger logger = LoggerFactory.getLogger(ParadoxPanelHandler.class); - - public ParadoxPanelHandler(Thing thing) { - super(thing); - } - - @Override - protected void updateEntity() { - ParadoxPanel panel = ParadoxPanel.getInstance(); - StringType panelState = panel.isOnline() ? STATE_ONLINE : STATE_OFFLINE; - updateState(PANEL_STATE_CHANNEL_UID, panelState); - - ParadoxInformation panelInformation = panel.getPanelInformation(); - if (panelInformation != null) { - updateProperty(PANEL_SERIAL_NUMBER_PROPERTY_NAME, panelInformation.getSerialNumber()); - updateProperty(PANEL_TYPE_PROPERTY_NAME, panelInformation.getPanelType().name()); - updateProperty(PANEL_HARDWARE_VERSION_PROPERTY_NAME, panelInformation.getHardwareVersion().toString()); - updateProperty(PANEL_APPLICATION_VERSION_PROPERTY_NAME, - panelInformation.getApplicationVersion().toString()); - updateProperty(PANEL_BOOTLOADER_VERSION_PROPERTY_NAME, - panelInformation.getBootLoaderVersion().toString()); - } - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.Thing; +import org.openhab.binding.paradoxalarm.internal.model.ParadoxInformation; +import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxPanelHandler} This is the handler that takes care of the panel related stuff. + * + * @author Konstantin Polihronov - Initial contribution + */ +@NonNullByDefault +public class ParadoxPanelHandler extends EntityBaseHandler { + + private final Logger logger = LoggerFactory.getLogger(ParadoxPanelHandler.class); + + public ParadoxPanelHandler(Thing thing) { + super(thing); + } + + @Override + protected void updateEntity() { + ParadoxPanel panel = ParadoxPanel.getInstance(); + StringType panelState = panel.isOnline() ? STATE_ONLINE : STATE_OFFLINE; + updateState(PANEL_STATE_CHANNEL_UID, panelState); + + ParadoxInformation panelInformation = panel.getPanelInformation(); + if (panelInformation != null) { + updateProperty(PANEL_SERIAL_NUMBER_PROPERTY_NAME, panelInformation.getSerialNumber()); + updateProperty(PANEL_TYPE_PROPERTY_NAME, panelInformation.getPanelType().name()); + updateProperty(PANEL_HARDWARE_VERSION_PROPERTY_NAME, panelInformation.getHardwareVersion().toString()); + updateProperty(PANEL_APPLICATION_VERSION_PROPERTY_NAME, + panelInformation.getApplicationVersion().toString()); + updateProperty(PANEL_BOOTLOADER_VERSION_PROPERTY_NAME, panelInformation.getBootLoaderVersion().toString()); + } + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPartitionHandler.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPartitionHandler.java index 27e24daea6d42..4c7e8b99ce0e2 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPartitionHandler.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxPartitionHandler.java @@ -1,87 +1,87 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; - -import java.util.List; - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.library.types.OpenClosedType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.Thing; -import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; -import org.openhab.binding.paradoxalarm.internal.model.Partition; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxPartitionHandler} Handler that updates states of paradox partitions from the cache. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxPartitionHandler extends EntityBaseHandler { - - private final Logger logger = LoggerFactory.getLogger(ParadoxPartitionHandler.class); - - public ParadoxPartitionHandler(@NonNull Thing thing) { - super(thing); - } - - @Override - protected void updateEntity() { - int index = calculateEntityIndex(); - List partitions = ParadoxPanel.getInstance().getPartitions(); - Partition partition = partitions.get(index); - if (partition != null) { - updateState(PARTITION_LABEL_CHANNEL_UID, new StringType(partition.getLabel())); - updateState(PARTITION_STATE_CHANNEL_UID, new StringType(partition.getState().getMainState())); - updateState(PARTITION_ADDITIONAL_STATES_CHANNEL_UID, - new StringType("Deprecated field. Use direct channels instead")); - updateState(PARTITION_READY_TO_ARM_CHANNEL_UID, booleanToSwitchState(partition.getState().isReadyToArm())); - updateState(PARTITION_IN_EXIT_DELAY_CHANNEL_UID, - booleanToSwitchState(partition.getState().isInExitDelay())); - updateState(PARTITION_IN_ENTRY_DELAY_CHANNEL_UID, - booleanToSwitchState(partition.getState().isInEntryDelay())); - updateState(PARTITION_IN_TROUBLE_CHANNEL_UID, booleanToSwitchState(partition.getState().isInTrouble())); - updateState(PARTITION_ALARM_IN_MEMORY_CHANNEL_UID, - booleanToSwitchState(partition.getState().isHasAlarmInMemory())); - updateState(PARTITION_ZONE_BYPASS_CHANNEL_UID, booleanToSwitchState(partition.getState().isInZoneBypass())); - updateState(PARTITION_ZONE_IN_TAMPER_CHANNEL_UID, - booleanToSwitchState(partition.getState().isHasZoneInTamperTrouble())); - updateState(PARTITION_ZONE_IN_LOW_BATTERY_CHANNEL_UID, - booleanToSwitchState(partition.getState().isHasZoneInLowBatteryTrouble())); - updateState(PARTITION_ZONE_IN_FIRE_LOOP_CHANNEL_UID, - booleanToSwitchState(partition.getState().isHasZoneInFireLoopTrouble())); - updateState(PARTITION_ZONE_IN_SUPERVISION_TROUBLE_CHANNEL_UID, - booleanToSwitchState(partition.getState().isHasZoneInSupervisionTrouble())); - updateState(PARTITION_STAY_INSTANT_READY_CHANNEL_UID, - booleanToSwitchState(partition.getState().isStayInstantReady())); - updateState(PARTITION_FORCE_READY_CHANNEL_UID, booleanToSwitchState(partition.getState().isForceReady())); - updateState(PARTITION_BYPASS_READY_CHANNEL_UID, booleanToSwitchState(partition.getState().isBypassReady())); - updateState(PARTITION_INHIBIT_READY_CHANNEL_UID, - booleanToSwitchState(partition.getState().isInhibitReady())); - updateState(PARTITION_ALL_ZONES_CLOSED_CHANNEL_UID, - booleanToContactState(partition.getState().isAreAllZoneclosed())); - } - } - - private OpenClosedType booleanToContactState(boolean value) { - return value ? OpenClosedType.OPEN : OpenClosedType.CLOSED; - } - - private OnOffType booleanToSwitchState(boolean value) { - return value ? OnOffType.ON : OnOffType.OFF; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; + +import java.util.List; + +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.OpenClosedType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.Thing; +import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; +import org.openhab.binding.paradoxalarm.internal.model.Partition; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxPartitionHandler} Handler that updates states of paradox partitions from the cache. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxPartitionHandler extends EntityBaseHandler { + + private final Logger logger = LoggerFactory.getLogger(ParadoxPartitionHandler.class); + + public ParadoxPartitionHandler(@NonNull Thing thing) { + super(thing); + } + + @Override + protected void updateEntity() { + int index = calculateEntityIndex(); + List partitions = ParadoxPanel.getInstance().getPartitions(); + Partition partition = partitions.get(index); + if (partition != null) { + updateState(PARTITION_LABEL_CHANNEL_UID, new StringType(partition.getLabel())); + updateState(PARTITION_STATE_CHANNEL_UID, new StringType(partition.getState().getMainState())); + updateState(PARTITION_ADDITIONAL_STATES_CHANNEL_UID, + new StringType("Deprecated field. Use direct channels instead")); + updateState(PARTITION_READY_TO_ARM_CHANNEL_UID, booleanToSwitchState(partition.getState().isReadyToArm())); + updateState(PARTITION_IN_EXIT_DELAY_CHANNEL_UID, + booleanToSwitchState(partition.getState().isInExitDelay())); + updateState(PARTITION_IN_ENTRY_DELAY_CHANNEL_UID, + booleanToSwitchState(partition.getState().isInEntryDelay())); + updateState(PARTITION_IN_TROUBLE_CHANNEL_UID, booleanToSwitchState(partition.getState().isInTrouble())); + updateState(PARTITION_ALARM_IN_MEMORY_CHANNEL_UID, + booleanToSwitchState(partition.getState().isHasAlarmInMemory())); + updateState(PARTITION_ZONE_BYPASS_CHANNEL_UID, booleanToSwitchState(partition.getState().isInZoneBypass())); + updateState(PARTITION_ZONE_IN_TAMPER_CHANNEL_UID, + booleanToSwitchState(partition.getState().isHasZoneInTamperTrouble())); + updateState(PARTITION_ZONE_IN_LOW_BATTERY_CHANNEL_UID, + booleanToSwitchState(partition.getState().isHasZoneInLowBatteryTrouble())); + updateState(PARTITION_ZONE_IN_FIRE_LOOP_CHANNEL_UID, + booleanToSwitchState(partition.getState().isHasZoneInFireLoopTrouble())); + updateState(PARTITION_ZONE_IN_SUPERVISION_TROUBLE_CHANNEL_UID, + booleanToSwitchState(partition.getState().isHasZoneInSupervisionTrouble())); + updateState(PARTITION_STAY_INSTANT_READY_CHANNEL_UID, + booleanToSwitchState(partition.getState().isStayInstantReady())); + updateState(PARTITION_FORCE_READY_CHANNEL_UID, booleanToSwitchState(partition.getState().isForceReady())); + updateState(PARTITION_BYPASS_READY_CHANNEL_UID, booleanToSwitchState(partition.getState().isBypassReady())); + updateState(PARTITION_INHIBIT_READY_CHANNEL_UID, + booleanToSwitchState(partition.getState().isInhibitReady())); + updateState(PARTITION_ALL_ZONES_CLOSED_CHANNEL_UID, + booleanToContactState(partition.getState().isAreAllZoneclosed())); + } + } + + private OpenClosedType booleanToContactState(boolean value) { + return value ? OpenClosedType.OPEN : OpenClosedType.CLOSED; + } + + private OnOffType booleanToSwitchState(boolean value) { + return value ? OnOffType.ON : OnOffType.OFF; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxZoneHandler.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxZoneHandler.java index 4bb17092b70ca..32b35a2e04832 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxZoneHandler.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/handlers/ParadoxZoneHandler.java @@ -1,68 +1,67 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.handlers; - -import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; - -import java.util.List; - -import org.eclipse.jdt.annotation.NonNull; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.library.types.OpenClosedType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.Thing; -import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; -import org.openhab.binding.paradoxalarm.internal.model.Zone; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxZoneHandler} Handler that updates states of paradox zones from the cache. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxZoneHandler extends EntityBaseHandler { - - private final Logger logger = LoggerFactory.getLogger(ParadoxZoneHandler.class); - - public ParadoxZoneHandler(@NonNull Thing thing) { - super(thing); - } - - @Override - protected void updateEntity() { - int index = calculateEntityIndex(); - List zones = ParadoxPanel.getInstance().getZones(); - if (zones != null && zones.size() > index) { - Zone zone = zones.get(index); - if (zone != null) { - updateState(ZONE_LABEL_CHANNEL_UID, new StringType(zone.getLabel())); - updateState(ZONE_OPENED_CHANNEL_UID, booleanToContactState(zone.getZoneState().isOpened())); - updateState(ZONE_TAMPERED_CHANNEL_UID, booleanToSwitchState(zone.getZoneState().isTampered())); - updateState(ZONE_LOW_BATTERY_CHANNEL_UID, booleanToSwitchState(zone.getZoneState().hasLowBattery())); - } - } else { - logger.warn("Attempted to access zone out of bounds of current zone list. Index: {}, List: {}", index, - zones); - } - } - - private OpenClosedType booleanToContactState(boolean value) { - return value ? OpenClosedType.OPEN : OpenClosedType.CLOSED; - } - - private OnOffType booleanToSwitchState(boolean value) { - return value ? OnOffType.ON : OnOffType.OFF; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.handlers; + +import static org.openhab.binding.paradoxalarm.internal.handlers.ParadoxAlarmBindingConstants.*; + +import java.util.List; + +import org.eclipse.jdt.annotation.NonNull; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.library.types.OpenClosedType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.Thing; +import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; +import org.openhab.binding.paradoxalarm.internal.model.Zone; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxZoneHandler} Handler that updates states of paradox zones from the cache. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxZoneHandler extends EntityBaseHandler { + + private final Logger logger = LoggerFactory.getLogger(ParadoxZoneHandler.class); + + public ParadoxZoneHandler(@NonNull Thing thing) { + super(thing); + } + + @Override + protected void updateEntity() { + int index = calculateEntityIndex(); + List zones = ParadoxPanel.getInstance().getZones(); + if (zones != null && zones.size() > index) { + Zone zone = zones.get(index); + if (zone != null) { + updateState(ZONE_LABEL_CHANNEL_UID, new StringType(zone.getLabel())); + updateState(ZONE_OPENED_CHANNEL_UID, booleanToContactState(zone.getZoneState().isOpened())); + updateState(ZONE_TAMPERED_CHANNEL_UID, booleanToSwitchState(zone.getZoneState().isTampered())); + updateState(ZONE_LOW_BATTERY_CHANNEL_UID, booleanToSwitchState(zone.getZoneState().hasLowBattery())); + } + } else { + logger.warn("Attempted to access zone out of bounds of current zone list. Index: {}, List: {}", index, + zones); + } + } + + private OpenClosedType booleanToContactState(boolean value) { + return value ? OpenClosedType.OPEN : OpenClosedType.CLOSED; + } + + private OnOffType booleanToSwitchState(boolean value) { + return value ? OnOffType.ON : OnOffType.OFF; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Entity.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Entity.java index 9768810a67785..27a1f7dbb4ecf 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Entity.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Entity.java @@ -1,57 +1,56 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link Entity} Entity - base abstract class for Paradox entities (Partitions, zones, etc). - * Extend this class and add entity specific data (states, troubles, etc). - * - * @author Konstantin Polihronov - Initial contribution - */ -public abstract class Entity { - private final Logger logger = LoggerFactory.getLogger(Entity.class); - - private int id; - private String label; - - public Entity(int id, String label) { - this.id = id; - this.label = label.trim(); - logger.debug("Creating entity with label: {} and ID: {}", label, id); - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getLabel() { - return label; - } - - public void setLabel(String label) { - this.label = label; - } - - @Override - public String toString() { - return "Entity [id=" + id + ", label=" + label + "]"; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link Entity} Entity - base abstract class for Paradox entities (Partitions, zones, etc). + * Extend this class and add entity specific data (states, troubles, etc). + * + * @author Konstantin Polihronov - Initial contribution + */ +public abstract class Entity { + private final Logger logger = LoggerFactory.getLogger(Entity.class); + + private int id; + private String label; + + public Entity(int id, String label) { + this.id = id; + this.label = label.trim(); + logger.debug("Creating entity with label: {} and ID: {}", label, id); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + @Override + public String toString() { + return "Entity [id=" + id + ", label=" + label + "]"; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PanelType.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PanelType.java index 3aca55fc42d5b..5611914964676 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PanelType.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PanelType.java @@ -1,83 +1,82 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -/** - * The {@link PanelType} Enum of all panel types - * - * @author Konstantin Polihronov - Initial contribution - */ -public enum PanelType { - EVO48(4, 48, 2, 16), - EVO96(4, 96, 3, 16), - EVO192(8, 192, 5, 16), - EVOHD(8, 192, 5, 16), - SP5500, - SP6000, - SP7000, - MG5000, - MG5050, - SP4000, - SP65, - UNKNOWN; - - private int partitions; - private int zones; - private int pgms; // Programmable outputs - private int ramPagesNumber; // Ram pages 64 bytes each - - private PanelType() { - this(0, 0, 0, 0); - } - - private PanelType(int numberPartitions, int numberZones, int pgms, int ramPages) { - this.partitions = numberPartitions; - this.zones = numberZones; - this.pgms = pgms; - this.ramPagesNumber = ramPages; - } - - public static PanelType from(String panelTypeStr) { - if (panelTypeStr == null) { - return PanelType.UNKNOWN; - } - - try { - return PanelType.valueOf(panelTypeStr); - } catch (IllegalArgumentException e) { - return PanelType.UNKNOWN; - } - } - - public int getPartitions() { - return partitions; - } - - public int getZones() { - return zones; - } - - @Override - public String toString() { - return this.name(); - } - - public int getPgms() { - return pgms; - } - - public int getRamPagesNumber() { - return ramPagesNumber; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +/** + * The {@link PanelType} Enum of all panel types + * + * @author Konstantin Polihronov - Initial contribution + */ +public enum PanelType { + EVO48(4, 48, 2, 16), + EVO96(4, 96, 3, 16), + EVO192(8, 192, 5, 16), + EVOHD(8, 192, 5, 16), + SP5500, + SP6000, + SP7000, + MG5000, + MG5050, + SP4000, + SP65, + UNKNOWN; + + private int partitions; + private int zones; + private int pgms; // Programmable outputs + private int ramPagesNumber; // Ram pages 64 bytes each + + private PanelType() { + this(0, 0, 0, 0); + } + + private PanelType(int numberPartitions, int numberZones, int pgms, int ramPages) { + this.partitions = numberPartitions; + this.zones = numberZones; + this.pgms = pgms; + this.ramPagesNumber = ramPages; + } + + public static PanelType from(String panelTypeStr) { + if (panelTypeStr == null) { + return PanelType.UNKNOWN; + } + + try { + return PanelType.valueOf(panelTypeStr); + } catch (IllegalArgumentException e) { + return PanelType.UNKNOWN; + } + } + + public int getPartitions() { + return partitions; + } + + public int getZones() { + return zones; + } + + @Override + public String toString() { + return this.name(); + } + + public int getPgms() { + return pgms; + } + + public int getRamPagesNumber() { + return ramPagesNumber; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformation.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformation.java index f1c3c353466c3..782feaead6189 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformation.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformation.java @@ -1,73 +1,72 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -import java.util.Arrays; - -import org.eclipse.smarthome.core.util.HexUtils; -import org.openhab.binding.paradoxalarm.internal.parsers.IParadoxParser; - -/** - * The {@link ParadoxInformation} Class that provides the basic panel - * information (serial number, panel type, application, hardware and bootloader - * versions. It's the object representation of 37 bytes 0x72 serial response. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxInformation { - - private PanelType panelType; - private String serialNumber; - private Version applicationVersion; - private Version hardwareVersion; - private Version bootloaderVersion; - - public ParadoxInformation(byte[] panelInfoBytes, IParadoxParser parser) { - panelType = ParadoxInformationConstants.parsePanelType(panelInfoBytes); - - applicationVersion = parser.parseApplicationVersion(panelInfoBytes); - hardwareVersion = parser.parseHardwareVersion(panelInfoBytes); - bootloaderVersion = parser.parseBootloaderVersion(panelInfoBytes); - - byte[] serialNumberBytes = Arrays.copyOfRange(panelInfoBytes, 12, 16); - serialNumber = HexUtils.bytesToHex(serialNumberBytes); - } - - public PanelType getPanelType() { - return panelType; - } - - public Version getApplicationVersion() { - return applicationVersion; - } - - public Version getHardwareVersion() { - return hardwareVersion; - } - - public Version getBootLoaderVersion() { - return bootloaderVersion; - } - - public String getSerialNumber() { - return serialNumber; - } - - @Override - public String toString() { - return "ParadoxInformation [panelType=" + panelType + ", serialNumber=" + serialNumber + ", applicationVersion=" - + applicationVersion + ", hardwareVersion=" + hardwareVersion + ", bootloaderVersion=" - + bootloaderVersion + "]"; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +import java.util.Arrays; + +import org.eclipse.smarthome.core.util.HexUtils; +import org.openhab.binding.paradoxalarm.internal.parsers.IParadoxParser; + +/** + * The {@link ParadoxInformation} Class that provides the basic panel + * information (serial number, panel type, application, hardware and bootloader + * versions. It's the object representation of 37 bytes 0x72 serial response. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxInformation { + + private PanelType panelType; + private String serialNumber; + private Version applicationVersion; + private Version hardwareVersion; + private Version bootloaderVersion; + + public ParadoxInformation(byte[] panelInfoBytes, IParadoxParser parser) { + panelType = ParadoxInformationConstants.parsePanelType(panelInfoBytes); + + applicationVersion = parser.parseApplicationVersion(panelInfoBytes); + hardwareVersion = parser.parseHardwareVersion(panelInfoBytes); + bootloaderVersion = parser.parseBootloaderVersion(panelInfoBytes); + + byte[] serialNumberBytes = Arrays.copyOfRange(panelInfoBytes, 12, 16); + serialNumber = HexUtils.bytesToHex(serialNumberBytes); + } + + public PanelType getPanelType() { + return panelType; + } + + public Version getApplicationVersion() { + return applicationVersion; + } + + public Version getHardwareVersion() { + return hardwareVersion; + } + + public Version getBootLoaderVersion() { + return bootloaderVersion; + } + + public String getSerialNumber() { + return serialNumber; + } + + @Override + public String toString() { + return "ParadoxInformation [panelType=" + panelType + ", serialNumber=" + serialNumber + ", applicationVersion=" + + applicationVersion + ", hardwareVersion=" + hardwareVersion + ", bootloaderVersion=" + + bootloaderVersion + "]"; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformationConstants.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformationConstants.java index 9965c734d7626..435f06b625d30 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformationConstants.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxInformationConstants.java @@ -55,5 +55,4 @@ public static PanelType parsePanelType(byte[] infoPacket) { return ParadoxInformationConstants.panelTypes.getOrDefault(key, PanelType.UNKNOWN); } - } diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxPanel.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxPanel.java index 32db382dc4edc..0da84fd4db207 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxPanel.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ParadoxPanel.java @@ -1,149 +1,148 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.openhab.binding.paradoxalarm.internal.communication.IDataUpdateListener; -import org.openhab.binding.paradoxalarm.internal.communication.IParadoxCommunicator; -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; -import org.openhab.binding.paradoxalarm.internal.parsers.EvoParser; -import org.openhab.binding.paradoxalarm.internal.parsers.IParadoxParser; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxPanel} Composition class which contains all Paradox entities. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxPanel implements IDataUpdateListener { - - private final Logger logger = LoggerFactory.getLogger(ParadoxPanel.class); - - private static ParadoxPanel paradoxPanel = new ParadoxPanel(); - - private ParadoxInformation panelInformation; - private List partitions; - private List zones; - private IParadoxParser parser; - private IParadoxCommunicator communicator; - - private ParadoxPanel() { - this.parser = new EvoParser(); - } - - public void createModelEntities() { - byte[] panelInfoBytes = communicator.getPanelInfoBytes(); - panelInformation = new ParadoxInformation(panelInfoBytes, parser); - - if (isPanelSupported()) { - logger.info("Paradox system is supported. Panel data retrieved={} ", panelInformation); - createPartitions(); - createZones(); - updateEntitiesStates(); - } else { - throw new ParadoxRuntimeException( - "Unsupported panel type. Type: " + panelInformation.getPanelType().name()); - } - } - - public static ParadoxPanel getInstance() { - return paradoxPanel; - } - - public boolean isPanelSupported() { - PanelType panelType = panelInformation.getPanelType(); - return panelType == PanelType.EVO48 || panelType == PanelType.EVO192 || panelType == PanelType.EVOHD; - } - - public void updateEntitiesStates() { - if (!isOnline()) { - logger.debug("Not online. Unable to update entities states. "); - return; - } - - List currentPartitionFlags = communicator.getPartitionFlags(); - for (int i = 0; i < partitions.size(); i++) { - Partition partition = partitions.get(i); - partition.setState(parser.calculatePartitionState(currentPartitionFlags.get(i))); - } - - ZoneStateFlags zoneStateFlags = communicator.getZoneStateFlags(); - for (int i = 0; i < zones.size(); i++) { - Zone zone = zones.get(i); - zone.setZoneState(parser.calculateZoneState(zone.getId(), zoneStateFlags)); - } - } - - private List createZones() { - zones = new ArrayList<>(); - Map zoneLabels = communicator.getZoneLabels(); - for (int i = 0; i < zoneLabels.size(); i++) { - Zone zone = new Zone(i + 1, zoneLabels.get(i)); - zones.add(zone); - } - return zones; - } - - private List createPartitions() { - partitions = new ArrayList<>(); - Map partitionLabels = communicator.getPartitionLabels(); - for (int i = 0; i < partitionLabels.size(); i++) { - Partition partition = new Partition(i + 1, partitionLabels.get(i)); - partitions.add(partition); - logger.debug("Partition {}:\t{}", i + 1, partition.getState().getMainState()); - } - return partitions; - } - - public ParadoxInformation getPanelInformation() { - return panelInformation; - } - - public List getPartitions() { - return partitions; - } - - public void setPartitions(List partitions) { - this.partitions = partitions; - } - - public List getZones() { - return zones; - } - - public void setZones(List zones) { - this.zones = zones; - } - - public boolean isOnline() { - return communicator.isOnline(); - } - - @Override - public void update() { - if (panelInformation == null || partitions == null || zones == null) { - createModelEntities(); - } else { - updateEntitiesStates(); - } - } - - public void setCommunicator(IParadoxCommunicator communicator) { - this.communicator = communicator; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.openhab.binding.paradoxalarm.internal.communication.IDataUpdateListener; +import org.openhab.binding.paradoxalarm.internal.communication.IParadoxCommunicator; +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxRuntimeException; +import org.openhab.binding.paradoxalarm.internal.parsers.EvoParser; +import org.openhab.binding.paradoxalarm.internal.parsers.IParadoxParser; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxPanel} Composition class which contains all Paradox entities. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxPanel implements IDataUpdateListener { + + private final Logger logger = LoggerFactory.getLogger(ParadoxPanel.class); + + private static ParadoxPanel paradoxPanel = new ParadoxPanel(); + + private ParadoxInformation panelInformation; + private List partitions; + private List zones; + private IParadoxParser parser; + private IParadoxCommunicator communicator; + + private ParadoxPanel() { + this.parser = new EvoParser(); + } + + public void createModelEntities() { + byte[] panelInfoBytes = communicator.getPanelInfoBytes(); + panelInformation = new ParadoxInformation(panelInfoBytes, parser); + + if (isPanelSupported()) { + logger.info("Paradox system is supported. Panel data retrieved={} ", panelInformation); + createPartitions(); + createZones(); + updateEntitiesStates(); + } else { + throw new ParadoxRuntimeException( + "Unsupported panel type. Type: " + panelInformation.getPanelType().name()); + } + } + + public static ParadoxPanel getInstance() { + return paradoxPanel; + } + + public boolean isPanelSupported() { + PanelType panelType = panelInformation.getPanelType(); + return panelType == PanelType.EVO48 || panelType == PanelType.EVO192 || panelType == PanelType.EVOHD; + } + + public void updateEntitiesStates() { + if (!isOnline()) { + logger.debug("Not online. Unable to update entities states. "); + return; + } + + List currentPartitionFlags = communicator.getPartitionFlags(); + for (int i = 0; i < partitions.size(); i++) { + Partition partition = partitions.get(i); + partition.setState(parser.calculatePartitionState(currentPartitionFlags.get(i))); + } + + ZoneStateFlags zoneStateFlags = communicator.getZoneStateFlags(); + for (int i = 0; i < zones.size(); i++) { + Zone zone = zones.get(i); + zone.setZoneState(parser.calculateZoneState(zone.getId(), zoneStateFlags)); + } + } + + private List createZones() { + zones = new ArrayList<>(); + Map zoneLabels = communicator.getZoneLabels(); + for (int i = 0; i < zoneLabels.size(); i++) { + Zone zone = new Zone(i + 1, zoneLabels.get(i)); + zones.add(zone); + } + return zones; + } + + private List createPartitions() { + partitions = new ArrayList<>(); + Map partitionLabels = communicator.getPartitionLabels(); + for (int i = 0; i < partitionLabels.size(); i++) { + Partition partition = new Partition(i + 1, partitionLabels.get(i)); + partitions.add(partition); + logger.debug("Partition {}:\t{}", i + 1, partition.getState().getMainState()); + } + return partitions; + } + + public ParadoxInformation getPanelInformation() { + return panelInformation; + } + + public List getPartitions() { + return partitions; + } + + public void setPartitions(List partitions) { + this.partitions = partitions; + } + + public List getZones() { + return zones; + } + + public void setZones(List zones) { + this.zones = zones; + } + + public boolean isOnline() { + return communicator.isOnline(); + } + + @Override + public void update() { + if (panelInformation == null || partitions == null || zones == null) { + createModelEntities(); + } else { + updateEntitiesStates(); + } + } + + public void setCommunicator(IParadoxCommunicator communicator) { + this.communicator = communicator; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Partition.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Partition.java index 6147c8b6bc9cf..de68fb4fbfbde 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Partition.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Partition.java @@ -1,43 +1,43 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link Partition} Paradox partition. - * ID is always numeric (1-8 for Evo192) - * - * @author Konstantin Polihronov - Initial contribution - */ -public class Partition extends Entity { - - private final Logger logger = LoggerFactory.getLogger(Partition.class); - - private PartitionState state = new PartitionState(); - - public Partition(int id, String label) { - super(id, label); - } - - public PartitionState getState() { - return state; - } - - public Partition setState(PartitionState state) { - this.state = state; - logger.debug("Partition {}:\t{}", getLabel(), getState().getMainState()); - return this; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link Partition} Paradox partition. + * ID is always numeric (1-8 for Evo192) + * + * @author Konstantin Polihronov - Initial contribution + */ +public class Partition extends Entity { + + private final Logger logger = LoggerFactory.getLogger(Partition.class); + + private PartitionState state = new PartitionState(); + + public Partition(int id, String label) { + super(id, label); + } + + public PartitionState getState() { + return state; + } + + public Partition setState(PartitionState state) { + this.state = state; + logger.debug("Partition {}:\t{}", getLabel(), getState().getMainState()); + return this; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PartitionState.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PartitionState.java index d10292ac718e8..a1eb488034721 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PartitionState.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/PartitionState.java @@ -1,263 +1,263 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -/** - * The {@link Partition} Paradox partition states. Retrieved and parsed from RAM memory responses. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class PartitionState { - - private boolean isArmed; - private boolean isArmedInAway; - private boolean isArmedInStay; - private boolean isArmedInNoEntry; - private boolean isInAlarm; - private boolean isInSilentAlarm; - private boolean isInAudibleAlarm; - private boolean isInFireAlarm; - - private boolean isReadyToArm; - private boolean isInExitDelay; - private boolean isInEntryDelay; - private boolean isInTrouble; - private boolean hasAlarmInMemory; - private boolean isInZoneBypass; - - private boolean hasZoneInTamperTrouble; - private boolean hasZoneInLowBatteryTrouble; - private boolean hasZoneInFireLoopTrouble; - private boolean hasZoneInSupervisionTrouble; - - private boolean isStayInstantReady; - private boolean isForceReady; - private boolean isBypassReady; - private boolean isInhibitReady; - private boolean areAllZoneclosed; - - public String getMainState() { - if (isInAlarm) { - return "InAlarm"; - } else { - return isArmed || isArmedInAway || isArmedInStay || isArmedInNoEntry ? "Armed" : "Disarmed"; - } - } - - @Override - public String toString() { - return "PartitionState [isArmed=" + isArmed + ", isArmedInAway=" + isArmedInAway + ", isArmedInStay=" - + isArmedInStay + ", isArmedInNoEntry=" + isArmedInNoEntry + ", isInAlarm=" + isInAlarm - + ", isInSilentAlarm=" + isInSilentAlarm + ", isInAudibleAlarm=" + isInAudibleAlarm + ", isInFireAlarm=" - + isInFireAlarm + ", isReadyToArm=" + isReadyToArm + ", isInExitDelay=" + isInExitDelay - + ", isInEntryDelay=" + isInEntryDelay + ", isInTrouble=" + isInTrouble + ", hasAlarmInMemory=" - + hasAlarmInMemory + ", isInZoneBypass=" + isInZoneBypass + ", hasZoneInTamperTrouble=" - + hasZoneInTamperTrouble + ", hasZoneInLowBatteryTrouble=" + hasZoneInLowBatteryTrouble - + ", hasZoneInFireLoopTrouble=" + hasZoneInFireLoopTrouble + ", hasZoneInSupervisionTrouble=" - + hasZoneInSupervisionTrouble + ", isStayInstantReady=" + isStayInstantReady + ", isForceReady=" - + isForceReady + ", isBypassReady=" + isBypassReady + ", isInhibitReady=" + isInhibitReady - + ", areAllZoneclosed=" + areAllZoneclosed + "]"; - } - - public boolean isArmed() { - return isArmed; - } - - public void setArmed(boolean isArmed) { - this.isArmed = isArmed; - } - - public boolean isArmedInAway() { - return isArmedInAway; - } - - public void setArmedInAway(boolean isArmedInAway) { - this.isArmedInAway = isArmedInAway; - } - - public boolean isArmedInStay() { - return isArmedInStay; - } - - public void setArmedInStay(boolean isArmedInStay) { - this.isArmedInStay = isArmedInStay; - } - - public boolean isArmedInNoEntry() { - return isArmedInNoEntry; - } - - public void setArmedInNoEntry(boolean isArmedInNoEntry) { - this.isArmedInNoEntry = isArmedInNoEntry; - } - - public boolean isInAlarm() { - return isInAlarm; - } - - public void setInAlarm(boolean isInAlarm) { - this.isInAlarm = isInAlarm; - } - - public boolean isInSilentAlarm() { - return isInSilentAlarm; - } - - public void setInSilentAlarm(boolean isInSilentAlarm) { - this.isInSilentAlarm = isInSilentAlarm; - } - - public boolean isInAudibleAlarm() { - return isInAudibleAlarm; - } - - public void setInAudibleAlarm(boolean isInAudibleAlarm) { - this.isInAudibleAlarm = isInAudibleAlarm; - } - - public boolean isInFireAlarm() { - return isInFireAlarm; - } - - public void setInFireAlarm(boolean isInFireAlarm) { - this.isInFireAlarm = isInFireAlarm; - } - - public boolean isReadyToArm() { - return isReadyToArm; - } - - public void setReadyToArm(boolean isReadyToArm) { - this.isReadyToArm = isReadyToArm; - } - - public boolean isInExitDelay() { - return isInExitDelay; - } - - public void setInExitDelay(boolean isInExitDelay) { - this.isInExitDelay = isInExitDelay; - } - - public boolean isInEntryDelay() { - return isInEntryDelay; - } - - public void setInEntryDelay(boolean isInEntryDelay) { - this.isInEntryDelay = isInEntryDelay; - } - - public boolean isInTrouble() { - return isInTrouble; - } - - public void setInTrouble(boolean isInTrouble) { - this.isInTrouble = isInTrouble; - } - - public boolean isHasAarmInMemory() { - return hasAlarmInMemory; - } - - public void setHasAarmInMemory(boolean hasAarmInMemory) { - this.hasAlarmInMemory = hasAarmInMemory; - } - - public boolean isInZoneBypass() { - return isInZoneBypass; - } - - public void setInZoneBypass(boolean isInZoneBypass) { - this.isInZoneBypass = isInZoneBypass; - } - - public boolean isHasZoneInTamperTrouble() { - return hasZoneInTamperTrouble; - } - - public void setHasZoneInTamperTrouble(boolean hasZoneInTamperTrouble) { - this.hasZoneInTamperTrouble = hasZoneInTamperTrouble; - } - - public boolean isHasZoneInLowBatteryTrouble() { - return hasZoneInLowBatteryTrouble; - } - - public void setHasZoneInLowBatteryTrouble(boolean hasZoneInLowBatteryTrouble) { - this.hasZoneInLowBatteryTrouble = hasZoneInLowBatteryTrouble; - } - - public boolean isHasZoneInFireLoopTrouble() { - return hasZoneInFireLoopTrouble; - } - - public void setHasZoneInFireLoopTrouble(boolean hasZoneInFireLoopTrouble) { - this.hasZoneInFireLoopTrouble = hasZoneInFireLoopTrouble; - } - - public boolean isHasZoneInSupervisionTrouble() { - return hasZoneInSupervisionTrouble; - } - - public void setHasZoneInSupervisionTrouble(boolean hasZoneInSupervisionTrouble) { - this.hasZoneInSupervisionTrouble = hasZoneInSupervisionTrouble; - } - - public boolean isStayInstantReady() { - return isStayInstantReady; - } - - public void setStayInstantReady(boolean isStayInstantReady) { - this.isStayInstantReady = isStayInstantReady; - } - - public boolean isForceReady() { - return isForceReady; - } - - public void setForceReady(boolean isForceReady) { - this.isForceReady = isForceReady; - } - - public boolean isBypassReady() { - return isBypassReady; - } - - public void setBypassReady(boolean isBypassReady) { - this.isBypassReady = isBypassReady; - } - - public boolean isInhibitReady() { - return isInhibitReady; - } - - public void setInhibitReady(boolean isInhibitReady) { - this.isInhibitReady = isInhibitReady; - } - - public boolean isAreAllZoneclosed() { - return areAllZoneclosed; - } - - public void setAllZoneClosed(boolean areAllZoneclosed) { - this.areAllZoneclosed = areAllZoneclosed; - } - - public boolean isHasAlarmInMemory() { - return hasAlarmInMemory; - } - - public void setHasAlarmInMemory(boolean hasAlarmInMemory) { - this.hasAlarmInMemory = hasAlarmInMemory; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +/** + * The {@link Partition} Paradox partition states. Retrieved and parsed from RAM memory responses. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class PartitionState { + + private boolean isArmed; + private boolean isArmedInAway; + private boolean isArmedInStay; + private boolean isArmedInNoEntry; + private boolean isInAlarm; + private boolean isInSilentAlarm; + private boolean isInAudibleAlarm; + private boolean isInFireAlarm; + + private boolean isReadyToArm; + private boolean isInExitDelay; + private boolean isInEntryDelay; + private boolean isInTrouble; + private boolean hasAlarmInMemory; + private boolean isInZoneBypass; + + private boolean hasZoneInTamperTrouble; + private boolean hasZoneInLowBatteryTrouble; + private boolean hasZoneInFireLoopTrouble; + private boolean hasZoneInSupervisionTrouble; + + private boolean isStayInstantReady; + private boolean isForceReady; + private boolean isBypassReady; + private boolean isInhibitReady; + private boolean areAllZoneclosed; + + public String getMainState() { + if (isInAlarm) { + return "InAlarm"; + } else { + return isArmed || isArmedInAway || isArmedInStay || isArmedInNoEntry ? "Armed" : "Disarmed"; + } + } + + @Override + public String toString() { + return "PartitionState [isArmed=" + isArmed + ", isArmedInAway=" + isArmedInAway + ", isArmedInStay=" + + isArmedInStay + ", isArmedInNoEntry=" + isArmedInNoEntry + ", isInAlarm=" + isInAlarm + + ", isInSilentAlarm=" + isInSilentAlarm + ", isInAudibleAlarm=" + isInAudibleAlarm + ", isInFireAlarm=" + + isInFireAlarm + ", isReadyToArm=" + isReadyToArm + ", isInExitDelay=" + isInExitDelay + + ", isInEntryDelay=" + isInEntryDelay + ", isInTrouble=" + isInTrouble + ", hasAlarmInMemory=" + + hasAlarmInMemory + ", isInZoneBypass=" + isInZoneBypass + ", hasZoneInTamperTrouble=" + + hasZoneInTamperTrouble + ", hasZoneInLowBatteryTrouble=" + hasZoneInLowBatteryTrouble + + ", hasZoneInFireLoopTrouble=" + hasZoneInFireLoopTrouble + ", hasZoneInSupervisionTrouble=" + + hasZoneInSupervisionTrouble + ", isStayInstantReady=" + isStayInstantReady + ", isForceReady=" + + isForceReady + ", isBypassReady=" + isBypassReady + ", isInhibitReady=" + isInhibitReady + + ", areAllZoneclosed=" + areAllZoneclosed + "]"; + } + + public boolean isArmed() { + return isArmed; + } + + public void setArmed(boolean isArmed) { + this.isArmed = isArmed; + } + + public boolean isArmedInAway() { + return isArmedInAway; + } + + public void setArmedInAway(boolean isArmedInAway) { + this.isArmedInAway = isArmedInAway; + } + + public boolean isArmedInStay() { + return isArmedInStay; + } + + public void setArmedInStay(boolean isArmedInStay) { + this.isArmedInStay = isArmedInStay; + } + + public boolean isArmedInNoEntry() { + return isArmedInNoEntry; + } + + public void setArmedInNoEntry(boolean isArmedInNoEntry) { + this.isArmedInNoEntry = isArmedInNoEntry; + } + + public boolean isInAlarm() { + return isInAlarm; + } + + public void setInAlarm(boolean isInAlarm) { + this.isInAlarm = isInAlarm; + } + + public boolean isInSilentAlarm() { + return isInSilentAlarm; + } + + public void setInSilentAlarm(boolean isInSilentAlarm) { + this.isInSilentAlarm = isInSilentAlarm; + } + + public boolean isInAudibleAlarm() { + return isInAudibleAlarm; + } + + public void setInAudibleAlarm(boolean isInAudibleAlarm) { + this.isInAudibleAlarm = isInAudibleAlarm; + } + + public boolean isInFireAlarm() { + return isInFireAlarm; + } + + public void setInFireAlarm(boolean isInFireAlarm) { + this.isInFireAlarm = isInFireAlarm; + } + + public boolean isReadyToArm() { + return isReadyToArm; + } + + public void setReadyToArm(boolean isReadyToArm) { + this.isReadyToArm = isReadyToArm; + } + + public boolean isInExitDelay() { + return isInExitDelay; + } + + public void setInExitDelay(boolean isInExitDelay) { + this.isInExitDelay = isInExitDelay; + } + + public boolean isInEntryDelay() { + return isInEntryDelay; + } + + public void setInEntryDelay(boolean isInEntryDelay) { + this.isInEntryDelay = isInEntryDelay; + } + + public boolean isInTrouble() { + return isInTrouble; + } + + public void setInTrouble(boolean isInTrouble) { + this.isInTrouble = isInTrouble; + } + + public boolean isHasAarmInMemory() { + return hasAlarmInMemory; + } + + public void setHasAarmInMemory(boolean hasAarmInMemory) { + this.hasAlarmInMemory = hasAarmInMemory; + } + + public boolean isInZoneBypass() { + return isInZoneBypass; + } + + public void setInZoneBypass(boolean isInZoneBypass) { + this.isInZoneBypass = isInZoneBypass; + } + + public boolean isHasZoneInTamperTrouble() { + return hasZoneInTamperTrouble; + } + + public void setHasZoneInTamperTrouble(boolean hasZoneInTamperTrouble) { + this.hasZoneInTamperTrouble = hasZoneInTamperTrouble; + } + + public boolean isHasZoneInLowBatteryTrouble() { + return hasZoneInLowBatteryTrouble; + } + + public void setHasZoneInLowBatteryTrouble(boolean hasZoneInLowBatteryTrouble) { + this.hasZoneInLowBatteryTrouble = hasZoneInLowBatteryTrouble; + } + + public boolean isHasZoneInFireLoopTrouble() { + return hasZoneInFireLoopTrouble; + } + + public void setHasZoneInFireLoopTrouble(boolean hasZoneInFireLoopTrouble) { + this.hasZoneInFireLoopTrouble = hasZoneInFireLoopTrouble; + } + + public boolean isHasZoneInSupervisionTrouble() { + return hasZoneInSupervisionTrouble; + } + + public void setHasZoneInSupervisionTrouble(boolean hasZoneInSupervisionTrouble) { + this.hasZoneInSupervisionTrouble = hasZoneInSupervisionTrouble; + } + + public boolean isStayInstantReady() { + return isStayInstantReady; + } + + public void setStayInstantReady(boolean isStayInstantReady) { + this.isStayInstantReady = isStayInstantReady; + } + + public boolean isForceReady() { + return isForceReady; + } + + public void setForceReady(boolean isForceReady) { + this.isForceReady = isForceReady; + } + + public boolean isBypassReady() { + return isBypassReady; + } + + public void setBypassReady(boolean isBypassReady) { + this.isBypassReady = isBypassReady; + } + + public boolean isInhibitReady() { + return isInhibitReady; + } + + public void setInhibitReady(boolean isInhibitReady) { + this.isInhibitReady = isInhibitReady; + } + + public boolean isAreAllZoneclosed() { + return areAllZoneclosed; + } + + public void setAllZoneClosed(boolean areAllZoneclosed) { + this.areAllZoneclosed = areAllZoneclosed; + } + + public boolean isHasAlarmInMemory() { + return hasAlarmInMemory; + } + + public void setHasAlarmInMemory(boolean hasAlarmInMemory) { + this.hasAlarmInMemory = hasAlarmInMemory; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Version.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Version.java index 982d4931ca1b7..8721b6f907c8d 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Version.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Version.java @@ -1,99 +1,98 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -import java.util.Date; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link Version} This class holds version information - * - * @author Konstantin Polihronov - Initial contribution - */ -public class Version { - private final Logger logger = LoggerFactory.getLogger(Version.class); - - private Byte version; - private Byte revision; - private Byte build; - private Date buildTime; - - public Version(Byte version, Byte revision) { - this(version, revision, null); - } - - public Version(Byte version, Byte revision, Byte build) { - this(version, revision, build, null); - } - - public Version(Byte version, Byte revision, Byte build, Date buildTime) { - this.version = version; - this.revision = revision; - this.build = build; - this.buildTime = buildTime; - logger.debug("version={}", this); - } - - public Byte getVersion() { - return version; - } - - public void setVersion(Byte version) { - this.version = version; - } - - public Byte getRevision() { - return revision; - } - - public void setRevision(Byte revision) { - this.revision = revision; - } - - public Byte getBuild() { - return build; - } - - public void setBuild(Byte build) { - this.build = build; - } - - public Date getBuildTime() { - return buildTime; - } - - public void setBuildTime(Date buildTime) { - this.buildTime = buildTime; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(); - sb.append("Version: "); - sb.append(version); - sb.append("."); - sb.append(revision); - if (build != null) { - sb.append("."); - sb.append(build); - } - if (buildTime != null) { - sb.append("/"); - sb.append(buildTime); - } - return sb.toString(); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +import java.util.Date; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link Version} This class holds version information + * + * @author Konstantin Polihronov - Initial contribution + */ +public class Version { + private final Logger logger = LoggerFactory.getLogger(Version.class); + + private Byte version; + private Byte revision; + private Byte build; + private Date buildTime; + + public Version(Byte version, Byte revision) { + this(version, revision, null); + } + + public Version(Byte version, Byte revision, Byte build) { + this(version, revision, build, null); + } + + public Version(Byte version, Byte revision, Byte build, Date buildTime) { + this.version = version; + this.revision = revision; + this.build = build; + this.buildTime = buildTime; + logger.debug("version={}", this); + } + + public Byte getVersion() { + return version; + } + + public void setVersion(Byte version) { + this.version = version; + } + + public Byte getRevision() { + return revision; + } + + public void setRevision(Byte revision) { + this.revision = revision; + } + + public Byte getBuild() { + return build; + } + + public void setBuild(Byte build) { + this.build = build; + } + + public Date getBuildTime() { + return buildTime; + } + + public void setBuildTime(Date buildTime) { + this.buildTime = buildTime; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("Version: "); + sb.append(version); + sb.append("."); + sb.append(revision); + if (build != null) { + sb.append("."); + sb.append(build); + } + if (buildTime != null) { + sb.append("/"); + sb.append(buildTime); + } + return sb.toString(); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Zone.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Zone.java index f8517a9961261..6629466e640ae 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Zone.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/Zone.java @@ -1,44 +1,44 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link Zone} Paradox zone. - * ID is always numeric (1-8 for Evo192) - * States are taken from cached RAM memory map and parsed. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class Zone extends Entity { - - private final Logger logger = LoggerFactory.getLogger(Zone.class); - - private ZoneState zoneState; - - public Zone(int id, String label) { - super(id, label); - } - - public ZoneState getZoneState() { - return zoneState; - } - - public void setZoneState(ZoneState zoneState) { - this.zoneState = zoneState; - logger.debug("Zone {} state updated to:\tOpened: {}, Tampered: {}, LowBattery: {}", getLabel(), - zoneState.isOpened(), zoneState.isTampered(), zoneState.hasLowBattery()); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link Zone} Paradox zone. + * ID is always numeric (1-8 for Evo192) + * States are taken from cached RAM memory map and parsed. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class Zone extends Entity { + + private final Logger logger = LoggerFactory.getLogger(Zone.class); + + private ZoneState zoneState; + + public Zone(int id, String label) { + super(id, label); + } + + public ZoneState getZoneState() { + return zoneState; + } + + public void setZoneState(ZoneState zoneState) { + this.zoneState = zoneState; + logger.debug("Zone {} state updated to:\tOpened: {}, Tampered: {}, LowBattery: {}", getLabel(), + zoneState.isOpened(), zoneState.isTampered(), zoneState.hasLowBattery()); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneState.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneState.java index e0847130df425..313ca7d07c37f 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneState.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneState.java @@ -1,54 +1,54 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -/** - * The {@link ZoneStateFlags} Paradox zone state flags. Retrieved and parsed from RAM memory responses. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ZoneState { - private boolean isOpened; - private boolean isTampered; - private boolean hasLowBattery; - - public ZoneState(boolean isOpened, boolean isTampered, boolean hasLowBattery) { - this.isOpened = isOpened; - this.isTampered = isTampered; - this.hasLowBattery = hasLowBattery; - } - - public boolean isOpened() { - return isOpened; - } - - public void setOpened(boolean isOpened) { - this.isOpened = isOpened; - } - - public boolean isTampered() { - return isTampered; - } - - public void setTampered(boolean isTampered) { - this.isTampered = isTampered; - } - - public boolean hasLowBattery() { - return hasLowBattery; - } - - public void setHasLowBattery(boolean hasLowBattery) { - this.hasLowBattery = hasLowBattery; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +/** + * The {@link ZoneStateFlags} Paradox zone state flags. Retrieved and parsed from RAM memory responses. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ZoneState { + private boolean isOpened; + private boolean isTampered; + private boolean hasLowBattery; + + public ZoneState(boolean isOpened, boolean isTampered, boolean hasLowBattery) { + this.isOpened = isOpened; + this.isTampered = isTampered; + this.hasLowBattery = hasLowBattery; + } + + public boolean isOpened() { + return isOpened; + } + + public void setOpened(boolean isOpened) { + this.isOpened = isOpened; + } + + public boolean isTampered() { + return isTampered; + } + + public void setTampered(boolean isTampered) { + this.isTampered = isTampered; + } + + public boolean hasLowBattery() { + return hasLowBattery; + } + + public void setHasLowBattery(boolean hasLowBattery) { + this.hasLowBattery = hasLowBattery; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneStateFlags.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneStateFlags.java index 41bad2a9e9079..c30bf6711b9e7 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneStateFlags.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/model/ZoneStateFlags.java @@ -1,49 +1,48 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.model; - -/** - * The {@link ZoneStateFlags} Paradox zone state flags. Retrieved and parsed from RAM memory responses. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ZoneStateFlags { - private byte[] zonesOpened; - private byte[] zonesTampered; - private byte[] zonesLowBattery; - - public byte[] getZonesOpened() { - return zonesOpened; - } - - public void setZonesOpened(byte[] zonesOpened) { - this.zonesOpened = zonesOpened; - } - - public byte[] getZonesTampered() { - return zonesTampered; - } - - public void setZonesTampered(byte[] zonesTampered) { - this.zonesTampered = zonesTampered; - } - - public byte[] getZonesLowBattery() { - return zonesLowBattery; - } - - public void setZonesLowBattery(byte[] zonesLowBattery) { - this.zonesLowBattery = zonesLowBattery; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.model; + +/** + * The {@link ZoneStateFlags} Paradox zone state flags. Retrieved and parsed from RAM memory responses. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ZoneStateFlags { + private byte[] zonesOpened; + private byte[] zonesTampered; + private byte[] zonesLowBattery; + + public byte[] getZonesOpened() { + return zonesOpened; + } + + public void setZonesOpened(byte[] zonesOpened) { + this.zonesOpened = zonesOpened; + } + + public byte[] getZonesTampered() { + return zonesTampered; + } + + public void setZonesTampered(byte[] zonesTampered) { + this.zonesTampered = zonesTampered; + } + + public byte[] getZonesLowBattery() { + return zonesLowBattery; + } + + public void setZonesLowBattery(byte[] zonesLowBattery) { + this.zonesLowBattery = zonesLowBattery; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/AbstractParser.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/AbstractParser.java index 117c7e0760c83..745f200aeacb1 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/AbstractParser.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/AbstractParser.java @@ -1,42 +1,42 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.parsers; - -import org.openhab.binding.paradoxalarm.internal.model.Version; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link AbstractParser} Contains parsing methods irelevant from panel type - * - * @author Konstantin Polihronov - Initial contribution - */ -public abstract class AbstractParser implements IParadoxParser { - - private final Logger logger = LoggerFactory.getLogger(AbstractParser.class); - - @Override - public Version parseApplicationVersion(byte[] panelInfoBytes) { - return new Version(panelInfoBytes[9], panelInfoBytes[10], panelInfoBytes[11]); - } - - @Override - public Version parseHardwareVersion(byte[] panelInfoBytes) { - return new Version(panelInfoBytes[16], panelInfoBytes[17]); - } - - @Override - public Version parseBootloaderVersion(byte[] panelInfoBytes) { - return new Version(panelInfoBytes[18], panelInfoBytes[19], panelInfoBytes[20]); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.parsers; + +import org.openhab.binding.paradoxalarm.internal.model.Version; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link AbstractParser} Contains parsing methods irelevant from panel type + * + * @author Konstantin Polihronov - Initial contribution + */ +public abstract class AbstractParser implements IParadoxParser { + + private final Logger logger = LoggerFactory.getLogger(AbstractParser.class); + + @Override + public Version parseApplicationVersion(byte[] panelInfoBytes) { + return new Version(panelInfoBytes[9], panelInfoBytes[10], panelInfoBytes[11]); + } + + @Override + public Version parseHardwareVersion(byte[] panelInfoBytes) { + return new Version(panelInfoBytes[16], panelInfoBytes[17]); + } + + @Override + public Version parseBootloaderVersion(byte[] panelInfoBytes) { + return new Version(panelInfoBytes[18], panelInfoBytes[19], panelInfoBytes[20]); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/EvoParser.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/EvoParser.java index 9de9b616cd88f..b8fbe175a9f8a 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/EvoParser.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/EvoParser.java @@ -1,82 +1,81 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.parsers; - -import org.openhab.binding.paradoxalarm.internal.model.PartitionState; -import org.openhab.binding.paradoxalarm.internal.model.ZoneState; -import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; -import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; - -/** - * The {@link EvoParser} Implementation of parser interface for EVO type panels - * - * @author Konstantin Polihronov - Initial contribution - */ -public class EvoParser extends AbstractParser { - - @Override - public PartitionState calculatePartitionState(byte[] partitionFlags) { - byte firstByte = partitionFlags[0]; - PartitionState state = new PartitionState(); - state.setArmed(ParadoxUtil.isBitSet(firstByte, 0)); - state.setArmedInAway(ParadoxUtil.isBitSet(firstByte, 1)); - state.setArmedInStay(ParadoxUtil.isBitSet(firstByte, 2)); - state.setArmedInNoEntry(ParadoxUtil.isBitSet(firstByte, 3)); - - state.setInAlarm(ParadoxUtil.isBitSet(firstByte, 4)); - state.setInSilentAlarm(ParadoxUtil.isBitSet(firstByte, 5)); - state.setInAudibleAlarm(ParadoxUtil.isBitSet(firstByte, 6)); - state.setInFireAlarm(ParadoxUtil.isBitSet(firstByte, 7)); - - byte secondByte = partitionFlags[1]; - state.setReadyToArm(ParadoxUtil.isBitSet(secondByte, 0)); - state.setInExitDelay(ParadoxUtil.isBitSet(secondByte, 1)); - state.setInEntryDelay(ParadoxUtil.isBitSet(secondByte, 2)); - state.setInTrouble(ParadoxUtil.isBitSet(secondByte, 3)); - state.setHasAlarmInMemory(ParadoxUtil.isBitSet(secondByte, 4)); - state.setInZoneBypass(ParadoxUtil.isBitSet(secondByte, 5)); - - byte thirdByte = partitionFlags[2]; - state.setHasZoneInTamperTrouble(ParadoxUtil.isBitSet(thirdByte, 4)); - state.setHasZoneInLowBatteryTrouble(ParadoxUtil.isBitSet(thirdByte, 5)); - state.setHasZoneInFireLoopTrouble(ParadoxUtil.isBitSet(thirdByte, 6)); - state.setHasZoneInSupervisionTrouble(ParadoxUtil.isBitSet(thirdByte, 7)); - - byte sixthByte = partitionFlags[5]; - state.setStayInstantReady(ParadoxUtil.isBitSet(sixthByte, 0)); - state.setForceReady(ParadoxUtil.isBitSet(sixthByte, 1)); - state.setBypassReady(ParadoxUtil.isBitSet(sixthByte, 2)); - state.setInhibitReady(ParadoxUtil.isBitSet(sixthByte, 3)); - state.setAllZoneClosed(ParadoxUtil.isBitSet(sixthByte, 4)); - - return state; - } - - @Override - public ZoneState calculateZoneState(int id, ZoneStateFlags zoneStateFlags) { - int index = (id - 1) / 8; - int bitNumber = id % 8 - 1; - - byte[] zonesOpened = zoneStateFlags.getZonesOpened(); - boolean isOpened = ParadoxUtil.isBitSet(zonesOpened[index], bitNumber); - - byte[] zonesTampered = zoneStateFlags.getZonesTampered(); - boolean isTampered = ParadoxUtil.isBitSet(zonesTampered[index], bitNumber); - - byte[] zonesLowBattery = zoneStateFlags.getZonesLowBattery(); - boolean hasLowBattery = ParadoxUtil.isBitSet(zonesLowBattery[index], bitNumber); - - return new ZoneState(isOpened, isTampered, hasLowBattery); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.parsers; + +import org.openhab.binding.paradoxalarm.internal.model.PartitionState; +import org.openhab.binding.paradoxalarm.internal.model.ZoneState; +import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; +import org.openhab.binding.paradoxalarm.internal.util.ParadoxUtil; + +/** + * The {@link EvoParser} Implementation of parser interface for EVO type panels + * + * @author Konstantin Polihronov - Initial contribution + */ +public class EvoParser extends AbstractParser { + + @Override + public PartitionState calculatePartitionState(byte[] partitionFlags) { + byte firstByte = partitionFlags[0]; + PartitionState state = new PartitionState(); + state.setArmed(ParadoxUtil.isBitSet(firstByte, 0)); + state.setArmedInAway(ParadoxUtil.isBitSet(firstByte, 1)); + state.setArmedInStay(ParadoxUtil.isBitSet(firstByte, 2)); + state.setArmedInNoEntry(ParadoxUtil.isBitSet(firstByte, 3)); + + state.setInAlarm(ParadoxUtil.isBitSet(firstByte, 4)); + state.setInSilentAlarm(ParadoxUtil.isBitSet(firstByte, 5)); + state.setInAudibleAlarm(ParadoxUtil.isBitSet(firstByte, 6)); + state.setInFireAlarm(ParadoxUtil.isBitSet(firstByte, 7)); + + byte secondByte = partitionFlags[1]; + state.setReadyToArm(ParadoxUtil.isBitSet(secondByte, 0)); + state.setInExitDelay(ParadoxUtil.isBitSet(secondByte, 1)); + state.setInEntryDelay(ParadoxUtil.isBitSet(secondByte, 2)); + state.setInTrouble(ParadoxUtil.isBitSet(secondByte, 3)); + state.setHasAlarmInMemory(ParadoxUtil.isBitSet(secondByte, 4)); + state.setInZoneBypass(ParadoxUtil.isBitSet(secondByte, 5)); + + byte thirdByte = partitionFlags[2]; + state.setHasZoneInTamperTrouble(ParadoxUtil.isBitSet(thirdByte, 4)); + state.setHasZoneInLowBatteryTrouble(ParadoxUtil.isBitSet(thirdByte, 5)); + state.setHasZoneInFireLoopTrouble(ParadoxUtil.isBitSet(thirdByte, 6)); + state.setHasZoneInSupervisionTrouble(ParadoxUtil.isBitSet(thirdByte, 7)); + + byte sixthByte = partitionFlags[5]; + state.setStayInstantReady(ParadoxUtil.isBitSet(sixthByte, 0)); + state.setForceReady(ParadoxUtil.isBitSet(sixthByte, 1)); + state.setBypassReady(ParadoxUtil.isBitSet(sixthByte, 2)); + state.setInhibitReady(ParadoxUtil.isBitSet(sixthByte, 3)); + state.setAllZoneClosed(ParadoxUtil.isBitSet(sixthByte, 4)); + + return state; + } + + @Override + public ZoneState calculateZoneState(int id, ZoneStateFlags zoneStateFlags) { + int index = (id - 1) / 8; + int bitNumber = id % 8 - 1; + + byte[] zonesOpened = zoneStateFlags.getZonesOpened(); + boolean isOpened = ParadoxUtil.isBitSet(zonesOpened[index], bitNumber); + + byte[] zonesTampered = zoneStateFlags.getZonesTampered(); + boolean isTampered = ParadoxUtil.isBitSet(zonesTampered[index], bitNumber); + + byte[] zonesLowBattery = zoneStateFlags.getZonesLowBattery(); + boolean hasLowBattery = ParadoxUtil.isBitSet(zonesLowBattery[index], bitNumber); + + return new ZoneState(isOpened, isTampered, hasLowBattery); + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/IParadoxParser.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/IParadoxParser.java index 5459fb7e89973..b31ec6da9b982 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/IParadoxParser.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/parsers/IParadoxParser.java @@ -1,35 +1,35 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.parsers; - -import org.openhab.binding.paradoxalarm.internal.model.PartitionState; -import org.openhab.binding.paradoxalarm.internal.model.Version; -import org.openhab.binding.paradoxalarm.internal.model.ZoneState; -import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; - -/** - * The {@link IParadoxParser} Interface for Paradox Parsers implementations - * - * @author Konstantin Polihronov - Initial contribution - */ -public interface IParadoxParser { - PartitionState calculatePartitionState(byte[] partitionFlags); - - ZoneState calculateZoneState(int id, ZoneStateFlags zoneStateFlags); - - Version parseApplicationVersion(byte[] panelInfoBytes); - - Version parseHardwareVersion(byte[] panelInfoBytes); - - Version parseBootloaderVersion(byte[] panelInfoBytes); -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.parsers; + +import org.openhab.binding.paradoxalarm.internal.model.PartitionState; +import org.openhab.binding.paradoxalarm.internal.model.Version; +import org.openhab.binding.paradoxalarm.internal.model.ZoneState; +import org.openhab.binding.paradoxalarm.internal.model.ZoneStateFlags; + +/** + * The {@link IParadoxParser} Interface for Paradox Parsers implementations + * + * @author Konstantin Polihronov - Initial contribution + */ +public interface IParadoxParser { + PartitionState calculatePartitionState(byte[] partitionFlags); + + ZoneState calculateZoneState(int id, ZoneStateFlags zoneStateFlags); + + Version parseApplicationVersion(byte[] panelInfoBytes); + + Version parseHardwareVersion(byte[] panelInfoBytes); + + Version parseBootloaderVersion(byte[] panelInfoBytes); +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/util/ParadoxUtil.java b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/util/ParadoxUtil.java index d5a26f9df7e80..86552845517ca 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/util/ParadoxUtil.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/java/org/openhab/binding/paradoxalarm/internal/util/ParadoxUtil.java @@ -1,135 +1,134 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.paradoxalarm.internal.util; - -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.nio.ByteBuffer; -import java.nio.ByteOrder; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ParadoxUtil} Utility class for different calculations / manipulations of data in the model and - * communicators. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class ParadoxUtil { - - private static final Logger logger = LoggerFactory.getLogger(ParadoxUtil.class); - - public static byte calculateChecksum(byte[] payload) { - int result = 0; - for (byte everyByte : payload) { - result += everyByte; - } - - return (byte) (result % 256); - } - - public static byte getBit(int value, int bitNumber) { - return (byte) ((value >> bitNumber) & 1); - } - - public static boolean isBitSet(int value, int bitNumber) { - return ((value >> bitNumber) & 1) == 1; - } - - public static void printPacket(String description, byte[] array) { - if (logger.isTraceEnabled()) { - logger.trace("Packet payload size: {}", array[1]); - printByteArray(description, array, array[1] + 16); - } - } - - private static void printByteArray(String description, byte[] array, int length) { - if (description != null && !description.isEmpty()) { - logger.trace("{}", description); - } - int countBytes = 0; - String result = ""; - for (int index = 0; index < length; index++) { - countBytes++; - String st = String.format("0x%02X,\t", array[index]); - result += st; - if (countBytes > 7) { - logger.trace(result); - countBytes = 0; - result = ""; - continue; - } - } - if (!result.isEmpty()) { - logger.trace(result); - } - - } - - public static byte setBit(byte byteValue, int i, int j) { - if (j == 1) { - return (byte) (byteValue | (1 << i)); - } else { - return (byte) (byteValue & ~(1 << i)); - } - } - - public static byte getHighNibble(byte value) { - return (byte) ((value & 0xF0) >> 4); - } - - public static byte getLowNibble(byte value) { - return (byte) (value & 0x0F); - } - - public static byte[] mergeByteArrays(byte[]... arrays) { - try { - ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); - for (byte[] array : arrays) { - outputStream.write(array); - } - byte[] byteArray = outputStream.toByteArray(); - return byteArray; - } catch (IOException e) { - logger.warn("Exception merging arrays:", e); - return new byte[0]; - } - } - - public static byte[] intToByteArray(int value) { - return ByteBuffer.allocate(Integer.SIZE / Byte.SIZE).order(ByteOrder.BIG_ENDIAN).putInt(value).array(); - } - - public static byte[] shortToByteArray(short value) { - return ByteBuffer.allocate(Short.SIZE / Byte.SIZE).order(ByteOrder.BIG_ENDIAN).putShort(value).array(); - } - - public static byte[] stringToBCD(String pcPassword) { - return stringToBCD(pcPassword, 4); - } - - public static byte[] stringToBCD(String pcPassword, int numberOfDigits) { - byte[] result = new byte[numberOfDigits / 2]; - for (int i = 0, j = 0; i < 2; i++, j += 2) { - String substring = pcPassword.substring(j, j + 1); - int parseInt = Integer.parseInt(substring); - result[i] = (byte) ((parseInt & 0x0F) << 4); - - substring = pcPassword.substring(j + 1, j + 2); - parseInt = Integer.parseInt(substring); - result[i] |= (byte) (parseInt & 0x0F); - } - return result; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.paradoxalarm.internal.util; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link ParadoxUtil} Utility class for different calculations / manipulations of data in the model and + * communicators. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class ParadoxUtil { + + private static final Logger logger = LoggerFactory.getLogger(ParadoxUtil.class); + + public static byte calculateChecksum(byte[] payload) { + int result = 0; + for (byte everyByte : payload) { + result += everyByte; + } + + return (byte) (result % 256); + } + + public static byte getBit(int value, int bitNumber) { + return (byte) ((value >> bitNumber) & 1); + } + + public static boolean isBitSet(int value, int bitNumber) { + return ((value >> bitNumber) & 1) == 1; + } + + public static void printPacket(String description, byte[] array) { + if (logger.isTraceEnabled()) { + logger.trace("Packet payload size: {}", array[1]); + printByteArray(description, array, array[1] + 16); + } + } + + private static void printByteArray(String description, byte[] array, int length) { + if (description != null && !description.isEmpty()) { + logger.trace("{}", description); + } + int countBytes = 0; + String result = ""; + for (int index = 0; index < length; index++) { + countBytes++; + String st = String.format("0x%02X,\t", array[index]); + result += st; + if (countBytes > 7) { + logger.trace(result); + countBytes = 0; + result = ""; + continue; + } + } + if (!result.isEmpty()) { + logger.trace(result); + } + } + + public static byte setBit(byte byteValue, int i, int j) { + if (j == 1) { + return (byte) (byteValue | (1 << i)); + } else { + return (byte) (byteValue & ~(1 << i)); + } + } + + public static byte getHighNibble(byte value) { + return (byte) ((value & 0xF0) >> 4); + } + + public static byte getLowNibble(byte value) { + return (byte) (value & 0x0F); + } + + public static byte[] mergeByteArrays(byte[]... arrays) { + try { + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + for (byte[] array : arrays) { + outputStream.write(array); + } + byte[] byteArray = outputStream.toByteArray(); + return byteArray; + } catch (IOException e) { + logger.warn("Exception merging arrays:", e); + return new byte[0]; + } + } + + public static byte[] intToByteArray(int value) { + return ByteBuffer.allocate(Integer.SIZE / Byte.SIZE).order(ByteOrder.BIG_ENDIAN).putInt(value).array(); + } + + public static byte[] shortToByteArray(short value) { + return ByteBuffer.allocate(Short.SIZE / Byte.SIZE).order(ByteOrder.BIG_ENDIAN).putShort(value).array(); + } + + public static byte[] stringToBCD(String pcPassword) { + return stringToBCD(pcPassword, 4); + } + + public static byte[] stringToBCD(String pcPassword, int numberOfDigits) { + byte[] result = new byte[numberOfDigits / 2]; + for (int i = 0, j = 0; i < 2; i++, j += 2) { + String substring = pcPassword.substring(j, j + 1); + int parseInt = Integer.parseInt(substring); + result[i] = (byte) ((parseInt & 0x0F) << 4); + + substring = pcPassword.substring(j + 1, j + 2); + parseInt = Integer.parseInt(substring); + result[i] |= (byte) (parseInt & 0x0F); + } + return result; + } +} diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/binding/binding.xml index eecdcc6d2f912..8138874b4ca7a 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/binding/binding.xml @@ -1,10 +1,10 @@ - - - - ParadoxAlarm Binding - This is the binding for ParadoxAlarm. - Konstantin Polihronov - - + + + + ParadoxAlarm Binding + This is the binding for ParadoxAlarm. + Konstantin Polihronov + + diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/ip150connector.xml b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/ip150connector.xml index f138639905b5a..e85fdf43800f3 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/ip150connector.xml +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/ip150connector.xml @@ -1,69 +1,69 @@ - - - - - - Paradox IP150 module connector - - - - - - - - - Specifies the refresh interval in seconds. - 5 - - - - PanelType - - - - Password for accessing IP150 - password - - - - PC Password (section 3012 of configuration) - 0000 - password - - - - IP address or host name of IP150 - network-address - - - - Port to connect to IP150 - 10000 - - - - The time to wait before a reconnect occurs after socket timeout. Value is in seconds - 30 - - - - Maximum number of configured zones to check (from zone 1 to maxZones) - 0 - - - - Maximum number of configured partitions to check (from partition 1 to maxPartitions) - 0 - - - - - - String - - Send Command - - + + + + + + Paradox IP150 module connector + + + + + + + + + Specifies the refresh interval in seconds. + 5 + + + + PanelType + + + + Password for accessing IP150 + password + + + + PC Password (section 3012 of configuration) + 0000 + password + + + + IP address or host name of IP150 + network-address + + + + Port to connect to IP150 + 10000 + + + + The time to wait before a reconnect occurs after socket timeout. Value is in seconds + 30 + + + + Maximum number of configured zones to check (from zone 1 to maxZones) + 0 + + + + Maximum number of configured partitions to check (from partition 1 to maxPartitions) + 0 + + + + + + String + + Send Command + + diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/panel.xml b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/panel.xml index f6122b607a3ed..6b3186bce7015 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/panel.xml +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/panel.xml @@ -1,64 +1,64 @@ - - - - - - - - - - Paradox panel various information - - - - - - - - - - - - - - - String - - Shows the state of the communication to panel (online/offline) - - - - String - - Panel serial number - - - - String - - Panel type (Evo, SP, etc) - - - - String - - Panel hardware version - - - - String - - Panel application version - - - - String - - Boot loader version - - - - + + + + + + + + + + Paradox panel various information + + + + + + + + + + + + + + + String + + Shows the state of the communication to panel (online/offline) + + + + String + + Panel serial number + + + + String + + Panel type (Evo, SP, etc) + + + + String + + Panel hardware version + + + + String + + Panel application version + + + + String + + Boot loader version + + + + diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/partition.xml b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/partition.xml index 57d3041f9ce5d..bdb1b384744da 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/partition.xml +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/partition.xml @@ -1,152 +1,152 @@ - - - - - - - - - - Paradox Partition - - - - - - - - - - - - - - - - - - - - - - - - - - This is the partition ID of the Paradox partition (1-8 for Evo) - - - - - - String - - Label of partition - - - - String - - State of partition - - - - String - - Additional states provided by panel (deprecated channel) - - - - switch - - Partition ready to arm - - - - switch - - Partition in Exit Delay - - - - switch - - Partition in Entry Delay - - - - switch - - Partition in Trouble - - - - switch - - Partition has Alarm in Memory - - - - switch - - Partition has Zone Bypass - - - - switch - - Partition has in Tamper Trouble - - - - switch - - Partition has in Low Battery Trouble - - - - switch - - Partition has in Fire Loop Trouble - - - - switch - - Partition has in Supervision Trouble - - - - switch - - Partition is Stay Instant Ready - - - - switch - - Partition is Force Ready - - - - switch - - Partition is Bypass Ready - - - - switch - - Partition is Inhibit Ready - - - - contact - - Partition has All Zones closed - - - + + + + + + + + + + Paradox Partition + + + + + + + + + + + + + + + + + + + + + + + + + + This is the partition ID of the Paradox partition (1-8 for Evo) + + + + + + String + + Label of partition + + + + String + + State of partition + + + + String + + Additional states provided by panel (deprecated channel) + + + + switch + + Partition ready to arm + + + + switch + + Partition in Exit Delay + + + + switch + + Partition in Entry Delay + + + + switch + + Partition in Trouble + + + + switch + + Partition has Alarm in Memory + + + + switch + + Partition has Zone Bypass + + + + switch + + Partition has in Tamper Trouble + + + + switch + + Partition has in Low Battery Trouble + + + + switch + + Partition has in Fire Loop Trouble + + + + switch + + Partition has in Supervision Trouble + + + + switch + + Partition is Stay Instant Ready + + + + switch + + Partition is Force Ready + + + + switch + + Partition is Bypass Ready + + + + switch + + Partition is Inhibit Ready + + + + contact + + Partition has All Zones closed + + + diff --git a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/zone.xml b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/zone.xml index e7ea634cd22aa..e49683063287d 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/zone.xml +++ b/bundles/org.openhab.binding.paradoxalarm/src/main/resources/ESH-INF/thing/zone.xml @@ -1,47 +1,47 @@ - - - - - - - - - Paradox zone - - - - - - - - - - - - This is the zone ID in the Paradox configuration - - - - - - String - - Label of zone - - - - contact - - State of zone - - - - switch - - State of zone - - - + + + + + + + + + Paradox zone + + + + + + + + + + + + This is the zone ID in the Paradox configuration + + + + + + String + + Label of zone + + + + contact + + State of zone + + + + switch + + State of zone + + + diff --git a/bundles/org.openhab.binding.paradoxalarm/src/test/java/main/Main.java b/bundles/org.openhab.binding.paradoxalarm/src/test/java/main/Main.java index ee2a54e66e42c..d783ad5f600e8 100644 --- a/bundles/org.openhab.binding.paradoxalarm/src/test/java/main/Main.java +++ b/bundles/org.openhab.binding.paradoxalarm/src/test/java/main/Main.java @@ -1,144 +1,143 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package main; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.concurrent.Executors; -import java.util.concurrent.ScheduledExecutorService; -import java.util.concurrent.TimeUnit; - -import org.openhab.binding.paradoxalarm.internal.communication.ICommunicatorBuilder; -import org.openhab.binding.paradoxalarm.internal.communication.IParadoxCommunicator; -import org.openhab.binding.paradoxalarm.internal.communication.ParadoxBuilderFactory; -import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; -import org.openhab.binding.paradoxalarm.internal.model.PanelType; -import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; -import org.openhab.binding.paradoxalarm.internal.model.Partition; -import org.openhab.binding.paradoxalarm.internal.model.Zone; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link Main} - used for testing purposes of low-level stuff. - * - * @author Konstantin Polihronov - Initial contribution - */ -public class Main { - - private static Logger logger = LoggerFactory.getLogger(Main.class); - - private static String ipAddress; - private static int port; - - // PASSWORD is your IP150 password - private static String ip150Password; - - // PC Password is the value of section 3012, i.e. if value is 0987, PC Password is two bytes 0x09, 0x87 - private static String pcPassword; - - private static ScheduledExecutorService scheduler; - - private static final String LOG_LEVEL = "DEBUG"; - - private static IParadoxCommunicator communicator; - - public static void main(String[] args) { - System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, LOG_LEVEL); - - readArguments(args); - - try { - scheduler = Executors.newScheduledThreadPool(Runtime.getRuntime().availableProcessors()); - - ParadoxBuilderFactory factory = new ParadoxBuilderFactory(); - ICommunicatorBuilder builder = factory.createBuilder(PanelType.EVO192); - communicator = builder.withIp150Password(ip150Password).withPcPassword(pcPassword).withIpAddress(ipAddress) - .withTcpPort(port).withMaxPartitions(4).withMaxZones(60).withScheduler(scheduler).build(); - - ParadoxPanel panel = ParadoxPanel.getInstance(); - panel.setCommunicator(communicator); - - communicator.setListeners(Arrays.asList(panel)); - - panel.setCommunicator(communicator); - - // scheduler.schedule(communicator::initializeEpromData, 2, TimeUnit.SECONDS); - // scheduler.schedule(communicator::refreshMemoryMap, 2, TimeUnit.SECONDS); - - scheduler.scheduleWithFixedDelay(() -> { - updateDataCache(communicator, false); - }, 7, 5, TimeUnit.SECONDS); - } catch (Exception e) { - logger.error("Exception: ", e); - System.exit(0); - } - } - - private static void updateDataCache(IParadoxCommunicator communicator, boolean withEpromValues) { - logger.debug("Refreshing memory map"); - communicator.refreshMemoryMap(); - } - - private static List initializeZones(IParadoxCommunicator paradoxSystem) - throws IOException, InterruptedException, ParadoxException { - Map zoneLabels = paradoxSystem.getZoneLabels(); - List zones = new ArrayList<>(); - for (int i = 0; i < 40; i++) { - Zone zone = new Zone(i + 1, zoneLabels.get(i)); - zones.add(zone); - } - return zones; - } - - private static List initializePartitions(IParadoxCommunicator paradoxSystem) - throws IOException, InterruptedException, ParadoxException { - Map partitionLabels = paradoxSystem.getPartitionLabels(); - List partitions = new ArrayList<>(); - for (int i = 0; i < partitionLabels.size(); i++) { - Partition partition = new Partition(i + 1, partitionLabels.get(i)); - partitions.add(partition); - logger.debug("Partition {}:\t{}", i + 1, partition.getState().getMainState()); - } - return partitions; - } - - private static void readArguments(String[] args) { - if (args == null || args.length < 8 || !"--password".equals(args[0]) || args[1] == null || args[1].isEmpty() - || args[2] == null || !"--pc_password".equals(args[2]) || args[3] == null || args[3].isEmpty() - || !"--ip_address".equals(args[4]) || args[5] == null || args[5].isEmpty() || !"--port".equals(args[6]) - || args[7] == null || args[7].isEmpty()) { - logger.error( - "Usage: application --password --pc_password --ip_address
    --port \n (pc password default is 0000, can be obtained by checking section 3012), default port is 10000"); - System.exit(0); - } else { - logger.info("Arguments retrieved successfully from CLI."); - - ip150Password = args[1]; - logger.info("IP150 Password: {}", ip150Password); - - pcPassword = args[3]; - logger.info("PC Password: {}", pcPassword); - - ipAddress = args[5]; - logger.info("IP150 IP Address: {}", ipAddress); - - port = new Integer(args[7]); - logger.info("IP150 port: {}", port); - } - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package main; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; + +import org.openhab.binding.paradoxalarm.internal.communication.ICommunicatorBuilder; +import org.openhab.binding.paradoxalarm.internal.communication.IParadoxCommunicator; +import org.openhab.binding.paradoxalarm.internal.communication.ParadoxBuilderFactory; +import org.openhab.binding.paradoxalarm.internal.exceptions.ParadoxException; +import org.openhab.binding.paradoxalarm.internal.model.PanelType; +import org.openhab.binding.paradoxalarm.internal.model.ParadoxPanel; +import org.openhab.binding.paradoxalarm.internal.model.Partition; +import org.openhab.binding.paradoxalarm.internal.model.Zone; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The {@link Main} - used for testing purposes of low-level stuff. + * + * @author Konstantin Polihronov - Initial contribution + */ +public class Main { + + private static Logger logger = LoggerFactory.getLogger(Main.class); + + private static String ipAddress; + private static int port; + + // PASSWORD is your IP150 password + private static String ip150Password; + + // PC Password is the value of section 3012, i.e. if value is 0987, PC Password is two bytes 0x09, 0x87 + private static String pcPassword; + + private static ScheduledExecutorService scheduler; + + private static final String LOG_LEVEL = "DEBUG"; + + private static IParadoxCommunicator communicator; + + public static void main(String[] args) { + System.setProperty(org.slf4j.impl.SimpleLogger.DEFAULT_LOG_LEVEL_KEY, LOG_LEVEL); + + readArguments(args); + + try { + scheduler = Executors.newScheduledThreadPool(Runtime.getRuntime().availableProcessors()); + + ParadoxBuilderFactory factory = new ParadoxBuilderFactory(); + ICommunicatorBuilder builder = factory.createBuilder(PanelType.EVO192); + communicator = builder.withIp150Password(ip150Password).withPcPassword(pcPassword).withIpAddress(ipAddress) + .withTcpPort(port).withMaxPartitions(4).withMaxZones(60).withScheduler(scheduler).build(); + + ParadoxPanel panel = ParadoxPanel.getInstance(); + panel.setCommunicator(communicator); + + communicator.setListeners(Arrays.asList(panel)); + + panel.setCommunicator(communicator); + + // scheduler.schedule(communicator::initializeEpromData, 2, TimeUnit.SECONDS); + // scheduler.schedule(communicator::refreshMemoryMap, 2, TimeUnit.SECONDS); + + scheduler.scheduleWithFixedDelay(() -> { + updateDataCache(communicator, false); + }, 7, 5, TimeUnit.SECONDS); + } catch (Exception e) { + logger.error("Exception: ", e); + System.exit(0); + } + } + + private static void updateDataCache(IParadoxCommunicator communicator, boolean withEpromValues) { + logger.debug("Refreshing memory map"); + communicator.refreshMemoryMap(); + } + + private static List initializeZones(IParadoxCommunicator paradoxSystem) + throws IOException, InterruptedException, ParadoxException { + Map zoneLabels = paradoxSystem.getZoneLabels(); + List zones = new ArrayList<>(); + for (int i = 0; i < 40; i++) { + Zone zone = new Zone(i + 1, zoneLabels.get(i)); + zones.add(zone); + } + return zones; + } + + private static List initializePartitions(IParadoxCommunicator paradoxSystem) + throws IOException, InterruptedException, ParadoxException { + Map partitionLabels = paradoxSystem.getPartitionLabels(); + List partitions = new ArrayList<>(); + for (int i = 0; i < partitionLabels.size(); i++) { + Partition partition = new Partition(i + 1, partitionLabels.get(i)); + partitions.add(partition); + logger.debug("Partition {}:\t{}", i + 1, partition.getState().getMainState()); + } + return partitions; + } + + private static void readArguments(String[] args) { + if (args == null || args.length < 8 || !"--password".equals(args[0]) || args[1] == null || args[1].isEmpty() + || args[2] == null || !"--pc_password".equals(args[2]) || args[3] == null || args[3].isEmpty() + || !"--ip_address".equals(args[4]) || args[5] == null || args[5].isEmpty() || !"--port".equals(args[6]) + || args[7] == null || args[7].isEmpty()) { + logger.error( + "Usage: application --password --pc_password --ip_address
    --port \n (pc password default is 0000, can be obtained by checking section 3012), default port is 10000"); + System.exit(0); + } else { + logger.info("Arguments retrieved successfully from CLI."); + + ip150Password = args[1]; + logger.info("IP150 Password: {}", ip150Password); + + pcPassword = args[3]; + logger.info("PC Password: {}", pcPassword); + + ipAddress = args[5]; + logger.info("IP150 IP Address: {}", ipAddress); + + port = new Integer(args[7]); + logger.info("IP150 port: {}", port); + } + } +} diff --git a/bundles/org.openhab.binding.pentair/pom.xml b/bundles/org.openhab.binding.pentair/pom.xml index 3b93daeb7613b..a1cd2f7979d59 100644 --- a/bundles/org.openhab.binding.pentair/pom.xml +++ b/bundles/org.openhab.binding.pentair/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.pentair/src/main/feature/feature.xml b/bundles/org.openhab.binding.pentair/src/main/feature/feature.xml index 94a9ff71af590..e310d86ecc3ff 100644 --- a/bundles/org.openhab.binding.pentair/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.pentair/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.pentair/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.pentair/${project.version} + diff --git a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/binding/binding.xml index 0ead44bc8c49b..186badac8deaf 100644 --- a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Pentair Binding This is the binding for Pentair pool systems. diff --git a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/easytouch.xml b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/easytouch.xml index 5a801f483cfed..37db93dac7412 100644 --- a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/easytouch.xml +++ b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/easytouch.xml @@ -1,13 +1,13 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - - + + @@ -66,7 +66,7 @@ Number - Spa water temperature. Only valide when in spa mode. + Spa water temperature. Only valide when in spa mode. diff --git a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intellichlor.xml b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intellichlor.xml index 28b6e6cd7263f..a5f133af04b96 100644 --- a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intellichlor.xml +++ b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intellichlor.xml @@ -1,13 +1,13 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - - + + diff --git a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intelliflo.xml b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intelliflo.xml index bb774482bb40e..f8968beeb6eba 100644 --- a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intelliflo.xml +++ b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/intelliflo.xml @@ -1,13 +1,13 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - - + + @@ -72,5 +72,5 @@ Pump Error - + diff --git a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/serial_bridge.xml b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/serial_bridge.xml index da17b66d803fd..40b04c7f553f7 100644 --- a/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/serial_bridge.xml +++ b/bundles/org.openhab.binding.pentair/src/main/resources/ESH-INF/thing/serial_bridge.xml @@ -1,7 +1,8 @@ - + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> diff --git a/bundles/org.openhab.binding.phc/pom.xml b/bundles/org.openhab.binding.phc/pom.xml index 34b0307354077..90a70f9a26f7b 100644 --- a/bundles/org.openhab.binding.phc/pom.xml +++ b/bundles/org.openhab.binding.phc/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.phc/src/main/feature/feature.xml b/bundles/org.openhab.binding.phc/src/main/feature/feature.xml index eb6656f4501f0..c801b6f29f519 100644 --- a/bundles/org.openhab.binding.phc/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.phc/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.phc/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.phc/${project.version} + diff --git a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java index 35068c1be073f..8ce1c55a765dc 100644 --- a/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java +++ b/bundles/org.openhab.binding.phc/src/main/java/org/openhab/binding/phc/internal/handler/PHCBridgeHandler.java @@ -124,7 +124,6 @@ public void initialize() { public void run() { processQueueLoop(); } - }.start(); } catch (PortInUseException | TooManyListenersException e) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, diff --git a/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/binding/binding.xml index 8af693fb72b86..a32f68eae9269 100644 --- a/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - PHC Binding diff --git a/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/channel-types.xml index ec0a247bc1a04..8d2cce61a54aa 100644 --- a/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/channel-types.xml @@ -8,14 +8,14 @@ Outgoing switch channels (relay). - - - - - - - - + + + + + + + + @@ -23,22 +23,22 @@ Incoming channels. - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -46,10 +46,10 @@ Outgoing shutter channels (relay). - - - - + + + + @@ -57,10 +57,10 @@ Time for shutter channels in seconds with an accuracy of 1/10 seconds. - - - - + + + + diff --git a/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/thing-types.xml index ae5e9787d7085..383231536f61f 100644 --- a/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.phc/src/main/resources/ESH-INF/thing/thing-types.xml @@ -23,14 +23,14 @@ - + Thing for an AM channel. - + @@ -45,15 +45,15 @@ - + Thing for an EM channel. - - + + @@ -67,15 +67,15 @@ - + Thing for an JRM channel. - - + + diff --git a/bundles/org.openhab.binding.pioneeravr/pom.xml b/bundles/org.openhab.binding.pioneeravr/pom.xml index 23eca8112441f..f1747d90dbd18 100644 --- a/bundles/org.openhab.binding.pioneeravr/pom.xml +++ b/bundles/org.openhab.binding.pioneeravr/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/feature/feature.xml b/bundles/org.openhab.binding.pioneeravr/src/main/feature/feature.xml index 4ac9cd5f60c0a..092114ad1bef4 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.pioneeravr/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.pioneeravr/${project.version} - + + openhab-runtime-base + openhab-transport-serial + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.pioneeravr/${project.version} + diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java index 7e7d56a9855cb..5c207daefe71f 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/PioneerAvrBindingConstants.java @@ -45,26 +45,22 @@ public class PioneerAvrBindingConstants { Stream.of("SC-89", "SC-LX88", "SC-87", "SC-LX78", "SC-85", "SC-LX58", "SC-82", "SC-2024", "SC-81", "VSX-80") .collect(Collectors.toSet())); - public static final Set SUPPORTED_DEVICE_MODELS2016 = Collections.unmodifiableSet( - Stream.of("SC-99", "SC-LX89", "SC-97", "SC-LX79", "SC-95", "SC-LX59", "SC-92", "SC-91", "VSX-90", "VSX-45", - "VSX-830", "VSX-930", "VSX-1130") - .collect(Collectors.toSet())); + public static final Set SUPPORTED_DEVICE_MODELS2016 = Collections + .unmodifiableSet(Stream.of("SC-99", "SC-LX89", "SC-97", "SC-LX79", "SC-95", "SC-LX59", "SC-92", "SC-91", + "VSX-90", "VSX-45", "VSX-830", "VSX-930", "VSX-1130").collect(Collectors.toSet())); public static final Set SUPPORTED_DEVICE_MODELS2017 = Collections.unmodifiableSet( Stream.of("VSX-531", "VSX-531D", "VSX-831", "VSX-1131", "VSX-LX101", "VSX-LX301", "VSX-LX501") .collect(Collectors.toSet())); - public static final Set SUPPORTED_DEVICE_MODELS2018 = Collections.unmodifiableSet( - Stream.of("VSX-532", "VSX-832", "VSX-932", "VSX-LX102", "VSX-LX302", "VSX-LX502") - .collect(Collectors.toSet())); + public static final Set SUPPORTED_DEVICE_MODELS2018 = Collections.unmodifiableSet(Stream + .of("VSX-532", "VSX-832", "VSX-932", "VSX-LX102", "VSX-LX302", "VSX-LX502").collect(Collectors.toSet())); public static final Set SUPPORTED_DEVICE_MODELS2019 = Collections.unmodifiableSet( - Stream.of("VSX-833", "VSX-933", "VSX-LX103", "VSX-LX303", "VSX-LX503") - .collect(Collectors.toSet())); + Stream.of("VSX-833", "VSX-933", "VSX-LX103", "VSX-LX303", "VSX-LX503").collect(Collectors.toSet())); - public static final Set SUPPORTED_DEVICE_MODELS2020 = Collections.unmodifiableSet( - Stream.of("VSX-534", "VSX-534D", "VSX-934", "VSX-LX104", "VSX-LX304", "VSX-LX504") - .collect(Collectors.toSet())); + public static final Set SUPPORTED_DEVICE_MODELS2020 = Collections.unmodifiableSet(Stream + .of("VSX-534", "VSX-534D", "VSX-934", "VSX-LX104", "VSX-LX304", "VSX-LX504").collect(Collectors.toSet())); // List of all Thing Type UIDs public static final ThingTypeUID IP_AVR_THING_TYPE = new ThingTypeUID(BINDING_ID, "ipAvr"); @@ -108,5 +104,4 @@ public class PioneerAvrBindingConstants { IP_AVR_THING_TYPE2020, IP_AVR_THING_TYPE2019, IP_AVR_THING_TYPE2018, IP_AVR_THING_TYPE2017, IP_AVR_THING_TYPE2016, IP_AVR_THING_TYPE2015, IP_AVR_THING_TYPE2014, IP_AVR_UNSUPPORTED_THING_TYPE) .collect(Collectors.toSet()); - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AbstractAvrHandler.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AbstractAvrHandler.java index ff7ccf6aa5680..1df7eae50cf56 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AbstractAvrHandler.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/AbstractAvrHandler.java @@ -359,5 +359,4 @@ protected int getZoneFromChannelUID(String channelUID) { } return zone; } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/IpAvrHandler.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/IpAvrHandler.java index af15e931305d6..7cbe7d18e6c83 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/IpAvrHandler.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/IpAvrHandler.java @@ -35,5 +35,4 @@ protected AvrConnection createConnection() { return new IpAvrConnection(host, tcpPort); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/SerialAvrHandler.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/SerialAvrHandler.java index f10c8a0d177a3..4f2437f3f86dd 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/SerialAvrHandler.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/handler/SerialAvrHandler.java @@ -34,5 +34,4 @@ protected AvrConnection createConnection() { return new SerialAvrConnection(serialPort); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ParameterizedCommand.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ParameterizedCommand.java index 79307c0d97875..b74e6f85f6a29 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ParameterizedCommand.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ParameterizedCommand.java @@ -92,5 +92,4 @@ public String getParameter() { public String getParameterPattern() { return parameterPattern; } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/RequestResponseFactory.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/RequestResponseFactory.java index 1ce7cf2dfe11d..b8dd8c24e89b7 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/RequestResponseFactory.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/RequestResponseFactory.java @@ -84,5 +84,4 @@ public static ParameterizedCommand getIpControlCommand(ParameterizedCommandType public static Response getIpControlResponse(String responseData) { return new Response(responseData); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/Response.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/Response.java index ebbf648c78cc4..d4d291b01e709 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/Response.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/Response.java @@ -165,5 +165,4 @@ public boolean hasParameter() { public Integer getZone() { return this.zone; } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/SimpleCommand.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/SimpleCommand.java index 3f65fd1d13cea..846ae33f7ecb3 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/SimpleCommand.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/SimpleCommand.java @@ -76,5 +76,4 @@ public CommandType getCommandType() { public int getZone() { return zone; } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/StreamAvrConnection.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/StreamAvrConnection.java index b57396e32a60e..ac363d8bda28e 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/StreamAvrConnection.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/StreamAvrConnection.java @@ -278,10 +278,12 @@ public boolean sendListeningModeCommand(Command command, int zone) throws Comman AvrCommand commandToSend = null; if (command == IncreaseDecreaseType.INCREASE) { - commandToSend = RequestResponseFactory.getIpControlCommand(SimpleCommandType.LISTENING_MODE_CHANGE_CYCLIC, zone); + commandToSend = RequestResponseFactory.getIpControlCommand(SimpleCommandType.LISTENING_MODE_CHANGE_CYCLIC, + zone); } else if (command instanceof StringType) { String listeningModeValue = ((StringType) command).toString(); - commandToSend = RequestResponseFactory.getIpControlCommand(ParameterizedCommandType.LISTENING_MODE_SET, zone) + commandToSend = RequestResponseFactory + .getIpControlCommand(ParameterizedCommandType.LISTENING_MODE_SET, zone) .setParameter(listeningModeValue); } else { throw new CommandTypeNotSupportedException("Command type not supported."); @@ -380,7 +382,5 @@ public void stopReader() { // This exception should never happen. } } - } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrCommand.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrCommand.java index 8a744642dd2dc..f543aeed6b2c5 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrCommand.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrCommand.java @@ -61,5 +61,4 @@ public interface CommandType { * @return */ public CommandType getCommandType(); - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnection.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnection.java index 52e428c3b3eae..0b51b5220ae67 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnection.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnection.java @@ -147,5 +147,4 @@ public interface AvrConnection { * @return */ public String getConnectionName(); - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnectionException.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnectionException.java index 8a1191315f917..ebdd413cfdb73 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnectionException.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrConnectionException.java @@ -38,5 +38,4 @@ public AvrConnectionException(String message, Throwable cause) { public AvrConnectionException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrResponse.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrResponse.java index 509b146fd82e4..78ee8e3034fba 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrResponse.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/AvrResponse.java @@ -94,5 +94,4 @@ public interface AvrResponseType { * @return */ public Integer getZone(); - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/CommandTypeNotSupportedException.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/CommandTypeNotSupportedException.java index 07e6e7e7bb6b5..db9c20e8806e0 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/CommandTypeNotSupportedException.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/avr/CommandTypeNotSupportedException.java @@ -36,5 +36,4 @@ public CommandTypeNotSupportedException(String message, Throwable cause) { public CommandTypeNotSupportedException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionEvent.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionEvent.java index f0aabb02c4728..2e5de9fa67931 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionEvent.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionEvent.java @@ -36,5 +36,4 @@ public AvrConnection getConnection() { public Throwable getCause() { return cause; } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionListener.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionListener.java index 25a5dce337f52..c83b4a519ab62 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionListener.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrDisconnectionListener.java @@ -25,5 +25,4 @@ public interface AvrDisconnectionListener { * @param event */ public void onDisconnection(AvrDisconnectionEvent event); - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrStatusUpdateEvent.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrStatusUpdateEvent.java index 2e196d2fc9b3d..1d5b61b804a5d 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrStatusUpdateEvent.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrStatusUpdateEvent.java @@ -36,5 +36,4 @@ public AvrConnection getConnection() { public String getData() { return data; } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrUpdateListener.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrUpdateListener.java index 1a153991b414a..89635f4aa7b27 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrUpdateListener.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/event/AvrUpdateListener.java @@ -28,5 +28,4 @@ public interface AvrUpdateListener extends EventListener { * Procedure for receive status update from Pioneer receiver. */ public void statusUpdateReceived(AvrStatusUpdateEvent event); - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ip/IpAvrConnection.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ip/IpAvrConnection.java index 4c63b60f89694..65bbaaafdb09d 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ip/IpAvrConnection.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/ip/IpAvrConnection.java @@ -107,5 +107,4 @@ protected InputStream getInputStream() throws IOException { protected OutputStream getOutputStream() throws IOException { return ipControlSocket.getOutputStream(); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/serial/SerialAvrConnection.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/serial/SerialAvrConnection.java index adc9589e5a8f6..779af0bf8d266 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/serial/SerialAvrConnection.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/serial/SerialAvrConnection.java @@ -98,5 +98,4 @@ protected InputStream getInputStream() throws IOException { protected OutputStream getOutputStream() throws IOException { return serialPort.getOutputStream(); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/MuteStateValues.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/MuteStateValues.java index 4ddabc4466413..23e3482cdec2a 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/MuteStateValues.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/MuteStateValues.java @@ -20,5 +20,4 @@ public interface MuteStateValues { public static final String ON_VALUE = "0"; public static final String OFF_VALUE = "1"; - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/PowerStateValues.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/PowerStateValues.java index 160f9399e2383..a17f7113ae94d 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/PowerStateValues.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/states/PowerStateValues.java @@ -21,5 +21,4 @@ public interface PowerStateValues { public static final String ON_VALUE = "0"; public static final String OFF_VALUE = "1"; public static final String NETWORK_STANDBY_VALUE = "2"; - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/DisplayInformationConverter.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/DisplayInformationConverter.java index c9d1e0b93a4b4..a13f708aa8e63 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/DisplayInformationConverter.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/DisplayInformationConverter.java @@ -47,5 +47,4 @@ public static String convertMessageFromIpControl(String responsePayload) throws } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/VolumeConverter.java b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/VolumeConverter.java index 1921ea6104e87..0441c12bd1360 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/VolumeConverter.java +++ b/bundles/org.openhab.binding.pioneeravr/src/main/java/org/openhab/binding/pioneeravr/internal/protocol/utils/VolumeConverter.java @@ -96,5 +96,4 @@ private static void validateZone(int zone) { throw new IllegalArgumentException("An unexpected zone was received, the value should be in the range 0-3"); } } - } diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/binding/binding.xml index 1a29866d15a8a..d6dde52474636 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - PioneerAvr Binding diff --git a/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml index f707c0d0ef7c0..8213563a41eaf 100644 --- a/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.pioneeravr/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,15 +1,19 @@ - - Control a classic Pioneer AVR (SC-57, SC-LX85, SC-55, SC-1526, SC-LX75, VSX-53, VSX-1326, VSX-LX55, VSX-2021, VSA-LX55, VSX-52, VSX-1126, VSX-1121, VSX-51, VSX-1021, VSX-1026, VSA-1021, VSX-50, VSX-926, VSX-921, VSA-921) over IP + Control a classic Pioneer AVR (SC-57, SC-LX85, SC-55, SC-1526, SC-LX75, VSX-53, VSX-1326, VSX-LX55, + VSX-2021, VSA-LX55, VSX-52, VSX-1126, VSX-1121, VSX-51, VSX-1021, VSX-1026, VSA-1021, VSX-50, VSX-926, VSX-921, + VSA-921) over IP + - + @@ -39,7 +43,7 @@ Control a 2014 Pioneer AVR (SC-LX87, SC-LX77, SC-LX57, SC-2023, SC-1223, VSX-1123, VSX-923) over IP - + @@ -70,10 +74,12 @@ - Control a 2015 Pioneer AVR (SC-89, SC-LX88, SC-87, SC-LX78, SC-85, SC-LX58, SC-82, SC-2024, SC-81, VSX-80) over IP + Control a 2015 Pioneer AVR (SC-89, SC-LX88, SC-87, SC-LX78, SC-85, SC-LX58, SC-82, SC-2024, SC-81, + VSX-80) over IP + - + @@ -104,10 +110,12 @@ - Control a 2016 Pioneer AVR (SC-99, SC-LX89, SC-97, SC-LX79, SC-95, SC-LX59, SC-92, SC-91, VSX-90, VSX-45, VSX-830, VSX-930, VSX-1130) over IP + Control a 2016 Pioneer AVR (SC-99, SC-LX89, SC-97, SC-LX79, SC-95, SC-LX59, SC-92, SC-91, VSX-90, VSX-45, + VSX-830, VSX-930, VSX-1130) over IP + - + @@ -138,10 +146,12 @@ - Control a 2017 Pioneer AVR (VSX-531, VSX-531D, VSX-831, VSX-1131, VSX-LX101, VSX-LX301, VSX-LX501) over IP + Control a 2017 Pioneer AVR (VSX-531, VSX-531D, VSX-831, VSX-1131, VSX-LX101, VSX-LX301, VSX-LX501) over + IP + - + @@ -175,7 +185,7 @@ Control a 2018 Pioneer AVR (VSX-532, VSX-832, VSX-932, VSX-LX102, VSX-LX302, VSX-LX502) over IP - + @@ -209,7 +219,7 @@ Control a 2019 Pioneer AVR (VSX-833, VSX-933, VSX-LX103, VSX-LX303, VSX-LX503) over IP - + @@ -243,7 +253,7 @@ Control a 2020 Pioneer AVR (VSX-534, VSX-534D, VSX-934, VSX-LX104, VSX-LX304, VSX-LX504) over IP - + @@ -275,13 +285,14 @@ - Control a Pioneer AVR over IP for models that are not officially supported. You may experience some odd behaviors. + Control a Pioneer AVR over IP for models that are not officially supported. You may experience some odd + behaviors. - - - - + + + + @@ -304,10 +315,10 @@ Control a Pioneer AVR over a Serial port (RS-232). - - - - + + + + @@ -322,293 +333,293 @@ - + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + @@ -623,7 +634,7 @@ Increase/Decrease the volume (%) and mute/un-mute SoundVolume - + @@ -631,7 +642,7 @@ Set the volume level (dB) SoundVolume - + @@ -1291,7 +1302,7 @@ String Display the information displayed on the AVR front screen - + @@ -1363,7 +1374,7 @@ String Display the effective listening mode - + diff --git a/bundles/org.openhab.binding.pixometer/pom.xml b/bundles/org.openhab.binding.pixometer/pom.xml index 5ba4204dc7a29..70dca8d7d33d9 100644 --- a/bundles/org.openhab.binding.pixometer/pom.xml +++ b/bundles/org.openhab.binding.pixometer/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.pixometer/src/main/feature/feature.xml b/bundles/org.openhab.binding.pixometer/src/main/feature/feature.xml index 45775aff7f55b..fc675fa316ec0 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.pixometer/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.pixometer/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.pixometer/${project.version} + diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/handler/AccountHandler.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/handler/AccountHandler.java index 9b93a7ea038ee..32daa03aecce2 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/handler/AccountHandler.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/handler/AccountHandler.java @@ -167,5 +167,4 @@ public long getTokenExpiryDate() { private void setTokenExpiryDate(long expiresIn) { this.tokenExpiryDate = System.nanoTime() + expiresIn; } - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/Annotation.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/Annotation.java index dc36553ece5d2..3d3cf47726931 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/Annotation.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/Annotation.java @@ -69,5 +69,4 @@ public Integer getImage() { public void setImage(Integer image) { this.image = image; } - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ImageMeta.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ImageMeta.java index 1128bb1579875..56444eb523e54 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ImageMeta.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ImageMeta.java @@ -143,5 +143,4 @@ public String getPixolusVersion() { public void setPixolusVersion(String pixolusVersion) { this.pixolusVersion = pixolusVersion; } - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerAccountConfiguration.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerAccountConfiguration.java index cb2d05699d4d6..e16b95a3a8915 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerAccountConfiguration.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerAccountConfiguration.java @@ -36,5 +36,4 @@ public class PixometerAccountConfiguration { * Configured refresh rate */ public int refresh; - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerMeterConfiguration.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerMeterConfiguration.java index 285702af9a9c2..bdb48e9585b87 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerMeterConfiguration.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/PixometerMeterConfiguration.java @@ -26,5 +26,4 @@ public class PixometerMeterConfiguration { * The resourceId of the current meter */ public @NonNullByDefault({}) String resourceId; - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ReadingInstance.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ReadingInstance.java index 3137f009e7f81..82c6442c84dca 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ReadingInstance.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/config/ReadingInstance.java @@ -89,5 +89,4 @@ public int getProvidedFractionDigitsSecondTariff() { public void setProvidedFractionDigitsSecondTariff(int provided_fraction_digits_second_tariff) { this.providedFractionDigitsSecondTariff = provided_fraction_digits_second_tariff; } - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/data/MeterState.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/data/MeterState.java index c772cb561635d..5d1382ea63be5 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/data/MeterState.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/data/MeterState.java @@ -61,5 +61,4 @@ public DateTimeType getLastReadingDate() { public DateTimeType getLastRefreshTime() { return lastRefreshTime; } - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/serializer/CustomReadingInstanceDeserializer.java b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/serializer/CustomReadingInstanceDeserializer.java index 927ce674eb99a..30e92af5f8ef6 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/serializer/CustomReadingInstanceDeserializer.java +++ b/bundles/org.openhab.binding.pixometer/src/main/java/org/openhab/binding/pixometer/internal/serializer/CustomReadingInstanceDeserializer.java @@ -106,5 +106,4 @@ private String getStringFromJson(JsonObject data, String key) { private boolean checkStringForNullValues(String s) { return (s == null || s.isEmpty() || s.equals("null")); } - } diff --git a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/channels.xml index 2f98ccc5a544b..11f955418d163 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/channels.xml @@ -7,12 +7,12 @@ DateTime The last time that the current meter has been read. - + DateTime The last time that the thing has been refreshed. - + diff --git a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/energymeter.xml b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/energymeter.xml index cc858a83471b5..94010c5d432da 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/energymeter.xml +++ b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/energymeter.xml @@ -6,19 +6,20 @@ - + A specific energy meter. - - - + + + - The ID which represents the current meter. You can find it in the pixometer browser app while editing a specific meter. It should look like this: "https://pixometer.io/portal/#/meters/XXXXX/edit" + The ID which represents the current meter. You can find it in the pixometer browser app while editing a + specific meter. It should look like this: "https://pixometer.io/portal/#/meters/XXXXX/edit" @@ -26,6 +27,6 @@ Number:Energy The last value that has been read for this meter. - + diff --git a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/gasmeter.xml b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/gasmeter.xml index 9c8347ee73c26..9fdfca158a3f6 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/gasmeter.xml +++ b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/gasmeter.xml @@ -6,19 +6,20 @@ - + A specific gas meter. - - - + + + - The ID which represents the current meter. You can find it in the pixometer browser app while editing a specific meter. It should look like this: "https://pixometer.io/portal/#/meters/XXXXX/edit" + The ID which represents the current meter. You can find it in the pixometer browser app while editing a + specific meter. It should look like this: "https://pixometer.io/portal/#/meters/XXXXX/edit" @@ -26,6 +27,6 @@ Number:Volume The last value that has been read for this meter. - + diff --git a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/watermeter.xml b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/watermeter.xml index b26c4d728b43c..d48e517b3938b 100644 --- a/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/watermeter.xml +++ b/bundles/org.openhab.binding.pixometer/src/main/resources/ESH-INF/thing/watermeter.xml @@ -6,19 +6,20 @@ - + A specific water meter. - - - + + + - The ID which represents the current meter. You can find it in the pixometer browser app while editing a specific meter. It should look like this: "https://pixometer.io/portal/#/meters/XXXXX/edit" + The ID which represents the current meter. You can find it in the pixometer browser app while editing a + specific meter. It should look like this: "https://pixometer.io/portal/#/meters/XXXXX/edit" @@ -26,6 +27,6 @@ Number:Volume The last value that has been read for this meter. - + diff --git a/bundles/org.openhab.binding.pjlinkdevice/pom.xml b/bundles/org.openhab.binding.pjlinkdevice/pom.xml index 9ad8a9b55b6dc..335ffa173a51a 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/pom.xml +++ b/bundles/org.openhab.binding.pjlinkdevice/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/PJLinkDevice.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/PJLinkDevice.java index 7ec09fe651931..7a8c945f210fa 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/PJLinkDevice.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/PJLinkDevice.java @@ -358,7 +358,6 @@ public String getOtherInformation() throws ResponseException, IOException, Authe public Set getAvailableInputs() throws ResponseException, IOException, AuthenticationException { return new InputListQueryCommand(this).execute().getResult(); - } public void dispose() { diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/AcknowledgeResponseValue.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/AcknowledgeResponseValue.java index dedfcd35fdc5d..31e72358d846c 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/AcknowledgeResponseValue.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/AcknowledgeResponseValue.java @@ -44,5 +44,4 @@ public static AcknowledgeResponseValue getValueForCode(String code) throws Respo throw new ResponseException("Cannot understand acknowledgement status: " + code); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CacheException.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CacheException.java index 82be7c085d324..3d18d48d530a6 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CacheException.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CacheException.java @@ -26,5 +26,4 @@ public class CacheException extends RuntimeException { public CacheException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CachedCommand.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CachedCommand.java index 4f8a12aaeec4a..2509d0c6360f1 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CachedCommand.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/CachedCommand.java @@ -71,5 +71,4 @@ public ResponseType execute() throws ResponseException, IOException, Authenticat throw e; } } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/ResponseException.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/ResponseException.java index e6855865e62b1..578a472df41fd 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/ResponseException.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/ResponseException.java @@ -38,5 +38,4 @@ public ResponseException(String message) { public ResponseException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationCommand.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationCommand.java index 69998cad1b980..365f5bf650ccb 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationCommand.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationCommand.java @@ -61,5 +61,4 @@ public String getChallenge() { public PJLinkDevice getDevice() { return this.device; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationRequest.java index df9fcfe0724fd..861950014ee06 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/authentication/AuthenticationRequest.java @@ -47,5 +47,4 @@ public String getRequestString() throws AuthenticationException { throw new AuthenticationException(e); } } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryRequest.java index 01f68577a71dd..f3670bad345af 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryRequest.java @@ -27,5 +27,4 @@ public class ErrorStatusQueryRequest implements Request { public String getRequestString() { return "%1ERST ?"; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryResponse.java index f71f8ea40c30b..7e44db6aad21f 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/errorstatus/ErrorStatusQueryResponse.java @@ -113,5 +113,4 @@ protected Map parseRespons } return result; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationCommand.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationCommand.java index 9ff1e815cf1b9..71b68a7e15448 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationCommand.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationCommand.java @@ -71,5 +71,4 @@ protected IdentificationRequest createRequest() { protected IdentificationResponse parseResponse(String response) throws ResponseException { return new IdentificationResponse(this, response); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationRequest.java index b076690bd1599..813602f15530c 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationRequest.java @@ -33,5 +33,4 @@ public IdentificationRequest(IdentificationCommand command) { public String getRequestString() { return "%1" + this.command.getIdentificationProperty().getPJLinkCommandPrefix() + " ?"; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationResponse.java index 038e489ceef4f..3e1ffcf063246 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/identification/IdentificationResponse.java @@ -31,5 +31,4 @@ public IdentificationResponse(IdentificationCommand command, String response) th protected String parseResponseWithoutPrefix(String responseWithoutPrefix) throws ResponseException { return responseWithoutPrefix; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionRequest.java index 0cca08acb3c95..2c90af5a4ba97 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionRequest.java @@ -33,5 +33,4 @@ public InputInstructionRequest(InputInstructionCommand command) { public String getRequestString() { return "%1INPT " + this.command.getTarget().getPJLinkRepresentation(); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionResponse.java index a75f9a5a9eb91..f74178b060d14 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputInstructionResponse.java @@ -40,5 +40,4 @@ protected AcknowledgeResponseValue parseResponseWithoutPrefix(String responseWit throws ResponseException { return AcknowledgeResponseValue.getValueForCode(responseWithoutPrefix); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryRequest.java index 9f26a622b88a4..2a6cfe09324fc 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryRequest.java @@ -27,5 +27,4 @@ public class InputListQueryRequest implements Request { public String getRequestString() { return "%1INST ?"; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryResponse.java index 37d9a1f90bd4b..6215c3d9285bf 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputListQueryResponse.java @@ -45,5 +45,4 @@ protected Set parseResponseWithoutPrefix(String responseWithoutPrefix) th } return result; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputQueryRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputQueryRequest.java index 5222176300592..bd5f689b0a0a6 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputQueryRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/input/InputQueryRequest.java @@ -27,5 +27,4 @@ public class InputQueryRequest implements Request { public String getRequestString() { return "%1INPT ?"; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesCommand.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesCommand.java index 2986776667c67..51a26907ed336 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesCommand.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesCommand.java @@ -39,5 +39,4 @@ protected LampStatesRequest createRequest() { protected LampStatesResponse parseResponse(String response) throws ResponseException { return new LampStatesResponse(response); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesResponse.java index ef0244af99f39..d031f6e7783d2 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/lampstatus/LampStatesResponse.java @@ -74,5 +74,4 @@ protected List parseResponseWithoutPrefix(String r } return result; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteInstructionRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteInstructionRequest.java index 220b426a5da54..eaac1ab077be7 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteInstructionRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteInstructionRequest.java @@ -34,5 +34,4 @@ public String getRequestString() { return "%1AVMT " + this.command.getTargetChannel().getPJLinkRepresentation() + this.command.getTargetState().getPJLinkRepresentation(); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteQueryRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteQueryRequest.java index 9a7e619e1a4b1..7a2b9a10cd24f 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteQueryRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/mute/MuteQueryRequest.java @@ -27,5 +27,4 @@ public class MuteQueryRequest implements Request { public String getRequestString() { return "%1AVMT ?"; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionRequest.java index c008dae0a6a43..e1247d8ecc6ec 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionRequest.java @@ -33,5 +33,4 @@ public PowerInstructionRequest(PowerInstructionCommand command) { public String getRequestString() { return "%1POWR " + this.command.getTarget().getPJLinkRepresentation(); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionResponse.java index df58494e2f7f2..c93792aecb279 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerInstructionResponse.java @@ -33,5 +33,4 @@ protected AcknowledgeResponseValue parseResponseWithoutPrefix(String responseWit throws ResponseException { return AcknowledgeResponseValue.getValueForCode(responseWithoutPrefix); } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryRequest.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryRequest.java index e3038fbb43367..d6ca6743878e2 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryRequest.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryRequest.java @@ -27,5 +27,4 @@ public class PowerQueryRequest implements Request { public String getRequestString() { return "%1POWR ?"; } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryResponse.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryResponse.java index 289bf11644948..d09afea123830 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryResponse.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/device/command/power/PowerQueryResponse.java @@ -50,7 +50,6 @@ public static PowerQueryResponseValue parseString(String code) throws ResponseEx throw new ResponseException("Cannot understand power status: " + code); } - } public PowerQueryResponse(String response) throws ResponseException { diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/AbstractDiscoveryParticipant.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/AbstractDiscoveryParticipant.java index 0d505f321f95c..a1fddcb63fa9c 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/AbstractDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/AbstractDiscoveryParticipant.java @@ -128,5 +128,4 @@ private Set generateAddressesToScan() { } protected abstract void collectAddressesToScan(Set addressesToScan, InterfaceAddress i); - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/DiscoveryParticipantClass1.java b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/DiscoveryParticipantClass1.java index ea368d0c6f988..ecdfc8f2b0e79 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/DiscoveryParticipantClass1.java +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/java/org/openhab/binding/pjlinkdevice/internal/discovery/DiscoveryParticipantClass1.java @@ -100,5 +100,4 @@ protected void checkAddress(InetAddress ip, int tcpPort, int timeout) { // no device here } } - } diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/binding/binding.xml index 8aae7ce11db21..1ffc4fbf70d54 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/binding/binding.xml @@ -6,7 +6,8 @@ PJLinkDevice Binding This binding can control PJLink compatible devices. - The PJLink protocol was mainly standardized for digital projectors, but some other types of devices also use it, in + The PJLink protocol was mainly standardized for digital + projectors, but some other types of devices also use it, in particular TV screens. Nils Schnabel diff --git a/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/thing/thing-types.xml index 446ac529f94cc..b70918c9a9925 100644 --- a/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.pjlinkdevice/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,12 +9,12 @@ A PJLink compatible device, e.g. a digital projector - - - - - - + + + + + + @@ -107,7 +107,7 @@ Number How long the lamp has been in use (in hours) - + @@ -121,7 +121,7 @@ Switch Is the lamp in use? - + diff --git a/bundles/org.openhab.binding.plclogo/lib/bit_io.patch b/bundles/org.openhab.binding.plclogo/lib/bit_io.patch index 3ec43f303d0f2..8b1a218da2a25 100644 --- a/bundles/org.openhab.binding.plclogo/lib/bit_io.patch +++ b/bundles/org.openhab.binding.plclogo/lib/bit_io.patch @@ -1,3792 +1,3792 @@ -diff U3 IntByRef.java IntByRef.java ---- IntByRef.java Thu Mar 23 15:34:52 2017 -+++ IntByRef.java Tue Aug 08 18:53:37 2017 -@@ -1,40 +1,40 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ -- --package Moka7; -- --/** -- * Quick class to pass an integer by reference -- * @author Davide -- */ -- --public class IntByRef { -- -- public IntByRef(int Val) -- { -- this.Value=Val; -- } -- public IntByRef() -- { -- this.Value=0; -- } -- public int Value; --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+ -+package Moka7; -+ -+/** -+ * Quick class to pass an integer by reference -+ * @author Davide Nardella -+ */ -+ -+public class IntByRef { -+ -+ public IntByRef(int Val) -+ { -+ this.Value=Val; -+ } -+ public IntByRef() -+ { -+ this.Value=0; -+ } -+ public int Value; -+} -diff U3 S7.java S7.java ---- S7.java Thu Mar 23 15:34:52 2017 -+++ S7.java Tue Aug 08 18:53:37 2017 -@@ -1,287 +1,287 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --import java.io.UnsupportedEncodingException; --import java.util.Date; --import java.util.Calendar; -- --/** -- * -- * @author Davide -- */ -- -- --// Step 7 Constants and Conversion helper class --public class S7 { -- // S7 ID Area (Area that we want to read/write) -- public static final int S7AreaPE = 0x81; -- public static final int S7AreaPA = 0x82; -- public static final int S7AreaMK = 0x83; -- public static final int S7AreaDB = 0x84; -- public static final int S7AreaCT = 0x1C; -- public static final int S7AreaTM = 0x1D; -- // Connection types -- public static final byte PG = 0x01; -- public static final byte OP = 0x02; -- public static final byte S7_BASIC = 0x03; -- // Block type -- public static final int Block_OB = 0x38; -- public static final int Block_DB = 0x41; -- public static final int Block_SDB = 0x42; -- public static final int Block_FC = 0x43; -- public static final int Block_SFC = 0x44; -- public static final int Block_FB = 0x45; -- public static final int Block_SFB = 0x46; -- // Sub Block Type -- public static final int SubBlk_OB = 0x08; -- public static final int SubBlk_DB = 0x0A; -- public static final int SubBlk_SDB = 0x0B; -- public static final int SubBlk_FC = 0x0C; -- public static final int SubBlk_SFC = 0x0D; -- public static final int SubBlk_FB = 0x0E; -- public static final int SubBlk_SFB = 0x0F; -- // Block languages -- public static final int BlockLangAWL = 0x01; -- public static final int BlockLangKOP = 0x02; -- public static final int BlockLangFUP = 0x03; -- public static final int BlockLangSCL = 0x04; -- public static final int BlockLangDB = 0x05; -- public static final int BlockLangGRAPH = 0x06; -- // PLC Status -- public static final int S7CpuStatusUnknown = 0x00; -- public static final int S7CpuStatusRun = 0x08; -- public static final int S7CpuStatusStop = 0x04; -- // Type Var -- public static final int S7TypeBool = 1; -- public static final int S7TypeInt = 1; -- -- // Returns the bit at Pos.Bit -- public static boolean GetBitAt(byte[] Buffer, int Pos, int Bit) -- { -- int Value = Buffer[Pos] & 0x0FF; -- byte[] Mask = { -- (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, -- (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 -- }; -- if (Bit<0) Bit=0; -- if (Bit>7) Bit=7; -- -- return (Value & Mask[Bit])!=0; -- } -- /** -- * Returns a 16 bit unsigned value : from 0 to 65535 (2^16-1) -- * @param Buffer -- * @param Pos start position -- * @return -- */ -- public static int GetWordAt(byte[] Buffer, int Pos) -- { -- int hi = (Buffer[Pos] & 0x00FF); -- int lo = (Buffer[Pos+1] & 0x00FF); -- return (hi<<8)+lo; -- } -- -- // Returns a 16 bit signed value : from -32768 to 32767 -- public static int GetShortAt(byte[] Buffer, int Pos) -- { -- int hi = (Buffer[Pos]); -- int lo = (Buffer[Pos+1] & 0x00FF); -- return ((hi<<8)+lo); -- } -- -- // Returns a 32 bit unsigned value : from 0 to 4294967295 (2^32-1) -- public static long GetDWordAt(byte[] Buffer, int Pos) -- { -- long Result; -- Result=(long)(Buffer[Pos] & 0x0FF); -- Result<<=8; -- Result+=(long)(Buffer[Pos+1] & 0x0FF); -- Result<<=8; -- Result+=(long)(Buffer[Pos+2] & 0x0FF); -- Result<<=8; -- Result+=(long)(Buffer[Pos+3] & 0x0FF); -- return Result; -- } -- -- // Returns a 32 bit signed value : from 0 to 4294967295 (2^32-1) -- public static int GetDIntAt(byte[] Buffer, int Pos) -- { -- int Result; -- Result= Buffer[Pos]; -- Result<<=8; -- Result+=(Buffer[Pos+1] & 0x0FF); -- Result<<=8; -- Result+=(Buffer[Pos+2] & 0x0FF); -- Result<<=8; -- Result+=(Buffer[Pos+3] & 0x0FF); -- return Result; -- } -- -- // Returns a 32 bit floating point -- public static float GetFloatAt(byte[] Buffer, int Pos) -- { -- int IntFloat = GetDIntAt(Buffer, Pos); -- return Float.intBitsToFloat(IntFloat); -- } -- -- // Returns an ASCII string -- public static String GetStringAt(byte[] Buffer, int Pos, int MaxLen) -- { -- byte[] StrBuffer = new byte[MaxLen]; -- System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); -- String S; -- try { -- S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 -- } catch (UnsupportedEncodingException ex) { -- S = ""; -- } -- return S; -- } -- -- public static String GetPrintableStringAt(byte[] Buffer, int Pos, int MaxLen) -- { -- byte[] StrBuffer = new byte[MaxLen]; -- System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); -- for (int c = 0; c < MaxLen; c++) -- { -- if ((StrBuffer[c]<31) || (StrBuffer[c]>126)) -- StrBuffer[c]=46; // '.' -- } -- String S; -- try { -- S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 -- } catch (UnsupportedEncodingException ex) { -- S = ""; -- } -- return S; -- } -- -- public static Date GetDateAt(byte[] Buffer, int Pos) -- { -- int Year, Month, Day, Hour, Min, Sec; -- Calendar S7Date = Calendar.getInstance(); -- -- Year = S7.BCDtoByte(Buffer[Pos]); -- if (Year<90) -- Year+=2000; -- else -- Year+=1900; -- -- Month=S7.BCDtoByte(Buffer[Pos+1])-1; -- Day =S7.BCDtoByte(Buffer[Pos+2]); -- Hour =S7.BCDtoByte(Buffer[Pos+3]); -- Min =S7.BCDtoByte(Buffer[Pos+4]); -- Sec =S7.BCDtoByte(Buffer[Pos+5]); -- -- S7Date.set(Year, Month, Day, Hour, Min, Sec); -- -- return S7Date.getTime(); -- } -- -- public static void SetBitAt(byte[] Buffer, int Pos, int Bit, boolean Value) -- { -- byte[] Mask = { -- (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, -- (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 -- }; -- if (Bit<0) Bit=0; -- if (Bit>7) Bit=7; -- -- if (Value) -- Buffer[Pos]= (byte) (Buffer[Pos] | Mask[Bit]); -- else -- Buffer[Pos]= (byte) (Buffer[Pos] & ~Mask[Bit]); -- } -- -- public static void SetWordAt(byte[] Buffer, int Pos, int Value) -- { -- int Word = Value & 0x0FFFF; -- Buffer[Pos] = (byte) (Word >> 8); -- Buffer[Pos+1] = (byte) (Word & 0x00FF); -- } -- -- public static void SetShortAt(byte[] Buffer, int Pos, int Value) -- { -- Buffer[Pos] = (byte) (Value >> 8); -- Buffer[Pos+1] = (byte) (Value & 0x00FF); -- } -- public static void SetDWordAt(byte[] Buffer, int Pos, long Value) -- { -- long DWord = Value &0x0FFFFFFFF; -- Buffer[Pos+3] = (byte) (DWord &0xFF); -- Buffer[Pos+2] = (byte) ((DWord >> 8) &0xFF); -- Buffer[Pos+1] = (byte) ((DWord >> 16) &0xFF); -- Buffer[Pos] = (byte) ((DWord >> 24) &0xFF); -- } -- -- public static void SetDIntAt(byte[] Buffer, int Pos, int Value) -- { -- Buffer[Pos+3] = (byte) (Value &0xFF); -- Buffer[Pos+2] = (byte) ((Value >> 8) &0xFF); -- Buffer[Pos+1] = (byte) ((Value >> 16) &0xFF); -- Buffer[Pos] = (byte) ((Value >> 24) &0xFF); -- } -- -- public static void SetFloatAt(byte[] Buffer, int Pos, float Value) -- { -- int DInt = Float.floatToIntBits(Value); -- SetDIntAt(Buffer, Pos, DInt); -- } -- -- public static void SetDateAt(byte[] Buffer, int Pos, Date DateTime) -- { -- int Year, Month, Day, Hour, Min, Sec, Dow; -- Calendar S7Date = Calendar.getInstance(); -- S7Date.setTime(DateTime); -- -- Year = S7Date.get(Calendar.YEAR); -- Month = S7Date.get(Calendar.MONTH)+1; -- Day = S7Date.get(Calendar.DAY_OF_MONTH); -- Hour = S7Date.get(Calendar.HOUR_OF_DAY); -- Min = S7Date.get(Calendar.MINUTE); -- Sec = S7Date.get(Calendar.SECOND); -- Dow = S7Date.get(Calendar.DAY_OF_WEEK); -- -- if (Year>1999) -- Year-=2000; -- -- Buffer[Pos] =ByteToBCD(Year); -- Buffer[Pos+1]=ByteToBCD(Month); -- Buffer[Pos+2]=ByteToBCD(Day); -- Buffer[Pos+3]=ByteToBCD(Hour); -- Buffer[Pos+4]=ByteToBCD(Min); -- Buffer[Pos+5]=ByteToBCD(Sec); -- Buffer[Pos+6]=0; -- Buffer[Pos+7]=ByteToBCD(Dow); -- } -- -- public static int BCDtoByte(byte B) -- { -- return ((B >> 4) * 10) + (B & 0x0F); -- } -- -- public static byte ByteToBCD(int Value) -- { -- return (byte) (((Value / 10) << 4) | (Value % 10)); -- } -- --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+import java.io.UnsupportedEncodingException; -+import java.util.Date; -+import java.util.Calendar; -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+ -+ -+// Step 7 Constants and Conversion helper class -+public class S7 { -+ // S7 ID Area (Area that we want to read/write) -+ public static final int S7AreaPE = 0x81; -+ public static final int S7AreaPA = 0x82; -+ public static final int S7AreaMK = 0x83; -+ public static final int S7AreaDB = 0x84; -+ public static final int S7AreaCT = 0x1C; -+ public static final int S7AreaTM = 0x1D; -+ // Connection types -+ public static final byte PG = 0x01; -+ public static final byte OP = 0x02; -+ public static final byte S7_BASIC = 0x03; -+ // Block type -+ public static final int Block_OB = 0x38; -+ public static final int Block_DB = 0x41; -+ public static final int Block_SDB = 0x42; -+ public static final int Block_FC = 0x43; -+ public static final int Block_SFC = 0x44; -+ public static final int Block_FB = 0x45; -+ public static final int Block_SFB = 0x46; -+ // Sub Block Type -+ public static final int SubBlk_OB = 0x08; -+ public static final int SubBlk_DB = 0x0A; -+ public static final int SubBlk_SDB = 0x0B; -+ public static final int SubBlk_FC = 0x0C; -+ public static final int SubBlk_SFC = 0x0D; -+ public static final int SubBlk_FB = 0x0E; -+ public static final int SubBlk_SFB = 0x0F; -+ // Block languages -+ public static final int BlockLangAWL = 0x01; -+ public static final int BlockLangKOP = 0x02; -+ public static final int BlockLangFUP = 0x03; -+ public static final int BlockLangSCL = 0x04; -+ public static final int BlockLangDB = 0x05; -+ public static final int BlockLangGRAPH = 0x06; -+ // PLC Status -+ public static final int S7CpuStatusUnknown = 0x00; -+ public static final int S7CpuStatusRun = 0x08; -+ public static final int S7CpuStatusStop = 0x04; -+ // Type Var -+ public static final int S7TypeBool = 1; -+ public static final int S7TypeInt = 1; -+ -+ // Returns the bit at Pos.Bit -+ public static boolean GetBitAt(byte[] Buffer, int Pos, int Bit) -+ { -+ int Value = Buffer[Pos] & 0x0FF; -+ byte[] Mask = { -+ (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, -+ (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 -+ }; -+ if (Bit<0) Bit=0; -+ if (Bit>7) Bit=7; -+ -+ return (Value & Mask[Bit])!=0; -+ } -+ /** -+ * Returns a 16 bit unsigned value : from 0 to 65535 (2^16-1) -+ * @param Buffer -+ * @param Pos start position -+ * @return -+ */ -+ public static int GetWordAt(byte[] Buffer, int Pos) -+ { -+ int hi = (Buffer[Pos] & 0x00FF); -+ int lo = (Buffer[Pos+1] & 0x00FF); -+ return (hi<<8)+lo; -+ } -+ -+ // Returns a 16 bit signed value : from -32768 to 32767 -+ public static int GetShortAt(byte[] Buffer, int Pos) -+ { -+ int hi = (Buffer[Pos]); -+ int lo = (Buffer[Pos+1] & 0x00FF); -+ return ((hi<<8)+lo); -+ } -+ -+ // Returns a 32 bit unsigned value : from 0 to 4294967295 (2^32-1) -+ public static long GetDWordAt(byte[] Buffer, int Pos) -+ { -+ long Result; -+ Result=(long)(Buffer[Pos] & 0x0FF); -+ Result<<=8; -+ Result+=(long)(Buffer[Pos+1] & 0x0FF); -+ Result<<=8; -+ Result+=(long)(Buffer[Pos+2] & 0x0FF); -+ Result<<=8; -+ Result+=(long)(Buffer[Pos+3] & 0x0FF); -+ return Result; -+ } -+ -+ // Returns a 32 bit signed value : from 0 to 4294967295 (2^32-1) -+ public static int GetDIntAt(byte[] Buffer, int Pos) -+ { -+ int Result; -+ Result= Buffer[Pos]; -+ Result<<=8; -+ Result+=(Buffer[Pos+1] & 0x0FF); -+ Result<<=8; -+ Result+=(Buffer[Pos+2] & 0x0FF); -+ Result<<=8; -+ Result+=(Buffer[Pos+3] & 0x0FF); -+ return Result; -+ } -+ -+ // Returns a 32 bit floating point -+ public static float GetFloatAt(byte[] Buffer, int Pos) -+ { -+ int IntFloat = GetDIntAt(Buffer, Pos); -+ return Float.intBitsToFloat(IntFloat); -+ } -+ -+ // Returns an ASCII string -+ public static String GetStringAt(byte[] Buffer, int Pos, int MaxLen) -+ { -+ byte[] StrBuffer = new byte[MaxLen]; -+ System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); -+ String S; -+ try { -+ S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 -+ } catch (UnsupportedEncodingException ex) { -+ S = ""; -+ } -+ return S; -+ } -+ -+ public static String GetPrintableStringAt(byte[] Buffer, int Pos, int MaxLen) -+ { -+ byte[] StrBuffer = new byte[MaxLen]; -+ System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); -+ for (int c = 0; c < MaxLen; c++) -+ { -+ if ((StrBuffer[c]<31) || (StrBuffer[c]>126)) -+ StrBuffer[c]=46; // '.' -+ } -+ String S; -+ try { -+ S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 -+ } catch (UnsupportedEncodingException ex) { -+ S = ""; -+ } -+ return S; -+ } -+ -+ public static Date GetDateAt(byte[] Buffer, int Pos) -+ { -+ int Year, Month, Day, Hour, Min, Sec; -+ Calendar S7Date = Calendar.getInstance(); -+ -+ Year = S7.BCDtoByte(Buffer[Pos]); -+ if (Year<90) -+ Year+=2000; -+ else -+ Year+=1900; -+ -+ Month=S7.BCDtoByte(Buffer[Pos+1])-1; -+ Day =S7.BCDtoByte(Buffer[Pos+2]); -+ Hour =S7.BCDtoByte(Buffer[Pos+3]); -+ Min =S7.BCDtoByte(Buffer[Pos+4]); -+ Sec =S7.BCDtoByte(Buffer[Pos+5]); -+ -+ S7Date.set(Year, Month, Day, Hour, Min, Sec); -+ -+ return S7Date.getTime(); -+ } -+ -+ public static void SetBitAt(byte[] Buffer, int Pos, int Bit, boolean Value) -+ { -+ byte[] Mask = { -+ (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, -+ (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 -+ }; -+ if (Bit<0) Bit=0; -+ if (Bit>7) Bit=7; -+ -+ if (Value) -+ Buffer[Pos]= (byte) (Buffer[Pos] | Mask[Bit]); -+ else -+ Buffer[Pos]= (byte) (Buffer[Pos] & ~Mask[Bit]); -+ } -+ -+ public static void SetWordAt(byte[] Buffer, int Pos, int Value) -+ { -+ int Word = Value & 0x0FFFF; -+ Buffer[Pos] = (byte) (Word >> 8); -+ Buffer[Pos+1] = (byte) (Word & 0x00FF); -+ } -+ -+ public static void SetShortAt(byte[] Buffer, int Pos, int Value) -+ { -+ Buffer[Pos] = (byte) (Value >> 8); -+ Buffer[Pos+1] = (byte) (Value & 0x00FF); -+ } -+ public static void SetDWordAt(byte[] Buffer, int Pos, long Value) -+ { -+ long DWord = Value &0x0FFFFFFFF; -+ Buffer[Pos+3] = (byte) (DWord &0xFF); -+ Buffer[Pos+2] = (byte) ((DWord >> 8) &0xFF); -+ Buffer[Pos+1] = (byte) ((DWord >> 16) &0xFF); -+ Buffer[Pos] = (byte) ((DWord >> 24) &0xFF); -+ } -+ -+ public static void SetDIntAt(byte[] Buffer, int Pos, int Value) -+ { -+ Buffer[Pos+3] = (byte) (Value &0xFF); -+ Buffer[Pos+2] = (byte) ((Value >> 8) &0xFF); -+ Buffer[Pos+1] = (byte) ((Value >> 16) &0xFF); -+ Buffer[Pos] = (byte) ((Value >> 24) &0xFF); -+ } -+ -+ public static void SetFloatAt(byte[] Buffer, int Pos, float Value) -+ { -+ int DInt = Float.floatToIntBits(Value); -+ SetDIntAt(Buffer, Pos, DInt); -+ } -+ -+ public static void SetDateAt(byte[] Buffer, int Pos, Date DateTime) -+ { -+ int Year, Month, Day, Hour, Min, Sec, Dow; -+ Calendar S7Date = Calendar.getInstance(); -+ S7Date.setTime(DateTime); -+ -+ Year = S7Date.get(Calendar.YEAR); -+ Month = S7Date.get(Calendar.MONTH)+1; -+ Day = S7Date.get(Calendar.DAY_OF_MONTH); -+ Hour = S7Date.get(Calendar.HOUR_OF_DAY); -+ Min = S7Date.get(Calendar.MINUTE); -+ Sec = S7Date.get(Calendar.SECOND); -+ Dow = S7Date.get(Calendar.DAY_OF_WEEK); -+ -+ if (Year>1999) -+ Year-=2000; -+ -+ Buffer[Pos] =ByteToBCD(Year); -+ Buffer[Pos+1]=ByteToBCD(Month); -+ Buffer[Pos+2]=ByteToBCD(Day); -+ Buffer[Pos+3]=ByteToBCD(Hour); -+ Buffer[Pos+4]=ByteToBCD(Min); -+ Buffer[Pos+5]=ByteToBCD(Sec); -+ Buffer[Pos+6]=0; -+ Buffer[Pos+7]=ByteToBCD(Dow); -+ } -+ -+ public static int BCDtoByte(byte B) -+ { -+ return ((B >> 4) * 10) + (B & 0x0F); -+ } -+ -+ public static byte ByteToBCD(int Value) -+ { -+ return (byte) (((Value / 10) << 4) | (Value % 10)); -+ } -+ -+} -diff U3 S7BlockInfo.java S7BlockInfo.java ---- S7BlockInfo.java Thu Mar 23 15:34:52 2017 -+++ S7BlockInfo.java Tue Aug 08 18:53:37 2017 -@@ -1,101 +1,101 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; --import java.util.Date; --/** -- * -- * @author Davide -- */ --public class S7BlockInfo { -- -- private final int BufSize = 96; -- // MilliSeconds between 1970/1/1 (Java time base) and 1984/1/1 (Siemens base) -- private final long DeltaMilliSecs = 441763200000L; -- protected byte[] Buffer = new byte[BufSize]; -- -- protected void Update(byte[] Src, int Pos) -- { -- System.arraycopy(Src, Pos, Buffer, 0, BufSize); -- } -- public int BlkType() -- { -- return Buffer[2]; -- } -- public int BlkNumber() -- { -- return S7.GetWordAt(Buffer, 3); -- } -- public int BlkLang() -- { -- return Buffer[1]; -- } -- public int BlkFlags() -- { -- return Buffer[0]; -- } -- public int MC7Size() // The real size in bytes -- { -- return S7.GetWordAt(Buffer, 31); -- } -- public int LoadSize() -- { -- return S7.GetDIntAt(Buffer, 5); -- } -- public int LocalData() -- { -- return S7.GetWordAt(Buffer, 29); -- } -- public int SBBLength() -- { -- return S7.GetWordAt(Buffer, 25); -- } -- public int Checksum() -- { -- return S7.GetWordAt(Buffer, 59); -- } -- public int Version() -- { -- return Buffer[57]; -- } -- public Date CodeDate() -- { -- long BlockDate = ((long)S7.GetWordAt(Buffer, 17))*86400000L+DeltaMilliSecs; -- return new Date(BlockDate); -- } -- public Date IntfDate() -- { -- long BlockDate = ((long)S7.GetWordAt(Buffer, 23))*86400000L+DeltaMilliSecs; -- return new Date(BlockDate); -- } -- public String Author() -- { -- return S7.GetStringAt(Buffer,33,8); -- } -- public String Family() -- { -- return S7.GetStringAt(Buffer,41,8); -- } -- public String Header() -- { -- return S7.GetStringAt(Buffer,49,8); -- } -- --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+import java.util.Date; -+/** -+ * -+ * @author Davide Nardella -+ */ -+public class S7BlockInfo { -+ -+ private final int BufSize = 96; -+ // MilliSeconds between 1970/1/1 (Java time base) and 1984/1/1 (Siemens base) -+ private final long DeltaMilliSecs = 441763200000L; -+ protected byte[] Buffer = new byte[BufSize]; -+ -+ protected void Update(byte[] Src, int Pos) -+ { -+ System.arraycopy(Src, Pos, Buffer, 0, BufSize); -+ } -+ public int BlkType() -+ { -+ return Buffer[2]; -+ } -+ public int BlkNumber() -+ { -+ return S7.GetWordAt(Buffer, 3); -+ } -+ public int BlkLang() -+ { -+ return Buffer[1]; -+ } -+ public int BlkFlags() -+ { -+ return Buffer[0]; -+ } -+ public int MC7Size() // The real size in bytes -+ { -+ return S7.GetWordAt(Buffer, 31); -+ } -+ public int LoadSize() -+ { -+ return S7.GetDIntAt(Buffer, 5); -+ } -+ public int LocalData() -+ { -+ return S7.GetWordAt(Buffer, 29); -+ } -+ public int SBBLength() -+ { -+ return S7.GetWordAt(Buffer, 25); -+ } -+ public int Checksum() -+ { -+ return S7.GetWordAt(Buffer, 59); -+ } -+ public int Version() -+ { -+ return Buffer[57]; -+ } -+ public Date CodeDate() -+ { -+ long BlockDate = ((long)S7.GetWordAt(Buffer, 17))*86400000L+DeltaMilliSecs; -+ return new Date(BlockDate); -+ } -+ public Date IntfDate() -+ { -+ long BlockDate = ((long)S7.GetWordAt(Buffer, 23))*86400000L+DeltaMilliSecs; -+ return new Date(BlockDate); -+ } -+ public String Author() -+ { -+ return S7.GetStringAt(Buffer,33,8); -+ } -+ public String Family() -+ { -+ return S7.GetStringAt(Buffer,41,8); -+ } -+ public String Header() -+ { -+ return S7.GetStringAt(Buffer,49,8); -+ } -+ -+} -diff U3 S7Client.java S7Client.java ---- S7Client.java Thu Mar 23 15:34:52 2017 -+++ S7Client.java Tue Aug 08 18:53:37 2017 -@@ -1,1214 +1,1233 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --import java.io.DataInputStream; --import java.io.DataOutputStream; --import java.io.IOException; --import java.io.UnsupportedEncodingException; --import java.net.InetSocketAddress; --import java.net.Socket; --import java.net.SocketAddress; --import java.util.Date; -- -- --/** -- * -- * @author Dave Nardella -- */ --public class S7Client --{ -- // WordLength -- private static final byte S7WLByte =0x02; -- private static final byte S7WLCounter =0x1C; -- private static final byte S7WLTimer =0x1D; -- // Error Codes -- public static final int errTCPConnectionFailed = 0x0001; -- public static final int errTCPDataSend = 0x0002; -- public static final int errTCPDataRecv = 0x0003; -- public static final int errTCPDataRecvTout = 0x0004; -- public static final int errTCPConnectionReset = 0x0005; -- public static final int errISOInvalidPDU = 0x0006; -- public static final int errISOConnectionFailed = 0x0007; -- public static final int errISONegotiatingPDU = 0x0008; -- public static final int errS7InvalidPDU = 0x0009; -- public static final int errS7DataRead = 0x000A; -- public static final int errS7DataWrite = 0x000B; -- public static final int errS7BufferTooSmall = 0x000C; -- public static final int errS7FunctionError = 0x000D; -- public static final int errS7InvalidParams = 0x000E; -- -- // Public fields -- public boolean Connected = false; -- public int LastError = 0; -- public int RecvTimeout = 2000; -- -- // Privates -- private static final int ISOTCP = 102; // ISOTCP Port -- private static final int MinPduSize = 16; -- private static final int DefaultPduSizeRequested = 480; -- private static final int IsoHSize = 7; // TPKT+COTP Header Size -- private static final int MaxPduSize = DefaultPduSizeRequested+IsoHSize; -- -- -- private Socket TCPSocket; -- private final byte[] PDU = new byte[2048]; -- -- private DataInputStream InStream = null; -- private DataOutputStream OutStream = null; -- -- private String IPAddress; -- -- private byte LocalTSAP_HI; -- private byte LocalTSAP_LO; -- private byte RemoteTSAP_HI; -- private byte RemoteTSAP_LO; -- private byte LastPDUType; -- -- private short ConnType = S7.PG; -- private int _PDULength = 0; -- -- // Telegrams -- // ISO Connection Request telegram (contains also ISO Header and COTP Header) -- private static final byte ISO_CR[] = { -- // TPKT (RFC1006 Header) -- (byte)0x03, // RFC 1006 ID (3) -- (byte)0x00, // Reserved, always 0 -- (byte)0x00, // High part of packet lenght (entire frame, payload and TPDU included) -- (byte)0x16, // Low part of packet lenght (entire frame, payload and TPDU included) -- // COTP (ISO 8073 Header) -- (byte)0x11, // PDU Size Length -- (byte)0xE0, // CR - Connection Request ID -- (byte)0x00, // Dst Reference HI -- (byte)0x00, // Dst Reference LO -- (byte)0x00, // Src Reference HI -- (byte)0x01, // Src Reference LO -- (byte)0x00, // Class + Options Flags -- (byte)0xC0, // PDU Max Length ID -- (byte)0x01, // PDU Max Length HI -- (byte)0x0A, // PDU Max Length LO -- (byte)0xC1, // Src TSAP Identifier -- (byte)0x02, // Src TSAP Length (2 bytes) -- (byte)0x01, // Src TSAP HI (will be overwritten) -- (byte)0x00, // Src TSAP LO (will be overwritten) -- (byte)0xC2, // Dst TSAP Identifier -- (byte)0x02, // Dst TSAP Length (2 bytes) -- (byte)0x01, // Dst TSAP HI (will be overwritten) -- (byte)0x02 // Dst TSAP LO (will be overwritten) -- }; -- -- // S7 PDU Negotiation Telegram (contains also ISO Header and COTP Header) -- private static final byte S7_PN[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x19, -- (byte)0x02, (byte)0xf0, (byte)0x80, // TPKT + COTP (see above for info) -- (byte)0x32, (byte)0x01, (byte)0x00, (byte)0x00, -- (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x08, -- (byte)0x00, (byte)0x00, (byte)0xf0, (byte)0x00, -- (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x01, -- (byte)0x00, (byte)0x1e // PDU Length Requested = HI-LO 480 bytes -- }; -- -- // S7 Read/Write Request Header (contains also ISO Header and COTP Header) -- private static final byte S7_RW[] = { // 31-35 bytes -- (byte)0x03,(byte)0x00, -- (byte)0x00,(byte)0x1f, // Telegram Length (Data Size + 31 or 35) -- (byte)0x02,(byte)0xf0, (byte)0x80, // COTP (see above for info) -- (byte)0x32, // S7 Protocol ID -- (byte)0x01, // Job Type -- (byte)0x00,(byte)0x00, // Redundancy identification -- (byte)0x05,(byte)0x00, // PDU Reference -- (byte)0x00,(byte)0x0e, // Parameters Length -- (byte)0x00,(byte)0x00, // Data Length = Size(bytes) + 4 -- (byte)0x04, // Function 4 Read Var, 5 Write Var -- (byte)0x01, // Items count -- (byte)0x12, // Var spec. -- (byte)0x0a, // Length of remaining bytes -- (byte)0x10, // Syntax ID -- S7WLByte, // Transport Size -- (byte)0x00,(byte)0x00, // Num Elements -- (byte)0x00,(byte)0x00, // DB Number (if any, else 0) -- (byte)0x84, // Area Type -- (byte)0x00,(byte)0x00,(byte)0x00, // Area Offset -- // WR area -- (byte)0x00, // Reserved -- (byte)0x04, // Transport size -- (byte)0x00,(byte)0x00, // Data Length * 8 (if not timer or counter) -- }; -- private static final int Size_RD = 31; -- private static final int Size_WR = 35; -- -- // S7 Get Block Info Request Header (contains also ISO Header and COTP Header) -- private static final byte S7_BI[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x05, -- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x43, (byte)0x03, -- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -- (byte)0x08, (byte)0x30, -- (byte)0x41, // Block Type -- (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, // ASCII Block Number -- (byte)0x41 -- }; -- -- // SZL First telegram request -- private static final byte S7_SZL_FIRST[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, -- (byte)0x05, (byte)0x00, // Sequence out -- (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, -- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -- (byte)0x04, -- (byte)0x00, (byte)0x00, // ID (29) -- (byte)0x00, (byte)0x00 // Index (31) -- }; -- -- // SZL Next telegram request -- private static final byte S7_SZL_NEXT[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x06, -- (byte)0x00, (byte)0x00, (byte)0x0c, (byte)0x00, -- (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x08, (byte)0x12, (byte)0x44, (byte)0x01, -- (byte)0x01, // Sequence -- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -- (byte)0x0a, (byte)0x00, (byte)0x00, (byte)0x00 -- }; -- -- // Get Date/Time request -- private static final byte S7_GET_DT[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x38, -- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x01, -- (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, -- (byte)0x00 -- }; -- -- // Set Date/Time command -- private static final byte S7_SET_DT[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x89, -- (byte)0x03, (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x0e, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x02, -- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -- (byte)0x0a, (byte)0x00, (byte)0x19, // Hi part of Year -- (byte)0x13, // Lo part of Year -- (byte)0x12, // Month -- (byte)0x06, // Day -- (byte)0x17, // Hour -- (byte)0x37, // Min -- (byte)0x13, // Sec -- (byte)0x00, (byte)0x01 // ms + Day of week -- }; -- -- // S7 STOP request -- private static final byte S7_STOP[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0e, -- (byte)0x00, (byte)0x00, (byte)0x10, (byte)0x00, -- (byte)0x00, (byte)0x29, (byte)0x00, (byte)0x00, -- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09, -- (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, -- (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, -- (byte)0x4d -- }; -- -- // S7 HOT Start request -- private static final byte S7_HOT_START[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0c, -- (byte)0x00, (byte)0x00, (byte)0x14, (byte)0x00, -- (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, -- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -- (byte)0xfd, (byte)0x00, (byte)0x00, (byte)0x09, -- (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, -- (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, -- (byte)0x4d -- }; -- -- // S7 COLD Start request -- private static final byte S7_COLD_START[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0f, -- (byte)0x00, (byte)0x00, (byte)0x16, (byte)0x00, -- (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, -- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -- (byte)0xfd, (byte)0x00, (byte)0x02, (byte)0x43, -- (byte)0x20, (byte)0x09, (byte)0x50, (byte)0x5f, -- (byte)0x50, (byte)0x52, (byte)0x4f, (byte)0x47, -- (byte)0x52, (byte)0x41, (byte)0x4d -- }; -- -- // S7 Get PLC Status -- private static final byte S7_GET_STAT[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x2c, -- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, -- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -- (byte)0x04, (byte)0x04, (byte)0x24, (byte)0x00, -- (byte)0x00 -- }; -- -- // S7 Set Session Password -- private static final byte S7_SET_PWD[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x27, -- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x01, -- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -- (byte)0x08, -- // 8 Char Encoded Password -- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 -- }; -- -- // S7 Clear Session Password -- private static final byte S7_CLR_PWD[] = { -- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, -- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x29, -- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -- (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, -- (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x02, -- (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, -- (byte)0x00 -- }; -- -- public S7Client() -- { -- // Placeholder for future implementations -- } -- -- public static String ErrorText(int Error) -- { -- switch (Error) -- { -- case errTCPConnectionFailed : -- return "TCP Connection failed."; -- case errTCPDataSend : -- return "TCP Sending error."; -- case errTCPDataRecv : -- return "TCP Receiving error."; -- case errTCPDataRecvTout : -- return "Data Receiving timeout."; -- case errTCPConnectionReset : -- return "Connection reset by the peer."; -- case errISOInvalidPDU : -- return "Invalid ISO PDU received."; -- case errISOConnectionFailed : -- return "ISO connection refused by the CPU."; -- case errISONegotiatingPDU : -- return "ISO error negotiating the PDU length."; -- case errS7InvalidPDU : -- return "Invalid S7 PDU received."; -- case errS7DataRead : -- return "S7 Error reading data from the CPU."; -- case errS7DataWrite : -- return "S7 Error writing data to the CPU."; -- case errS7BufferTooSmall : -- return "The Buffer supplied to the function is too small."; -- case errS7FunctionError : -- return "S7 function refused by the CPU."; -- case errS7InvalidParams : -- return "Invalid parameters supplied to the function."; -- default : -- return "Unknown error : 0x"+Integer.toHexString(Error); -- } -- } -- -- private int TCPConnect() -- { -- SocketAddress sockaddr = new InetSocketAddress(IPAddress, ISOTCP); -- LastError=0; -- try { -- TCPSocket = new Socket(); -- TCPSocket.connect(sockaddr ,5000); -- TCPSocket.setTcpNoDelay(true); -- InStream = new DataInputStream(TCPSocket.getInputStream()); -- OutStream = new DataOutputStream(TCPSocket.getOutputStream()); -- } -- catch (IOException e) { -- LastError=errTCPConnectionFailed; -- } -- return LastError; -- } -- -- private int WaitForData(int Size, int Timeout) -- { -- int cnt = 0; -- LastError=0; -- int SizeAvail; -- boolean Expired = false; -- try -- { -- SizeAvail=InStream.available(); -- while ((SizeAvailTimeout; -- // If timeout we clean the buffer -- if (Expired && (SizeAvail>0) && (LastError==0)) -- InStream.read(PDU, 0, SizeAvail); -- } -- } -- catch (IOException ex) -- { -- LastError=errTCPDataRecvTout; -- } -- if (cnt>=Timeout) -- { -- LastError=errTCPDataRecvTout; -- } -- return LastError; -- } -- -- private int RecvPacket(byte[] Buffer, int Start, int Size) -- { -- int BytesRead=0; -- LastError=WaitForData(Size,RecvTimeout); -- if (LastError==0) -- { -- try { -- BytesRead = InStream.read(Buffer, Start, Size); -- } catch (IOException ex) { -- LastError=errTCPDataRecv; -- } -- if (BytesRead==0) -- LastError=errTCPConnectionReset; -- } -- return LastError; -- } -- -- private void SendPacket(byte[] Buffer, int Len) -- { -- LastError = 0; -- try { -- OutStream.write(Buffer,0,Len); -- OutStream.flush(); -- } catch (IOException ex) { -- LastError = errTCPDataSend; -- } -- } -- private void SendPacket(byte[] Buffer) -- { -- SendPacket(Buffer,Buffer.length); -- } -- -- private int RecvIsoPacket() -- { -- Boolean Done = false; -- int Size = 0; -- while ((LastError==0) && !Done) -- { -- // Get TPKT (4 bytes) -- RecvPacket(PDU, 0, 4); -- if (LastError==0) -- { -- Size=S7.GetWordAt(PDU,2); -- // Check 0 bytes Data Packet (only TPKT+COTP = 7 bytes) -- if (Size==IsoHSize) -- RecvPacket(PDU,4, 3); // Skip remaining 3 bytes and Done is still false -- else -- { -- if ((Size>MaxPduSize) || (Size16 && <247 -- } -- } -- } -- if (LastError==0) -- { -- RecvPacket(PDU,4, 3); // Skip remaining 3 COTP bytes -- LastPDUType=PDU[5]; // Stores PDU Type, we need it -- // Receives the S7 Payload -- RecvPacket(PDU, 7, Size-IsoHSize); -- } -- if (LastError==0) -- return Size; -- else -- return 0; -- } -- -- private int ISOConnect() -- { -- int Size; -- ISO_CR[16]=LocalTSAP_HI; -- ISO_CR[17]=LocalTSAP_LO; -- ISO_CR[20]=RemoteTSAP_HI; -- ISO_CR[21]=RemoteTSAP_LO; -- -- // Sends the connection request telegram -- SendPacket(ISO_CR); -- if (LastError==0) -- { -- // Gets the reply (if any) -- Size=RecvIsoPacket(); -- if (LastError==0) -- { -- if (Size==22) -- { -- if (LastPDUType!=(byte)0xD0) // 0xD0 = CC Connection confirm -- LastError=errISOConnectionFailed; -- } -- else -- LastError=errISOInvalidPDU; -- } -- } -- return LastError; -- } -- -- private int NegotiatePduLength() -- { -- int Length; -- // Set PDU Size Requested -- S7.SetWordAt(S7_PN,23,DefaultPduSizeRequested); -- // Sends the connection request telegram -- SendPacket(S7_PN); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (LastError==0) -- { -- // check S7 Error -- if ((Length==27) && (PDU[17]==0) && (PDU[18]==0)) // 20 = size of Negotiate Answer -- { -- // Get PDU Size Negotiated -- _PDULength = S7.GetWordAt(PDU,25); -- if (_PDULength>0) -- return 0; -- else -- LastError=errISONegotiatingPDU; -- } -- else -- LastError=errISONegotiatingPDU; -- } -- } -- return LastError; -- } -- -- public void SetConnectionType(short ConnectionType) -- { -- ConnType=ConnectionType; -- } -- -- public int Connect() -- { -- LastError=0; -- if (!Connected) -- { -- TCPConnect(); -- if (LastError==0) // First stage : TCP Connection -- { -- ISOConnect(); -- if (LastError==0) // Second stage : ISOTCP (ISO 8073) Connection -- { -- LastError=NegotiatePduLength(); // Third stage : S7 PDU negotiation -- } -- } -- } -- Connected=LastError==0; -- -- // In case the connection is not completely established (TCP connection + ISO connection + PDU negotiation) -- // we close the socket and its IO streams to revert the object back to pre-Connect() state -- if (!Connected) -- { -- if (TCPSocket != null) { -- try { -- TCPSocket.close(); -- } catch (IOException ex) { -- } -- } -- if (InStream != null) { -- try { -- InStream.close(); -- } catch (IOException ex) { -- } -- } -- if (OutStream != null) { -- try { -- OutStream.close(); -- } catch (IOException ex) { -- } -- } -- _PDULength = 0; -- } -- -- return LastError; -- } -- -- public void Disconnect() -- { -- if (Connected) -- { -- try { -- OutStream.close(); -- InStream.close(); -- TCPSocket.close(); -- _PDULength=0; -- } catch (IOException ex) { -- } -- Connected=false; -- } -- } -- -- public int ConnectTo(String Address, int Rack, int Slot) -- { -- int RemoteTSAP=(ConnType<<8)+ (Rack * 0x20) + Slot; -- SetConnectionParams(Address, 0x0100, RemoteTSAP); -- return Connect(); -- } -- -- public int PDULength() -- { -- return _PDULength; -- } -- -- public void SetConnectionParams(String Address, int LocalTSAP, int RemoteTSAP) -- { -- int LocTSAP = LocalTSAP & 0x0000FFFF; -- int RemTSAP = RemoteTSAP & 0x0000FFFF; -- IPAddress = Address; -- LocalTSAP_HI = (byte) (LocTSAP>>8); -- LocalTSAP_LO = (byte) (LocTSAP & 0x00FF); -- RemoteTSAP_HI= (byte) (RemTSAP>>8); -- RemoteTSAP_LO= (byte) (RemTSAP & 0x00FF); -- } -- -- public int ReadArea(int Area, int DBNumber, int Start, int Amount, byte[] Data) -- { -- int Address; -- int NumElements; -- int MaxElements; -- int TotElements; -- int SizeRequested; -- int Length; -- int Offset = 0; -- int WordSize = 1; -- -- LastError=0; -- -- // If we are addressing Timers or counters the element size is 2 -- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) -- WordSize = 2; -- -- MaxElements=(_PDULength-18) / WordSize; // 18 = Reply telegram header -- TotElements=Amount; -- -- while ((TotElements>0) && (LastError==0)) -- { -- NumElements=TotElements; -- if (NumElements>MaxElements) -- NumElements=MaxElements; -- -- SizeRequested = NumElements * WordSize; -- -- // Setup the telegram -- System.arraycopy(S7_RW, 0, PDU, 0, Size_RD); -- // Set DB Number -- PDU[27] = (byte) Area; -- // Set Area -- if (Area==S7.S7AreaDB) -- S7.SetWordAt(PDU,25,DBNumber); -- -- // Adjusts Start and word length -- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) -- { -- Address = Start; -- if (Area==S7.S7AreaCT) -- PDU[22]=S7WLCounter; -- else -- PDU[22]=S7WLTimer; -- } -- else -- Address = Start<<3; -- -- // Num elements -- S7.SetWordAt(PDU,23,NumElements); -- -- // Address into the PLC (only 3 bytes) -- PDU[30] = (byte) (Address & 0x0FF); -- Address = Address >> 8; -- PDU[29] = (byte) (Address & 0x0FF); -- Address = Address >> 8; -- PDU[28] = (byte) (Address & 0x0FF); -- -- SendPacket(PDU, Size_RD); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (LastError==0) -- { -- if (Length>=25) -- { -- if ((Length-25==SizeRequested) && (PDU[21]==(byte)0xFF)) -- { -- System.arraycopy(PDU, 25, Data, Offset, SizeRequested); -- Offset+=SizeRequested; -- } -- else -- LastError = errS7DataRead; -- } -- else -- LastError = errS7InvalidPDU; -- } -- } -- -- TotElements -= NumElements; -- Start += NumElements*WordSize; -- } -- return LastError; -- } -- -- public int WriteArea(int Area, int DBNumber, int Start, int Amount, byte[] Data) -- { -- int Address; -- int NumElements; -- int MaxElements; -- int TotElements; -- int DataSize; -- int IsoSize; -- int Length; -- int Offset = 0; -- int WordSize = 1; -- -- LastError=0; -- -- // If we are addressing Timers or counters the element size is 2 -- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) -- WordSize = 2; -- -- MaxElements=(_PDULength-35) / WordSize; // 18 = Reply telegram header -- TotElements=Amount; -- -- while ((TotElements>0) && (LastError==0)) -- { -- NumElements=TotElements; -- if (NumElements>MaxElements) -- NumElements=MaxElements; -- -- DataSize = NumElements * WordSize; -- IsoSize = Size_WR + DataSize; -- -- // Setup the telegram -- System.arraycopy(S7_RW, 0, PDU, 0, Size_WR); -- // Whole telegram Size -- S7.SetWordAt(PDU,2,IsoSize); -- // Data Length -- Length=DataSize+4; -- S7.SetWordAt(PDU,15,Length); -- // Function -- PDU[17]= (byte) 0x05; -- // Set DB Number -- PDU[27] = (byte) Area; -- if (Area==S7.S7AreaDB) -- S7.SetWordAt(PDU,25,DBNumber); -- -- // Adjusts Start and word length -- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) -- { -- Address = Start; -- Length = DataSize; -- if (Area==S7.S7AreaCT) -- PDU[22]=S7WLCounter; -- else -- PDU[22]=S7WLTimer; -- } -- else -- { -- Address = Start<<3; -- Length = DataSize<<3; -- } -- // Num elements -- S7.SetWordAt(PDU,23,NumElements); -- // Address into the PLC -- PDU[30] = (byte) (Address & 0x0FF); -- Address = Address >> 8; -- PDU[29] = (byte) (Address & 0x0FF); -- Address = Address >> 8; -- PDU[28] = (byte) (Address & 0x0FF); -- // Length -- S7.SetWordAt(PDU,33,Length); -- -- // Copies the Data -- System.arraycopy(Data, Offset, PDU, 35, DataSize); -- -- SendPacket(PDU, IsoSize); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (LastError==0) -- { -- if (Length==22) -- { -- if ((S7.GetWordAt(PDU,17)!=0) || (PDU[21]!=(byte)0xFF)) -- LastError = errS7DataWrite; -- } -- else -- LastError = errS7InvalidPDU; -- } -- } -- -- Offset+=DataSize; -- TotElements -= NumElements; -- Start += NumElements*WordSize; -- } -- return LastError; -- } -- -- public int GetAgBlockInfo(int BlockType, int BlockNumber, S7BlockInfo Block) -- { -- int Length; -- LastError=0; -- // Block Type -- S7_BI[30] = (byte) BlockType; -- // Block Number -- S7_BI[31]=(byte) ((BlockNumber / 10000)+0x30); -- BlockNumber=BlockNumber % 10000; -- S7_BI[32]=(byte) ((BlockNumber / 1000)+0x30); -- BlockNumber=BlockNumber % 1000; -- S7_BI[33]=(byte) ((BlockNumber / 100)+0x30); -- BlockNumber=BlockNumber % 100; -- S7_BI[34]=(byte) ((BlockNumber / 10)+0x30); -- BlockNumber=BlockNumber % 10; -- S7_BI[35]=(byte) ((BlockNumber / 1)+0x30); -- -- SendPacket(S7_BI); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 32) // the minimum expected -- { -- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -- { -- Block.Update(PDU, 42); -- } -- else -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- -- return LastError; -- } -- /** -- * -- * @param DBNumber DB Number -- * @param Buffer Destination buffer -- * @param SizeRead How many bytes were read -- * @return -- */ -- public int DBGet(int DBNumber, byte[] Buffer, IntByRef SizeRead) -- { -- S7BlockInfo Block = new S7BlockInfo(); -- // Query the DB Length -- LastError = GetAgBlockInfo(S7.Block_DB, DBNumber, Block); -- if (LastError==0) -- { -- int SizeToRead = Block.MC7Size(); -- // Checks the room -- if (SizeToRead<=Buffer.length) -- { -- LastError=ReadArea(S7.S7AreaDB, DBNumber, 0, SizeToRead, Buffer); -- if (LastError==0) -- SizeRead.Value=SizeToRead; -- } -- else -- LastError=errS7BufferTooSmall; -- } -- return LastError; -- } -- -- public int ReadSZL(int ID, int Index, S7Szl SZL) -- { -- int Length; -- int DataSZL; -- int Offset = 0; -- boolean Done = false; -- boolean First = true; -- byte Seq_in =0x00; -- int Seq_out =0x0000; -- -- LastError=0; -- SZL.DataSize=0; -- do -- { -- if (First) -- { -- S7.SetWordAt(S7_SZL_FIRST, 11, ++Seq_out); -- S7.SetWordAt(S7_SZL_FIRST, 29, ID); -- S7.SetWordAt(S7_SZL_FIRST, 31, Index); -- SendPacket(S7_SZL_FIRST); -- } -- else -- { -- S7.SetWordAt(S7_SZL_NEXT, 11, ++Seq_out); -- PDU[24] = (byte)Seq_in; -- SendPacket(S7_SZL_NEXT); -- } -- if (LastError!=0) -- return LastError; -- -- Length=RecvIsoPacket(); -- if (LastError==0) -- { -- if (First) -- { -- if (Length > 32) // the minimum expected -- { -- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -- { -- // Gets Amount of this slice -- DataSZL=S7.GetWordAt(PDU,31)-8; // Skips extra params (ID, Index ...) -- Done=PDU[26]==0x00; -- Seq_in=(byte)PDU[24]; // Slice sequence -- -- SZL.LENTHDR=S7.GetWordAt(PDU, 37); -- SZL.N_DR=S7.GetWordAt(PDU, 39); -- SZL.Copy(PDU, 41, Offset, DataSZL); -- Offset+=DataSZL; -- SZL.DataSize+=DataSZL; -- } -- else -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- else -- { -- if (Length > 32) // the minimum expected -- { -- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -- { -- // Gets Amount of this slice -- DataSZL=S7.GetWordAt(PDU,31); -- Done=PDU[26]==0x00; -- Seq_in=(byte)PDU[24]; // Slice sequence -- SZL.Copy(PDU, 37, Offset, DataSZL); -- Offset+=DataSZL; -- SZL.DataSize+=DataSZL; -- } -- else -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- } -- First=false; -- } -- while(!Done && (LastError==0)); -- -- return LastError; -- } -- -- -- public int GetCpuInfo(S7CpuInfo Info) -- { -- S7Szl SZL = new S7Szl(1024); -- -- LastError = ReadSZL(0x001C, 0x0000, SZL); -- if (LastError==0) -- { -- Info.Update(SZL.Data, 0); -- } -- return LastError; -- } -- -- public int GetCpInfo(S7CpInfo Info) -- { -- S7Szl SZL = new S7Szl(1024); -- -- LastError = ReadSZL(0x0131, 0x0001, SZL); -- if (LastError==0) -- { -- Info.Update(SZL.Data, 0); -- } -- return LastError; -- } -- -- public int GetOrderCode(S7OrderCode Code) -- { -- S7Szl SZL = new S7Szl(1024); -- -- LastError = ReadSZL(0x0011, 0x0000, SZL); -- if (LastError==0) -- { -- Code.Update(SZL.Data, 0, SZL.DataSize); -- } -- return LastError; -- } -- -- public int GetPlcDateTime(Date DateTime) -- { -- int Length; -- -- LastError = 0; -- SendPacket(S7_GET_DT); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 30) // the minimum expected -- { -- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -- { -- DateTime=S7.GetDateAt(PDU, 34); -- } -- else -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- -- return LastError; -- } -- -- public int SetPlcDateTime(Date DateTime) -- { -- int Length; -- -- LastError = 0; -- S7.SetDateAt(S7_SET_DT, 31, DateTime); -- -- SendPacket(S7_SET_DT); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 30) // the minimum expected -- { -- if (S7.GetWordAt(PDU,27)!=0) -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- -- return LastError; -- } -- -- public int SetPlcSystemDateTime() -- { -- return SetPlcDateTime(new Date()); -- } -- -- public int PlcStop() -- { -- int Length; -- -- LastError = 0; -- SendPacket(S7_STOP); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 18) // 18 is the minimum expected -- { -- if (S7.GetWordAt(PDU,17)!=0) -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- return LastError; -- } -- -- public int PlcHotStart() -- { -- int Length; -- -- LastError = 0; -- SendPacket(S7_HOT_START); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 18) // the minimum expected -- { -- if (S7.GetWordAt(PDU,17)!=0) -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- return LastError; -- } -- -- public int PlcColdStart() -- { -- int Length; -- -- LastError = 0; -- SendPacket(S7_COLD_START); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 18) // the minimum expected -- { -- if (S7.GetWordAt(PDU,17)!=0) -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- return LastError; -- } -- -- public int GetPlcStatus(IntByRef Status) -- { -- int Length; -- -- LastError = 0; -- SendPacket(S7_GET_STAT); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 30) // the minimum expected -- { -- if (S7.GetWordAt(PDU,27)==0) -- { -- switch (PDU[44]) -- { -- case S7.S7CpuStatusUnknown : -- case S7.S7CpuStatusRun : -- case S7.S7CpuStatusStop : Status.Value=PDU[44]; -- break; -- default : -- // Since RUN status is always 0x08 for all CPUs and CPs, STOP status -- // sometime can be coded as 0x03 (especially for old cpu...) -- Status.Value=S7.S7CpuStatusStop; -- } -- } -- else -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- return LastError; -- } -- -- public int SetSessionPassword(String Password) -- { -- byte[] pwd = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; -- int Length; -- -- LastError = 0; -- // Adjusts the Password length to 8 -- if (Password.length()>8) -- Password=Password.substring(0, 8); -- else -- { -- while (Password.length()<8) -- Password=Password+" "; -- } -- -- try { -- pwd = Password.getBytes("UTF-8"); -- } catch (UnsupportedEncodingException ex) { -- LastError = errS7InvalidParams; -- } -- if (LastError==0) -- { -- // Encodes the password -- pwd[0]=(byte) (pwd[0] ^ 0x55); -- pwd[1]=(byte) (pwd[1] ^ 0x55); -- for (int c = 2; c < 8; c++) -- { -- pwd[c]=(byte) (pwd[c] ^ 0x55 ^ pwd[c-2]); -- } -- System.arraycopy(pwd, 0, S7_SET_PWD, 29, 8); -- // Sends the telegrem -- SendPacket(S7_SET_PWD); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 32) // the minimum expected -- { -- if (S7.GetWordAt(PDU,27)!=0) -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- } -- return LastError; -- } -- -- public int ClearSessionPassword() -- { -- int Length; -- -- LastError = 0; -- SendPacket(S7_CLR_PWD); -- if (LastError==0) -- { -- Length=RecvIsoPacket(); -- if (Length > 30) // the minimum expected -- { -- if (S7.GetWordAt(PDU,27)!=0) -- LastError = errS7FunctionError; -- } -- else -- LastError = errS7InvalidPDU; -- } -- return LastError; -- } -- -- public int GetProtection(S7Protection Protection) -- { -- S7Szl SZL = new S7Szl(256); -- -- LastError = ReadSZL(0x0232, 0x0004, SZL); -- if (LastError==0) -- { -- Protection.Update(SZL.Data); -- } -- return LastError; -- } -- --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+import java.io.DataInputStream; -+import java.io.DataOutputStream; -+import java.io.IOException; -+import java.io.UnsupportedEncodingException; -+import java.net.InetSocketAddress; -+import java.net.Socket; -+import java.net.SocketAddress; -+import java.util.Date; -+ -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+public class S7Client -+{ -+ // WordLength -+ public static final int S7WLBit = 0x01; -+ public static final int S7WLByte = 0x02; -+ public static final int S7WLCounter = 0x1C; -+ public static final int S7WLTimer = 0x1D; -+ -+ // Error Codes -+ public static final int errTCPConnectionFailed = 0x0001; -+ public static final int errTCPDataSend = 0x0002; -+ public static final int errTCPDataRecv = 0x0003; -+ public static final int errTCPDataRecvTout = 0x0004; -+ public static final int errTCPConnectionReset = 0x0005; -+ public static final int errISOInvalidPDU = 0x0006; -+ public static final int errISOConnectionFailed = 0x0007; -+ public static final int errISONegotiatingPDU = 0x0008; -+ public static final int errS7InvalidPDU = 0x0009; -+ public static final int errS7DataRead = 0x000A; -+ public static final int errS7DataWrite = 0x000B; -+ public static final int errS7BufferTooSmall = 0x000C; -+ public static final int errS7FunctionError = 0x000D; -+ public static final int errS7InvalidParams = 0x000E; -+ -+ // Public fields -+ public boolean Connected = false; -+ public int LastError = 0; -+ public int RecvTimeout = 2000; -+ -+ // Privates -+ private static final int ISOTCP = 102; // ISOTCP Port -+ private static final int MinPduSize = 16; -+ private static final int DefaultPduSizeRequested = 480; -+ private static final int IsoHSize = 7; // TPKT+COTP Header Size -+ private static final int MaxPduSize = DefaultPduSizeRequested+IsoHSize; -+ -+ private Socket TCPSocket; -+ private final byte[] PDU = new byte[2048]; -+ -+ private DataInputStream InStream = null; -+ private DataOutputStream OutStream = null; -+ -+ private String IPAddress; -+ -+ private byte LocalTSAP_HI; -+ private byte LocalTSAP_LO; -+ private byte RemoteTSAP_HI; -+ private byte RemoteTSAP_LO; -+ private byte LastPDUType; -+ -+ private short ConnType = S7.PG; -+ private int _PDULength = 0; -+ -+ // Telegrams -+ // ISO Connection Request telegram (contains also ISO Header and COTP Header) -+ private static final byte ISO_CR[] = { -+ // TPKT (RFC1006 Header) -+ (byte)0x03, // RFC 1006 ID (3) -+ (byte)0x00, // Reserved, always 0 -+ (byte)0x00, // High part of packet lenght (entire frame, payload and TPDU included) -+ (byte)0x16, // Low part of packet lenght (entire frame, payload and TPDU included) -+ // COTP (ISO 8073 Header) -+ (byte)0x11, // PDU Size Length -+ (byte)0xE0, // CR - Connection Request ID -+ (byte)0x00, // Dst Reference HI -+ (byte)0x00, // Dst Reference LO -+ (byte)0x00, // Src Reference HI -+ (byte)0x01, // Src Reference LO -+ (byte)0x00, // Class + Options Flags -+ (byte)0xC0, // PDU Max Length ID -+ (byte)0x01, // PDU Max Length HI -+ (byte)0x0A, // PDU Max Length LO -+ (byte)0xC1, // Src TSAP Identifier -+ (byte)0x02, // Src TSAP Length (2 bytes) -+ (byte)0x01, // Src TSAP HI (will be overwritten) -+ (byte)0x00, // Src TSAP LO (will be overwritten) -+ (byte)0xC2, // Dst TSAP Identifier -+ (byte)0x02, // Dst TSAP Length (2 bytes) -+ (byte)0x01, // Dst TSAP HI (will be overwritten) -+ (byte)0x02 // Dst TSAP LO (will be overwritten) -+ }; -+ -+ // S7 PDU Negotiation Telegram (contains also ISO Header and COTP Header) -+ private static final byte S7_PN[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x19, -+ (byte)0x02, (byte)0xf0, (byte)0x80, // TPKT + COTP (see above for info) -+ (byte)0x32, (byte)0x01, (byte)0x00, (byte)0x00, -+ (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x08, -+ (byte)0x00, (byte)0x00, (byte)0xf0, (byte)0x00, -+ (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x01, -+ (byte)0x00, (byte)0x1e // PDU Length Requested = HI-LO 480 bytes -+ }; -+ -+ // S7 Read/Write Request Header (contains also ISO Header and COTP Header) -+ private static final byte S7_RW[] = { // 31-35 bytes -+ (byte)0x03,(byte)0x00, -+ (byte)0x00,(byte)0x1f, // Telegram Length (Data Size + 31 or 35) -+ (byte)0x02,(byte)0xf0, (byte)0x80, // COTP (see above for info) -+ (byte)0x32, // S7 Protocol ID -+ (byte)0x01, // Job Type -+ (byte)0x00,(byte)0x00, // Redundancy identification -+ (byte)0x05,(byte)0x00, // PDU Reference -+ (byte)0x00,(byte)0x0e, // Parameters Length -+ (byte)0x00,(byte)0x00, // Data Length = Size(bytes) + 4 -+ (byte)0x04, // Function 4 Read Var, 5 Write Var -+ (byte)0x01, // Items count -+ (byte)0x12, // Var spec. -+ (byte)0x0a, // Length of remaining bytes -+ (byte)0x10, // Syntax ID -+ S7WLByte, // Transport Size -+ (byte)0x00,(byte)0x00, // Num Elements -+ (byte)0x00,(byte)0x00, // DB Number (if any, else 0) -+ (byte)0x84, // Area Type -+ (byte)0x00,(byte)0x00,(byte)0x00, // Area Offset -+ // WR area -+ (byte)0x00, // Reserved -+ (byte)0x04, // Transport size -+ (byte)0x00,(byte)0x00, // Data Length * 8 (if not timer or counter) -+ }; -+ private static final int Size_RD = 31; -+ private static final int Size_WR = 35; -+ -+ // S7 Get Block Info Request Header (contains also ISO Header and COTP Header) -+ private static final byte S7_BI[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x05, -+ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x43, (byte)0x03, -+ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -+ (byte)0x08, (byte)0x30, -+ (byte)0x41, // Block Type -+ (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, // ASCII Block Number -+ (byte)0x41 -+ }; -+ -+ // SZL First telegram request -+ private static final byte S7_SZL_FIRST[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, -+ (byte)0x05, (byte)0x00, // Sequence out -+ (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, -+ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -+ (byte)0x04, -+ (byte)0x00, (byte)0x00, // ID (29) -+ (byte)0x00, (byte)0x00 // Index (31) -+ }; -+ -+ // SZL Next telegram request -+ private static final byte S7_SZL_NEXT[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x06, -+ (byte)0x00, (byte)0x00, (byte)0x0c, (byte)0x00, -+ (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x08, (byte)0x12, (byte)0x44, (byte)0x01, -+ (byte)0x01, // Sequence -+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -+ (byte)0x0a, (byte)0x00, (byte)0x00, (byte)0x00 -+ }; -+ -+ // Get Date/Time request -+ private static final byte S7_GET_DT[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x38, -+ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x01, -+ (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, -+ (byte)0x00 -+ }; -+ -+ // Set Date/Time command -+ private static final byte S7_SET_DT[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x89, -+ (byte)0x03, (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x0e, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x02, -+ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -+ (byte)0x0a, (byte)0x00, (byte)0x19, // Hi part of Year -+ (byte)0x13, // Lo part of Year -+ (byte)0x12, // Month -+ (byte)0x06, // Day -+ (byte)0x17, // Hour -+ (byte)0x37, // Min -+ (byte)0x13, // Sec -+ (byte)0x00, (byte)0x01 // ms + Day of week -+ }; -+ -+ // S7 STOP request -+ private static final byte S7_STOP[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0e, -+ (byte)0x00, (byte)0x00, (byte)0x10, (byte)0x00, -+ (byte)0x00, (byte)0x29, (byte)0x00, (byte)0x00, -+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09, -+ (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, -+ (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, -+ (byte)0x4d -+ }; -+ -+ // S7 HOT Start request -+ private static final byte S7_HOT_START[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0c, -+ (byte)0x00, (byte)0x00, (byte)0x14, (byte)0x00, -+ (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, -+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -+ (byte)0xfd, (byte)0x00, (byte)0x00, (byte)0x09, -+ (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, -+ (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, -+ (byte)0x4d -+ }; -+ -+ // S7 COLD Start request -+ private static final byte S7_COLD_START[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0f, -+ (byte)0x00, (byte)0x00, (byte)0x16, (byte)0x00, -+ (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, -+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -+ (byte)0xfd, (byte)0x00, (byte)0x02, (byte)0x43, -+ (byte)0x20, (byte)0x09, (byte)0x50, (byte)0x5f, -+ (byte)0x50, (byte)0x52, (byte)0x4f, (byte)0x47, -+ (byte)0x52, (byte)0x41, (byte)0x4d -+ }; -+ -+ // S7 Get PLC Status -+ private static final byte S7_GET_STAT[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x2c, -+ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, -+ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -+ (byte)0x04, (byte)0x04, (byte)0x24, (byte)0x00, -+ (byte)0x00 -+ }; -+ -+ // S7 Set Session Password -+ private static final byte S7_SET_PWD[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x27, -+ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x01, -+ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, -+ (byte)0x08, -+ // 8 Char Encoded Password -+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, -+ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 -+ }; -+ -+ // S7 Clear Session Password -+ private static final byte S7_CLR_PWD[] = { -+ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, -+ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, -+ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x29, -+ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, -+ (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, -+ (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x02, -+ (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, -+ (byte)0x00 -+ }; -+ -+ public S7Client() -+ { -+ // Placeholder for future implementations -+ } -+ -+ public static String ErrorText(int Error) -+ { -+ switch (Error) -+ { -+ case errTCPConnectionFailed : -+ return "TCP Connection failed."; -+ case errTCPDataSend : -+ return "TCP Sending error."; -+ case errTCPDataRecv : -+ return "TCP Receiving error."; -+ case errTCPDataRecvTout : -+ return "Data Receiving timeout."; -+ case errTCPConnectionReset : -+ return "Connection reset by the peer."; -+ case errISOInvalidPDU : -+ return "Invalid ISO PDU received."; -+ case errISOConnectionFailed : -+ return "ISO connection refused by the CPU."; -+ case errISONegotiatingPDU : -+ return "ISO error negotiating the PDU length."; -+ case errS7InvalidPDU : -+ return "Invalid S7 PDU received."; -+ case errS7DataRead : -+ return "S7 Error reading data from the CPU."; -+ case errS7DataWrite : -+ return "S7 Error writing data to the CPU."; -+ case errS7BufferTooSmall : -+ return "The Buffer supplied to the function is too small."; -+ case errS7FunctionError : -+ return "S7 function refused by the CPU."; -+ case errS7InvalidParams : -+ return "Invalid parameters supplied to the function."; -+ default : -+ return "Unknown error : 0x"+Integer.toHexString(Error); -+ } -+ } -+ -+ private int TCPConnect() -+ { -+ SocketAddress sockaddr = new InetSocketAddress(IPAddress, ISOTCP); -+ LastError=0; -+ try { -+ TCPSocket = new Socket(); -+ TCPSocket.connect(sockaddr ,5000); -+ TCPSocket.setTcpNoDelay(true); -+ InStream = new DataInputStream(TCPSocket.getInputStream()); -+ OutStream = new DataOutputStream(TCPSocket.getOutputStream()); -+ } -+ catch (IOException e) { -+ LastError=errTCPConnectionFailed; -+ } -+ return LastError; -+ } -+ -+ private int WaitForData(int Size, int Timeout) -+ { -+ int cnt = 0; -+ LastError=0; -+ int SizeAvail; -+ boolean Expired = false; -+ try -+ { -+ SizeAvail=InStream.available(); -+ while ((SizeAvailTimeout; -+ // If timeout we clean the buffer -+ if (Expired && (SizeAvail>0) && (LastError==0)) -+ InStream.read(PDU, 0, SizeAvail); -+ } -+ } -+ catch (IOException ex) -+ { -+ LastError=errTCPDataRecvTout; -+ } -+ if (cnt>=Timeout) -+ { -+ LastError=errTCPDataRecvTout; -+ } -+ return LastError; -+ } -+ -+ private int RecvPacket(byte[] Buffer, int Start, int Size) -+ { -+ int BytesRead=0; -+ LastError=WaitForData(Size,RecvTimeout); -+ if (LastError==0) -+ { -+ try { -+ BytesRead = InStream.read(Buffer, Start, Size); -+ } catch (IOException ex) { -+ LastError=errTCPDataRecv; -+ } -+ if (BytesRead==0) -+ LastError=errTCPConnectionReset; -+ } -+ return LastError; -+ } -+ -+ private void SendPacket(byte[] Buffer, int Len) -+ { -+ LastError = 0; -+ try { -+ OutStream.write(Buffer,0,Len); -+ OutStream.flush(); -+ } catch (IOException ex) { -+ LastError = errTCPDataSend; -+ } -+ } -+ private void SendPacket(byte[] Buffer) -+ { -+ SendPacket(Buffer,Buffer.length); -+ } -+ -+ private int RecvIsoPacket() -+ { -+ Boolean Done = false; -+ int Size = 0; -+ while ((LastError==0) && !Done) -+ { -+ // Get TPKT (4 bytes) -+ RecvPacket(PDU, 0, 4); -+ if (LastError==0) -+ { -+ Size=S7.GetWordAt(PDU,2); -+ // Check 0 bytes Data Packet (only TPKT+COTP = 7 bytes) -+ if (Size==IsoHSize) -+ RecvPacket(PDU,4, 3); // Skip remaining 3 bytes and Done is still false -+ else -+ { -+ if ((Size>MaxPduSize) || (Size16 && <247 -+ } -+ } -+ } -+ if (LastError==0) -+ { -+ RecvPacket(PDU,4, 3); // Skip remaining 3 COTP bytes -+ LastPDUType=PDU[5]; // Stores PDU Type, we need it -+ // Receives the S7 Payload -+ RecvPacket(PDU, 7, Size-IsoHSize); -+ } -+ if (LastError==0) -+ return Size; -+ else -+ return 0; -+ } -+ -+ private int ISOConnect() -+ { -+ int Size; -+ ISO_CR[16]=LocalTSAP_HI; -+ ISO_CR[17]=LocalTSAP_LO; -+ ISO_CR[20]=RemoteTSAP_HI; -+ ISO_CR[21]=RemoteTSAP_LO; -+ -+ // Sends the connection request telegram -+ SendPacket(ISO_CR); -+ if (LastError==0) -+ { -+ // Gets the reply (if any) -+ Size=RecvIsoPacket(); -+ if (LastError==0) -+ { -+ if (Size==22) -+ { -+ if (LastPDUType!=(byte)0xD0) // 0xD0 = CC Connection confirm -+ LastError=errISOConnectionFailed; -+ } -+ else -+ LastError=errISOInvalidPDU; -+ } -+ } -+ return LastError; -+ } -+ -+ private int NegotiatePduLength() -+ { -+ int Length; -+ // Set PDU Size Requested -+ S7.SetWordAt(S7_PN,23,DefaultPduSizeRequested); -+ // Sends the connection request telegram -+ SendPacket(S7_PN); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (LastError==0) -+ { -+ // check S7 Error -+ if ((Length==27) && (PDU[17]==0) && (PDU[18]==0)) // 20 = size of Negotiate Answer -+ { -+ // Get PDU Size Negotiated -+ _PDULength = S7.GetWordAt(PDU,25); -+ if (_PDULength>0) -+ return 0; -+ else -+ LastError=errISONegotiatingPDU; -+ } -+ else -+ LastError=errISONegotiatingPDU; -+ } -+ } -+ return LastError; -+ } -+ -+ public void SetConnectionType(short ConnectionType) -+ { -+ ConnType=ConnectionType; -+ } -+ -+ public int Connect() -+ { -+ LastError=0; -+ if (!Connected) -+ { -+ TCPConnect(); -+ if (LastError==0) // First stage : TCP Connection -+ { -+ ISOConnect(); -+ if (LastError==0) // Second stage : ISOTCP (ISO 8073) Connection -+ { -+ LastError=NegotiatePduLength(); // Third stage : S7 PDU negotiation -+ } -+ } -+ } -+ Connected=LastError==0; -+ -+ // In case the connection is not completely established (TCP connection + ISO connection + PDU negotiation) -+ // we close the socket and its IO streams to revert the object back to pre-Connect() state -+ if (!Connected) -+ { -+ if (TCPSocket != null) { -+ try { -+ TCPSocket.close(); -+ } catch (IOException ex) { -+ } -+ } -+ if (InStream != null) { -+ try { -+ InStream.close(); -+ } catch (IOException ex) { -+ } -+ } -+ if (OutStream != null) { -+ try { -+ OutStream.close(); -+ } catch (IOException ex) { -+ } -+ } -+ _PDULength = 0; -+ } -+ -+ return LastError; -+ } -+ -+ public void Disconnect() -+ { -+ if (Connected) -+ { -+ try { -+ OutStream.close(); -+ InStream.close(); -+ TCPSocket.close(); -+ _PDULength=0; -+ } catch (IOException ex) { -+ } -+ Connected=false; -+ } -+ } -+ -+ public int ConnectTo(String Address, int Rack, int Slot) -+ { -+ int RemoteTSAP=(ConnType<<8)+ (Rack * 0x20) + Slot; -+ SetConnectionParams(Address, 0x0100, RemoteTSAP); -+ return Connect(); -+ } -+ -+ public int PDULength() -+ { -+ return _PDULength; -+ } -+ -+ public void SetConnectionParams(String Address, int LocalTSAP, int RemoteTSAP) -+ { -+ int LocTSAP = LocalTSAP & 0x0000FFFF; -+ int RemTSAP = RemoteTSAP & 0x0000FFFF; -+ IPAddress = Address; -+ LocalTSAP_HI = (byte) (LocTSAP>>8); -+ LocalTSAP_LO = (byte) (LocTSAP & 0x00FF); -+ RemoteTSAP_HI= (byte) (RemTSAP>>8); -+ RemoteTSAP_LO= (byte) (RemTSAP & 0x00FF); -+ } -+ -+ public int ReadArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) -+ { -+ int Address; -+ int NumElements; -+ int MaxElements; -+ int TotElements; -+ int SizeRequested; -+ int Length; -+ int Offset = 0; -+ byte WordSize = 1; -+ -+ LastError=0; -+ -+ // If we are addressing Timers or counters the element size is 2 -+ if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) -+ WordSize = 2; -+ -+ MaxElements=(_PDULength-18) / WordSize; // 18 = Reply telegram header -+ TotElements=Amount; -+ -+ while ((TotElements>0) && (LastError==0)) -+ { -+ NumElements=TotElements; -+ if (NumElements>MaxElements) -+ NumElements=MaxElements; -+ -+ SizeRequested = NumElements * WordSize; -+ -+ // Setup the telegram -+ System.arraycopy(S7_RW, 0, PDU, 0, Size_RD); -+ // Set DB Number -+ PDU[27] = (byte) Area; -+ // Set Area -+ if (Area==S7.S7AreaDB) -+ S7.SetWordAt(PDU,25,DBNumber); -+ -+ PDU[22] = (byte) WordLength; -+ // Adjusts Start and word length -+ if ((WordLength==S7WLBit) || (WordLength==S7WLTimer) || (WordLength==S7WLCounter)) -+ { -+ Address = Start; -+ } -+ else -+ { -+ Address = Start<<3; -+ } -+ -+ // Num elements -+ S7.SetWordAt(PDU,23,NumElements); -+ -+ // Address into the PLC (only 3 bytes) -+ PDU[30] = (byte) (Address & 0x0FF); -+ Address = Address >> 8; -+ PDU[29] = (byte) (Address & 0x0FF); -+ Address = Address >> 8; -+ PDU[28] = (byte) (Address & 0x0FF); -+ -+ // Transport Size -+ PDU[32] = 0x04; -+ if (WordLength==S7WLBit) -+ { -+ PDU[32] = 0x03; -+ } -+ else if ((WordLength==S7WLTimer) || (WordLength==S7WLCounter)) -+ { -+ PDU[32] = 0x09; -+ } -+ -+ SendPacket(PDU, Size_RD); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (LastError==0) -+ { -+ if (Length>=25) -+ { -+ if ((Length-25==SizeRequested) && (PDU[21]==(byte)0xFF)) -+ { -+ System.arraycopy(PDU, 25, Data, Offset, SizeRequested); -+ Offset+=SizeRequested; -+ } -+ else -+ LastError = errS7DataRead; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ } -+ -+ TotElements -= NumElements; -+ Start += NumElements*WordSize; -+ } -+ return LastError; -+ } -+ -+ public int WriteArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) -+ { -+ int Address; -+ int NumElements; -+ int MaxElements; -+ int TotElements; -+ int DataSize; -+ int IsoSize; -+ int Length; -+ int Offset = 0; -+ byte WordSize = 1; -+ -+ LastError=0; -+ -+ // If we are addressing Timers or counters the element size is 2 -+ if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) -+ WordSize = 2; -+ -+ MaxElements=(_PDULength-35) / WordSize; // 35 = Reply telegram header -+ TotElements=Amount; -+ -+ while ((TotElements>0) && (LastError==0)) -+ { -+ NumElements=TotElements; -+ if (NumElements>MaxElements) -+ NumElements=MaxElements; -+ -+ DataSize = NumElements * WordSize; -+ IsoSize = Size_WR + DataSize; -+ -+ // Setup the telegram -+ System.arraycopy(S7_RW, 0, PDU, 0, Size_WR); -+ // Whole telegram Size -+ S7.SetWordAt(PDU,2,IsoSize); -+ // Data Length -+ Length=DataSize+4; -+ S7.SetWordAt(PDU,15,Length); -+ // Function -+ PDU[17]= (byte) 0x05; -+ // Set DB Number -+ PDU[27] = (byte) Area; -+ if (Area==S7.S7AreaDB) -+ S7.SetWordAt(PDU,25,DBNumber); -+ -+ PDU[22] = (byte) WordLength; -+ // Adjusts Start and word length -+ if ((WordLength==S7WLBit) || (WordLength==S7WLTimer) || (WordLength==S7WLCounter)) -+ { -+ Address = Start; -+ Length = DataSize; -+ } -+ else -+ { -+ Address = Start<<3; -+ Length = DataSize<<3; -+ } -+ -+ // Num elements -+ S7.SetWordAt(PDU,23,NumElements); -+ // Address into the PLC -+ PDU[30] = (byte) (Address & 0x0FF); -+ Address = Address >> 8; -+ PDU[29] = (byte) (Address & 0x0FF); -+ Address = Address >> 8; -+ PDU[28] = (byte) (Address & 0x0FF); -+ -+ // Transport Size -+ PDU[32] = 0x04; -+ if (WordLength==S7WLBit) -+ { -+ PDU[32] = 0x03; -+ } -+ else if ((WordLength==S7WLTimer) || (WordLength==S7WLCounter)) -+ { -+ PDU[32] = 0x09; -+ } -+ -+ // Length -+ S7.SetWordAt(PDU,33,Length); -+ -+ // Copies the Data -+ System.arraycopy(Data, Offset, PDU, 35, DataSize); -+ -+ SendPacket(PDU, IsoSize); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (LastError==0) -+ { -+ if (Length==22) -+ { -+ if ((S7.GetWordAt(PDU,17)!=0) || (PDU[21]!=(byte)0xFF)) -+ LastError = errS7DataWrite; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ } -+ -+ Offset+=DataSize; -+ TotElements -= NumElements; -+ Start += NumElements*WordSize; -+ } -+ return LastError; -+ } -+ -+ public int GetAgBlockInfo(int BlockType, int BlockNumber, S7BlockInfo Block) -+ { -+ int Length; -+ LastError=0; -+ // Block Type -+ S7_BI[30] = (byte) BlockType; -+ // Block Number -+ S7_BI[31]=(byte) ((BlockNumber / 10000)+0x30); -+ BlockNumber=BlockNumber % 10000; -+ S7_BI[32]=(byte) ((BlockNumber / 1000)+0x30); -+ BlockNumber=BlockNumber % 1000; -+ S7_BI[33]=(byte) ((BlockNumber / 100)+0x30); -+ BlockNumber=BlockNumber % 100; -+ S7_BI[34]=(byte) ((BlockNumber / 10)+0x30); -+ BlockNumber=BlockNumber % 10; -+ S7_BI[35]=(byte) ((BlockNumber / 1)+0x30); -+ -+ SendPacket(S7_BI); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 32) // the minimum expected -+ { -+ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -+ { -+ Block.Update(PDU, 42); -+ } -+ else -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ -+ return LastError; -+ } -+ /** -+ * -+ * @param DBNumber DB Number -+ * @param Buffer Destination buffer -+ * @param SizeRead How many bytes were read -+ * @return -+ */ -+ public int DBGet(int DBNumber, byte[] Buffer, IntByRef SizeRead) -+ { -+ S7BlockInfo Block = new S7BlockInfo(); -+ // Query the DB Length -+ LastError = GetAgBlockInfo(S7.Block_DB, DBNumber, Block); -+ if (LastError==0) -+ { -+ int SizeToRead = Block.MC7Size(); -+ // Checks the room -+ if (SizeToRead<=Buffer.length) -+ { -+ LastError=ReadArea(S7.S7AreaDB, DBNumber, 0, SizeToRead, S7WLByte, Buffer); -+ if (LastError==0) -+ SizeRead.Value=SizeToRead; -+ } -+ else -+ LastError=errS7BufferTooSmall; -+ } -+ return LastError; -+ } -+ -+ public int ReadSZL(int ID, int Index, S7Szl SZL) -+ { -+ int Length; -+ int DataSZL; -+ int Offset = 0; -+ boolean Done = false; -+ boolean First = true; -+ byte Seq_in =0x00; -+ int Seq_out =0x0000; -+ -+ LastError=0; -+ SZL.DataSize=0; -+ do -+ { -+ if (First) -+ { -+ S7.SetWordAt(S7_SZL_FIRST, 11, ++Seq_out); -+ S7.SetWordAt(S7_SZL_FIRST, 29, ID); -+ S7.SetWordAt(S7_SZL_FIRST, 31, Index); -+ SendPacket(S7_SZL_FIRST); -+ } -+ else -+ { -+ S7.SetWordAt(S7_SZL_NEXT, 11, ++Seq_out); -+ PDU[24] = (byte)Seq_in; -+ SendPacket(S7_SZL_NEXT); -+ } -+ if (LastError!=0) -+ return LastError; -+ -+ Length=RecvIsoPacket(); -+ if (LastError==0) -+ { -+ if (First) -+ { -+ if (Length > 32) // the minimum expected -+ { -+ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -+ { -+ // Gets Amount of this slice -+ DataSZL=S7.GetWordAt(PDU,31)-8; // Skips extra params (ID, Index ...) -+ Done=PDU[26]==0x00; -+ Seq_in=(byte)PDU[24]; // Slice sequence -+ -+ SZL.LENTHDR=S7.GetWordAt(PDU, 37); -+ SZL.N_DR=S7.GetWordAt(PDU, 39); -+ SZL.Copy(PDU, 41, Offset, DataSZL); -+ Offset+=DataSZL; -+ SZL.DataSize+=DataSZL; -+ } -+ else -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ else -+ { -+ if (Length > 32) // the minimum expected -+ { -+ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -+ { -+ // Gets Amount of this slice -+ DataSZL=S7.GetWordAt(PDU,31); -+ Done=PDU[26]==0x00; -+ Seq_in=(byte)PDU[24]; // Slice sequence -+ SZL.Copy(PDU, 37, Offset, DataSZL); -+ Offset+=DataSZL; -+ SZL.DataSize+=DataSZL; -+ } -+ else -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ } -+ First=false; -+ } -+ while(!Done && (LastError==0)); -+ -+ return LastError; -+ } -+ -+ public int GetCpuInfo(S7CpuInfo Info) -+ { -+ S7Szl SZL = new S7Szl(1024); -+ -+ LastError = ReadSZL(0x001C, 0x0000, SZL); -+ if (LastError==0) -+ { -+ Info.Update(SZL.Data, 0); -+ } -+ return LastError; -+ } -+ -+ public int GetCpInfo(S7CpInfo Info) -+ { -+ S7Szl SZL = new S7Szl(1024); -+ -+ LastError = ReadSZL(0x0131, 0x0001, SZL); -+ if (LastError==0) -+ { -+ Info.Update(SZL.Data, 0); -+ } -+ return LastError; -+ } -+ -+ public int GetOrderCode(S7OrderCode Code) -+ { -+ S7Szl SZL = new S7Szl(1024); -+ -+ LastError = ReadSZL(0x0011, 0x0000, SZL); -+ if (LastError==0) -+ { -+ Code.Update(SZL.Data, 0, SZL.DataSize); -+ } -+ return LastError; -+ } -+ -+ public int GetPlcDateTime(Date DateTime) -+ { -+ int Length; -+ -+ LastError = 0; -+ SendPacket(S7_GET_DT); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 30) // the minimum expected -+ { -+ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) -+ { -+ DateTime=S7.GetDateAt(PDU, 34); -+ } -+ else -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ -+ return LastError; -+ } -+ -+ public int SetPlcDateTime(Date DateTime) -+ { -+ int Length; -+ -+ LastError = 0; -+ S7.SetDateAt(S7_SET_DT, 31, DateTime); -+ -+ SendPacket(S7_SET_DT); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 30) // the minimum expected -+ { -+ if (S7.GetWordAt(PDU,27)!=0) -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ -+ return LastError; -+ } -+ -+ public int SetPlcSystemDateTime() -+ { -+ return SetPlcDateTime(new Date()); -+ } -+ -+ public int PlcStop() -+ { -+ int Length; -+ -+ LastError = 0; -+ SendPacket(S7_STOP); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 18) // 18 is the minimum expected -+ { -+ if (S7.GetWordAt(PDU,17)!=0) -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ return LastError; -+ } -+ -+ public int PlcHotStart() -+ { -+ int Length; -+ -+ LastError = 0; -+ SendPacket(S7_HOT_START); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 18) // the minimum expected -+ { -+ if (S7.GetWordAt(PDU,17)!=0) -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ return LastError; -+ } -+ -+ public int PlcColdStart() -+ { -+ int Length; -+ -+ LastError = 0; -+ SendPacket(S7_COLD_START); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 18) // the minimum expected -+ { -+ if (S7.GetWordAt(PDU,17)!=0) -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ return LastError; -+ } -+ -+ public int GetPlcStatus(IntByRef Status) -+ { -+ int Length; -+ -+ LastError = 0; -+ SendPacket(S7_GET_STAT); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 30) // the minimum expected -+ { -+ if (S7.GetWordAt(PDU,27)==0) -+ { -+ switch (PDU[44]) -+ { -+ case S7.S7CpuStatusUnknown : -+ case S7.S7CpuStatusRun : -+ case S7.S7CpuStatusStop : Status.Value=PDU[44]; -+ break; -+ default : -+ // Since RUN status is always 0x08 for all CPUs and CPs, STOP status -+ // sometime can be coded as 0x03 (especially for old cpu...) -+ Status.Value=S7.S7CpuStatusStop; -+ } -+ } -+ else -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ return LastError; -+ } -+ -+ public int SetSessionPassword(String Password) -+ { -+ byte[] pwd = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; -+ int Length; -+ -+ LastError = 0; -+ // Adjusts the Password length to 8 -+ if (Password.length()>8) -+ Password=Password.substring(0, 8); -+ else -+ { -+ while (Password.length()<8) -+ Password=Password+" "; -+ } -+ -+ try { -+ pwd = Password.getBytes("UTF-8"); -+ } catch (UnsupportedEncodingException ex) { -+ LastError = errS7InvalidParams; -+ } -+ if (LastError==0) -+ { -+ // Encodes the password -+ pwd[0]=(byte) (pwd[0] ^ 0x55); -+ pwd[1]=(byte) (pwd[1] ^ 0x55); -+ for (int c = 2; c < 8; c++) -+ { -+ pwd[c]=(byte) (pwd[c] ^ 0x55 ^ pwd[c-2]); -+ } -+ System.arraycopy(pwd, 0, S7_SET_PWD, 29, 8); -+ // Sends the telegrem -+ SendPacket(S7_SET_PWD); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 32) // the minimum expected -+ { -+ if (S7.GetWordAt(PDU,27)!=0) -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ } -+ return LastError; -+ } -+ -+ public int ClearSessionPassword() -+ { -+ int Length; -+ -+ LastError = 0; -+ SendPacket(S7_CLR_PWD); -+ if (LastError==0) -+ { -+ Length=RecvIsoPacket(); -+ if (Length > 30) // the minimum expected -+ { -+ if (S7.GetWordAt(PDU,27)!=0) -+ LastError = errS7FunctionError; -+ } -+ else -+ LastError = errS7InvalidPDU; -+ } -+ return LastError; -+ } -+ -+ public int GetProtection(S7Protection Protection) -+ { -+ S7Szl SZL = new S7Szl(256); -+ -+ LastError = ReadSZL(0x0232, 0x0004, SZL); -+ if (LastError==0) -+ { -+ Protection.Update(SZL.Data); -+ } -+ return LastError; -+ } -+ -+} -diff U3 S7CpInfo.java S7CpInfo.java ---- S7CpInfo.java Thu Mar 23 15:34:52 2017 -+++ S7CpInfo.java Tue Aug 08 18:53:37 2017 -@@ -1,41 +1,41 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --/** -- * -- * @author Davide -- */ --public class S7CpInfo { -- -- public int MaxPduLength; -- public int MaxConnections; -- public int MaxMpiRate; -- public int MaxBusRate; -- -- protected void Update(byte[] Src, int Pos) -- { -- MaxPduLength = S7.GetShortAt(Src, 2); -- MaxConnections = S7.GetShortAt(Src, 4); -- MaxMpiRate = S7.GetDIntAt(Src, 6); -- MaxBusRate = S7.GetDIntAt(Src, 10); -- } --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+public class S7CpInfo { -+ -+ public int MaxPduLength; -+ public int MaxConnections; -+ public int MaxMpiRate; -+ public int MaxBusRate; -+ -+ protected void Update(byte[] Src, int Pos) -+ { -+ MaxPduLength = S7.GetShortAt(Src, 2); -+ MaxConnections = S7.GetShortAt(Src, 4); -+ MaxMpiRate = S7.GetDIntAt(Src, 6); -+ MaxBusRate = S7.GetDIntAt(Src, 10); -+ } -+} -diff U3 S7CpuInfo.java S7CpuInfo.java ---- S7CpuInfo.java Thu Mar 23 15:34:52 2017 -+++ S7CpuInfo.java Tue Aug 08 18:53:37 2017 -@@ -1,57 +1,57 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --/** -- * -- * @author Davide -- */ --public class S7CpuInfo { -- -- private final int BufSize = 256; -- protected byte[] Buffer = new byte[BufSize]; -- -- protected void Update(byte[] Src, int Pos) -- { -- System.arraycopy(Src, Pos, Buffer, 0, BufSize); -- } -- -- public String ModuleTypeName() -- { -- return S7.GetStringAt(Buffer,172,32); -- } -- public String SerialNumber() -- { -- return S7.GetStringAt(Buffer,138,24); -- } -- public String ASName() -- { -- return S7.GetStringAt(Buffer,2,24); -- } -- public String Copyright() -- { -- return S7.GetStringAt(Buffer,104,26); -- } -- public String ModuleName() -- { -- return S7.GetStringAt(Buffer,36,24); -- } --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+public class S7CpuInfo { -+ -+ private final int BufSize = 256; -+ protected byte[] Buffer = new byte[BufSize]; -+ -+ protected void Update(byte[] Src, int Pos) -+ { -+ System.arraycopy(Src, Pos, Buffer, 0, BufSize); -+ } -+ -+ public String ModuleTypeName() -+ { -+ return S7.GetStringAt(Buffer,172,32); -+ } -+ public String SerialNumber() -+ { -+ return S7.GetStringAt(Buffer,138,24); -+ } -+ public String ASName() -+ { -+ return S7.GetStringAt(Buffer,2,24); -+ } -+ public String Copyright() -+ { -+ return S7.GetStringAt(Buffer,104,26); -+ } -+ public String ModuleName() -+ { -+ return S7.GetStringAt(Buffer,36,24); -+ } -+} -diff U3 S7OrderCode.java S7OrderCode.java ---- S7OrderCode.java Thu Mar 23 15:34:52 2017 -+++ S7OrderCode.java Tue Aug 08 18:53:37 2017 -@@ -1,46 +1,46 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --/** -- * -- * @author Davide -- */ --public class S7OrderCode { -- -- public int V1; -- public int V2; -- public int V3; -- protected byte[] Buffer = new byte[1024]; -- -- protected void Update(byte[] Src, int Pos, int Size) -- { -- System.arraycopy(Src, Pos, Buffer, 0, Size); -- V1 = (byte) Src[Size-3]; -- V2 = (byte) Src[Size-2]; -- V3 = (byte) Src[Size-1]; -- } -- -- public String Code() -- { -- return S7.GetStringAt(Buffer, 2, 20); -- } --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+public class S7OrderCode { -+ -+ public int V1; -+ public int V2; -+ public int V3; -+ protected byte[] Buffer = new byte[1024]; -+ -+ protected void Update(byte[] Src, int Pos, int Size) -+ { -+ System.arraycopy(Src, Pos, Buffer, 0, Size); -+ V1 = (byte) Src[Size-3]; -+ V2 = (byte) Src[Size-2]; -+ V3 = (byte) Src[Size-1]; -+ } -+ -+ public String Code() -+ { -+ return S7.GetStringAt(Buffer, 2, 20); -+ } -+} -diff U3 S7Protection.java S7Protection.java ---- S7Protection.java Thu Mar 23 15:34:52 2017 -+++ S7Protection.java Tue Aug 08 18:53:37 2017 -@@ -1,38 +1,43 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --// See §33.19 of "System Software for S7-300/400 System and Standard Functions" --public class S7Protection { -- public int sch_schal; -- public int sch_par; -- public int sch_rel; -- public int bart_sch; -- public int anl_sch; -- protected void Update(byte[] Src) -- { -- sch_schal = S7.GetWordAt(Src,2); -- sch_par = S7.GetWordAt(Src,4); -- sch_rel = S7.GetWordAt(Src,6); -- bart_sch = S7.GetWordAt(Src,8); -- anl_sch = S7.GetWordAt(Src,10); -- } --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+ -+// See §33.19 of "System Software for S7-300/400 System and Standard Functions" -+public class S7Protection { -+ public int sch_schal; -+ public int sch_par; -+ public int sch_rel; -+ public int bart_sch; -+ public int anl_sch; -+ protected void Update(byte[] Src) -+ { -+ sch_schal = S7.GetWordAt(Src,2); -+ sch_par = S7.GetWordAt(Src,4); -+ sch_rel = S7.GetWordAt(Src,6); -+ bart_sch = S7.GetWordAt(Src,8); -+ anl_sch = S7.GetWordAt(Src,10); -+ } -+} -diff U3 S7Szl.java S7Szl.java ---- S7Szl.java Thu Mar 23 15:34:52 2017 -+++ S7Szl.java Tue Aug 08 18:53:37 2017 -@@ -1,42 +1,42 @@ --/*=============================================================================| --| PROJECT Moka7 1.0.2 | --|==============================================================================| --| Copyright (C) 2013, 2016 Davide Nardella | --| All rights reserved. | --|==============================================================================| --| SNAP7 is free software: you can redistribute it and/or modify | --| it under the terms of the Lesser GNU General Public License as published by | --| the Free Software Foundation, either version 3 of the License, or under | --| EPL Eclipse Public License 1.0. | --| | --| This means that you have to chose in advance which take before you import | --| the library into your project. | --| | --| SNAP7 is distributed in the hope that it will be useful, | --| but WITHOUT ANY WARRANTY; without even the implied warranty of | --| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | --| decide to adopt. | --| | --|=============================================================================*/ --package Moka7; -- --/** -- * -- * @author Davide -- */ --public class S7Szl { -- -- public int LENTHDR; -- public int N_DR; -- public int DataSize; -- public byte Data[]; -- -- public S7Szl(int BufferSize) -- { -- Data = new byte[BufferSize]; -- } -- protected void Copy(byte[] Src, int SrcPos, int DestPos, int Size) -- { -- System.arraycopy(Src, SrcPos, Data, DestPos, Size); -- } --} -+/*=============================================================================| -+| PROJECT Moka7 1.0.2 | -+|==============================================================================| -+| Copyright (C) 2013, 2016 Davide Nardella | -+| All rights reserved. | -+|==============================================================================| -+| SNAP7 is free software: you can redistribute it and/or modify | -+| it under the terms of the Lesser GNU General Public License as published by | -+| the Free Software Foundation, either version 3 of the License, or under | -+| EPL Eclipse Public License 1.0. | -+| | -+| This means that you have to chose in advance which take before you import | -+| the library into your project. | -+| | -+| SNAP7 is distributed in the hope that it will be useful, | -+| but WITHOUT ANY WARRANTY; without even the implied warranty of | -+| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | -+| decide to adopt. | -+| | -+|=============================================================================*/ -+package Moka7; -+ -+/** -+ * -+ * @author Davide Nardella -+ */ -+public class S7Szl { -+ -+ public int LENTHDR; -+ public int N_DR; -+ public int DataSize; -+ public byte Data[]; -+ -+ public S7Szl(int BufferSize) -+ { -+ Data = new byte[BufferSize]; -+ } -+ protected void Copy(byte[] Src, int SrcPos, int DestPos, int Size) -+ { -+ System.arraycopy(Src, SrcPos, Data, DestPos, Size); -+ } -+} +diff U3 IntByRef.java IntByRef.java +--- IntByRef.java Thu Mar 23 15:34:52 2017 ++++ IntByRef.java Tue Aug 08 18:53:37 2017 +@@ -1,40 +1,40 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +- +-package Moka7; +- +-/** +- * Quick class to pass an integer by reference +- * @author Davide +- */ +- +-public class IntByRef { +- +- public IntByRef(int Val) +- { +- this.Value=Val; +- } +- public IntByRef() +- { +- this.Value=0; +- } +- public int Value; +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++ ++package Moka7; ++ ++/** ++ * Quick class to pass an integer by reference ++ * @author Davide Nardella ++ */ ++ ++public class IntByRef { ++ ++ public IntByRef(int Val) ++ { ++ this.Value=Val; ++ } ++ public IntByRef() ++ { ++ this.Value=0; ++ } ++ public int Value; ++} +diff U3 S7.java S7.java +--- S7.java Thu Mar 23 15:34:52 2017 ++++ S7.java Tue Aug 08 18:53:37 2017 +@@ -1,287 +1,287 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-import java.io.UnsupportedEncodingException; +-import java.util.Date; +-import java.util.Calendar; +- +-/** +- * +- * @author Davide +- */ +- +- +-// Step 7 Constants and Conversion helper class +-public class S7 { +- // S7 ID Area (Area that we want to read/write) +- public static final int S7AreaPE = 0x81; +- public static final int S7AreaPA = 0x82; +- public static final int S7AreaMK = 0x83; +- public static final int S7AreaDB = 0x84; +- public static final int S7AreaCT = 0x1C; +- public static final int S7AreaTM = 0x1D; +- // Connection types +- public static final byte PG = 0x01; +- public static final byte OP = 0x02; +- public static final byte S7_BASIC = 0x03; +- // Block type +- public static final int Block_OB = 0x38; +- public static final int Block_DB = 0x41; +- public static final int Block_SDB = 0x42; +- public static final int Block_FC = 0x43; +- public static final int Block_SFC = 0x44; +- public static final int Block_FB = 0x45; +- public static final int Block_SFB = 0x46; +- // Sub Block Type +- public static final int SubBlk_OB = 0x08; +- public static final int SubBlk_DB = 0x0A; +- public static final int SubBlk_SDB = 0x0B; +- public static final int SubBlk_FC = 0x0C; +- public static final int SubBlk_SFC = 0x0D; +- public static final int SubBlk_FB = 0x0E; +- public static final int SubBlk_SFB = 0x0F; +- // Block languages +- public static final int BlockLangAWL = 0x01; +- public static final int BlockLangKOP = 0x02; +- public static final int BlockLangFUP = 0x03; +- public static final int BlockLangSCL = 0x04; +- public static final int BlockLangDB = 0x05; +- public static final int BlockLangGRAPH = 0x06; +- // PLC Status +- public static final int S7CpuStatusUnknown = 0x00; +- public static final int S7CpuStatusRun = 0x08; +- public static final int S7CpuStatusStop = 0x04; +- // Type Var +- public static final int S7TypeBool = 1; +- public static final int S7TypeInt = 1; +- +- // Returns the bit at Pos.Bit +- public static boolean GetBitAt(byte[] Buffer, int Pos, int Bit) +- { +- int Value = Buffer[Pos] & 0x0FF; +- byte[] Mask = { +- (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, +- (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 +- }; +- if (Bit<0) Bit=0; +- if (Bit>7) Bit=7; +- +- return (Value & Mask[Bit])!=0; +- } +- /** +- * Returns a 16 bit unsigned value : from 0 to 65535 (2^16-1) +- * @param Buffer +- * @param Pos start position +- * @return +- */ +- public static int GetWordAt(byte[] Buffer, int Pos) +- { +- int hi = (Buffer[Pos] & 0x00FF); +- int lo = (Buffer[Pos+1] & 0x00FF); +- return (hi<<8)+lo; +- } +- +- // Returns a 16 bit signed value : from -32768 to 32767 +- public static int GetShortAt(byte[] Buffer, int Pos) +- { +- int hi = (Buffer[Pos]); +- int lo = (Buffer[Pos+1] & 0x00FF); +- return ((hi<<8)+lo); +- } +- +- // Returns a 32 bit unsigned value : from 0 to 4294967295 (2^32-1) +- public static long GetDWordAt(byte[] Buffer, int Pos) +- { +- long Result; +- Result=(long)(Buffer[Pos] & 0x0FF); +- Result<<=8; +- Result+=(long)(Buffer[Pos+1] & 0x0FF); +- Result<<=8; +- Result+=(long)(Buffer[Pos+2] & 0x0FF); +- Result<<=8; +- Result+=(long)(Buffer[Pos+3] & 0x0FF); +- return Result; +- } +- +- // Returns a 32 bit signed value : from 0 to 4294967295 (2^32-1) +- public static int GetDIntAt(byte[] Buffer, int Pos) +- { +- int Result; +- Result= Buffer[Pos]; +- Result<<=8; +- Result+=(Buffer[Pos+1] & 0x0FF); +- Result<<=8; +- Result+=(Buffer[Pos+2] & 0x0FF); +- Result<<=8; +- Result+=(Buffer[Pos+3] & 0x0FF); +- return Result; +- } +- +- // Returns a 32 bit floating point +- public static float GetFloatAt(byte[] Buffer, int Pos) +- { +- int IntFloat = GetDIntAt(Buffer, Pos); +- return Float.intBitsToFloat(IntFloat); +- } +- +- // Returns an ASCII string +- public static String GetStringAt(byte[] Buffer, int Pos, int MaxLen) +- { +- byte[] StrBuffer = new byte[MaxLen]; +- System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); +- String S; +- try { +- S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 +- } catch (UnsupportedEncodingException ex) { +- S = ""; +- } +- return S; +- } +- +- public static String GetPrintableStringAt(byte[] Buffer, int Pos, int MaxLen) +- { +- byte[] StrBuffer = new byte[MaxLen]; +- System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); +- for (int c = 0; c < MaxLen; c++) +- { +- if ((StrBuffer[c]<31) || (StrBuffer[c]>126)) +- StrBuffer[c]=46; // '.' +- } +- String S; +- try { +- S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 +- } catch (UnsupportedEncodingException ex) { +- S = ""; +- } +- return S; +- } +- +- public static Date GetDateAt(byte[] Buffer, int Pos) +- { +- int Year, Month, Day, Hour, Min, Sec; +- Calendar S7Date = Calendar.getInstance(); +- +- Year = S7.BCDtoByte(Buffer[Pos]); +- if (Year<90) +- Year+=2000; +- else +- Year+=1900; +- +- Month=S7.BCDtoByte(Buffer[Pos+1])-1; +- Day =S7.BCDtoByte(Buffer[Pos+2]); +- Hour =S7.BCDtoByte(Buffer[Pos+3]); +- Min =S7.BCDtoByte(Buffer[Pos+4]); +- Sec =S7.BCDtoByte(Buffer[Pos+5]); +- +- S7Date.set(Year, Month, Day, Hour, Min, Sec); +- +- return S7Date.getTime(); +- } +- +- public static void SetBitAt(byte[] Buffer, int Pos, int Bit, boolean Value) +- { +- byte[] Mask = { +- (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, +- (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 +- }; +- if (Bit<0) Bit=0; +- if (Bit>7) Bit=7; +- +- if (Value) +- Buffer[Pos]= (byte) (Buffer[Pos] | Mask[Bit]); +- else +- Buffer[Pos]= (byte) (Buffer[Pos] & ~Mask[Bit]); +- } +- +- public static void SetWordAt(byte[] Buffer, int Pos, int Value) +- { +- int Word = Value & 0x0FFFF; +- Buffer[Pos] = (byte) (Word >> 8); +- Buffer[Pos+1] = (byte) (Word & 0x00FF); +- } +- +- public static void SetShortAt(byte[] Buffer, int Pos, int Value) +- { +- Buffer[Pos] = (byte) (Value >> 8); +- Buffer[Pos+1] = (byte) (Value & 0x00FF); +- } +- public static void SetDWordAt(byte[] Buffer, int Pos, long Value) +- { +- long DWord = Value &0x0FFFFFFFF; +- Buffer[Pos+3] = (byte) (DWord &0xFF); +- Buffer[Pos+2] = (byte) ((DWord >> 8) &0xFF); +- Buffer[Pos+1] = (byte) ((DWord >> 16) &0xFF); +- Buffer[Pos] = (byte) ((DWord >> 24) &0xFF); +- } +- +- public static void SetDIntAt(byte[] Buffer, int Pos, int Value) +- { +- Buffer[Pos+3] = (byte) (Value &0xFF); +- Buffer[Pos+2] = (byte) ((Value >> 8) &0xFF); +- Buffer[Pos+1] = (byte) ((Value >> 16) &0xFF); +- Buffer[Pos] = (byte) ((Value >> 24) &0xFF); +- } +- +- public static void SetFloatAt(byte[] Buffer, int Pos, float Value) +- { +- int DInt = Float.floatToIntBits(Value); +- SetDIntAt(Buffer, Pos, DInt); +- } +- +- public static void SetDateAt(byte[] Buffer, int Pos, Date DateTime) +- { +- int Year, Month, Day, Hour, Min, Sec, Dow; +- Calendar S7Date = Calendar.getInstance(); +- S7Date.setTime(DateTime); +- +- Year = S7Date.get(Calendar.YEAR); +- Month = S7Date.get(Calendar.MONTH)+1; +- Day = S7Date.get(Calendar.DAY_OF_MONTH); +- Hour = S7Date.get(Calendar.HOUR_OF_DAY); +- Min = S7Date.get(Calendar.MINUTE); +- Sec = S7Date.get(Calendar.SECOND); +- Dow = S7Date.get(Calendar.DAY_OF_WEEK); +- +- if (Year>1999) +- Year-=2000; +- +- Buffer[Pos] =ByteToBCD(Year); +- Buffer[Pos+1]=ByteToBCD(Month); +- Buffer[Pos+2]=ByteToBCD(Day); +- Buffer[Pos+3]=ByteToBCD(Hour); +- Buffer[Pos+4]=ByteToBCD(Min); +- Buffer[Pos+5]=ByteToBCD(Sec); +- Buffer[Pos+6]=0; +- Buffer[Pos+7]=ByteToBCD(Dow); +- } +- +- public static int BCDtoByte(byte B) +- { +- return ((B >> 4) * 10) + (B & 0x0F); +- } +- +- public static byte ByteToBCD(int Value) +- { +- return (byte) (((Value / 10) << 4) | (Value % 10)); +- } +- +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++import java.io.UnsupportedEncodingException; ++import java.util.Date; ++import java.util.Calendar; ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++ ++ ++// Step 7 Constants and Conversion helper class ++public class S7 { ++ // S7 ID Area (Area that we want to read/write) ++ public static final int S7AreaPE = 0x81; ++ public static final int S7AreaPA = 0x82; ++ public static final int S7AreaMK = 0x83; ++ public static final int S7AreaDB = 0x84; ++ public static final int S7AreaCT = 0x1C; ++ public static final int S7AreaTM = 0x1D; ++ // Connection types ++ public static final byte PG = 0x01; ++ public static final byte OP = 0x02; ++ public static final byte S7_BASIC = 0x03; ++ // Block type ++ public static final int Block_OB = 0x38; ++ public static final int Block_DB = 0x41; ++ public static final int Block_SDB = 0x42; ++ public static final int Block_FC = 0x43; ++ public static final int Block_SFC = 0x44; ++ public static final int Block_FB = 0x45; ++ public static final int Block_SFB = 0x46; ++ // Sub Block Type ++ public static final int SubBlk_OB = 0x08; ++ public static final int SubBlk_DB = 0x0A; ++ public static final int SubBlk_SDB = 0x0B; ++ public static final int SubBlk_FC = 0x0C; ++ public static final int SubBlk_SFC = 0x0D; ++ public static final int SubBlk_FB = 0x0E; ++ public static final int SubBlk_SFB = 0x0F; ++ // Block languages ++ public static final int BlockLangAWL = 0x01; ++ public static final int BlockLangKOP = 0x02; ++ public static final int BlockLangFUP = 0x03; ++ public static final int BlockLangSCL = 0x04; ++ public static final int BlockLangDB = 0x05; ++ public static final int BlockLangGRAPH = 0x06; ++ // PLC Status ++ public static final int S7CpuStatusUnknown = 0x00; ++ public static final int S7CpuStatusRun = 0x08; ++ public static final int S7CpuStatusStop = 0x04; ++ // Type Var ++ public static final int S7TypeBool = 1; ++ public static final int S7TypeInt = 1; ++ ++ // Returns the bit at Pos.Bit ++ public static boolean GetBitAt(byte[] Buffer, int Pos, int Bit) ++ { ++ int Value = Buffer[Pos] & 0x0FF; ++ byte[] Mask = { ++ (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, ++ (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 ++ }; ++ if (Bit<0) Bit=0; ++ if (Bit>7) Bit=7; ++ ++ return (Value & Mask[Bit])!=0; ++ } ++ /** ++ * Returns a 16 bit unsigned value : from 0 to 65535 (2^16-1) ++ * @param Buffer ++ * @param Pos start position ++ * @return ++ */ ++ public static int GetWordAt(byte[] Buffer, int Pos) ++ { ++ int hi = (Buffer[Pos] & 0x00FF); ++ int lo = (Buffer[Pos+1] & 0x00FF); ++ return (hi<<8)+lo; ++ } ++ ++ // Returns a 16 bit signed value : from -32768 to 32767 ++ public static int GetShortAt(byte[] Buffer, int Pos) ++ { ++ int hi = (Buffer[Pos]); ++ int lo = (Buffer[Pos+1] & 0x00FF); ++ return ((hi<<8)+lo); ++ } ++ ++ // Returns a 32 bit unsigned value : from 0 to 4294967295 (2^32-1) ++ public static long GetDWordAt(byte[] Buffer, int Pos) ++ { ++ long Result; ++ Result=(long)(Buffer[Pos] & 0x0FF); ++ Result<<=8; ++ Result+=(long)(Buffer[Pos+1] & 0x0FF); ++ Result<<=8; ++ Result+=(long)(Buffer[Pos+2] & 0x0FF); ++ Result<<=8; ++ Result+=(long)(Buffer[Pos+3] & 0x0FF); ++ return Result; ++ } ++ ++ // Returns a 32 bit signed value : from 0 to 4294967295 (2^32-1) ++ public static int GetDIntAt(byte[] Buffer, int Pos) ++ { ++ int Result; ++ Result= Buffer[Pos]; ++ Result<<=8; ++ Result+=(Buffer[Pos+1] & 0x0FF); ++ Result<<=8; ++ Result+=(Buffer[Pos+2] & 0x0FF); ++ Result<<=8; ++ Result+=(Buffer[Pos+3] & 0x0FF); ++ return Result; ++ } ++ ++ // Returns a 32 bit floating point ++ public static float GetFloatAt(byte[] Buffer, int Pos) ++ { ++ int IntFloat = GetDIntAt(Buffer, Pos); ++ return Float.intBitsToFloat(IntFloat); ++ } ++ ++ // Returns an ASCII string ++ public static String GetStringAt(byte[] Buffer, int Pos, int MaxLen) ++ { ++ byte[] StrBuffer = new byte[MaxLen]; ++ System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); ++ String S; ++ try { ++ S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 ++ } catch (UnsupportedEncodingException ex) { ++ S = ""; ++ } ++ return S; ++ } ++ ++ public static String GetPrintableStringAt(byte[] Buffer, int Pos, int MaxLen) ++ { ++ byte[] StrBuffer = new byte[MaxLen]; ++ System.arraycopy(Buffer, Pos, StrBuffer, 0, MaxLen); ++ for (int c = 0; c < MaxLen; c++) ++ { ++ if ((StrBuffer[c]<31) || (StrBuffer[c]>126)) ++ StrBuffer[c]=46; // '.' ++ } ++ String S; ++ try { ++ S = new String(StrBuffer, "UTF-8"); // the charset is UTF-8 ++ } catch (UnsupportedEncodingException ex) { ++ S = ""; ++ } ++ return S; ++ } ++ ++ public static Date GetDateAt(byte[] Buffer, int Pos) ++ { ++ int Year, Month, Day, Hour, Min, Sec; ++ Calendar S7Date = Calendar.getInstance(); ++ ++ Year = S7.BCDtoByte(Buffer[Pos]); ++ if (Year<90) ++ Year+=2000; ++ else ++ Year+=1900; ++ ++ Month=S7.BCDtoByte(Buffer[Pos+1])-1; ++ Day =S7.BCDtoByte(Buffer[Pos+2]); ++ Hour =S7.BCDtoByte(Buffer[Pos+3]); ++ Min =S7.BCDtoByte(Buffer[Pos+4]); ++ Sec =S7.BCDtoByte(Buffer[Pos+5]); ++ ++ S7Date.set(Year, Month, Day, Hour, Min, Sec); ++ ++ return S7Date.getTime(); ++ } ++ ++ public static void SetBitAt(byte[] Buffer, int Pos, int Bit, boolean Value) ++ { ++ byte[] Mask = { ++ (byte)0x01,(byte)0x02,(byte)0x04,(byte)0x08, ++ (byte)0x10,(byte)0x20,(byte)0x40,(byte)0x80 ++ }; ++ if (Bit<0) Bit=0; ++ if (Bit>7) Bit=7; ++ ++ if (Value) ++ Buffer[Pos]= (byte) (Buffer[Pos] | Mask[Bit]); ++ else ++ Buffer[Pos]= (byte) (Buffer[Pos] & ~Mask[Bit]); ++ } ++ ++ public static void SetWordAt(byte[] Buffer, int Pos, int Value) ++ { ++ int Word = Value & 0x0FFFF; ++ Buffer[Pos] = (byte) (Word >> 8); ++ Buffer[Pos+1] = (byte) (Word & 0x00FF); ++ } ++ ++ public static void SetShortAt(byte[] Buffer, int Pos, int Value) ++ { ++ Buffer[Pos] = (byte) (Value >> 8); ++ Buffer[Pos+1] = (byte) (Value & 0x00FF); ++ } ++ public static void SetDWordAt(byte[] Buffer, int Pos, long Value) ++ { ++ long DWord = Value &0x0FFFFFFFF; ++ Buffer[Pos+3] = (byte) (DWord &0xFF); ++ Buffer[Pos+2] = (byte) ((DWord >> 8) &0xFF); ++ Buffer[Pos+1] = (byte) ((DWord >> 16) &0xFF); ++ Buffer[Pos] = (byte) ((DWord >> 24) &0xFF); ++ } ++ ++ public static void SetDIntAt(byte[] Buffer, int Pos, int Value) ++ { ++ Buffer[Pos+3] = (byte) (Value &0xFF); ++ Buffer[Pos+2] = (byte) ((Value >> 8) &0xFF); ++ Buffer[Pos+1] = (byte) ((Value >> 16) &0xFF); ++ Buffer[Pos] = (byte) ((Value >> 24) &0xFF); ++ } ++ ++ public static void SetFloatAt(byte[] Buffer, int Pos, float Value) ++ { ++ int DInt = Float.floatToIntBits(Value); ++ SetDIntAt(Buffer, Pos, DInt); ++ } ++ ++ public static void SetDateAt(byte[] Buffer, int Pos, Date DateTime) ++ { ++ int Year, Month, Day, Hour, Min, Sec, Dow; ++ Calendar S7Date = Calendar.getInstance(); ++ S7Date.setTime(DateTime); ++ ++ Year = S7Date.get(Calendar.YEAR); ++ Month = S7Date.get(Calendar.MONTH)+1; ++ Day = S7Date.get(Calendar.DAY_OF_MONTH); ++ Hour = S7Date.get(Calendar.HOUR_OF_DAY); ++ Min = S7Date.get(Calendar.MINUTE); ++ Sec = S7Date.get(Calendar.SECOND); ++ Dow = S7Date.get(Calendar.DAY_OF_WEEK); ++ ++ if (Year>1999) ++ Year-=2000; ++ ++ Buffer[Pos] =ByteToBCD(Year); ++ Buffer[Pos+1]=ByteToBCD(Month); ++ Buffer[Pos+2]=ByteToBCD(Day); ++ Buffer[Pos+3]=ByteToBCD(Hour); ++ Buffer[Pos+4]=ByteToBCD(Min); ++ Buffer[Pos+5]=ByteToBCD(Sec); ++ Buffer[Pos+6]=0; ++ Buffer[Pos+7]=ByteToBCD(Dow); ++ } ++ ++ public static int BCDtoByte(byte B) ++ { ++ return ((B >> 4) * 10) + (B & 0x0F); ++ } ++ ++ public static byte ByteToBCD(int Value) ++ { ++ return (byte) (((Value / 10) << 4) | (Value % 10)); ++ } ++ ++} +diff U3 S7BlockInfo.java S7BlockInfo.java +--- S7BlockInfo.java Thu Mar 23 15:34:52 2017 ++++ S7BlockInfo.java Tue Aug 08 18:53:37 2017 +@@ -1,101 +1,101 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +-import java.util.Date; +-/** +- * +- * @author Davide +- */ +-public class S7BlockInfo { +- +- private final int BufSize = 96; +- // MilliSeconds between 1970/1/1 (Java time base) and 1984/1/1 (Siemens base) +- private final long DeltaMilliSecs = 441763200000L; +- protected byte[] Buffer = new byte[BufSize]; +- +- protected void Update(byte[] Src, int Pos) +- { +- System.arraycopy(Src, Pos, Buffer, 0, BufSize); +- } +- public int BlkType() +- { +- return Buffer[2]; +- } +- public int BlkNumber() +- { +- return S7.GetWordAt(Buffer, 3); +- } +- public int BlkLang() +- { +- return Buffer[1]; +- } +- public int BlkFlags() +- { +- return Buffer[0]; +- } +- public int MC7Size() // The real size in bytes +- { +- return S7.GetWordAt(Buffer, 31); +- } +- public int LoadSize() +- { +- return S7.GetDIntAt(Buffer, 5); +- } +- public int LocalData() +- { +- return S7.GetWordAt(Buffer, 29); +- } +- public int SBBLength() +- { +- return S7.GetWordAt(Buffer, 25); +- } +- public int Checksum() +- { +- return S7.GetWordAt(Buffer, 59); +- } +- public int Version() +- { +- return Buffer[57]; +- } +- public Date CodeDate() +- { +- long BlockDate = ((long)S7.GetWordAt(Buffer, 17))*86400000L+DeltaMilliSecs; +- return new Date(BlockDate); +- } +- public Date IntfDate() +- { +- long BlockDate = ((long)S7.GetWordAt(Buffer, 23))*86400000L+DeltaMilliSecs; +- return new Date(BlockDate); +- } +- public String Author() +- { +- return S7.GetStringAt(Buffer,33,8); +- } +- public String Family() +- { +- return S7.GetStringAt(Buffer,41,8); +- } +- public String Header() +- { +- return S7.GetStringAt(Buffer,49,8); +- } +- +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++import java.util.Date; ++/** ++ * ++ * @author Davide Nardella ++ */ ++public class S7BlockInfo { ++ ++ private final int BufSize = 96; ++ // MilliSeconds between 1970/1/1 (Java time base) and 1984/1/1 (Siemens base) ++ private final long DeltaMilliSecs = 441763200000L; ++ protected byte[] Buffer = new byte[BufSize]; ++ ++ protected void Update(byte[] Src, int Pos) ++ { ++ System.arraycopy(Src, Pos, Buffer, 0, BufSize); ++ } ++ public int BlkType() ++ { ++ return Buffer[2]; ++ } ++ public int BlkNumber() ++ { ++ return S7.GetWordAt(Buffer, 3); ++ } ++ public int BlkLang() ++ { ++ return Buffer[1]; ++ } ++ public int BlkFlags() ++ { ++ return Buffer[0]; ++ } ++ public int MC7Size() // The real size in bytes ++ { ++ return S7.GetWordAt(Buffer, 31); ++ } ++ public int LoadSize() ++ { ++ return S7.GetDIntAt(Buffer, 5); ++ } ++ public int LocalData() ++ { ++ return S7.GetWordAt(Buffer, 29); ++ } ++ public int SBBLength() ++ { ++ return S7.GetWordAt(Buffer, 25); ++ } ++ public int Checksum() ++ { ++ return S7.GetWordAt(Buffer, 59); ++ } ++ public int Version() ++ { ++ return Buffer[57]; ++ } ++ public Date CodeDate() ++ { ++ long BlockDate = ((long)S7.GetWordAt(Buffer, 17))*86400000L+DeltaMilliSecs; ++ return new Date(BlockDate); ++ } ++ public Date IntfDate() ++ { ++ long BlockDate = ((long)S7.GetWordAt(Buffer, 23))*86400000L+DeltaMilliSecs; ++ return new Date(BlockDate); ++ } ++ public String Author() ++ { ++ return S7.GetStringAt(Buffer,33,8); ++ } ++ public String Family() ++ { ++ return S7.GetStringAt(Buffer,41,8); ++ } ++ public String Header() ++ { ++ return S7.GetStringAt(Buffer,49,8); ++ } ++ ++} +diff U3 S7Client.java S7Client.java +--- S7Client.java Thu Mar 23 15:34:52 2017 ++++ S7Client.java Tue Aug 08 18:53:37 2017 +@@ -1,1214 +1,1233 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-import java.io.DataInputStream; +-import java.io.DataOutputStream; +-import java.io.IOException; +-import java.io.UnsupportedEncodingException; +-import java.net.InetSocketAddress; +-import java.net.Socket; +-import java.net.SocketAddress; +-import java.util.Date; +- +- +-/** +- * +- * @author Dave Nardella +- */ +-public class S7Client +-{ +- // WordLength +- private static final byte S7WLByte =0x02; +- private static final byte S7WLCounter =0x1C; +- private static final byte S7WLTimer =0x1D; +- // Error Codes +- public static final int errTCPConnectionFailed = 0x0001; +- public static final int errTCPDataSend = 0x0002; +- public static final int errTCPDataRecv = 0x0003; +- public static final int errTCPDataRecvTout = 0x0004; +- public static final int errTCPConnectionReset = 0x0005; +- public static final int errISOInvalidPDU = 0x0006; +- public static final int errISOConnectionFailed = 0x0007; +- public static final int errISONegotiatingPDU = 0x0008; +- public static final int errS7InvalidPDU = 0x0009; +- public static final int errS7DataRead = 0x000A; +- public static final int errS7DataWrite = 0x000B; +- public static final int errS7BufferTooSmall = 0x000C; +- public static final int errS7FunctionError = 0x000D; +- public static final int errS7InvalidParams = 0x000E; +- +- // Public fields +- public boolean Connected = false; +- public int LastError = 0; +- public int RecvTimeout = 2000; +- +- // Privates +- private static final int ISOTCP = 102; // ISOTCP Port +- private static final int MinPduSize = 16; +- private static final int DefaultPduSizeRequested = 480; +- private static final int IsoHSize = 7; // TPKT+COTP Header Size +- private static final int MaxPduSize = DefaultPduSizeRequested+IsoHSize; +- +- +- private Socket TCPSocket; +- private final byte[] PDU = new byte[2048]; +- +- private DataInputStream InStream = null; +- private DataOutputStream OutStream = null; +- +- private String IPAddress; +- +- private byte LocalTSAP_HI; +- private byte LocalTSAP_LO; +- private byte RemoteTSAP_HI; +- private byte RemoteTSAP_LO; +- private byte LastPDUType; +- +- private short ConnType = S7.PG; +- private int _PDULength = 0; +- +- // Telegrams +- // ISO Connection Request telegram (contains also ISO Header and COTP Header) +- private static final byte ISO_CR[] = { +- // TPKT (RFC1006 Header) +- (byte)0x03, // RFC 1006 ID (3) +- (byte)0x00, // Reserved, always 0 +- (byte)0x00, // High part of packet lenght (entire frame, payload and TPDU included) +- (byte)0x16, // Low part of packet lenght (entire frame, payload and TPDU included) +- // COTP (ISO 8073 Header) +- (byte)0x11, // PDU Size Length +- (byte)0xE0, // CR - Connection Request ID +- (byte)0x00, // Dst Reference HI +- (byte)0x00, // Dst Reference LO +- (byte)0x00, // Src Reference HI +- (byte)0x01, // Src Reference LO +- (byte)0x00, // Class + Options Flags +- (byte)0xC0, // PDU Max Length ID +- (byte)0x01, // PDU Max Length HI +- (byte)0x0A, // PDU Max Length LO +- (byte)0xC1, // Src TSAP Identifier +- (byte)0x02, // Src TSAP Length (2 bytes) +- (byte)0x01, // Src TSAP HI (will be overwritten) +- (byte)0x00, // Src TSAP LO (will be overwritten) +- (byte)0xC2, // Dst TSAP Identifier +- (byte)0x02, // Dst TSAP Length (2 bytes) +- (byte)0x01, // Dst TSAP HI (will be overwritten) +- (byte)0x02 // Dst TSAP LO (will be overwritten) +- }; +- +- // S7 PDU Negotiation Telegram (contains also ISO Header and COTP Header) +- private static final byte S7_PN[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x19, +- (byte)0x02, (byte)0xf0, (byte)0x80, // TPKT + COTP (see above for info) +- (byte)0x32, (byte)0x01, (byte)0x00, (byte)0x00, +- (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x08, +- (byte)0x00, (byte)0x00, (byte)0xf0, (byte)0x00, +- (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x01, +- (byte)0x00, (byte)0x1e // PDU Length Requested = HI-LO 480 bytes +- }; +- +- // S7 Read/Write Request Header (contains also ISO Header and COTP Header) +- private static final byte S7_RW[] = { // 31-35 bytes +- (byte)0x03,(byte)0x00, +- (byte)0x00,(byte)0x1f, // Telegram Length (Data Size + 31 or 35) +- (byte)0x02,(byte)0xf0, (byte)0x80, // COTP (see above for info) +- (byte)0x32, // S7 Protocol ID +- (byte)0x01, // Job Type +- (byte)0x00,(byte)0x00, // Redundancy identification +- (byte)0x05,(byte)0x00, // PDU Reference +- (byte)0x00,(byte)0x0e, // Parameters Length +- (byte)0x00,(byte)0x00, // Data Length = Size(bytes) + 4 +- (byte)0x04, // Function 4 Read Var, 5 Write Var +- (byte)0x01, // Items count +- (byte)0x12, // Var spec. +- (byte)0x0a, // Length of remaining bytes +- (byte)0x10, // Syntax ID +- S7WLByte, // Transport Size +- (byte)0x00,(byte)0x00, // Num Elements +- (byte)0x00,(byte)0x00, // DB Number (if any, else 0) +- (byte)0x84, // Area Type +- (byte)0x00,(byte)0x00,(byte)0x00, // Area Offset +- // WR area +- (byte)0x00, // Reserved +- (byte)0x04, // Transport size +- (byte)0x00,(byte)0x00, // Data Length * 8 (if not timer or counter) +- }; +- private static final int Size_RD = 31; +- private static final int Size_WR = 35; +- +- // S7 Get Block Info Request Header (contains also ISO Header and COTP Header) +- private static final byte S7_BI[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x05, +- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x43, (byte)0x03, +- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, +- (byte)0x08, (byte)0x30, +- (byte)0x41, // Block Type +- (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, // ASCII Block Number +- (byte)0x41 +- }; +- +- // SZL First telegram request +- private static final byte S7_SZL_FIRST[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, +- (byte)0x05, (byte)0x00, // Sequence out +- (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, +- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, +- (byte)0x04, +- (byte)0x00, (byte)0x00, // ID (29) +- (byte)0x00, (byte)0x00 // Index (31) +- }; +- +- // SZL Next telegram request +- private static final byte S7_SZL_NEXT[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x06, +- (byte)0x00, (byte)0x00, (byte)0x0c, (byte)0x00, +- (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x08, (byte)0x12, (byte)0x44, (byte)0x01, +- (byte)0x01, // Sequence +- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, +- (byte)0x0a, (byte)0x00, (byte)0x00, (byte)0x00 +- }; +- +- // Get Date/Time request +- private static final byte S7_GET_DT[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x38, +- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x01, +- (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, +- (byte)0x00 +- }; +- +- // Set Date/Time command +- private static final byte S7_SET_DT[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x89, +- (byte)0x03, (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x0e, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x02, +- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, +- (byte)0x0a, (byte)0x00, (byte)0x19, // Hi part of Year +- (byte)0x13, // Lo part of Year +- (byte)0x12, // Month +- (byte)0x06, // Day +- (byte)0x17, // Hour +- (byte)0x37, // Min +- (byte)0x13, // Sec +- (byte)0x00, (byte)0x01 // ms + Day of week +- }; +- +- // S7 STOP request +- private static final byte S7_STOP[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0e, +- (byte)0x00, (byte)0x00, (byte)0x10, (byte)0x00, +- (byte)0x00, (byte)0x29, (byte)0x00, (byte)0x00, +- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09, +- (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, +- (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, +- (byte)0x4d +- }; +- +- // S7 HOT Start request +- private static final byte S7_HOT_START[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0c, +- (byte)0x00, (byte)0x00, (byte)0x14, (byte)0x00, +- (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, +- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, +- (byte)0xfd, (byte)0x00, (byte)0x00, (byte)0x09, +- (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, +- (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, +- (byte)0x4d +- }; +- +- // S7 COLD Start request +- private static final byte S7_COLD_START[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0f, +- (byte)0x00, (byte)0x00, (byte)0x16, (byte)0x00, +- (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, +- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, +- (byte)0xfd, (byte)0x00, (byte)0x02, (byte)0x43, +- (byte)0x20, (byte)0x09, (byte)0x50, (byte)0x5f, +- (byte)0x50, (byte)0x52, (byte)0x4f, (byte)0x47, +- (byte)0x52, (byte)0x41, (byte)0x4d +- }; +- +- // S7 Get PLC Status +- private static final byte S7_GET_STAT[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x2c, +- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, +- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, +- (byte)0x04, (byte)0x04, (byte)0x24, (byte)0x00, +- (byte)0x00 +- }; +- +- // S7 Set Session Password +- private static final byte S7_SET_PWD[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x27, +- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x01, +- (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, +- (byte)0x08, +- // 8 Char Encoded Password +- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, +- (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 +- }; +- +- // S7 Clear Session Password +- private static final byte S7_CLR_PWD[] = { +- (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, +- (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, +- (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x29, +- (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, +- (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, +- (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x02, +- (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, +- (byte)0x00 +- }; +- +- public S7Client() +- { +- // Placeholder for future implementations +- } +- +- public static String ErrorText(int Error) +- { +- switch (Error) +- { +- case errTCPConnectionFailed : +- return "TCP Connection failed."; +- case errTCPDataSend : +- return "TCP Sending error."; +- case errTCPDataRecv : +- return "TCP Receiving error."; +- case errTCPDataRecvTout : +- return "Data Receiving timeout."; +- case errTCPConnectionReset : +- return "Connection reset by the peer."; +- case errISOInvalidPDU : +- return "Invalid ISO PDU received."; +- case errISOConnectionFailed : +- return "ISO connection refused by the CPU."; +- case errISONegotiatingPDU : +- return "ISO error negotiating the PDU length."; +- case errS7InvalidPDU : +- return "Invalid S7 PDU received."; +- case errS7DataRead : +- return "S7 Error reading data from the CPU."; +- case errS7DataWrite : +- return "S7 Error writing data to the CPU."; +- case errS7BufferTooSmall : +- return "The Buffer supplied to the function is too small."; +- case errS7FunctionError : +- return "S7 function refused by the CPU."; +- case errS7InvalidParams : +- return "Invalid parameters supplied to the function."; +- default : +- return "Unknown error : 0x"+Integer.toHexString(Error); +- } +- } +- +- private int TCPConnect() +- { +- SocketAddress sockaddr = new InetSocketAddress(IPAddress, ISOTCP); +- LastError=0; +- try { +- TCPSocket = new Socket(); +- TCPSocket.connect(sockaddr ,5000); +- TCPSocket.setTcpNoDelay(true); +- InStream = new DataInputStream(TCPSocket.getInputStream()); +- OutStream = new DataOutputStream(TCPSocket.getOutputStream()); +- } +- catch (IOException e) { +- LastError=errTCPConnectionFailed; +- } +- return LastError; +- } +- +- private int WaitForData(int Size, int Timeout) +- { +- int cnt = 0; +- LastError=0; +- int SizeAvail; +- boolean Expired = false; +- try +- { +- SizeAvail=InStream.available(); +- while ((SizeAvailTimeout; +- // If timeout we clean the buffer +- if (Expired && (SizeAvail>0) && (LastError==0)) +- InStream.read(PDU, 0, SizeAvail); +- } +- } +- catch (IOException ex) +- { +- LastError=errTCPDataRecvTout; +- } +- if (cnt>=Timeout) +- { +- LastError=errTCPDataRecvTout; +- } +- return LastError; +- } +- +- private int RecvPacket(byte[] Buffer, int Start, int Size) +- { +- int BytesRead=0; +- LastError=WaitForData(Size,RecvTimeout); +- if (LastError==0) +- { +- try { +- BytesRead = InStream.read(Buffer, Start, Size); +- } catch (IOException ex) { +- LastError=errTCPDataRecv; +- } +- if (BytesRead==0) +- LastError=errTCPConnectionReset; +- } +- return LastError; +- } +- +- private void SendPacket(byte[] Buffer, int Len) +- { +- LastError = 0; +- try { +- OutStream.write(Buffer,0,Len); +- OutStream.flush(); +- } catch (IOException ex) { +- LastError = errTCPDataSend; +- } +- } +- private void SendPacket(byte[] Buffer) +- { +- SendPacket(Buffer,Buffer.length); +- } +- +- private int RecvIsoPacket() +- { +- Boolean Done = false; +- int Size = 0; +- while ((LastError==0) && !Done) +- { +- // Get TPKT (4 bytes) +- RecvPacket(PDU, 0, 4); +- if (LastError==0) +- { +- Size=S7.GetWordAt(PDU,2); +- // Check 0 bytes Data Packet (only TPKT+COTP = 7 bytes) +- if (Size==IsoHSize) +- RecvPacket(PDU,4, 3); // Skip remaining 3 bytes and Done is still false +- else +- { +- if ((Size>MaxPduSize) || (Size16 && <247 +- } +- } +- } +- if (LastError==0) +- { +- RecvPacket(PDU,4, 3); // Skip remaining 3 COTP bytes +- LastPDUType=PDU[5]; // Stores PDU Type, we need it +- // Receives the S7 Payload +- RecvPacket(PDU, 7, Size-IsoHSize); +- } +- if (LastError==0) +- return Size; +- else +- return 0; +- } +- +- private int ISOConnect() +- { +- int Size; +- ISO_CR[16]=LocalTSAP_HI; +- ISO_CR[17]=LocalTSAP_LO; +- ISO_CR[20]=RemoteTSAP_HI; +- ISO_CR[21]=RemoteTSAP_LO; +- +- // Sends the connection request telegram +- SendPacket(ISO_CR); +- if (LastError==0) +- { +- // Gets the reply (if any) +- Size=RecvIsoPacket(); +- if (LastError==0) +- { +- if (Size==22) +- { +- if (LastPDUType!=(byte)0xD0) // 0xD0 = CC Connection confirm +- LastError=errISOConnectionFailed; +- } +- else +- LastError=errISOInvalidPDU; +- } +- } +- return LastError; +- } +- +- private int NegotiatePduLength() +- { +- int Length; +- // Set PDU Size Requested +- S7.SetWordAt(S7_PN,23,DefaultPduSizeRequested); +- // Sends the connection request telegram +- SendPacket(S7_PN); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (LastError==0) +- { +- // check S7 Error +- if ((Length==27) && (PDU[17]==0) && (PDU[18]==0)) // 20 = size of Negotiate Answer +- { +- // Get PDU Size Negotiated +- _PDULength = S7.GetWordAt(PDU,25); +- if (_PDULength>0) +- return 0; +- else +- LastError=errISONegotiatingPDU; +- } +- else +- LastError=errISONegotiatingPDU; +- } +- } +- return LastError; +- } +- +- public void SetConnectionType(short ConnectionType) +- { +- ConnType=ConnectionType; +- } +- +- public int Connect() +- { +- LastError=0; +- if (!Connected) +- { +- TCPConnect(); +- if (LastError==0) // First stage : TCP Connection +- { +- ISOConnect(); +- if (LastError==0) // Second stage : ISOTCP (ISO 8073) Connection +- { +- LastError=NegotiatePduLength(); // Third stage : S7 PDU negotiation +- } +- } +- } +- Connected=LastError==0; +- +- // In case the connection is not completely established (TCP connection + ISO connection + PDU negotiation) +- // we close the socket and its IO streams to revert the object back to pre-Connect() state +- if (!Connected) +- { +- if (TCPSocket != null) { +- try { +- TCPSocket.close(); +- } catch (IOException ex) { +- } +- } +- if (InStream != null) { +- try { +- InStream.close(); +- } catch (IOException ex) { +- } +- } +- if (OutStream != null) { +- try { +- OutStream.close(); +- } catch (IOException ex) { +- } +- } +- _PDULength = 0; +- } +- +- return LastError; +- } +- +- public void Disconnect() +- { +- if (Connected) +- { +- try { +- OutStream.close(); +- InStream.close(); +- TCPSocket.close(); +- _PDULength=0; +- } catch (IOException ex) { +- } +- Connected=false; +- } +- } +- +- public int ConnectTo(String Address, int Rack, int Slot) +- { +- int RemoteTSAP=(ConnType<<8)+ (Rack * 0x20) + Slot; +- SetConnectionParams(Address, 0x0100, RemoteTSAP); +- return Connect(); +- } +- +- public int PDULength() +- { +- return _PDULength; +- } +- +- public void SetConnectionParams(String Address, int LocalTSAP, int RemoteTSAP) +- { +- int LocTSAP = LocalTSAP & 0x0000FFFF; +- int RemTSAP = RemoteTSAP & 0x0000FFFF; +- IPAddress = Address; +- LocalTSAP_HI = (byte) (LocTSAP>>8); +- LocalTSAP_LO = (byte) (LocTSAP & 0x00FF); +- RemoteTSAP_HI= (byte) (RemTSAP>>8); +- RemoteTSAP_LO= (byte) (RemTSAP & 0x00FF); +- } +- +- public int ReadArea(int Area, int DBNumber, int Start, int Amount, byte[] Data) +- { +- int Address; +- int NumElements; +- int MaxElements; +- int TotElements; +- int SizeRequested; +- int Length; +- int Offset = 0; +- int WordSize = 1; +- +- LastError=0; +- +- // If we are addressing Timers or counters the element size is 2 +- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) +- WordSize = 2; +- +- MaxElements=(_PDULength-18) / WordSize; // 18 = Reply telegram header +- TotElements=Amount; +- +- while ((TotElements>0) && (LastError==0)) +- { +- NumElements=TotElements; +- if (NumElements>MaxElements) +- NumElements=MaxElements; +- +- SizeRequested = NumElements * WordSize; +- +- // Setup the telegram +- System.arraycopy(S7_RW, 0, PDU, 0, Size_RD); +- // Set DB Number +- PDU[27] = (byte) Area; +- // Set Area +- if (Area==S7.S7AreaDB) +- S7.SetWordAt(PDU,25,DBNumber); +- +- // Adjusts Start and word length +- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) +- { +- Address = Start; +- if (Area==S7.S7AreaCT) +- PDU[22]=S7WLCounter; +- else +- PDU[22]=S7WLTimer; +- } +- else +- Address = Start<<3; +- +- // Num elements +- S7.SetWordAt(PDU,23,NumElements); +- +- // Address into the PLC (only 3 bytes) +- PDU[30] = (byte) (Address & 0x0FF); +- Address = Address >> 8; +- PDU[29] = (byte) (Address & 0x0FF); +- Address = Address >> 8; +- PDU[28] = (byte) (Address & 0x0FF); +- +- SendPacket(PDU, Size_RD); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (LastError==0) +- { +- if (Length>=25) +- { +- if ((Length-25==SizeRequested) && (PDU[21]==(byte)0xFF)) +- { +- System.arraycopy(PDU, 25, Data, Offset, SizeRequested); +- Offset+=SizeRequested; +- } +- else +- LastError = errS7DataRead; +- } +- else +- LastError = errS7InvalidPDU; +- } +- } +- +- TotElements -= NumElements; +- Start += NumElements*WordSize; +- } +- return LastError; +- } +- +- public int WriteArea(int Area, int DBNumber, int Start, int Amount, byte[] Data) +- { +- int Address; +- int NumElements; +- int MaxElements; +- int TotElements; +- int DataSize; +- int IsoSize; +- int Length; +- int Offset = 0; +- int WordSize = 1; +- +- LastError=0; +- +- // If we are addressing Timers or counters the element size is 2 +- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) +- WordSize = 2; +- +- MaxElements=(_PDULength-35) / WordSize; // 18 = Reply telegram header +- TotElements=Amount; +- +- while ((TotElements>0) && (LastError==0)) +- { +- NumElements=TotElements; +- if (NumElements>MaxElements) +- NumElements=MaxElements; +- +- DataSize = NumElements * WordSize; +- IsoSize = Size_WR + DataSize; +- +- // Setup the telegram +- System.arraycopy(S7_RW, 0, PDU, 0, Size_WR); +- // Whole telegram Size +- S7.SetWordAt(PDU,2,IsoSize); +- // Data Length +- Length=DataSize+4; +- S7.SetWordAt(PDU,15,Length); +- // Function +- PDU[17]= (byte) 0x05; +- // Set DB Number +- PDU[27] = (byte) Area; +- if (Area==S7.S7AreaDB) +- S7.SetWordAt(PDU,25,DBNumber); +- +- // Adjusts Start and word length +- if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) +- { +- Address = Start; +- Length = DataSize; +- if (Area==S7.S7AreaCT) +- PDU[22]=S7WLCounter; +- else +- PDU[22]=S7WLTimer; +- } +- else +- { +- Address = Start<<3; +- Length = DataSize<<3; +- } +- // Num elements +- S7.SetWordAt(PDU,23,NumElements); +- // Address into the PLC +- PDU[30] = (byte) (Address & 0x0FF); +- Address = Address >> 8; +- PDU[29] = (byte) (Address & 0x0FF); +- Address = Address >> 8; +- PDU[28] = (byte) (Address & 0x0FF); +- // Length +- S7.SetWordAt(PDU,33,Length); +- +- // Copies the Data +- System.arraycopy(Data, Offset, PDU, 35, DataSize); +- +- SendPacket(PDU, IsoSize); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (LastError==0) +- { +- if (Length==22) +- { +- if ((S7.GetWordAt(PDU,17)!=0) || (PDU[21]!=(byte)0xFF)) +- LastError = errS7DataWrite; +- } +- else +- LastError = errS7InvalidPDU; +- } +- } +- +- Offset+=DataSize; +- TotElements -= NumElements; +- Start += NumElements*WordSize; +- } +- return LastError; +- } +- +- public int GetAgBlockInfo(int BlockType, int BlockNumber, S7BlockInfo Block) +- { +- int Length; +- LastError=0; +- // Block Type +- S7_BI[30] = (byte) BlockType; +- // Block Number +- S7_BI[31]=(byte) ((BlockNumber / 10000)+0x30); +- BlockNumber=BlockNumber % 10000; +- S7_BI[32]=(byte) ((BlockNumber / 1000)+0x30); +- BlockNumber=BlockNumber % 1000; +- S7_BI[33]=(byte) ((BlockNumber / 100)+0x30); +- BlockNumber=BlockNumber % 100; +- S7_BI[34]=(byte) ((BlockNumber / 10)+0x30); +- BlockNumber=BlockNumber % 10; +- S7_BI[35]=(byte) ((BlockNumber / 1)+0x30); +- +- SendPacket(S7_BI); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 32) // the minimum expected +- { +- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) +- { +- Block.Update(PDU, 42); +- } +- else +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- +- return LastError; +- } +- /** +- * +- * @param DBNumber DB Number +- * @param Buffer Destination buffer +- * @param SizeRead How many bytes were read +- * @return +- */ +- public int DBGet(int DBNumber, byte[] Buffer, IntByRef SizeRead) +- { +- S7BlockInfo Block = new S7BlockInfo(); +- // Query the DB Length +- LastError = GetAgBlockInfo(S7.Block_DB, DBNumber, Block); +- if (LastError==0) +- { +- int SizeToRead = Block.MC7Size(); +- // Checks the room +- if (SizeToRead<=Buffer.length) +- { +- LastError=ReadArea(S7.S7AreaDB, DBNumber, 0, SizeToRead, Buffer); +- if (LastError==0) +- SizeRead.Value=SizeToRead; +- } +- else +- LastError=errS7BufferTooSmall; +- } +- return LastError; +- } +- +- public int ReadSZL(int ID, int Index, S7Szl SZL) +- { +- int Length; +- int DataSZL; +- int Offset = 0; +- boolean Done = false; +- boolean First = true; +- byte Seq_in =0x00; +- int Seq_out =0x0000; +- +- LastError=0; +- SZL.DataSize=0; +- do +- { +- if (First) +- { +- S7.SetWordAt(S7_SZL_FIRST, 11, ++Seq_out); +- S7.SetWordAt(S7_SZL_FIRST, 29, ID); +- S7.SetWordAt(S7_SZL_FIRST, 31, Index); +- SendPacket(S7_SZL_FIRST); +- } +- else +- { +- S7.SetWordAt(S7_SZL_NEXT, 11, ++Seq_out); +- PDU[24] = (byte)Seq_in; +- SendPacket(S7_SZL_NEXT); +- } +- if (LastError!=0) +- return LastError; +- +- Length=RecvIsoPacket(); +- if (LastError==0) +- { +- if (First) +- { +- if (Length > 32) // the minimum expected +- { +- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) +- { +- // Gets Amount of this slice +- DataSZL=S7.GetWordAt(PDU,31)-8; // Skips extra params (ID, Index ...) +- Done=PDU[26]==0x00; +- Seq_in=(byte)PDU[24]; // Slice sequence +- +- SZL.LENTHDR=S7.GetWordAt(PDU, 37); +- SZL.N_DR=S7.GetWordAt(PDU, 39); +- SZL.Copy(PDU, 41, Offset, DataSZL); +- Offset+=DataSZL; +- SZL.DataSize+=DataSZL; +- } +- else +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- else +- { +- if (Length > 32) // the minimum expected +- { +- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) +- { +- // Gets Amount of this slice +- DataSZL=S7.GetWordAt(PDU,31); +- Done=PDU[26]==0x00; +- Seq_in=(byte)PDU[24]; // Slice sequence +- SZL.Copy(PDU, 37, Offset, DataSZL); +- Offset+=DataSZL; +- SZL.DataSize+=DataSZL; +- } +- else +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- } +- First=false; +- } +- while(!Done && (LastError==0)); +- +- return LastError; +- } +- +- +- public int GetCpuInfo(S7CpuInfo Info) +- { +- S7Szl SZL = new S7Szl(1024); +- +- LastError = ReadSZL(0x001C, 0x0000, SZL); +- if (LastError==0) +- { +- Info.Update(SZL.Data, 0); +- } +- return LastError; +- } +- +- public int GetCpInfo(S7CpInfo Info) +- { +- S7Szl SZL = new S7Szl(1024); +- +- LastError = ReadSZL(0x0131, 0x0001, SZL); +- if (LastError==0) +- { +- Info.Update(SZL.Data, 0); +- } +- return LastError; +- } +- +- public int GetOrderCode(S7OrderCode Code) +- { +- S7Szl SZL = new S7Szl(1024); +- +- LastError = ReadSZL(0x0011, 0x0000, SZL); +- if (LastError==0) +- { +- Code.Update(SZL.Data, 0, SZL.DataSize); +- } +- return LastError; +- } +- +- public int GetPlcDateTime(Date DateTime) +- { +- int Length; +- +- LastError = 0; +- SendPacket(S7_GET_DT); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 30) // the minimum expected +- { +- if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) +- { +- DateTime=S7.GetDateAt(PDU, 34); +- } +- else +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- +- return LastError; +- } +- +- public int SetPlcDateTime(Date DateTime) +- { +- int Length; +- +- LastError = 0; +- S7.SetDateAt(S7_SET_DT, 31, DateTime); +- +- SendPacket(S7_SET_DT); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 30) // the minimum expected +- { +- if (S7.GetWordAt(PDU,27)!=0) +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- +- return LastError; +- } +- +- public int SetPlcSystemDateTime() +- { +- return SetPlcDateTime(new Date()); +- } +- +- public int PlcStop() +- { +- int Length; +- +- LastError = 0; +- SendPacket(S7_STOP); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 18) // 18 is the minimum expected +- { +- if (S7.GetWordAt(PDU,17)!=0) +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- return LastError; +- } +- +- public int PlcHotStart() +- { +- int Length; +- +- LastError = 0; +- SendPacket(S7_HOT_START); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 18) // the minimum expected +- { +- if (S7.GetWordAt(PDU,17)!=0) +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- return LastError; +- } +- +- public int PlcColdStart() +- { +- int Length; +- +- LastError = 0; +- SendPacket(S7_COLD_START); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 18) // the minimum expected +- { +- if (S7.GetWordAt(PDU,17)!=0) +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- return LastError; +- } +- +- public int GetPlcStatus(IntByRef Status) +- { +- int Length; +- +- LastError = 0; +- SendPacket(S7_GET_STAT); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 30) // the minimum expected +- { +- if (S7.GetWordAt(PDU,27)==0) +- { +- switch (PDU[44]) +- { +- case S7.S7CpuStatusUnknown : +- case S7.S7CpuStatusRun : +- case S7.S7CpuStatusStop : Status.Value=PDU[44]; +- break; +- default : +- // Since RUN status is always 0x08 for all CPUs and CPs, STOP status +- // sometime can be coded as 0x03 (especially for old cpu...) +- Status.Value=S7.S7CpuStatusStop; +- } +- } +- else +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- return LastError; +- } +- +- public int SetSessionPassword(String Password) +- { +- byte[] pwd = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; +- int Length; +- +- LastError = 0; +- // Adjusts the Password length to 8 +- if (Password.length()>8) +- Password=Password.substring(0, 8); +- else +- { +- while (Password.length()<8) +- Password=Password+" "; +- } +- +- try { +- pwd = Password.getBytes("UTF-8"); +- } catch (UnsupportedEncodingException ex) { +- LastError = errS7InvalidParams; +- } +- if (LastError==0) +- { +- // Encodes the password +- pwd[0]=(byte) (pwd[0] ^ 0x55); +- pwd[1]=(byte) (pwd[1] ^ 0x55); +- for (int c = 2; c < 8; c++) +- { +- pwd[c]=(byte) (pwd[c] ^ 0x55 ^ pwd[c-2]); +- } +- System.arraycopy(pwd, 0, S7_SET_PWD, 29, 8); +- // Sends the telegrem +- SendPacket(S7_SET_PWD); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 32) // the minimum expected +- { +- if (S7.GetWordAt(PDU,27)!=0) +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- } +- return LastError; +- } +- +- public int ClearSessionPassword() +- { +- int Length; +- +- LastError = 0; +- SendPacket(S7_CLR_PWD); +- if (LastError==0) +- { +- Length=RecvIsoPacket(); +- if (Length > 30) // the minimum expected +- { +- if (S7.GetWordAt(PDU,27)!=0) +- LastError = errS7FunctionError; +- } +- else +- LastError = errS7InvalidPDU; +- } +- return LastError; +- } +- +- public int GetProtection(S7Protection Protection) +- { +- S7Szl SZL = new S7Szl(256); +- +- LastError = ReadSZL(0x0232, 0x0004, SZL); +- if (LastError==0) +- { +- Protection.Update(SZL.Data); +- } +- return LastError; +- } +- +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++import java.io.DataInputStream; ++import java.io.DataOutputStream; ++import java.io.IOException; ++import java.io.UnsupportedEncodingException; ++import java.net.InetSocketAddress; ++import java.net.Socket; ++import java.net.SocketAddress; ++import java.util.Date; ++ ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++public class S7Client ++{ ++ // WordLength ++ public static final int S7WLBit = 0x01; ++ public static final int S7WLByte = 0x02; ++ public static final int S7WLCounter = 0x1C; ++ public static final int S7WLTimer = 0x1D; ++ ++ // Error Codes ++ public static final int errTCPConnectionFailed = 0x0001; ++ public static final int errTCPDataSend = 0x0002; ++ public static final int errTCPDataRecv = 0x0003; ++ public static final int errTCPDataRecvTout = 0x0004; ++ public static final int errTCPConnectionReset = 0x0005; ++ public static final int errISOInvalidPDU = 0x0006; ++ public static final int errISOConnectionFailed = 0x0007; ++ public static final int errISONegotiatingPDU = 0x0008; ++ public static final int errS7InvalidPDU = 0x0009; ++ public static final int errS7DataRead = 0x000A; ++ public static final int errS7DataWrite = 0x000B; ++ public static final int errS7BufferTooSmall = 0x000C; ++ public static final int errS7FunctionError = 0x000D; ++ public static final int errS7InvalidParams = 0x000E; ++ ++ // Public fields ++ public boolean Connected = false; ++ public int LastError = 0; ++ public int RecvTimeout = 2000; ++ ++ // Privates ++ private static final int ISOTCP = 102; // ISOTCP Port ++ private static final int MinPduSize = 16; ++ private static final int DefaultPduSizeRequested = 480; ++ private static final int IsoHSize = 7; // TPKT+COTP Header Size ++ private static final int MaxPduSize = DefaultPduSizeRequested+IsoHSize; ++ ++ private Socket TCPSocket; ++ private final byte[] PDU = new byte[2048]; ++ ++ private DataInputStream InStream = null; ++ private DataOutputStream OutStream = null; ++ ++ private String IPAddress; ++ ++ private byte LocalTSAP_HI; ++ private byte LocalTSAP_LO; ++ private byte RemoteTSAP_HI; ++ private byte RemoteTSAP_LO; ++ private byte LastPDUType; ++ ++ private short ConnType = S7.PG; ++ private int _PDULength = 0; ++ ++ // Telegrams ++ // ISO Connection Request telegram (contains also ISO Header and COTP Header) ++ private static final byte ISO_CR[] = { ++ // TPKT (RFC1006 Header) ++ (byte)0x03, // RFC 1006 ID (3) ++ (byte)0x00, // Reserved, always 0 ++ (byte)0x00, // High part of packet lenght (entire frame, payload and TPDU included) ++ (byte)0x16, // Low part of packet lenght (entire frame, payload and TPDU included) ++ // COTP (ISO 8073 Header) ++ (byte)0x11, // PDU Size Length ++ (byte)0xE0, // CR - Connection Request ID ++ (byte)0x00, // Dst Reference HI ++ (byte)0x00, // Dst Reference LO ++ (byte)0x00, // Src Reference HI ++ (byte)0x01, // Src Reference LO ++ (byte)0x00, // Class + Options Flags ++ (byte)0xC0, // PDU Max Length ID ++ (byte)0x01, // PDU Max Length HI ++ (byte)0x0A, // PDU Max Length LO ++ (byte)0xC1, // Src TSAP Identifier ++ (byte)0x02, // Src TSAP Length (2 bytes) ++ (byte)0x01, // Src TSAP HI (will be overwritten) ++ (byte)0x00, // Src TSAP LO (will be overwritten) ++ (byte)0xC2, // Dst TSAP Identifier ++ (byte)0x02, // Dst TSAP Length (2 bytes) ++ (byte)0x01, // Dst TSAP HI (will be overwritten) ++ (byte)0x02 // Dst TSAP LO (will be overwritten) ++ }; ++ ++ // S7 PDU Negotiation Telegram (contains also ISO Header and COTP Header) ++ private static final byte S7_PN[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x19, ++ (byte)0x02, (byte)0xf0, (byte)0x80, // TPKT + COTP (see above for info) ++ (byte)0x32, (byte)0x01, (byte)0x00, (byte)0x00, ++ (byte)0x04, (byte)0x00, (byte)0x00, (byte)0x08, ++ (byte)0x00, (byte)0x00, (byte)0xf0, (byte)0x00, ++ (byte)0x00, (byte)0x01, (byte)0x00, (byte)0x01, ++ (byte)0x00, (byte)0x1e // PDU Length Requested = HI-LO 480 bytes ++ }; ++ ++ // S7 Read/Write Request Header (contains also ISO Header and COTP Header) ++ private static final byte S7_RW[] = { // 31-35 bytes ++ (byte)0x03,(byte)0x00, ++ (byte)0x00,(byte)0x1f, // Telegram Length (Data Size + 31 or 35) ++ (byte)0x02,(byte)0xf0, (byte)0x80, // COTP (see above for info) ++ (byte)0x32, // S7 Protocol ID ++ (byte)0x01, // Job Type ++ (byte)0x00,(byte)0x00, // Redundancy identification ++ (byte)0x05,(byte)0x00, // PDU Reference ++ (byte)0x00,(byte)0x0e, // Parameters Length ++ (byte)0x00,(byte)0x00, // Data Length = Size(bytes) + 4 ++ (byte)0x04, // Function 4 Read Var, 5 Write Var ++ (byte)0x01, // Items count ++ (byte)0x12, // Var spec. ++ (byte)0x0a, // Length of remaining bytes ++ (byte)0x10, // Syntax ID ++ S7WLByte, // Transport Size ++ (byte)0x00,(byte)0x00, // Num Elements ++ (byte)0x00,(byte)0x00, // DB Number (if any, else 0) ++ (byte)0x84, // Area Type ++ (byte)0x00,(byte)0x00,(byte)0x00, // Area Offset ++ // WR area ++ (byte)0x00, // Reserved ++ (byte)0x04, // Transport size ++ (byte)0x00,(byte)0x00, // Data Length * 8 (if not timer or counter) ++ }; ++ private static final int Size_RD = 31; ++ private static final int Size_WR = 35; ++ ++ // S7 Get Block Info Request Header (contains also ISO Header and COTP Header) ++ private static final byte S7_BI[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x05, ++ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x43, (byte)0x03, ++ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, ++ (byte)0x08, (byte)0x30, ++ (byte)0x41, // Block Type ++ (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, (byte)0x30, // ASCII Block Number ++ (byte)0x41 ++ }; ++ ++ // SZL First telegram request ++ private static final byte S7_SZL_FIRST[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, ++ (byte)0x05, (byte)0x00, // Sequence out ++ (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, ++ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, ++ (byte)0x04, ++ (byte)0x00, (byte)0x00, // ID (29) ++ (byte)0x00, (byte)0x00 // Index (31) ++ }; ++ ++ // SZL Next telegram request ++ private static final byte S7_SZL_NEXT[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x06, ++ (byte)0x00, (byte)0x00, (byte)0x0c, (byte)0x00, ++ (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x08, (byte)0x12, (byte)0x44, (byte)0x01, ++ (byte)0x01, // Sequence ++ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, ++ (byte)0x0a, (byte)0x00, (byte)0x00, (byte)0x00 ++ }; ++ ++ // Get Date/Time request ++ private static final byte S7_GET_DT[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x38, ++ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x01, ++ (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, ++ (byte)0x00 ++ }; ++ ++ // Set Date/Time command ++ private static final byte S7_SET_DT[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x89, ++ (byte)0x03, (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x0e, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x47, (byte)0x02, ++ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, ++ (byte)0x0a, (byte)0x00, (byte)0x19, // Hi part of Year ++ (byte)0x13, // Lo part of Year ++ (byte)0x12, // Month ++ (byte)0x06, // Day ++ (byte)0x17, // Hour ++ (byte)0x37, // Min ++ (byte)0x13, // Sec ++ (byte)0x00, (byte)0x01 // ms + Day of week ++ }; ++ ++ // S7 STOP request ++ private static final byte S7_STOP[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0e, ++ (byte)0x00, (byte)0x00, (byte)0x10, (byte)0x00, ++ (byte)0x00, (byte)0x29, (byte)0x00, (byte)0x00, ++ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x09, ++ (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, ++ (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, ++ (byte)0x4d ++ }; ++ ++ // S7 HOT Start request ++ private static final byte S7_HOT_START[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0c, ++ (byte)0x00, (byte)0x00, (byte)0x14, (byte)0x00, ++ (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, ++ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, ++ (byte)0xfd, (byte)0x00, (byte)0x00, (byte)0x09, ++ (byte)0x50, (byte)0x5f, (byte)0x50, (byte)0x52, ++ (byte)0x4f, (byte)0x47, (byte)0x52, (byte)0x41, ++ (byte)0x4d ++ }; ++ ++ // S7 COLD Start request ++ private static final byte S7_COLD_START[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x27, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x0f, ++ (byte)0x00, (byte)0x00, (byte)0x16, (byte)0x00, ++ (byte)0x00, (byte)0x28, (byte)0x00, (byte)0x00, ++ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, ++ (byte)0xfd, (byte)0x00, (byte)0x02, (byte)0x43, ++ (byte)0x20, (byte)0x09, (byte)0x50, (byte)0x5f, ++ (byte)0x50, (byte)0x52, (byte)0x4f, (byte)0x47, ++ (byte)0x52, (byte)0x41, (byte)0x4d ++ }; ++ ++ // S7 Get PLC Status ++ private static final byte S7_GET_STAT[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x21, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x2c, ++ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x08, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x44, (byte)0x01, ++ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, ++ (byte)0x04, (byte)0x04, (byte)0x24, (byte)0x00, ++ (byte)0x00 ++ }; ++ ++ // S7 Set Session Password ++ private static final byte S7_SET_PWD[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x25, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x27, ++ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x0c, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x01, ++ (byte)0x00, (byte)0xff, (byte)0x09, (byte)0x00, ++ (byte)0x08, ++ // 8 Char Encoded Password ++ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00, ++ (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00 ++ }; ++ ++ // S7 Clear Session Password ++ private static final byte S7_CLR_PWD[] = { ++ (byte)0x03, (byte)0x00, (byte)0x00, (byte)0x1d, ++ (byte)0x02, (byte)0xf0, (byte)0x80, (byte)0x32, ++ (byte)0x07, (byte)0x00, (byte)0x00, (byte)0x29, ++ (byte)0x00, (byte)0x00, (byte)0x08, (byte)0x00, ++ (byte)0x04, (byte)0x00, (byte)0x01, (byte)0x12, ++ (byte)0x04, (byte)0x11, (byte)0x45, (byte)0x02, ++ (byte)0x00, (byte)0x0a, (byte)0x00, (byte)0x00, ++ (byte)0x00 ++ }; ++ ++ public S7Client() ++ { ++ // Placeholder for future implementations ++ } ++ ++ public static String ErrorText(int Error) ++ { ++ switch (Error) ++ { ++ case errTCPConnectionFailed : ++ return "TCP Connection failed."; ++ case errTCPDataSend : ++ return "TCP Sending error."; ++ case errTCPDataRecv : ++ return "TCP Receiving error."; ++ case errTCPDataRecvTout : ++ return "Data Receiving timeout."; ++ case errTCPConnectionReset : ++ return "Connection reset by the peer."; ++ case errISOInvalidPDU : ++ return "Invalid ISO PDU received."; ++ case errISOConnectionFailed : ++ return "ISO connection refused by the CPU."; ++ case errISONegotiatingPDU : ++ return "ISO error negotiating the PDU length."; ++ case errS7InvalidPDU : ++ return "Invalid S7 PDU received."; ++ case errS7DataRead : ++ return "S7 Error reading data from the CPU."; ++ case errS7DataWrite : ++ return "S7 Error writing data to the CPU."; ++ case errS7BufferTooSmall : ++ return "The Buffer supplied to the function is too small."; ++ case errS7FunctionError : ++ return "S7 function refused by the CPU."; ++ case errS7InvalidParams : ++ return "Invalid parameters supplied to the function."; ++ default : ++ return "Unknown error : 0x"+Integer.toHexString(Error); ++ } ++ } ++ ++ private int TCPConnect() ++ { ++ SocketAddress sockaddr = new InetSocketAddress(IPAddress, ISOTCP); ++ LastError=0; ++ try { ++ TCPSocket = new Socket(); ++ TCPSocket.connect(sockaddr ,5000); ++ TCPSocket.setTcpNoDelay(true); ++ InStream = new DataInputStream(TCPSocket.getInputStream()); ++ OutStream = new DataOutputStream(TCPSocket.getOutputStream()); ++ } ++ catch (IOException e) { ++ LastError=errTCPConnectionFailed; ++ } ++ return LastError; ++ } ++ ++ private int WaitForData(int Size, int Timeout) ++ { ++ int cnt = 0; ++ LastError=0; ++ int SizeAvail; ++ boolean Expired = false; ++ try ++ { ++ SizeAvail=InStream.available(); ++ while ((SizeAvailTimeout; ++ // If timeout we clean the buffer ++ if (Expired && (SizeAvail>0) && (LastError==0)) ++ InStream.read(PDU, 0, SizeAvail); ++ } ++ } ++ catch (IOException ex) ++ { ++ LastError=errTCPDataRecvTout; ++ } ++ if (cnt>=Timeout) ++ { ++ LastError=errTCPDataRecvTout; ++ } ++ return LastError; ++ } ++ ++ private int RecvPacket(byte[] Buffer, int Start, int Size) ++ { ++ int BytesRead=0; ++ LastError=WaitForData(Size,RecvTimeout); ++ if (LastError==0) ++ { ++ try { ++ BytesRead = InStream.read(Buffer, Start, Size); ++ } catch (IOException ex) { ++ LastError=errTCPDataRecv; ++ } ++ if (BytesRead==0) ++ LastError=errTCPConnectionReset; ++ } ++ return LastError; ++ } ++ ++ private void SendPacket(byte[] Buffer, int Len) ++ { ++ LastError = 0; ++ try { ++ OutStream.write(Buffer,0,Len); ++ OutStream.flush(); ++ } catch (IOException ex) { ++ LastError = errTCPDataSend; ++ } ++ } ++ private void SendPacket(byte[] Buffer) ++ { ++ SendPacket(Buffer,Buffer.length); ++ } ++ ++ private int RecvIsoPacket() ++ { ++ Boolean Done = false; ++ int Size = 0; ++ while ((LastError==0) && !Done) ++ { ++ // Get TPKT (4 bytes) ++ RecvPacket(PDU, 0, 4); ++ if (LastError==0) ++ { ++ Size=S7.GetWordAt(PDU,2); ++ // Check 0 bytes Data Packet (only TPKT+COTP = 7 bytes) ++ if (Size==IsoHSize) ++ RecvPacket(PDU,4, 3); // Skip remaining 3 bytes and Done is still false ++ else ++ { ++ if ((Size>MaxPduSize) || (Size16 && <247 ++ } ++ } ++ } ++ if (LastError==0) ++ { ++ RecvPacket(PDU,4, 3); // Skip remaining 3 COTP bytes ++ LastPDUType=PDU[5]; // Stores PDU Type, we need it ++ // Receives the S7 Payload ++ RecvPacket(PDU, 7, Size-IsoHSize); ++ } ++ if (LastError==0) ++ return Size; ++ else ++ return 0; ++ } ++ ++ private int ISOConnect() ++ { ++ int Size; ++ ISO_CR[16]=LocalTSAP_HI; ++ ISO_CR[17]=LocalTSAP_LO; ++ ISO_CR[20]=RemoteTSAP_HI; ++ ISO_CR[21]=RemoteTSAP_LO; ++ ++ // Sends the connection request telegram ++ SendPacket(ISO_CR); ++ if (LastError==0) ++ { ++ // Gets the reply (if any) ++ Size=RecvIsoPacket(); ++ if (LastError==0) ++ { ++ if (Size==22) ++ { ++ if (LastPDUType!=(byte)0xD0) // 0xD0 = CC Connection confirm ++ LastError=errISOConnectionFailed; ++ } ++ else ++ LastError=errISOInvalidPDU; ++ } ++ } ++ return LastError; ++ } ++ ++ private int NegotiatePduLength() ++ { ++ int Length; ++ // Set PDU Size Requested ++ S7.SetWordAt(S7_PN,23,DefaultPduSizeRequested); ++ // Sends the connection request telegram ++ SendPacket(S7_PN); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (LastError==0) ++ { ++ // check S7 Error ++ if ((Length==27) && (PDU[17]==0) && (PDU[18]==0)) // 20 = size of Negotiate Answer ++ { ++ // Get PDU Size Negotiated ++ _PDULength = S7.GetWordAt(PDU,25); ++ if (_PDULength>0) ++ return 0; ++ else ++ LastError=errISONegotiatingPDU; ++ } ++ else ++ LastError=errISONegotiatingPDU; ++ } ++ } ++ return LastError; ++ } ++ ++ public void SetConnectionType(short ConnectionType) ++ { ++ ConnType=ConnectionType; ++ } ++ ++ public int Connect() ++ { ++ LastError=0; ++ if (!Connected) ++ { ++ TCPConnect(); ++ if (LastError==0) // First stage : TCP Connection ++ { ++ ISOConnect(); ++ if (LastError==0) // Second stage : ISOTCP (ISO 8073) Connection ++ { ++ LastError=NegotiatePduLength(); // Third stage : S7 PDU negotiation ++ } ++ } ++ } ++ Connected=LastError==0; ++ ++ // In case the connection is not completely established (TCP connection + ISO connection + PDU negotiation) ++ // we close the socket and its IO streams to revert the object back to pre-Connect() state ++ if (!Connected) ++ { ++ if (TCPSocket != null) { ++ try { ++ TCPSocket.close(); ++ } catch (IOException ex) { ++ } ++ } ++ if (InStream != null) { ++ try { ++ InStream.close(); ++ } catch (IOException ex) { ++ } ++ } ++ if (OutStream != null) { ++ try { ++ OutStream.close(); ++ } catch (IOException ex) { ++ } ++ } ++ _PDULength = 0; ++ } ++ ++ return LastError; ++ } ++ ++ public void Disconnect() ++ { ++ if (Connected) ++ { ++ try { ++ OutStream.close(); ++ InStream.close(); ++ TCPSocket.close(); ++ _PDULength=0; ++ } catch (IOException ex) { ++ } ++ Connected=false; ++ } ++ } ++ ++ public int ConnectTo(String Address, int Rack, int Slot) ++ { ++ int RemoteTSAP=(ConnType<<8)+ (Rack * 0x20) + Slot; ++ SetConnectionParams(Address, 0x0100, RemoteTSAP); ++ return Connect(); ++ } ++ ++ public int PDULength() ++ { ++ return _PDULength; ++ } ++ ++ public void SetConnectionParams(String Address, int LocalTSAP, int RemoteTSAP) ++ { ++ int LocTSAP = LocalTSAP & 0x0000FFFF; ++ int RemTSAP = RemoteTSAP & 0x0000FFFF; ++ IPAddress = Address; ++ LocalTSAP_HI = (byte) (LocTSAP>>8); ++ LocalTSAP_LO = (byte) (LocTSAP & 0x00FF); ++ RemoteTSAP_HI= (byte) (RemTSAP>>8); ++ RemoteTSAP_LO= (byte) (RemTSAP & 0x00FF); ++ } ++ ++ public int ReadArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) ++ { ++ int Address; ++ int NumElements; ++ int MaxElements; ++ int TotElements; ++ int SizeRequested; ++ int Length; ++ int Offset = 0; ++ byte WordSize = 1; ++ ++ LastError=0; ++ ++ // If we are addressing Timers or counters the element size is 2 ++ if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) ++ WordSize = 2; ++ ++ MaxElements=(_PDULength-18) / WordSize; // 18 = Reply telegram header ++ TotElements=Amount; ++ ++ while ((TotElements>0) && (LastError==0)) ++ { ++ NumElements=TotElements; ++ if (NumElements>MaxElements) ++ NumElements=MaxElements; ++ ++ SizeRequested = NumElements * WordSize; ++ ++ // Setup the telegram ++ System.arraycopy(S7_RW, 0, PDU, 0, Size_RD); ++ // Set DB Number ++ PDU[27] = (byte) Area; ++ // Set Area ++ if (Area==S7.S7AreaDB) ++ S7.SetWordAt(PDU,25,DBNumber); ++ ++ PDU[22] = (byte) WordLength; ++ // Adjusts Start and word length ++ if ((WordLength==S7WLBit) || (WordLength==S7WLTimer) || (WordLength==S7WLCounter)) ++ { ++ Address = Start; ++ } ++ else ++ { ++ Address = Start<<3; ++ } ++ ++ // Num elements ++ S7.SetWordAt(PDU,23,NumElements); ++ ++ // Address into the PLC (only 3 bytes) ++ PDU[30] = (byte) (Address & 0x0FF); ++ Address = Address >> 8; ++ PDU[29] = (byte) (Address & 0x0FF); ++ Address = Address >> 8; ++ PDU[28] = (byte) (Address & 0x0FF); ++ ++ // Transport Size ++ PDU[32] = 0x04; ++ if (WordLength==S7WLBit) ++ { ++ PDU[32] = 0x03; ++ } ++ else if ((WordLength==S7WLTimer) || (WordLength==S7WLCounter)) ++ { ++ PDU[32] = 0x09; ++ } ++ ++ SendPacket(PDU, Size_RD); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (LastError==0) ++ { ++ if (Length>=25) ++ { ++ if ((Length-25==SizeRequested) && (PDU[21]==(byte)0xFF)) ++ { ++ System.arraycopy(PDU, 25, Data, Offset, SizeRequested); ++ Offset+=SizeRequested; ++ } ++ else ++ LastError = errS7DataRead; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ } ++ ++ TotElements -= NumElements; ++ Start += NumElements*WordSize; ++ } ++ return LastError; ++ } ++ ++ public int WriteArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) ++ { ++ int Address; ++ int NumElements; ++ int MaxElements; ++ int TotElements; ++ int DataSize; ++ int IsoSize; ++ int Length; ++ int Offset = 0; ++ byte WordSize = 1; ++ ++ LastError=0; ++ ++ // If we are addressing Timers or counters the element size is 2 ++ if ((Area==S7.S7AreaCT) || (Area==S7.S7AreaTM)) ++ WordSize = 2; ++ ++ MaxElements=(_PDULength-35) / WordSize; // 35 = Reply telegram header ++ TotElements=Amount; ++ ++ while ((TotElements>0) && (LastError==0)) ++ { ++ NumElements=TotElements; ++ if (NumElements>MaxElements) ++ NumElements=MaxElements; ++ ++ DataSize = NumElements * WordSize; ++ IsoSize = Size_WR + DataSize; ++ ++ // Setup the telegram ++ System.arraycopy(S7_RW, 0, PDU, 0, Size_WR); ++ // Whole telegram Size ++ S7.SetWordAt(PDU,2,IsoSize); ++ // Data Length ++ Length=DataSize+4; ++ S7.SetWordAt(PDU,15,Length); ++ // Function ++ PDU[17]= (byte) 0x05; ++ // Set DB Number ++ PDU[27] = (byte) Area; ++ if (Area==S7.S7AreaDB) ++ S7.SetWordAt(PDU,25,DBNumber); ++ ++ PDU[22] = (byte) WordLength; ++ // Adjusts Start and word length ++ if ((WordLength==S7WLBit) || (WordLength==S7WLTimer) || (WordLength==S7WLCounter)) ++ { ++ Address = Start; ++ Length = DataSize; ++ } ++ else ++ { ++ Address = Start<<3; ++ Length = DataSize<<3; ++ } ++ ++ // Num elements ++ S7.SetWordAt(PDU,23,NumElements); ++ // Address into the PLC ++ PDU[30] = (byte) (Address & 0x0FF); ++ Address = Address >> 8; ++ PDU[29] = (byte) (Address & 0x0FF); ++ Address = Address >> 8; ++ PDU[28] = (byte) (Address & 0x0FF); ++ ++ // Transport Size ++ PDU[32] = 0x04; ++ if (WordLength==S7WLBit) ++ { ++ PDU[32] = 0x03; ++ } ++ else if ((WordLength==S7WLTimer) || (WordLength==S7WLCounter)) ++ { ++ PDU[32] = 0x09; ++ } ++ ++ // Length ++ S7.SetWordAt(PDU,33,Length); ++ ++ // Copies the Data ++ System.arraycopy(Data, Offset, PDU, 35, DataSize); ++ ++ SendPacket(PDU, IsoSize); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (LastError==0) ++ { ++ if (Length==22) ++ { ++ if ((S7.GetWordAt(PDU,17)!=0) || (PDU[21]!=(byte)0xFF)) ++ LastError = errS7DataWrite; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ } ++ ++ Offset+=DataSize; ++ TotElements -= NumElements; ++ Start += NumElements*WordSize; ++ } ++ return LastError; ++ } ++ ++ public int GetAgBlockInfo(int BlockType, int BlockNumber, S7BlockInfo Block) ++ { ++ int Length; ++ LastError=0; ++ // Block Type ++ S7_BI[30] = (byte) BlockType; ++ // Block Number ++ S7_BI[31]=(byte) ((BlockNumber / 10000)+0x30); ++ BlockNumber=BlockNumber % 10000; ++ S7_BI[32]=(byte) ((BlockNumber / 1000)+0x30); ++ BlockNumber=BlockNumber % 1000; ++ S7_BI[33]=(byte) ((BlockNumber / 100)+0x30); ++ BlockNumber=BlockNumber % 100; ++ S7_BI[34]=(byte) ((BlockNumber / 10)+0x30); ++ BlockNumber=BlockNumber % 10; ++ S7_BI[35]=(byte) ((BlockNumber / 1)+0x30); ++ ++ SendPacket(S7_BI); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 32) // the minimum expected ++ { ++ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) ++ { ++ Block.Update(PDU, 42); ++ } ++ else ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ ++ return LastError; ++ } ++ /** ++ * ++ * @param DBNumber DB Number ++ * @param Buffer Destination buffer ++ * @param SizeRead How many bytes were read ++ * @return ++ */ ++ public int DBGet(int DBNumber, byte[] Buffer, IntByRef SizeRead) ++ { ++ S7BlockInfo Block = new S7BlockInfo(); ++ // Query the DB Length ++ LastError = GetAgBlockInfo(S7.Block_DB, DBNumber, Block); ++ if (LastError==0) ++ { ++ int SizeToRead = Block.MC7Size(); ++ // Checks the room ++ if (SizeToRead<=Buffer.length) ++ { ++ LastError=ReadArea(S7.S7AreaDB, DBNumber, 0, SizeToRead, S7WLByte, Buffer); ++ if (LastError==0) ++ SizeRead.Value=SizeToRead; ++ } ++ else ++ LastError=errS7BufferTooSmall; ++ } ++ return LastError; ++ } ++ ++ public int ReadSZL(int ID, int Index, S7Szl SZL) ++ { ++ int Length; ++ int DataSZL; ++ int Offset = 0; ++ boolean Done = false; ++ boolean First = true; ++ byte Seq_in =0x00; ++ int Seq_out =0x0000; ++ ++ LastError=0; ++ SZL.DataSize=0; ++ do ++ { ++ if (First) ++ { ++ S7.SetWordAt(S7_SZL_FIRST, 11, ++Seq_out); ++ S7.SetWordAt(S7_SZL_FIRST, 29, ID); ++ S7.SetWordAt(S7_SZL_FIRST, 31, Index); ++ SendPacket(S7_SZL_FIRST); ++ } ++ else ++ { ++ S7.SetWordAt(S7_SZL_NEXT, 11, ++Seq_out); ++ PDU[24] = (byte)Seq_in; ++ SendPacket(S7_SZL_NEXT); ++ } ++ if (LastError!=0) ++ return LastError; ++ ++ Length=RecvIsoPacket(); ++ if (LastError==0) ++ { ++ if (First) ++ { ++ if (Length > 32) // the minimum expected ++ { ++ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) ++ { ++ // Gets Amount of this slice ++ DataSZL=S7.GetWordAt(PDU,31)-8; // Skips extra params (ID, Index ...) ++ Done=PDU[26]==0x00; ++ Seq_in=(byte)PDU[24]; // Slice sequence ++ ++ SZL.LENTHDR=S7.GetWordAt(PDU, 37); ++ SZL.N_DR=S7.GetWordAt(PDU, 39); ++ SZL.Copy(PDU, 41, Offset, DataSZL); ++ Offset+=DataSZL; ++ SZL.DataSize+=DataSZL; ++ } ++ else ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ else ++ { ++ if (Length > 32) // the minimum expected ++ { ++ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) ++ { ++ // Gets Amount of this slice ++ DataSZL=S7.GetWordAt(PDU,31); ++ Done=PDU[26]==0x00; ++ Seq_in=(byte)PDU[24]; // Slice sequence ++ SZL.Copy(PDU, 37, Offset, DataSZL); ++ Offset+=DataSZL; ++ SZL.DataSize+=DataSZL; ++ } ++ else ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ } ++ First=false; ++ } ++ while(!Done && (LastError==0)); ++ ++ return LastError; ++ } ++ ++ public int GetCpuInfo(S7CpuInfo Info) ++ { ++ S7Szl SZL = new S7Szl(1024); ++ ++ LastError = ReadSZL(0x001C, 0x0000, SZL); ++ if (LastError==0) ++ { ++ Info.Update(SZL.Data, 0); ++ } ++ return LastError; ++ } ++ ++ public int GetCpInfo(S7CpInfo Info) ++ { ++ S7Szl SZL = new S7Szl(1024); ++ ++ LastError = ReadSZL(0x0131, 0x0001, SZL); ++ if (LastError==0) ++ { ++ Info.Update(SZL.Data, 0); ++ } ++ return LastError; ++ } ++ ++ public int GetOrderCode(S7OrderCode Code) ++ { ++ S7Szl SZL = new S7Szl(1024); ++ ++ LastError = ReadSZL(0x0011, 0x0000, SZL); ++ if (LastError==0) ++ { ++ Code.Update(SZL.Data, 0, SZL.DataSize); ++ } ++ return LastError; ++ } ++ ++ public int GetPlcDateTime(Date DateTime) ++ { ++ int Length; ++ ++ LastError = 0; ++ SendPacket(S7_GET_DT); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 30) // the minimum expected ++ { ++ if ((S7.GetWordAt(PDU,27)==0) && (PDU[29]==(byte)0xFF)) ++ { ++ DateTime=S7.GetDateAt(PDU, 34); ++ } ++ else ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ ++ return LastError; ++ } ++ ++ public int SetPlcDateTime(Date DateTime) ++ { ++ int Length; ++ ++ LastError = 0; ++ S7.SetDateAt(S7_SET_DT, 31, DateTime); ++ ++ SendPacket(S7_SET_DT); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 30) // the minimum expected ++ { ++ if (S7.GetWordAt(PDU,27)!=0) ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ ++ return LastError; ++ } ++ ++ public int SetPlcSystemDateTime() ++ { ++ return SetPlcDateTime(new Date()); ++ } ++ ++ public int PlcStop() ++ { ++ int Length; ++ ++ LastError = 0; ++ SendPacket(S7_STOP); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 18) // 18 is the minimum expected ++ { ++ if (S7.GetWordAt(PDU,17)!=0) ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ return LastError; ++ } ++ ++ public int PlcHotStart() ++ { ++ int Length; ++ ++ LastError = 0; ++ SendPacket(S7_HOT_START); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 18) // the minimum expected ++ { ++ if (S7.GetWordAt(PDU,17)!=0) ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ return LastError; ++ } ++ ++ public int PlcColdStart() ++ { ++ int Length; ++ ++ LastError = 0; ++ SendPacket(S7_COLD_START); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 18) // the minimum expected ++ { ++ if (S7.GetWordAt(PDU,17)!=0) ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ return LastError; ++ } ++ ++ public int GetPlcStatus(IntByRef Status) ++ { ++ int Length; ++ ++ LastError = 0; ++ SendPacket(S7_GET_STAT); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 30) // the minimum expected ++ { ++ if (S7.GetWordAt(PDU,27)==0) ++ { ++ switch (PDU[44]) ++ { ++ case S7.S7CpuStatusUnknown : ++ case S7.S7CpuStatusRun : ++ case S7.S7CpuStatusStop : Status.Value=PDU[44]; ++ break; ++ default : ++ // Since RUN status is always 0x08 for all CPUs and CPs, STOP status ++ // sometime can be coded as 0x03 (especially for old cpu...) ++ Status.Value=S7.S7CpuStatusStop; ++ } ++ } ++ else ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ return LastError; ++ } ++ ++ public int SetSessionPassword(String Password) ++ { ++ byte[] pwd = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20}; ++ int Length; ++ ++ LastError = 0; ++ // Adjusts the Password length to 8 ++ if (Password.length()>8) ++ Password=Password.substring(0, 8); ++ else ++ { ++ while (Password.length()<8) ++ Password=Password+" "; ++ } ++ ++ try { ++ pwd = Password.getBytes("UTF-8"); ++ } catch (UnsupportedEncodingException ex) { ++ LastError = errS7InvalidParams; ++ } ++ if (LastError==0) ++ { ++ // Encodes the password ++ pwd[0]=(byte) (pwd[0] ^ 0x55); ++ pwd[1]=(byte) (pwd[1] ^ 0x55); ++ for (int c = 2; c < 8; c++) ++ { ++ pwd[c]=(byte) (pwd[c] ^ 0x55 ^ pwd[c-2]); ++ } ++ System.arraycopy(pwd, 0, S7_SET_PWD, 29, 8); ++ // Sends the telegrem ++ SendPacket(S7_SET_PWD); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 32) // the minimum expected ++ { ++ if (S7.GetWordAt(PDU,27)!=0) ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ } ++ return LastError; ++ } ++ ++ public int ClearSessionPassword() ++ { ++ int Length; ++ ++ LastError = 0; ++ SendPacket(S7_CLR_PWD); ++ if (LastError==0) ++ { ++ Length=RecvIsoPacket(); ++ if (Length > 30) // the minimum expected ++ { ++ if (S7.GetWordAt(PDU,27)!=0) ++ LastError = errS7FunctionError; ++ } ++ else ++ LastError = errS7InvalidPDU; ++ } ++ return LastError; ++ } ++ ++ public int GetProtection(S7Protection Protection) ++ { ++ S7Szl SZL = new S7Szl(256); ++ ++ LastError = ReadSZL(0x0232, 0x0004, SZL); ++ if (LastError==0) ++ { ++ Protection.Update(SZL.Data); ++ } ++ return LastError; ++ } ++ ++} +diff U3 S7CpInfo.java S7CpInfo.java +--- S7CpInfo.java Thu Mar 23 15:34:52 2017 ++++ S7CpInfo.java Tue Aug 08 18:53:37 2017 +@@ -1,41 +1,41 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-/** +- * +- * @author Davide +- */ +-public class S7CpInfo { +- +- public int MaxPduLength; +- public int MaxConnections; +- public int MaxMpiRate; +- public int MaxBusRate; +- +- protected void Update(byte[] Src, int Pos) +- { +- MaxPduLength = S7.GetShortAt(Src, 2); +- MaxConnections = S7.GetShortAt(Src, 4); +- MaxMpiRate = S7.GetDIntAt(Src, 6); +- MaxBusRate = S7.GetDIntAt(Src, 10); +- } +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++public class S7CpInfo { ++ ++ public int MaxPduLength; ++ public int MaxConnections; ++ public int MaxMpiRate; ++ public int MaxBusRate; ++ ++ protected void Update(byte[] Src, int Pos) ++ { ++ MaxPduLength = S7.GetShortAt(Src, 2); ++ MaxConnections = S7.GetShortAt(Src, 4); ++ MaxMpiRate = S7.GetDIntAt(Src, 6); ++ MaxBusRate = S7.GetDIntAt(Src, 10); ++ } ++} +diff U3 S7CpuInfo.java S7CpuInfo.java +--- S7CpuInfo.java Thu Mar 23 15:34:52 2017 ++++ S7CpuInfo.java Tue Aug 08 18:53:37 2017 +@@ -1,57 +1,57 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-/** +- * +- * @author Davide +- */ +-public class S7CpuInfo { +- +- private final int BufSize = 256; +- protected byte[] Buffer = new byte[BufSize]; +- +- protected void Update(byte[] Src, int Pos) +- { +- System.arraycopy(Src, Pos, Buffer, 0, BufSize); +- } +- +- public String ModuleTypeName() +- { +- return S7.GetStringAt(Buffer,172,32); +- } +- public String SerialNumber() +- { +- return S7.GetStringAt(Buffer,138,24); +- } +- public String ASName() +- { +- return S7.GetStringAt(Buffer,2,24); +- } +- public String Copyright() +- { +- return S7.GetStringAt(Buffer,104,26); +- } +- public String ModuleName() +- { +- return S7.GetStringAt(Buffer,36,24); +- } +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++public class S7CpuInfo { ++ ++ private final int BufSize = 256; ++ protected byte[] Buffer = new byte[BufSize]; ++ ++ protected void Update(byte[] Src, int Pos) ++ { ++ System.arraycopy(Src, Pos, Buffer, 0, BufSize); ++ } ++ ++ public String ModuleTypeName() ++ { ++ return S7.GetStringAt(Buffer,172,32); ++ } ++ public String SerialNumber() ++ { ++ return S7.GetStringAt(Buffer,138,24); ++ } ++ public String ASName() ++ { ++ return S7.GetStringAt(Buffer,2,24); ++ } ++ public String Copyright() ++ { ++ return S7.GetStringAt(Buffer,104,26); ++ } ++ public String ModuleName() ++ { ++ return S7.GetStringAt(Buffer,36,24); ++ } ++} +diff U3 S7OrderCode.java S7OrderCode.java +--- S7OrderCode.java Thu Mar 23 15:34:52 2017 ++++ S7OrderCode.java Tue Aug 08 18:53:37 2017 +@@ -1,46 +1,46 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-/** +- * +- * @author Davide +- */ +-public class S7OrderCode { +- +- public int V1; +- public int V2; +- public int V3; +- protected byte[] Buffer = new byte[1024]; +- +- protected void Update(byte[] Src, int Pos, int Size) +- { +- System.arraycopy(Src, Pos, Buffer, 0, Size); +- V1 = (byte) Src[Size-3]; +- V2 = (byte) Src[Size-2]; +- V3 = (byte) Src[Size-1]; +- } +- +- public String Code() +- { +- return S7.GetStringAt(Buffer, 2, 20); +- } +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++public class S7OrderCode { ++ ++ public int V1; ++ public int V2; ++ public int V3; ++ protected byte[] Buffer = new byte[1024]; ++ ++ protected void Update(byte[] Src, int Pos, int Size) ++ { ++ System.arraycopy(Src, Pos, Buffer, 0, Size); ++ V1 = (byte) Src[Size-3]; ++ V2 = (byte) Src[Size-2]; ++ V3 = (byte) Src[Size-1]; ++ } ++ ++ public String Code() ++ { ++ return S7.GetStringAt(Buffer, 2, 20); ++ } ++} +diff U3 S7Protection.java S7Protection.java +--- S7Protection.java Thu Mar 23 15:34:52 2017 ++++ S7Protection.java Tue Aug 08 18:53:37 2017 +@@ -1,38 +1,43 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-// See §33.19 of "System Software for S7-300/400 System and Standard Functions" +-public class S7Protection { +- public int sch_schal; +- public int sch_par; +- public int sch_rel; +- public int bart_sch; +- public int anl_sch; +- protected void Update(byte[] Src) +- { +- sch_schal = S7.GetWordAt(Src,2); +- sch_par = S7.GetWordAt(Src,4); +- sch_rel = S7.GetWordAt(Src,6); +- bart_sch = S7.GetWordAt(Src,8); +- anl_sch = S7.GetWordAt(Src,10); +- } +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++ ++// See §33.19 of "System Software for S7-300/400 System and Standard Functions" ++public class S7Protection { ++ public int sch_schal; ++ public int sch_par; ++ public int sch_rel; ++ public int bart_sch; ++ public int anl_sch; ++ protected void Update(byte[] Src) ++ { ++ sch_schal = S7.GetWordAt(Src,2); ++ sch_par = S7.GetWordAt(Src,4); ++ sch_rel = S7.GetWordAt(Src,6); ++ bart_sch = S7.GetWordAt(Src,8); ++ anl_sch = S7.GetWordAt(Src,10); ++ } ++} +diff U3 S7Szl.java S7Szl.java +--- S7Szl.java Thu Mar 23 15:34:52 2017 ++++ S7Szl.java Tue Aug 08 18:53:37 2017 +@@ -1,42 +1,42 @@ +-/*=============================================================================| +-| PROJECT Moka7 1.0.2 | +-|==============================================================================| +-| Copyright (C) 2013, 2016 Davide Nardella | +-| All rights reserved. | +-|==============================================================================| +-| SNAP7 is free software: you can redistribute it and/or modify | +-| it under the terms of the Lesser GNU General Public License as published by | +-| the Free Software Foundation, either version 3 of the License, or under | +-| EPL Eclipse Public License 1.0. | +-| | +-| This means that you have to chose in advance which take before you import | +-| the library into your project. | +-| | +-| SNAP7 is distributed in the hope that it will be useful, | +-| but WITHOUT ANY WARRANTY; without even the implied warranty of | +-| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | +-| decide to adopt. | +-| | +-|=============================================================================*/ +-package Moka7; +- +-/** +- * +- * @author Davide +- */ +-public class S7Szl { +- +- public int LENTHDR; +- public int N_DR; +- public int DataSize; +- public byte Data[]; +- +- public S7Szl(int BufferSize) +- { +- Data = new byte[BufferSize]; +- } +- protected void Copy(byte[] Src, int SrcPos, int DestPos, int Size) +- { +- System.arraycopy(Src, SrcPos, Data, DestPos, Size); +- } +-} ++/*=============================================================================| ++| PROJECT Moka7 1.0.2 | ++|==============================================================================| ++| Copyright (C) 2013, 2016 Davide Nardella | ++| All rights reserved. | ++|==============================================================================| ++| SNAP7 is free software: you can redistribute it and/or modify | ++| it under the terms of the Lesser GNU General Public License as published by | ++| the Free Software Foundation, either version 3 of the License, or under | ++| EPL Eclipse Public License 1.0. | ++| | ++| This means that you have to chose in advance which take before you import | ++| the library into your project. | ++| | ++| SNAP7 is distributed in the hope that it will be useful, | ++| but WITHOUT ANY WARRANTY; without even the implied warranty of | ++| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE whatever license you | ++| decide to adopt. | ++| | ++|=============================================================================*/ ++package Moka7; ++ ++/** ++ * ++ * @author Davide Nardella ++ */ ++public class S7Szl { ++ ++ public int LENTHDR; ++ public int N_DR; ++ public int DataSize; ++ public byte Data[]; ++ ++ public S7Szl(int BufferSize) ++ { ++ Data = new byte[BufferSize]; ++ } ++ protected void Copy(byte[] Src, int SrcPos, int DestPos, int Size) ++ { ++ System.arraycopy(Src, SrcPos, Data, DestPos, Size); ++ } ++} diff --git a/bundles/org.openhab.binding.plclogo/pom.xml b/bundles/org.openhab.binding.plclogo/pom.xml index 0e39b02020976..dc8953a8b1055 100644 --- a/bundles/org.openhab.binding.plclogo/pom.xml +++ b/bundles/org.openhab.binding.plclogo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.plclogo/src/main/feature/feature.xml b/bundles/org.openhab.binding.plclogo/src/main/feature/feature.xml index a357f22f4f84a..15145b5edaa3a 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.plclogo/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.plclogo/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.plclogo/${project.version} + diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoBindingConstants.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoBindingConstants.java index 00bd25097929a..20900653f6964 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoBindingConstants.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoBindingConstants.java @@ -1,191 +1,190 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.plclogo.internal; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.core.thing.ThingTypeUID; - -/** - * The {@link PLCLogoBindingConstants} class defines common constants, which are - * used across the whole binding. - * - * @author Alexander Falkenstern - Initial contribution - */ -@NonNullByDefault -public class PLCLogoBindingConstants { - - public static final String BINDING_ID = "plclogo"; - - // List of all thing type UIDs - public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device"); - public static final ThingTypeUID THING_TYPE_ANALOG = new ThingTypeUID(BINDING_ID, "analog"); - public static final ThingTypeUID THING_TYPE_MEMORY = new ThingTypeUID(BINDING_ID, "memory"); - public static final ThingTypeUID THING_TYPE_DIGITAL = new ThingTypeUID(BINDING_ID, "digital"); - public static final ThingTypeUID THING_TYPE_DATETIME = new ThingTypeUID(BINDING_ID, "datetime"); - public static final ThingTypeUID THING_TYPE_PULSE = new ThingTypeUID(BINDING_ID, "pulse"); - - // Something goes wrong... - public static final String NOT_SUPPORTED = "NOT SUPPORTED"; - - // List of all channels - public static final String STATE_CHANNEL = "state"; - public static final String OBSERVE_CHANNEL = "observed"; - public static final String VALUE_CHANNEL = "value"; - public static final String RTC_CHANNEL = "rtc"; - public static final String DAIGNOSTICS_CHANNEL = "diagnostic"; - public static final String DAY_OF_WEEK_CHANNEL = "weekday"; - - // List of all channel properties - public static final String BLOCK_PROPERTY = "block"; - - // List of all item types - public static final String ANALOG_ITEM = "Number"; - public static final String DATE_TIME_ITEM = "DateTime"; - public static final String DIGITAL_INPUT_ITEM = "Contact"; - public static final String DIGITAL_OUTPUT_ITEM = "Switch"; - public static final String INFORMATION_ITEM = "String"; - - // LOGO! family definitions - public static final String LOGO_0BA7 = "0BA7"; - public static final String LOGO_0BA8 = "0BA8"; - - // LOGO! block definitions - public static final String MEMORY_BYTE = "VB"; // Bit or Byte memory - public static final String MEMORY_WORD = "VW"; // Word memory - public static final String MEMORY_DWORD = "VD"; // DWord memory - public static final String MEMORY_SIZE = "SIZE"; // Size of memory - - public static final String I_DIGITAL = "I"; // Physical digital input - public static final String Q_DIGITAL = "Q"; // Physical digital output - public static final String M_DIGITAL = "M"; // Program digital marker - public static final String NI_DIGITAL = "NI"; // Network digital input - public static final String NQ_DIGITAL = "NQ"; // Network digital output - - public static final String I_ANALOG = "AI"; // Physical analog input - public static final String Q_ANALOG = "AQ"; // Physical analog output - public static final String M_ANALOG = "AM"; // Program analog marker - public static final String NI_ANALOG = "NAI"; // Network analog input - public static final String NQ_ANALOG = "NAQ"; // Network analog output - - private static final Map LOGO_STATES_0BA7; - static { - Map buffer = new HashMap<>(); - // buffer.put(???, "Network access error"); // Netzwerkzugriffsfehler - // buffer.put(???, "Expansion module bus error"); // Erweiterungsmodul-Busfehler - // buffer.put(???, "SD card read/write error"); // Fehler beim Lesen oder Schreiben der SD-Karte - // buffer.put(???, "SD card write protection"); // Schreibschutz der SD-Karte - LOGO_STATES_0BA7 = Collections.unmodifiableMap(buffer); - } - - private static final Map LOGO_STATES_0BA8; - static { - Map buffer = new HashMap<>(); - buffer.put(1, "Ethernet link error"); // Netzwerk Verbindungsfehler - buffer.put(2, "Expansion module changed"); // Ausgetauschtes Erweiterungsmodul - buffer.put(4, "SD card read/write error"); // Fehler beim Lesen oder Schreiben der SD-Karte - buffer.put(8, "SD Card does not exist"); // "SD-Karte nicht vorhanden" - buffer.put(16, "SD Card is full"); // SD-Karte voll - // buffer.put(???, "Network S7 Tcp Error"); // - LOGO_STATES_0BA8 = Collections.unmodifiableMap(buffer); - } - - public static final Map> LOGO_STATES; - static { - Map> buffer = new HashMap<>(); - buffer.put(LOGO_0BA7, LOGO_STATES_0BA7); - buffer.put(LOGO_0BA8, LOGO_STATES_0BA8); - LOGO_STATES = Collections.unmodifiableMap(buffer); - } - - public static final class Layout { - public final int address; - public final int length; - - public Layout(int address, int length) { - this.address = address; - this.length = length; - } - } - - public static final Map LOGO_CHANNELS; - static { - Map buffer = new HashMap<>(); - buffer.put(DAIGNOSTICS_CHANNEL, new Layout(984, 1)); // Diagnostics starts at 984 for 1 byte - buffer.put(RTC_CHANNEL, new Layout(985, 6)); // RTC starts at 985 for 6 bytes: year month day hour minute second - buffer.put(DAY_OF_WEEK_CHANNEL, new Layout(998, 1)); // Diagnostics starts at 998 for 1 byte - LOGO_CHANNELS = Collections.unmodifiableMap(buffer); - } - - public static final Map DAY_OF_WEEK; - static { - Map buffer = new HashMap<>(); - buffer.put(1, "SUNDAY"); - buffer.put(2, "MONDAY"); - buffer.put(3, "TUEsDAY"); - buffer.put(4, "WEDNESDAY"); - buffer.put(5, "THURSDAY"); - buffer.put(6, "FRIDAY"); - buffer.put(7, "SATURDAY"); - DAY_OF_WEEK = Collections.unmodifiableMap(buffer); - } - - private static final Map LOGO_MEMORY_0BA7; - static { - Map buffer = new HashMap<>(); - buffer.put(MEMORY_BYTE, new Layout(0, 850)); - buffer.put(MEMORY_DWORD, new Layout(0, 850)); - buffer.put(MEMORY_WORD, new Layout(0, 850)); - buffer.put(I_DIGITAL, new Layout(923, 3)); // Digital inputs starts at 923 for 3 bytes - buffer.put(Q_DIGITAL, new Layout(942, 2)); // Digital outputs starts at 942 for 2 bytes - buffer.put(M_DIGITAL, new Layout(948, 4)); // Digital markers starts at 948 for 4 bytes - buffer.put(I_ANALOG, new Layout(926, 16)); // Analog inputs starts at 926 for 16 bytes -> 8 words - buffer.put(Q_ANALOG, new Layout(944, 4)); // Analog outputs starts at 944 for 4 bytes -> 2 words - buffer.put(M_ANALOG, new Layout(952, 32)); // Analog markers starts at 952 for 32 bytes -> 16 words - buffer.put(MEMORY_SIZE, new Layout(0, 984)); // Size of memory block for LOGO! 7 - LOGO_MEMORY_0BA7 = Collections.unmodifiableMap(buffer); - } - - private static final Map LOGO_MEMORY_0BA8; - static { - Map buffer = new HashMap<>(); - buffer.put(MEMORY_BYTE, new Layout(0, 850)); - buffer.put(MEMORY_DWORD, new Layout(0, 850)); - buffer.put(MEMORY_WORD, new Layout(0, 850)); - buffer.put(I_DIGITAL, new Layout(1024, 8)); // Digital inputs starts at 1024 for 8 bytes - buffer.put(Q_DIGITAL, new Layout(1064, 8)); // Digital outputs starts at 1064 for 8 bytes - buffer.put(M_DIGITAL, new Layout(1104, 14)); // Digital markers starts at 1104 for 14 bytes - buffer.put(I_ANALOG, new Layout(1032, 32)); // Analog inputs starts at 1032 for 32 bytes -> 16 words - buffer.put(Q_ANALOG, new Layout(1072, 32)); // Analog outputs starts at 1072 for 32 bytes -> 16 words - buffer.put(M_ANALOG, new Layout(1118, 128)); // Analog markers starts at 1118 for 128 bytes -> 64 words - buffer.put(NI_DIGITAL, new Layout(1246, 16)); // Network inputs starts at 1246 for 16 bytes - buffer.put(NI_ANALOG, new Layout(1262, 128)); // Network analog inputs starts at 1262 for 128 bytes -> 64 words - buffer.put(NQ_DIGITAL, new Layout(1390, 16)); // Network outputs starts at 1390 for 16 bytes - buffer.put(NQ_ANALOG, new Layout(1406, 64)); // Network analog inputs starts at 1406 for 64 bytes -> 32 words - buffer.put(MEMORY_SIZE, new Layout(0, 1470)); // Size of memory block for LOGO! 8 - LOGO_MEMORY_0BA8 = Collections.unmodifiableMap(buffer); - } - - public static final Map> LOGO_MEMORY_BLOCK; - static { - Map> buffer = new HashMap<>(); - buffer.put(LOGO_0BA7, LOGO_MEMORY_0BA7); - buffer.put(LOGO_0BA8, LOGO_MEMORY_0BA8); - LOGO_MEMORY_BLOCK = Collections.unmodifiableMap(buffer); - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.plclogo.internal; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.core.thing.ThingTypeUID; + +/** + * The {@link PLCLogoBindingConstants} class defines common constants, which are + * used across the whole binding. + * + * @author Alexander Falkenstern - Initial contribution + */ +@NonNullByDefault +public class PLCLogoBindingConstants { + + public static final String BINDING_ID = "plclogo"; + + // List of all thing type UIDs + public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device"); + public static final ThingTypeUID THING_TYPE_ANALOG = new ThingTypeUID(BINDING_ID, "analog"); + public static final ThingTypeUID THING_TYPE_MEMORY = new ThingTypeUID(BINDING_ID, "memory"); + public static final ThingTypeUID THING_TYPE_DIGITAL = new ThingTypeUID(BINDING_ID, "digital"); + public static final ThingTypeUID THING_TYPE_DATETIME = new ThingTypeUID(BINDING_ID, "datetime"); + public static final ThingTypeUID THING_TYPE_PULSE = new ThingTypeUID(BINDING_ID, "pulse"); + + // Something goes wrong... + public static final String NOT_SUPPORTED = "NOT SUPPORTED"; + + // List of all channels + public static final String STATE_CHANNEL = "state"; + public static final String OBSERVE_CHANNEL = "observed"; + public static final String VALUE_CHANNEL = "value"; + public static final String RTC_CHANNEL = "rtc"; + public static final String DAIGNOSTICS_CHANNEL = "diagnostic"; + public static final String DAY_OF_WEEK_CHANNEL = "weekday"; + + // List of all channel properties + public static final String BLOCK_PROPERTY = "block"; + + // List of all item types + public static final String ANALOG_ITEM = "Number"; + public static final String DATE_TIME_ITEM = "DateTime"; + public static final String DIGITAL_INPUT_ITEM = "Contact"; + public static final String DIGITAL_OUTPUT_ITEM = "Switch"; + public static final String INFORMATION_ITEM = "String"; + + // LOGO! family definitions + public static final String LOGO_0BA7 = "0BA7"; + public static final String LOGO_0BA8 = "0BA8"; + + // LOGO! block definitions + public static final String MEMORY_BYTE = "VB"; // Bit or Byte memory + public static final String MEMORY_WORD = "VW"; // Word memory + public static final String MEMORY_DWORD = "VD"; // DWord memory + public static final String MEMORY_SIZE = "SIZE"; // Size of memory + + public static final String I_DIGITAL = "I"; // Physical digital input + public static final String Q_DIGITAL = "Q"; // Physical digital output + public static final String M_DIGITAL = "M"; // Program digital marker + public static final String NI_DIGITAL = "NI"; // Network digital input + public static final String NQ_DIGITAL = "NQ"; // Network digital output + + public static final String I_ANALOG = "AI"; // Physical analog input + public static final String Q_ANALOG = "AQ"; // Physical analog output + public static final String M_ANALOG = "AM"; // Program analog marker + public static final String NI_ANALOG = "NAI"; // Network analog input + public static final String NQ_ANALOG = "NAQ"; // Network analog output + + private static final Map LOGO_STATES_0BA7; + static { + Map buffer = new HashMap<>(); + // buffer.put(???, "Network access error"); // Netzwerkzugriffsfehler + // buffer.put(???, "Expansion module bus error"); // Erweiterungsmodul-Busfehler + // buffer.put(???, "SD card read/write error"); // Fehler beim Lesen oder Schreiben der SD-Karte + // buffer.put(???, "SD card write protection"); // Schreibschutz der SD-Karte + LOGO_STATES_0BA7 = Collections.unmodifiableMap(buffer); + } + + private static final Map LOGO_STATES_0BA8; + static { + Map buffer = new HashMap<>(); + buffer.put(1, "Ethernet link error"); // Netzwerk Verbindungsfehler + buffer.put(2, "Expansion module changed"); // Ausgetauschtes Erweiterungsmodul + buffer.put(4, "SD card read/write error"); // Fehler beim Lesen oder Schreiben der SD-Karte + buffer.put(8, "SD Card does not exist"); // "SD-Karte nicht vorhanden" + buffer.put(16, "SD Card is full"); // SD-Karte voll + // buffer.put(???, "Network S7 Tcp Error"); // + LOGO_STATES_0BA8 = Collections.unmodifiableMap(buffer); + } + + public static final Map> LOGO_STATES; + static { + Map> buffer = new HashMap<>(); + buffer.put(LOGO_0BA7, LOGO_STATES_0BA7); + buffer.put(LOGO_0BA8, LOGO_STATES_0BA8); + LOGO_STATES = Collections.unmodifiableMap(buffer); + } + + public static final class Layout { + public final int address; + public final int length; + + public Layout(int address, int length) { + this.address = address; + this.length = length; + } + } + + public static final Map LOGO_CHANNELS; + static { + Map buffer = new HashMap<>(); + buffer.put(DAIGNOSTICS_CHANNEL, new Layout(984, 1)); // Diagnostics starts at 984 for 1 byte + buffer.put(RTC_CHANNEL, new Layout(985, 6)); // RTC starts at 985 for 6 bytes: year month day hour minute second + buffer.put(DAY_OF_WEEK_CHANNEL, new Layout(998, 1)); // Diagnostics starts at 998 for 1 byte + LOGO_CHANNELS = Collections.unmodifiableMap(buffer); + } + + public static final Map DAY_OF_WEEK; + static { + Map buffer = new HashMap<>(); + buffer.put(1, "SUNDAY"); + buffer.put(2, "MONDAY"); + buffer.put(3, "TUEsDAY"); + buffer.put(4, "WEDNESDAY"); + buffer.put(5, "THURSDAY"); + buffer.put(6, "FRIDAY"); + buffer.put(7, "SATURDAY"); + DAY_OF_WEEK = Collections.unmodifiableMap(buffer); + } + + private static final Map LOGO_MEMORY_0BA7; + static { + Map buffer = new HashMap<>(); + buffer.put(MEMORY_BYTE, new Layout(0, 850)); + buffer.put(MEMORY_DWORD, new Layout(0, 850)); + buffer.put(MEMORY_WORD, new Layout(0, 850)); + buffer.put(I_DIGITAL, new Layout(923, 3)); // Digital inputs starts at 923 for 3 bytes + buffer.put(Q_DIGITAL, new Layout(942, 2)); // Digital outputs starts at 942 for 2 bytes + buffer.put(M_DIGITAL, new Layout(948, 4)); // Digital markers starts at 948 for 4 bytes + buffer.put(I_ANALOG, new Layout(926, 16)); // Analog inputs starts at 926 for 16 bytes -> 8 words + buffer.put(Q_ANALOG, new Layout(944, 4)); // Analog outputs starts at 944 for 4 bytes -> 2 words + buffer.put(M_ANALOG, new Layout(952, 32)); // Analog markers starts at 952 for 32 bytes -> 16 words + buffer.put(MEMORY_SIZE, new Layout(0, 984)); // Size of memory block for LOGO! 7 + LOGO_MEMORY_0BA7 = Collections.unmodifiableMap(buffer); + } + + private static final Map LOGO_MEMORY_0BA8; + static { + Map buffer = new HashMap<>(); + buffer.put(MEMORY_BYTE, new Layout(0, 850)); + buffer.put(MEMORY_DWORD, new Layout(0, 850)); + buffer.put(MEMORY_WORD, new Layout(0, 850)); + buffer.put(I_DIGITAL, new Layout(1024, 8)); // Digital inputs starts at 1024 for 8 bytes + buffer.put(Q_DIGITAL, new Layout(1064, 8)); // Digital outputs starts at 1064 for 8 bytes + buffer.put(M_DIGITAL, new Layout(1104, 14)); // Digital markers starts at 1104 for 14 bytes + buffer.put(I_ANALOG, new Layout(1032, 32)); // Analog inputs starts at 1032 for 32 bytes -> 16 words + buffer.put(Q_ANALOG, new Layout(1072, 32)); // Analog outputs starts at 1072 for 32 bytes -> 16 words + buffer.put(M_ANALOG, new Layout(1118, 128)); // Analog markers starts at 1118 for 128 bytes -> 64 words + buffer.put(NI_DIGITAL, new Layout(1246, 16)); // Network inputs starts at 1246 for 16 bytes + buffer.put(NI_ANALOG, new Layout(1262, 128)); // Network analog inputs starts at 1262 for 128 bytes -> 64 words + buffer.put(NQ_DIGITAL, new Layout(1390, 16)); // Network outputs starts at 1390 for 16 bytes + buffer.put(NQ_ANALOG, new Layout(1406, 64)); // Network analog inputs starts at 1406 for 64 bytes -> 32 words + buffer.put(MEMORY_SIZE, new Layout(0, 1470)); // Size of memory block for LOGO! 8 + LOGO_MEMORY_0BA8 = Collections.unmodifiableMap(buffer); + } + + public static final Map> LOGO_MEMORY_BLOCK; + static { + Map> buffer = new HashMap<>(); + buffer.put(LOGO_0BA7, LOGO_MEMORY_0BA7); + buffer.put(LOGO_0BA8, LOGO_MEMORY_0BA8); + LOGO_MEMORY_BLOCK = Collections.unmodifiableMap(buffer); + } +} diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoClient.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoClient.java index 93bcb01b3efa1..e9c66e6190f6e 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoClient.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoClient.java @@ -1,205 +1,205 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.plclogo.internal; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import Moka7.S7; -import Moka7.S7Client; - -/** - * The {@link PLCLogoClient} is thread safe LOGO! client. - * - * @author Alexander Falkenstern - Initial contribution - */ -public class PLCLogoClient extends S7Client { - - private static final int MAX_RETRY_NUMBER = 10; - private final Logger logger = LoggerFactory.getLogger(PLCLogoClient.class); - - private String plcIPAddress = "INVALID_IP"; - - /** - * Connects a client to a PLC - */ - @Override - public synchronized int Connect() { - return super.Connect(); - } - - /** - * Connects a client to a PLC with specified parameters - * - * @param Address IP address of PLC - * @param LocalTSAP Local TSAP for the connection - * @param RemoteTSAP Remote TSAP for the connection - * @return Zero on success, error code otherwise - */ - public synchronized int Connect(String Address, int LocalTSAP, int RemoteTSAP) { - SetConnectionParams(Address, LocalTSAP, RemoteTSAP); - return super.Connect(); - } - - /** - * Set connection parameters - * - * @param Address IP address of PLC - * @param LocalTSAP Local TSAP for the connection - * @param RemoteTSAP Remote TSAP for the connection - */ - @Override - public void SetConnectionParams(String Address, int LocalTSAP, int RemoteTSAP) { - plcIPAddress = Address; // Store ip address for logging - super.SetConnectionParams(Address, LocalTSAP, RemoteTSAP); - } - - /** - * Disconnects a client from a PLC - */ - @Override - public synchronized void Disconnect() { - super.Disconnect(); - } - - /** - * Reads a data area from a PLC - * - * @param Area S7 Area ID. Can be S7AreaPE, S7AreaPA, S7AreaMK, S7AreaDB, S7AreaCT or S7AreaTM - * @param DBNumber S7 data block number - * @param Start First position within data block read from - * @param Amount Number of words to read - * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer - * @param Data Buffer to read into - * @return Zero on success, error code otherwise - */ - @Override - public synchronized int ReadArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { - if (LastError != 0) { - logger.debug("Reconnect during read from {}: {}", plcIPAddress, ErrorText(LastError)); - Disconnect(); - } - if (!Connected) { - Connect(); - } - - final int packet = Math.min(Amount, 1024); - int offset = packet; - - int retry = 0; - int result = -1; - do { - // read first portion directly to data - result = super.ReadArea(Area, DBNumber, Start, packet, WordLength, Data); - while ((result == 0) && (offset < Amount)) { - byte buffer[] = new byte[Math.min(Amount - offset, packet)]; - result = super.ReadArea(Area, DBNumber, offset, buffer.length, WordLength, buffer); - System.arraycopy(buffer, 0, Data, offset, buffer.length); - offset = offset + buffer.length; - } - - if (retry == MAX_RETRY_NUMBER) { - logger.info("Giving up reading from {} after {} retries.", plcIPAddress, MAX_RETRY_NUMBER); - break; - } - - if (result != 0) { - logger.info("Reconnect during read from {}: {}", plcIPAddress, ErrorText(result)); - retry = retry + 1; - Disconnect(); - Connect(); - } - } while (result != 0); - - return result; - } - - /** - * Reads a data block area from a PLC - * - * @param DBNumber S7 data block number - * @param Start First position within data block read from - * @param Amount Number of words to read - * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer - * @param Data Buffer to read into - * @return Zero on success, error code otherwise - */ - public int readDBArea(int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { - return ReadArea(S7.S7AreaDB, DBNumber, Start, Amount, WordLength, Data); - } - - /** - * Writes a data area into a PLC - * - * @param Area S7 Area ID. Can be S7AreaPE, S7AreaPA, S7AreaMK, S7AreaDB, S7AreaCT or S7AreaTM - * @param DBNumber S7 data block number - * @param Start First position within data block write into - * @param Amount Number of words to write - * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer - * @param Data Buffer to write from - * @return Zero on success, error code otherwise - */ - @Override - public synchronized int WriteArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { - if (LastError != 0) { - logger.debug("Reconnect during write to {}: {}", plcIPAddress, ErrorText(LastError)); - Disconnect(); - } - if (!Connected) { - Connect(); - } - - int retry = 0; - int result = -1; - do { - result = super.WriteArea(Area, DBNumber, Start, Amount, WordLength, Data); - - if (retry == MAX_RETRY_NUMBER) { - logger.info("Giving up writing to {} after {} retries.", plcIPAddress, MAX_RETRY_NUMBER); - break; - } - - if (result != 0) { - logger.info("Reconnect during write to {}: {}", plcIPAddress, ErrorText(result)); - retry = retry + 1; - Disconnect(); - Connect(); - } - } while (result != 0); - - return result; - } - - /** - * Writes a data block area into a PLC - * - * @param DBNumber S7 data block number - * @param Start First position within data block write into - * @param Amount Number of words to write - * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer - * @param Data Buffer to write from - * @return Zero on success, error code otherwise - */ - public int writeDBArea(int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { - return WriteArea(S7.S7AreaDB, DBNumber, Start, Amount, WordLength, Data); - } - - /** - * Returns, if client is already connected or not - * - * @return True, if client is connected and false otherwise - */ - public synchronized boolean isConnected() { - return Connected; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.plclogo.internal; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import Moka7.S7; +import Moka7.S7Client; + +/** + * The {@link PLCLogoClient} is thread safe LOGO! client. + * + * @author Alexander Falkenstern - Initial contribution + */ +public class PLCLogoClient extends S7Client { + + private static final int MAX_RETRY_NUMBER = 10; + private final Logger logger = LoggerFactory.getLogger(PLCLogoClient.class); + + private String plcIPAddress = "INVALID_IP"; + + /** + * Connects a client to a PLC + */ + @Override + public synchronized int Connect() { + return super.Connect(); + } + + /** + * Connects a client to a PLC with specified parameters + * + * @param Address IP address of PLC + * @param LocalTSAP Local TSAP for the connection + * @param RemoteTSAP Remote TSAP for the connection + * @return Zero on success, error code otherwise + */ + public synchronized int Connect(String Address, int LocalTSAP, int RemoteTSAP) { + SetConnectionParams(Address, LocalTSAP, RemoteTSAP); + return super.Connect(); + } + + /** + * Set connection parameters + * + * @param Address IP address of PLC + * @param LocalTSAP Local TSAP for the connection + * @param RemoteTSAP Remote TSAP for the connection + */ + @Override + public void SetConnectionParams(String Address, int LocalTSAP, int RemoteTSAP) { + plcIPAddress = Address; // Store ip address for logging + super.SetConnectionParams(Address, LocalTSAP, RemoteTSAP); + } + + /** + * Disconnects a client from a PLC + */ + @Override + public synchronized void Disconnect() { + super.Disconnect(); + } + + /** + * Reads a data area from a PLC + * + * @param Area S7 Area ID. Can be S7AreaPE, S7AreaPA, S7AreaMK, S7AreaDB, S7AreaCT or S7AreaTM + * @param DBNumber S7 data block number + * @param Start First position within data block read from + * @param Amount Number of words to read + * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer + * @param Data Buffer to read into + * @return Zero on success, error code otherwise + */ + @Override + public synchronized int ReadArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { + if (LastError != 0) { + logger.debug("Reconnect during read from {}: {}", plcIPAddress, ErrorText(LastError)); + Disconnect(); + } + if (!Connected) { + Connect(); + } + + final int packet = Math.min(Amount, 1024); + int offset = packet; + + int retry = 0; + int result = -1; + do { + // read first portion directly to data + result = super.ReadArea(Area, DBNumber, Start, packet, WordLength, Data); + while ((result == 0) && (offset < Amount)) { + byte buffer[] = new byte[Math.min(Amount - offset, packet)]; + result = super.ReadArea(Area, DBNumber, offset, buffer.length, WordLength, buffer); + System.arraycopy(buffer, 0, Data, offset, buffer.length); + offset = offset + buffer.length; + } + + if (retry == MAX_RETRY_NUMBER) { + logger.info("Giving up reading from {} after {} retries.", plcIPAddress, MAX_RETRY_NUMBER); + break; + } + + if (result != 0) { + logger.info("Reconnect during read from {}: {}", plcIPAddress, ErrorText(result)); + retry = retry + 1; + Disconnect(); + Connect(); + } + } while (result != 0); + + return result; + } + + /** + * Reads a data block area from a PLC + * + * @param DBNumber S7 data block number + * @param Start First position within data block read from + * @param Amount Number of words to read + * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer + * @param Data Buffer to read into + * @return Zero on success, error code otherwise + */ + public int readDBArea(int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { + return ReadArea(S7.S7AreaDB, DBNumber, Start, Amount, WordLength, Data); + } + + /** + * Writes a data area into a PLC + * + * @param Area S7 Area ID. Can be S7AreaPE, S7AreaPA, S7AreaMK, S7AreaDB, S7AreaCT or S7AreaTM + * @param DBNumber S7 data block number + * @param Start First position within data block write into + * @param Amount Number of words to write + * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer + * @param Data Buffer to write from + * @return Zero on success, error code otherwise + */ + @Override + public synchronized int WriteArea(int Area, int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { + if (LastError != 0) { + logger.debug("Reconnect during write to {}: {}", plcIPAddress, ErrorText(LastError)); + Disconnect(); + } + if (!Connected) { + Connect(); + } + + int retry = 0; + int result = -1; + do { + result = super.WriteArea(Area, DBNumber, Start, Amount, WordLength, Data); + + if (retry == MAX_RETRY_NUMBER) { + logger.info("Giving up writing to {} after {} retries.", plcIPAddress, MAX_RETRY_NUMBER); + break; + } + + if (result != 0) { + logger.info("Reconnect during write to {}: {}", plcIPAddress, ErrorText(result)); + retry = retry + 1; + Disconnect(); + Connect(); + } + } while (result != 0); + + return result; + } + + /** + * Writes a data block area into a PLC + * + * @param DBNumber S7 data block number + * @param Start First position within data block write into + * @param Amount Number of words to write + * @param WordLength Length of single word. Can be S7WLBit, S7WLByte, S7WLCounter or S7WLTimer + * @param Data Buffer to write from + * @return Zero on success, error code otherwise + */ + public int writeDBArea(int DBNumber, int Start, int Amount, int WordLength, byte[] Data) { + return WriteArea(S7.S7AreaDB, DBNumber, Start, Amount, WordLength, Data); + } + + /** + * Returns, if client is already connected or not + * + * @return True, if client is connected and false otherwise + */ + public synchronized boolean isConnected() { + return Connected; + } +} diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoHandlerFactory.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoHandlerFactory.java index 77a9ec0cb06ee..7464247a92a62 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoHandlerFactory.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/PLCLogoHandlerFactory.java @@ -85,5 +85,4 @@ public boolean supportsThingType(ThingTypeUID thingTypeUID) { return null; } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCAnalogConfiguration.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCAnalogConfiguration.java index 99f92fa612633..3820da56c4584 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCAnalogConfiguration.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCAnalogConfiguration.java @@ -49,5 +49,4 @@ public void setThreshold(final Integer threshold) { public String getChannelType() { return ANALOG_ITEM; } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCCommonConfiguration.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCCommonConfiguration.java index e2c920011a385..28bde7b19795c 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCCommonConfiguration.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCCommonConfiguration.java @@ -59,5 +59,4 @@ public void setForceUpdate(final Boolean force) { * @return Configured Siemens LOGO! blocks kind */ public abstract String getBlockKind(); - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDateTimeConfiguration.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDateTimeConfiguration.java index cce4bfd6cb516..3ac3e3862e635 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDateTimeConfiguration.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDateTimeConfiguration.java @@ -73,5 +73,4 @@ public String getChannelType() { public String getBlockKind() { return block.substring(0, 2); } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDigitalConfiguration.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDigitalConfiguration.java index 6262e1b4db9d3..311d8fe98d8a5 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDigitalConfiguration.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCDigitalConfiguration.java @@ -48,5 +48,4 @@ public String getChannelType() { boolean isInput = kind.equalsIgnoreCase(I_DIGITAL) || kind.equalsIgnoreCase(NI_DIGITAL); return isInput ? DIGITAL_INPUT_ITEM : DIGITAL_OUTPUT_ITEM; } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCLogoBridgeConfiguration.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCLogoBridgeConfiguration.java index 7a9008f36acfd..4661af42bb520 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCLogoBridgeConfiguration.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCLogoBridgeConfiguration.java @@ -1,137 +1,136 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.plclogo.internal.config; - -import static org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.NOT_SUPPORTED; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.openhab.binding.plclogo.internal.PLCLogoBindingConstants; - -/** - * The {@link PLCLogoBridgeConfiguration} hold configuration of Siemens LOGO! PLCs. - * - * @author Alexander Falkenstern - Initial contribution - */ -@NonNullByDefault -public class PLCLogoBridgeConfiguration { - - private String address = ""; - private String family = NOT_SUPPORTED; - private String localTSAP = "0x3000"; - private String remoteTSAP = "0x2000"; - private Integer refresh = 100; - - /** - * Get configured Siemens LOGO! device IP address. - * - * @return Configured Siemens LOGO! IP address - */ - public String getAddress() { - return address; - } - - /** - * Set IP address for Siemens LOGO! device. - * - * @param address IP address of Siemens LOGO! device - */ - public void setAddress(final String address) { - this.address = address.trim(); - } - - /** - * Get configured Siemens LOGO! device family. - * - * @see PLCLogoBindingConstants#LOGO_0BA7 - * @see PLCLogoBindingConstants#LOGO_0BA8 - * @return Configured Siemens LOGO! device family - */ - public String getFamily() { - return family; - } - - /** - * Set Siemens LOGO! device family. - * - * @param family Family of Siemens LOGO! device - * @see PLCLogoBindingConstants#LOGO_0BA7 - * @see PLCLogoBindingConstants#LOGO_0BA8 - */ - public void setFamily(final String family) { - this.family = family.trim(); - } - - /** - * Get configured local TSAP of Siemens LOGO! device. - * - * @return Configured local TSAP of Siemens LOGO! - */ - public @Nullable Integer getLocalTSAP() { - Integer result = null; - if (localTSAP.startsWith("0x")) { - result = Integer.decode(localTSAP); - } - return result; - } - - /** - * Set local TSAP of Siemens LOGO! device. - * - * @param tsap Local TSAP of Siemens LOGO! device - */ - public void setLocalTSAP(final String tsap) { - this.localTSAP = tsap.trim(); - } - - /** - * Get configured remote TSAP of Siemens LOGO! device. - * - * @return Configured local TSAP of Siemens LOGO! - */ - public @Nullable Integer getRemoteTSAP() { - Integer result = null; - if (remoteTSAP.startsWith("0x")) { - result = Integer.decode(remoteTSAP); - } - return result; - } - - /** - * Set remote TSAP of Siemens LOGO! device. - * - * @param tsap Remote TSAP of Siemens LOGO! device - */ - public void setRemoteTSAP(final String tsap) { - this.remoteTSAP = tsap.trim(); - } - - /** - * Get configured refresh rate of Siemens LOGO! device blocks in milliseconds. - * - * @return Configured refresh rate of Siemens LOGO! device blocks - */ - public Integer getRefreshRate() { - return refresh; - } - - /** - * Set refresh rate of Siemens LOGO! device blocks in milliseconds. - * - * @param rate Refresh rate of Siemens LOGO! device blocks - */ - public void setRefreshRate(final Integer rate) { - this.refresh = rate; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.plclogo.internal.config; + +import static org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.NOT_SUPPORTED; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.plclogo.internal.PLCLogoBindingConstants; + +/** + * The {@link PLCLogoBridgeConfiguration} hold configuration of Siemens LOGO! PLCs. + * + * @author Alexander Falkenstern - Initial contribution + */ +@NonNullByDefault +public class PLCLogoBridgeConfiguration { + + private String address = ""; + private String family = NOT_SUPPORTED; + private String localTSAP = "0x3000"; + private String remoteTSAP = "0x2000"; + private Integer refresh = 100; + + /** + * Get configured Siemens LOGO! device IP address. + * + * @return Configured Siemens LOGO! IP address + */ + public String getAddress() { + return address; + } + + /** + * Set IP address for Siemens LOGO! device. + * + * @param address IP address of Siemens LOGO! device + */ + public void setAddress(final String address) { + this.address = address.trim(); + } + + /** + * Get configured Siemens LOGO! device family. + * + * @see PLCLogoBindingConstants#LOGO_0BA7 + * @see PLCLogoBindingConstants#LOGO_0BA8 + * @return Configured Siemens LOGO! device family + */ + public String getFamily() { + return family; + } + + /** + * Set Siemens LOGO! device family. + * + * @param family Family of Siemens LOGO! device + * @see PLCLogoBindingConstants#LOGO_0BA7 + * @see PLCLogoBindingConstants#LOGO_0BA8 + */ + public void setFamily(final String family) { + this.family = family.trim(); + } + + /** + * Get configured local TSAP of Siemens LOGO! device. + * + * @return Configured local TSAP of Siemens LOGO! + */ + public @Nullable Integer getLocalTSAP() { + Integer result = null; + if (localTSAP.startsWith("0x")) { + result = Integer.decode(localTSAP); + } + return result; + } + + /** + * Set local TSAP of Siemens LOGO! device. + * + * @param tsap Local TSAP of Siemens LOGO! device + */ + public void setLocalTSAP(final String tsap) { + this.localTSAP = tsap.trim(); + } + + /** + * Get configured remote TSAP of Siemens LOGO! device. + * + * @return Configured local TSAP of Siemens LOGO! + */ + public @Nullable Integer getRemoteTSAP() { + Integer result = null; + if (remoteTSAP.startsWith("0x")) { + result = Integer.decode(remoteTSAP); + } + return result; + } + + /** + * Set remote TSAP of Siemens LOGO! device. + * + * @param tsap Remote TSAP of Siemens LOGO! device + */ + public void setRemoteTSAP(final String tsap) { + this.remoteTSAP = tsap.trim(); + } + + /** + * Get configured refresh rate of Siemens LOGO! device blocks in milliseconds. + * + * @return Configured refresh rate of Siemens LOGO! device blocks + */ + public Integer getRefreshRate() { + return refresh; + } + + /** + * Set refresh rate of Siemens LOGO! device blocks in milliseconds. + * + * @param rate Refresh rate of Siemens LOGO! device blocks + */ + public void setRefreshRate(final Integer rate) { + this.refresh = rate; + } +} diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCPulseConfiguration.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCPulseConfiguration.java index f291ea68a7278..479578c94ce81 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCPulseConfiguration.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/config/PLCPulseConfiguration.java @@ -74,5 +74,4 @@ public Integer getPulseLength() { public void setPulseLength(Integer pulse) { this.pulse = pulse; } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/discovery/PLCDiscoveryService.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/discovery/PLCDiscoveryService.java index 3d90bbe588bcd..756c14a20b063 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/discovery/PLCDiscoveryService.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/discovery/PLCDiscoveryService.java @@ -159,5 +159,4 @@ protected synchronized void stopScan() { logger.debug("Stop scan for LOGO! bridge"); super.stopScan(); } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCAnalogHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCAnalogHandler.java index 9480cbea377de..90fe029d615b0 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCAnalogHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCAnalogHandler.java @@ -283,5 +283,4 @@ private void updateChannel(final Channel channel, int value) { logger.debug("Channel {} will not accept {} items.", channelUID, type); } } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCBridgeHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCBridgeHandler.java index 1506f199d6a41..0ef4f2468a11d 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCBridgeHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCBridgeHandler.java @@ -1,378 +1,377 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.plclogo.internal.handler; - -import static org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.*; - -import java.time.DateTimeException; -import java.time.ZonedDateTime; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicReference; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.smarthome.config.core.Configuration; -import org.eclipse.smarthome.core.library.types.DateTimeType; -import org.eclipse.smarthome.core.library.types.StringType; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Channel; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingStatusDetail; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; -import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.openhab.binding.plclogo.internal.PLCLogoClient; -import org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.Layout; -import org.openhab.binding.plclogo.internal.config.PLCLogoBridgeConfiguration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import Moka7.S7Client; - -/** - * The {@link PLCBridgeHandler} is responsible for handling commands, which are - * sent to one of the channels. - * - * @author Alexander Falkenstern - Initial contribution - */ -@NonNullByDefault -public class PLCBridgeHandler extends BaseBridgeHandler { - - public static final Set SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_DEVICE); - - private final Logger logger = LoggerFactory.getLogger(PLCBridgeHandler.class); - - private Map oldValues = new HashMap<>(); - - @Nullable - private volatile PLCLogoClient client; // S7 client used for communication with Logo! - private final Set handlers = new HashSet<>(); - private AtomicReference config = new AtomicReference<>(); - - @Nullable - private ScheduledFuture rtcJob; - private AtomicReference rtc = new AtomicReference<>(ZonedDateTime.now()); - private final Runnable rtcReader = new Runnable() { - private final List channels = getThing().getChannels(); - - @Override - public void run() { - for (Channel channel : channels) { - handleCommand(channel.getUID(), RefreshType.REFRESH); - } - } - }; - - @Nullable - private ScheduledFuture readerJob; - private final Runnable dataReader = new Runnable() { - // Buffer for block data read operation - private final byte[] buffer = new byte[2048]; - - @Override - public void run() { - PLCLogoClient localClient = client; - Map memory = LOGO_MEMORY_BLOCK.get(getLogoFamily()); - Layout layout = (memory != null) ? memory.get(MEMORY_SIZE) : null; - if ((layout != null) && (localClient != null)) { - try { - int result = localClient.readDBArea(1, 0, layout.length, S7Client.S7WLByte, buffer); - if (result == 0) { - synchronized (handlers) { - for (PLCCommonHandler handler : handlers) { - int length = handler.getBufferLength(); - int address = handler.getStartAddress(); - if ((length > 0) && (address != PLCCommonHandler.INVALID)) { - handler.setData(Arrays.copyOfRange(buffer, address, address + length)); - } else { - logger.debug("Invalid handler {} found.", handler.getClass().getSimpleName()); - } - } - } - } else { - logger.debug("Can not read data from LOGO!: {}.", S7Client.ErrorText(result)); - } - } catch (Exception exception) { - logger.error("Reader thread got exception: {}.", exception.getMessage()); - } - } else { - logger.debug("Either memory block {} or LOGO! client {} is invalid.", memory, localClient); - } - } - }; - - /** - * Constructor. - */ - public PLCBridgeHandler(Bridge bridge) { - super(bridge); - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - logger.debug("Handle command {} on channel {}", command, channelUID); - - Thing thing = getThing(); - if (ThingStatus.ONLINE != thing.getStatus()) { - return; - } - - if (!(command instanceof RefreshType)) { - logger.debug("Not supported command {} received.", command); - return; - } - - PLCLogoClient localClient = client; - String channelId = channelUID.getId(); - Channel channel = thing.getChannel(channelId); - Layout layout = LOGO_CHANNELS.get(channelId); - if ((localClient != null) && (channel != null) && (layout != null)) { - byte[] buffer = new byte[layout.length]; - Arrays.fill(buffer, (byte) 0); - int result = localClient.readDBArea(1, layout.address, buffer.length, S7Client.S7WLByte, buffer); - if (result == 0) { - if (RTC_CHANNEL.equals(channelId)) { - ZonedDateTime clock = ZonedDateTime.now(); - if (!LOGO_0BA7.equalsIgnoreCase(getLogoFamily())) { - try { - int year = clock.getYear() / 100; - clock = clock.withYear(100 * year + buffer[0]); - clock = clock.withMonth(buffer[1]); - clock = clock.withDayOfMonth(buffer[2]); - clock = clock.withHour(buffer[3]); - clock = clock.withMinute(buffer[4]); - clock = clock.withSecond(buffer[5]); - } catch (DateTimeException exception) { - clock = ZonedDateTime.now(); - logger.info("Return local server time: {}.", exception.getMessage()); - } - } - rtc.set(clock); - updateState(channelUID, new DateTimeType(clock)); - } else if (DAIGNOSTICS_CHANNEL.equals(channelId)) { - Map states = LOGO_STATES.get(getLogoFamily()); - if (states != null) { - for (Integer key : states.keySet()) { - String message = states.get(buffer[0] & key.intValue()); - synchronized (oldValues) { - if ((message != null) && (oldValues.get(channelUID) != message)) { - updateState(channelUID, new StringType(message)); - oldValues.put(channelUID, message); - } - } - } - } - } else if (DAY_OF_WEEK_CHANNEL.equals(channelId)) { - String value = DAY_OF_WEEK.get(Integer.valueOf(buffer[0])); - synchronized (oldValues) { - if ((value != null) && (oldValues.get(channelUID) != value)) { - updateState(channelUID, new StringType(value)); - oldValues.put(channelUID, value); - } - } - } else { - logger.info("Invalid channel {} or client {} found.", channelUID, client); - } - - if (logger.isTraceEnabled()) { - String raw = Arrays.toString(buffer); - String type = channel.getAcceptedItemType(); - logger.trace("Channel {} accepting {} received {}.", channelUID, type, raw); - } - } else { - logger.debug("Can not read data from LOGO!: {}.", S7Client.ErrorText(result)); - } - } else { - logger.info("Invalid channel {} or client {} found.", channelUID, client); - } - } - - @Override - public void initialize() { - logger.debug("Initialize LOGO! bridge handler."); - - synchronized (oldValues) { - oldValues.clear(); - } - config.set(getConfigAs(PLCLogoBridgeConfiguration.class)); - - boolean configured = (config.get().getLocalTSAP() != null); - configured = configured && (config.get().getRemoteTSAP() != null); - - if (configured) { - if (client == null) { - client = new PLCLogoClient(); - } - configured = connect(); - } else { - String message = "Can not initialize LOGO!. Please, check ip address / TSAP settings."; - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, message); - } - - if (configured) { - String host = config.get().getAddress(); - if (readerJob == null) { - Integer interval = config.get().getRefreshRate(); - logger.info("Creating new reader job for {} with interval {} ms.", host, interval); - readerJob = scheduler.scheduleWithFixedDelay(dataReader, 100, interval, TimeUnit.MILLISECONDS); - } - if (rtcJob == null) { - logger.info("Creating new RTC job for {} with interval 1 s.", host); - rtcJob = scheduler.scheduleAtFixedRate(rtcReader, 100, 1000, TimeUnit.MILLISECONDS); - } - - updateStatus(ThingStatus.ONLINE); - } else { - String message = "Can not initialize LOGO!. Please, check network connection."; - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, message); - client = null; - } - } - - @Override - public void dispose() { - logger.debug("Dispose LOGO! bridge handler."); - super.dispose(); - - if (rtcJob != null) { - rtcJob.cancel(false); - rtcJob = null; - logger.info("Destroy RTC job for {}.", config.get().getAddress()); - } - - if (readerJob != null) { - readerJob.cancel(false); - readerJob = null; - logger.info("Destroy reader job for {}.", config.get().getAddress()); - } - - if (disconnect()) { - client = null; - } - - synchronized (oldValues) { - oldValues.clear(); - } - } - - @Override - public void childHandlerInitialized(ThingHandler childHandler, Thing childThing) { - super.childHandlerInitialized(childHandler, childThing); - if (childHandler instanceof PLCCommonHandler) { - PLCCommonHandler handler = (PLCCommonHandler) childHandler; - synchronized (handlers) { - if (!handlers.contains(handler)) { - handlers.add(handler); - } - } - } - } - - @Override - public void childHandlerDisposed(ThingHandler childHandler, Thing childThing) { - if (childHandler instanceof PLCCommonHandler) { - PLCCommonHandler handler = (PLCCommonHandler) childHandler; - synchronized (handlers) { - if (handlers.contains(handler)) { - handlers.remove(handler); - } - } - } - super.childHandlerDisposed(childHandler, childThing); - } - - /** - * Returns Siemens LOGO! communication client - * - * @return Configured Siemens LOGO! client - */ - public @Nullable PLCLogoClient getLogoClient() { - return client; - } - - /** - * Returns configured Siemens LOGO! family: 0BA7 or 0BA8 - * - * @return Configured Siemens LOGO! family - */ - public String getLogoFamily() { - return config.get().getFamily(); - } - - /** - * Returns RTC was fetched last from Siemens LOGO! - * - * @return Siemens LOGO! RTC - */ - public ZonedDateTime getLogoRTC() { - return rtc.get(); - } - - @Override - protected void updateConfiguration(Configuration configuration) { - super.updateConfiguration(configuration); - config.set(getConfigAs(PLCLogoBridgeConfiguration.class)); - } - - /** - * Read connection parameter and connect to Siemens LOGO! - * - * @return True, if connected and false otherwise - */ - private boolean connect() { - boolean result = false; - - PLCLogoClient localClient = client; - if (localClient != null) { - Integer local = config.get().getLocalTSAP(); - Integer remote = config.get().getRemoteTSAP(); - if (!localClient.isConnected() && (local != null) && (remote != null)) { - localClient.Connect(config.get().getAddress(), local.intValue(), remote.intValue()); - } - result = localClient.isConnected(); - } - return result; - } - - /** - * Disconnect from Siemens LOGO! - * - * @return True, if disconnected and false otherwise - */ - private boolean disconnect() { - boolean result = false; - - PLCLogoClient localClient = client; - if (localClient != null) { - if (localClient.isConnected()) { - localClient.Disconnect(); - } - result = !localClient.isConnected(); - } - - return result; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.plclogo.internal.handler; + +import static org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.*; + +import java.time.DateTimeException; +import java.time.ZonedDateTime; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.jdt.annotation.Nullable; +import org.eclipse.smarthome.config.core.Configuration; +import org.eclipse.smarthome.core.library.types.DateTimeType; +import org.eclipse.smarthome.core.library.types.StringType; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Channel; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingStatusDetail; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; +import org.eclipse.smarthome.core.thing.binding.ThingHandler; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.Layout; +import org.openhab.binding.plclogo.internal.PLCLogoClient; +import org.openhab.binding.plclogo.internal.config.PLCLogoBridgeConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import Moka7.S7Client; + +/** + * The {@link PLCBridgeHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Alexander Falkenstern - Initial contribution + */ +@NonNullByDefault +public class PLCBridgeHandler extends BaseBridgeHandler { + + public static final Set SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_DEVICE); + + private final Logger logger = LoggerFactory.getLogger(PLCBridgeHandler.class); + + private Map oldValues = new HashMap<>(); + + @Nullable + private volatile PLCLogoClient client; // S7 client used for communication with Logo! + private final Set handlers = new HashSet<>(); + private AtomicReference config = new AtomicReference<>(); + + @Nullable + private ScheduledFuture rtcJob; + private AtomicReference rtc = new AtomicReference<>(ZonedDateTime.now()); + private final Runnable rtcReader = new Runnable() { + private final List channels = getThing().getChannels(); + + @Override + public void run() { + for (Channel channel : channels) { + handleCommand(channel.getUID(), RefreshType.REFRESH); + } + } + }; + + @Nullable + private ScheduledFuture readerJob; + private final Runnable dataReader = new Runnable() { + // Buffer for block data read operation + private final byte[] buffer = new byte[2048]; + + @Override + public void run() { + PLCLogoClient localClient = client; + Map memory = LOGO_MEMORY_BLOCK.get(getLogoFamily()); + Layout layout = (memory != null) ? memory.get(MEMORY_SIZE) : null; + if ((layout != null) && (localClient != null)) { + try { + int result = localClient.readDBArea(1, 0, layout.length, S7Client.S7WLByte, buffer); + if (result == 0) { + synchronized (handlers) { + for (PLCCommonHandler handler : handlers) { + int length = handler.getBufferLength(); + int address = handler.getStartAddress(); + if ((length > 0) && (address != PLCCommonHandler.INVALID)) { + handler.setData(Arrays.copyOfRange(buffer, address, address + length)); + } else { + logger.debug("Invalid handler {} found.", handler.getClass().getSimpleName()); + } + } + } + } else { + logger.debug("Can not read data from LOGO!: {}.", S7Client.ErrorText(result)); + } + } catch (Exception exception) { + logger.error("Reader thread got exception: {}.", exception.getMessage()); + } + } else { + logger.debug("Either memory block {} or LOGO! client {} is invalid.", memory, localClient); + } + } + }; + + /** + * Constructor. + */ + public PLCBridgeHandler(Bridge bridge) { + super(bridge); + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + logger.debug("Handle command {} on channel {}", command, channelUID); + + Thing thing = getThing(); + if (ThingStatus.ONLINE != thing.getStatus()) { + return; + } + + if (!(command instanceof RefreshType)) { + logger.debug("Not supported command {} received.", command); + return; + } + + PLCLogoClient localClient = client; + String channelId = channelUID.getId(); + Channel channel = thing.getChannel(channelId); + Layout layout = LOGO_CHANNELS.get(channelId); + if ((localClient != null) && (channel != null) && (layout != null)) { + byte[] buffer = new byte[layout.length]; + Arrays.fill(buffer, (byte) 0); + int result = localClient.readDBArea(1, layout.address, buffer.length, S7Client.S7WLByte, buffer); + if (result == 0) { + if (RTC_CHANNEL.equals(channelId)) { + ZonedDateTime clock = ZonedDateTime.now(); + if (!LOGO_0BA7.equalsIgnoreCase(getLogoFamily())) { + try { + int year = clock.getYear() / 100; + clock = clock.withYear(100 * year + buffer[0]); + clock = clock.withMonth(buffer[1]); + clock = clock.withDayOfMonth(buffer[2]); + clock = clock.withHour(buffer[3]); + clock = clock.withMinute(buffer[4]); + clock = clock.withSecond(buffer[5]); + } catch (DateTimeException exception) { + clock = ZonedDateTime.now(); + logger.info("Return local server time: {}.", exception.getMessage()); + } + } + rtc.set(clock); + updateState(channelUID, new DateTimeType(clock)); + } else if (DAIGNOSTICS_CHANNEL.equals(channelId)) { + Map states = LOGO_STATES.get(getLogoFamily()); + if (states != null) { + for (Integer key : states.keySet()) { + String message = states.get(buffer[0] & key.intValue()); + synchronized (oldValues) { + if ((message != null) && (oldValues.get(channelUID) != message)) { + updateState(channelUID, new StringType(message)); + oldValues.put(channelUID, message); + } + } + } + } + } else if (DAY_OF_WEEK_CHANNEL.equals(channelId)) { + String value = DAY_OF_WEEK.get(Integer.valueOf(buffer[0])); + synchronized (oldValues) { + if ((value != null) && (oldValues.get(channelUID) != value)) { + updateState(channelUID, new StringType(value)); + oldValues.put(channelUID, value); + } + } + } else { + logger.info("Invalid channel {} or client {} found.", channelUID, client); + } + + if (logger.isTraceEnabled()) { + String raw = Arrays.toString(buffer); + String type = channel.getAcceptedItemType(); + logger.trace("Channel {} accepting {} received {}.", channelUID, type, raw); + } + } else { + logger.debug("Can not read data from LOGO!: {}.", S7Client.ErrorText(result)); + } + } else { + logger.info("Invalid channel {} or client {} found.", channelUID, client); + } + } + + @Override + public void initialize() { + logger.debug("Initialize LOGO! bridge handler."); + + synchronized (oldValues) { + oldValues.clear(); + } + config.set(getConfigAs(PLCLogoBridgeConfiguration.class)); + + boolean configured = (config.get().getLocalTSAP() != null); + configured = configured && (config.get().getRemoteTSAP() != null); + + if (configured) { + if (client == null) { + client = new PLCLogoClient(); + } + configured = connect(); + } else { + String message = "Can not initialize LOGO!. Please, check ip address / TSAP settings."; + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, message); + } + + if (configured) { + String host = config.get().getAddress(); + if (readerJob == null) { + Integer interval = config.get().getRefreshRate(); + logger.info("Creating new reader job for {} with interval {} ms.", host, interval); + readerJob = scheduler.scheduleWithFixedDelay(dataReader, 100, interval, TimeUnit.MILLISECONDS); + } + if (rtcJob == null) { + logger.info("Creating new RTC job for {} with interval 1 s.", host); + rtcJob = scheduler.scheduleAtFixedRate(rtcReader, 100, 1000, TimeUnit.MILLISECONDS); + } + + updateStatus(ThingStatus.ONLINE); + } else { + String message = "Can not initialize LOGO!. Please, check network connection."; + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, message); + client = null; + } + } + + @Override + public void dispose() { + logger.debug("Dispose LOGO! bridge handler."); + super.dispose(); + + if (rtcJob != null) { + rtcJob.cancel(false); + rtcJob = null; + logger.info("Destroy RTC job for {}.", config.get().getAddress()); + } + + if (readerJob != null) { + readerJob.cancel(false); + readerJob = null; + logger.info("Destroy reader job for {}.", config.get().getAddress()); + } + + if (disconnect()) { + client = null; + } + + synchronized (oldValues) { + oldValues.clear(); + } + } + + @Override + public void childHandlerInitialized(ThingHandler childHandler, Thing childThing) { + super.childHandlerInitialized(childHandler, childThing); + if (childHandler instanceof PLCCommonHandler) { + PLCCommonHandler handler = (PLCCommonHandler) childHandler; + synchronized (handlers) { + if (!handlers.contains(handler)) { + handlers.add(handler); + } + } + } + } + + @Override + public void childHandlerDisposed(ThingHandler childHandler, Thing childThing) { + if (childHandler instanceof PLCCommonHandler) { + PLCCommonHandler handler = (PLCCommonHandler) childHandler; + synchronized (handlers) { + if (handlers.contains(handler)) { + handlers.remove(handler); + } + } + } + super.childHandlerDisposed(childHandler, childThing); + } + + /** + * Returns Siemens LOGO! communication client + * + * @return Configured Siemens LOGO! client + */ + public @Nullable PLCLogoClient getLogoClient() { + return client; + } + + /** + * Returns configured Siemens LOGO! family: 0BA7 or 0BA8 + * + * @return Configured Siemens LOGO! family + */ + public String getLogoFamily() { + return config.get().getFamily(); + } + + /** + * Returns RTC was fetched last from Siemens LOGO! + * + * @return Siemens LOGO! RTC + */ + public ZonedDateTime getLogoRTC() { + return rtc.get(); + } + + @Override + protected void updateConfiguration(Configuration configuration) { + super.updateConfiguration(configuration); + config.set(getConfigAs(PLCLogoBridgeConfiguration.class)); + } + + /** + * Read connection parameter and connect to Siemens LOGO! + * + * @return True, if connected and false otherwise + */ + private boolean connect() { + boolean result = false; + + PLCLogoClient localClient = client; + if (localClient != null) { + Integer local = config.get().getLocalTSAP(); + Integer remote = config.get().getRemoteTSAP(); + if (!localClient.isConnected() && (local != null) && (remote != null)) { + localClient.Connect(config.get().getAddress(), local.intValue(), remote.intValue()); + } + result = localClient.isConnected(); + } + return result; + } + + /** + * Disconnect from Siemens LOGO! + * + * @return True, if disconnected and false otherwise + */ + private boolean disconnect() { + boolean result = false; + + PLCLogoClient localClient = client; + if (localClient != null) { + if (localClient.isConnected()) { + localClient.Disconnect(); + } + result = !localClient.isConnected(); + } + + return result; + } +} diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCCommonHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCCommonHandler.java index 532f7ffeca82d..203340d04530c 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCCommonHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCCommonHandler.java @@ -282,5 +282,4 @@ protected void doInitialization() { protected static String getBlockFromChannel(final @Nullable Channel channel) { return channel == null ? NOT_SUPPORTED : channel.getProperties().get(BLOCK_PROPERTY); } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDateTimeHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDateTimeHandler.java index 9bafaa28fd46d..bd9b39f2e06b0 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDateTimeHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDateTimeHandler.java @@ -272,5 +272,4 @@ private void updateChannel(final Channel channel, int value) { logger.debug("Channel {} will not accept {} items.", channelUID, type); } } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDigitalHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDigitalHandler.java index 055b604565b3c..f6c5d1d280595 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDigitalHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCDigitalHandler.java @@ -321,5 +321,4 @@ private void updateChannel(final Channel channel, boolean value) { logger.debug("Channel {} will not accept {} items.", channelUID, type); } } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCMemoryHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCMemoryHandler.java index 6856d54cae05e..6da212b3c8032 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCMemoryHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCMemoryHandler.java @@ -1,326 +1,325 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.plclogo.internal.handler; - -import static org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.*; - -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.concurrent.atomic.AtomicReference; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.config.core.Configuration; -import org.eclipse.smarthome.core.library.types.DecimalType; -import org.eclipse.smarthome.core.library.types.OnOffType; -import org.eclipse.smarthome.core.thing.Bridge; -import org.eclipse.smarthome.core.thing.Channel; -import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Thing; -import org.eclipse.smarthome.core.thing.ThingStatus; -import org.eclipse.smarthome.core.thing.ThingTypeUID; -import org.eclipse.smarthome.core.thing.binding.builder.ChannelBuilder; -import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder; -import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; -import org.eclipse.smarthome.core.types.Command; -import org.eclipse.smarthome.core.types.RefreshType; -import org.eclipse.smarthome.core.types.State; -import org.openhab.binding.plclogo.internal.PLCLogoClient; -import org.openhab.binding.plclogo.internal.config.PLCMemoryConfiguration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import Moka7.S7; -import Moka7.S7Client; - -/** - * The {@link PLCMemoryHandler} is responsible for handling commands, which are - * sent to one of the channels. - * - * @author Alexander Falkenstern - Initial contribution - */ -@NonNullByDefault -public class PLCMemoryHandler extends PLCCommonHandler { - - public static final Set SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_MEMORY); - - private final Logger logger = LoggerFactory.getLogger(PLCMemoryHandler.class); - private AtomicReference config = new AtomicReference<>(); - - /** - * Constructor. - */ - public PLCMemoryHandler(Thing thing) { - super(thing); - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (!isThingOnline()) { - return; - } - - Channel channel = getThing().getChannel(channelUID.getId()); - String name = getBlockFromChannel(channel); - if (!isValid(name) || (channel == null)) { - logger.debug("Can not update channel {}, block {}.", channelUID, name); - return; - } - - int address = getAddress(name); - PLCLogoClient client = getLogoClient(); - if ((address != INVALID) && (client != null)) { - String kind = getBlockKind(); - String type = channel.getAcceptedItemType(); - if (command instanceof RefreshType) { - byte[] buffer = new byte[getBufferLength()]; - int result = client.readDBArea(1, 0, buffer.length, S7Client.S7WLByte, buffer); - if (result == 0) { - if (DIGITAL_OUTPUT_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { - boolean value = S7.GetBitAt(buffer, address, getBit(name)); - updateState(channelUID, value ? OnOffType.ON : OnOffType.OFF); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { - int value = buffer[address]; - updateState(channelUID, new DecimalType(value)); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_WORD.equalsIgnoreCase(kind)) { - int value = S7.GetShortAt(buffer, address); - updateState(channelUID, new DecimalType(value)); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_DWORD.equalsIgnoreCase(kind)) { - int value = S7.GetDIntAt(buffer, address); - updateState(channelUID, new DecimalType(value)); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } else { - logger.debug("Channel {} will not accept {} items.", channelUID, type); - } - } else { - logger.debug("Can not read data from LOGO!: {}.", S7Client.ErrorText(result)); - } - } else if (command instanceof DecimalType) { - int length = MEMORY_BYTE.equalsIgnoreCase(kind) ? 1 : 2; - byte[] buffer = new byte[MEMORY_DWORD.equalsIgnoreCase(kind) ? 4 : length]; - if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { - buffer[0] = ((DecimalType) command).byteValue(); - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_WORD.equalsIgnoreCase(kind)) { - S7.SetShortAt(buffer, 0, ((DecimalType) command).intValue()); - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_DWORD.equalsIgnoreCase(kind)) { - S7.SetDIntAt(buffer, 0, ((DecimalType) command).intValue()); - } else { - logger.debug("Channel {} will not accept {} items.", channelUID, type); - } - int result = client.writeDBArea(1, address, buffer.length, S7Client.S7WLByte, buffer); - if (result != 0) { - logger.debug("Can not write data to LOGO!: {}.", S7Client.ErrorText(result)); - } - } else if (command instanceof OnOffType) { - byte[] buffer = new byte[1]; - if (DIGITAL_OUTPUT_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { - S7.SetBitAt(buffer, 0, 0, ((OnOffType) command) == OnOffType.ON); - } else { - logger.debug("Channel {} will not accept {} items.", channelUID, type); - } - int result = client.writeDBArea(1, 8 * address + getBit(name), buffer.length, S7Client.S7WLBit, buffer); - if (result != 0) { - logger.debug("Can not write data to LOGO!: {}.", S7Client.ErrorText(result)); - } - } else { - logger.debug("Channel {} received not supported command {}.", channelUID, command); - } - } else { - logger.info("Invalid channel {} or client {} found.", channelUID, client); - } - } - - @Override - public void setData(final byte[] data) { - if (!isThingOnline()) { - return; - } - - if (data.length != getBufferLength()) { - logger.info("Received and configured data sizes does not match."); - return; - } - - List channels = thing.getChannels(); - if (channels.size() != getNumberOfChannels()) { - logger.info("Received and configured channel sizes does not match."); - return; - } - - for (Channel channel : channels) { - ChannelUID channelUID = channel.getUID(); - String name = getBlockFromChannel(channel); - - int address = getAddress(name); - if (address != INVALID) { - String kind = getBlockKind(); - String type = channel.getAcceptedItemType(); - Boolean force = config.get().isUpdateForced(); - - if (DIGITAL_OUTPUT_ITEM.equalsIgnoreCase(type) && kind.equalsIgnoreCase(MEMORY_BYTE)) { - OnOffType state = (OnOffType) getOldValue(name); - OnOffType value = S7.GetBitAt(data, address, getBit(name)) ? OnOffType.ON : OnOffType.OFF; - if ((state == null) || (value != state) || force) { - updateState(channelUID, value); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } - if (logger.isTraceEnabled()) { - int buffer = (data[address] & 0xFF) + 0x100; - logger.trace("Channel {} received [{}].", channelUID, - Integer.toBinaryString(buffer).substring(1)); - } - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { - Integer threshold = config.get().getThreshold(); - DecimalType state = (DecimalType) getOldValue(name); - int value = data[address]; - if ((state == null) || (Math.abs(value - state.intValue()) > threshold) || force) { - updateState(channelUID, new DecimalType(value)); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } - if (logger.isTraceEnabled()) { - logger.trace("Channel {} received [{}].", channelUID, data[address]); - } - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_WORD.equalsIgnoreCase(kind)) { - Integer threshold = config.get().getThreshold(); - DecimalType state = (DecimalType) getOldValue(name); - int value = S7.GetShortAt(data, address); - if ((state == null) || (Math.abs(value - state.intValue()) > threshold) || force) { - updateState(channelUID, new DecimalType(value)); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } - if (logger.isTraceEnabled()) { - logger.trace("Channel {} received [{}, {}].", channelUID, data[address], data[address + 1]); - } - } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_DWORD.equalsIgnoreCase(kind)) { - Integer threshold = config.get().getThreshold(); - DecimalType state = (DecimalType) getOldValue(name); - int value = S7.GetDIntAt(data, address); - if ((state == null) || (Math.abs(value - state.intValue()) > threshold) || force) { - updateState(channelUID, new DecimalType(value)); - logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); - } - if (logger.isTraceEnabled()) { - logger.trace("Channel {} received [{}, {}, {}, {}].", channelUID, data[address], - data[address + 1], data[address + 2], data[address + 3]); - } - } else { - logger.debug("Channel {} will not accept {} items.", channelUID, type); - } - } else { - logger.info("Invalid channel {} found.", channelUID); - } - } - } - - @Override - protected void updateState(ChannelUID channelUID, State state) { - super.updateState(channelUID, state); - - Channel channel = thing.getChannel(channelUID.getId()); - setOldValue(getBlockFromChannel(channel), state); - } - - @Override - protected void updateConfiguration(Configuration configuration) { - super.updateConfiguration(configuration); - config.set(getConfigAs(PLCMemoryConfiguration.class)); - } - - @Override - protected boolean isValid(final String name) { - if (3 <= name.length() && (name.length() <= 7)) { - String kind = getBlockKind(); - if (Character.isDigit(name.charAt(2))) { - boolean valid = MEMORY_BYTE.equalsIgnoreCase(kind) || MEMORY_WORD.equalsIgnoreCase(kind); - return name.startsWith(kind) && (valid || MEMORY_DWORD.equalsIgnoreCase(kind)); - } - } - return false; - } - - @Override - protected String getBlockKind() { - return config.get().getBlockKind(); - } - - @Override - protected int getNumberOfChannels() { - return 1; - } - - @Override - protected void doInitialization() { - Thing thing = getThing(); - logger.debug("Initialize LOGO! memory handler."); - - config.set(getConfigAs(PLCMemoryConfiguration.class)); - - super.doInitialization(); - if (ThingStatus.OFFLINE != thing.getStatus()) { - String kind = getBlockKind(); - String name = config.get().getBlockName(); - boolean isDigital = MEMORY_BYTE.equalsIgnoreCase(kind) && (getBit(name) != INVALID); - String text = isDigital ? "Digital" : "Analog"; - - ThingBuilder tBuilder = editThing(); - - String label = thing.getLabel(); - if (label == null) { - Bridge bridge = getBridge(); - label = (bridge == null) || (bridge.getLabel() == null) ? "Siemens Logo!" : bridge.getLabel(); - label += (": " + text.toLowerCase() + " in/output"); - } - tBuilder.withLabel(label); - - String type = config.get().getChannelType(); - ChannelUID uid = new ChannelUID(thing.getUID(), isDigital ? STATE_CHANNEL : VALUE_CHANNEL); - ChannelBuilder cBuilder = ChannelBuilder.create(uid, type); - cBuilder.withType(new ChannelTypeUID(BINDING_ID, type.toLowerCase())); - cBuilder.withLabel(name); - cBuilder.withDescription(text + " in/output block " + name); - cBuilder.withProperties(Collections.singletonMap(BLOCK_PROPERTY, name)); - tBuilder.withChannel(cBuilder.build()); - setOldValue(name, null); - - updateThing(tBuilder.build()); - updateStatus(ThingStatus.ONLINE); - } - } - - /** - * Calculate bit within address for block with given name. - * - * @param name Name of the LOGO! block - * @return Calculated bit - */ - private int getBit(final String name) { - int bit = INVALID; - - logger.debug("Get bit of {} LOGO! for block {} .", getLogoFamily(), name); - - if (isValid(name) && (getAddress(name) != INVALID)) { - String[] parts = name.trim().split("\\."); - if (parts.length > 1) { - bit = Integer.parseInt(parts[1]); - } - } else { - logger.info("Wrong configurated LOGO! block {} found.", name); - } - - return bit; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.plclogo.internal.handler; + +import static org.openhab.binding.plclogo.internal.PLCLogoBindingConstants.*; + +import java.util.Collections; +import java.util.List; +import java.util.Set; +import java.util.concurrent.atomic.AtomicReference; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.config.core.Configuration; +import org.eclipse.smarthome.core.library.types.DecimalType; +import org.eclipse.smarthome.core.library.types.OnOffType; +import org.eclipse.smarthome.core.thing.Bridge; +import org.eclipse.smarthome.core.thing.Channel; +import org.eclipse.smarthome.core.thing.ChannelUID; +import org.eclipse.smarthome.core.thing.Thing; +import org.eclipse.smarthome.core.thing.ThingStatus; +import org.eclipse.smarthome.core.thing.ThingTypeUID; +import org.eclipse.smarthome.core.thing.binding.builder.ChannelBuilder; +import org.eclipse.smarthome.core.thing.binding.builder.ThingBuilder; +import org.eclipse.smarthome.core.thing.type.ChannelTypeUID; +import org.eclipse.smarthome.core.types.Command; +import org.eclipse.smarthome.core.types.RefreshType; +import org.eclipse.smarthome.core.types.State; +import org.openhab.binding.plclogo.internal.PLCLogoClient; +import org.openhab.binding.plclogo.internal.config.PLCMemoryConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import Moka7.S7; +import Moka7.S7Client; + +/** + * The {@link PLCMemoryHandler} is responsible for handling commands, which are + * sent to one of the channels. + * + * @author Alexander Falkenstern - Initial contribution + */ +@NonNullByDefault +public class PLCMemoryHandler extends PLCCommonHandler { + + public static final Set SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_MEMORY); + + private final Logger logger = LoggerFactory.getLogger(PLCMemoryHandler.class); + private AtomicReference config = new AtomicReference<>(); + + /** + * Constructor. + */ + public PLCMemoryHandler(Thing thing) { + super(thing); + } + + @Override + public void handleCommand(ChannelUID channelUID, Command command) { + if (!isThingOnline()) { + return; + } + + Channel channel = getThing().getChannel(channelUID.getId()); + String name = getBlockFromChannel(channel); + if (!isValid(name) || (channel == null)) { + logger.debug("Can not update channel {}, block {}.", channelUID, name); + return; + } + + int address = getAddress(name); + PLCLogoClient client = getLogoClient(); + if ((address != INVALID) && (client != null)) { + String kind = getBlockKind(); + String type = channel.getAcceptedItemType(); + if (command instanceof RefreshType) { + byte[] buffer = new byte[getBufferLength()]; + int result = client.readDBArea(1, 0, buffer.length, S7Client.S7WLByte, buffer); + if (result == 0) { + if (DIGITAL_OUTPUT_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { + boolean value = S7.GetBitAt(buffer, address, getBit(name)); + updateState(channelUID, value ? OnOffType.ON : OnOffType.OFF); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { + int value = buffer[address]; + updateState(channelUID, new DecimalType(value)); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_WORD.equalsIgnoreCase(kind)) { + int value = S7.GetShortAt(buffer, address); + updateState(channelUID, new DecimalType(value)); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_DWORD.equalsIgnoreCase(kind)) { + int value = S7.GetDIntAt(buffer, address); + updateState(channelUID, new DecimalType(value)); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } else { + logger.debug("Channel {} will not accept {} items.", channelUID, type); + } + } else { + logger.debug("Can not read data from LOGO!: {}.", S7Client.ErrorText(result)); + } + } else if (command instanceof DecimalType) { + int length = MEMORY_BYTE.equalsIgnoreCase(kind) ? 1 : 2; + byte[] buffer = new byte[MEMORY_DWORD.equalsIgnoreCase(kind) ? 4 : length]; + if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { + buffer[0] = ((DecimalType) command).byteValue(); + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_WORD.equalsIgnoreCase(kind)) { + S7.SetShortAt(buffer, 0, ((DecimalType) command).intValue()); + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_DWORD.equalsIgnoreCase(kind)) { + S7.SetDIntAt(buffer, 0, ((DecimalType) command).intValue()); + } else { + logger.debug("Channel {} will not accept {} items.", channelUID, type); + } + int result = client.writeDBArea(1, address, buffer.length, S7Client.S7WLByte, buffer); + if (result != 0) { + logger.debug("Can not write data to LOGO!: {}.", S7Client.ErrorText(result)); + } + } else if (command instanceof OnOffType) { + byte[] buffer = new byte[1]; + if (DIGITAL_OUTPUT_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { + S7.SetBitAt(buffer, 0, 0, ((OnOffType) command) == OnOffType.ON); + } else { + logger.debug("Channel {} will not accept {} items.", channelUID, type); + } + int result = client.writeDBArea(1, 8 * address + getBit(name), buffer.length, S7Client.S7WLBit, buffer); + if (result != 0) { + logger.debug("Can not write data to LOGO!: {}.", S7Client.ErrorText(result)); + } + } else { + logger.debug("Channel {} received not supported command {}.", channelUID, command); + } + } else { + logger.info("Invalid channel {} or client {} found.", channelUID, client); + } + } + + @Override + public void setData(final byte[] data) { + if (!isThingOnline()) { + return; + } + + if (data.length != getBufferLength()) { + logger.info("Received and configured data sizes does not match."); + return; + } + + List channels = thing.getChannels(); + if (channels.size() != getNumberOfChannels()) { + logger.info("Received and configured channel sizes does not match."); + return; + } + + for (Channel channel : channels) { + ChannelUID channelUID = channel.getUID(); + String name = getBlockFromChannel(channel); + + int address = getAddress(name); + if (address != INVALID) { + String kind = getBlockKind(); + String type = channel.getAcceptedItemType(); + Boolean force = config.get().isUpdateForced(); + + if (DIGITAL_OUTPUT_ITEM.equalsIgnoreCase(type) && kind.equalsIgnoreCase(MEMORY_BYTE)) { + OnOffType state = (OnOffType) getOldValue(name); + OnOffType value = S7.GetBitAt(data, address, getBit(name)) ? OnOffType.ON : OnOffType.OFF; + if ((state == null) || (value != state) || force) { + updateState(channelUID, value); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } + if (logger.isTraceEnabled()) { + int buffer = (data[address] & 0xFF) + 0x100; + logger.trace("Channel {} received [{}].", channelUID, + Integer.toBinaryString(buffer).substring(1)); + } + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_BYTE.equalsIgnoreCase(kind)) { + Integer threshold = config.get().getThreshold(); + DecimalType state = (DecimalType) getOldValue(name); + int value = data[address]; + if ((state == null) || (Math.abs(value - state.intValue()) > threshold) || force) { + updateState(channelUID, new DecimalType(value)); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } + if (logger.isTraceEnabled()) { + logger.trace("Channel {} received [{}].", channelUID, data[address]); + } + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_WORD.equalsIgnoreCase(kind)) { + Integer threshold = config.get().getThreshold(); + DecimalType state = (DecimalType) getOldValue(name); + int value = S7.GetShortAt(data, address); + if ((state == null) || (Math.abs(value - state.intValue()) > threshold) || force) { + updateState(channelUID, new DecimalType(value)); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } + if (logger.isTraceEnabled()) { + logger.trace("Channel {} received [{}, {}].", channelUID, data[address], data[address + 1]); + } + } else if (ANALOG_ITEM.equalsIgnoreCase(type) && MEMORY_DWORD.equalsIgnoreCase(kind)) { + Integer threshold = config.get().getThreshold(); + DecimalType state = (DecimalType) getOldValue(name); + int value = S7.GetDIntAt(data, address); + if ((state == null) || (Math.abs(value - state.intValue()) > threshold) || force) { + updateState(channelUID, new DecimalType(value)); + logger.debug("Channel {} accepting {} was set to {}.", channelUID, type, value); + } + if (logger.isTraceEnabled()) { + logger.trace("Channel {} received [{}, {}, {}, {}].", channelUID, data[address], + data[address + 1], data[address + 2], data[address + 3]); + } + } else { + logger.debug("Channel {} will not accept {} items.", channelUID, type); + } + } else { + logger.info("Invalid channel {} found.", channelUID); + } + } + } + + @Override + protected void updateState(ChannelUID channelUID, State state) { + super.updateState(channelUID, state); + + Channel channel = thing.getChannel(channelUID.getId()); + setOldValue(getBlockFromChannel(channel), state); + } + + @Override + protected void updateConfiguration(Configuration configuration) { + super.updateConfiguration(configuration); + config.set(getConfigAs(PLCMemoryConfiguration.class)); + } + + @Override + protected boolean isValid(final String name) { + if (3 <= name.length() && (name.length() <= 7)) { + String kind = getBlockKind(); + if (Character.isDigit(name.charAt(2))) { + boolean valid = MEMORY_BYTE.equalsIgnoreCase(kind) || MEMORY_WORD.equalsIgnoreCase(kind); + return name.startsWith(kind) && (valid || MEMORY_DWORD.equalsIgnoreCase(kind)); + } + } + return false; + } + + @Override + protected String getBlockKind() { + return config.get().getBlockKind(); + } + + @Override + protected int getNumberOfChannels() { + return 1; + } + + @Override + protected void doInitialization() { + Thing thing = getThing(); + logger.debug("Initialize LOGO! memory handler."); + + config.set(getConfigAs(PLCMemoryConfiguration.class)); + + super.doInitialization(); + if (ThingStatus.OFFLINE != thing.getStatus()) { + String kind = getBlockKind(); + String name = config.get().getBlockName(); + boolean isDigital = MEMORY_BYTE.equalsIgnoreCase(kind) && (getBit(name) != INVALID); + String text = isDigital ? "Digital" : "Analog"; + + ThingBuilder tBuilder = editThing(); + + String label = thing.getLabel(); + if (label == null) { + Bridge bridge = getBridge(); + label = (bridge == null) || (bridge.getLabel() == null) ? "Siemens Logo!" : bridge.getLabel(); + label += (": " + text.toLowerCase() + " in/output"); + } + tBuilder.withLabel(label); + + String type = config.get().getChannelType(); + ChannelUID uid = new ChannelUID(thing.getUID(), isDigital ? STATE_CHANNEL : VALUE_CHANNEL); + ChannelBuilder cBuilder = ChannelBuilder.create(uid, type); + cBuilder.withType(new ChannelTypeUID(BINDING_ID, type.toLowerCase())); + cBuilder.withLabel(name); + cBuilder.withDescription(text + " in/output block " + name); + cBuilder.withProperties(Collections.singletonMap(BLOCK_PROPERTY, name)); + tBuilder.withChannel(cBuilder.build()); + setOldValue(name, null); + + updateThing(tBuilder.build()); + updateStatus(ThingStatus.ONLINE); + } + } + + /** + * Calculate bit within address for block with given name. + * + * @param name Name of the LOGO! block + * @return Calculated bit + */ + private int getBit(final String name) { + int bit = INVALID; + + logger.debug("Get bit of {} LOGO! for block {} .", getLogoFamily(), name); + + if (isValid(name) && (getAddress(name) != INVALID)) { + String[] parts = name.trim().split("\\."); + if (parts.length > 1) { + bit = Integer.parseInt(parts[1]); + } + } else { + logger.info("Wrong configurated LOGO! block {} found.", name); + } + + return bit; + } +} diff --git a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCPulseHandler.java b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCPulseHandler.java index eb85d0477f0b3..66fcd74ee3752 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCPulseHandler.java +++ b/bundles/org.openhab.binding.plclogo/src/main/java/org/openhab/binding/plclogo/internal/handler/PLCPulseHandler.java @@ -336,5 +336,4 @@ private void updateChannel(final Channel channel, boolean value) { logger.debug("Channel {} will not accept {} items.", channelUID, type); } } - } diff --git a/bundles/org.openhab.binding.plclogo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.plclogo/src/main/resources/ESH-INF/binding/binding.xml index 5416bd87367d8..05ec335d36cbe 100644 --- a/bundles/org.openhab.binding.plclogo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.plclogo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - - - + + Chill temperature in degree Celsius - - - + + + diff --git a/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComCamera1MessageTest.java b/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComCamera1MessageTest.java index b0f2364790c84..ae521a5c01b1d 100644 --- a/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComCamera1MessageTest.java +++ b/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComCamera1MessageTest.java @@ -29,5 +29,4 @@ public class RFXComCamera1MessageTest { public void checkNotImplemented() throws Exception { RFXComMessageFactory.createMessage(PacketType.CAMERA1); } - } diff --git a/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComLighting1MessageTest.java b/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComLighting1MessageTest.java index 7e6e24f4b0fd6..1cb37e9b984df 100644 --- a/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComLighting1MessageTest.java +++ b/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComLighting1MessageTest.java @@ -109,5 +109,4 @@ public void testCommandStringDim() throws RFXComUnsupportedChannelException { assertEquals(OpenClosedType.CLOSED, msg.convertToState(CHANNEL_CONTACT, deviceState)); assertEquals(StringType.valueOf("DIM"), msg.convertToState(CHANNEL_COMMAND_STRING, deviceState)); } - } diff --git a/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComTemperatureHumidityMessageTest.java b/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComTemperatureHumidityMessageTest.java index c86ff87201bfe..0bba145bea620 100644 --- a/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComTemperatureHumidityMessageTest.java +++ b/bundles/org.openhab.binding.rfxcom/src/test/java/org/openhab/binding/rfxcom/internal/messages/RFXComTemperatureHumidityMessageTest.java @@ -57,5 +57,4 @@ public void testSomeMessages() throws RFXComException { testMessage("0A520211700200A72D0089", TH2, 17, 28674, 16.7, 45, NORMAL, 8, 9); testMessage("0A5205D42F000082590379", TH5, 212, 12032, 13, 89, WET, 7, 9); } - } diff --git a/bundles/org.openhab.binding.rme/pom.xml b/bundles/org.openhab.binding.rme/pom.xml index 1e725fc58d6f7..e5b8701fdd457 100644 --- a/bundles/org.openhab.binding.rme/pom.xml +++ b/bundles/org.openhab.binding.rme/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.rme/src/main/feature/feature.xml b/bundles/org.openhab.binding.rme/src/main/feature/feature.xml index c63a7ae985243..89deb767af363 100644 --- a/bundles/org.openhab.binding.rme/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.rme/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.rme/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.rme/${project.version} + diff --git a/bundles/org.openhab.binding.rme/src/main/java/org/openhab/binding/rme/internal/RMEBindingConstants.java b/bundles/org.openhab.binding.rme/src/main/java/org/openhab/binding/rme/internal/RMEBindingConstants.java index c2b23b72cf428..12dceb420a51b 100644 --- a/bundles/org.openhab.binding.rme/src/main/java/org/openhab/binding/rme/internal/RMEBindingConstants.java +++ b/bundles/org.openhab.binding.rme/src/main/java/org/openhab/binding/rme/internal/RMEBindingConstants.java @@ -83,7 +83,5 @@ public static DataField get(String valueSelectorText) throws IllegalArgumentExce public String channelID() { return this.id; } - } - } diff --git a/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/binding/binding.xml index 161e6d0eb753e..64b6332e3c657 100644 --- a/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - openHAB RME Binding diff --git a/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/thing/rme.xml b/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/thing/rme.xml index c673f50ca04a1..d76fe62b9437b 100644 --- a/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/thing/rme.xml +++ b/bundles/org.openhab.binding.rme/src/main/resources/ESH-INF/thing/rme.xml @@ -5,12 +5,13 @@ - The RME Rain Manager is a controllable water supply unit that can monitor a gauge in a cistern, and switch between rain water and city provided water + The RME Rain Manager is a controllable water supply unit that can monitor a gauge in a cistern, and + switch between rain water and city provided water - - - + + + @@ -49,7 +50,7 @@ Number Indicates the % the cistern is filled with water - + diff --git a/bundles/org.openhab.binding.robonect/pom.xml b/bundles/org.openhab.binding.robonect/pom.xml index fa738593db47d..c65869b6d88e9 100644 --- a/bundles/org.openhab.binding.robonect/pom.xml +++ b/bundles/org.openhab.binding.robonect/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.robonect/src/main/feature/feature.xml b/bundles/org.openhab.binding.robonect/src/main/feature/feature.xml index ccc77ebac3e70..a7409bc1202eb 100644 --- a/bundles/org.openhab.binding.robonect/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.robonect/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.robonect/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.robonect/${project.version} + diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectBindingConstants.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectBindingConstants.java index 61b68ff47fadc..2fb93218649aa 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectBindingConstants.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectBindingConstants.java @@ -39,22 +39,20 @@ public class RobonectBindingConstants { public static final String CHANNEL_TIMER_STATUS = "timer-status"; public static final String CHANNEL_TIMER_NEXT_TIMER = "timer-next"; public static final String CHANNEL_WLAN_SIGNAL = "wlan-signal"; - + public static final String CHANNEL_JOB = "job"; - + public static final String CHANNEL_ERROR_CODE = "error-code"; public static final String CHANNEL_ERROR_MESSAGE = "error-message"; public static final String CHANNEL_ERROR_DATE = "error-date"; - + public static final String CHANNEL_LAST_ERROR_CODE = "last-error-code"; public static final String CHANNEL_LAST_ERROR_MESSAGE = "last-error-message"; public static final String CHANNEL_LAST_ERROR_DATE = "last-error-date"; - + public static final String CHANNEL_HEALTH_TEMP = "health-temperature"; public static final String CHANNEL_HEALTH_HUM = "health-humidity"; - + public static final String PROPERTY_COMPILED = "compiled"; public static final String PROPERTY_COMMENT = "comment"; - - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectClient.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectClient.java index 1bef800975c74..df04beb1c20f6 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectClient.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectClient.java @@ -68,7 +68,7 @@ public class RobonectClient { * The {@link JobSettings} class holds the values required for starting a job. */ public static class JobSettings { - + private static final String TIME_REGEX = "^[012]\\d:\\d\\d$"; private final Logger logger = LoggerFactory.getLogger(RobonectClient.class); @@ -128,7 +128,6 @@ public JobSettings withDuration(int duration) { this.duration = duration; return this; } - } private static class BasicResult implements Authentication.Result { @@ -137,7 +136,6 @@ private static class BasicResult implements Authentication.Result { private final URI uri; private final String value; - public BasicResult(HttpHeader header, URI uri, String value) { this.header = header; this.uri = uri; @@ -155,16 +153,14 @@ public void apply(Request request) { public String toString() { return String.format("Basic authentication result for %s", this.uri); } - } - /** * Creates an instance of RobonectClient which allows to communicate with the specified endpoint via the passed * httpClient instance. * * @param httpClient - The HttpClient to use for the communication. - * @param endpoint - The endpoint information for connecting and issuing commands. + * @param endpoint - The endpoint information for connecting and issuing commands. */ public RobonectClient(HttpClient httpClient, RobonectEndpoint endpoint) { this.httpClient = httpClient; @@ -179,10 +175,8 @@ public RobonectClient(HttpClient httpClient, RobonectEndpoint endpoint) { private void addPreemptiveAuthentication(HttpClient httpClient, RobonectEndpoint endpoint) { AuthenticationStore auth = httpClient.getAuthenticationStore(); URI uri = URI.create(baseUrl); - auth.addAuthenticationResult(new BasicResult(HttpHeader.AUTHORIZATION, uri, - "Basic " - + B64Code.encode(endpoint.getUser() + ":" + endpoint.getPassword(), - StandardCharsets.ISO_8859_1))); + auth.addAuthenticationResult(new BasicResult(HttpHeader.AUTHORIZATION, uri, "Basic " + + B64Code.encode(endpoint.getUser() + ":" + endpoint.getPassword(), StandardCharsets.ISO_8859_1))); } /** @@ -194,9 +188,10 @@ public MowerInfo getMowerInfo() { String responseString = sendCommand(new StatusCommand()); MowerInfo mowerInfo = parser.parse(responseString, MowerInfo.class); if (jobRunning) { - // mode might have been changed on the mower. Also Mode JOB does not really exist on the mower, thus cannot be checked here + // mode might have been changed on the mower. Also Mode JOB does not really exist on the mower, thus cannot + // be checked here if (mowerInfo.getStatus().getMode() == MowerMode.AUTO - || mowerInfo.getStatus().getMode() == MowerMode.HOME) { + || mowerInfo.getStatus().getMode() == MowerMode.HOME) { jobRunning = false; } else if (mowerInfo.getError() != null) { jobRunning = false; @@ -246,7 +241,8 @@ public ErrorList errorList() { } /** - * Sets the mode of the mower. See {@link ModeCommand.Mode} for details about the available modes. Not allowed is mode + * Sets the mode of the mower. See {@link ModeCommand.Mode} for details about the available modes. Not allowed is + * mode * {@link ModeCommand.Mode#JOB}. * * @param mode - the desired mower mode. @@ -291,7 +287,7 @@ private String sendCommand(Command command) { logger.debug("send HTTP GET to: {} ", command.toCommandURL(baseUrl)); } ContentResponse response = httpClient.newRequest(command.toCommandURL(baseUrl)).method(HttpMethod.GET) - .timeout(30000, TimeUnit.MILLISECONDS).send(); + .timeout(30000, TimeUnit.MILLISECONDS).send(); String responseString = null; // jetty uses UTF-8 as default encoding. However, HTTP 1.1 specifies ISO_8859_1 @@ -322,14 +318,13 @@ public VersionInfo getVersionInfo() { return parser.parse(versionResponse, VersionInfo.class); } - public boolean isJobRunning() { return jobRunning; } public RobonectAnswer startJob(JobSettings settings) { - Command jobCommand = new ModeCommand(ModeCommand.Mode.JOB).withRemoteStart(settings.remoteStart).withAfter( - settings.after).withDuration(settings.duration); + Command jobCommand = new ModeCommand(ModeCommand.Mode.JOB).withRemoteStart(settings.remoteStart) + .withAfter(settings.after).withDuration(settings.duration); String responseString = sendCommand(jobCommand); RobonectAnswer answer = parser.parse(responseString, RobonectAnswer.class); if (answer.isSuccessful()) { diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectEndpoint.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectEndpoint.java index cdbef928859d6..c2fe001256261 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectEndpoint.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectEndpoint.java @@ -20,13 +20,13 @@ * @author Marco Meyer - Initial contribution */ public class RobonectEndpoint { - + private final String ipAddress; - + private final String user; - + private final String password; - + private boolean useAuthentication = false; public RobonectEndpoint(String ipAddress, String user, String password) { diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectHandlerFactory.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectHandlerFactory.java index a7826b46ef912..09d7939f21de2 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectHandlerFactory.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/RobonectHandlerFactory.java @@ -65,5 +65,4 @@ protected void setHttpClientFactory(HttpClientFactory httpClientFactory) { protected void unsetHttpClientFactory(HttpClientFactory httpClientFactory) { this.httpClient = null; } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/JobChannelConfig.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/JobChannelConfig.java index 75543dd60212a..fd47bab8f9d7d 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/JobChannelConfig.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/JobChannelConfig.java @@ -18,11 +18,11 @@ * @author Marco Meyer - Initial contribution */ public class JobChannelConfig { - + private String remoteStart; - + private String afterMode; - + private int duration; public String getRemoteStart() { diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/RobonectConfig.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/RobonectConfig.java index 53b3cec6a2372..db5b246b5e567 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/RobonectConfig.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/config/RobonectConfig.java @@ -19,15 +19,15 @@ * @author Marco Meyer - Initial contribution */ public class RobonectConfig { - + private String host; - + private String user; - + private String password; - + private int pollInterval; - + private int offlineTimeout; public String getHost() { diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/handler/RobonectHandler.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/handler/RobonectHandler.java index d8651b231941b..583eaf317c654 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/handler/RobonectHandler.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/handler/RobonectHandler.java @@ -250,7 +250,6 @@ private void refreshMowerInfo() { } else { logger.error("Could not retrieve mower info. Robonect error response message: {}", info.getErrorMessage()); } - } private void clearErrorInfo() { @@ -340,7 +339,6 @@ public void initialize() { Runnable runnable = new MowerChannelPoller(TimeUnit.SECONDS.toMillis(robonectConfig.getOfflineTimeout())); int pollInterval = robonectConfig.getPollInterval(); pollingJob = scheduler.scheduleWithFixedDelay(runnable, 0, pollInterval, TimeUnit.SECONDS); - } @Override diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorEntry.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorEntry.java index ec9a4da22b57a..74cbf6d63608e 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorEntry.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorEntry.java @@ -19,18 +19,18 @@ * * @author Marco Meyer - Initial contribution */ -public class ErrorEntry { - - private String date; - +public class ErrorEntry { + + private String date; + @SerializedName("error_code") private Integer errorCode; - + @SerializedName("error_message") private String errorMessage; private String time; - + private String unix; /** @@ -48,7 +48,7 @@ public Integer getErrorCode() { } /** - * @return - The localized error message from the mower. + * @return - The localized error message from the mower. */ public String getErrorMessage() { return errorMessage; diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorList.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorList.java index 2cbd2d2b170f4..32de9ea43120b 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorList.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ErrorList.java @@ -20,7 +20,7 @@ * @author Marco Meyer - Initial contribution */ public class ErrorList extends RobonectAnswer { - + private List errors; /** diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Health.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Health.java index 3f5ea7fbe62ad..38e46260a5853 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Health.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Health.java @@ -19,9 +19,9 @@ * @author Marco Meyer - Initial contribution */ public class Health { - + private int temperature; - + private int humidity; /** diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ModelParser.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ModelParser.java index 59cc8fa3ec0ab..a3b0a08044986 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ModelParser.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/ModelParser.java @@ -21,12 +21,11 @@ * @author Marco Meyer - Initial contribution */ public class ModelParser { - - + private final Gson gson; /** - * Creates a parser with containing a preconfigured Gson object capable of parsing the JSON answers from the + * Creates a parser with containing a preconfigured Gson object capable of parsing the JSON answers from the * Robonect module. */ public ModelParser() { @@ -34,18 +33,18 @@ public ModelParser() { gsonBuilder.registerTypeAdapter(MowerStatus.class, new MowerStatusDeserializer()); gsonBuilder.registerTypeAdapter(MowerMode.class, new MowerModeDeserializer()); gsonBuilder.registerTypeAdapter(Timer.TimerMode.class, new TimerModeDeserializer()); - this.gson = gsonBuilder.create(); + this.gson = gsonBuilder.create(); } /** * Parses a jsonString to a Java Object of the specified type. + * * @param jsonString - the json string to parse * @param type - the class of the type of the expected object to be returned. * @param - the type of expected return value. * @return */ - public T parse(String jsonString,Class type){ + public T parse(String jsonString, Class type) { return gson.fromJson(jsonString, type); } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerMode.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerMode.java index 28abf8930948e..91847ccee4ee1 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerMode.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerMode.java @@ -13,7 +13,7 @@ package org.openhab.binding.robonect.internal.model; /** - * The mower mode from the status information. Please note + * The mower mode from the status information. Please note * that EOD and JOB from {@link org.openhab.binding.robonect.internal.model.cmd.ModeCommand.Mode} * are just artificial and are therfore not reported in the status information. * @@ -55,6 +55,7 @@ public enum MowerMode { /** * Translate the numeric mode from the JSON response into enum values. + * * @param mode - the numeric value of the mode. * @return - the enum value of the mode. */ @@ -73,5 +74,4 @@ public static MowerMode fromMode(int mode) { public int getCode() { return code; } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatus.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatus.java index 31933364d4573..d4bd61048c4f2 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatus.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatus.java @@ -16,7 +16,7 @@ import org.slf4j.LoggerFactory; /** - * An enumeration for the possible mower status. + * An enumeration for the possible mower status. * * @author Marco Meyer - Initial contribution */ @@ -86,6 +86,7 @@ public enum MowerStatus { /** * translates a numeric code into an enum value. If code is not known the value {@link #UNKNOWN} is returned. + * * @param code - the code to translate * @return - the correpsonding enum value. */ @@ -101,10 +102,10 @@ public static MowerStatus fromCode(int code) { /** * returns the numeric code of the status. + * * @return */ public int getStatusCode() { return statusCode; } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatusDeserializer.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatusDeserializer.java index 38668d5827f3b..391bdbf8128fa 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatusDeserializer.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/MowerStatusDeserializer.java @@ -24,7 +24,7 @@ * * @author Marco Meyer - Initial contribution */ -public class MowerStatusDeserializer implements JsonDeserializer{ +public class MowerStatusDeserializer implements JsonDeserializer { @Override public MowerStatus deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Name.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Name.java index 5061bd4bc2a8e..3bfa46d4e4a24 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Name.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Name.java @@ -18,7 +18,7 @@ * @author Marco Meyer - Initial contribution */ public class Name extends RobonectAnswer { - + private String name; /** diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/NextTimer.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/NextTimer.java index 1cf3393da288b..2e019b47a07d6 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/NextTimer.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/NextTimer.java @@ -18,7 +18,7 @@ * @author Marco Meyer - Initial contribution */ public class NextTimer { - + private String date; private String time; private String unix; diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/RobonectAnswer.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/RobonectAnswer.java index b5a44fccf98a6..47d8c51332cc8 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/RobonectAnswer.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/RobonectAnswer.java @@ -22,12 +22,12 @@ * @author Marco Meyer - Initial contribution */ public class RobonectAnswer { - + private boolean successful; @SerializedName("error_code") private Integer errorCode; - + @SerializedName("error_message") private String errorMessage; @@ -40,12 +40,13 @@ public boolean isSuccessful() { /** * allows to set the successful status for testing. + * * @param successful */ - public void setSuccessful(boolean successful){ + public void setSuccessful(boolean successful) { this.successful = successful; } - + /** * @return - in case of a not successful request, the error code, null otherwise. */ @@ -59,5 +60,4 @@ public Integer getErrorCode() { public String getErrorMessage() { return errorMessage; } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Timer.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Timer.java index d69c80f27af98..bd8fe7276482b 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Timer.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/Timer.java @@ -20,9 +20,9 @@ public class Timer { /** - * an enum defining the possible timer status. + * an enum defining the possible timer status. */ - public enum TimerMode{ + public enum TimerMode { /** * timer is inactive. No timer is set or the mower is not in AUTO mode. */ @@ -37,10 +37,10 @@ public enum TimerMode{ * timer is standby. A timer is set, the mower is in AUTO mode but the timer period did not start yet. */ STANDBY(2); - + private int code; - - TimerMode(int code){ + + TimerMode(int code) { this.code = code; } @@ -57,7 +57,7 @@ public static TimerMode fromCode(int code) { return INACTIVE; } } - + private TimerMode status; private NextTimer next; diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/TimerModeDeserializer.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/TimerModeDeserializer.java index c641f79be3b7a..ccbfb7e908dcd 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/TimerModeDeserializer.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/TimerModeDeserializer.java @@ -25,13 +25,11 @@ * @author Marco Meyer - Initial contribution */ public class TimerModeDeserializer implements JsonDeserializer { - @Override public Timer.TimerMode deserialize(JsonElement jsonElement, Type type, - JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { + JsonDeserializationContext jsonDeserializationContext) throws JsonParseException { int code = jsonElement.getAsInt(); return Timer.TimerMode.fromCode(code); } -} - +} diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/VersionInfo.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/VersionInfo.java index aef9dd09a2498..f994e7d7752e2 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/VersionInfo.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/VersionInfo.java @@ -19,15 +19,15 @@ */ public class VersionInfo extends RobonectAnswer { - private static final RobonectVersion NA_VERSION = new RobonectVersion(); + /** * encapsulates the robonect version information. */ public static class RobonectVersion { - + private static final String NA = "n/a"; - + private String serial; private String version; @@ -36,10 +36,10 @@ public static class RobonectVersion { private String comment; - public RobonectVersion(){ - this(NA,NA,NA,NA); + public RobonectVersion() { + this(NA, NA, NA, NA); } - + public RobonectVersion(String serial, String version, String compiled, String comment) { this.serial = serial; this.version = version; @@ -91,16 +91,16 @@ public void setComment(String comment) { this.comment = comment; } } - + private RobonectVersion robonect; /** * @return - the object encapsulating the version information. See {@link RobonectVersion} */ public RobonectVersion getRobonect() { - if(robonect != null){ + if (robonect != null) { return robonect; - }else { + } else { return NA_VERSION; } } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/Command.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/Command.java index ae3a8fd49e78b..a1a7b2051f3d4 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/Command.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/Command.java @@ -16,7 +16,7 @@ /** * - * Interface implemented by all commands. The robonect module is called with urls like + * Interface implemented by all commands. The robonect module is called with urls like * http://xxx.xxx.xxx/json?cmd=[command]. The command implementation is responsible to construct the full command url. * * @@ -25,10 +25,11 @@ public interface Command { /** - * Implementations of this interface have to return baseUrl + command specific extensions, where the baseURL + * Implementations of this interface have to return baseUrl + command specific extensions, where the baseURL * already is in the form http://xxx.xxx.xxx/json? - * @param baseURL - will be passed by the {@link RobonectClient} in the form - * http://xxx.xxx.xxx/json? + * + * @param baseURL - will be passed by the {@link RobonectClient} in the form + * http://xxx.xxx.xxx/json? * @return - the full command string like for example for a name command http://xxx.xxx.xxx/json?cmd=name */ String toCommandURL(String baseURL); diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ErrorCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ErrorCommand.java index b60ab0fd0056f..b359c558ea993 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ErrorCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ErrorCommand.java @@ -20,29 +20,30 @@ * @author Marco Meyer - Initial contribution */ public class ErrorCommand implements Command { - + private boolean reset = false; /** * has to be set to 'true' if the errors should be reset. + * * @param reset - true if errors should be reset, false if the list of errors should be retrieved. * @return */ - public ErrorCommand withReset(boolean reset){ + public ErrorCommand withReset(boolean reset) { this.reset = reset; return this; } /** - * @param baseURL - will be passed by the {@link RobonectClient} in the form - * http://xxx.xxx.xxx/json? + * @param baseURL - will be passed by the {@link RobonectClient} in the form + * http://xxx.xxx.xxx/json? * @return - the command for retrieving or resetting the error list. */ @Override public String toCommandURL(String baseURL) { - if(reset){ + if (reset) { return baseURL + "?cmd=error&reset"; - }else { + } else { return baseURL + "?cmd=error"; } } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ModeCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ModeCommand.java index f34c28e1fcf99..88fbcf3ff76a0 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ModeCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/ModeCommand.java @@ -19,7 +19,8 @@ * The mode commands sets the mower into the corresponding mode. In addition to the mowers standard modes * (HOME, MAN, AUTO) the module supports following modes: * - * EOD (End Of Day): The mower is set into HOME mode until midnight. After midnight the module sets the mower in AUTO mode + * EOD (End Of Day): The mower is set into HOME mode until midnight. After midnight the module sets the mower in AUTO + * mode * JOB: The JOB mode triggers a JOB and supports following additional parameter: * * remoteStart: where to start the job (STANDARD, REMOTE_1 or REMOTE_2) * * after: The mode to be set after the JOB is done. Allowed are all except JOB. @@ -75,7 +76,6 @@ public enum RemoteStart { RemoteStart(int code) { this.code = code; } - } private Mode mode; @@ -96,6 +96,7 @@ public ModeCommand(Mode mode) { /** * sets the desired remoteStart option. + * * @param remoteStart - the remoteStart option. * @return - the command instance. */ @@ -106,6 +107,7 @@ public ModeCommand withRemoteStart(RemoteStart remoteStart) { /** * set the mode after the job is done. + * * @param afterMode - the desired mode after job execution. * @return - the command instance. */ @@ -116,6 +118,7 @@ public ModeCommand withAfter(Mode afterMode) { /** * The desired start time in the format HH:MM (H=Hour, M=Minute) + * * @param startTime - the start time. * @return - the command instance. */ @@ -126,6 +129,7 @@ public ModeCommand withStart(String startTime) { /** * The desired end time in the format HH:MM (H=Hour, M=Minute) + * * @param endTime - the end time. * @return - the command instance. */ @@ -136,6 +140,7 @@ public ModeCommand withEnd(String endTime) { /** * Sets the duration in minutes. + * * @param durationInMinutes - the duration in minutes. * @return - the command instance. */ @@ -147,8 +152,8 @@ public ModeCommand withDuration(Integer durationInMinutes) { /** * {@inheritDoc} * - * @param baseURL - will be passed by the {@link RobonectClient} in the form - * http://xxx.xxx.xxx/json? + * @param baseURL - will be passed by the {@link RobonectClient} in the form + * http://xxx.xxx.xxx/json? * @return */ @Override @@ -156,30 +161,30 @@ public String toCommandURL(String baseURL) { StringBuilder sb = new StringBuilder(baseURL); sb.append("?cmd=mode&mode="); sb.append(mode.cmd); - switch (mode){ + switch (mode) { case EOD: case MANUAL: case AUTO: case HOME: break; case JOB: - if(remoteStart != null){ + if (remoteStart != null) { sb.append("&remotestart="); sb.append(remoteStart.code); } - if(after != null){ + if (after != null) { sb.append("&after="); sb.append(after.code); } - if(start != null){ + if (start != null) { sb.append("&start="); sb.append(start); } - if(end != null){ + if (end != null) { sb.append("&end="); sb.append(end); } - if(duration != null){ + if (duration != null) { sb.append("&duration="); sb.append(duration); } @@ -187,5 +192,4 @@ public String toCommandURL(String baseURL) { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/NameCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/NameCommand.java index 1dc0619e7fd03..e0d068e9d54ca 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/NameCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/NameCommand.java @@ -33,6 +33,7 @@ public class NameCommand implements Command { /** * sets the mower name. + * * @param newName - the mower name. * @return - the command instance. */ @@ -42,8 +43,8 @@ public NameCommand withNewName(String newName) { } /** - * @param baseURL - will be passed by the {@link RobonectClient} in the form - * http://xxx.xxx.xxx/json? + * @param baseURL - will be passed by the {@link RobonectClient} in the form + * http://xxx.xxx.xxx/json? * @return */ @Override @@ -52,9 +53,10 @@ public String toCommandURL(String baseURL) { return baseURL + "?cmd=name"; } else { try { - return baseURL + "?cmd=name&name=" + URLEncoder.encode(newName, StandardCharsets.ISO_8859_1.displayName()); + return baseURL + "?cmd=name&name=" + + URLEncoder.encode(newName, StandardCharsets.ISO_8859_1.displayName()); } catch (UnsupportedEncodingException e) { - logger.error( "Could not encode name {} ",newName, e); + logger.error("Could not encode name {} ", newName, e); return baseURL + "?cmd=name"; } } diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StartCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StartCommand.java index bf8dbbc167abc..59ad08ce571c8 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StartCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StartCommand.java @@ -24,8 +24,8 @@ public class StartCommand implements Command { /** * {@inheritDoc} * - * @param baseURL - will be passed by the {@link RobonectClient} in the form - * http://xxx.xxx.xxx/json? + * @param baseURL - will be passed by the {@link RobonectClient} in the form + * http://xxx.xxx.xxx/json? * @return */ @Override diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StatusCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StatusCommand.java index 2d5270dd83325..3398bfb639305 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StatusCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StatusCommand.java @@ -15,7 +15,7 @@ import org.openhab.binding.robonect.internal.model.MowerStatus; /** - * Queries the mowers status. The status holds a lot of status information. + * Queries the mowers status. The status holds a lot of status information. * See {@link MowerStatus} * or the documentation at: http://www.robonect.de/viewtopic.php?f=11&t=38 * diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StopCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StopCommand.java index dfa838cb94ceb..41b48404b1a20 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StopCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/StopCommand.java @@ -23,8 +23,9 @@ public class StopCommand implements Command { /** * {@inheritDoc} - * @param baseURL - will be passed by the {@link RobonectClient} in the form - * http://xxx.xxx.xxx/json? + * + * @param baseURL - will be passed by the {@link RobonectClient} in the form + * http://xxx.xxx.xxx/json? * @return */ @Override diff --git a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/VersionCommand.java b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/VersionCommand.java index 61d9e7d13f5cd..1b4e3172b38a1 100644 --- a/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/VersionCommand.java +++ b/bundles/org.openhab.binding.robonect/src/main/java/org/openhab/binding/robonect/internal/model/cmd/VersionCommand.java @@ -15,8 +15,8 @@ import org.openhab.binding.robonect.internal.model.VersionInfo; /** - * Queries version information about the mower and the module. See {@link VersionInfo} - * for more information. + * Queries version information about the mower and the module. See {@link VersionInfo} + * for more information. * * @author Marco Meyer - Initial contribution */ @@ -25,5 +25,4 @@ public class VersionCommand implements Command { public String toCommandURL(String baseURL) { return baseURL + "?cmd=version"; } - } diff --git a/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/binding/binding.xml index adfc004269696..e5c43e5d8f05c 100644 --- a/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/binding/binding.xml @@ -1,9 +1,7 @@ - + Robonect Binding This is the binding for Robonect. diff --git a/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/config/config.xml index 2551acac7ede0..be33730542f66 100644 --- a/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/thing/thing-types.xml index 1317448ac775b..478a66b1966b2 100644 --- a/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.robonect/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ - + @@ -17,7 +17,7 @@ - + @@ -160,7 +160,7 @@ Switch Starts a mowing job - + diff --git a/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/RobonectClientTest.java b/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/RobonectClientTest.java index 2d07f6839925d..14a4717ff67b6 100644 --- a/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/RobonectClientTest.java +++ b/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/RobonectClientTest.java @@ -12,6 +12,11 @@ */ package org.openhab.binding.robonect.internal; +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import java.nio.charset.StandardCharsets; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; @@ -30,11 +35,6 @@ import org.openhab.binding.robonect.internal.model.Name; import org.openhab.binding.robonect.internal.model.VersionInfo; -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - /** * The goal of this class is to test the functionality of the RobonectClient, * by mocking the module responses. @@ -163,11 +163,11 @@ public void shouldRetrieveVersionInfo() throws InterruptedException, ExecutionEx assertEquals("05D92D32-38355048-43203030", info.getRobonect().getSerial()); verify(httpClientMock, times(1)).newRequest("http://123.456.789.123/json?cmd=version"); } - + @Test public void shouldHandleProperEncoding() throws InterruptedException, ExecutionException, TimeoutException { - byte[] responseBytesISO88591 = "{\"successful\": true, \"name\": \"Mein Automower\", \"status\": {\"status\": 7, \"stopped\": true, \"duration\": 192, \"mode\": 1, \"battery\": 95, \"hours\": 41}, \"timer\": {\"status\": 2}, \"error\" : {\"error_code\": 15, \"error_message\": \"Utanför arbetsområdet\", \"date\": \"02.05.2017\", \"time\": \"20:36:43\", \"unix\": 1493757403}, \"wlan\": {\"signal\": -75}}".getBytes( - StandardCharsets.ISO_8859_1); + byte[] responseBytesISO88591 = "{\"successful\": true, \"name\": \"Mein Automower\", \"status\": {\"status\": 7, \"stopped\": true, \"duration\": 192, \"mode\": 1, \"battery\": 95, \"hours\": 41}, \"timer\": {\"status\": 2}, \"error\" : {\"error_code\": 15, \"error_message\": \"Utanför arbetsområdet\", \"date\": \"02.05.2017\", \"time\": \"20:36:43\", \"unix\": 1493757403}, \"wlan\": {\"signal\": -75}}" + .getBytes(StandardCharsets.ISO_8859_1); when(httpClientMock.newRequest("http://123.456.789.123/json?cmd=status")).thenReturn(requestMock); when(requestMock.method(HttpMethod.GET)).thenReturn(requestMock); when(requestMock.timeout(30000L, TimeUnit.MILLISECONDS)).thenReturn(requestMock); @@ -208,5 +208,4 @@ public void shouldReceiveErrorAnswerOnTimeoutException() when(requestMock.send()).thenThrow(new TimeoutException("Mock Timeout Exception")); MowerInfo answer = subject.getMowerInfo(); } - } diff --git a/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/handler/RobonectHandlerTest.java b/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/handler/RobonectHandlerTest.java index 070851d68e6db..9fd6fa89c0026 100644 --- a/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/handler/RobonectHandlerTest.java +++ b/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/handler/RobonectHandlerTest.java @@ -12,6 +12,13 @@ */ package org.openhab.binding.robonect.internal.handler; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.eq; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + import java.util.Calendar; import org.eclipse.jetty.client.HttpClient; @@ -34,7 +41,6 @@ import org.mockito.MockitoAnnotations; import org.openhab.binding.robonect.internal.RobonectBindingConstants; import org.openhab.binding.robonect.internal.RobonectClient; -import org.openhab.binding.robonect.internal.handler.RobonectHandler; import org.openhab.binding.robonect.internal.model.ErrorEntry; import org.openhab.binding.robonect.internal.model.ErrorList; import org.openhab.binding.robonect.internal.model.MowerInfo; @@ -45,20 +51,13 @@ import org.openhab.binding.robonect.internal.model.Timer; import org.openhab.binding.robonect.internal.model.Wlan; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.eq; -import static org.mockito.Mockito.times; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - /** * The goal of this class is to test RobonectHandler in isolation. * * @author Marco Meyer - Initial contribution */ public class RobonectHandlerTest { - + private RobonectHandler subject; @Mock @@ -69,7 +68,7 @@ public class RobonectHandlerTest { @Mock private ThingHandlerCallback callbackMock; - + @Mock private HttpClient httpClientMock; @@ -100,7 +99,7 @@ public void shouldUpdateNextTimerChannelWithDateTimeState() throws InterruptedEx when(robonectThingMock.getUID()).thenReturn(new ThingUID("1:2:3")); subject.handleCommand(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_TIMER_NEXT_TIMER), - RefreshType.REFRESH); + RefreshType.REFRESH); // then verify(callbackMock, times(1)).stateUpdated( @@ -145,18 +144,18 @@ public void shouldUpdateErrorChannelsIfErrorStatusReturned() throws InterruptedE when(robonectThingMock.getUID()).thenReturn(new ThingUID("1:2:3")); subject.handleCommand(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS), - RefreshType.REFRESH); + RefreshType.REFRESH); // then - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_CODE)), - errorCodeCaptor.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_MESSAGE)), - errorMessageCaptor.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_DATE)), - errorDateCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_CODE)), + errorCodeCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_MESSAGE)), + errorMessageCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_DATE)), + errorDateCaptor.capture()); State errorDate = errorDateCaptor.getValue(); assertTrue(errorDate instanceof DateTimeType); @@ -196,18 +195,18 @@ public void shouldResetErrorStateIfNoErrorInStatusUpdate() throws InterruptedExc when(robonectThingMock.getUID()).thenReturn(new ThingUID("1:2:3")); subject.handleCommand(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS), - RefreshType.REFRESH); + RefreshType.REFRESH); // then - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_CODE)), - errorCodeCaptor.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_MESSAGE)), - errorMessageCaptor.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_DATE)), - errorDateCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_CODE)), + errorCodeCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_MESSAGE)), + errorMessageCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_ERROR_DATE)), + errorDateCaptor.capture()); assertEquals(errorCodeCaptor.getValue(), UnDefType.UNDEF); assertEquals(errorMessageCaptor.getValue(), UnDefType.UNDEF); @@ -227,19 +226,18 @@ public void shouldUpdateNumericStateOnMowerStatusRefresh() throws InterruptedExc when(robonectThingMock.getUID()).thenReturn(new ThingUID("1:2:3")); subject.handleCommand(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS), - RefreshType.REFRESH); + RefreshType.REFRESH); // then - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS)), - stateCaptor.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS)), + stateCaptor.capture()); State value = stateCaptor.getValue(); assertTrue(value instanceof DecimalType); DecimalType status = (DecimalType) value; assertEquals(MowerStatus.MOWING.getStatusCode(), status.intValue()); - } @Test @@ -257,50 +255,49 @@ public void shouldUpdateAllChannels() { MowerInfo mowerInfo = createSuccessfulMowerInfoResponse(); ErrorList errorList = new ErrorList(); errorList.setSuccessful(true); - + // when when(robonectClientMock.getMowerInfo()).thenReturn(mowerInfo); when(robonectClientMock.errorList()).thenReturn(errorList); when(robonectThingMock.getUID()).thenReturn(new ThingUID("1:2:3")); subject.handleCommand(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS), - RefreshType.REFRESH); - + RefreshType.REFRESH); + // then - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_MOWER_NAME)), - stateCaptorName.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_MOWER_NAME)), + stateCaptorName.capture()); verify(callbackMock, times(1)).stateUpdated( eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS_BATTERY)), stateCaptorBattery.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS)), - stateCaptorStatus.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS)), + stateCaptorStatus.capture()); verify(callbackMock, times(1)).stateUpdated( eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS_DURATION)), stateCaptorDuration.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS_HOURS)), - stateCaptorHours.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS_MODE)), - stateCaptorMode.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS_HOURS)), + stateCaptorHours.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_STATUS_MODE)), + stateCaptorMode.capture()); verify(callbackMock, times(1)).stateUpdated( eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_MOWER_START)), stateCaptorStarted.capture()); - verify(callbackMock, times(1)) - .stateUpdated(eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_WLAN_SIGNAL)), - stateCaptorWlan.capture()); + verify(callbackMock, times(1)).stateUpdated( + eq(new ChannelUID(new ThingUID("1:2:3"), RobonectBindingConstants.CHANNEL_WLAN_SIGNAL)), + stateCaptorWlan.capture()); assertEquals("Mowy", stateCaptorName.getValue().toFullString()); - assertEquals(99, ((DecimalType)stateCaptorBattery.getValue()).intValue()); - assertEquals(4, ((DecimalType)stateCaptorStatus.getValue()).intValue()); - assertEquals(55, ((QuantityType)stateCaptorDuration.getValue()).intValue()); - assertEquals(22, ((QuantityType)stateCaptorHours.getValue()).intValue()); + assertEquals(99, ((DecimalType) stateCaptorBattery.getValue()).intValue()); + assertEquals(4, ((DecimalType) stateCaptorStatus.getValue()).intValue()); + assertEquals(55, ((QuantityType) stateCaptorDuration.getValue()).intValue()); + assertEquals(22, ((QuantityType) stateCaptorHours.getValue()).intValue()); assertEquals(MowerMode.AUTO.name(), stateCaptorMode.getValue().toFullString()); assertEquals(OnOffType.ON, stateCaptorStarted.getValue()); - assertEquals(-88, ((DecimalType)stateCaptorWlan.getValue()).intValue()); - + assertEquals(-88, ((DecimalType) stateCaptorWlan.getValue()).intValue()); } private MowerInfo createSuccessfulMowerInfoResponse() { diff --git a/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/model/ModelParserTest.java b/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/model/ModelParserTest.java index e23f6ccb2108d..83d74c82cc3fe 100644 --- a/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/model/ModelParserTest.java +++ b/bundles/org.openhab.binding.robonect/src/test/java/org/openhab/binding/robonect/internal/model/ModelParserTest.java @@ -12,15 +12,13 @@ */ package org.openhab.binding.robonect.internal.model; -import java.nio.charset.StandardCharsets; +import static org.junit.Assert.*; -import org.openhab.binding.robonect.internal.model.ModelParser; +import java.nio.charset.StandardCharsets; import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; - /** * The goal of this class is to test the model parser to make sure the structures * returned from the module can be handled. @@ -101,17 +99,17 @@ public void shouldParseCorrectStatusModelWithHealth() { assertEquals(28, mowerInfo.getHealth().getTemperature()); assertEquals(32, mowerInfo.getHealth().getHumidity()); // "health": { "temperature": 28, "humidity": 32 } - } @Test public void shouldParseISOEncodedStatusModel() { - byte[] responseBytesISO88591 = "{\"successful\": true, \"name\": \"Mein Automower\", \"status\": {\"status\": 7, \"stopped\": true, \"duration\": 192, \"mode\": 1, \"battery\": 95, \"hours\": 41}, \"timer\": {\"status\": 2}, \"error\" : {\"error_code\": 15, \"error_message\": \"Utanför arbetsområdet\", \"date\": \"02.05.2017\", \"time\": \"20:36:43\", \"unix\": 1493757403}, \"wlan\": {\"signal\": -75}}".getBytes( - StandardCharsets.ISO_8859_1); - MowerInfo mowerInfo = subject.parse(new String(responseBytesISO88591, StandardCharsets.ISO_8859_1), MowerInfo.class); + byte[] responseBytesISO88591 = "{\"successful\": true, \"name\": \"Mein Automower\", \"status\": {\"status\": 7, \"stopped\": true, \"duration\": 192, \"mode\": 1, \"battery\": 95, \"hours\": 41}, \"timer\": {\"status\": 2}, \"error\" : {\"error_code\": 15, \"error_message\": \"Utanför arbetsområdet\", \"date\": \"02.05.2017\", \"time\": \"20:36:43\", \"unix\": 1493757403}, \"wlan\": {\"signal\": -75}}" + .getBytes(StandardCharsets.ISO_8859_1); + MowerInfo mowerInfo = subject.parse(new String(responseBytesISO88591, StandardCharsets.ISO_8859_1), + MowerInfo.class); assertEquals("Utanför arbetsområdet", mowerInfo.getError().getErrorMessage()); } - + @Test public void shouldParseCorrectStatusModelWithErrorCode() { String correctModel = "{\"successful\": true, \"name\": \"Grasi\", \"status\": {\"status\": 7, \"stopped\": true, \"duration\": 423, \"mode\": 0, \"battery\": 83, \"hours\": 55}, \"timer\": {\"status\": 2, \"next\": {\"date\": \"15.05.2017\", \"time\": \"19:00:00\", \"unix\": 1494874800}}, \"wlan\": {\"signal\": -76}, \"error\": {\"error_code\": 9, \"error_message\": \"Grasi ist eingeklemmt\", \"date\": \"13.05.2017\", \"time\": \"23:00:22\", \"unix\": 1494716422}}"; @@ -133,7 +131,6 @@ public void shouldParseCorrectStatusModelMowing() { assertEquals(MowerStatus.MOWING, mowerInfo.getStatus().getStatus()); assertFalse(mowerInfo.getStatus().isStopped()); assertEquals(MowerMode.MANUAL, mowerInfo.getStatus().getMode()); - } @Test @@ -183,41 +180,17 @@ public void shouldParseVersionInfo() { assertEquals("2017-03-25 20:10:00", versionInfo.getRobonect().getCompiled()); assertEquals("V0.9c", versionInfo.getRobonect().getComment()); } - + @Test - public void shouldParseVersionInfoV1betaToNA(){ - String versionResponse = "{\n" + - "mower: {\n" + - "hardware: {\n" + - "serial: 170602001,\n" + - "production: \"2017-02-07 15:12:00\"\n" + - "},\n" + - "msw: {\n" + - "title: \"420\",\n" + - "version: \"7.10.00\",\n" + - "compiled: \"2016-11-29 08:44:06\"\n" + - "},\n" + - "sub: {\n" + - "version: \"6.01.00\"\n" + - "}\n" + - "},\n" + - "serial: \"05D80037-39355548-43163930\",\n" + - "bootloader: {\n" + - "version: \"V0.4\",\n" + - "compiled: \"2016-10-22 01:12:00\",\n" + - "comment: \"\"\n" + - "},\n" + - "wlan: {\n" + - "at-version: \"V1.4.0\",\n" + - "sdk-version: \"V2.1.0\"\n" + - "},\n" + - "application: {\n" + - "version: \"V1.0\",\n" + - "compiled: \"2018-03-12 21:01:00\",\n" + - "comment: \"Release V1.0 Beta2\"\n" + - "},\n" + - "successful: true\n" + - "}"; + public void shouldParseVersionInfoV1betaToNA() { + String versionResponse = "{\n" + "mower: {\n" + "hardware: {\n" + "serial: 170602001,\n" + + "production: \"2017-02-07 15:12:00\"\n" + "},\n" + "msw: {\n" + "title: \"420\",\n" + + "version: \"7.10.00\",\n" + "compiled: \"2016-11-29 08:44:06\"\n" + "},\n" + "sub: {\n" + + "version: \"6.01.00\"\n" + "}\n" + "},\n" + "serial: \"05D80037-39355548-43163930\",\n" + + "bootloader: {\n" + "version: \"V0.4\",\n" + "compiled: \"2016-10-22 01:12:00\",\n" + + "comment: \"\"\n" + "},\n" + "wlan: {\n" + "at-version: \"V1.4.0\",\n" + "sdk-version: \"V2.1.0\"\n" + + "},\n" + "application: {\n" + "version: \"V1.0\",\n" + "compiled: \"2018-03-12 21:01:00\",\n" + + "comment: \"Release V1.0 Beta2\"\n" + "},\n" + "successful: true\n" + "}"; VersionInfo versionInfo = subject.parse(versionResponse, VersionInfo.class); assertTrue(versionInfo.isSuccessful()); assertEquals("n/a", versionInfo.getRobonect().getSerial()); diff --git a/bundles/org.openhab.binding.rotel/pom.xml b/bundles/org.openhab.binding.rotel/pom.xml index 2153d880c7d77..cc5972cda06ae 100644 --- a/bundles/org.openhab.binding.rotel/pom.xml +++ b/bundles/org.openhab.binding.rotel/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.rotel/src/main/feature/feature.xml b/bundles/org.openhab.binding.rotel/src/main/feature/feature.xml index a7e71d801a557..8be94044219db 100644 --- a/bundles/org.openhab.binding.rotel/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.rotel/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.rotel/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.rotel/${project.version} + diff --git a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/RotelModel.java b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/RotelModel.java index 9f85cabed9cd2..7ac39c8d75fc7 100644 --- a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/RotelModel.java +++ b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/RotelModel.java @@ -816,5 +816,4 @@ public static RotelModel getFromName(String name) throws RotelException { } throw new RotelException("Invalid model name: " + name); } - } diff --git a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelFlagsMapping.java b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelFlagsMapping.java index 40040e6a53758..6ee44281e0101 100644 --- a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelFlagsMapping.java +++ b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelFlagsMapping.java @@ -256,5 +256,4 @@ private static void setBitFlag(byte[] flags, int flagNumber, int bitNumber, bool flags[flagNumber - 1] &= ~(1 << bitNumber); } } - } diff --git a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEvent.java b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEvent.java index a965bc5aef8af..a6f71b4ecf1e9 100644 --- a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEvent.java +++ b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEvent.java @@ -41,5 +41,4 @@ public String getKey() { public String getValue() { return value; } - } diff --git a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEventListener.java b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEventListener.java index 57093319771dc..d4727413cb683 100644 --- a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEventListener.java +++ b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelMessageEventListener.java @@ -31,5 +31,4 @@ public interface RotelMessageEventListener extends EventListener { * @param event the event object */ public void onNewMessageEvent(EventObject event); - } diff --git a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelProtocol.java b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelProtocol.java index 4b5ccd3d7a8cf..36f1799c95f5b 100644 --- a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelProtocol.java +++ b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/communication/RotelProtocol.java @@ -64,5 +64,4 @@ public static RotelProtocol getFromName(String name) throws RotelException { } throw new RotelException("Invalid protocol name: " + name); } - } diff --git a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/configuration/RotelThingConfiguration.java b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/configuration/RotelThingConfiguration.java index 91e5b20bae17e..f6591c81a4ad8 100644 --- a/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/configuration/RotelThingConfiguration.java +++ b/bundles/org.openhab.binding.rotel/src/main/java/org/openhab/binding/rotel/internal/configuration/RotelThingConfiguration.java @@ -38,5 +38,4 @@ public class RotelThingConfiguration { public @NonNullByDefault({}) String inputLabelUsb; public @NonNullByDefault({}) String inputLabelMulti; public @NonNullByDefault({}) String protocol; - } diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/binding/binding.xml index 86356b4d68f98..b7a9626e1c83f 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/binding/binding.xml @@ -4,7 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> Rotel Binding - The Rotel binding controls a Rotel audio device like a surround processor, a surround receiver, a stereo preamplifier, an integrated amplifier, a CD player or a tuner. + The Rotel binding controls a Rotel audio device like a surround processor, a surround receiver, a stereo + preamplifier, an integrated amplifier, a CD player or a tuner. Laurent Garnier diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/config/config.xml index 42d836f3a14e7..b67c52ea1fe67 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/config/config.xml @@ -31,11 +31,13 @@ network-address - Host name or IP address of the Rotel device (IP connection) or the machine connected to the Rotel device (serial over IP) + Host name or IP address of the Rotel device (IP connection) or the machine connected to the Rotel device + (serial over IP) - Communication port (IP or serial over IP). For IP connection to the Rotel device, keep the default port 9590 + Communication port (IP or serial over IP). For IP connection to the Rotel device, keep the default port + 9590 9590 @@ -49,11 +51,13 @@ network-address - Host name or IP address of the Rotel device (IP connection) or the machine connected to the Rotel device (serial over IP) + Host name or IP address of the Rotel device (IP connection) or the machine connected to the Rotel device + (serial over IP) - Communication port (IP or serial over IP). For IP connection to the Rotel device, keep the default port 9590 + Communication port (IP or serial over IP). For IP connection to the Rotel device, keep the default port + 9590 9596 @@ -67,11 +71,13 @@ network-address - Host name or IP address of the Rotel device (IP connection) or the machine connected to the Rotel device (serial over IP) + Host name or IP address of the Rotel device (IP connection) or the machine connected to the Rotel device + (serial over IP) - Communication port (IP or serial over IP). For IP connection to the Rotel device, keep the default port 9590 + Communication port (IP or serial over IP). For IP connection to the Rotel device, keep the default port + 9590 9590 diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a11.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a11.xml index 6c6bdfadf7871..824261a7c5248 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a11.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a11.xml @@ -10,20 +10,20 @@ Connection to the Rotel A11 integrated amplifier - - - - - - - + + + + + + + ASCII_V2 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a12.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a12.xml index f6df022f7daa6..a8aec80d67082 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a12.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a12.xml @@ -10,21 +10,21 @@ Connection to the Rotel A12 integrated amplifier - - - - - - - - + + + + + + + + ASCII_V2 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a14.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a14.xml index e622d699520ae..e69b811108b3e 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a14.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/a14.xml @@ -10,21 +10,21 @@ Connection to the Rotel A14 integrated amplifier - - - - - - - - + + + + + + + + ASCII_V2 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd11.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd11.xml index 4955adb3e56e9..6a401b1d28d7d 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd11.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd11.xml @@ -10,17 +10,17 @@ Connection to the Rotel CD11 CD player - - - - + + + + ASCII_V2 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd14.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd14.xml index 3ff5492c38ed3..fccc0d71f5651 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd14.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/cd14.xml @@ -10,17 +10,17 @@ Connection to the Rotel CD14 CD player - - - - + + + + ASCII_V2 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/channels.xml index 8f34460f7b55f..53ad66ed44733 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/channels.xml @@ -8,16 +8,16 @@ The controls of the main zone - - - - - - - - - - + + + + + + + + + + @@ -25,14 +25,14 @@ The controls of the main zone - - - - - - - - + + + + + + + + @@ -40,15 +40,15 @@ The controls of the main zone - - - - - - - - - + + + + + + + + + @@ -56,16 +56,16 @@ The controls of the main zone - - - - - - - - - - + + + + + + + + + + @@ -73,15 +73,15 @@ The controls of the main zone - - - - - - - - - + + + + + + + + + @@ -89,10 +89,10 @@ The controls of the zone 2 - - - - + + + + @@ -100,9 +100,9 @@ The controls of the zone 2 - - - + + + @@ -110,10 +110,10 @@ The controls of the zone 3 - - - - + + + + @@ -121,10 +121,10 @@ The controls of the zone 4 - - - - + + + + @@ -151,7 +151,7 @@ Increase or decrease the volume SoundVolume - + veto @@ -159,7 +159,7 @@ Number Adjust the bass - + veto @@ -167,7 +167,7 @@ Number Adjust the treble - + veto @@ -175,14 +175,14 @@ Number The current CD track number - + Number The current frequency (in kHz) for digital source input - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra11.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra11.xml index 57998d86cbc96..b2480d37d2f28 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra11.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra11.xml @@ -10,22 +10,22 @@ Connection to the Rotel RA-11 integrated amplifier - - - - - - - - - + + + + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra12.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra12.xml index ef768c6a5fb91..8435e3fe5a09a 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra12.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra12.xml @@ -10,22 +10,22 @@ Connection to the Rotel RA-12 integrated amplifier - - - - - - - - - + + + + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1570.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1570.xml index f0b3d5705f281..636b985fa36b6 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1570.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1570.xml @@ -10,22 +10,22 @@ Connection to the Rotel RA-1570 integrated amplifier - - - - - - - - - + + + + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1572.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1572.xml index 5f04b95bc1941..d3e671a71ad0b 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1572.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1572.xml @@ -10,17 +10,17 @@ Connection to the Rotel RA-1572 integrated amplifier - - - - - - - - + + + + + + + + - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1592.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1592.xml index 94b2753838a86..437fd88619cce 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1592.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/ra1592.xml @@ -10,17 +10,17 @@ Connection to the Rotel RA-1592 integrated amplifier - - - - - - - - + + + + + + + + - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rap1580.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rap1580.xml index 987fe423c832c..c6d942947ba15 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rap1580.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rap1580.xml @@ -10,19 +10,19 @@ Connection to the Rotel RAP-1580 surround amplified processor - - - - - - + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1570.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1570.xml index 1a5d23acf1c27..b28f8f33e8f3f 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1570.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1570.xml @@ -10,22 +10,22 @@ Connection to the Rotel RC-1570 stereo preamplifier - - - - - - - - - + + + + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1572.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1572.xml index ae21c90783c5e..0fb3417f38e88 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1572.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1572.xml @@ -10,17 +10,17 @@ Connection to the Rotel RC-1572 stereo preamplifier - - - - - - - - + + + + + + + + - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1590.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1590.xml index 2d3160c26a803..80c0966a418a3 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1590.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rc1590.xml @@ -10,21 +10,21 @@ Connection to the Rotel RC-1590 stereo preamplifier - - - - - - - - + + + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1570.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1570.xml index c89548d0574aa..adb291d4b33dc 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1570.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1570.xml @@ -10,16 +10,16 @@ Connection to the Rotel RCD-1570 CD player - - - + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1572.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1572.xml index 42d230cbc704c..365700812ed55 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1572.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcd1572.xml @@ -10,13 +10,13 @@ Connection to the Rotel RCD-1572 CD player - - - - + + + + - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcx1500.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcx1500.xml index 92a759a3171bb..3656bedaf34f7 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcx1500.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rcx1500.xml @@ -10,18 +10,18 @@ Connection to the Rotel RCX-1500 stereo receiver - - - - - + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdd1580.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdd1580.xml index 2b36ed42533a3..359a7fded3c88 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdd1580.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdd1580.xml @@ -10,17 +10,17 @@ Connection to the Rotel RDD-1580 stereo DAC - - - - + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdg1520.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdg1520.xml index dc3e556a5dceb..32fc5b2faf32c 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdg1520.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rdg1520.xml @@ -10,16 +10,16 @@ Connection to the Rotel RDG-1520 tuner - - - + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1066.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1066.xml index cbc8817ec9d01..5fa1ad51fe304 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1066.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1066.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSP-1066 surround processor - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1068.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1068.xml index 9a2145a4babf1..af0ab1a46c654 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1068.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1068.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSP-1068 surround processor - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1069.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1069.xml index f36e15272a27f..1ac6649cc76d6 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1069.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1069.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSP-1069 surround processor - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1098.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1098.xml index 02579824f9768..9d69277e83d73 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1098.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1098.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSP-1098 surround processor - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1570.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1570.xml index 7f1d0cd3389ca..262f575a2d27d 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1570.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1570.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSP-1570 surround processor - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1572.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1572.xml index c92bf9f2f0735..8c9598c989fcc 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1572.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1572.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSP-1572 surround processor - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1576.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1576.xml index 3831d5116a239..30db04ead9036 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1576.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1576.xml @@ -10,19 +10,19 @@ Connection to the Rotel RSP-1576 surround processor - - - - - - + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1582.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1582.xml index 2d4495c64c626..3c78565a204b5 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1582.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsp1582.xml @@ -10,19 +10,19 @@ Connection to the Rotel RSP-1582 surround processor - - - - - - + + + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1055.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1055.xml index f88bbdcd7304a..61cb89c4e1dcd 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1055.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1055.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSX-1055 surround receiver - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1056.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1056.xml index 3342e731680d2..31bcea2667358 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1056.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1056.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSX-1056 surround receiver - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1057.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1057.xml index 628d46f576632..8796972b2732b 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1057.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1057.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSX-1057 surround receiver - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1058.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1058.xml index bd6160aaf6fd3..30d09677230df 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1058.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1058.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSX-1058 surround receiver - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1065.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1065.xml index 639fe6dee8afb..74f57e63c0a49 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1065.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1065.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSX-1065 surround receiver - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1067.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1067.xml index 4f3f70540f366..c7495fbf5108f 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1067.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1067.xml @@ -10,15 +10,15 @@ Connection to the Rotel RSX-1067 surround receiver - - + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1550.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1550.xml index f4ed54f72da4c..c47626b2e4f8a 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1550.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1550.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSX-1550 surround receiver - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1560.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1560.xml index 8a709659da55a..a3b069cdec2aa 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1560.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1560.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSX-1560 surround receiver - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1562.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1562.xml index 0f7ee74290163..79c5ee36af9d2 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1562.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rsx1562.xml @@ -10,17 +10,17 @@ Connection to the Rotel RSX-1562 surround receiver - - - - + + + + HEX - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt09.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt09.xml index fea122796965c..639209fcd4dc8 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt09.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt09.xml @@ -10,17 +10,17 @@ Connection to the Rotel RT-09 tuner - - - - + + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt11.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt11.xml index 09f697484fdd6..f902738f65cd8 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt11.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt11.xml @@ -10,16 +10,16 @@ Connection to the Rotel RT-11 tuner - - - + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt1570.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt1570.xml index f34e52c40735f..e35b06345d441 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt1570.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/rt1570.xml @@ -10,16 +10,16 @@ Connection to the Rotel RT-1570 tuner - - - + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t11.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t11.xml index 232d9f929f8ce..ed0f8e71d9000 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t11.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t11.xml @@ -10,16 +10,16 @@ Connection to the Rotel T11 tuner - - - + + + ASCII_V1 - + diff --git a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t14.xml b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t14.xml index 262586ad2acbe..3af348acb6b6b 100644 --- a/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t14.xml +++ b/bundles/org.openhab.binding.rotel/src/main/resources/ESH-INF/thing/t14.xml @@ -10,16 +10,16 @@ Connection to the Rotel T14 tuner - - - + + + ASCII_V2 - + diff --git a/bundles/org.openhab.binding.rotelra1x/pom.xml b/bundles/org.openhab.binding.rotelra1x/pom.xml index d4f4e3609d2da..983fc6da8fc9d 100644 --- a/bundles/org.openhab.binding.rotelra1x/pom.xml +++ b/bundles/org.openhab.binding.rotelra1x/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.rotelra1x/src/main/feature/feature.xml b/bundles/org.openhab.binding.rotelra1x/src/main/feature/feature.xml index dcbc260ab1557..47b7daeb9bec8 100644 --- a/bundles/org.openhab.binding.rotelra1x/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.rotelra1x/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.rotelra1x/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.rotelra1x/${project.version} + diff --git a/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/ConfigurationError.java b/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/ConfigurationError.java index a1f641cee1d90..10732ebf11546 100644 --- a/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/ConfigurationError.java +++ b/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/ConfigurationError.java @@ -25,5 +25,4 @@ public class ConfigurationError extends Exception { public ConfigurationError(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/RotelRa1xBindingConstants.java b/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/RotelRa1xBindingConstants.java index 081a5e584611f..86198b27e8914 100644 --- a/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/RotelRa1xBindingConstants.java +++ b/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/RotelRa1xBindingConstants.java @@ -34,5 +34,4 @@ public class RotelRa1xBindingConstants { public static final String CHANNEL_BRIGHTNESS = "brightness"; public static final String CHANNEL_FREQUENCY = "frequency"; public static final String CHANNEL_SOURCE = "source"; - } diff --git a/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/handler/RotelRa1xHandler.java b/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/handler/RotelRa1xHandler.java index 98ee982937b28..895b09cbcb3cc 100644 --- a/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/handler/RotelRa1xHandler.java +++ b/bundles/org.openhab.binding.rotelra1x/src/main/java/org/openhab/binding/rotelra1x/internal/handler/RotelRa1xHandler.java @@ -381,5 +381,4 @@ private void handleSource(Command command) throws IOException { sendIfPowerOn("get_current_source!"); } } - } diff --git a/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/binding/binding.xml index 4a7e30a431513..d7b63c48857e6 100644 --- a/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Rotel RA1x Binding Binding for Rotal RA11 and RA12 stereo amplifiers connected via RS232. diff --git a/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/thing/thing-types.xml index d509652e95cd6..19976b812e938 100644 --- a/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.rotelra1x/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -23,7 +23,7 @@ Select serial port (COM1, /dev/ttyS0, ...) true - diff --git a/bundles/org.openhab.binding.russound/pom.xml b/bundles/org.openhab.binding.russound/pom.xml index 2135af19c42d2..8ea1745905d98 100644 --- a/bundles/org.openhab.binding.russound/pom.xml +++ b/bundles/org.openhab.binding.russound/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.russound/src/main/feature/feature.xml b/bundles/org.openhab.binding.russound/src/main/feature/feature.xml index dc23cf8510191..395aa637f29cd 100644 --- a/bundles/org.openhab.binding.russound/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.russound/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.russound/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.russound/${project.version} + diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/RussoundHandlerFactory.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/RussoundHandlerFactory.java index fa68ecb06fa7e..3b69da7781e20 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/RussoundHandlerFactory.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/RussoundHandlerFactory.java @@ -87,5 +87,4 @@ private synchronized void registerThingDiscovery(RioSystemHandler bridgeHandler) bundleContext.registerService(DiscoveryService.class.getName(), discoveryService, new Hashtable<>()); discoveryService.activate(); } - } diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/discovery/RioSystemDiscovery.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/discovery/RioSystemDiscovery.java index 8adaf0e5ee446..a317b0c9b841e 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/discovery/RioSystemDiscovery.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/discovery/RioSystemDiscovery.java @@ -143,7 +143,6 @@ protected synchronized void stopScan() { } executorService.shutdown(); executorService = null; - } /** @@ -223,6 +222,5 @@ private void addResult(String ipAddress, String type) { .withLabel("Russound " + type).build(); thingDiscovered(result); } - } } diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/net/SocketSession.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/net/SocketSession.java index c01a9fd69be87..5b125aec83385 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/net/SocketSession.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/net/SocketSession.java @@ -84,5 +84,4 @@ public interface SocketSession { * @throws java.io.IOException an exception that occurred while sending */ void sendCommand(String command) throws IOException; - } diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/RioSystemFavoritesProtocol.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/RioSystemFavoritesProtocol.java index 9118e0558d166..af4ef2d856801 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/RioSystemFavoritesProtocol.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/RioSystemFavoritesProtocol.java @@ -98,7 +98,6 @@ public RioSystemFavoritesProtocol(SocketSession session, RioHandlerCallback call for (int x = 1; x <= 32; x++) { systemFavorites[x - 1] = new RioFavorite(x); } - } /** diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/StatefulHandlerCallback.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/StatefulHandlerCallback.java index 4b77eb27f8868..ae9d0c487b2bd 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/StatefulHandlerCallback.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/StatefulHandlerCallback.java @@ -78,7 +78,6 @@ public void statusChanged(ThingStatus status, ThingStatusDetail detail, String m // If we got this far - call the underlying one wrappedCallback.statusChanged(status, detail, msg); - } /** @@ -109,7 +108,6 @@ public void stateChanged(String channelId, State newState) { // Something changed - save the new state and call the underlying wrapped state.put(channelId, newState); wrappedCallback.stateChanged(channelId, newState); - } /** @@ -134,7 +132,6 @@ public void removeState(String channelId) { @Override public void setProperty(String propertyName, String propertyValue) { wrappedCallback.setProperty(propertyName, propertyValue); - } /** @@ -150,7 +147,6 @@ public State getProperty(String propertyName) { @Override public void addListener(String channelId, RioHandlerCallbackListener listener) { wrappedCallback.addListener(channelId, listener); - } @Override diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerHandler.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerHandler.java index 22a78f8c3b244..91aff9a6ffa5a 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerHandler.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerHandler.java @@ -74,7 +74,6 @@ public void stateUpdate(String channelId, State state) { */ public RioControllerHandler(Bridge bridge) { super(bridge); - } /** @@ -203,7 +202,6 @@ public void setProperty(String propertyName, String property) { getProtocolHandler().postOnline(); refreshNamedHandler(gson, RioZoneHandler.class, RioConstants.CHANNEL_CTLZONES); - } /** diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerProtocol.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerProtocol.java index 22415d4221b1e..7eb8810b68bb8 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerProtocol.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/controller/RioControllerProtocol.java @@ -146,7 +146,6 @@ private void handleControllerNotification(Matcher m, String resp) { } else { logger.debug("Invalid Controller Notification response: '{}'", resp); } - } /** diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/source/RioSourceProtocol.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/source/RioSourceProtocol.java index c0fbcf26921aa..dc7dfc249d71b 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/source/RioSourceProtocol.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/source/RioSourceProtocol.java @@ -632,7 +632,6 @@ private void handleSourceNotification(Matcher m, String resp) { } else { logger.warn("Invalid Source Notification response: '{}'", resp); } - } /** @@ -763,5 +762,4 @@ public IdValue(int id, String value) { this.value = value; } } - } diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemHandler.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemHandler.java index 6f0d37ed631cf..2100751c443ba 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemHandler.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemHandler.java @@ -297,7 +297,6 @@ public void stateChanged(String channelId, State state) { public void setProperty(String propertyName, String propertyValue) { getThing().setProperty(propertyName, propertyValue); } - }); setProtocolHandler(new RioSystemProtocol(session, callback)); @@ -503,7 +502,6 @@ private void childChanged(ThingHandler childHandler, boolean added) { } else if (childHandler instanceof RioControllerHandler) { refreshNamedHandler(gson, RioControllerHandler.class, RioConstants.CHANNEL_SYSCONTROLLERS); } - } /** diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemProtocol.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemProtocol.java index 89f63aeb8a35d..b9eb050be54e6 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemProtocol.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/system/RioSystemProtocol.java @@ -267,7 +267,6 @@ public void responseReceived(String response) { handleFailureNotification(m, response); return; } - } /** diff --git a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/zone/RioZoneProtocol.java b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/zone/RioZoneProtocol.java index 7664986d2f1af..f6250495cb8e1 100644 --- a/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/zone/RioZoneProtocol.java +++ b/bundles/org.openhab.binding.russound/src/main/java/org/openhab/binding/russound/internal/rio/zone/RioZoneProtocol.java @@ -142,7 +142,6 @@ class RioZoneProtocol extends AbstractRioProtocol this.zoneFavorites[0] = new RioFavorite(1); this.zoneFavorites[1] = new RioFavorite(2); - } /** @@ -824,7 +823,6 @@ private void handleZoneNotification(Matcher m, String resp) { } else { logger.warn("Invalid Zone Notification response: '{}'", resp); } - } /** @@ -938,7 +936,6 @@ public void responseReceived(String response) { if (m.matches()) { handleZoneFavoriteNotification(m, response); } - } /** @@ -950,5 +947,4 @@ public void dispose() { favoritesProtocol.removeListener(this); super.dispose(); } - } diff --git a/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/binding/binding.xml index 3958d3d119393..65a814355a24c 100644 --- a/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Russound Binding This is the binding for Russound Whole House Audio systems (MCA and X-Systems). diff --git a/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/thing/thing-types.xml index dd64f2e109bf8..1fe8f191dc2bf 100644 --- a/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.russound/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -499,7 +499,8 @@ String - JSON Array containing the banks ([{id: 1, name: 'xxx', presets: [{id:1 ,valid:true/false, name='xxx'}, ...], ...]) + JSON Array containing the banks ([{id: 1, name: 'xxx', presets: [{id:1 ,valid:true/false, name='xxx'}, + ...], ...]) diff --git a/bundles/org.openhab.binding.sagercaster/pom.xml b/bundles/org.openhab.binding.sagercaster/pom.xml index af806a0e57854..a56e6f83b3edb 100644 --- a/bundles/org.openhab.binding.sagercaster/pom.xml +++ b/bundles/org.openhab.binding.sagercaster/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.sagercaster/src/main/feature/feature.xml b/bundles/org.openhab.binding.sagercaster/src/main/feature/feature.xml index 71861ff9bd62c..298850a7023d3 100644 --- a/bundles/org.openhab.binding.sagercaster/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sagercaster/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.sagercaster/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.sagercaster/${project.version} + diff --git a/bundles/org.openhab.binding.sagercaster/src/main/java/org/openhab/binding/sagercaster/internal/handler/SagerCasterHandler.java b/bundles/org.openhab.binding.sagercaster/src/main/java/org/openhab/binding/sagercaster/internal/handler/SagerCasterHandler.java index 2eb3f11e774f7..f03fca497001f 100644 --- a/bundles/org.openhab.binding.sagercaster/src/main/java/org/openhab/binding/sagercaster/internal/handler/SagerCasterHandler.java +++ b/bundles/org.openhab.binding.sagercaster/src/main/java/org/openhab/binding/sagercaster/internal/handler/SagerCasterHandler.java @@ -283,5 +283,4 @@ protected void updateChannelDecimal(String group, String channelId, int value) { updateState(id, new DecimalType(value)); } } - } diff --git a/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/binding/binding.xml index 9a78cd6a4fe52..b3994faac7524 100644 --- a/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,7 @@ - + SagerCaster Binding The Sager Weathercaster is a scientific instrument for accurate prediction of the weather. diff --git a/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/thing/thing-types.xml index a80d4061eaf30..dcebb004ee516 100644 --- a/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.sagercaster/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,18 +1,21 @@ - + This thing represents a forecast for a given location - - + + - - + + location - + @@ -20,37 +23,38 @@ location Your geo coordinates separated with comma (e.g. "37.8,-122.4"). - + - SagerWeatherCaster needs a minimum representative period of time to produce meaningfull results. Defaults to 6 hours + SagerWeatherCaster needs a minimum representative period of time to produce meaningfull results. + Defaults to 6 hours 6 - + - - + + The channels used to build the forecast results - - - - - - + + + + + + - + Results of the Sager Weathercaster algorithm - - + + @@ -59,19 +63,19 @@ - - + + Pressure Evolution trend over observation delay - + Temperature Evolution trend over observation delay - - + + String @@ -107,10 +111,12 @@ - + - + @@ -118,7 +124,7 @@ - + String @@ -131,11 +137,12 @@ - + - + String @@ -143,7 +150,7 @@ Wind - + Number:Angle @@ -164,7 +171,7 @@ - + String @@ -179,7 +186,7 @@ - + DateTime @@ -187,21 +194,21 @@ Observation time - + Number:Dimensionless Current cloudiness. Clouds - + - + Number - + Current rain quantity Rain - + @@ -210,28 +217,28 @@ Is it currently raining ? Rain - + Number Wind speed using Beaufort Scale Wind - + - + Number:Pressure Sea Level Pressure Pressure - + - + Number:Temperature Current temperature Temperature - + diff --git a/bundles/org.openhab.binding.samsungtv/.classpath b/bundles/org.openhab.binding.samsungtv/.classpath index 5580c803476a0..66499b2691224 100644 --- a/bundles/org.openhab.binding.samsungtv/.classpath +++ b/bundles/org.openhab.binding.samsungtv/.classpath @@ -1,43 +1,43 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.samsungtv/pom.xml b/bundles/org.openhab.binding.samsungtv/pom.xml index 372cce546eb7f..1b10ec76c5561 100644 --- a/bundles/org.openhab.binding.samsungtv/pom.xml +++ b/bundles/org.openhab.binding.samsungtv/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.samsungtv/src/main/feature/feature.xml b/bundles/org.openhab.binding.samsungtv/src/main/feature/feature.xml index be1d6fcf97d37..5356d10eb82e9 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.samsungtv/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.samsungtv/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.samsungtv/${project.version} + diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/SamsungTvTlsTrustManagerProvider.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/SamsungTvTlsTrustManagerProvider.java index c933cf42c6a31..506629d74543f 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/SamsungTvTlsTrustManagerProvider.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/SamsungTvTlsTrustManagerProvider.java @@ -1,40 +1,40 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.samsungtv.internal; - -import javax.net.ssl.X509ExtendedTrustManager; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.smarthome.io.net.http.TlsTrustManagerProvider; -import org.eclipse.smarthome.io.net.http.TrustAllTrustMananger; -import org.osgi.service.component.annotations.Component; - -/** - * Provides a TrustManager to allow secure websocket connections to any TV (=server) - * - * @author Arjan Mels - Initial Contribution - */ -@Component -@NonNullByDefault -public class SamsungTvTlsTrustManagerProvider implements TlsTrustManagerProvider { - - @Override - public String getHostName() { - return "SmartViewSDK"; - } - - @Override - public X509ExtendedTrustManager getTrustManager() { - return TrustAllTrustMananger.getInstance(); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.samsungtv.internal; + +import javax.net.ssl.X509ExtendedTrustManager; + +import org.eclipse.jdt.annotation.NonNullByDefault; +import org.eclipse.smarthome.io.net.http.TlsTrustManagerProvider; +import org.eclipse.smarthome.io.net.http.TrustAllTrustMananger; +import org.osgi.service.component.annotations.Component; + +/** + * Provides a TrustManager to allow secure websocket connections to any TV (=server) + * + * @author Arjan Mels - Initial Contribution + */ +@Component +@NonNullByDefault +public class SamsungTvTlsTrustManagerProvider implements TlsTrustManagerProvider { + + @Override + public String getHostName() { + return "SmartViewSDK"; + } + + @Override + public X509ExtendedTrustManager getTrustManager() { + return TrustAllTrustMananger.getInstance(); + } +} diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/WakeOnLanUtility.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/WakeOnLanUtility.java index 48e9425709242..c2ee5306c04af 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/WakeOnLanUtility.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/WakeOnLanUtility.java @@ -134,5 +134,4 @@ private static byte[] getWOLPackage(String macStr) throws IllegalArgumentExcepti return bytes; } - } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/handler/SamsungTvHandler.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/handler/SamsungTvHandler.java index ffe2cf848ab53..46c991ead69b1 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/handler/SamsungTvHandler.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/handler/SamsungTvHandler.java @@ -399,7 +399,6 @@ public void run() { logger.info("Service NOT found after {} attempts", count); } } - }, 1000, TimeUnit.MILLISECONDS); } } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteController.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteController.java index 645125708de8b..da105524ce80b 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteController.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteController.java @@ -46,5 +46,4 @@ public RemoteController(String host, int port, @Nullable String appName, @Nullab @Override public abstract void close() throws RemoteControllerException; - } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerException.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerException.java index 61a6b6400ec17..bbe5607e36131 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerException.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerException.java @@ -35,5 +35,4 @@ public RemoteControllerException(String message, Throwable cause) { public RemoteControllerException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerWebSocket.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerWebSocket.java index 3646f62afa78b..f9e9f8be6a9f2 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerWebSocket.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/RemoteControllerWebSocket.java @@ -379,5 +379,4 @@ public void lifeCycleStopped(@Nullable LifeCycle arg0) { public void lifeCycleStopping(@Nullable LifeCycle arg0) { logger.trace("WebSocketClient stopping"); } - } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketArt.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketArt.java index 6b4a4a02c6120..caa35debe7a78 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketArt.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketArt.java @@ -155,7 +155,6 @@ class Data { String method = "ms.channel.emit"; Params params = new Params(); - } void getArtmodeStatus() { diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketBase.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketBase.java index 6a9f436f82419..726fa73a17725 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketBase.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketBase.java @@ -117,5 +117,4 @@ void sendCommand(String cmd) { public void onWebSocketText(@Nullable String str) { logger.trace("{}: onWebSocketText: {}", this.getClass().getSimpleName(), str); } - } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketRemote.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketRemote.java index 297f70e1c6e39..ea3a8d30fa8d0 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketRemote.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/protocol/WebSocketRemote.java @@ -157,7 +157,6 @@ static class Params { String method = "ms.channel.emit"; Params params = new Params(); - } void getApps() { @@ -188,7 +187,6 @@ static class Data { String event = "ed.apps.launch"; String to = "host"; Data data = new Data(); - } String method = "ms.channel.emit"; @@ -225,5 +223,4 @@ static class Params { void sendKeyData(boolean press, String key) { sendCommand(remoteControllerWebSocket.gson.toJson(new JSONRemoteControl(press, key))); } - } diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/MediaRendererService.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/MediaRendererService.java index 8115d0c015f31..9a03c822a0386 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/MediaRendererService.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/MediaRendererService.java @@ -269,7 +269,6 @@ private void setMute(Command command) { updateResourceState("RenderingControl", "GetMute", SamsungTvUtils.buildHashMap("InstanceID", "0", "Channel", "Master")); - } private void setBrightness(Command command) { diff --git a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/RemoteControllerService.java b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/RemoteControllerService.java index 55e9cb0263473..d496a8abda050 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/RemoteControllerService.java +++ b/bundles/org.openhab.binding.samsungtv/src/main/java/org/openhab/binding/samsungtv/internal/service/RemoteControllerService.java @@ -411,7 +411,6 @@ private void sendKeyCode(KeyCode key) { } catch (RemoteControllerException e) { reportError(String.format("Could not send command to device on %s:%d", host, port), e); } - } private void sendKeyCodePress(KeyCode key) { @@ -422,7 +421,6 @@ private void sendKeyCodePress(KeyCode key) { } catch (RemoteControllerException e) { reportError(String.format("Could not send command to device on %s:%d", host, port), e); } - } /** @@ -502,7 +500,6 @@ public void putConfig(String key, Object value) { for (EventListener listener : listeners) { listener.putConfig(key, value); } - } @Override diff --git a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/binding/binding.xml index fef0a88e2f900..99bf292294f67 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/binding/binding.xml @@ -4,7 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> Samsung TV Binding - This is the binding for Samsung TV. Binding should support all Samsung TV C (2010), D (2011) and E (2012) models + This is the binding for Samsung TV. Binding should support all Samsung TV C (2010), D (2011) and E (2012) + models Pauli Anttila diff --git a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/config/config.xml index ae3387065b182..d122cd5fb1839 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/config/config.xml @@ -17,7 +17,7 @@ - MAC Address of the Samsung TV. + MAC Address of the Samsung TV. diff --git a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/channel-types.xml index b62371f2bf2de..08b8b4b567538 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/channel-types.xml @@ -41,7 +41,7 @@ Color temperature of the TV picture. Minimum value is 0 and maximum 4. - + @@ -54,7 +54,7 @@ Number Id of the current source. - + @@ -67,14 +67,14 @@ String Program title of the current channel. - + String Name of the current TV channel. - + diff --git a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/thing-types.xml index b7b0b96fc3652..34ced773ef24e 100644 --- a/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.samsungtv/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,26 +9,26 @@ Allows to control Samsung TV - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.satel/pom.xml b/bundles/org.openhab.binding.satel/pom.xml index 25368e465f0ef..cfe368659ef8d 100644 --- a/bundles/org.openhab.binding.satel/pom.xml +++ b/bundles/org.openhab.binding.satel/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.satel/src/main/feature/feature.xml b/bundles/org.openhab.binding.satel/src/main/feature/feature.xml index b731d17b82644..a50dbce8686b8 100644 --- a/bundles/org.openhab.binding.satel/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.satel/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.satel/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.satel/${project.version} + diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/action/SatelEventLogActions.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/action/SatelEventLogActions.java index 63077c95de61f..68d37af94cf05 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/action/SatelEventLogActions.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/action/SatelEventLogActions.java @@ -78,5 +78,4 @@ public static Map readEvent(@Nullable ThingActions actions, @Nul throw new IllegalArgumentException("Instance is not a SatelEventLogActions class."); } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/SatelBindingConstants.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/SatelBindingConstants.java index b2d53d498e0aa..a9a2ab4ecf9ba 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/SatelBindingConstants.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/SatelBindingConstants.java @@ -74,5 +74,4 @@ public class SatelBindingConstants { public static final String CHANNEL_DESCRIPTION = "description"; public static final String CHANNEL_DETAILS = "details"; public static final String CHANNEL_TEMPERATURE = "temperature"; - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ClearTroublesCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ClearTroublesCommand.java index 0f33615799702..58ad69535553e 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ClearTroublesCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ClearTroublesCommand.java @@ -32,5 +32,4 @@ public class ClearTroublesCommand extends ControlCommand { public ClearTroublesCommand(String userCode) { super(COMMAND_CODE, userCodeToBytes(userCode)); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlCommand.java index 45087bbd71896..54beef732f61d 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlCommand.java @@ -28,7 +28,7 @@ public abstract class ControlCommand extends SatelCommandBase { * Creates new command class instance. * * @param commandCode command code - * @param payload command bytes + * @param payload command bytes */ public ControlCommand(byte commandCode, byte[] payload) { super(commandCode, payload); @@ -68,5 +68,4 @@ protected static byte[] userCodeToBytes(String userCode) { return bytes; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlObjectCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlObjectCommand.java index 7b9ce608a6eff..bdb1a15969a16 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlObjectCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ControlObjectCommand.java @@ -41,9 +41,9 @@ public class ControlObjectCommand extends ControlCommand { * Creates new command class instance for specified type of control. * * @param controlType type of controlled objects - * @param objects bits that represents objects to control - * @param userCode code of the user on behalf the control is made - * @param scheduler scheduler object for scheduling refreshes + * @param objects bits that represents objects to control + * @param userCode code of the user on behalf the control is made + * @param scheduler scheduler object for scheduling refreshes */ public ControlObjectCommand(ControlType controlType, byte[] objects, String userCode, ScheduledExecutorService scheduler) { @@ -62,5 +62,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { TimeUnit.MILLISECONDS); } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStateCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStateCommand.java index d1fe094b493b0..9725a8404388e 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStateCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStateCommand.java @@ -40,7 +40,7 @@ public class IntegraStateCommand extends SatelCommandBase { * Constructs new command instance for specified type of state. * * @param stateType type of state - * @param extended if true command will be sent as extended (256 zones or outputs) + * @param extended if true command will be sent as extended (256 zones or outputs) */ public IntegraStateCommand(StateType stateType, boolean extended) { super(stateType.getRefreshCommand(), extended); @@ -70,5 +70,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { eventDispatcher.dispatchEvent( new IntegraStateEvent(getResponse().getCommand(), getResponse().getPayload(), isExtended())); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStatusCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStatusCommand.java index ba711713e630e..f335fc84abc74 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStatusCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraStatusCommand.java @@ -78,5 +78,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { // dispatch version event eventDispatcher.dispatchEvent(new IntegraStatusEvent(getIntegraTime(), getStatusByte1(), getStatusByte2())); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraVersionCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraVersionCommand.java index 7741526e2cb48..59d507a58876a 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraVersionCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/IntegraVersionCommand.java @@ -82,5 +82,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { eventDispatcher .dispatchEvent(new IntegraVersionEvent(getType(), getVersion(), getLanguage(), areSettingsInFlash())); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ModuleVersionCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ModuleVersionCommand.java index 18bc65170d301..238383adff4e2 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ModuleVersionCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ModuleVersionCommand.java @@ -67,5 +67,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { // dispatch version event eventDispatcher.dispatchEvent(new ModuleVersionEvent(getVersion(), hasExtPayloadSupport())); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/NewStatesCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/NewStatesCommand.java index 0b5d40318abe9..bb35ee7dd0eda 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/NewStatesCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/NewStatesCommand.java @@ -55,5 +55,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { // dispatch event eventDispatcher.dispatchEvent(new NewStatesEvent(getResponse().getPayload())); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadDeviceInfoCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadDeviceInfoCommand.java index ca33d8345a5ea..ce14eca7f6895 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadDeviceInfoCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadDeviceInfoCommand.java @@ -76,7 +76,7 @@ boolean hasAdditionalInfo() { * Creates new command class instance to read description for given * parameters. * - * @param deviceType type of the device + * @param deviceType type of the device * @param deviceNumber device number */ public ReadDeviceInfoCommand(DeviceType deviceType, int deviceNumber) { @@ -153,5 +153,4 @@ protected boolean isResponseValid(SatelMessage response) { } return true; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventCommand.java index c7236efc848f6..df601d3624326 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventCommand.java @@ -218,5 +218,4 @@ protected boolean isResponseValid(SatelMessage response) { } return true; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventDescCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventDescCommand.java index a02db088dfcfc..03c364ee3193c 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventDescCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadEventDescCommand.java @@ -34,8 +34,8 @@ public class ReadEventDescCommand extends SatelCommandBase { /** * Creates new command class instance to read description for given parameters. * - * @param eventCode event code - * @param restore true if this is restoration + * @param eventCode event code + * @param restore true if this is restoration * @param longDescription true for long description, false for short one */ public ReadEventDescCommand(int eventCode, boolean restore, boolean longDescription) { @@ -99,5 +99,4 @@ protected boolean isResponseValid(SatelMessage response) { } return true; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadZoneTemperature.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadZoneTemperature.java index e4cd6e2b2263d..ddbfc681882a1 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadZoneTemperature.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/ReadZoneTemperature.java @@ -67,5 +67,4 @@ protected void handleResponseInternal(final EventDispatcher eventDispatcher) { int zoneNbr = getResponse().getPayload()[0]; eventDispatcher.dispatchEvent(new ZoneTemperatureEvent(zoneNbr == 0 ? 256 : zoneNbr, getTemperature())); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommand.java index e926d4914c543..89353be670f04 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommand.java @@ -38,11 +38,11 @@ public interface SatelCommand { * */ public enum State { - NEW, - ENQUEUED, - SENT, - SUCCEEDED, - FAILED + NEW, + ENQUEUED, + SENT, + SUCCEEDED, + FAILED } /** @@ -78,9 +78,8 @@ public enum State { * Handles response received for the command. Usually generates an event with received data. * * @param eventDispatcher event dispatcher - * @param response response to handle + * @param response response to handle * @return true if response has been successfully handled */ boolean handleResponse(EventDispatcher eventDispatcher, SatelMessage response); - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommandBase.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommandBase.java index 6bc74859cf3fa..4acaf558219d7 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommandBase.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SatelCommandBase.java @@ -46,7 +46,7 @@ public abstract class SatelCommandBase extends SatelMessage implements SatelComm * Creates new command basing on command code and extended command flag. * * @param commandCode command code - * @param extended if true command will be sent as extended (256 zones or outputs) + * @param extended if true command will be sent as extended (256 zones or outputs) */ public SatelCommandBase(byte commandCode, boolean extended) { this(commandCode, extended ? EXTENDED_CMD_PAYLOAD : EMPTY_PAYLOAD); @@ -229,5 +229,4 @@ public String getVersion(int offset) { + new String(payload, offset + 9, 2); return verStr; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SetClockCommand.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SetClockCommand.java index d558d44a97943..5ac1cda03f0d6 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SetClockCommand.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/command/SetClockCommand.java @@ -43,5 +43,4 @@ public SetClockCommand(LocalDateTime dateTime, String userCode) { private static byte[] getDateTimeBytes(LocalDateTime dateTime) { return DATETIME_FORMAT.format(dateTime).getBytes(); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Atd100Config.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Atd100Config.java index df7485d70054c..b98bf81af1a0c 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Atd100Config.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Atd100Config.java @@ -38,5 +38,4 @@ public int getId() { public int getRefresh() { return refresh; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Ethm1Config.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Ethm1Config.java index 70692cc887d90..c1a6faa50019b 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Ethm1Config.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/Ethm1Config.java @@ -51,5 +51,4 @@ public String getEncryptionKey() { final String encryptionKey = this.encryptionKey; return encryptionKey == null ? "" : encryptionKey; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/IntRSConfig.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/IntRSConfig.java index 4dbca8e010b69..f265650dc5a13 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/IntRSConfig.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/IntRSConfig.java @@ -33,5 +33,4 @@ public class IntRSConfig extends SatelBridgeConfig { public @Nullable String getPort() { return port; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelBridgeConfig.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelBridgeConfig.java index 0685a81b1726a..c899bc0cc1ead 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelBridgeConfig.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelBridgeConfig.java @@ -59,5 +59,4 @@ public Charset getEncoding() { final String encoding = this.encoding; return encoding == null ? Charset.defaultCharset() : Charset.forName(encoding); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelThingConfig.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelThingConfig.java index 404a190404503..d7f97881077d0 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelThingConfig.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/config/SatelThingConfig.java @@ -82,5 +82,4 @@ public boolean isCommandOnly() { public boolean isWireless() { return wireless; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/discovery/SatelDeviceDiscoveryService.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/discovery/SatelDeviceDiscoveryService.java index 0b9d3eeef527e..a29b1ed1f3a1a 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/discovery/SatelDeviceDiscoveryService.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/discovery/SatelDeviceDiscoveryService.java @@ -193,5 +193,4 @@ private static boolean isDeviceAvailable(DeviceType deviceType, int deviceKind) return false; } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ConnectionStatusEvent.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ConnectionStatusEvent.java index 35943b75b60db..909c9d156d226 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ConnectionStatusEvent.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ConnectionStatusEvent.java @@ -40,7 +40,7 @@ public ConnectionStatusEvent(boolean connected) { * Constructs event class with given connection status and disconnection reason. * * @param connected value describing connection status - * @param reason disconnection reason + * @param reason disconnection reason */ public ConnectionStatusEvent(boolean connected, @Nullable String reason) { this.connected = connected; diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/EventDispatcher.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/EventDispatcher.java index 3a74f46cffa32..58e5fa2de0aa8 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/EventDispatcher.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/EventDispatcher.java @@ -82,5 +82,4 @@ public void dispatchEvent(SatelEvent event) { }); } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraStateEvent.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraStateEvent.java index 51a7e453f6a76..963f2bd42b3e7 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraStateEvent.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraStateEvent.java @@ -35,8 +35,8 @@ public class IntegraStateEvent implements SatelEvent { /** * Constructs new event instance from given state type and state bits. * - * @param command the command byte - * @param stateBits state bits as byte array + * @param command the command byte + * @param stateBits state bits as byte array * @param extendedData whether state bits are for extended command */ public IntegraStateEvent(byte command, byte[] stateBits, boolean extendedData) { @@ -81,7 +81,7 @@ public BitSet getStateBits(StateType stateType) { * Returns true if specified state bit is set for given state. * * @param stateType type of state - * @param nbr state bit number + * @param nbr state bit number * @return true if state bit is set */ public boolean isSet(StateType stateType, int nbr) { diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraVersionEvent.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraVersionEvent.java index 070096e681e4b..239b5f394fa81 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraVersionEvent.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/IntegraVersionEvent.java @@ -31,9 +31,9 @@ public class IntegraVersionEvent implements SatelEvent { /** * Constructs new event class. * - * @param type Integra type - * @param version string describing version number and firmware revision - * @param language firmware language: 1 - english + * @param type Integra type + * @param version string describing version number and firmware revision + * @param language firmware language: 1 - english * @param settingsInFlash settings stored in flash memory */ public IntegraVersionEvent(byte type, String version, byte language, boolean settingsInFlash) { diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ModuleVersionEvent.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ModuleVersionEvent.java index ab3718bad458e..bedac5f124c14 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ModuleVersionEvent.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ModuleVersionEvent.java @@ -28,7 +28,7 @@ public class ModuleVersionEvent implements SatelEvent { /** * Constructs new event class. * - * @param version string describing version number and firmware revision + * @param version string describing version number and firmware revision * @param extPayloadSupport the module supports extended (32-bit) payload for zones/outputs */ public ModuleVersionEvent(String version, boolean extPayloadSupport) { diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/SatelEventListener.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/SatelEventListener.java index 4d100b9dbade5..bb176001961c1 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/SatelEventListener.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/SatelEventListener.java @@ -78,5 +78,4 @@ default void incomingEvent(NewStatesEvent event) { */ default void incomingEvent(ZoneTemperatureEvent event) { } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ZoneTemperatureEvent.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ZoneTemperatureEvent.java index a017b478b9ac7..0d2b5f11b6a14 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ZoneTemperatureEvent.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/event/ZoneTemperatureEvent.java @@ -28,7 +28,7 @@ public class ZoneTemperatureEvent implements SatelEvent { /** * Constructs new event class. * - * @param zoneNbr zone number + * @param zoneNbr zone number * @param temperature current temperature in the zone */ public ZoneTemperatureEvent(int zoneNbr, float temperature) { diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Atd100Handler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Atd100Handler.java index 9bb0b30bb58eb..d67e182915cf4 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Atd100Handler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Atd100Handler.java @@ -119,5 +119,4 @@ protected Optional convertCommand(@Nullable ChannelUID channel, @N // no commands supported return Optional.empty(); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Ethm1BridgeHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Ethm1BridgeHandler.java index 7cda85c599709..400439a5629f9 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Ethm1BridgeHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/Ethm1BridgeHandler.java @@ -80,5 +80,4 @@ public Collection getConfigStatus() { return configStatusMessages; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/IntRSBridgeHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/IntRSBridgeHandler.java index 354d33539883b..f5bffd6ca9046 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/IntRSBridgeHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/IntRSBridgeHandler.java @@ -84,5 +84,4 @@ public Collection getConfigStatus() { return configStatusMessages; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelBridgeHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelBridgeHandler.java index 4af2bbcbd1cfd..0bccde5a989be 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelBridgeHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelBridgeHandler.java @@ -201,7 +201,7 @@ public ZoneId getZoneId() { * Sends given command to communication module. * * @param command a command to send - * @param async if false method waits for the response + * @param async if false method waits for the response * @return true if send succeeded */ public boolean sendCommand(SatelCommand command, boolean async) { @@ -238,5 +238,4 @@ public boolean sendCommand(SatelCommand command, boolean async) { } return false; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelEventLogHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelEventLogHandler.java index 233fd535ddcdb..1e674017eb7a9 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelEventLogHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelEventLogHandler.java @@ -129,7 +129,6 @@ public String toString() { return "EventLogEntry [index=" + index + ", prevIndex=" + prevIndex + ", timestamp=" + timestamp + ", description=" + description + ", details=" + details + "]"; } - } public SatelEventLogHandler(Thing thing) { @@ -334,7 +333,6 @@ String getText() { int getKind() { return descKind; } - } private static class EventDescription extends EventDescriptionCacheEntry { @@ -344,7 +342,6 @@ private static class EventDescription extends EventDescriptionCacheEntry { super(eventText, descKind); this.readEventCmd = readEventCmd; } - } private EventDescription readEventDescription(ReadEventCommand readEventCmd) { @@ -418,5 +415,4 @@ private String readDeviceName(DeviceType deviceType, int deviceNumber) { }); return result == null ? NOT_AVAILABLE_TEXT : result; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelOutputHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelOutputHandler.java index 4f044c073703d..ec4e7b11233de 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelOutputHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelOutputHandler.java @@ -68,5 +68,4 @@ protected StateType getStateType(String channelId) { } return result; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelPartitionHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelPartitionHandler.java index 1453c3cabefa4..c01d564f75296 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelPartitionHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelPartitionHandler.java @@ -101,5 +101,4 @@ protected Optional convertCommand(ChannelUID channel, Command comm return Optional.empty(); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelShutterHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelShutterHandler.java index 73964a9a8d6a6..b860877521ba2 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelShutterHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelShutterHandler.java @@ -97,5 +97,4 @@ protected Optional convertCommand(ChannelUID channel, Command comm return result == null ? Optional.empty() : Optional.of(result); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelStateThingHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelStateThingHandler.java index 145e12166917c..490db5fdebc6b 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelStateThingHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelStateThingHandler.java @@ -187,5 +187,4 @@ protected Collection getRefreshCommands(NewStatesEvent event) { protected boolean requiresRefresh() { return requiresRefresh.getAndSet(false); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelSystemHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelSystemHandler.java index 1fcfba21f507d..d8665e495cd6a 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelSystemHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelSystemHandler.java @@ -139,5 +139,4 @@ protected Collection getRefreshCommands(NewStatesEvent event) { return result; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelThingHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelThingHandler.java index 5fdc77a71eb9c..80d655bb0c0d6 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelThingHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelThingHandler.java @@ -94,7 +94,7 @@ protected SatelBridgeHandler getBridgeHandler() { * Updates switch channel with given state. * * @param channelID channel ID - * @param switchOn if true the channel is updated with ON state, with OFF state otherwise + * @param switchOn if true the channel is updated with ON state, with OFF state otherwise */ protected void updateSwitch(String channelID, boolean switchOn) { ChannelUID channelUID = new ChannelUID(this.getThing().getUID(), channelID); @@ -105,7 +105,7 @@ protected void updateSwitch(String channelID, boolean switchOn) { * Updates switch channel with given state. * * @param channelUID channel UID - * @param switchOn if true the channel is updated with ON state, with OFF state otherwise + * @param switchOn if true the channel is updated with ON state, with OFF state otherwise */ protected void updateSwitch(ChannelUID channelUID, boolean switchOn) { State state = switchOn ? OnOffType.ON : OnOffType.OFF; @@ -116,7 +116,7 @@ protected void updateSwitch(ChannelUID channelUID, boolean switchOn) { * Creates bitset of given size with particular bits set to 1. * * @param size bitset size in bytes - * @param ids bits to set, first bit is 1 + * @param ids bits to set, first bit is 1 * @return bitset as array of bytes */ protected byte[] getObjectBitset(int size, int... ids) { @@ -127,5 +127,4 @@ protected byte[] getObjectBitset(int size, int... ids) { } return bitset; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelZoneHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelZoneHandler.java index b742c6704aeae..1c39720d1e5ee 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelZoneHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/SatelZoneHandler.java @@ -82,5 +82,4 @@ protected StateType getStateType(String channelId) { } return result; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/WirelessChannelsHandler.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/WirelessChannelsHandler.java index 803a6fdb6a657..18e258b02c545 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/WirelessChannelsHandler.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/handler/WirelessChannelsHandler.java @@ -125,5 +125,4 @@ private ChannelUID getChannelUID(StateType stateType) { String channelId = stateType.toString().toLowerCase(); return new ChannelUID(getThing().getUID(), channelId); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/EncryptionHelper.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/EncryptionHelper.java index 7e0f8c070b713..1027e28e01e96 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/EncryptionHelper.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/EncryptionHelper.java @@ -63,9 +63,9 @@ public EncryptionHelper(String keyString) throws GeneralSecurityException { * Decrypts given buffer of bytes in place. * * @param buffer - * bytes to decrypt + * bytes to decrypt * @throws GeneralSecurityException - * on decryption errors + * on decryption errors */ public void decrypt(byte buffer[]) throws GeneralSecurityException { byte[] cv = new byte[16]; @@ -132,5 +132,4 @@ public void encrypt(byte buffer[]) throws GeneralSecurityException { } } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/Ethm1Module.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/Ethm1Module.java index c09251624ffbc..fe5aaa4929d13 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/Ethm1Module.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/Ethm1Module.java @@ -50,9 +50,9 @@ public class Ethm1Module extends SatelModule { * Creates new instance with host, port, timeout and encryption key set to * specified values. * - * @param host host name or IP of ETHM-1 module - * @param port TCP port the module listens on - * @param timeout timeout value in milliseconds for connect/read/write operations + * @param host host name or IP of ETHM-1 module + * @param port TCP port the module listens on + * @param timeout timeout value in milliseconds for connect/read/write operations * @param encryptionKey encryption key for encrypted communication */ public Ethm1Module(String host, int port, int timeout, String encryptionKey) { @@ -254,5 +254,4 @@ private synchronized void writeMessage(byte[] message, OutputStream os) throws I os.flush(); } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/IntRSModule.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/IntRSModule.java index b2cd7c843ca6f..32cffd26c327c 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/IntRSModule.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/IntRSModule.java @@ -46,9 +46,9 @@ public class IntRSModule extends SatelModule { /** * Creates new instance with port and timeout set to specified values. * - * @param port serial port the module is connected to + * @param port serial port the module is connected to * @param serialPortManager serial port manager object - * @param timeout timeout value in milliseconds for connect/read/write operations + * @param timeout timeout value in milliseconds for connect/read/write operations */ public IntRSModule(String port, SerialPortManager serialPortManager, int timeout) { super(timeout); diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelMessage.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelMessage.java index 885321d2eaa20..604cbd167b82c 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelMessage.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelMessage.java @@ -42,9 +42,9 @@ public class SatelMessage { * Creates new instance with specified command code and payload. * * @param command - * command code + * command code * @param payload - * command payload + * command payload */ public SatelMessage(byte command, byte[] payload) { this.command = command; @@ -193,5 +193,4 @@ public int hashCode() { result = prime * result + Arrays.hashCode(payload); return result; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelModule.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelModule.java index ae6a860407332..42121339b1dd7 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelModule.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/protocol/SatelModule.java @@ -556,5 +556,4 @@ private void checkThread() { } } } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ControlType.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ControlType.java index 3c4223da7d11a..207161d398c94 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ControlType.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ControlType.java @@ -44,5 +44,4 @@ public interface ControlType { * @return command identifier */ BitSet getControlledStates(); - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorControl.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorControl.java index 4146a593b412c..55b01b94932d6 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorControl.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorControl.java @@ -44,5 +44,4 @@ public ObjectType getObjectType() { public BitSet getControlledStates() { return stateBits; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorState.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorState.java index 82b81cb86174a..3ecd0e088a617 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorState.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/DoorState.java @@ -51,5 +51,4 @@ public int getStartByte() { public int getBytesCount(boolean extendedCmd) { return getPayloadLength(extendedCmd); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputControl.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputControl.java index 501dc80cd8f79..dbd3f9bb35bcf 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputControl.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputControl.java @@ -51,5 +51,4 @@ public ObjectType getObjectType() { public BitSet getControlledStates() { return stateBits; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputState.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputState.java index 79594748027c6..a244de8207cc8 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputState.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/OutputState.java @@ -50,5 +50,4 @@ public int getStartByte() { public int getBytesCount(boolean extendedCmd) { return getPayloadLength(extendedCmd); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionControl.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionControl.java index ec3ab4919bd08..8a7925137a511 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionControl.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionControl.java @@ -54,5 +54,4 @@ public ObjectType getObjectType() { public BitSet getControlledStates() { return stateBits; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionState.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionState.java index 5042966e2cc51..6e0d6247dc1ce 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionState.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/PartitionState.java @@ -67,5 +67,4 @@ public int getStartByte() { public int getBytesCount(boolean extendedCmd) { return getPayloadLength(extendedCmd); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/StateType.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/StateType.java index 5f8701088057d..e7a74dc271f2d 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/StateType.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/StateType.java @@ -104,7 +104,5 @@ public int getStartByte() { public int getBytesCount(boolean extendedCmd) { throw new UnsupportedOperationException("Illegal use of NONE state type"); } - }; - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleMemoryState.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleMemoryState.java index d6ab396a22515..0f495959c2809 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleMemoryState.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleMemoryState.java @@ -100,5 +100,4 @@ public int getStartByte() { public int getBytesCount(boolean isExtended) { return bytesCount; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleState.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleState.java index ee6615c4853e1..2a7a400127440 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleState.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/TroubleState.java @@ -93,5 +93,4 @@ public int getStartByte() { public int getBytesCount(boolean isExtended) { return bytesCount; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneControl.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneControl.java index 1cd43525f18cc..4d7e89625e8e2 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneControl.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneControl.java @@ -46,5 +46,4 @@ public ObjectType getObjectType() { public BitSet getControlledStates() { return stateBits; } - } diff --git a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneState.java b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneState.java index bb057dc268a65..1cf602cef0e0f 100644 --- a/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneState.java +++ b/bundles/org.openhab.binding.satel/src/main/java/org/openhab/binding/satel/internal/types/ZoneState.java @@ -61,5 +61,4 @@ public int getStartByte() { public int getBytesCount(boolean extendedCmd) { return getPayloadLength(extendedCmd); } - } diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/binding/binding.xml index 5cd27355b0d49..a859cea3e0228 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Satel Binding diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/atd-100.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/atd-100.xml index 5f61fb7533878..e11bd4e13cf1b 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/atd-100.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/atd-100.xml @@ -7,8 +7,8 @@ - - + + @@ -16,9 +16,9 @@ Sensor - - - + + + @@ -41,7 +41,7 @@ Current temperature in the zone Temperature - + diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/common.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/common.xml index d8c63baadf09c..4bbc6ab6f565d 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/common.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/common.xml @@ -8,7 +8,7 @@ Switch Indicates communication troubles with the wireless device - + diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/ethm-1.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/ethm-1.xml index 2e735dd1d32b7..c355b6ea68a4d 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/ethm-1.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/ethm-1.xml @@ -1,5 +1,6 @@ - @@ -32,7 +33,8 @@ - Security code of the user in behalf of all operations will be executed. If empty, only read operations are allowed. + Security code of the user in behalf of all operations will be executed. If empty, only read operations + are allowed. password diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/event-log.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/event-log.xml index 2a2c14d676e7c..f5ba5d5a2a062 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/event-log.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/event-log.xml @@ -7,8 +7,8 @@ - - + + @@ -16,11 +16,11 @@ Event log must read sequentially starting from the most recent record.]]> - - - - - + + + + + @@ -35,28 +35,28 @@ Number Index of the previous record in the event log. Use this value to iterate over the log. - + DateTime Date and time when the event happened. - + String Textual description of the event. - + String Additional details about the event, like names of partitions, zones, users, etc. - + diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/int-rs.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/int-rs.xml index dbfd5254ba522..58218b67992c7 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/int-rs.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/int-rs.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/output.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/output.xml index f35989db6972b..d6716bd82438c 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/output.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/output.xml @@ -7,8 +7,8 @@ - - + + @@ -19,7 +19,7 @@ - + diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/partition.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/partition.xml index 02f793aae6b6f..b8d1262bb47bd 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/partition.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/partition.xml @@ -1,40 +1,41 @@ - - - + + -The subdivision into partitions enables arming/disarming the system only in part of the protected area, as well as limiting +The subdivision into partitions enables arming/disarming the system only in part of the protected area, as well as limiting access to some portion of the premises to selected users.]]> - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -84,42 +85,42 @@ access to some portion of the premises to selected users.]]> Switch Active when first code of required two codes has been entered - + Switch Active in entry time - + Switch Active when arming is in progress and time to exit is greater than ten seconds - + Switch Active when arming is in progress and time to exit is less than ten seconds - + Switch Active when the partition is blocked after arming - + Switch Active when the partition is blocked for guard round - + @@ -162,7 +163,7 @@ access to some portion of the premises to selected users.]]> Switch Active when there are violated zones in the partition - + diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/shutter.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/shutter.xml index 72dc638476661..0fd414c92568b 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/shutter.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/shutter.xml @@ -1,20 +1,21 @@ - - - + + A roller shutter connected to two subsequent outputs. - + diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/system.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/system.xml index 1d98842c56647..63385c804fc06 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/system.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/system.xml @@ -1,27 +1,28 @@ - - - + + A virtual thing describing general status of the alarm system. - - - - - - - - + + + + + + + + @@ -48,34 +49,35 @@ Switch Active when the system is in service mode - + Switch Active when there is an ACU-100 module installed in the system - + Switch Active when there is an INT-RX module installed in the system - + Switch Active when Grade2/Grade3 option is set in the system - + String - Accepts string commands that override configured user code. Send empty string to revert user code to the one in the binding configuration. + Accepts string commands that override configured user code. Send empty string to revert user code to the + one in the binding configuration. diff --git a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/zone.xml b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/zone.xml index 6075c870ba2ff..e563e4ef30364 100644 --- a/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/zone.xml +++ b/bundles/org.openhab.binding.satel/src/main/resources/ESH-INF/thing/zone.xml @@ -7,8 +7,8 @@ - - + + @@ -18,18 +18,18 @@
  • virtual - zones which physically do not exist, but have been programmed as FOLLOW OUTPUT or are controlled by means of a keyfob.
]]> - - - - - - - - - - - - + + + + + + + + + + + + @@ -53,42 +53,42 @@ Switch Active when violation is detected in the zone - +
Switch Active when detector in the zone is tampered - + Switch Active when violation is detected in the zone and zone is armed - + Switch Active when detector in the zone is tampered and zone is armed - + Switch Memorized alarm state for the zone - + Switch Memorized tamper alarm state for the zone - + @@ -101,14 +101,14 @@ Switch Active when no violation has been detected in the zone for configured time - + Switch Active when violation in the zone lasts longer than configured time - + @@ -121,14 +121,14 @@ Switch Active when zone is masked - + Switch Memorized masked state for the zone - + diff --git a/bundles/org.openhab.binding.seneye/pom.xml b/bundles/org.openhab.binding.seneye/pom.xml index a024a239dc549..e929f476efff0 100644 --- a/bundles/org.openhab.binding.seneye/pom.xml +++ b/bundles/org.openhab.binding.seneye/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.seneye/src/main/feature/feature.xml b/bundles/org.openhab.binding.seneye/src/main/feature/feature.xml index 04d91def1dee1..03dcdee76ddb6 100644 --- a/bundles/org.openhab.binding.seneye/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.seneye/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.seneye/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.seneye/${project.version} + diff --git a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeBindingConstants.java b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeBindingConstants.java index d7de071b34e1b..e90043222c284 100644 --- a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeBindingConstants.java +++ b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeBindingConstants.java @@ -55,5 +55,4 @@ public class SeneyeBindingConstants { public static final String PARAMETER_POLLTIME = "polltime"; public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_SENEYE); - } diff --git a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingNh4.java b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingNh4.java index da3b213a99a9d..4665748db117b 100644 --- a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingNh4.java +++ b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingNh4.java @@ -25,5 +25,4 @@ public class SeneyeDeviceReadingNh4 { public boolean status; public double curr; public SeneyeDeviceReadingAdvice[] advices; - } diff --git a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingO2.java b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingO2.java index 66c0dc306bf2e..8e15bfdeea33c 100644 --- a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingO2.java +++ b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingO2.java @@ -25,5 +25,4 @@ public class SeneyeDeviceReadingO2 { public boolean status; public double curr; public SeneyeDeviceReadingAdvice[] advices; - } diff --git a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingPh.java b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingPh.java index eb0e684a125c4..22a919328c60a 100644 --- a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingPh.java +++ b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingPh.java @@ -25,5 +25,4 @@ public class SeneyeDeviceReadingPh { public boolean status; public double curr; public SeneyeDeviceReadingAdvice[] advices; - } diff --git a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingTemperature.java b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingTemperature.java index 4d13f22319045..8a376c5421ffa 100644 --- a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingTemperature.java +++ b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeDeviceReadingTemperature.java @@ -25,5 +25,4 @@ public class SeneyeDeviceReadingTemperature { public boolean status; public double curr; public SeneyeDeviceReadingAdvice[] advices; - } diff --git a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeStatus.java b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeStatus.java index 94c5c83c11e64..270e194bf2155 100644 --- a/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeStatus.java +++ b/bundles/org.openhab.binding.seneye/src/main/java/org/openhab/binding/seneye/internal/SeneyeStatus.java @@ -57,5 +57,4 @@ public String getOut_of_waterString() { public String getDisconnectedString() { return disconnected; } - } diff --git a/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/binding/binding.xml index d354603fbb97b..a321ab584f424 100644 --- a/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Seneye Binding The seneye binding polls the seneye API for your aquarium readings. diff --git a/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/thing/thing-types.xml index b28f61ffd0efa..cbb2a353e2aa0 100644 --- a/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.seneye/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -21,8 +21,8 @@ - - + + @@ -55,84 +55,84 @@ Number The water temperature - +
Number The PH Level - + Number The NH3 Level - + Number The NH4 Level - + Number The O2 Level - + Number The LUX Light Level - + Number The PAR Light Level - + Number The Kelvin Light Level - + DateTime The last time your seneye is checked - + DateTime The time your slide expires - + String The Wrong Slide is in use (becomes 1 when the slide has expired) - + String The serial Number of the currently installed slide - + String The Sensor is reporting being out of the water - + String No readings have been uploaded for a while, check connection - + diff --git a/bundles/org.openhab.binding.sensebox/pom.xml b/bundles/org.openhab.binding.sensebox/pom.xml index 4f56f1a842c85..537593af2481d 100644 --- a/bundles/org.openhab.binding.sensebox/pom.xml +++ b/bundles/org.openhab.binding.sensebox/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.sensebox/src/main/feature/feature.xml b/bundles/org.openhab.binding.sensebox/src/main/feature/feature.xml index b4d2066e7bd90..21c57f9e8c0ed 100644 --- a/bundles/org.openhab.binding.sensebox/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sensebox/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.sensebox/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.sensebox/${project.version} + diff --git a/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxData.java b/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxData.java index 8d1473a4d73c3..7f8886c0377fb 100644 --- a/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxData.java +++ b/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxData.java @@ -14,9 +14,10 @@ import java.util.List; +import org.eclipse.smarthome.core.thing.ThingStatus; + import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; -import org.eclipse.smarthome.core.thing.ThingStatus; /** * The {@link SenseBoxData} holds a de-serialized representation @@ -194,13 +195,11 @@ public void setParticulateMatter2dot5(SenseBoxSensor particulateMatter2dot5) { this.particulateMatter2dot5 = particulateMatter2dot5; } - public SenseBoxSensor getParticulateMatter10() - { + public SenseBoxSensor getParticulateMatter10() { return particulateMatter10; } - public void setParticulateMatter10(SenseBoxSensor particulateMatter10) - { + public void setParticulateMatter10(SenseBoxSensor particulateMatter10) { this.particulateMatter10 = particulateMatter10; } } diff --git a/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxLoc.java b/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxLoc.java index 6937d5412c1e1..d68f32f6a11dd 100644 --- a/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxLoc.java +++ b/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxLoc.java @@ -32,5 +32,4 @@ public SenseBoxGeometry getGeometry() { public void setGeometry(SenseBoxGeometry geometry) { this.geometry = geometry; } - } diff --git a/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxMeasurement.java b/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxMeasurement.java index bff0cf19e341e..7b0390465260c 100644 --- a/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxMeasurement.java +++ b/bundles/org.openhab.binding.sensebox/src/main/java/org/openhab/binding/sensebox/internal/model/SenseBoxMeasurement.java @@ -43,5 +43,4 @@ public String getCreatedAt() { public void setCreatedAt(String createdAt) { this.createdAt = createdAt; } - } diff --git a/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/box.xml b/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/box.xml index f1ba9d12535ea..749873fe8410e 100644 --- a/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/box.xml +++ b/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/box.xml @@ -10,14 +10,14 @@ This is a senseBox sensor. - - - + + + senseBoxId - + diff --git a/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/channels.xml index 6bc6f5fe9b64a..302d919ea7254 100644 --- a/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.sensebox/src/main/resources/ESH-INF/thing/channels.xml @@ -9,7 +9,7 @@ Box descriptors like Location, description, etc. - + @@ -17,13 +17,13 @@ Measurements as fetched from the API. - - - - - - - + + + + + + + @@ -31,13 +31,13 @@ Timestamps when a measurement was last reported. - - - - - - - + + + + + + + @@ -58,7 +58,7 @@ DateTime Timestamp when data was measured. - +
@@ -31,8 +31,8 @@ The vendor selling the WiFi socket. - - + + diff --git a/bundles/org.openhab.binding.sinope/pom.xml b/bundles/org.openhab.binding.sinope/pom.xml index a0715ef1bf2f9..6d66d5da5d390 100644 --- a/bundles/org.openhab.binding.sinope/pom.xml +++ b/bundles/org.openhab.binding.sinope/pom.xml @@ -1,15 +1,17 @@ - + + - 4.0.0 + 4.0.0 - - org.openhab.addons.bundles - org.openhab.addons.reactor.bundles - 2.5.5-SNAPSHOT - + + org.openhab.addons.bundles + org.openhab.addons.reactor.bundles + 2.5.5-SNAPSHOT + - org.openhab.binding.sinope + org.openhab.binding.sinope - openHAB Add-ons :: Bundles :: Sinope Binding + openHAB Add-ons :: Bundles :: Sinope Binding diff --git a/bundles/org.openhab.binding.sinope/src/main/feature/feature.xml b/bundles/org.openhab.binding.sinope/src/main/feature/feature.xml index 9ed99009ca7cf..914ba50ab6d39 100644 --- a/bundles/org.openhab.binding.sinope/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sinope/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.sinope/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.sinope/${project.version} + diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/SinopeBindingConstants.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/SinopeBindingConstants.java index fec6d4f06542e..963ad02d52072 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/SinopeBindingConstants.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/SinopeBindingConstants.java @@ -53,5 +53,4 @@ public class SinopeBindingConstants { SUPPORTED_THING_TYPES_UIDS.add(THING_TYPE_GATEWAY); SUPPORTED_THING_TYPES_UIDS.add(THING_TYPE_THERMO); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeApiLoginRequest.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeApiLoginRequest.java index ad6d2f0f82bb6..403a645e2b310 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeApiLoginRequest.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeApiLoginRequest.java @@ -83,5 +83,4 @@ public byte[] getId() { public SinopeApiLoginAnswer getReplyAnswer(InputStream r) throws IOException { return new SinopeApiLoginAnswer(r); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyAnswer.java index b9b4f0679edfc..0cf7526db2573 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyAnswer.java @@ -98,5 +98,4 @@ public String toString() { sb.append(String.format("\n\tBackoff: %s", ByteUtil.toString(getBackoff()))); return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyRequest.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyRequest.java index b335bd7e6ff0d..f66ad8a8bc867 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyRequest.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeAuthenticationKeyRequest.java @@ -69,5 +69,4 @@ public SinopeAuthenticationKeyAnswer getReplyAnswer(InputStream r) throws IOExce public byte[] getId() { return id; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadAnswer.java index ff59134e68bf7..c362ca166703e 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadAnswer.java @@ -43,5 +43,4 @@ public SinopeDataReadAnswer(InputStream r, SinopeAppData appData) throws IOExcep protected byte[] getCommand() { return new byte[] { 0x02, 0x41 }; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadRequest.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadRequest.java index be61796889a71..b8f045ecc40c3 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadRequest.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataReadRequest.java @@ -53,5 +53,4 @@ protected byte[] getCommand() { public SinopeDataReadAnswer getReplyAnswer(InputStream r) throws IOException { return new SinopeDataReadAnswer(r, this.getAppData()); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteAnswer.java index 653b6f7c6ccc7..8df9d2e14864c 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteAnswer.java @@ -43,5 +43,4 @@ public SinopeDataWriteAnswer(InputStream r, SinopeAppData appData) throws IOExce protected byte[] getCommand() { return new byte[] { 0x02, 0x45 }; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteRequest.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteRequest.java index 00cb12f3344c2..1771c39bd400c 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteRequest.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDataWriteRequest.java @@ -51,5 +51,4 @@ protected byte[] getCommand() { public SinopeDataReadAnswer getReplyAnswer(InputStream r) throws IOException { return new SinopeDataReadAnswer(r, this.getAppData()); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDeviceReportAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDeviceReportAnswer.java index 072e9b6ad0b28..dae194703dfdb 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDeviceReportAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopeDeviceReportAnswer.java @@ -82,5 +82,4 @@ public String toString() { sb.append(String.format("\n\tDeviceId: %s", ByteUtil.toString(getDeviceId()))); return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingAnswer.java index 86d178560c51c..da599f19d41a1 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingAnswer.java @@ -41,5 +41,4 @@ public SinopePingAnswer(InputStream r) throws IOException { protected byte[] getCommand() { return new byte[] { 0x00, 0x13 }; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingRequest.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingRequest.java index a4113629ebdd5..fa6a7ac5fa258 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingRequest.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/SinopePingRequest.java @@ -47,5 +47,4 @@ protected byte[] getFrameData() { public SinopePingAnswer getReplyAnswer(InputStream r) throws IOException { return new SinopePingAnswer(r); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeAppData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeAppData.java index 58c4fc0f0c7ce..a44c2a3afce40 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeAppData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeAppData.java @@ -132,5 +132,4 @@ public String toString() { public void cleanData() { this.data = null; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeHeatLevelData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeHeatLevelData.java index fd341343c5f2c..bd1234e3e11e1 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeHeatLevelData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeHeatLevelData.java @@ -50,5 +50,4 @@ public String toString() { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeLocalTimeData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeLocalTimeData.java index bd0079fb96a2c..c77680dba8e20 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeLocalTimeData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeLocalTimeData.java @@ -25,5 +25,4 @@ public class SinopeLocalTimeData extends SinopeAppData { public SinopeLocalTimeData() { super(new byte[] { 0x00, 0x00, 0x06, 0x00 }, new byte[] { 0, 0, 0 }); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeOutTempData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeOutTempData.java index e8af95fc37cd8..8981653f9e4ed 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeOutTempData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeOutTempData.java @@ -55,5 +55,4 @@ public String toString() { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeRoomTempData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeRoomTempData.java index 0e6c4a20d1ecd..d7abecbc90ea7 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeRoomTempData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeRoomTempData.java @@ -55,5 +55,4 @@ public String toString() { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointModeData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointModeData.java index 2e3443b92eebd..3df4a200f7b25 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointModeData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointModeData.java @@ -54,5 +54,4 @@ public String toString() { public void setSetPointMode(byte mode) { getData()[0] = mode; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointTempData.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointTempData.java index 90a6994dfaa17..5ce3c0cb526a3 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointTempData.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/appdata/SinopeSetPointTempData.java @@ -61,5 +61,4 @@ public void setSetPointTemp(int newTemp) { bb.order(ByteOrder.LITTLE_ENDIAN); bb.putShort((short) newTemp); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/NotSupportedException.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/NotSupportedException.java index 94c17077e9bc2..61a1ed216c9d7 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/NotSupportedException.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/NotSupportedException.java @@ -21,5 +21,4 @@ public class NotSupportedException extends RuntimeException { /** The Constant serialVersionUID. */ private static final long serialVersionUID = 1L; - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeAnswer.java index 0e41290bb8995..81bbc31af5d3d 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeAnswer.java @@ -114,5 +114,4 @@ protected void setInternal_payload(byte[] internal_payload) { logger.debug("Answer Frame: {}", ByteUtil.toString(internal_payload)); super.setInternal_payload(internal_payload); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeDataAnswer.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeDataAnswer.java index 5bed6404e37ba..088d6e3ae4a61 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeDataAnswer.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeDataAnswer.java @@ -158,5 +158,4 @@ public String toString() { return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeFrame.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeFrame.java index 33dc5289905d6..3ccf78c8eeea5 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeFrame.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/core/base/SinopeFrame.java @@ -124,5 +124,4 @@ protected byte[] getInternal_payload() { protected void setInternal_payload(byte[] internal_payload) { this.internal_payload = internal_payload; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/ByteUtil.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/ByteUtil.java index 8b6f58521d49d..804a1303bf59f 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/ByteUtil.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/ByteUtil.java @@ -58,5 +58,4 @@ public static String toString(byte[] buf) { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/CRC8.java b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/CRC8.java index 52f42644e79d1..deb5210c43c83 100644 --- a/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/CRC8.java +++ b/bundles/org.openhab.binding.sinope/src/main/java/org/openhab/binding/sinope/internal/util/CRC8.java @@ -94,5 +94,4 @@ public long getValue() { public void reset() { value = init; } - } diff --git a/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/binding/binding.xml index f1f7ea0df56b2..7e549d9846115 100644 --- a/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,11 @@ - Sinopé Binding - This is the binding for Sinopé. Sinopé provides high-quality, energy-efficient products and with innovative technology solutions that will meet customer's current and future needs: - low and high voltage thermostats, light switches, water leak detectors and load controllers. + This is the binding for Sinopé. Sinopé provides high-quality, energy-efficient products and with + innovative technology solutions that will meet customer's current and future needs: + low and high voltage thermostats, + light switches, water leak detectors and load controllers. Pascal Larin diff --git a/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/thing/thing-types.xml index 6d23464a94bad..335430d822eee 100644 --- a/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.sinope/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -38,16 +39,16 @@ - + Sinopé Thermostat control - - - - - + + + + + @@ -62,7 +63,7 @@ Current inside temperature Temperature - +
@@ -70,7 +71,7 @@ Current outside temperature Temperature - + @@ -78,7 +79,7 @@ Setpoint temperature Temperature - + @@ -105,6 +106,6 @@ Heating Level Heating - + diff --git a/bundles/org.openhab.binding.sleepiq/pom.xml b/bundles/org.openhab.binding.sleepiq/pom.xml index 917ea85e403e2..f6ff6ce2f8aa5 100644 --- a/bundles/org.openhab.binding.sleepiq/pom.xml +++ b/bundles/org.openhab.binding.sleepiq/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.sleepiq/src/main/feature/feature.xml b/bundles/org.openhab.binding.sleepiq/src/main/feature/feature.xml index 1f7c440c1c0bc..bb1ded8f23376 100644 --- a/bundles/org.openhab.binding.sleepiq/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sleepiq/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:com.eclipsesource.jaxrs/provider-gson/2.3 - mvn:org.openhab.addons.bundles/org.openhab.binding.sleepiq/${project.version} - + + openhab-runtime-base + mvn:com.eclipsesource.jaxrs/provider-gson/2.3 + mvn:org.openhab.addons.bundles/org.openhab.binding.sleepiq/${project.version} + diff --git a/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/binding/binding.xml index d0b319447606a..4df7651df522c 100644 --- a/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + SleepIQ Binding This is the binding for the Sleep Number SleepIQ system. diff --git a/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/thing/thing-types.xml index 0e4e040a44f99..1f90098565b81 100644 --- a/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.sleepiq/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -36,32 +36,32 @@ - + @@ -98,37 +98,38 @@ Switch The presence of a person or object on the chamber - +
Number The Sleep Number setting of the chamber - + Number The current pressure inside the chamber - + String - The amount of time that has passed since a connection was made from the chamber to the cloud service (D d HH:MM:SS) - + The amount of time that has passed since a connection was made from the chamber to the cloud service (D d + HH:MM:SS) + Number Identifier for an alert condition with the chamber - + String A detailed message describing an alert condition with the chamber - + diff --git a/bundles/org.openhab.binding.smaenergymeter/pom.xml b/bundles/org.openhab.binding.smaenergymeter/pom.xml index 8cc954b007575..ec640fd739a9d 100644 --- a/bundles/org.openhab.binding.smaenergymeter/pom.xml +++ b/bundles/org.openhab.binding.smaenergymeter/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/feature/feature.xml b/bundles/org.openhab.binding.smaenergymeter/src/main/feature/feature.xml index 61947bb011ac3..4e3ca1b678c3c 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.smaenergymeter/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.smaenergymeter/${project.version} + diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterBindingConstants.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterBindingConstants.java index 61cc131e051c3..c00de0caa9767 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterBindingConstants.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterBindingConstants.java @@ -39,5 +39,4 @@ public class SMAEnergyMeterBindingConstants { public static final String CHANNEL_POWER_OUT = "powerOut"; public static final String CHANNEL_ENERGY_IN = "energyIn"; public static final String CHANNEL_ENERGY_OUT = "energyOut"; - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterHandlerFactory.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterHandlerFactory.java index 0f5fc5b6a946b..8d85569e397a7 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterHandlerFactory.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/SMAEnergyMeterHandlerFactory.java @@ -46,5 +46,4 @@ protected ThingHandler createHandler(Thing thing) { return null; } - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/configuration/EnergyMeterConfig.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/configuration/EnergyMeterConfig.java index bc11fab77df3b..e0cf2be893a18 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/configuration/EnergyMeterConfig.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/configuration/EnergyMeterConfig.java @@ -46,5 +46,4 @@ public Integer getPollingPeriod() { public void setPollingPeriod(Integer pollingPeriod) { this.pollingPeriod = pollingPeriod; } - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/discovery/SMAEnergyMeterDiscoveryService.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/discovery/SMAEnergyMeterDiscoveryService.java index 07bc966572911..bc4fd3d6775ba 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/discovery/SMAEnergyMeterDiscoveryService.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/discovery/SMAEnergyMeterDiscoveryService.java @@ -87,5 +87,4 @@ private synchronized void discover() { logger.debug("Thing discovered '{}'", result); } - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/EnergyMeter.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/EnergyMeter.java index f5da54e1117e7..aaa6ae1dd2a24 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/EnergyMeter.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/EnergyMeter.java @@ -106,5 +106,4 @@ public DecimalType getEnergyIn() { public DecimalType getEnergyOut() { return new DecimalType(energyOut.getValue()); } - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/FieldDTO.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/FieldDTO.java index 032243fd15760..b260d8156e62e 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/FieldDTO.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/FieldDTO.java @@ -57,5 +57,4 @@ private long bytesToUInt32(byte[] bytes) { ByteBuffer buffer = ByteBuffer.wrap(bytes); return buffer.getLong(); } - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/SMAEnergyMeterHandler.java b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/SMAEnergyMeterHandler.java index f274417cfa2ad..263ad07516839 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/SMAEnergyMeterHandler.java +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/java/org/openhab/binding/smaenergymeter/internal/handler/SMAEnergyMeterHandler.java @@ -110,5 +110,4 @@ private synchronized void updateData() { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.OFFLINE.COMMUNICATION_ERROR, e.getMessage()); } } - } diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/binding/binding.xml index a1111acc58c56..cb3f1d5e2259d 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - SMA Energy Meter Binding diff --git a/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/thing/energyMeter.xml b/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/thing/energyMeter.xml index 12931eda1478d..4e488928c954e 100644 --- a/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/thing/energyMeter.xml +++ b/bundles/org.openhab.binding.smaenergymeter/src/main/resources/ESH-INF/thing/energyMeter.xml @@ -8,10 +8,10 @@ - - - - + + + + @@ -25,8 +25,7 @@ IP address of the multicast group 239.12.255.254 - + Port of the multicast group 9522 @@ -45,24 +44,24 @@ Number Energy - +
Number Energy - + Number Energy - + Number Energy - + diff --git a/bundles/org.openhab.binding.smartmeter/pom.xml b/bundles/org.openhab.binding.smartmeter/pom.xml index ef95af3e9905e..467932a4166c3 100644 --- a/bundles/org.openhab.binding.smartmeter/pom.xml +++ b/bundles/org.openhab.binding.smartmeter/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.smartmeter/src/main/feature/feature.xml b/bundles/org.openhab.binding.smartmeter/src/main/feature/feature.xml index 333737798a0ae..d9f748b466825 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.smartmeter/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.smartmeter/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.smartmeter/${project.version} + diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/MeterValue.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/MeterValue.java index 054f9fd87717e..b669596a1b515 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/MeterValue.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/MeterValue.java @@ -125,5 +125,4 @@ public String getObisCode() { public void setStatus(String status) { this.status = status; } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/ObisCode.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/ObisCode.java index 1760ede0e58c5..702ba629d4210 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/ObisCode.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/ObisCode.java @@ -126,5 +126,4 @@ public boolean matches(@Nullable Byte a, @Nullable Byte b, Byte c, Byte d, Byte public boolean matches(Byte c, Byte d, Byte e) { return matches(null, null, c, d, e, null); } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterChannelTypeProvider.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterChannelTypeProvider.java index 7d33f2b1e8447..5c53f25e39006 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterChannelTypeProvider.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterChannelTypeProvider.java @@ -65,7 +65,6 @@ public Collection getChannelTypes(@Nullable Locale locale) { @Override public void errorOccurred(Throwable e) { // Nothing to do if there is an reading error... - } @Override @@ -112,5 +111,4 @@ private ChannelType getChannelType(Unit unit, String obis) { public ChannelTypeUID getChannelTypeIdForObis(String obis) { return obisChannelMap.get(obis).getUID(); } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterConfigProvider.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterConfigProvider.java index 5b2560713aa05..fee7a6e9f722a 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterConfigProvider.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterConfigProvider.java @@ -77,5 +77,4 @@ public class SmartMeterConfigProvider implements ConfigOptionProvider { } return null; } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandler.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandler.java index 055e78b51f845..c8bb8850a71eb 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandler.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandler.java @@ -288,5 +288,4 @@ private > State applyConformity(Channel channel, QuantityT } return currentState; } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandlerFactory.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandlerFactory.java index 0b45d24d57f83..634224b3849e7 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandlerFactory.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/SmartMeterHandlerFactory.java @@ -77,5 +77,4 @@ protected void unsetSerialPortManager(SerialPortManager serialPortManager) { return null; } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/conformity/negate/NegateBitModel.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/conformity/negate/NegateBitModel.java index cca74c202b055..e02bd6e75386b 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/conformity/negate/NegateBitModel.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/conformity/negate/NegateBitModel.java @@ -93,5 +93,4 @@ public boolean equals(@Nullable Object obj) { public boolean isStatus() { return status; } - } diff --git a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/iec62056/Iec62056_21MeterReader.java b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/iec62056/Iec62056_21MeterReader.java index f20d0a2c18e4c..ac3b3bb07f082 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/iec62056/Iec62056_21MeterReader.java +++ b/bundles/org.openhab.binding.smartmeter/src/main/java/org/openhab/binding/smartmeter/internal/iec62056/Iec62056_21MeterReader.java @@ -60,5 +60,4 @@ protected IMeterReaderConnector createConnector(Supplier - Smartmeter Binding - The Smartmeter binding is able to read SML messages (PUSH) and supports IEC 62056-21 modes A,B,C (PULL) and D (PUSH). + The Smartmeter binding is able to read SML messages (PUSH) and supports IEC 62056-21 modes A,B,C (PULL) + and D (PUSH). diff --git a/bundles/org.openhab.binding.smartmeter/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.smartmeter/src/main/resources/ESH-INF/thing/thing-types.xml index a7ce031d4ec0f..d679cc940e8b0 100644 --- a/bundles/org.openhab.binding.smartmeter/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.smartmeter/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -33,7 +34,8 @@ true AUTO - The baudrate of the serial port. If set to 'AUTO', it is dependent on the selected mode. The default is 300 baud for modes A, B, and C and 2400 baud for mode D, and 9600 baud for SML. + The baudrate of the serial port. If set to 'AUTO', it is dependent on the selected mode. The default is + 300 baud for modes A, B, and C and 2400 baud for mode D, and 9600 baud for SML. false @@ -46,7 +48,8 @@ true NONE - Reserved to conform to special semantics specified in specific standards. EDL_FNN: Currently applies the energy direction to WATT channels (which are absolute values) (see fnn lastenheft edl) + Reserved to conform to special semantics specified in specific standards. EDL_FNN: Currently applies + the energy direction to WATT channels (which are absolute values) (see fnn lastenheft edl) true diff --git a/bundles/org.openhab.binding.smartmeter/src/test/java/org/openhab/binding/smartmeter/TestMeterReading.java b/bundles/org.openhab.binding.smartmeter/src/test/java/org/openhab/binding/smartmeter/TestMeterReading.java index f8aff53d8dbf7..4388a82cd2e98 100644 --- a/bundles/org.openhab.binding.smartmeter/src/test/java/org/openhab/binding/smartmeter/TestMeterReading.java +++ b/bundles/org.openhab.binding.smartmeter/src/test/java/org/openhab/binding/smartmeter/TestMeterReading.java @@ -150,7 +150,6 @@ MeterDevice getMeterDevice(ConnectorBase connector) { protected > void populateValueCache(Object smlFile) { addObisCache(new MeterValue("123", "333", null)); } - }; } } diff --git a/bundles/org.openhab.binding.snmp/pom.xml b/bundles/org.openhab.binding.snmp/pom.xml index e371d67633514..cfac380abc889 100644 --- a/bundles/org.openhab.binding.snmp/pom.xml +++ b/bundles/org.openhab.binding.snmp/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.snmp/src/main/feature/feature.xml b/bundles/org.openhab.binding.snmp/src/main/feature/feature.xml index 5690a78254106..292c8da08ef99 100644 --- a/bundles/org.openhab.binding.snmp/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.snmp/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.snmp/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.snmp/${project.version} + diff --git a/bundles/org.openhab.binding.snmp/src/main/java/org/openhab/binding/snmp/internal/SnmpTargetHandler.java b/bundles/org.openhab.binding.snmp/src/main/java/org/openhab/binding/snmp/internal/SnmpTargetHandler.java index ba3e33dc5e73f..ce1777a35664c 100644 --- a/bundles/org.openhab.binding.snmp/src/main/java/org/openhab/binding/snmp/internal/SnmpTargetHandler.java +++ b/bundles/org.openhab.binding.snmp/src/main/java/org/openhab/binding/snmp/internal/SnmpTargetHandler.java @@ -439,5 +439,4 @@ private void refresh() { } } } - } diff --git a/bundles/org.openhab.binding.snmp/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.snmp/src/main/resources/ESH-INF/binding/binding.xml index a8c74500aaef2..0aad84ffa15f4 100644 --- a/bundles/org.openhab.binding.snmp/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.snmp/src/main/resources/ESH-INF/binding/binding.xml @@ -11,7 +11,7 @@ 0 - Port for receiving traps, set to 0 to disable. + Port for receiving traps, set to 0 to disable. diff --git a/bundles/org.openhab.binding.snmp/src/test/java/org/openhab/binding/snmp/internal/SnmpTargetHandlerTest.java b/bundles/org.openhab.binding.snmp/src/test/java/org/openhab/binding/snmp/internal/SnmpTargetHandlerTest.java index 1b7ca484bcef6..b11ec10857f78 100644 --- a/bundles/org.openhab.binding.snmp/src/test/java/org/openhab/binding/snmp/internal/SnmpTargetHandlerTest.java +++ b/bundles/org.openhab.binding.snmp/src/test/java/org/openhab/binding/snmp/internal/SnmpTargetHandlerTest.java @@ -61,7 +61,6 @@ public void testChannelsProperlyUpdate() throws IOException { new OctetString("on"), false)); assertNull( onResponseSwitchChannel(SnmpChannelMode.TRAP, SnmpDatatype.INT32, "1", "2", new Integer32(2), false)); - } @Test @@ -94,7 +93,6 @@ public void testCommandsAreProperlyHandledByNumberChannel() throws IOException { variable = handleCommandNumberStringChannel(SnmpBindingConstants.CHANNEL_TYPE_UID_NUMBER, SnmpDatatype.INT32, new StringType(TEST_STRING), false); assertNull(variable); - } @Test diff --git a/bundles/org.openhab.binding.solaredge/pom.xml b/bundles/org.openhab.binding.solaredge/pom.xml index 2c6c664a62485..c17447b9dbc5b 100644 --- a/bundles/org.openhab.binding.solaredge/pom.xml +++ b/bundles/org.openhab.binding.solaredge/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.solaredge/src/main/feature/feature.xml b/bundles/org.openhab.binding.solaredge/src/main/feature/feature.xml index 4c6d3cb185f4e..158b13e6de93b 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.solaredge/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.solaredge/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.solaredge/${project.version} + diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/AtomicReferenceTrait.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/AtomicReferenceTrait.java index 2c3bd19467bc2..fb17192110989 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/AtomicReferenceTrait.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/AtomicReferenceTrait.java @@ -42,7 +42,7 @@ default void cancelJob(@Nullable Future job) { * updates a job reference with a new job. the old job will be cancelled if there is one. * * @param jobReference reference to be updated - * @param newJob job to be assigned + * @param newJob job to be assigned */ default void updateJobReference(AtomicReference<@Nullable Future> jobReference, Future newJob) { cancelJob(jobReference.getAndSet(newJob)); diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeBindingConstants.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeBindingConstants.java index a62480345b3bc..9d94b22b2f568 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeBindingConstants.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeBindingConstants.java @@ -78,5 +78,4 @@ public class SolarEdgeBindingConstants { public static final int WEB_REQUEST_QUEUE_MAX_SIZE = 20; public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_GENERIC); - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeHandlerFactory.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeHandlerFactory.java index 7caba2c09da7a..0c026f01a3521 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeHandlerFactory.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/SolarEdgeHandlerFactory.java @@ -71,5 +71,4 @@ protected void unsetHttpClientFactory(HttpClientFactory httpClientFactory) { logger.debug("unsetHttpClientFactory"); this.httpClient = null; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/callback/AbstractCommandCallback.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/callback/AbstractCommandCallback.java index 6d3a3daf29c7f..fc946eb53bd22 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/callback/AbstractCommandCallback.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/callback/AbstractCommandCallback.java @@ -79,7 +79,6 @@ public AbstractCommandCallback(SolarEdgeConfiguration config) { this.communicationStatus = new CommunicationStatus(); this.config = config; this.gson = new Gson(); - } /** @@ -118,7 +117,6 @@ public final void onFailure(Response response, Throwable failure) { } else { communicationStatus.setHttpCode(Code.INTERNAL_SERVER_ERROR); } - } @Override @@ -183,5 +181,4 @@ public final StatusUpdateListener getListener() { public final void setListener(StatusUpdateListener listener) { this.listener = listener; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdateMeterless.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdateMeterless.java index 46eddbdda6d96..aed528e1fac53 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdateMeterless.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdateMeterless.java @@ -73,5 +73,4 @@ public void onComplete(Result result) { } } } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdatePrivateApi.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdatePrivateApi.java index 91e520ed0d77d..a85a09dabf37c 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdatePrivateApi.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/LiveDataUpdatePrivateApi.java @@ -73,5 +73,4 @@ public void onComplete(Result result) { } } } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PrivateApiTokenCheck.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PrivateApiTokenCheck.java index b3df8d99a3a56..d9e2033dd3f33 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PrivateApiTokenCheck.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PrivateApiTokenCheck.java @@ -51,5 +51,4 @@ protected String getURL() { public void onComplete(Result result) { getListener().update(getCommunicationStatus()); } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PublicApiKeyCheck.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PublicApiKeyCheck.java index c6dab3c25b328..4b7995ad147f5 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PublicApiKeyCheck.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/PublicApiKeyCheck.java @@ -51,5 +51,4 @@ protected String getURL() { public void onComplete(Result result) { getListener().update(getCommunicationStatus()); } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/SolarEdgeCommand.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/SolarEdgeCommand.java index 6ae77674c5f4f..babc0fa1161ce 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/SolarEdgeCommand.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/command/SolarEdgeCommand.java @@ -48,5 +48,4 @@ public interface SolarEdgeCommand extends SuccessListener, FailureListener, Cont * @param listener */ void setListener(StatusUpdateListener listener); - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/config/SolarEdgeConfiguration.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/config/SolarEdgeConfiguration.java index 93208412f678d..9bc5fb11d1f06 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/config/SolarEdgeConfiguration.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/config/SolarEdgeConfiguration.java @@ -107,5 +107,4 @@ public String toString() { .append("aggregate data pollingInterval", getAggregateDataPollingInterval()) .append("asyncTimeout", getAsyncTimeout()).append("syncTimeout", getSyncTimeout()).toString(); } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/CommunicationStatus.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/CommunicationStatus.java index 0cc52830e6f24..fc139d0f40183 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/CommunicationStatus.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/CommunicationStatus.java @@ -49,5 +49,4 @@ public final String getMessage() { } return ""; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/StatusUpdateListener.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/StatusUpdateListener.java index 4cc7a7f1d6079..0a1841e5a0225 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/StatusUpdateListener.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/StatusUpdateListener.java @@ -23,5 +23,4 @@ public interface StatusUpdateListener { void update(CommunicationStatus status); - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/WebInterface.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/WebInterface.java index fe8806798b158..36544a05e1f40 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/WebInterface.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/connector/WebInterface.java @@ -159,7 +159,6 @@ public void update(CommunicationStatus status) { command.performAction(httpClient); } } - } /** @@ -283,7 +282,6 @@ private boolean preCheck() { this.handler.setStatusInfo(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, preCheckStatusMessage); return false; - } /** @@ -317,5 +315,4 @@ private boolean isAuthenticated() { private void setAuthenticated(boolean authenticated) { this.authenticated = authenticated; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeBaseHandler.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeBaseHandler.java index 5839dfdb8dc22..583ed4e6d995f 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeBaseHandler.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeBaseHandler.java @@ -152,5 +152,4 @@ public void setStatusInfo(ThingStatus status, ThingStatusDetail statusDetail, St public SolarEdgeConfiguration getConfiguration() { return this.getConfigAs(SolarEdgeConfiguration.class); } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeHandler.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeHandler.java index 8e2d2d86e9699..4f98b033298f1 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeHandler.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/handler/SolarEdgeHandler.java @@ -35,9 +35,9 @@ public interface SolarEdgeHandler extends ThingHandler { * Called from {@link WebInterface#authenticate()} to update * the thing status because updateStatus is protected. * - * @param status Bridge status + * @param status Bridge status * @param statusDetail Bridge status detail - * @param description Bridge status description + * @param description Bridge status description */ void setStatusInfo(ThingStatus status, ThingStatusDetail statusDetail, String description); diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AbstractAggregateDataResponsePrivateApi.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AbstractAggregateDataResponsePrivateApi.java index f555f440754e7..a14ae51ebbe54 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AbstractAggregateDataResponsePrivateApi.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AbstractAggregateDataResponsePrivateApi.java @@ -104,5 +104,4 @@ protected final void assignPercentage(Map targetMap, Channel cha } targetMap.put(channel, result); } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateDataResponsePublicApi.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateDataResponsePublicApi.java index 96f288ddaae4b..aa39a5aded93d 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateDataResponsePublicApi.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateDataResponsePublicApi.java @@ -354,5 +354,4 @@ protected final void assignPercentage(Map targetMap, Channel cha targetMap.put(channel, result); } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateMonthDataResponsePrivateApi.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateMonthDataResponsePrivateApi.java index d985cfa4c4ee2..9006486b8520a 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateMonthDataResponsePrivateApi.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateMonthDataResponsePrivateApi.java @@ -60,5 +60,4 @@ public Map getValues() { return valueMap; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateWeekDataResponsePrivateApi.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateWeekDataResponsePrivateApi.java index 0f88e73ecff23..80d01010a346e 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateWeekDataResponsePrivateApi.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateWeekDataResponsePrivateApi.java @@ -60,5 +60,4 @@ public Map getValues() { return valueMap; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateYearDataResponsePrivateApi.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateYearDataResponsePrivateApi.java index 4c2419737e244..1ac3eb2d2348b 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateYearDataResponsePrivateApi.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/AggregateYearDataResponsePrivateApi.java @@ -60,5 +60,4 @@ public Map getValues() { return valueMap; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/DataResponse.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/DataResponse.java index e833a21811c3e..2f83a45bcc032 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/DataResponse.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/DataResponse.java @@ -74,5 +74,4 @@ default Unit determinePowerUnit(String unit) { } return null; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponse.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponse.java index 40ad20b07f5b8..59274984da10e 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponse.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponse.java @@ -79,7 +79,6 @@ public static class SiteCurrentPowerFlow { public BatteryValue storage; public List connections; - } private SiteCurrentPowerFlow siteCurrentPowerFlow; diff --git a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponseMeterless.java b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponseMeterless.java index a07945505153d..da538d9ad2821 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponseMeterless.java +++ b/bundles/org.openhab.binding.solaredge/src/main/java/org/openhab/binding/solaredge/internal/model/LiveDataResponseMeterless.java @@ -114,5 +114,4 @@ public final Overview getOverview() { public final void setOverview(Overview overview) { this.overview = overview; } - } diff --git a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/binding/binding.xml index 1146dfd309c32..b6a4ee41505cb 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - SolarEdge Binding This is the binding for SolarEdge. diff --git a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/config/config.xml index 1b845eda93ee2..658fa975a1096 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - @@ -18,7 +19,8 @@ - API Key to access the official solaredge API. If using Private API this must be fills with Spring Security Token (Check Browser Cookies when logged into website) + API Key to access the official solaredge API. If using Private API this must be fills with Spring + Security Token (Check Browser Cookies when logged into website) password @@ -32,19 +34,23 @@ - Private API allows to avoid the limit of 300 API calls per day but is less documented and therefore less stable. If no meter is available you cannot use the private API, it does not provide live data for this kind of setup. + Private API allows to avoid the limit of 300 API calls per day but is less documented and therefore less + stable. If no meter is available you cannot use the private API, it does not provide live data for this kind of + setup. false - Interval in which live data is polled from SolarEdge (in minutes). If not using private API this should not be less than 10 minutes. + Interval in which live data is polled from SolarEdge (in minutes). If not using private API this should + not be less than 10 minutes. 10 - Interval in which aggregate data is polled from SolarEdge (in minutes). If not using private API this must not be less than 60 minutes. + Interval in which aggregate data is polled from SolarEdge (in minutes). If not using private API this + must not be less than 60 minutes. 60 diff --git a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-groups.xml b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-groups.xml index 05ffed28ccc3a..fc2993650fd69 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-groups.xml +++ b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-groups.xml @@ -1,23 +1,24 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -25,13 +26,13 @@ Aggregate data (by day) - - - - - - - + + + + + + + @@ -39,13 +40,13 @@ Aggregate data (by week) - - - - - - - + + + + + + + @@ -53,13 +54,13 @@ Aggregate data (by month) - - - - - - - + + + + + + + @@ -67,13 +68,13 @@ Aggregate data (by year) - - - - - - - + + + + + + + diff --git a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-types.xml b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-types.xml index 7f683b8622df8..b756ea8eb15ed 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-types.xml +++ b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-channel-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-thing.xml b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-thing.xml index 13da3a792fd8f..e081ebe1ee1d5 100644 --- a/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-thing.xml +++ b/bundles/org.openhab.binding.solaredge/src/main/resources/ESH-INF/thing/generic-thing.xml @@ -1,5 +1,6 @@ - @@ -7,13 +8,13 @@ data retrieved from SolarEdge web interface - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.solarlog/pom.xml b/bundles/org.openhab.binding.solarlog/pom.xml index 87211e8412aec..11e0091e4303b 100644 --- a/bundles/org.openhab.binding.solarlog/pom.xml +++ b/bundles/org.openhab.binding.solarlog/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.solarlog/src/main/feature/feature.xml b/bundles/org.openhab.binding.solarlog/src/main/feature/feature.xml index 5d6c31c5aa63f..c515283b670cc 100644 --- a/bundles/org.openhab.binding.solarlog/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.solarlog/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.solarlog/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.solarlog/${project.version} + diff --git a/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/binding/binding.xml index dac5f877e4fed..41bdaec5f3766 100644 --- a/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/binding/binding.xml @@ -4,7 +4,11 @@ xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> Solar-Log Binding - This is the binding for the Solar-Log product range developed and sold by Solare Datensysteme GmbH. The Solar-Log devices allow monitoring of Photovoltaic (PV) installations and provide a JSON API to extract data. This includes information about current energy production and use, and other vital parameters of a PV installation. This binding makes this data accessible to openHAB from where it can be persistently stored, used to trigger actions or be displayed for information. + This is the binding for the Solar-Log product range developed and sold by Solare Datensysteme GmbH. The + Solar-Log devices allow monitoring of Photovoltaic (PV) installations and provide a JSON API to extract data. This + includes information about current energy production and use, and other vital parameters of a PV installation. This + binding makes this data accessible to openHAB from where it can be persistently stored, used to trigger actions or be + displayed for information. Johann Richard diff --git a/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/thing/thing-types.xml index c522c80ffb051..4d236039a21d7 100644 --- a/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.solarlog/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/pom.xml b/bundles/org.openhab.binding.somfytahoma/pom.xml index e113c255c3d37..f3359e6118ac9 100644 --- a/bundles/org.openhab.binding.somfytahoma/pom.xml +++ b/bundles/org.openhab.binding.somfytahoma/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/feature/feature.xml b/bundles/org.openhab.binding.somfytahoma/src/main/feature/feature.xml index 9ccee3c5534bb..6e1e589a0f2d9 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - mvn:org.openhab.addons.bundles/org.openhab.binding.somfytahoma/${project.version} - + + openhab-runtime-base + openhab-transport-http + mvn:org.openhab.addons.bundles/org.openhab.binding.somfytahoma/${project.version} + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/SomfyTahomaBindingConstants.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/SomfyTahomaBindingConstants.java index a1c7b5b57dfc4..cb3568cfafbcd 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/SomfyTahomaBindingConstants.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/SomfyTahomaBindingConstants.java @@ -43,8 +43,7 @@ public class SomfyTahomaBindingConstants { "rollershutter_silent"); // Uno Roller Shutter - public static final ThingTypeUID THING_TYPE_ROLLERSHUTTER_UNO = new ThingTypeUID(BINDING_ID, - "rollershutter_uno"); + public static final ThingTypeUID THING_TYPE_ROLLERSHUTTER_UNO = new ThingTypeUID(BINDING_ID, "rollershutter_uno"); // Screen public static final ThingTypeUID THING_TYPE_SCREEN = new ThingTypeUID(BINDING_ID, "screen"); @@ -105,7 +104,8 @@ public class SomfyTahomaBindingConstants { // Heating system public static final ThingTypeUID THING_TYPE_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID, "heatingsystem"); - public static final ThingTypeUID THING_TYPE_ONOFF_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID, "onoffheatingsystem"); + public static final ThingTypeUID THING_TYPE_ONOFF_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID, + "onoffheatingsystem"); // Door lock public static final ThingTypeUID THING_TYPE_DOOR_LOCK = new ThingTypeUID(BINDING_ID, "doorlock"); @@ -135,7 +135,8 @@ public class SomfyTahomaBindingConstants { public static final ThingTypeUID THING_TYPE_SIREN = new ThingTypeUID(BINDING_ID, "siren"); // Adjustable slats roller shutter - public static final ThingTypeUID THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER = new ThingTypeUID(BINDING_ID, "adjustableslatsrollershutter"); + public static final ThingTypeUID THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER = new ThingTypeUID(BINDING_ID, + "adjustableslatsrollershutter"); // MyFox Camera public static final ThingTypeUID THING_TYPE_MYFOX_CAMERA = new ThingTypeUID(BINDING_ID, "myfoxcamera"); @@ -183,7 +184,6 @@ public class SomfyTahomaBindingConstants { public static final String RADIO_BATTERY = "radio_battery"; public static final String SENSOR_BATTERY = "sensor_battery"; - // Light sensor public static final String LUMINANCE = "luminance"; @@ -344,19 +344,18 @@ public class SomfyTahomaBindingConstants { public static final String COMPLETED_EVENT = "COMPLETED"; // supported thing types for discovery - public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>(Arrays.asList( - THING_TYPE_GATEWAY, THING_TYPE_ROLLERSHUTTER, THING_TYPE_ROLLERSHUTTER_SILENT, THING_TYPE_SCREEN, - THING_TYPE_VENETIANBLIND, THING_TYPE_EXTERIORSCREEN, THING_TYPE_EXTERIORVENETIANBLIND, - THING_TYPE_GARAGEDOOR, THING_TYPE_AWNING, THING_TYPE_ACTIONGROUP, THING_TYPE_ONOFF, THING_TYPE_LIGHT, - THING_TYPE_LIGHTSENSOR, THING_TYPE_SMOKESENSOR, THING_TYPE_CONTACTSENSOR, THING_TYPE_OCCUPANCYSENSOR, - THING_TYPE_WINDOW, THING_TYPE_INTERNAL_ALARM, THING_TYPE_EXTERNAL_ALARM, THING_TYPE_POD, - THING_TYPE_HEATING_SYSTEM, THING_TYPE_ONOFF_HEATING_SYSTEM, THING_TYPE_DOOR_LOCK, THING_TYPE_PERGOLA, - THING_TYPE_WINDOW_HANDLE, THING_TYPE_TEMPERATURESENSOR, THING_TYPE_GATE, THING_TYPE_CURTAIN, - THING_TYPE_ELECTRICITYSENSOR, THING_TYPE_DOCK, THING_TYPE_SIREN, THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER, - THING_TYPE_MYFOX_CAMERA, THING_TYPE_ROLLERSHUTTER_UNO, THING_TYPE_WATERSENSOR, THING_TYPE_HUMIDITYSENSOR, - THING_TYPE_MYFOX_ALARM, THING_TYPE_THERMOSTAT)); - - //somfy gateways + public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>(Arrays.asList(THING_TYPE_GATEWAY, + THING_TYPE_ROLLERSHUTTER, THING_TYPE_ROLLERSHUTTER_SILENT, THING_TYPE_SCREEN, THING_TYPE_VENETIANBLIND, + THING_TYPE_EXTERIORSCREEN, THING_TYPE_EXTERIORVENETIANBLIND, THING_TYPE_GARAGEDOOR, THING_TYPE_AWNING, + THING_TYPE_ACTIONGROUP, THING_TYPE_ONOFF, THING_TYPE_LIGHT, THING_TYPE_LIGHTSENSOR, THING_TYPE_SMOKESENSOR, + THING_TYPE_CONTACTSENSOR, THING_TYPE_OCCUPANCYSENSOR, THING_TYPE_WINDOW, THING_TYPE_INTERNAL_ALARM, + THING_TYPE_EXTERNAL_ALARM, THING_TYPE_POD, THING_TYPE_HEATING_SYSTEM, THING_TYPE_ONOFF_HEATING_SYSTEM, + THING_TYPE_DOOR_LOCK, THING_TYPE_PERGOLA, THING_TYPE_WINDOW_HANDLE, THING_TYPE_TEMPERATURESENSOR, + THING_TYPE_GATE, THING_TYPE_CURTAIN, THING_TYPE_ELECTRICITYSENSOR, THING_TYPE_DOCK, THING_TYPE_SIREN, + THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER, THING_TYPE_MYFOX_CAMERA, THING_TYPE_ROLLERSHUTTER_UNO, + THING_TYPE_WATERSENSOR, THING_TYPE_HUMIDITYSENSOR, THING_TYPE_MYFOX_ALARM, THING_TYPE_THERMOSTAT)); + + // somfy gateways public static Map gatewayTypes = new HashMap() { { put(0, "VIRTUAL_KIZBOX"); diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/config/SomfyTahomaConfig.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/config/SomfyTahomaConfig.java index 73f7c1a59954d..c1b644fd222f7 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/config/SomfyTahomaConfig.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/config/SomfyTahomaConfig.java @@ -15,7 +15,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; /** - * The {@link SomfyTahomaConfig} is is the base class for configuration + * The {@link SomfyTahomaConfig} is is the base class for configuration * information held by devices and modules. * * @author Ondrej Pecta - Initial contribution diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAdjustableSlatsRollerShutterHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAdjustableSlatsRollerShutterHandler.java index 431968a3335ff..45ec3e6e8de15 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAdjustableSlatsRollerShutterHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAdjustableSlatsRollerShutterHandler.java @@ -38,7 +38,7 @@ public SomfyTahomaAdjustableSlatsRollerShutterHandler(Thing thing) { stateNames.put(CONTROL, CLOSURE_OR_ROCKER_STATE); stateNames.put(ROCKER, CLOSURE_OR_ROCKER_STATE); stateNames.put(ORIENTATION, SLATE_ORIENTATION_STATE); - //override state type because the control may return string 'rocker' + // override state type because the control may return string 'rocker' cacheStateType(CONTROL, TYPE_PERCENT); } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAwningHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAwningHandler.java index 2a2c2d3feee22..cb05feff229b2 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAwningHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaAwningHandler.java @@ -50,7 +50,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else if (COMMAND_STOP.equals(cmd)) { String executionId = getCurrentExecutions(); if (executionId != null) { - //Check if the awning is moving and STOP is sent => STOP it + // Check if the awning is moving and STOP is sent => STOP it cancelExecution(executionId); } else { sendCommand(COMMAND_MY); diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBaseThingHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBaseThingHandler.java index b43c95986565f..cd5e72f104aba 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBaseThingHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBaseThingHandler.java @@ -76,7 +76,7 @@ public void initialize() { private void createRSSIChannel() { if (thing.getChannel(RSSI) == null) { logger.debug("{} Creating a rssi channel", url); - createChannel(RSSI, "Number","RSSI Level"); + createChannel(RSSI, "Number", "RSSI Level"); } } @@ -318,7 +318,7 @@ private void updateRSSIChannel(SomfyTahomaState state) { } public void updateThingChannels(SomfyTahomaState state) { - stateNames.forEach((k,v) -> { + stateNames.forEach((k, v) -> { if (v.equals(state.getName())) { Channel ch = thing.getChannel(k); if (ch != null) { diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBridgeHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBridgeHandler.java index 50f7e631ca9d8..97e3297258bae 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBridgeHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaBridgeHandler.java @@ -23,9 +23,6 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonSyntaxException; import org.apache.commons.lang.StringUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; @@ -45,6 +42,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.gson.Gson; +import com.google.gson.JsonElement; +import com.google.gson.JsonSyntaxException; + /** * The {@link SomfyTahomaBridgeHandler} is responsible for handling commands, which are * sent to one of the channels. @@ -171,17 +172,20 @@ public synchronized void login() { try { url = TAHOMA_API_URL + "login"; - String urlParameters = "userId=" + urlEncode(thingConfig.getEmail()) + "&userPassword=" + urlEncode(thingConfig.getPassword()); + String urlParameters = "userId=" + urlEncode(thingConfig.getEmail()) + "&userPassword=" + + urlEncode(thingConfig.getPassword()); ContentResponse response = sendRequestBuilder(url, HttpMethod.POST) - .content(new StringContentProvider(urlParameters), "application/x-www-form-urlencoded; charset=UTF-8") + .content(new StringContentProvider(urlParameters), + "application/x-www-form-urlencoded; charset=UTF-8") .send(); if (logger.isTraceEnabled()) { logger.trace("Login response: {}", response.getContentAsString()); } - SomfyTahomaLoginResponse data = gson.fromJson(response.getContentAsString(), SomfyTahomaLoginResponse.class); + SomfyTahomaLoginResponse data = gson.fromJson(response.getContentAsString(), + SomfyTahomaLoginResponse.class); if (data.isSuccess()) { logger.debug("SomfyTahoma version: {}", data.getVersion()); String id = registerEvents(); @@ -193,7 +197,8 @@ public synchronized void login() { logger.debug("Events id error: {}", id); } } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Error logging in: " + data.getError()); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "Error logging in: " + data.getError()); if (data.getError().startsWith(TOO_MANY_REQUESTS)) { setTooManyRequests(); } @@ -204,7 +209,8 @@ public synchronized void login() { } catch (InterruptedException | ExecutionException | TimeoutException e) { if (e instanceof ExecutionException) { if (e.getMessage().contains(AUTHENTICATION_CHALLENGE)) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Authentication challenge"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "Authentication challenge"); setTooManyRequests(); return; } @@ -324,7 +330,6 @@ private void cleanup() { } } - @Override public void bridgeStatusChanged(ThingStatusInfo bridgeStatusInfo) { super.bridgeStatusChanged(bridgeStatusInfo); @@ -484,7 +489,7 @@ private void processEvent(SomfyTahomaEvent event) { processGatewayEvent(event); break; default: - //ignore other states + // ignore other states } } @@ -497,7 +502,7 @@ private synchronized void updateThings() { } } - //update all states only if necessary + // update all states only if necessary if (needsUpdate) { updateAllStates(); reconciliation = false; @@ -541,7 +546,7 @@ private void unregisterExecution(String execId) { } private void processGatewayEvent(SomfyTahomaEvent event) { - //update gateway status + // update gateway status for (Thing th : getThing().getThings()) { if (THING_TYPE_GATEWAY.equals(th.getThingTypeUID())) { SomfyTahomaGatewayHandler gatewayHandler = (SomfyTahomaGatewayHandler) th.getHandler(); @@ -606,7 +611,7 @@ private void refreshTahomaStates() { return; } - //force Tahoma to ask for actual states + // force Tahoma to ask for actual states forceGatewaySync(); } @@ -632,27 +637,33 @@ private void logout() { } } - private String sendPostToTahomaWithCookie(String url, String urlParameters) throws InterruptedException, ExecutionException, TimeoutException { + private String sendPostToTahomaWithCookie(String url, String urlParameters) + throws InterruptedException, ExecutionException, TimeoutException { return sendMethodToTahomaWithCookie(url, HttpMethod.POST, urlParameters); } - private String sendGetToTahomaWithCookie(String url) throws InterruptedException, ExecutionException, TimeoutException { + private String sendGetToTahomaWithCookie(String url) + throws InterruptedException, ExecutionException, TimeoutException { return sendMethodToTahomaWithCookie(url, HttpMethod.GET); } - private String sendPutToTahomaWithCookie(String url) throws InterruptedException, ExecutionException, TimeoutException { + private String sendPutToTahomaWithCookie(String url) + throws InterruptedException, ExecutionException, TimeoutException { return sendMethodToTahomaWithCookie(url, HttpMethod.PUT); } - private String sendDeleteToTahomaWithCookie(String url) throws InterruptedException, ExecutionException, TimeoutException { + private String sendDeleteToTahomaWithCookie(String url) + throws InterruptedException, ExecutionException, TimeoutException { return sendMethodToTahomaWithCookie(url, HttpMethod.DELETE); } - private String sendMethodToTahomaWithCookie(String url, HttpMethod method) throws InterruptedException, ExecutionException, TimeoutException { + private String sendMethodToTahomaWithCookie(String url, HttpMethod method) + throws InterruptedException, ExecutionException, TimeoutException { return sendMethodToTahomaWithCookie(url, method, ""); } - private String sendMethodToTahomaWithCookie(String url, HttpMethod method, String urlParameters) throws InterruptedException, ExecutionException, TimeoutException { + private String sendMethodToTahomaWithCookie(String url, HttpMethod method, String urlParameters) + throws InterruptedException, ExecutionException, TimeoutException { logger.trace("Sending {} to url: {} with data: {}", method.asString(), url, urlParameters); Request request = sendRequestBuilder(url, method); if (StringUtils.isNotEmpty(urlParameters)) { @@ -672,13 +683,9 @@ private String sendMethodToTahomaWithCookie(String url, HttpMethod method, Strin } private Request sendRequestBuilder(String url, HttpMethod method) { - return httpClient.newRequest(url) - .method(method) - .header(HttpHeader.ACCEPT_LANGUAGE, "en-US,en") - .header(HttpHeader.ACCEPT_ENCODING, "gzip, deflate") - .header("X-Requested-With", "XMLHttpRequest") - .timeout(TAHOMA_TIMEOUT, TimeUnit.SECONDS) - .agent(TAHOMA_AGENT); + return httpClient.newRequest(url).method(method).header(HttpHeader.ACCEPT_LANGUAGE, "en-US,en") + .header(HttpHeader.ACCEPT_ENCODING, "gzip, deflate").header("X-Requested-With", "XMLHttpRequest") + .timeout(TAHOMA_TIMEOUT, TimeUnit.SECONDS).agent(TAHOMA_AGENT); } public void sendCommand(String io, String command, String params) { @@ -700,8 +707,9 @@ public void sendCommand(String io, String command, String params) { url = EXEC_URL + "apply"; String value = params.equals("[]") ? command : params.replace("\"", ""); - String urlParameters = "{\"label\":\"" + getThingLabelByURL(io) + " - " + value + " - OH2\",\"actions\":[{\"deviceURL\":\"" + io + "\",\"commands\":[{\"name\":\"" - + command + "\",\"parameters\":" + params + "}]}]}"; + String urlParameters = "{\"label\":\"" + getThingLabelByURL(io) + " - " + value + + " - OH2\",\"actions\":[{\"deviceURL\":\"" + io + "\",\"commands\":[{\"name\":\"" + command + + "\",\"parameters\":" + params + "}]}]}"; line = sendPostToTahomaWithCookie(url, urlParameters); @@ -740,10 +748,10 @@ private String getThingLabelByURL(String io) { Thing th = getThingByDeviceUrl(io); if (th != null) { if (th.getProperties().containsKey(NAME_STATE)) { - //Return label from Tahoma + // Return label from Tahoma return th.getProperties().get(NAME_STATE).replace("\"", ""); } - //Return label from OH2 + // Return label from OH2 return th.getLabel() != null ? th.getLabel().replace("\"", "") : ""; } return "null"; @@ -799,7 +807,6 @@ public void executeActionGroup(String id) { if (!UNAUTHORIZED.equals(execId) && execId != null) { registerExecution(id, execId); } - } private boolean reLogin() { diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaElectricitySensorHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaElectricitySensorHandler.java index 6167ad441025a..ab33b36243fc7 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaElectricitySensorHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaElectricitySensorHandler.java @@ -27,7 +27,7 @@ public class SomfyTahomaElectricitySensorHandler extends SomfyTahomaBaseThingHan public SomfyTahomaElectricitySensorHandler(Thing thing) { super(thing); stateNames.put(ENERGY_CONSUMPTION, ENERGY_CONSUMPTION_STATE); - //override state type because the cloud sends consumption in percent + // override state type because the cloud sends consumption in percent cacheStateType(ENERGY_CONSUMPTION_STATE, TYPE_DECIMAL); } } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaExternalAlarmHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaExternalAlarmHandler.java index b90fb14173534..3a57a0bc28324 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaExternalAlarmHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaExternalAlarmHandler.java @@ -41,5 +41,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { sendCommand(command.toString()); } } - } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaGatewayHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaGatewayHandler.java index f42ce0afcf8b0..e8a6e8519cefb 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaGatewayHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaGatewayHandler.java @@ -43,7 +43,7 @@ public void refresh(String channel) { if (ch != null) { updateState(ch.getUID(), new StringType(tahomaStatus)); } - //update the firmware property + // update the firmware property String fw = status.getProtocolVersion(); updateProperty(PROPERTY_FIRMWARE_VERSION, fw); @@ -53,5 +53,4 @@ public void refresh(String channel) { public String getGateWayId() { return getThing().getConfiguration().get("id").toString(); } - } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaMyfoxCameraHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaMyfoxCameraHandler.java index 11f1de2e1e52d..e6e3ea30a8028 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaMyfoxCameraHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaMyfoxCameraHandler.java @@ -44,7 +44,7 @@ public void updateThingChannels(SomfyTahomaState state) { if (MYFOX_SHUTTER_STATUS_STATE.equals(state.getName())) { Channel ch = thing.getChannel(SHUTTER); if (ch != null) { - //we need to covert opened/closed values to ON/OFF + // we need to covert opened/closed values to ON/OFF boolean open = "opened".equals(state.getValue()); updateState(ch.getUID(), open ? OnOffType.ON : OnOffType.OFF); } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaOccupancySensorHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaOccupancySensorHandler.java index 3184435042363..ba4da9be3d5bc 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaOccupancySensorHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaOccupancySensorHandler.java @@ -31,5 +31,4 @@ public SomfyTahomaOccupancySensorHandler(Thing thing) { stateNames.put(CONTACT, "core:OccupancyState"); stateNames.put(SENSOR_DEFECT, SENSOR_DEFECT_STATE); } - } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaRollerShutterHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaRollerShutterHandler.java index ed9477fec87c0..5c4903f16f2cd 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaRollerShutterHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaRollerShutterHandler.java @@ -51,7 +51,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else if (COMMAND_STOP.equals(cmd)) { String executionId = getCurrentExecutions(); if (executionId != null) { - //Check if the roller shutter is moving and STOP is sent => STOP it + // Check if the roller shutter is moving and STOP is sent => STOP it cancelExecution(executionId); } else { sendCommand(COMMAND_MY); diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSilentRollerShutterHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSilentRollerShutterHandler.java index 1382b569e8117..d08442a34f06a 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSilentRollerShutterHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSilentRollerShutterHandler.java @@ -50,7 +50,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else if (COMMAND_STOP.equals(cmd)) { String executionId = getCurrentExecutions(); if (executionId != null) { - //Check if the roller shutter is moving and STOP is sent => STOP it + // Check if the roller shutter is moving and STOP is sent => STOP it cancelExecution(executionId); } else { sendCommand(COMMAND_MY); diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSirenHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSirenHandler.java index 888b16e3539b8..aa3bbfbaf812c 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSirenHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSirenHandler.java @@ -45,7 +45,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { return; } - //it is possible only to disable the siren + // it is possible only to disable the siren if (ONOFF_STATE.equals(channelUID.getId()) && command.equals(OnOffType.OFF)) { sendCommand(COMMAND_OFF); } @@ -54,6 +54,5 @@ public void handleCommand(ChannelUID channelUID, Command command) { if (MEMORIZED_VOLUME.equals(channelUID.getId()) && command instanceof StringType) { sendCommand("setMemorizedSimpleVolume", "[\"" + command.toString().toLowerCase() + "\"]"); } - } } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSmokeSensorHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSmokeSensorHandler.java index 3e8687f211143..b436849e426c4 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSmokeSensorHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaSmokeSensorHandler.java @@ -46,7 +46,5 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else if (ALARM_CHECK.equals(channelUID.getId())) { sendCommand(COMMAND_CHECK_TRIGGER, "[\"" + command.toString().toLowerCase() + "\"]"); } - } } - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaTemperatureSensorHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaTemperatureSensorHandler.java index 865639ed1860a..941c2fb548c0e 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaTemperatureSensorHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaTemperatureSensorHandler.java @@ -31,7 +31,7 @@ public SomfyTahomaTemperatureSensorHandler(Thing thing) { super(thing); stateNames.put(TEMPERATURE, "core:TemperatureState"); - //override state type because the cloud sends both percent & decimal + // override state type because the cloud sends both percent & decimal cacheStateType("core:TemperatureState", TYPE_DECIMAL); } } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaThermostatHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaThermostatHandler.java index 9c1594691d0af..cf50860117754 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaThermostatHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaThermostatHandler.java @@ -32,6 +32,6 @@ public SomfyTahomaThermostatHandler(Thing thing) { stateNames.put(BATTERY_LEVEL, BATTERY_LEVEL_STATE); stateNames.put(HEATING_MODE, "somfythermostat:HeatingModeState"); stateNames.put(DEROGATION_HEATING_MODE, "somfythermostat:DerogationHeatingModeState"); - stateNames.put(DEROGATION_ACTIVATION, "core:DerogationActivationState" ); + stateNames.put(DEROGATION_ACTIVATION, "core:DerogationActivationState"); } } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaVenetianBlindHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaVenetianBlindHandler.java index 1df1ee4e96699..2c928fd087976 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaVenetianBlindHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaVenetianBlindHandler.java @@ -51,17 +51,18 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else if (COMMAND_STOP.equals(cmd)) { String executionId = getCurrentExecutions(); if (executionId != null) { - //Check if the venetian blind is moving and STOP is sent => STOP it + // Check if the venetian blind is moving and STOP is sent => STOP it cancelExecution(executionId); } else { sendCommand(COMMAND_MY); } } else { - String param = (COMMAND_SET_CLOSURE.equals(cmd) || COMMAND_SET_ORIENTATION.equals(cmd)) ? "[" + command.toString() + "]" : "[]"; + String param = (COMMAND_SET_CLOSURE.equals(cmd) || COMMAND_SET_ORIENTATION.equals(cmd)) + ? "[" + command.toString() + "]" + : "[]"; sendCommand(cmd, param); } } - } private String getTahomaCommand(String command, String channelId) { diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaWindowHandler.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaWindowHandler.java index e5a436339aea3..10bc9cf70c66a 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaWindowHandler.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/handler/SomfyTahomaWindowHandler.java @@ -45,11 +45,11 @@ public void handleCommand(ChannelUID channelUID, Command command) { } else { String cmd = getTahomaCommand(command.toString()); if (COMMAND_STOP.equals(cmd)) { - //Check if the window is not moving + // Check if the window is not moving String executionId = getCurrentExecutions(); if (executionId != null) { - //STOP command should be interpreted if window is moving - //otherwise do nothing + // STOP command should be interpreted if window is moving + // otherwise do nothing cancelExecution(executionId); } } else { diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaEvent.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaEvent.java index 0f02e6b58b427..519d18878be2b 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaEvent.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaEvent.java @@ -15,9 +15,10 @@ import java.util.ArrayList; import java.util.List; +import org.eclipse.jdt.annotation.NonNullByDefault; + import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import org.eclipse.jdt.annotation.NonNullByDefault; /** * The {@link SomfyTahomaEvent} holds information about Tahoma diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaState.java b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaState.java index 477b03eccf190..20dbeba3d894e 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaState.java +++ b/bundles/org.openhab.binding.somfytahoma/src/main/java/org/openhab/binding/somfytahoma/internal/model/SomfyTahomaState.java @@ -41,10 +41,6 @@ public String getName() { @Override public String toString() { - return "{" + - "name='" + name + '\'' + - ", type=" + type + - ", value=" + value + - '}'; + return "{" + "name='" + name + '\'' + ", type=" + type + ", value=" + value + '}'; } } diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/binding/binding.xml index 9fccb43f2fe58..05562cf85df70 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + SomfyTahoma Binding This is the binding for SomfyTahoma. diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/config/config.xml index 188f6a2c3dbf6..57a49c27b8cd1 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/actiongroup.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/actiongroup.xml index e23551d524c6f..a59ea6442a48b 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/actiongroup.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/actiongroup.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/adjustableslatsrollershutter.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/adjustableslatsrollershutter.xml index e6c89d7676bd6..cc75326b55c05 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/adjustableslatsrollershutter.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/adjustableslatsrollershutter.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/awning.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/awning.xml index 205a00224524a..28565f300ff36 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/awning.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/awning.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/channels.xml index ba95c5c96729f..39af7a9e12cf6 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - @@ -137,7 +138,7 @@ Number:Dimensionless The current relative humidity - + @@ -219,7 +220,7 @@ Number:Energy The energy consumption reported by the sensor - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/contactsensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/contactsensor.xml index dbe86645f8120..04715f03589c1 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/contactsensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/contactsensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/curtain.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/curtain.xml index c7aa762b873be..3681a96224bc7 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/curtain.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/curtain.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/dock.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/dock.xml index 18bf00f9b9752..5f09f0caea3b6 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/dock.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/dock.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/doorlock.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/doorlock.xml index 44407bca5cce4..380cd0a748e7a 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/doorlock.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/doorlock.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/electricitysensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/electricitysensor.xml index 4377fe0fe907c..5205f64e9fde8 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/electricitysensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/electricitysensor.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorscreen.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorscreen.xml index a981e158d0ada..48e31e494a372 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorscreen.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorscreen.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorvenetianblind.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorvenetianblind.xml index fc31c3f207183..19059f950d047 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorvenetianblind.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/exteriorvenetianblind.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/externalalarm.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/externalalarm.xml index 333c2019fc3dc..399333c692a60 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/externalalarm.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/externalalarm.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/garagedoor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/garagedoor.xml index 275f5a57644d3..ee93e8802d189 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/garagedoor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/garagedoor.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gate.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gate.xml index 6202eb0784b11..65ec0d88fd9e4 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gate.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gate.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gateway.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gateway.xml index cbf1bd1756411..c8bd1d8755e40 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gateway.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/gateway.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/heatingsystem.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/heatingsystem.xml index 764bb115d71f2..e509d851fc054 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/heatingsystem.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/heatingsystem.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/humiditysensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/humiditysensor.xml index 7750196a7313d..88185b78e0834 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/humiditysensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/humiditysensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/internalalarm.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/internalalarm.xml index 10a0e9fbd5ea1..836750b8d18b1 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/internalalarm.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/internalalarm.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/light.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/light.xml index e7fa5bae11613..34e0811788e0b 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/light.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/light.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/lightsensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/lightsensor.xml index 454d1e7d8ff58..a267284ea597f 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/lightsensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/lightsensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxalarm.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxalarm.xml index e72995236b4c2..3b1d08c8168ed 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxalarm.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxalarm.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxcamera.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxcamera.xml index d9c033ed7a5b1..97e92e629db62 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxcamera.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/myfoxcamera.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/occupancysensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/occupancysensor.xml index b815f5c54cf48..df9bd77695b96 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/occupancysensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/occupancysensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoff.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoff.xml index 640ff52c563b9..62b14ac4d1444 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoff.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoff.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoffheatingsystem.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoffheatingsystem.xml index c223b5e4377ba..990642cef2df8 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoffheatingsystem.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/onoffheatingsystem.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pergola.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pergola.xml index 6763cd0d2434a..037338f057729 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pergola.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pergola.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pod.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pod.xml index 2e7a7f52d7144..9a197d1964706 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pod.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/pod.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter.xml index 78cb872e86976..1d29f6ce8fd8a 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_silent.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_silent.xml index abfef9bde1867..c3776b73940ad 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_silent.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_silent.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_uno.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_uno.xml index d15535fbe93fe..0371bfce889e9 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_uno.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/rollershutter_uno.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/screen.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/screen.xml index 992dfd1a00aa0..b401eebf0a6d6 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/screen.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/screen.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/siren.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/siren.xml index 0e23c47d2503f..521a18bfc31d0 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/siren.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/siren.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/smokesensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/smokesensor.xml index 70d2e440f5ff6..2fa2c91b529c5 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/smokesensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/smokesensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/temperaturesensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/temperaturesensor.xml index dd4e4f1bc188a..edd8be5dfffaa 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/temperaturesensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/temperaturesensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/thermostat.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/thermostat.xml index b9ea67e23ea53..e06b786755c5d 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/thermostat.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/thermostat.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/venetianblind.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/venetianblind.xml index f1efeb025a7be..3c09e9830681e 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/venetianblind.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/venetianblind.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/watersensor.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/watersensor.xml index 7848e81796dd6..8402fbb2dd23e 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/watersensor.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/watersensor.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/window.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/window.xml index 55aa5aa528f9e..a2a29d2217dc6 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/window.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/window.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/windowhandler.xml b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/windowhandler.xml index ea4e72247464a..9d0781363fec8 100644 --- a/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/windowhandler.xml +++ b/bundles/org.openhab.binding.somfytahoma/src/main/resources/ESH-INF/thing/windowhandler.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.sonos/pom.xml b/bundles/org.openhab.binding.sonos/pom.xml index fcda89cdc0487..f8ea0583b8225 100644 --- a/bundles/org.openhab.binding.sonos/pom.xml +++ b/bundles/org.openhab.binding.sonos/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.sonos/src/main/feature/feature.xml b/bundles/org.openhab.binding.sonos/src/main/feature/feature.xml index 28c262afc76d7..ec4acb01f8d20 100644 --- a/bundles/org.openhab.binding.sonos/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sonos/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.sonos/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.sonos/${project.version} + diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosAudioSink.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosAudioSink.java index fa7e914a2480a..7eb7d32b31eca 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosAudioSink.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosAudioSink.java @@ -144,5 +144,4 @@ public PercentType getVolume() { public void setVolume(PercentType volume) { handler.setVolume(volume); } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java index 5af769a3d1a66..b010f11a055b0 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosBindingConstants.java @@ -115,5 +115,4 @@ public class SonosBindingConstants { public static final String IDENTIFICATION = "identification"; public static final String MAC_ADDRESS = "macAddress"; public static final String IP_ADDRESS = "ipAddress"; - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosEntry.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosEntry.java index cbf4a5e8369ca..1c94275f72aa3 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosEntry.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosEntry.java @@ -147,5 +147,4 @@ public String getDesc() { public void setDesc(String desc) { this.desc = desc; } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosHandlerFactory.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosHandlerFactory.java index de71f9872b8ca..019e6ee89ccb5 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosHandlerFactory.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosHandlerFactory.java @@ -168,5 +168,4 @@ private ThingUID getPlayerUID(ThingTypeUID thingTypeUID, ThingUID thingUID, Conf return new ThingUID(thingTypeUID, udn); } } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosMusicService.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosMusicService.java index a2cd20c807eab..cdb8b042ce97c 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosMusicService.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosMusicService.java @@ -48,5 +48,4 @@ public Integer getType() { public void setType(Integer type) { this.type = type; } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosResourceMetaData.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosResourceMetaData.java index 3e4e5f7b2f4b9..cf37fcf4b8c7a 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosResourceMetaData.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosResourceMetaData.java @@ -86,5 +86,4 @@ public String getUpnpClass() { public String getDesc() { return desc; } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosXMLParser.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosXMLParser.java index 75120e6c67532..6de8d609893cc 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosXMLParser.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosXMLParser.java @@ -626,7 +626,6 @@ public void endElement(String uri, String localName, String qName) throws SAXExc public List getTextFields() { return textFields; } - } private static class AVTransportEventHandler extends DefaultHandler { @@ -699,7 +698,6 @@ public void startElement(String uri, String localName, String qName, Attributes public Map getChanges() { return changes; } - } private static class MetaDataHandler extends DefaultHandler { @@ -832,7 +830,6 @@ public void endElement(String uri, String localName, String qName) throws SAXExc public Map getChanges() { return changes; } - } private static class MusicServiceHandler extends DefaultHandler { @@ -850,7 +847,6 @@ public void startElement(String uri, String localName, String qName, Attributes public List getServices() { return services; } - } public static String getRoomName(String descriptorXML) { diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZoneGroup.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZoneGroup.java index 8c27820f6b5f4..5442478a3af88 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZoneGroup.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZoneGroup.java @@ -90,5 +90,4 @@ public boolean equals(Object obj) { public int hashCode() { return id.hashCode(); } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZonePlayerState.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZonePlayerState.java index 58608a387f346..3d59627d1f7fc 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZonePlayerState.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/SonosZonePlayerState.java @@ -25,5 +25,4 @@ public class SonosZonePlayerState { public String relTime; public SonosEntry entry; public long track; - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/config/ZonePlayerConfiguration.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/config/ZonePlayerConfiguration.java index 4ae618a4744f8..56f5f6bc131fb 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/config/ZonePlayerConfiguration.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/config/ZonePlayerConfiguration.java @@ -27,5 +27,4 @@ public class ZonePlayerConfiguration { public Integer refresh; public Integer notificationTimeout; public Integer notificationVolume; - } diff --git a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java index 097a3fea3b20d..f66fd74d4b511 100644 --- a/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.sonos/src/main/java/org/openhab/binding/sonos/internal/discovery/ZonePlayerDiscoveryParticipant.java @@ -117,5 +117,4 @@ private String getModelName(RemoteDevice device) { private String getSonosRoomName(RemoteDevice device) { return SonosXMLParser.getRoomName(device.getIdentity().getDescriptorURL().toString()); } - } diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/binding/binding.xml index 21de6ac7e03e4..0eb2a8a2216ca 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Sonos Binding diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/config/config.xml index f72f6da12e757..2c57a3070ff24 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/Beam.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/Beam.xml index 3f000589247bb..2fe0effc8c769 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/Beam.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/Beam.xml @@ -10,53 +10,53 @@ Represents SONOS Beam soundbar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + @@ -66,6 +66,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECT.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECT.xml index 630c329573e86..001dab4403878 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECT.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECT.xml @@ -10,51 +10,51 @@ Represents SONOS CONNECT connector - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -64,6 +64,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECTAMP.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECTAMP.xml index 87c8a9a94d67d..6222b953555ed 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECTAMP.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/CONNECTAMP.xml @@ -11,51 +11,51 @@ Represents SONOS CONNECT:AMP amplifier - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -65,6 +65,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/One.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/One.xml index d7c84281f3bb4..455a0706f1f3e 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/One.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/One.xml @@ -11,49 +11,49 @@ Represents SONOS One Zone Player - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63,6 +63,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY1.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY1.xml index 7c371e00e5e3f..5afa47695f6cf 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY1.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY1.xml @@ -11,49 +11,49 @@ Represents SONOS PLAY:1 Zone Player - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63,6 +63,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY3.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY3.xml index f79d40805ee7c..90f9d24cb4b3f 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY3.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY3.xml @@ -11,49 +11,49 @@ Represents SONOS PLAY:3 Zone Player - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63,6 +63,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY5.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY5.xml index 42456593184bb..4f1e14ac45d08 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY5.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAY5.xml @@ -11,51 +11,51 @@ Represents SONOS PLAY:5 Zone Player - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -65,6 +65,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBAR.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBAR.xml index 67b79594b0c0f..d1bd3c3e1d127 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBAR.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBAR.xml @@ -10,53 +10,53 @@ Represents SONOS PLAYBAR soundbar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + @@ -66,6 +66,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBASE.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBASE.xml index 4934ad5b7f4fc..044bd51cc6203 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBASE.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/PLAYBASE.xml @@ -10,53 +10,53 @@ Represents SONOS PLAYBASE soundbar - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + @@ -66,6 +66,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/SYMFONISK.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/SYMFONISK.xml index 7442861b065a6..03122f46033ab 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/SYMFONISK.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/SYMFONISK.xml @@ -10,48 +10,48 @@ Represents IKEA SYMFONISK speaker - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -61,6 +61,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/ZonePlayer.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/ZonePlayer.xml index 4af5854f16dc2..1368dbd73e1ee 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/ZonePlayer.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/ZonePlayer.xml @@ -11,49 +11,49 @@ The Zone Player represents a Sonos Zone Player which is not known to this binding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -63,6 +63,6 @@ udn - + diff --git a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/channels.xml index 6a81cb89ce4f2..c6281e24328d7 100644 --- a/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.sonos/src/main/resources/ESH-INF/thing/channels.xml @@ -14,21 +14,22 @@ Switch - Set the first occurring alarm either ON or OFF. Alarms first have to be defined through the Sonos Controller app + Set the first occurring alarm either ON or OFF. Alarms first have to be defined through the Sonos + Controller app String Properties of the alarm currently running - + Switch Set to ON if the alarm was triggered - + @@ -41,49 +42,49 @@ String UDN of the coordinator for the current group - + String Name of the album currently playing - + Image Cover art of the album currently playing - + String Cover art URL of the album currently playing - + String Name of the current track or radio station currently playing - + String URI of the current track - + String URI of the current AV transport - + @@ -102,7 +103,7 @@ Switch Indicator set to ON if this Zone Player is the Zone Group Coordinator - + @@ -144,7 +145,8 @@ Switch - Put all Zone Players in one group, and stream audio from the line-in from the Zone Player that triggered the command + Put all Zone Players in one group, and stream audio from the line-in from the Zone Player that triggered + the command @@ -206,14 +208,14 @@ Number Set/show the duration of the sleep timer in seconds - + Number Snooze the running alarm, if any, with the given number of minutes - + @@ -259,14 +261,14 @@ String Id of the Zone Group the Zone Player belongs to - + String Name of the Zone Group associated to the Zone Player - + @@ -274,7 +276,7 @@ Switch Indicator set to ON when the line-in of the Zone Player is connected - + diff --git a/bundles/org.openhab.binding.sonyaudio/pom.xml b/bundles/org.openhab.binding.sonyaudio/pom.xml index 69b0af98e1f29..6c4feb6674472 100644 --- a/bundles/org.openhab.binding.sonyaudio/pom.xml +++ b/bundles/org.openhab.binding.sonyaudio/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/feature/feature.xml b/bundles/org.openhab.binding.sonyaudio/src/main/feature/feature.xml index a088f34735471..8e10571ae7e24 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.sonyaudio/${project.version} - + + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.sonyaudio/${project.version} + diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/SonyAudioHandlerFactory.java b/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/SonyAudioHandlerFactory.java index 413c23947e92e..42897f40c30f6 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/SonyAudioHandlerFactory.java +++ b/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/SonyAudioHandlerFactory.java @@ -77,5 +77,4 @@ protected void setWebSocketFactory(WebSocketFactory webSocketFactory) { protected void unsetWebSocketFactory(WebSocketFactory webSocketFactory) { this.webSocketClient = null; } - } diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/protocol/SonyAudioMethod.java b/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/protocol/SonyAudioMethod.java index 9b308f7ca6700..fe6aa71a77adc 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/protocol/SonyAudioMethod.java +++ b/bundles/org.openhab.binding.sonyaudio/src/main/java/org/openhab/binding/sonyaudio/internal/protocol/SonyAudioMethod.java @@ -239,7 +239,6 @@ class Param { output = "extOutput:zone?zone=" + Integer.toString(zone); } } - } SetAudioVolume(int volume, int min, int max) { diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/config/config.xml index 8f9871b9df43c..a81158e573f3e 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/config/config.xml @@ -13,7 +13,8 @@ Port for the SONY audio device to control. - Home Audio products usually use port 10000 and Personal Audio products usually use port 54480. + Home Audio products usually use port 10000 and Personal Audio + products usually use port 54480. 10000 @@ -24,7 +25,9 @@ - The refresh interval in seconds for polling the receiver (0=disable). Binding receive automatically updates from + The refresh interval in seconds for polling the receiver (0=disable). Binding receive automatically + updates from + 300 true diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-ct800.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-ct800.xml index 5039cb8e62ac6..4edb3e16eb9ff 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-ct800.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-ct800.xml @@ -45,12 +45,12 @@ SONY Soundbar HT-CT800 - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-mt500.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-mt500.xml index f56db56393664..cd2158adb3ef3 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-mt500.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-mt500.xml @@ -42,12 +42,12 @@ SONY Soundbar HT-MT500 - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-st5000.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-st5000.xml index 8a1522409e1b0..935667df8d70a 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-st5000.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-st5000.xml @@ -46,12 +46,12 @@ SONY Soundbar HT-ST5000 - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-z9f-zf9.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-z9f-zf9.xml index a24fae778c0a1..38038706c8b82 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-z9f-zf9.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/ht-z9f-zf9.xml @@ -45,13 +45,13 @@ SONY Soundbar HT-Z9F - - - - - + + + + + - + @@ -59,12 +59,12 @@ SONY Soundbar HT-ZF9 - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/srs-zr5.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/srs-zr5.xml index 9b22c0e6156dd..5cde46759fecc 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/srs-zr5.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/srs-zr5.xml @@ -45,12 +45,12 @@ SONY wireless Speaker SRS-ZR5 - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/str-dn1080.xml b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/str-dn1080.xml index b69a66815c252..167d40f0533c8 100644 --- a/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/str-dn1080.xml +++ b/bundles/org.openhab.binding.sonyaudio/src/main/resources/ESH-INF/thing/str-dn1080.xml @@ -7,45 +7,45 @@ - - + + - - - - + + + + - - - - + + + + - - + + - - - + + + @@ -155,13 +155,13 @@ SONY receiver STR-DN1080 - - - - - + + + + + - + diff --git a/bundles/org.openhab.binding.sonyprojector/pom.xml b/bundles/org.openhab.binding.sonyprojector/pom.xml index c2ecca418c4c3..d8c7a816981ce 100644 --- a/bundles/org.openhab.binding.sonyprojector/pom.xml +++ b/bundles/org.openhab.binding.sonyprojector/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/feature/feature.xml b/bundles/org.openhab.binding.sonyprojector/src/main/feature/feature.xml index b6da5538c9391..6c2bd249d18dd 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.sonyprojector/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.sonyprojector/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.sonyprojector/${project.version} + diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/SonyProjectorBindingConstants.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/SonyProjectorBindingConstants.java index 0597772baecdb..01d49b149b035 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/SonyProjectorBindingConstants.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/SonyProjectorBindingConstants.java @@ -63,5 +63,4 @@ public class SonyProjectorBindingConstants { public static final String CHANNEL_OVERSCAN = "overscan"; public static final String CHANNEL_PICTURE_POSITION = "pictureposition"; public static final String CHANNEL_LAMP_USE_TIME = "lampusetime"; - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorItem.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorItem.java index e7c8d69f321b9..f3d2956262bb9 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorItem.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/SonyProjectorItem.java @@ -151,5 +151,4 @@ public byte[] getCode() { public String getName() { return name; } - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java index 30239e950e8b0..222f0850d97d2 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialConnector.java @@ -304,5 +304,4 @@ public void serialEvent(SerialPortEvent serialPortEvent) { } catch (InterruptedException e) { } } - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialOverIpConnector.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialOverIpConnector.java index cbddc95ef7617..852dfb95bded8 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialOverIpConnector.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/communication/serial/SonyProjectorSerialOverIpConnector.java @@ -125,5 +125,4 @@ protected int readInput(byte[] dataBuffer) throws SonyProjectorException { throw new SonyProjectorException("readInput failed: " + e.getMessage()); } } - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorEthernetConfiguration.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorEthernetConfiguration.java index 1163793738ed2..79e2f43e2ffb2 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorEthernetConfiguration.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorEthernetConfiguration.java @@ -28,5 +28,4 @@ public class SonyProjectorEthernetConfiguration { public @Nullable Integer port; public @Nullable String community; public @Nullable String model; - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialConfiguration.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialConfiguration.java index d0997fe84852f..ff80902e349d9 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialConfiguration.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialConfiguration.java @@ -24,5 +24,4 @@ public class SonyProjectorSerialConfiguration { public @NonNullByDefault({}) String port; public @NonNullByDefault({}) String model; - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialOverIpConfiguration.java b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialOverIpConfiguration.java index 1a9185241c987..2ce35e850db24 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialOverIpConfiguration.java +++ b/bundles/org.openhab.binding.sonyprojector/src/main/java/org/openhab/binding/sonyprojector/internal/configuration/SonyProjectorSerialOverIpConfiguration.java @@ -25,5 +25,4 @@ public class SonyProjectorSerialOverIpConfiguration { public @NonNullByDefault({}) String host; public @NonNullByDefault({}) Integer port; public @NonNullByDefault({}) String model; - } diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/channels.xml index 5c5c7c66dc383..73b4e4bda426d 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/channels.xml @@ -33,35 +33,35 @@ Dimmer Adjust the contrast of the picture - + Dimmer Adjust the brightness of the picture - + Dimmer Adjust the color density - + Dimmer Adjust the color tone - + Dimmer Sharpen the outline of the picture or reduce the noise - + @@ -80,7 +80,7 @@ Dimmer Force the iris aperture to a fixed value - + diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/ethernet.xml b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/ethernet.xml index f0cb458edfe33..bbdd1aa1618c1 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/ethernet.xml +++ b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/ethernet.xml @@ -10,36 +10,36 @@ Ethernet connection to the Sony projector using PJ Talk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serial.xml b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serial.xml index b0bb7a4bbf4ec..db816311d97f1 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serial.xml +++ b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serial.xml @@ -10,36 +10,36 @@ Serial connection to the Sony projector - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serialoverip.xml b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serialoverip.xml index 3003419f70d5f..7fcf73fbadc5e 100644 --- a/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serialoverip.xml +++ b/bundles/org.openhab.binding.sonyprojector/src/main/resources/ESH-INF/thing/serialoverip.xml @@ -10,36 +10,36 @@ Serial over IP connection to the Sony projector - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.spotify/pom.xml b/bundles/org.openhab.binding.spotify/pom.xml index ee59acc299aa5..66de917ae4ace 100644 --- a/bundles/org.openhab.binding.spotify/pom.xml +++ b/bundles/org.openhab.binding.spotify/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.spotify/src/main/feature/feature.xml b/bundles/org.openhab.binding.spotify/src/main/feature/feature.xml index cc01b7a9fb061..cd2c35bcaee9d 100644 --- a/bundles/org.openhab.binding.spotify/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.spotify/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - mvn:org.openhab.addons.bundles/org.openhab.binding.spotify/${project.version} - + + openhab-runtime-base + openhab-transport-http + mvn:org.openhab.addons.bundles/org.openhab.binding.spotify/${project.version} + diff --git a/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyAuthorizationException.java b/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyAuthorizationException.java index fc1100de5bd49..6828d67bf7c59 100644 --- a/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyAuthorizationException.java +++ b/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyAuthorizationException.java @@ -39,5 +39,4 @@ public SpotifyAuthorizationException(String message) { public SpotifyAuthorizationException(String message, Throwable exception) { super(message, exception); } - } diff --git a/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyException.java b/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyException.java index e72dfab18d463..cb86e145dff0a 100644 --- a/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyException.java +++ b/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/api/exception/SpotifyException.java @@ -39,5 +39,4 @@ public SpotifyException(String message) { public SpotifyException(String message, Throwable cause) { super(message, cause); } - } diff --git a/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/handler/SpotifyBridgeHandler.java b/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/handler/SpotifyBridgeHandler.java index 420bba11d042b..389d2d31269a6 100644 --- a/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/handler/SpotifyBridgeHandler.java +++ b/bundles/org.openhab.binding.spotify/src/main/java/org/openhab/binding/spotify/internal/handler/SpotifyBridgeHandler.java @@ -570,7 +570,6 @@ private void updateChannelState(String channelId, State state) { if (channel != null && isLinked(channel.getUID())) { updateState(channel.getUID(), state); } - } /** diff --git a/bundles/org.openhab.binding.spotify/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.spotify/src/main/resources/ESH-INF/thing/thing-types.xml index 3d61d3c2f3602..198ed4053c39f 100644 --- a/bundles/org.openhab.binding.spotify/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.spotify/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,55 +10,55 @@ Bridge representing the Spotify Player in the context of a user account. The bridge is associated with -one specific Spotify account. If you want to control your devices in the context of different accounts you have to -register a bridge for each account. Go to http://your openHAB address::8080/connectspotify to authorize. + one specific Spotify account. If you want to control your devices in the context of different accounts you have to + register a bridge for each account. Go to http://your openHAB address::8080/connectspotify to authorize. - + - - - - - - + + + + + + - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + - + clientId @@ -68,19 +68,23 @@ register a bridge for each account. Go to http://your openHAB address::8080/conn true This is the Client ID provided by Spotify when you add a new Application for openHAB to your Spotify -Account. Go to https://developer.spotify.com/ + Account. Go to https://developer.spotify.com/ true - This is the Client Secret provided by Spotify when you add a new Application for openHAB to your Spotify Account. + This is the Client Secret provided by Spotify when you add a new Application for openHAB to your + Spotify Account. true 10 - This is the frequency of the polling requests to the Spotify Connect Web API. There are limits to the number of requests -that can be sent to the Web API. The more often you poll, the better status updates - at the risk of running out of your request quota. + This is the frequency of the polling requests to the Spotify Connect Web API. There are limits to the + number of requests + that can be sent to the Web API. The more often you poll, the better status updates - at the risk + of running out of + your request quota. @@ -89,24 +93,24 @@ that can be sent to the Web API. The more often you poll, the better status upda - + Thing representing a Spotify Connect device. The device exists in the context of the bridge and the -Spotify account associated with the bride. This means the same device can be present as a thing under each Spotify -bridge you have configured. + Spotify account associated with the bride. This means the same device can be present as a thing under each Spotify + bridge you have configured. - - - - - - - - - + + + + + + + + + deviceName @@ -124,7 +128,8 @@ bridge you have configured. String - The access token used to authorize calls to the Spotify Web API. It can be used from rules or client-side scripting make call to Web API. + The access token used to authorize calls to the Spotify Web API. It can be used from rules or client-side + scripting make call to Web API. @@ -146,7 +151,7 @@ bridge you have configured. String Currently active device type, such as "Computer", "Smartphone" or "Speaker". - + Switch @@ -174,7 +179,8 @@ bridge you have configured. String - 'track' will repeat the current track. 'context' will repeat the current context. 'off' will turn repeat off. + 'track' will repeat the current track. 'context' will repeat the current context. 'off' will turn repeat + off. @@ -187,135 +193,135 @@ bridge you have configured. String Channel reports track id currently being played. - + String - + String The Spotify URI for the track currently played - + String The type of the track currently played track type - + Number The duration of the currently played track (ms) - + Number The progress of the currently played track (ms) - + String The duration currently played track formatted (m:ss) - + String The progress of the currently played track formatted (m:ss) - + Number The track number of currently played track - + Number The disk number of currently played track - + Number The popularity of the currently played track - + Switch Whether or not the track has explicit lyrics (On it does; Off it does not OR unknown) - + String The Spotify ID of the album - + String A link to the Web API endpoint providing full details of the album - + String The Spotify URI for the album - + String The name of the album - + String The object type: "album" - + Image The cover art for the album in widest size - + String The Spotify ID for the artist - + String Channel reports currently played artist href - + String A link to the Web API endpoint providing full details of the artist - + String The object type: "artist" - + @@ -327,13 +333,13 @@ bridge you have configured. String The name of the device - + String Device type, such as "Computer", "Smartphone" or "Speaker". - + Switch @@ -348,7 +354,8 @@ bridge you have configured. Switch - Whether controlling this device is restricted. At present if this is "true" then no Web API commands will be accepted by this device + Whether controlling this device is restricted. At present if this is "true" then no Web API commands will + be accepted by this device diff --git a/bundles/org.openhab.binding.squeezebox/pom.xml b/bundles/org.openhab.binding.squeezebox/pom.xml index 0c6381f8d4d4f..0263f4b94e6db 100644 --- a/bundles/org.openhab.binding.squeezebox/pom.xml +++ b/bundles/org.openhab.binding.squeezebox/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.squeezebox/src/main/feature/feature.xml b/bundles/org.openhab.binding.squeezebox/src/main/feature/feature.xml index f14d0edfca05e..17d41767f69b3 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.squeezebox/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.squeezebox/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.squeezebox/${project.version} + diff --git a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/discovery/SqueezeBoxServerDiscoveryParticipant.java b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/discovery/SqueezeBoxServerDiscoveryParticipant.java index d302cec96e87f..d70706c4f7f50 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/discovery/SqueezeBoxServerDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/discovery/SqueezeBoxServerDiscoveryParticipant.java @@ -109,5 +109,4 @@ public ThingUID getThingUID(RemoteDevice device) { } return null; } - } diff --git a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxPlayerHandler.java b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxPlayerHandler.java index 2e71c1eee8f99..855429deeb375 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxPlayerHandler.java +++ b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxPlayerHandler.java @@ -377,7 +377,6 @@ public void numberPlaylistTracksEvent(String mac, int track) { @Override public void currentPlaylistShuffleEvent(String mac, int shuffle) { updateChannel(mac, CHANNEL_CURRENT_PLAYLIST_SHUFFLE, new DecimalType(shuffle)); - } @Override @@ -388,7 +387,6 @@ public void currentPlaylistRepeatEvent(String mac, int repeat) { @Override public void titleChangeEvent(String mac, String title) { updateChannel(mac, CHANNEL_TITLE, new StringType(title)); - } @Override diff --git a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxServerHandler.java b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxServerHandler.java index 9e850c9d37152..acb37c1d99c23 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxServerHandler.java +++ b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/handler/SqueezeBoxServerHandler.java @@ -867,7 +867,6 @@ public void updateListener(SqueezeBoxPlayerEventListener listener) { public void updateListener(SqueezeBoxPlayerEventListener listener) { listener.modeChangeEvent(mac, value); } - }); } @@ -880,7 +879,6 @@ private void handleSourceChangeMessage(String mac, String rawSource) { public void updateListener(SqueezeBoxPlayerEventListener listener) { listener.sourceChangeEvent(mac, source); } - }); } @@ -910,7 +908,6 @@ public void updateListener(SqueezeBoxPlayerEventListener listener) { public void updateListener(SqueezeBoxPlayerEventListener listener) { listener.absoluteVolumeChangeEvent(mac, volume); } - }); } } diff --git a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/utils/HttpUtils.java b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/utils/HttpUtils.java index 9bc78d7c649d2..69fe25ccc6081 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/utils/HttpUtils.java +++ b/bundles/org.openhab.binding.squeezebox/src/main/java/org/openhab/binding/squeezebox/internal/utils/HttpUtils.java @@ -108,5 +108,4 @@ public static int getCliPort(String ip, int webPort) String cliPort = resp.getAsJsonObject().get("result").getAsJsonObject().get("_p2").getAsString(); return Integer.parseInt(cliPort); } - } diff --git a/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/binding/binding.xml index 09b5cebd63fa3..dce730e9ba8c4 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - SqueezeBox Binding diff --git a/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/thing/thing-types.xml index 09409984ebc42..6484988745efa 100644 --- a/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.squeezebox/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -8,7 +9,7 @@ This is a SqueezeBox Server instance. - + @@ -46,40 +47,40 @@ - + This is a SqueezeBox Player instance - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -183,7 +184,7 @@ Play the given HTTP or file stream (file:// or http://). - String + String Shows the source of the currently playing playlist entry. diff --git a/bundles/org.openhab.binding.synopanalyzer/pom.xml b/bundles/org.openhab.binding.synopanalyzer/pom.xml index 2293456c114e0..5b91907eed306 100644 --- a/bundles/org.openhab.binding.synopanalyzer/pom.xml +++ b/bundles/org.openhab.binding.synopanalyzer/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/feature/feature.xml b/bundles/org.openhab.binding.synopanalyzer/src/main/feature/feature.xml index 53dfacf2df3f1..6d79467c54824 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.synopanalyzer/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.synopanalyzer/${project.version} + diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Constants.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Constants.java index e92afa0a95474..f798f49f1b9f9 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Constants.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Constants.java @@ -1,162 +1,162 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.synopanalyser.internal.synop; - -/** - * The {@link Constants} class defines common constants, which are - * used across the whole package. - * - * @author Jonarzz - Initial contribution - */ -public class Constants { - - public static final int INITIAL_VALUE = -1000; - public static final String UNKNOWN_VALUE = "/"; - - public static final String CHAPTER_3_CODE = "333"; - public static final String CHAPTER_4_CODE = "444"; - public static final String CHAPTER_5_CODE = "555"; - - public static final char PLUS_SIGN_TEMPERATURE = '0'; - public static final char MINUS_SIGN_TEMPERATURE = '1'; - - public static final String LAND_STATION_CODE = "AAXX"; - public static final String SHIP_STATION_CODE = "BBXX"; - public static final String MOBILE_LAND_STATION_CODE = "OOXX"; - - /* - * WS - WIND SPEED - */ - public static final int WS_WILDTYPE_IN_MPS = 0; - public static final int WS_ANEMOMETER_IN_MPS = 1; - public static final int WS_WILDTYPE_IN_KNOT = 3; - public static final int WS_ANEMOMETER_IN_KNOT = 4; - - public static final String WS_MPS = "m/s"; - public static final String WS_KNOTS = "knots"; - - /* - * DFG - DOWNFALL GROUP VALUES FROM '0' TO '4' - */ - public static final char DFG_IN_CHAPTER_1_AND_3 = '0'; - public static final char DFG_IN_CHAPTER_1 = '1'; - public static final char DFG_IN_CHAPTER_3 = '2'; - public static final char DFG_NO_DF = '3'; - public static final char DFG_NO_MEASUREMENT = '4'; - - /* - * ST - STATION TYPE - * A - AUTOMATIC - * N - NON-AUTOMATIC - * VALUES FROM '1' TO '6' - */ - public static final char ST_N_GROUP_7_ON = '1'; - public static final char ST_N_GROUP_7_OFF_NO_PHENOMENON = '2'; - public static final char ST_N_GROUP_7_OFF_NO_DATA = '3'; - public static final char ST_A_GROUP_7_ON = '4'; - public static final char ST_A_GROUP_7_OFF_NO_PHENOMENON = '5'; - public static final char ST_A_GROUP_7_OFF_NO_DATA = '6'; - - /* - * CH - CLOUD HEIGH [IN METERS] - * VALUES FROM '0' TO '9' - * '/' ACCEPTABLE - */ - public static final char CH_0_50 = '0'; - public static final char CH_50_100 = '1'; - public static final char CH_100_200 = '2'; - public static final char CH_200_300 = '3'; - public static final char CH_300_600 = '4'; - public static final char CH_600_1000 = '5'; - public static final char CH_1000_1500 = '6'; - public static final char CH_1500_2000 = '7'; - public static final char CH_2000_2500 = '8'; - public static final char CH_OVER_2500 = '9'; - - /* - * HV - HORIZONTAL VISIBILITY [IN KILOMETERS] - * VALUES FROM "00" TO "50" AND FROM "56" TO "99" - * 00 MEANS HV = BELOW 0,1 - * DECIMAL SCOPE MEANS HV = XX / 10 - * UNIT SCOPE MEANS HV = XX - 50 - * 89 MEANS HV = OVER 70 - * 90-99 ROUGHLY NUMBERING : - * 90 - < 0,05 km - * 91 >= 0,05 < 0,2 km - * 92 >= 0,2 < 0,5 km - * 93 >= 0,5 < 1,0 km - * 94 >= 1,0 < 2,0 km - * 95 >= 2,0 < 4,0 km - * 96 >= 4,0 < 10,0 km - * 97 >= 10,0 < 20,0 km - * 98 >= 20,0 < 50,0 km - * 99 - > 50 km - * HP - high precision - */ - public static final int HV_LESS_THAN_1_LIMIT = 10; - public static final int HV_LESS_THAN_10_LIMIT = 60; - public static final int HV_LESS_THAN_50_LIMIT = 84; - public static final int HV_HP_LIMIT = 90; - public static final int HV_LESS_THAN_1_HP_LIMIT = 93; - public static final int HV_LESS_THAN_10_HP_LIMIT = 96; - public static final int HV_LESS_THAN_50_HP_LIMIT = 98; - - public static final String HV_LESS_THAN_1_STRING = "<1"; - public static final String HV_LESS_THAN_10_STRING = "1-10"; - public static final String HV_LESS_THAN_50_STRING = "10-50"; - public static final String HV_MORE_THAN_50_STRING = ">50"; - - /* - * CLOUDINESS = x/8 - * VALUES FROM '0' TO '9' - * '/' ACCEPTABLE - */ - public static final String CLEAR_SKY = "NO CLOUDS"; - public static final String CLOUDY = "CLOUDY"; - public static final String SKY_NOT_VISIBLE = "SKY NOT VISIBLE"; - - /* - * WIND DIRECTION - * WD = FROM { 5 + (yy - 1) * 9 } TO { 5 + yy * 9 } OR: - * VALUES FROM "00" TO "36" AND "99" - * "//" ACCEPTABLE - */ - public static final String WD_NO_WIND = "00"; - public static final String WD_VARIABLE = "99"; - - /* - * PCT - PRESSURE CHANGE TYPE - * VALUES FROM '0' TO '8' - */ - public static final char PCT_INCREASE_LOWER_LIMIT = '0'; - public static final char PCT_INCREASE_UPPER_LIMIT = '3'; - public static final char PCT_NO_CHANGE = '4'; - public static final char PCT_DECREASE_LOWER_LIMIT = '5'; - public static final char PCT_DECREASE_UPPER_LIMIT = '8'; - - /* - * TD - TOTAL DOWNFALL - * SOP - SCOPE OF PROPORTIONALITY - * SOP MEANS TD = fff [IN MILIMETERS] - * SOD - SCOPE OF DECIMALS - * SOD MEANS TD = //f - * VALUES FROM "000" TO "999" - * fff = "989" MEANS 989 AND OVER - * - */ - public static final String TD_SOP_LOWER_LIMIT = "000"; - public static final String TD_SOP_UPPER_LIMIT = "989"; - public static final String TD_TRACE = "990"; - public static final String TD_SOD_LOWER_LIMIT = "991"; - public static final String TD_SOD_UPPER_LIMIT = "999"; -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.synopanalyser.internal.synop; + +/** + * The {@link Constants} class defines common constants, which are + * used across the whole package. + * + * @author Jonarzz - Initial contribution + */ +public class Constants { + + public static final int INITIAL_VALUE = -1000; + public static final String UNKNOWN_VALUE = "/"; + + public static final String CHAPTER_3_CODE = "333"; + public static final String CHAPTER_4_CODE = "444"; + public static final String CHAPTER_5_CODE = "555"; + + public static final char PLUS_SIGN_TEMPERATURE = '0'; + public static final char MINUS_SIGN_TEMPERATURE = '1'; + + public static final String LAND_STATION_CODE = "AAXX"; + public static final String SHIP_STATION_CODE = "BBXX"; + public static final String MOBILE_LAND_STATION_CODE = "OOXX"; + + /* + * WS - WIND SPEED + */ + public static final int WS_WILDTYPE_IN_MPS = 0; + public static final int WS_ANEMOMETER_IN_MPS = 1; + public static final int WS_WILDTYPE_IN_KNOT = 3; + public static final int WS_ANEMOMETER_IN_KNOT = 4; + + public static final String WS_MPS = "m/s"; + public static final String WS_KNOTS = "knots"; + + /* + * DFG - DOWNFALL GROUP VALUES FROM '0' TO '4' + */ + public static final char DFG_IN_CHAPTER_1_AND_3 = '0'; + public static final char DFG_IN_CHAPTER_1 = '1'; + public static final char DFG_IN_CHAPTER_3 = '2'; + public static final char DFG_NO_DF = '3'; + public static final char DFG_NO_MEASUREMENT = '4'; + + /* + * ST - STATION TYPE + * A - AUTOMATIC + * N - NON-AUTOMATIC + * VALUES FROM '1' TO '6' + */ + public static final char ST_N_GROUP_7_ON = '1'; + public static final char ST_N_GROUP_7_OFF_NO_PHENOMENON = '2'; + public static final char ST_N_GROUP_7_OFF_NO_DATA = '3'; + public static final char ST_A_GROUP_7_ON = '4'; + public static final char ST_A_GROUP_7_OFF_NO_PHENOMENON = '5'; + public static final char ST_A_GROUP_7_OFF_NO_DATA = '6'; + + /* + * CH - CLOUD HEIGH [IN METERS] + * VALUES FROM '0' TO '9' + * '/' ACCEPTABLE + */ + public static final char CH_0_50 = '0'; + public static final char CH_50_100 = '1'; + public static final char CH_100_200 = '2'; + public static final char CH_200_300 = '3'; + public static final char CH_300_600 = '4'; + public static final char CH_600_1000 = '5'; + public static final char CH_1000_1500 = '6'; + public static final char CH_1500_2000 = '7'; + public static final char CH_2000_2500 = '8'; + public static final char CH_OVER_2500 = '9'; + + /* + * HV - HORIZONTAL VISIBILITY [IN KILOMETERS] + * VALUES FROM "00" TO "50" AND FROM "56" TO "99" + * 00 MEANS HV = BELOW 0,1 + * DECIMAL SCOPE MEANS HV = XX / 10 + * UNIT SCOPE MEANS HV = XX - 50 + * 89 MEANS HV = OVER 70 + * 90-99 ROUGHLY NUMBERING : + * 90 - < 0,05 km + * 91 >= 0,05 < 0,2 km + * 92 >= 0,2 < 0,5 km + * 93 >= 0,5 < 1,0 km + * 94 >= 1,0 < 2,0 km + * 95 >= 2,0 < 4,0 km + * 96 >= 4,0 < 10,0 km + * 97 >= 10,0 < 20,0 km + * 98 >= 20,0 < 50,0 km + * 99 - > 50 km + * HP - high precision + */ + public static final int HV_LESS_THAN_1_LIMIT = 10; + public static final int HV_LESS_THAN_10_LIMIT = 60; + public static final int HV_LESS_THAN_50_LIMIT = 84; + public static final int HV_HP_LIMIT = 90; + public static final int HV_LESS_THAN_1_HP_LIMIT = 93; + public static final int HV_LESS_THAN_10_HP_LIMIT = 96; + public static final int HV_LESS_THAN_50_HP_LIMIT = 98; + + public static final String HV_LESS_THAN_1_STRING = "<1"; + public static final String HV_LESS_THAN_10_STRING = "1-10"; + public static final String HV_LESS_THAN_50_STRING = "10-50"; + public static final String HV_MORE_THAN_50_STRING = ">50"; + + /* + * CLOUDINESS = x/8 + * VALUES FROM '0' TO '9' + * '/' ACCEPTABLE + */ + public static final String CLEAR_SKY = "NO CLOUDS"; + public static final String CLOUDY = "CLOUDY"; + public static final String SKY_NOT_VISIBLE = "SKY NOT VISIBLE"; + + /* + * WIND DIRECTION + * WD = FROM { 5 + (yy - 1) * 9 } TO { 5 + yy * 9 } OR: + * VALUES FROM "00" TO "36" AND "99" + * "//" ACCEPTABLE + */ + public static final String WD_NO_WIND = "00"; + public static final String WD_VARIABLE = "99"; + + /* + * PCT - PRESSURE CHANGE TYPE + * VALUES FROM '0' TO '8' + */ + public static final char PCT_INCREASE_LOWER_LIMIT = '0'; + public static final char PCT_INCREASE_UPPER_LIMIT = '3'; + public static final char PCT_NO_CHANGE = '4'; + public static final char PCT_DECREASE_LOWER_LIMIT = '5'; + public static final char PCT_DECREASE_UPPER_LIMIT = '8'; + + /* + * TD - TOTAL DOWNFALL + * SOP - SCOPE OF PROPORTIONALITY + * SOP MEANS TD = fff [IN MILIMETERS] + * SOD - SCOPE OF DECIMALS + * SOD MEANS TD = //f + * VALUES FROM "000" TO "999" + * fff = "989" MEANS 989 AND OVER + * + */ + public static final String TD_SOP_LOWER_LIMIT = "000"; + public static final String TD_SOP_UPPER_LIMIT = "989"; + public static final String TD_TRACE = "990"; + public static final String TD_SOD_LOWER_LIMIT = "991"; + public static final String TD_SOD_UPPER_LIMIT = "999"; +} diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Synop.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Synop.java index 68f97c43bf3ca..1a1c173dc9009 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Synop.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/Synop.java @@ -1,366 +1,366 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.synopanalyser.internal.synop; - -import java.util.List; - -/** - * The {@link Synop} is the ancestor common class for analyzing - * Synop messages - * - * @author Jonarzz - Initial contribution - */ -public abstract class Synop { - - private final int VALID_STRING_LENGTH = 5; - - protected final List stringArray; - - private String stationType; - protected String stationCode; - - private int year; - private int month; - private int day; - private int hour; - private int windIndicator; - - private String horizontalVisibility; - private float temperature; - - private String overcast; - private int octa; - private int windDirection; - private int windSpeed; - private float pressure; - - protected int horizontalVisibilityInt; - protected String temperatureString; - protected String windString; - protected String pressureString; - - public Synop(List stringArray) { - this.stringArray = stringArray; - - setStationType(); - setStationCode(); - setDateHourAndWindIndicator(); - setHorizontalVisibility(); - setTemperature(); - setWindAndOvercast(); - setPressure(); - } - - protected void setStationType() { - if (!stringArray.isEmpty()) { - if (stringArray.get(0).length() == 4) { - stationType = stringArray.get(0); - } else { - stationType = ""; - } - } - } - - protected abstract void setStationCode(); - - protected void setDateHourAndWindIndicator() { - String dayHourAndWindIndicator = ""; - - if (this instanceof SynopLand && stringArray.size() > 1) { - dayHourAndWindIndicator = stringArray.get(1); - } else if (stringArray.size() > 2) { - dayHourAndWindIndicator = stringArray.get(2); - } - - if (!isValidString(dayHourAndWindIndicator)) { - return; - } - - setHourOfObservation(dayHourAndWindIndicator); - setWindIndicator(dayHourAndWindIndicator); - } - - private void setHourOfObservation(String str) { - try { - hour = Integer.parseInt(str.substring(2, 4)); - } catch (NumberFormatException e) { - hour = Constants.INITIAL_VALUE; - } - try { - day = Integer.parseInt(str.substring(0, 2)); - } catch (NumberFormatException e) { - day = Constants.INITIAL_VALUE; - } - } - - private void setWindIndicator(String str) { - try { - windIndicator = Character.getNumericValue(str.charAt(4)); - } catch (NumberFormatException e) { - windIndicator = Constants.INITIAL_VALUE; - } - } - - private void setHorizontalVisibility() { - setHorizontalVisibilityInt(); - - if (horizontalVisibilityInt == Constants.INITIAL_VALUE) { - return; - } - - if (horizontalVisibilityInt < Constants.HV_LESS_THAN_1_LIMIT - || horizontalVisibilityInt < Constants.HV_LESS_THAN_1_HP_LIMIT) { - horizontalVisibility = Constants.HV_LESS_THAN_1_STRING; - } else if (horizontalVisibilityInt < Constants.HV_LESS_THAN_10_LIMIT - || horizontalVisibilityInt < Constants.HV_LESS_THAN_10_HP_LIMIT) { - horizontalVisibility = Constants.HV_LESS_THAN_10_STRING; - } else if (horizontalVisibilityInt < Constants.HV_LESS_THAN_50_LIMIT - || horizontalVisibilityInt < Constants.HV_LESS_THAN_50_HP_LIMIT) { - horizontalVisibility = Constants.HV_LESS_THAN_50_STRING; - } else { - horizontalVisibility = Constants.HV_MORE_THAN_50_STRING; - } - } - - protected abstract void setHorizontalVisibilityInt(); - - private void setTemperature() { - setTemperatureString(); - - if (temperatureString == null) { - temperature = Constants.INITIAL_VALUE; - return; - } - - if (temperatureString.charAt(0) == Constants.PLUS_SIGN_TEMPERATURE) { - temperature = 1; - } else if (temperatureString.charAt(0) == Constants.MINUS_SIGN_TEMPERATURE) { - temperature = -1; - } else { - temperature = Constants.INITIAL_VALUE; - return; - } - - try { - float temp = Float.parseFloat(temperatureString.substring(1, 4)) / 10; - temperature *= temp; - } catch (NumberFormatException e) { - temperature = Constants.INITIAL_VALUE; - } - } - - protected abstract void setTemperatureString(); - - private void setWindAndOvercast() { - setWindString(); - - if (windString == null) { - overcast = null; - windDirection = Constants.INITIAL_VALUE; - windSpeed = Constants.INITIAL_VALUE; - return; - } - - if (windString.substring(0, 2).equals("00")) { - setWindSpeed(true); - } else { - setOvercast(); - setWindDirection(); - setWindSpeed(false); - } - } - - private void setOvercast() { - octa = Character.getNumericValue(windString.charAt(0)); - - if (octa < 0 || octa > 9) { - return; - } - - if (octa == 0) { - overcast = Constants.CLEAR_SKY; - } else if (octa > 0 && octa < 8) { - overcast = Constants.CLOUDY; - } else { - overcast = Constants.SKY_NOT_VISIBLE; - } - } - - private void setWindDirection() { - String windDirectionString = windString.substring(1, 3); - - if (windDirectionString.equals("99") || windDirectionString.equals("||")) { - windDirection = Constants.INITIAL_VALUE; - return; - } - - try { - windDirection = Integer.parseInt(windDirectionString) * 10; - } catch (NumberFormatException e) { - windDirection = Constants.INITIAL_VALUE; - } - } - - private void setWindSpeed(boolean gustyWind) { - String speedString = null; - - if (gustyWind) { - speedString = windString.substring(2, 5); - } else { - speedString = windString.substring(3, 5); - } - - try { - windSpeed = Integer.parseInt(speedString); - } catch (NumberFormatException e) { - windSpeed = Constants.INITIAL_VALUE; - } - } - - protected abstract void setWindString(); - - private void setPressure() { - setPressureString(); - - if (pressureString == null) { - return; - } - - String pressureTemp = pressureString.substring(1, 5); - - if (pressureTemp.charAt(0) == '0') { - pressureTemp = '1' + pressureTemp; - } - - try { - pressure = (float) Integer.parseInt(pressureTemp) / 10; - } catch (NumberFormatException e) { - pressure = Constants.INITIAL_VALUE; - } - } - - protected abstract void setPressureString(); - - protected boolean isValidString(String str) { - return (str.length() == VALID_STRING_LENGTH); - } - - public String getStationType() { - return stationType; - } - - public String getStationCode() { - return stationCode; - } - - public int getYear() { - return year; - } - - public int getMonth() { - return month; - } - - public int getDay() { - return day; - } - - public int getHour() { - return hour; - } - - public int getWindIndicator() { - return windIndicator; - } - - public String getHorizontalVisibility() { - return horizontalVisibility; - } - - public float getTemperature() { - return temperature; - } - - public String getOvercast() { - return overcast; - } - - public int getWindDirection() { - return windDirection; - } - - public int getWindSpeed() { - return windSpeed; - } - - public float getPressure() { - return pressure; - } - - public int getOcta() { - return octa; - } - - public String getWindUnit() { - if (getWindIndicator() == Constants.WS_WILDTYPE_IN_MPS - || getWindIndicator() == Constants.WS_ANEMOMETER_IN_MPS) { - return Constants.WS_MPS; - } else { - return Constants.WS_KNOTS; - } - } - - public String getWindSource() { - if (getWindIndicator() == Constants.WS_WILDTYPE_IN_MPS || getWindIndicator() == Constants.WS_WILDTYPE_IN_KNOT) { - return "estimated"; - } else { - return "anemometer"; - } - } - - /** - * display synop data in a human-readable format - */ - @Override - public String toString() { - StringBuilder sb = new StringBuilder("station type : " + this.getStationType()); - sb.append("\nstation code : " + this.getStationCode()); - sb.append("\nobservation timestamp (y/m/d h) : " + this.getYear() + "/" + this.getMonth() + "/" + this.getDay() - + " " + this.getHour() + ":00 UTC"); - - sb.append("\nwind indicator : " + this.getWindIndicator()); - sb.append( - "\nwind speed : " + this.getWindSpeed() + " " + this.getWindUnit() + " (" + this.getWindSource() + ")"); - sb.append("\nwind dir : " + getWindDirection() + " degrees"); - - sb.append("\novercast : " + this.getOvercast()); - sb.append("\novercast in Octa : " + this.getOcta() + "/8"); - - sb.append("\nhorizontal visibility : " + this.getHorizontalVisibility()); - sb.append("\ntemperature : " + this.getTemperature()); - - sb.append("\npressure : " + getPressure() + " in hPa"); - - return sb.toString(); - } - - /** - * Retrieve the full report string value. This is the report in its original - * form - * - * @return The original report string. - */ - public String getReportString() { - return String.join(" ", stringArray); - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.synopanalyser.internal.synop; + +import java.util.List; + +/** + * The {@link Synop} is the ancestor common class for analyzing + * Synop messages + * + * @author Jonarzz - Initial contribution + */ +public abstract class Synop { + + private final int VALID_STRING_LENGTH = 5; + + protected final List stringArray; + + private String stationType; + protected String stationCode; + + private int year; + private int month; + private int day; + private int hour; + private int windIndicator; + + private String horizontalVisibility; + private float temperature; + + private String overcast; + private int octa; + private int windDirection; + private int windSpeed; + private float pressure; + + protected int horizontalVisibilityInt; + protected String temperatureString; + protected String windString; + protected String pressureString; + + public Synop(List stringArray) { + this.stringArray = stringArray; + + setStationType(); + setStationCode(); + setDateHourAndWindIndicator(); + setHorizontalVisibility(); + setTemperature(); + setWindAndOvercast(); + setPressure(); + } + + protected void setStationType() { + if (!stringArray.isEmpty()) { + if (stringArray.get(0).length() == 4) { + stationType = stringArray.get(0); + } else { + stationType = ""; + } + } + } + + protected abstract void setStationCode(); + + protected void setDateHourAndWindIndicator() { + String dayHourAndWindIndicator = ""; + + if (this instanceof SynopLand && stringArray.size() > 1) { + dayHourAndWindIndicator = stringArray.get(1); + } else if (stringArray.size() > 2) { + dayHourAndWindIndicator = stringArray.get(2); + } + + if (!isValidString(dayHourAndWindIndicator)) { + return; + } + + setHourOfObservation(dayHourAndWindIndicator); + setWindIndicator(dayHourAndWindIndicator); + } + + private void setHourOfObservation(String str) { + try { + hour = Integer.parseInt(str.substring(2, 4)); + } catch (NumberFormatException e) { + hour = Constants.INITIAL_VALUE; + } + try { + day = Integer.parseInt(str.substring(0, 2)); + } catch (NumberFormatException e) { + day = Constants.INITIAL_VALUE; + } + } + + private void setWindIndicator(String str) { + try { + windIndicator = Character.getNumericValue(str.charAt(4)); + } catch (NumberFormatException e) { + windIndicator = Constants.INITIAL_VALUE; + } + } + + private void setHorizontalVisibility() { + setHorizontalVisibilityInt(); + + if (horizontalVisibilityInt == Constants.INITIAL_VALUE) { + return; + } + + if (horizontalVisibilityInt < Constants.HV_LESS_THAN_1_LIMIT + || horizontalVisibilityInt < Constants.HV_LESS_THAN_1_HP_LIMIT) { + horizontalVisibility = Constants.HV_LESS_THAN_1_STRING; + } else if (horizontalVisibilityInt < Constants.HV_LESS_THAN_10_LIMIT + || horizontalVisibilityInt < Constants.HV_LESS_THAN_10_HP_LIMIT) { + horizontalVisibility = Constants.HV_LESS_THAN_10_STRING; + } else if (horizontalVisibilityInt < Constants.HV_LESS_THAN_50_LIMIT + || horizontalVisibilityInt < Constants.HV_LESS_THAN_50_HP_LIMIT) { + horizontalVisibility = Constants.HV_LESS_THAN_50_STRING; + } else { + horizontalVisibility = Constants.HV_MORE_THAN_50_STRING; + } + } + + protected abstract void setHorizontalVisibilityInt(); + + private void setTemperature() { + setTemperatureString(); + + if (temperatureString == null) { + temperature = Constants.INITIAL_VALUE; + return; + } + + if (temperatureString.charAt(0) == Constants.PLUS_SIGN_TEMPERATURE) { + temperature = 1; + } else if (temperatureString.charAt(0) == Constants.MINUS_SIGN_TEMPERATURE) { + temperature = -1; + } else { + temperature = Constants.INITIAL_VALUE; + return; + } + + try { + float temp = Float.parseFloat(temperatureString.substring(1, 4)) / 10; + temperature *= temp; + } catch (NumberFormatException e) { + temperature = Constants.INITIAL_VALUE; + } + } + + protected abstract void setTemperatureString(); + + private void setWindAndOvercast() { + setWindString(); + + if (windString == null) { + overcast = null; + windDirection = Constants.INITIAL_VALUE; + windSpeed = Constants.INITIAL_VALUE; + return; + } + + if (windString.substring(0, 2).equals("00")) { + setWindSpeed(true); + } else { + setOvercast(); + setWindDirection(); + setWindSpeed(false); + } + } + + private void setOvercast() { + octa = Character.getNumericValue(windString.charAt(0)); + + if (octa < 0 || octa > 9) { + return; + } + + if (octa == 0) { + overcast = Constants.CLEAR_SKY; + } else if (octa > 0 && octa < 8) { + overcast = Constants.CLOUDY; + } else { + overcast = Constants.SKY_NOT_VISIBLE; + } + } + + private void setWindDirection() { + String windDirectionString = windString.substring(1, 3); + + if (windDirectionString.equals("99") || windDirectionString.equals("||")) { + windDirection = Constants.INITIAL_VALUE; + return; + } + + try { + windDirection = Integer.parseInt(windDirectionString) * 10; + } catch (NumberFormatException e) { + windDirection = Constants.INITIAL_VALUE; + } + } + + private void setWindSpeed(boolean gustyWind) { + String speedString = null; + + if (gustyWind) { + speedString = windString.substring(2, 5); + } else { + speedString = windString.substring(3, 5); + } + + try { + windSpeed = Integer.parseInt(speedString); + } catch (NumberFormatException e) { + windSpeed = Constants.INITIAL_VALUE; + } + } + + protected abstract void setWindString(); + + private void setPressure() { + setPressureString(); + + if (pressureString == null) { + return; + } + + String pressureTemp = pressureString.substring(1, 5); + + if (pressureTemp.charAt(0) == '0') { + pressureTemp = '1' + pressureTemp; + } + + try { + pressure = (float) Integer.parseInt(pressureTemp) / 10; + } catch (NumberFormatException e) { + pressure = Constants.INITIAL_VALUE; + } + } + + protected abstract void setPressureString(); + + protected boolean isValidString(String str) { + return (str.length() == VALID_STRING_LENGTH); + } + + public String getStationType() { + return stationType; + } + + public String getStationCode() { + return stationCode; + } + + public int getYear() { + return year; + } + + public int getMonth() { + return month; + } + + public int getDay() { + return day; + } + + public int getHour() { + return hour; + } + + public int getWindIndicator() { + return windIndicator; + } + + public String getHorizontalVisibility() { + return horizontalVisibility; + } + + public float getTemperature() { + return temperature; + } + + public String getOvercast() { + return overcast; + } + + public int getWindDirection() { + return windDirection; + } + + public int getWindSpeed() { + return windSpeed; + } + + public float getPressure() { + return pressure; + } + + public int getOcta() { + return octa; + } + + public String getWindUnit() { + if (getWindIndicator() == Constants.WS_WILDTYPE_IN_MPS + || getWindIndicator() == Constants.WS_ANEMOMETER_IN_MPS) { + return Constants.WS_MPS; + } else { + return Constants.WS_KNOTS; + } + } + + public String getWindSource() { + if (getWindIndicator() == Constants.WS_WILDTYPE_IN_MPS || getWindIndicator() == Constants.WS_WILDTYPE_IN_KNOT) { + return "estimated"; + } else { + return "anemometer"; + } + } + + /** + * display synop data in a human-readable format + */ + @Override + public String toString() { + StringBuilder sb = new StringBuilder("station type : " + this.getStationType()); + sb.append("\nstation code : " + this.getStationCode()); + sb.append("\nobservation timestamp (y/m/d h) : " + this.getYear() + "/" + this.getMonth() + "/" + this.getDay() + + " " + this.getHour() + ":00 UTC"); + + sb.append("\nwind indicator : " + this.getWindIndicator()); + sb.append( + "\nwind speed : " + this.getWindSpeed() + " " + this.getWindUnit() + " (" + this.getWindSource() + ")"); + sb.append("\nwind dir : " + getWindDirection() + " degrees"); + + sb.append("\novercast : " + this.getOvercast()); + sb.append("\novercast in Octa : " + this.getOcta() + "/8"); + + sb.append("\nhorizontal visibility : " + this.getHorizontalVisibility()); + sb.append("\ntemperature : " + this.getTemperature()); + + sb.append("\npressure : " + getPressure() + " in hPa"); + + return sb.toString(); + } + + /** + * Retrieve the full report string value. This is the report in its original + * form + * + * @return The original report string. + */ + public String getReportString() { + return String.join(" ", stringArray); + } +} diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopLand.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopLand.java index c36b700ef7ecf..8d255d54b7c63 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopLand.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopLand.java @@ -1,130 +1,130 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.synopanalyser.internal.synop; - -import java.util.List; - -/** - * The {@link SynopLand} is responsible for analyzing Land station - * specifics Synop messages - * - * @author Jonarzz - Initial contribution - */ -public class SynopLand extends Synop { - - private String temp; - - private int rainfall; - private String rainfallString; - - public SynopLand(List stringArray) { - super(stringArray); - - setRainfall(); - } - - @Override - protected void setStationCode() { - if (stringArray.size() < 3 || (temp = stringArray.get(2)).length() > 10 || temp.contains("/")) { - return; - } - - stationCode = temp; - } - - @Override - protected void setHorizontalVisibilityInt() { - if (stringArray.size() < 4 || !isValidString((temp = stringArray.get(3)))) { - horizontalVisibilityInt = Constants.INITIAL_VALUE; - return; - } - - try { - horizontalVisibilityInt = Integer.parseInt(temp.substring(3, 5)); - } catch (NumberFormatException e) { - horizontalVisibilityInt = Constants.INITIAL_VALUE; - } - } - - @Override - protected void setTemperatureString() { - if (stringArray.size() < 6 || !isValidString(stringArray.get(5))) { - return; - } - - if (stringArray.get(5).charAt(0) == '0') { - if (stringArray.size() < 7 || !isValidString(stringArray.get(6))) { - return; - } - - temperatureString = stringArray.get(6).substring(1, 5); - } else if (isValidString(stringArray.get(5))) { - temperatureString = stringArray.get(5).substring(1, 5); - } - } - - @Override - protected void setWindString() { - if (stringArray.size() < 5 || !isValidString((temp = stringArray.get(4)))) { - return; - } - - windString = temp; - } - - @Override - protected void setPressureString() { - if (stringArray.size() < 8 || stringArray.get(7).charAt(0) != '3' - || !isValidString((temp = stringArray.get(7)))) { - return; - } - - pressureString = temp; - } - - private void setRainfall() { - setRainfallString(); - - if (rainfallString == null) { - rainfall = Constants.INITIAL_VALUE; - return; - } - - try { - rainfall = Integer.parseInt(rainfallString.substring(1, 4)); - if (rainfall >= 990) { - rainfall = 0; - } - } catch (NumberFormatException e) { - rainfall = Constants.INITIAL_VALUE; - } - } - - protected void setRainfallString() { - if (stringArray.size() < 11 || stringArray.get(10).charAt(0) != '6' - || !isValidString((temp = stringArray.get(10)))) { - return; - } - - rainfallString = temp; - } - - @Override - public String getStationCode() { - return stationCode; - } - - public int getRainfall() { - return rainfall; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.synopanalyser.internal.synop; + +import java.util.List; + +/** + * The {@link SynopLand} is responsible for analyzing Land station + * specifics Synop messages + * + * @author Jonarzz - Initial contribution + */ +public class SynopLand extends Synop { + + private String temp; + + private int rainfall; + private String rainfallString; + + public SynopLand(List stringArray) { + super(stringArray); + + setRainfall(); + } + + @Override + protected void setStationCode() { + if (stringArray.size() < 3 || (temp = stringArray.get(2)).length() > 10 || temp.contains("/")) { + return; + } + + stationCode = temp; + } + + @Override + protected void setHorizontalVisibilityInt() { + if (stringArray.size() < 4 || !isValidString((temp = stringArray.get(3)))) { + horizontalVisibilityInt = Constants.INITIAL_VALUE; + return; + } + + try { + horizontalVisibilityInt = Integer.parseInt(temp.substring(3, 5)); + } catch (NumberFormatException e) { + horizontalVisibilityInt = Constants.INITIAL_VALUE; + } + } + + @Override + protected void setTemperatureString() { + if (stringArray.size() < 6 || !isValidString(stringArray.get(5))) { + return; + } + + if (stringArray.get(5).charAt(0) == '0') { + if (stringArray.size() < 7 || !isValidString(stringArray.get(6))) { + return; + } + + temperatureString = stringArray.get(6).substring(1, 5); + } else if (isValidString(stringArray.get(5))) { + temperatureString = stringArray.get(5).substring(1, 5); + } + } + + @Override + protected void setWindString() { + if (stringArray.size() < 5 || !isValidString((temp = stringArray.get(4)))) { + return; + } + + windString = temp; + } + + @Override + protected void setPressureString() { + if (stringArray.size() < 8 || stringArray.get(7).charAt(0) != '3' + || !isValidString((temp = stringArray.get(7)))) { + return; + } + + pressureString = temp; + } + + private void setRainfall() { + setRainfallString(); + + if (rainfallString == null) { + rainfall = Constants.INITIAL_VALUE; + return; + } + + try { + rainfall = Integer.parseInt(rainfallString.substring(1, 4)); + if (rainfall >= 990) { + rainfall = 0; + } + } catch (NumberFormatException e) { + rainfall = Constants.INITIAL_VALUE; + } + } + + protected void setRainfallString() { + if (stringArray.size() < 11 || stringArray.get(10).charAt(0) != '6' + || !isValidString((temp = stringArray.get(10)))) { + return; + } + + rainfallString = temp; + } + + @Override + public String getStationCode() { + return stationCode; + } + + public int getRainfall() { + return rainfall; + } +} diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobile.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobile.java index 726192b854740..ac4b69e284d75 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobile.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobile.java @@ -1,164 +1,164 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.synopanalyser.internal.synop; - -import java.util.List; - -/** - * The {@link SynopMobile} is responsible for analyzing Mobile station - * specifics Synop messages - * - * @author Jonarzz - Initial contribution - */ -public abstract class SynopMobile extends Synop { - - private String temp; - - private float latitude; - private float longitude; - - private int verticalQuadrantMultiplier; - private int horizontalQuadrantMultiplier; - - public SynopMobile(List stringArray) { - super(stringArray); - - setLatitude(); - setLongitudeAndQuadrant(); - } - - @Override - protected void setStationCode() { - if (stringArray.size() < 2 || (temp = stringArray.get(1)).length() > 10 || temp.contains("/")) { - return; - } - - stationCode = temp; - } - - @Override - protected void setHorizontalVisibilityInt() { - if (stringArray.size() < 6 || !isValidString((temp = stringArray.get(5)))) { - horizontalVisibilityInt = Constants.INITIAL_VALUE; - return; - } - - try { - horizontalVisibilityInt = Integer.parseInt(temp.substring(3, 5)); - } catch (NumberFormatException e) { - horizontalVisibilityInt = Constants.INITIAL_VALUE; - } - } - - @Override - protected void setTemperatureString() { - if (stringArray.size() < 8 || !isValidString((temp = stringArray.get(7)))) { - return; - } - - temperatureString = temp.substring(1, 5); - } - - @Override - protected void setWindString() { - if (stringArray.size() < 7 || !isValidString((temp = stringArray.get(6)))) { - return; - } - - windString = temp; - } - - @Override - protected abstract void setPressureString(); - - protected void setLatitude() { - if (stringArray.size() < 4 || !isValidString((temp = stringArray.get(3)))) { - return; - } - - String latitudeString = temp.substring(2, 5); - int tempInt = 0; - - try { - tempInt = Integer.parseInt(latitudeString); - } catch (NumberFormatException e) { - latitude = Constants.INITIAL_VALUE; - return; - } - - latitude = (float) tempInt / 10; - } - - protected void setLongitudeAndQuadrant() { - if (stringArray.size() < 5 || !isValidString((temp = stringArray.get(4)))) { - return; - } - - setQuadrantMultipliers(temp.charAt(0)); - setLongitude(temp.substring(1, 5)); - } - - protected void setQuadrantMultipliers(char q) { - switch (q) { - case '1': - verticalQuadrantMultiplier = 1; - horizontalQuadrantMultiplier = 1; - break; - case '3': - verticalQuadrantMultiplier = -1; - horizontalQuadrantMultiplier = 1; - break; - case '5': - verticalQuadrantMultiplier = -1; - horizontalQuadrantMultiplier = -1; - break; - case '7': - verticalQuadrantMultiplier = 1; - horizontalQuadrantMultiplier = -1; - break; - default: - verticalQuadrantMultiplier = 0; - horizontalQuadrantMultiplier = 0; - break; - } - } - - protected void setLongitude(String str) { - int tempInt = 0; - - try { - tempInt = Integer.parseInt(str); - } catch (NumberFormatException e) { - longitude = Constants.INITIAL_VALUE; - return; - } - - longitude = (float) tempInt / 10; - } - - public float getLatitude() { - return latitude; - } - - public float getLongitude() { - return longitude; - } - - public int getVerticalQuadrantMultiplier() { - return verticalQuadrantMultiplier; - } - - public int getHorizontalQuadrantMultiplier() { - return horizontalQuadrantMultiplier; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.synopanalyser.internal.synop; + +import java.util.List; + +/** + * The {@link SynopMobile} is responsible for analyzing Mobile station + * specifics Synop messages + * + * @author Jonarzz - Initial contribution + */ +public abstract class SynopMobile extends Synop { + + private String temp; + + private float latitude; + private float longitude; + + private int verticalQuadrantMultiplier; + private int horizontalQuadrantMultiplier; + + public SynopMobile(List stringArray) { + super(stringArray); + + setLatitude(); + setLongitudeAndQuadrant(); + } + + @Override + protected void setStationCode() { + if (stringArray.size() < 2 || (temp = stringArray.get(1)).length() > 10 || temp.contains("/")) { + return; + } + + stationCode = temp; + } + + @Override + protected void setHorizontalVisibilityInt() { + if (stringArray.size() < 6 || !isValidString((temp = stringArray.get(5)))) { + horizontalVisibilityInt = Constants.INITIAL_VALUE; + return; + } + + try { + horizontalVisibilityInt = Integer.parseInt(temp.substring(3, 5)); + } catch (NumberFormatException e) { + horizontalVisibilityInt = Constants.INITIAL_VALUE; + } + } + + @Override + protected void setTemperatureString() { + if (stringArray.size() < 8 || !isValidString((temp = stringArray.get(7)))) { + return; + } + + temperatureString = temp.substring(1, 5); + } + + @Override + protected void setWindString() { + if (stringArray.size() < 7 || !isValidString((temp = stringArray.get(6)))) { + return; + } + + windString = temp; + } + + @Override + protected abstract void setPressureString(); + + protected void setLatitude() { + if (stringArray.size() < 4 || !isValidString((temp = stringArray.get(3)))) { + return; + } + + String latitudeString = temp.substring(2, 5); + int tempInt = 0; + + try { + tempInt = Integer.parseInt(latitudeString); + } catch (NumberFormatException e) { + latitude = Constants.INITIAL_VALUE; + return; + } + + latitude = (float) tempInt / 10; + } + + protected void setLongitudeAndQuadrant() { + if (stringArray.size() < 5 || !isValidString((temp = stringArray.get(4)))) { + return; + } + + setQuadrantMultipliers(temp.charAt(0)); + setLongitude(temp.substring(1, 5)); + } + + protected void setQuadrantMultipliers(char q) { + switch (q) { + case '1': + verticalQuadrantMultiplier = 1; + horizontalQuadrantMultiplier = 1; + break; + case '3': + verticalQuadrantMultiplier = -1; + horizontalQuadrantMultiplier = 1; + break; + case '5': + verticalQuadrantMultiplier = -1; + horizontalQuadrantMultiplier = -1; + break; + case '7': + verticalQuadrantMultiplier = 1; + horizontalQuadrantMultiplier = -1; + break; + default: + verticalQuadrantMultiplier = 0; + horizontalQuadrantMultiplier = 0; + break; + } + } + + protected void setLongitude(String str) { + int tempInt = 0; + + try { + tempInt = Integer.parseInt(str); + } catch (NumberFormatException e) { + longitude = Constants.INITIAL_VALUE; + return; + } + + longitude = (float) tempInt / 10; + } + + public float getLatitude() { + return latitude; + } + + public float getLongitude() { + return longitude; + } + + public int getVerticalQuadrantMultiplier() { + return verticalQuadrantMultiplier; + } + + public int getHorizontalQuadrantMultiplier() { + return horizontalQuadrantMultiplier; + } +} diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobileLand.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobileLand.java index a2444a436d02c..21583f2ef08c7 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobileLand.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopMobileLand.java @@ -1,33 +1,33 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.synopanalyser.internal.synop; - -import java.util.List; - -/** - * The {@link SynopMobileLand} is responsible for analyzing Mobile Land - * station specifics Synop messages - * - * @author Jonarzz - Initial contribution - */ -public class SynopMobileLand extends SynopMobile { - - public SynopMobileLand(List stringArray) { - super(stringArray); - } - - @Override - protected void setPressureString() { - return; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.synopanalyser.internal.synop; + +import java.util.List; + +/** + * The {@link SynopMobileLand} is responsible for analyzing Mobile Land + * station specifics Synop messages + * + * @author Jonarzz - Initial contribution + */ +public class SynopMobileLand extends SynopMobile { + + public SynopMobileLand(List stringArray) { + super(stringArray); + } + + @Override + protected void setPressureString() { + return; + } +} diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopShip.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopShip.java index 55798c57aafc1..7e16b618df724 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopShip.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyser/internal/synop/SynopShip.java @@ -1,39 +1,39 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.synopanalyser.internal.synop; - -import java.util.List; - -/** - * The {@link SynopMobile} is responsible for analyzing Mobile station - * specifics Synop messages - * - * @author Jonarzz - Initial contribution - */ -public class SynopShip extends SynopMobile { - - public SynopShip(List stringArray) { - super(stringArray); - } - - @Override - protected void setPressureString() { - String temp; - if (stringArray.size() < 10 || !isValidString((temp = stringArray.get(9))) || temp.charAt(0) != '4' - || temp.charAt(1) != '0' || temp.charAt(1) != '9') { - return; - } - - pressureString = temp; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.synopanalyser.internal.synop; + +import java.util.List; + +/** + * The {@link SynopMobile} is responsible for analyzing Mobile station + * specifics Synop messages + * + * @author Jonarzz - Initial contribution + */ +public class SynopShip extends SynopMobile { + + public SynopShip(List stringArray) { + super(stringArray); + } + + @Override + protected void setPressureString() { + String temp; + if (stringArray.size() < 10 || !isValidString((temp = stringArray.get(9))) || temp.charAt(0) != '4' + || temp.charAt(1) != '0' || temp.charAt(1) != '9') { + return; + } + + pressureString = temp; + } +} diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyzer/internal/handler/SynopAnalyzerHandler.java b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyzer/internal/handler/SynopAnalyzerHandler.java index 0b53fffe0c964..cf2a3bf234382 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyzer/internal/handler/SynopAnalyzerHandler.java +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/java/org/openhab/binding/synopanalyzer/internal/handler/SynopAnalyzerHandler.java @@ -229,5 +229,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { updateSynopChannels(); } } - } diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/binding/binding.xml index cce3bbb004916..cc03e590db49b 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Synop Analyzer Binding This is the binding to download and interpret Synop messages diff --git a/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/thing/thing-types.xml index 461525fe6c6e1..a361e9b27c70b 100644 --- a/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.synopanalyzer/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,25 +1,25 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> The Synop Analyzer binding decodes Synop messages - - - - - - - - - - - + + + + + + + + + + + @@ -42,7 +42,7 @@ Wind speed in Beaufort Scale Wind - + diff --git a/bundles/org.openhab.binding.systeminfo/pom.xml b/bundles/org.openhab.binding.systeminfo/pom.xml index e4086477cb14b..d1989b6f04a59 100644 --- a/bundles/org.openhab.binding.systeminfo/pom.xml +++ b/bundles/org.openhab.binding.systeminfo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.systeminfo/src/main/feature/feature.xml b/bundles/org.openhab.binding.systeminfo/src/main/feature/feature.xml index a5b1a395730ff..6b8275687f5fc 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.systeminfo/src/main/feature/feature.xml @@ -1,12 +1,12 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:net.java.dev.jna/jna/5.5.0 - mvn:net.java.dev.jna/jna-platform/5.5.0 - mvn:com.github.oshi/oshi-core/4.5.2 - mvn:org.openhab.addons.bundles/org.openhab.binding.systeminfo/${project.version} - + + openhab-runtime-base + mvn:net.java.dev.jna/jna/5.5.0 + mvn:net.java.dev.jna/jna-platform/5.5.0 + mvn:com.github.oshi/oshi-core/4.5.2 + mvn:org.openhab.addons.bundles/org.openhab.binding.systeminfo/${project.version} + diff --git a/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/SysteminfoBindingConstants.java b/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/SysteminfoBindingConstants.java index ef94b2bc88592..005d274545cbf 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/SysteminfoBindingConstants.java +++ b/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/SysteminfoBindingConstants.java @@ -330,5 +330,4 @@ public class SysteminfoBindingConstants { * */ public static final String PID_PARAM = "pid"; - } diff --git a/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/handler/SysteminfoHandler.java b/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/handler/SysteminfoHandler.java index 73217314feee4..afae9a3d41939 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/handler/SysteminfoHandler.java +++ b/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/handler/SysteminfoHandler.java @@ -234,7 +234,6 @@ private void scheduleUpdates() { scheduler.schedule(() -> { publishData(lowPriorityChannels); }, WAIT_TIME_CHANNEL_ITEM_LINK_INIT, TimeUnit.SECONDS); - } private void publishData(Set channels) { @@ -601,5 +600,4 @@ private void stopScheduledUpdates() { public void dispose() { stopScheduledUpdates(); } - } diff --git a/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/model/SysteminfoInterface.java b/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/model/SysteminfoInterface.java index ea3eee02dbe86..c24142f64f9d0 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/model/SysteminfoInterface.java +++ b/bundles/org.openhab.binding.systeminfo/src/main/java/org/openhab/binding/systeminfo/internal/model/SysteminfoInterface.java @@ -437,5 +437,4 @@ public interface SysteminfoInterface { * @throws DeviceNotFoundException - thrown if process with this PID can not be found */ public @Nullable DecimalType getProcessThreads(int pid) throws DeviceNotFoundException; - } diff --git a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/binding/binding.xml index c90deb5d77b78..630ff0e51046d 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Systeminfo Binding diff --git a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/channelConfig.xml b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/channelConfig.xml index b270f5b486fe1..3eec01987b4d1 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/channelConfig.xml +++ b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/channelConfig.xml @@ -1,12 +1,14 @@ - - diff --git a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/computerConfig.xml b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/computerConfig.xml index 16dff923bb951..9efa478ad93d9 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/computerConfig.xml +++ b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/config/computerConfig.xml @@ -1,10 +1,11 @@ - - @@ -20,7 +21,7 @@ 60 - diff --git a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/channels.xml index 555bd961bb040..ec6a44c2bba26 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/channels.xml @@ -1,20 +1,21 @@ - - Physical memory information - - - - - + + + + + @@ -22,11 +23,11 @@ Swap memory information - - - - - + + + + + @@ -34,14 +35,14 @@ Logical storage information - - - - - - - - + + + + + + + + @@ -49,9 +50,9 @@ Drive information - - - + + + @@ -59,14 +60,14 @@ Network parameters - - - - - - - - + + + + + + + + @@ -74,7 +75,7 @@ Display parameters - + @@ -82,9 +83,9 @@ Sensor parameters - - - + + + @@ -92,9 +93,9 @@ Battery parameters - - - + + + @@ -102,13 +103,13 @@ CPU parameters - - - - - - - + + + + + + + @@ -116,11 +117,11 @@ System process information - - - - - + + + + + @@ -128,256 +129,256 @@ String The full path - - + + Number Available size in MB - - + + Number Used size in MB - - + + Number Used size in MB - - + + Number Total size in MB - - + + Number Available size in percent - - + + Number Used size in percent - - + + String Name of the device (process) - - + + String Name of the device (process) - - + + String The model of the device - - + + String The serial number of the device - - + + String Description of the device - - + + String Storage type - - + + Number CPU Temperature in Celsius degrees - - + + Number CPU Voltage in V - - + + Number Fan speed in rpm - - + + Number Remaining time in minutes - - + + Number Remaining capacity in percent - - + + Number Load in percent - - + + Number Load as a number of processes for the last 1,5 or 15 minutes - - + + Number System uptime (time after start) in minutes - - + + Number Number of threads currently running - - + + Number Number of threads currently running - - + + String Product, manufacturer, SN, width and height of the display in cm - - + + String Host IP address of the network - - + + String Mac address of the network - - + + String The name of the network. - - + + String The display name of the network - - + + Number Number of packets sent - - + + Number Number of packets received - - + + Number Data sent in MB - - + + Number Data received in MB - - + + diff --git a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/computer.xml b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/computer.xml index cb94477da88c6..ef680220dc7a4 100644 --- a/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/computer.xml +++ b/bundles/org.openhab.binding.systeminfo/src/main/resources/ESH-INF/thing/computer.xml @@ -1,27 +1,28 @@ - - The computer operating system and hardware information - - - - + + + + - - - - - - + + + + + + @@ -32,7 +33,7 @@ Not available - + diff --git a/bundles/org.openhab.binding.tado/pom.xml b/bundles/org.openhab.binding.tado/pom.xml index 5141a78bac363..6425599e6302e 100644 --- a/bundles/org.openhab.binding.tado/pom.xml +++ b/bundles/org.openhab.binding.tado/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tado/src/main/feature/feature.xml b/bundles/org.openhab.binding.tado/src/main/feature/feature.xml index 9a72b91a7c383..c0d0c5df6afba 100644 --- a/bundles/org.openhab.binding.tado/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tado/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.tado/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.tado/${project.version} + diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/adapter/TadoZoneStateAdapter.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/adapter/TadoZoneStateAdapter.java index 56a1ffab91c86..13e9fb7059215 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/adapter/TadoZoneStateAdapter.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/adapter/TadoZoneStateAdapter.java @@ -24,7 +24,6 @@ import org.eclipse.smarthome.core.library.unit.SIUnits; import org.eclipse.smarthome.core.types.State; import org.eclipse.smarthome.core.types.UnDefType; - import org.openhab.binding.tado.internal.TadoBindingConstants.HvacMode; import org.openhab.binding.tado.internal.TadoBindingConstants.OperationMode; import org.openhab.binding.tado.internal.TadoBindingConstants.TemperatureUnit; @@ -49,7 +48,7 @@ * * @author Dennis Frommknecht - Initial contribution * @author Andrew Fiddian-Green - Added Low Battery Alarm, A/C Power and Open Window channels - * + * */ public class TadoZoneStateAdapter { private ZoneState zoneState; @@ -235,5 +234,4 @@ public State getOpenWindowDetected() { } return OnOffType.OFF; } - } diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/api/TadoApiTypeUtils.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/api/TadoApiTypeUtils.java index 4e4ea0e9c9def..8fc6d549786c1 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/api/TadoApiTypeUtils.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/api/TadoApiTypeUtils.java @@ -169,5 +169,4 @@ public static AcModeCapabilities getModeCapabilities(AirConditioningCapabilities return modeCapabilities != null ? modeCapabilities : new AcModeCapabilities(); } - } diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/builder/TerminationConditionBuilder.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/builder/TerminationConditionBuilder.java index 40f13dc374e3f..df600666421aa 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/builder/TerminationConditionBuilder.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/builder/TerminationConditionBuilder.java @@ -57,8 +57,7 @@ public TerminationConditionBuilder withTimerDurationInSeconds(Integer timerDurat return this; } - public OverlayTerminationCondition build(ZoneStateProvider zoneStateProvider) - throws IOException, ApiException { + public OverlayTerminationCondition build(ZoneStateProvider zoneStateProvider) throws IOException, ApiException { OverlayTerminationCondition terminationCondition = null; if (terminationType != null) { diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoBatteryChecker.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoBatteryChecker.java index 24492db360c6c..aa32cb82261d9 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoBatteryChecker.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoBatteryChecker.java @@ -24,7 +24,6 @@ import org.eclipse.smarthome.core.types.UnDefType; import org.openhab.binding.tado.internal.api.ApiException; import org.openhab.binding.tado.internal.api.model.ControlDevice; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -76,5 +75,4 @@ public State getBatteryLowAlarm(long zoneId) { refreshZoneList(); return zoneList.getOrDefault(zoneId, UnDefType.UNDEF); } - } diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHandlerFactory.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHandlerFactory.java index 051be2bb1077a..359fdd4fb30b7 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHandlerFactory.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHandlerFactory.java @@ -92,5 +92,4 @@ protected synchronized void removeHandler(ThingHandler thingHandler) { } } } - } diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHomeHandler.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHomeHandler.java index ea8bcef9be677..ea166521681f1 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHomeHandler.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoHomeHandler.java @@ -21,10 +21,8 @@ import org.eclipse.smarthome.core.thing.ThingStatus; import org.eclipse.smarthome.core.thing.ThingStatusDetail; import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; - import org.eclipse.smarthome.core.types.Command; import org.eclipse.smarthome.core.types.State; - import org.openhab.binding.tado.internal.TadoBindingConstants; import org.openhab.binding.tado.internal.TadoBindingConstants.TemperatureUnit; import org.openhab.binding.tado.internal.api.ApiException; @@ -33,7 +31,6 @@ import org.openhab.binding.tado.internal.api.model.HomeInfo; import org.openhab.binding.tado.internal.api.model.User; import org.openhab.binding.tado.internal.config.TadoHomeConfig; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -133,9 +130,8 @@ public Long getHomeId() { public void handleCommand(ChannelUID channelUID, Command command) { // Nothing to do for a bridge } - + public State getBatteryLowAlarm(long zoneId) { - return batteryChecker.getBatteryLowAlarm(zoneId); + return batteryChecker.getBatteryLowAlarm(zoneId); } - } diff --git a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoZoneHandler.java b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoZoneHandler.java index 11a11703e0d8c..605b688c82daf 100644 --- a/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoZoneHandler.java +++ b/bundles/org.openhab.binding.tado/src/main/java/org/openhab/binding/tado/internal/handler/TadoZoneHandler.java @@ -235,7 +235,7 @@ private void updateZoneState(boolean forceUpdate) { TadoZoneStateAdapter state = new TadoZoneStateAdapter(zoneState, getTemperatureUnit()); updateStateIfNotNull(TadoBindingConstants.CHANNEL_ZONE_CURRENT_TEMPERATURE, state.getInsideTemperature()); updateStateIfNotNull(TadoBindingConstants.CHANNEL_ZONE_HUMIDITY, state.getHumidity()); - + updateStateIfNotNull(TadoBindingConstants.CHANNEL_ZONE_HEATING_POWER, state.getHeatingPower()); updateStateIfNotNull(TadoBindingConstants.CHANNEL_ZONE_AC_POWER, state.getAcPower()); @@ -257,7 +257,7 @@ private void updateZoneState(boolean forceUpdate) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Could not connect to server due to " + e.getMessage()); } - + TadoHomeHandler home = getHomeHandler(); if (home != null) { updateState(TadoBindingConstants.CHANNEL_ZONE_BATTERY_LOW_ALARM, home.getBatteryLowAlarm(getZoneId())); @@ -307,5 +307,4 @@ private void updateStateIfNotNull(String channelID, State state) { updateState(channelID, state); } } - } diff --git a/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/binding/binding.xml index 57cd17a5de5e9..c46317ab023ac 100644 --- a/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - tado° Binding diff --git a/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/thing/thing-types.xml index 4615a260ffa20..90c6da3120ff0 100644 --- a/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tado/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,5 +1,6 @@ - @@ -24,7 +25,7 @@ - + @@ -45,7 +46,7 @@ - + ON if one or more devices in the zone have a low battery @@ -83,7 +84,7 @@ - + @@ -199,7 +200,7 @@ DateTime Time until when the overlay is active. Null if no overlay is set or overlay type is manual. - + @@ -214,7 +215,7 @@ Indicates if the air-conditioning is Off or On - + Switch diff --git a/bundles/org.openhab.binding.tankerkoenig/pom.xml b/bundles/org.openhab.binding.tankerkoenig/pom.xml index 8f671d9af569c..f4e540c37d9d0 100644 --- a/bundles/org.openhab.binding.tankerkoenig/pom.xml +++ b/bundles/org.openhab.binding.tankerkoenig/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/feature/feature.xml b/bundles/org.openhab.binding.tankerkoenig/src/main/feature/feature.xml index ec5018cae257d..4fe51490d072f 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.tankerkoenig/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.tankerkoenig/${project.version} + diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/TankerkoenigBindingConstants.java b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/TankerkoenigBindingConstants.java index 8ae5c917fe8d2..efc0e6256de58 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/TankerkoenigBindingConstants.java +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/TankerkoenigBindingConstants.java @@ -51,5 +51,4 @@ public class TankerkoenigBindingConstants { // String used Identify unsucessful web-return public static final String NO_VALID_RESPONSE = "No valid response from the web-request!"; - } diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/LittleStation.java b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/LittleStation.java index 1a3b0418e3d32..c51ea43a7de3f 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/LittleStation.java +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/LittleStation.java @@ -75,5 +75,4 @@ public Boolean isOpen() { public void setOpen(Boolean isOpen) { this.open = isOpen; } - } diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/OpeningTimes.java b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/OpeningTimes.java index 575bee9e59d70..dfcea57a70372 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/OpeningTimes.java +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/config/OpeningTimes.java @@ -64,5 +64,4 @@ public String toString() { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/handler/WebserviceHandler.java b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/handler/WebserviceHandler.java index bb52860fcb53e..5023c562233cc 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/handler/WebserviceHandler.java +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/java/org/openhab/binding/tankerkoenig/internal/handler/WebserviceHandler.java @@ -367,5 +367,4 @@ public void setModeOpeningTime(boolean modeOpeningTime) { public String getUserAgent() { return userAgent; } - } diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/binding/binding.xml index c60ca2fc36fcf..236f4c4a57f05 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/binding/binding.xml @@ -1,9 +1,11 @@ - Tankerkönig Binding - The Tankerkönig Binding allows to poll fuel prices of German gas stations by using the Tankerkoenig.de API. + The Tankerkönig Binding allows to poll fuel prices of German gas stations by using the Tankerkoenig.de + API. Dennis Dollinger / Jürgen Baginski diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/station.xml b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/station.xml index c570dcead8650..10abd89033caf 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/station.xml +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/station.xml @@ -5,15 +5,16 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - + - Provides the prices of gas types E5-, E10- and Diesel of that station and if that station reports as opened. + Provides the prices of gas types E5-, E10- and Diesel of that station and if that station reports as + opened. - - - - + + + + diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/webservice.xml b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/webservice.xml index 16663200e13d2..12fe9b586fdce 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/webservice.xml +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/ESH-INF/thing/webservice.xml @@ -7,7 +7,7 @@ The Tankerkönig Webservice can handle 1 to 10 gas stations. - + diff --git a/bundles/org.openhab.binding.telegram/.project b/bundles/org.openhab.binding.telegram/.project index bdbfb24eed036..ddc5d14058dbf 100644 --- a/bundles/org.openhab.binding.telegram/.project +++ b/bundles/org.openhab.binding.telegram/.project @@ -1,23 +1,23 @@ - - - org.openhab.binding.telegram - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.m2e.core.maven2Builder - - - - - - org.eclipse.jdt.core.javanature - org.eclipse.m2e.core.maven2Nature - - + + + org.openhab.binding.telegram + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/bundles/org.openhab.binding.telegram/pom.xml b/bundles/org.openhab.binding.telegram/pom.xml index 533df85850bf1..a4ec48119bcea 100644 --- a/bundles/org.openhab.binding.telegram/pom.xml +++ b/bundles/org.openhab.binding.telegram/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.telegram/src/main/feature/feature.xml b/bundles/org.openhab.binding.telegram/src/main/feature/feature.xml index 5c00437fa9dfe..e1c406e026ba8 100644 --- a/bundles/org.openhab.binding.telegram/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.telegram/src/main/feature/feature.xml @@ -1,6 +1,5 @@ - + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features diff --git a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java index 10381cab18a0e..430b5dade4639 100644 --- a/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java +++ b/bundles/org.openhab.binding.telegram/src/main/java/org/openhab/binding/telegram/internal/TelegramHandler.java @@ -333,5 +333,4 @@ public R execute(BaseRequestThing to receive the latest message send to a Telegram Bot. - - - - - - + + + + + + @@ -41,7 +41,7 @@ Enter your proxy host. It will be used for telegram binding only and doesn't affect entire system. - + Enter your proxy port. @@ -61,35 +61,35 @@ String Contains the latest message text as a string - + DateTime Contains the latest message date as a DateTime - + String Contains the latest message senders name as a string - + String Contains the latest message senders username as a string - + String Contains the id of chat from where the message was received. - + @@ -97,7 +97,7 @@ Contains the id of the reply which was passed to sendTelegram() as replyId. This id can be used to have an unambiguous assignment of the user reply to the message which was sent by the bot. - + diff --git a/bundles/org.openhab.binding.tellstick/pom.xml b/bundles/org.openhab.binding.tellstick/pom.xml index d2ca9d4ee59e2..20b59171454d8 100644 --- a/bundles/org.openhab.binding.tellstick/pom.xml +++ b/bundles/org.openhab.binding.tellstick/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tellstick/src/main/feature/feature.xml b/bundles/org.openhab.binding.tellstick/src/main/feature/feature.xml index 6e3ce9620eb5d..7fc59a9d82b68 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tellstick/src/main/feature/feature.xml @@ -1,14 +1,14 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - openhab.tp-netty - openhab.tp-jaxb - mvn:net.java.dev.jna/jna/4.5.2 - mvn:net.java.dev.jna/jna-platform/4.5.2 - mvn:org.openhab.addons.bundles/org.openhab.binding.tellstick/${project.version} - + + openhab-runtime-base + openhab-transport-serial + openhab.tp-netty + openhab.tp-jaxb + mvn:net.java.dev.jna/jna/4.5.2 + mvn:net.java.dev.jna/jna-platform/4.5.2 + mvn:org.openhab.addons.bundles/org.openhab.binding.tellstick/${project.version} + diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TelldusBindingException.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TelldusBindingException.java index 4fc944e526579..dc9ecf434558a 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TelldusBindingException.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TelldusBindingException.java @@ -35,5 +35,4 @@ public TelldusBindingException(String message) { public String getMessage() { return msg; } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TellstickBindingConstants.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TellstickBindingConstants.java index 545a6949762d6..01ae2d5bed8a0 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TellstickBindingConstants.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/TellstickBindingConstants.java @@ -106,5 +106,4 @@ public class TellstickBindingConstants { .of(DIMMER_THING_TYPE, SWITCH_THING_TYPE, SENSOR_THING_TYPE, RAINSENSOR_THING_TYPE, WINDSENSOR_THING_TYPE, POWERSENSOR_THING_TYPE, TELLDUSCOREBRIDGE_THING_TYPE, TELLDUSLIVEBRIDGE_THING_TYPE) .collect(Collectors.toSet())); - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreBridgeHandler.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreBridgeHandler.java index ab3793e64afda..2690532963e5e 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreBridgeHandler.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreBridgeHandler.java @@ -169,7 +169,6 @@ public void rescanTelldusDevices() { private synchronized void setupListeners() { eventHandler = new TellstickEventHandler(deviceList); eventHandler.addListener(this); - } public void onConnectionLost() { @@ -278,5 +277,4 @@ public Device getSensor(String deviceUUId) { public TelldusDeviceController getController() { return this.deviceController; } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreDeviceController.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreDeviceController.java index 358191e33e11c..5d4994a7a78c3 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreDeviceController.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/core/TelldusCoreDeviceController.java @@ -143,7 +143,6 @@ public void onRequest(TellstickSensorEvent newDevices) { @Override public void onRequest(TellstickDeviceEvent newDevices) { setLastSend(newDevices.getTimestamp()); - } private void sendEvent(Device device, int resendCount, boolean isdimmer, Command command) diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/discovery/TellstickBridgeDiscovery.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/discovery/TellstickBridgeDiscovery.java index a49b6723b152c..4b11e673f5ff7 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/discovery/TellstickBridgeDiscovery.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/discovery/TellstickBridgeDiscovery.java @@ -103,5 +103,4 @@ private void discoveryResultSubmission(TellstickController controller) { .withLabel(controller.getType().name() + ": " + controller.getName()).build()); } } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/DeviceStatusListener.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/DeviceStatusListener.java index 4fe94b49e923a..b1fe6f87a4bff 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/DeviceStatusListener.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/DeviceStatusListener.java @@ -54,5 +54,4 @@ public interface DeviceStatusListener { * The device which is added. */ public void onDeviceAdded(Bridge bridge, Device device); - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusBridgeHandler.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusBridgeHandler.java index 0b77d53eb163c..bab4dcea32c48 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusBridgeHandler.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusBridgeHandler.java @@ -76,5 +76,4 @@ public interface TelldusBridgeHandler { * @param command */ void handleCommand(ChannelUID channelUID, Command command); - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDeviceController.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDeviceController.java index 4338a32c1d1d2..dcb841bc60c5c 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDeviceController.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDeviceController.java @@ -59,5 +59,4 @@ public interface TelldusDeviceController { * */ void dispose(); - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDevicesHandler.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDevicesHandler.java index 23f59a6a9b0d1..c4220d87bbd0c 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDevicesHandler.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/handler/TelldusDevicesHandler.java @@ -371,5 +371,4 @@ public void onDeviceRemoved(Bridge bridge, Device device) { @Override public void onDeviceAdded(Bridge bridge, Device device) { } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveDeviceController.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveDeviceController.java index 5ceef791489c6..03b9d6a20fdcd 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveDeviceController.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveDeviceController.java @@ -137,7 +137,6 @@ public void handleSendEvent(Device device, int resendCount, boolean isdimmer, Co } else { logger.warn("Cannot send to {}", device); } - } private void increaseDecrease(Device dev, IncreaseDecreaseType increaseDecreaseType) throws TellstickException { @@ -273,7 +272,6 @@ public void onRequest(TellstickSensorEvent newDevices) { @Override public void onRequest(TellstickDeviceEvent newDevices) { setLastSend(newDevices.getTimestamp()); - } T callRestMethod(String uri, Class response) throws TelldusLiveException { diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveException.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveException.java index bb22e54ca16bf..2860b772e904e 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveException.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/TelldusLiveException.java @@ -33,5 +33,4 @@ public TelldusLiveException(Exception source) { public String getMessage() { return getCause().getMessage(); } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NameToDataType.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NameToDataType.java index 975250fb3cc29..309e559c785a9 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NameToDataType.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NameToDataType.java @@ -29,5 +29,4 @@ public LiveDataType unmarshal(String v) throws Exception { public String marshal(LiveDataType v) throws Exception { return v.toString(); } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NumberToBooleanMapper.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NumberToBooleanMapper.java index 2b1050d1f5dc1..4767e1846a598 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NumberToBooleanMapper.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/NumberToBooleanMapper.java @@ -30,5 +30,4 @@ public Boolean unmarshal(Integer v) throws Exception { public Integer marshal(Boolean v) throws Exception { return v ? 1 : 0; } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TelldusLiveResponse.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TelldusLiveResponse.java index 09b6faf9dab65..60286e5e2e43d 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TelldusLiveResponse.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TelldusLiveResponse.java @@ -31,5 +31,4 @@ public class TelldusLiveResponse { public String toString() { return "TelldusLiveResponse [status=" + status + ", error=" + error + "]"; } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TellstickNetDevice.java b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TellstickNetDevice.java index 45bb179ed22a4..69d3cae28f6e6 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TellstickNetDevice.java +++ b/bundles/org.openhab.binding.tellstick/src/main/java/org/openhab/binding/tellstick/internal/live/xml/TellstickNetDevice.java @@ -170,5 +170,4 @@ public String toString() { return "TellstickNetDevice [deviceId=" + deviceId + ", name=" + name + ", online=" + online + ", state=" + state + ", statevalue=" + statevalue + ", updated=" + updated + "]"; } - } diff --git a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/binding/binding.xml index 7e9a8f54e094a..1188315de52ea 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Tellstick Binding diff --git a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/config/config.xml index 585983fb89eb3..35e46e1535cf8 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/devices.xml b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/devices.xml index c76f9b42704c3..3e2fa9f1bc596 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/devices.xml +++ b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/devices.xml @@ -7,17 +7,17 @@ - - + + This is a Dimmable device - - - + + + @@ -52,15 +52,15 @@ - + This Thing defines a Switch Device - - + + @@ -88,7 +88,8 @@ - Is this a dimmer without absolute setting (e.g. you press on to start dim and then on again to stop it). + Is this a dimmer without absolute setting (e.g. you press on to start dim and then on again to stop + it). false false diff --git a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/sensor.xml b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/sensor.xml index f1c6df8112585..4a598a43244ec 100644 --- a/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/sensor.xml +++ b/bundles/org.openhab.binding.tellstick/src/main/resources/ESH-INF/thing/sensor.xml @@ -6,67 +6,67 @@ - - + + This Thing defines a Sensor - - - - + + + + - + - - + + This Thing defines a Rain Sensor - - - + + + - + - + This Thing defines a Power Sensor - - - + + + - + - - + + This Thing defines a Wind Sensor - - - - + + + + - + @@ -91,7 +91,7 @@ Number:Length The current rain rate - + @@ -121,7 +121,7 @@ Current wind direction Wind - + @@ -136,7 +136,7 @@ Number:Illuminance Current lumination - + diff --git a/bundles/org.openhab.binding.tesla/pom.xml b/bundles/org.openhab.binding.tesla/pom.xml index b1b36a584cc3d..0b0388056e65c 100644 --- a/bundles/org.openhab.binding.tesla/pom.xml +++ b/bundles/org.openhab.binding.tesla/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tesla/src/main/feature/feature.xml b/bundles/org.openhab.binding.tesla/src/main/feature/feature.xml index 523caf20e1d77..a6a257ccb6632 100644 --- a/bundles/org.openhab.binding.tesla/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tesla/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.tesla/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.tesla/${project.version} + diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaBindingConstants.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaBindingConstants.java index 4b1a59f42a088..81aab3d2ac37b 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaBindingConstants.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaBindingConstants.java @@ -103,5 +103,4 @@ public enum EventKeys { public static final String CONFIG_REFRESHTOKEN = "refreshToken"; public static final String CONFIG_USERNAME = "username"; public static final String CONFIG_PASSWORD = "password"; - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaChannelSelectorProxy.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaChannelSelectorProxy.java index f553ffa473691..11e612aa5b731 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaChannelSelectorProxy.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/TeslaChannelSelectorProxy.java @@ -1087,5 +1087,4 @@ public static TeslaChannelSelector getValueSelectorFromRESTID(String valueSelect public State getState(String s, TeslaChannelSelector selector, Map properties) { return selector.getState(s, this, properties); } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaAccountHandler.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaAccountHandler.java index 4429ac18f29a8..410dcf76f5b30 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaAccountHandler.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaAccountHandler.java @@ -528,7 +528,6 @@ public void run() { logger.error("An exception occurred while executing a request to the vehicle: '{}'", e.getMessage(), e); } } - } public Request newRequest(TeslaVehicleHandler teslaVehicleHandler, String command, String payLoad, @@ -540,5 +539,4 @@ public Request newRequest(TeslaVehicleHandler teslaVehicleHandler, String comman public Collection> getServices() { return Collections.singletonList(TeslaVehicleDiscoveryService.class); } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaVehicleHandler.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaVehicleHandler.java index a98587339b023..0bcee350894e7 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaVehicleHandler.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/handler/TeslaVehicleHandler.java @@ -1145,5 +1145,4 @@ public void run() { } } }; - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/ChargeState.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/ChargeState.java index 217166f9c4388..4fbc8724eba84 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/ChargeState.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/ChargeState.java @@ -65,5 +65,4 @@ public class ChargeState { ChargeState() { } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/DriveState.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/DriveState.java index 205c95539b1d2..72c75bddb057f 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/DriveState.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/DriveState.java @@ -33,5 +33,4 @@ public class DriveState { DriveState() { } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/GUIState.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/GUIState.java index b287eb3a86153..451ce82fd9339 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/GUIState.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/GUIState.java @@ -28,5 +28,4 @@ public class GUIState { public GUIState() { } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequest.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequest.java index 5ef00a9774ff1..713648a267b4b 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequest.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequest.java @@ -66,5 +66,4 @@ public abstract class TokenRequest { throw e; } } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequestPassword.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequestPassword.java index 6931c65868c96..a45dfccd1515f 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequestPassword.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/TokenRequestPassword.java @@ -35,5 +35,4 @@ public TokenRequestPassword(String email, String password) throws GeneralSecurit this.email = email; this.password = password; } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleConfig.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleConfig.java index 4e303e97734a3..6d11672184bfd 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleConfig.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleConfig.java @@ -41,5 +41,4 @@ public class VehicleConfig { public String third_row_seats; public String trim_badging; public String wheel_type; - } diff --git a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleState.java b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleState.java index 8c06b6064777a..bd6cda0a3c9df 100644 --- a/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleState.java +++ b/bundles/org.openhab.binding.tesla/src/main/java/org/openhab/binding/tesla/internal/protocol/VehicleState.java @@ -57,5 +57,4 @@ public class VehicleState { VehicleState() { } - } diff --git a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/binding/binding.xml index 2d7b436c93725..9461320635e8d 100644 --- a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Tesla Binding This is the binding for Tesla Electric Vehicles. diff --git a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/channels.xml index 26395a998a9c9..9c7d1b8308813 100644 --- a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/channels.xml @@ -595,8 +595,9 @@ Number:Temperature - Combined average temperature of the driver and passenger autoconditioning settings. The temperature for the - driver and passenger will be synced when set. + Combined average temperature of the driver and passenger autoconditioning settings. The temperature for + the + driver and passenger will be synced when set. diff --git a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/model3.xml b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/model3.xml index caa4f64812231..1ceca7a8416dc 100644 --- a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/model3.xml +++ b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/model3.xml @@ -7,113 +7,113 @@ - + A Tesla Model 3 Vehicle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/models.xml b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/models.xml index 3859eec9fa90e..7d394f86604e1 100644 --- a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/models.xml +++ b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/models.xml @@ -7,120 +7,120 @@ - + A Tesla Model S Vehicle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modelx.xml b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modelx.xml index 00bb0367b1048..df139b3a2ac1e 100644 --- a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modelx.xml +++ b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modelx.xml @@ -7,120 +7,120 @@ - + A Tesla Model X Vehicle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modely.xml b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modely.xml index ec2be2850f67e..61fda3be9908f 100644 --- a/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modely.xml +++ b/bundles/org.openhab.binding.tesla/src/main/resources/ESH-INF/thing/modely.xml @@ -7,115 +7,115 @@ - + A Tesla Model Y Vehicle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.tibber/pom.xml b/bundles/org.openhab.binding.tibber/pom.xml index ac1d3bd5e7a3b..f220ae2d96e8c 100644 --- a/bundles/org.openhab.binding.tibber/pom.xml +++ b/bundles/org.openhab.binding.tibber/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tibber/src/main/feature/feature.xml b/bundles/org.openhab.binding.tibber/src/main/feature/feature.xml index 3b03fd0f77f6b..f171273bd2fc4 100755 --- a/bundles/org.openhab.binding.tibber/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tibber/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.tibber/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.tibber/${project.version} + diff --git a/bundles/org.openhab.binding.tibber/src/main/java/org/openhab/binding/tibber/internal/TibberBindingConstants.java b/bundles/org.openhab.binding.tibber/src/main/java/org/openhab/binding/tibber/internal/TibberBindingConstants.java index 1384b183ec6f0..a9bf7967631f8 100755 --- a/bundles/org.openhab.binding.tibber/src/main/java/org/openhab/binding/tibber/internal/TibberBindingConstants.java +++ b/bundles/org.openhab.binding.tibber/src/main/java/org/openhab/binding/tibber/internal/TibberBindingConstants.java @@ -77,5 +77,4 @@ public class TibberBindingConstants { public static final Set SUPPORTED_THING_TYPES_UIDS = Stream.of(TIBBER_THING_TYPE) .collect(Collectors.toSet()); - } diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/binding/binding.xml index d718100643266..76d6db88f46ba 100755 --- a/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,7 @@ - + Tibber Binding This binding retrieves price and consumption data from Tibber API using queries and live subscription diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/thing/thing-types.xml index 2bf97614b4752..0a7bd7ebca0e5 100755 --- a/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,56 +1,56 @@ - - - + + Tibber API connector - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tibber - + Tibber Personal Token - + Tibber Home ID - + 1 Manually Set Polling Frequency (minutes) diff --git a/bundles/org.openhab.binding.tplinksmarthome/pom.xml b/bundles/org.openhab.binding.tplinksmarthome/pom.xml index fe33f221a84c1..5f0ed2e0e2952 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/pom.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/feature/feature.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/feature/feature.xml index ea22be47f8643..795f14fec687e 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.tplinksmarthome/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.tplinksmarthome/${project.version} + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/CryptUtil.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/CryptUtil.java index 8b9789404ee3d..4b62333cbec68 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/CryptUtil.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/CryptUtil.java @@ -114,5 +114,4 @@ public static byte[] encrypt(String string) { } return buffer; } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDevice.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDevice.java index dab23fa26c727..d618b2d74a3b6 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDevice.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDevice.java @@ -12,6 +12,10 @@ */ package org.openhab.binding.tplinksmarthome.internal.device; +import static org.openhab.binding.tplinksmarthome.internal.TPLinkSmartHomeBindingConstants.CHANNEL_BRIGHTNESS; + +import java.io.IOException; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.smarthome.core.library.types.OnOffType; @@ -21,10 +25,6 @@ import org.eclipse.smarthome.core.types.State; import org.openhab.binding.tplinksmarthome.internal.model.HasErrorResponse; -import java.io.IOException; - -import static org.openhab.binding.tplinksmarthome.internal.TPLinkSmartHomeBindingConstants.CHANNEL_BRIGHTNESS; - /** * TP-Link Smart Home device with a dimmer (HS220). * @@ -40,9 +40,8 @@ public class DimmerDevice extends SwitchDevice { @Override public boolean handleCommand(ChannelUID channelUid, Command command) throws IOException { - return CHANNEL_BRIGHTNESS.equals(channelUid.getId()) ? - handleBrightnessChannel(channelUid, command) : - super.handleCommand(channelUid, command); + return CHANNEL_BRIGHTNESS.equals(channelUid.getId()) ? handleBrightnessChannel(channelUid, command) + : super.handleCommand(channelUid, command); } /** @@ -82,9 +81,8 @@ private boolean handleBrightnessChannel(ChannelUID channelUid, Command command) @Override public State updateChannel(ChannelUID channelUid, DeviceState deviceState) { if (CHANNEL_BRIGHTNESS.equals(channelUid.getId())) { - return deviceState.getSysinfo().getRelayState() == OnOffType.OFF ? - PercentType.ZERO : - new PercentType(deviceState.getSysinfo().getBrightness()); + return deviceState.getSysinfo().getRelayState() == OnOffType.OFF ? PercentType.ZERO + : new PercentType(deviceState.getSysinfo().getBrightness()); } else { return super.updateChannel(channelUid, deviceState); } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDevice.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDevice.java index 2ca3d0c2cd041..7d17e3d8cb98a 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDevice.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDevice.java @@ -35,8 +35,7 @@ protected State getOnOffState(DeviceState deviceState) { } @Override - protected @Nullable SetRelayState setOnOffState(ChannelUID channelUid, OnOffType onOff) - throws IOException { + protected @Nullable SetRelayState setOnOffState(ChannelUID channelUid, OnOffType onOff) throws IOException { // It's unknown what the command is to send to the device so it's not supported. return null; } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/LightState.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/LightState.java index c962dfcb6a1f6..3a4935498fc1b 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/LightState.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/LightState.java @@ -70,5 +70,4 @@ public String toString() { + ignoreDefault + ", mode:" + mode + ", on_off:" + onOff + ", saturation:" + saturation + super.toString(); } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/Realtime.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/Realtime.java index 9e1963bc217a3..2959dd92c2415 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/Realtime.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/Realtime.java @@ -57,5 +57,4 @@ public String toString() { return "current:" + getCurrent() + ", power:" + getPower() + ", total:" + getTotal() + ", voltage:" + getVoltage() + super.toString(); } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/SetLedOff.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/SetLedOff.java index ff424abe86788..948b263ba74ed 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/SetLedOff.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/SetLedOff.java @@ -64,5 +64,4 @@ public void setLed(OnOffType onOff) { public String toString() { return "SetLedOff {system:{" + system + "}"; } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightState.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightState.java index 69c782abfd949..0b914a06a5ee3 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightState.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightState.java @@ -78,7 +78,6 @@ public void setBrightness(int brightness) { public String toString() { return "brightness:" + brightness + ", " + super.toString(); } - } public static class LightOnOff { diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightStateResponse.java b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightStateResponse.java index 40634cf02d72f..29816b7fbc268 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightStateResponse.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/java/org/openhab/binding/tplinksmarthome/internal/model/TransitionLightStateResponse.java @@ -43,5 +43,4 @@ public ErrorResponse getErrorResponse() { public String toString() { return "TransitionLightStateResponse {service:{" + service + "}"; } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS100.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS100.xml index cdc4247ab8b98..ec42efde893b2 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS100.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS100.xml @@ -10,13 +10,13 @@ PowerOutlet - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS103.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS103.xml index 153eb2bbf2d6a..0e0446186376d 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS103.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS103.xml @@ -10,13 +10,13 @@ PowerOutlet - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS105.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS105.xml index 32e174d00c8c1..69497aa2ddb5b 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS105.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS105.xml @@ -10,13 +10,13 @@ PowerOutlet - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS107.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS107.xml index 452caec2571de..521d9cc553bce 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS107.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS107.xml @@ -10,7 +10,7 @@ PowerOutlet - + @@ -21,6 +21,6 @@ deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS110.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS110.xml index 79a36c47f0f5a..56bd39362711e 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS110.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS110.xml @@ -10,17 +10,17 @@ PowerOutlet - - - - - - - + + + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS200.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS200.xml index 701a22d18c64c..23e17898a6864 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS200.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS200.xml @@ -10,13 +10,13 @@ WallSwitch - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS210.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS210.xml index c2f3d6008e3c3..2631284ea563a 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS210.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS210.xml @@ -10,13 +10,13 @@ WallSwitch - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS220.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS220.xml index fb81a32448d45..35a96820163bb 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS220.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS220.xml @@ -10,13 +10,13 @@ WallSwitch - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS300.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS300.xml index 57779f37a8925..bc1f3fac75ec5 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS300.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/HS300.xml @@ -10,7 +10,7 @@ PowerOutlet - + @@ -33,7 +33,7 @@ deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB100.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB100.xml index 91dafed80b70f..5494f65e15166 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB100.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB100.xml @@ -10,12 +10,12 @@ Lightbulb - - + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB130.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB130.xml index 34fb5bc804c3e..4d310319c4c3f 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB130.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KB130.xml @@ -10,14 +10,14 @@ Lightbulb - - - - + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL110.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL110.xml index 81a0c507cb4d7..56f967cdb7624 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL110.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL110.xml @@ -10,13 +10,13 @@ Lightbulb - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL120.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL120.xml index 610f28df3a6b8..7d070479eb31e 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL120.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL120.xml @@ -10,15 +10,15 @@ Lightbulb - - - - - + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL130.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL130.xml index 2a57f9cfe7110..8b66463801c9e 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL130.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL130.xml @@ -10,15 +10,15 @@ Lightbulb - - - - - + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL50.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL50.xml index bd41e2bdb79b7..4eb5cba2e6648 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL50.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL50.xml @@ -10,13 +10,13 @@ Lightbulb - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL60.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL60.xml index d9fd18363e0f8..4f0d1cacef55b 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL60.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KL60.xml @@ -10,13 +10,13 @@ Lightbulb - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP100.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP100.xml index faf7dc3d2fb5e..019693b027e02 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP100.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP100.xml @@ -10,13 +10,13 @@ PowerOutlet - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP200.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP200.xml index 0a96fb11f526b..204da7a0150ca 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP200.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP200.xml @@ -10,7 +10,7 @@ PowerOutlet - + @@ -21,6 +21,6 @@ deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP303.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP303.xml index 4b9601a8a2fb0..13087e1f5e81f 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP303.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP303.xml @@ -10,7 +10,7 @@ PowerOutlet - + @@ -24,7 +24,7 @@ deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP400.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP400.xml index d2fd8122dc7ba..2127b755f7849 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP400.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/KP400.xml @@ -10,7 +10,7 @@ PowerOutlet - + @@ -21,6 +21,6 @@ deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB100.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB100.xml index a59aca5102835..1e0b74cc04439 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB100.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB100.xml @@ -10,13 +10,13 @@ Lightbulb - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB110.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB110.xml index 49c46808cdc53..05676b9dff903 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB110.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB110.xml @@ -10,13 +10,13 @@ Lightbulb - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB120.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB120.xml index c190375c1efe1..aea43a495c289 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB120.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB120.xml @@ -10,15 +10,15 @@ Lightbulb - - - - - + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB130.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB130.xml index 988b7a8003e1d..65d0e8bd4d3df 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB130.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB130.xml @@ -10,15 +10,15 @@ Lightbulb - - - - - + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB200.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB200.xml index f0501b352a5a1..93ae2f03cf441 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB200.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB200.xml @@ -10,13 +10,13 @@ Lightbulb - - - + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB230.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB230.xml index 2cab092343fe0..46c6e1352298f 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB230.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/LB230.xml @@ -10,15 +10,15 @@ Lightbulb - - - - - + + + + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE270K.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE270K.xml index 9f10a59173d0b..fc2c8d2abef02 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE270K.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE270K.xml @@ -10,12 +10,12 @@ PowerOutlet - - + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE370K.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE370K.xml index 19838ad31c8eb..fcb3b31b23a86 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE370K.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/RE370K.xml @@ -10,12 +10,12 @@ PowerOutlet - - + + deviceId - + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/channels.xml index 75029365c66cd..ba74f5f3bc724 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.tplinksmarthome/src/main/resources/ESH-INF/thing/channels.xml @@ -10,7 +10,7 @@ Shows the switch state of the Smart Home device. Switch - + Switch @@ -25,7 +25,7 @@ This channel supports adjusting the color temperature from 2700K to 6500K. ColorLight - + @@ -33,7 +33,7 @@ This channel supports adjusting the color temperature from 2500K to 9000K. ColorLight - + @@ -80,27 +80,27 @@ PowerOutlet - - - + + + PowerOutlet - + PowerOutlet - - - - - + + + + + diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/CryptUtilTest.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/CryptUtilTest.java index 8c7f1b3248bc5..b08bf56a1b97b 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/CryptUtilTest.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/CryptUtilTest.java @@ -50,5 +50,4 @@ public void testCryptWithLength() throws IOException { assertEquals("Crypting should result in same string", TEST_STRING, CryptUtil.decryptWithLength(is)); } } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/TPLinkSmartHomeDiscoveryServiceTest.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/TPLinkSmartHomeDiscoveryServiceTest.java index 9b36d3b9ab5f5..b0def724e5ffc 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/TPLinkSmartHomeDiscoveryServiceTest.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/TPLinkSmartHomeDiscoveryServiceTest.java @@ -92,7 +92,6 @@ public Void answer(InvocationOnMock invocation) throws Throwable { packet.setData(CryptUtil.encrypt(ModelTestUtil.readJson(filename))); return null; } - }).when(discoverSocket).receive(any()); discoveryService.addDiscoveryListener(discoveryListener); } @@ -111,5 +110,4 @@ public void testScan() { assertEquals("Check if expected number of properties found", propertiesSize, discoveryResult.getProperties().size()); } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/BulbDeviceTest.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/BulbDeviceTest.java index a54d5fd362993..fd8d067574522 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/BulbDeviceTest.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/BulbDeviceTest.java @@ -168,5 +168,4 @@ public void testUpdateChannelPower() { assertEquals("Power values should be set", new DecimalType(10.8), device.updateChannel(CHANNEL_UID_ENERGY_POWER, deviceState)); } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDeviceTest.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDeviceTest.java index 4697ba68206ea..3a3a397a00590 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDeviceTest.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/DimmerDeviceTest.java @@ -57,7 +57,7 @@ public void testHandleCommandBrightnessZero() throws IOException { @Test public void testHandleCommandBrightness() throws IOException { assertInput("dimmer_set_brightness", "dimmer_set_switch_state_on"); - setSocketReturnAssert( "dimmer_set_brightness_response","dimmer_set_switch_state_on"); + setSocketReturnAssert("dimmer_set_brightness_response", "dimmer_set_switch_state_on"); assertTrue("Brightness channel should be handled", device.handleCommand(CHANNEL_UID_BRIGHTNESS, new PercentType(17))); } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/EnergySwitchDeviceTest.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/EnergySwitchDeviceTest.java index 98afb1e46c1df..960a53683fd2f 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/EnergySwitchDeviceTest.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/EnergySwitchDeviceTest.java @@ -83,5 +83,4 @@ public void testUpdateChannelOther() { assertSame("Unknown channel should return UNDEF", UnDefType.UNDEF, device.updateChannel(CHANNEL_UID_OTHER, deviceState)); } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDeviceTest.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDeviceTest.java index fcea0700f06c8..08c173ae7be94 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDeviceTest.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/device/RangeExtenderDeviceTest.java @@ -55,5 +55,4 @@ public void testUpdateChannelOther() { assertSame("Unknown channel should return UNDEF", UnDefType.UNDEF, device.updateChannel(CHANNEL_UID_OTHER, deviceState)); } - } diff --git a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/model/ModelTestUtil.java b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/model/ModelTestUtil.java index 8a7f24fb5ee70..106f2346009a2 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/model/ModelTestUtil.java +++ b/bundles/org.openhab.binding.tplinksmarthome/src/test/java/org/openhab/binding/tplinksmarthome/internal/model/ModelTestUtil.java @@ -62,5 +62,4 @@ public static String readJson(String filename) throws IOException { .toString(ModelTestUtil.class.getResourceAsStream(filename + ".json"), StandardCharsets.UTF_8.name()) .replaceAll("[\n\r\t ]", ""); } - } diff --git a/bundles/org.openhab.binding.tradfri/pom.xml b/bundles/org.openhab.binding.tradfri/pom.xml index 9680566f63677..7fdc2c384a851 100644 --- a/bundles/org.openhab.binding.tradfri/pom.xml +++ b/bundles/org.openhab.binding.tradfri/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.tradfri/src/main/feature/feature.xml b/bundles/org.openhab.binding.tradfri/src/main/feature/feature.xml index 9eed501971973..6f1c1689b84d7 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-coap - openhab-transport-mdns - mvn:org.openhab.addons.bundles/org.openhab.binding.tradfri/${project.version} - + + openhab-runtime-base + openhab-transport-coap + openhab-transport-mdns + mvn:org.openhab.addons.bundles/org.openhab.binding.tradfri/${project.version} + diff --git a/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/TradfriHandlerFactory.java b/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/TradfriHandlerFactory.java index d35795d589823..197faea3190d8 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/TradfriHandlerFactory.java +++ b/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/TradfriHandlerFactory.java @@ -66,5 +66,4 @@ public boolean supportsThingType(ThingTypeUID thingTypeUID) { } return null; } - } diff --git a/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/handler/TradfriPlugHandler.java b/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/handler/TradfriPlugHandler.java index f687305fed8ed..a6aa3127da5a9 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/handler/TradfriPlugHandler.java +++ b/bundles/org.openhab.binding.tradfri/src/main/java/org/openhab/binding/tradfri/internal/handler/TradfriPlugHandler.java @@ -80,5 +80,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { } } } - } diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tradfri/src/main/resources/ESH-INF/thing/thing-types.xml index 123b3228a9aeb..f767acec7cd5e 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/ESH-INF/thing/thing-types.xml @@ -10,170 +10,170 @@ host - + - + A plug that can be switched on and off. - + id - + - + A light that has continuous brightness control. - + id - + - + A dimmable light that supports different color temperature settings. - - + + id - + - + A dimmable light that supports full colors and color temperature settings. - - + + id - + - + This represents the motion sensor capable of reporting the battery level. - - + + id - + - + This represents the wireless dimmer sensor capable of reporting the battery level. - - + + id - + - + This represents the remote control capable of reporting the battery level. - - + + id - + - + This represents a blind or curtain that can be moved up and down. Also reports current battery level. - - - + + + id - + - + This represents the wireless open/close remote capable of reporting the battery level. - - + + id - + diff --git a/bundles/org.openhab.binding.tradfri/src/test/java/org/openhab/binding/tradfri/internal/TradfriColorTest.java b/bundles/org.openhab.binding.tradfri/src/test/java/org/openhab/binding/tradfri/internal/TradfriColorTest.java index 1f37eaf694770..4a94f6891a651 100644 --- a/bundles/org.openhab.binding.tradfri/src/test/java/org/openhab/binding/tradfri/internal/TradfriColorTest.java +++ b/bundles/org.openhab.binding.tradfri/src/test/java/org/openhab/binding/tradfri/internal/TradfriColorTest.java @@ -186,5 +186,4 @@ public void testCalculateColorTemperature() { PercentType mixed2 = new TradfriColor(1000000, 0, null).getColorTemperature(); assertEquals(100, mixed2.intValue()); } - } diff --git a/bundles/org.openhab.binding.unifi/pom.xml b/bundles/org.openhab.binding.unifi/pom.xml index 3ec2165f730c3..bdaca7d6558a5 100644 --- a/bundles/org.openhab.binding.unifi/pom.xml +++ b/bundles/org.openhab.binding.unifi/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.unifi/src/main/feature/feature.xml b/bundles/org.openhab.binding.unifi/src/main/feature/feature.xml index ceb9e45eb6fae..b59b299efce85 100644 --- a/bundles/org.openhab.binding.unifi/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.unifi/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.unifi/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.unifi/${project.version} + diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiBindingConstants.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiBindingConstants.java index 2e31c78aa45af..438aadfaef147 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiBindingConstants.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiBindingConstants.java @@ -55,5 +55,4 @@ public class UniFiBindingConstants { public static final String PARAMETER_PASSWORD = "password"; public static final String PARAMETER_SITE = "site"; public static final String PARAMETER_CID = "cid"; - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiClientThingConfig.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiClientThingConfig.java index 8159e992b5b98..ee37c428647ed 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiClientThingConfig.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiClientThingConfig.java @@ -55,5 +55,4 @@ public boolean isValid() { public String toString() { return String.format("UniFiClientConfig{cid: '%s', site: '%s', considerHome: %d}", cid, site, considerHome); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiThingHandlerFactory.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiThingHandlerFactory.java index 63bc707846521..808301c99325b 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiThingHandlerFactory.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/UniFiThingHandlerFactory.java @@ -72,5 +72,4 @@ public void setHttpClientFactory(HttpClientFactory httpClientFactory) { public void unsetHttpClientFactory(HttpClientFactory httpClientFactory) { // nop } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiCommunicationException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiCommunicationException.java index d50e68db6feba..cbadfcc35971f 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiCommunicationException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiCommunicationException.java @@ -24,5 +24,4 @@ public class UniFiCommunicationException extends UniFiException { public UniFiCommunicationException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiException.java index 7716b94573b13..ec71f10eb89d9 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiException.java @@ -32,5 +32,4 @@ public UniFiException(String message, Throwable cause) { public UniFiException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiExpiredSessionException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiExpiredSessionException.java index 8dded35fc3855..26c1e5ab1d7c4 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiExpiredSessionException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiExpiredSessionException.java @@ -24,5 +24,4 @@ public class UniFiExpiredSessionException extends UniFiException { public UniFiExpiredSessionException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidCredentialsException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidCredentialsException.java index 94896bd4a811f..4b7a00db08efc 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidCredentialsException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidCredentialsException.java @@ -25,5 +25,4 @@ public class UniFiInvalidCredentialsException extends UniFiException { public UniFiInvalidCredentialsException(String message) { super(message); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidHostException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidHostException.java index 7470eb0b4f5a7..5b334eb18aee1 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidHostException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiInvalidHostException.java @@ -32,5 +32,4 @@ public UniFiInvalidHostException(String message, Throwable cause) { public UniFiInvalidHostException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiNotAuthorizedException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiNotAuthorizedException.java index 7567fbdbec1cf..fc88d166c54b3 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiNotAuthorizedException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiNotAuthorizedException.java @@ -32,5 +32,4 @@ public UniFiNotAuthorizedException(String message, Throwable cause) { public UniFiNotAuthorizedException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiSSLException.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiSSLException.java index 9dc691a110446..21b0d1abf1b61 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiSSLException.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/UniFiSSLException.java @@ -32,5 +32,4 @@ public UniFiSSLException(String message, Throwable cause) { public UniFiSSLException(Throwable cause) { super(cause); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiCache.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiCache.java index d483956511d4e..665a5db1533ac 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiCache.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiCache.java @@ -93,5 +93,4 @@ public final Collection values() { } protected abstract String getSuffix(T value, String prefix); - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiClientCache.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiClientCache.java index 75485a10f6c22..c8ed856f35d8e 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiClientCache.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiClientCache.java @@ -43,5 +43,4 @@ protected String getSuffix(UniFiClient client, String prefix) { } return null; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiDeviceCache.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiDeviceCache.java index 0f993e434d220..72c64799c4747 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiDeviceCache.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiDeviceCache.java @@ -36,5 +36,4 @@ protected String getSuffix(UniFiDevice device, String prefix) { } return null; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiSiteCache.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiSiteCache.java index 9b8fb800bc2e9..f35a7c6fb6289 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiSiteCache.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/cache/UniFiSiteCache.java @@ -40,5 +40,4 @@ protected String getSuffix(UniFiSite site, String prefix) { } return null; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiClient.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiClient.java index 8616e5519f84c..e41ffb7e0450f 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiClient.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiClient.java @@ -124,5 +124,4 @@ public String toString() { "UniFiClient{mac: '%s', ip: '%s', hostname: '%s', alias: '%s', wired: %b, blocked: %b, device: %s}", mac, ip, hostname, alias, isWired(), blocked, getDevice()); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiController.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiController.java index b764ab8c5e8fc..fb2b334696588 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiController.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiController.java @@ -301,8 +301,6 @@ public String toString() { } return value; } - }; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiControllerRequest.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiControllerRequest.java index 94cbd99dadae1..29e6a85e7e8c5 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiControllerRequest.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiControllerRequest.java @@ -222,5 +222,4 @@ private static String prettyPrintJson(String content) { Gson prettyGson = new GsonBuilder().setPrettyPrinting().create(); return prettyGson.toJson(json); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiSite.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiSite.java index 054b444851a8b..aeb10bd07b819 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiSite.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiSite.java @@ -57,5 +57,4 @@ public boolean matchesName(String siteName) { public String toString() { return String.format("UniFiSite{name: '%s', desc: '%s'}", name, desc); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiUnknownClient.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiUnknownClient.java index 97946cd52bfad..a8d482f815421 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiUnknownClient.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiUnknownClient.java @@ -35,5 +35,4 @@ public Boolean isWired() { public String getDeviceMac() { return null; // mgb: no device mac in the json } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWiredClient.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWiredClient.java index edb2388d134fc..82e568fb2d199 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWiredClient.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWiredClient.java @@ -36,5 +36,4 @@ public Boolean isWired() { public String getDeviceMac() { return swMac; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWirelessClient.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWirelessClient.java index b6a105ea1ac8c..1a123f84e8547 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWirelessClient.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/model/UniFiWirelessClient.java @@ -53,5 +53,4 @@ public String getEssid() { public Integer getRssi() { return rssi; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientDeserializer.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientDeserializer.java index bf9c026903f76..4f1487a256138 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientDeserializer.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientDeserializer.java @@ -52,5 +52,4 @@ public UniFiClient deserialize(JsonElement json, Type type, JsonDeserializationC } return context.deserialize(json, UniFiWirelessClient.class); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientInstanceCreator.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientInstanceCreator.java index caab536eabb9a..1a4961f6e5ccd 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientInstanceCreator.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiClientInstanceCreator.java @@ -49,5 +49,4 @@ public UniFiClient createInstance(Type type) { } return null; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiDeviceInstanceCreator.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiDeviceInstanceCreator.java index f5aadd94a284e..ad0a74fb70819 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiDeviceInstanceCreator.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiDeviceInstanceCreator.java @@ -38,5 +38,4 @@ public UniFiDeviceInstanceCreator(UniFiController controller) { public UniFiDevice createInstance(Type type) { return new UniFiDevice(controller); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiSiteInstanceCreator.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiSiteInstanceCreator.java index f0a100e9cc4de..aac2ac866a47e 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiSiteInstanceCreator.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiSiteInstanceCreator.java @@ -38,5 +38,4 @@ public UniFiSiteInstanceCreator(UniFiController controller) { public UniFiSite createInstance(Type type) { return new UniFiSite(controller); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTidyLowerCaseStringDeserializer.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTidyLowerCaseStringDeserializer.java index 7a4d89c053dab..7a5a84b69de88 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTidyLowerCaseStringDeserializer.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTidyLowerCaseStringDeserializer.java @@ -36,5 +36,4 @@ public String deserialize(JsonElement json, Type type, JsonDeserializationContex String s = json.getAsJsonPrimitive().getAsString(); return StringUtils.lowerCase(StringUtils.strip(s)); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTimestampDeserializer.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTimestampDeserializer.java index 64b4a738dd6ab..69c1824b5164c 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTimestampDeserializer.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/api/util/UniFiTimestampDeserializer.java @@ -35,5 +35,4 @@ public Calendar deserialize(JsonElement json, Type type, JsonDeserializationCont cal.setTimeInMillis(millis); return cal; } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiBaseThingHandler.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiBaseThingHandler.java index 885d4642f73d5..da9e3e692daff 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiBaseThingHandler.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiBaseThingHandler.java @@ -129,5 +129,4 @@ protected final void refresh() { protected abstract void refreshChannel(E entity, ChannelUID channelUID); protected abstract void handleCommand(E entity, ChannelUID channelUID, Command command) throws UniFiException; - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java index 64c9517c9bfc6..f4e05c28ee562 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiClientThingHandler.java @@ -296,5 +296,4 @@ private void handleReconnectCommand(UniFiClient client, ChannelUID channelUID, C command, channelUID); } } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiControllerThingHandler.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiControllerThingHandler.java index a296b4fdc55d2..c01baa244b292 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiControllerThingHandler.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/handler/UniFiControllerThingHandler.java @@ -196,5 +196,4 @@ private void refresh() throws UniFiException { }); } } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManager.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManager.java index 6b99faee7ad21..e8154c268b2b9 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManager.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManager.java @@ -73,5 +73,4 @@ public void checkServerTrusted(X509Certificate[] chain, String authType, Socket public void checkServerTrusted(X509Certificate[] chain, String authType, SSLEngine engine) throws CertificateException { } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManagerProvider.java b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManagerProvider.java index 195ff33a76567..45df1eeb935c9 100644 --- a/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManagerProvider.java +++ b/bundles/org.openhab.binding.unifi/src/main/java/org/openhab/binding/unifi/internal/ssl/UniFiTrustManagerProvider.java @@ -36,5 +36,4 @@ public String getHostName() { public X509ExtendedTrustManager getTrustManager() { return UniFiTrustManager.getInstance(); } - } diff --git a/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/binding/binding.xml index cc2b3014041f2..74259a2f8cc88 100644 --- a/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,11 @@ - + UniFi Binding - The UniFi binding integrates the UniFi controller from Ubiquiti Networks to facilitate tracking of Wi-Fi clients. + The UniFi binding integrates the UniFi controller from Ubiquiti Networks to facilitate tracking of Wi-Fi + clients. Matthew Bowman diff --git a/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/thing/thing-types.xml index eab2c216b12d6..4ceb58792d606 100644 --- a/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.unifi/src/main/resources/ESH-INF/thing/thing-types.xml @@ -44,25 +44,25 @@ - + A wireless client connected to a UniFi wireless network - - - - - - - + + + + + + + - - - - + + + + cid diff --git a/bundles/org.openhab.binding.urtsi/pom.xml b/bundles/org.openhab.binding.urtsi/pom.xml index 105a8a0a287ea..fef64c0153387 100644 --- a/bundles/org.openhab.binding.urtsi/pom.xml +++ b/bundles/org.openhab.binding.urtsi/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.urtsi/src/main/feature/feature.xml b/bundles/org.openhab.binding.urtsi/src/main/feature/feature.xml index 359df10d4b70f..d48f9f8d0ff97 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.urtsi/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.urtsi/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.urtsi/${project.version} + diff --git a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/UrtsiBindingConstants.java b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/UrtsiBindingConstants.java index 8d27e7d70c4bb..f521432fdf3fd 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/UrtsiBindingConstants.java +++ b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/UrtsiBindingConstants.java @@ -41,5 +41,4 @@ public class UrtsiBindingConstants { * Rollershutter's position */ public static final String POSITION = "position"; - } diff --git a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsCommand.java b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsCommand.java index 3a31a3f1cd3b7..b6b22b7f1d538 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsCommand.java +++ b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsCommand.java @@ -37,5 +37,4 @@ private RtsCommand(String actionKey) { public String getActionKey() { return actionKey; } - } diff --git a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsDeviceHandler.java b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsDeviceHandler.java index 3363bbec7062f..8174d276db8d7 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsDeviceHandler.java +++ b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/handler/RtsDeviceHandler.java @@ -91,5 +91,4 @@ public void initialize() { } } - } diff --git a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/mapping/UrtsiChannelMapping.java b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/mapping/UrtsiChannelMapping.java index 613f1f4fcbf3e..d01e0a9d44d66 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/mapping/UrtsiChannelMapping.java +++ b/bundles/org.openhab.binding.urtsi/src/main/java/org/openhab/binding/urtsi/internal/mapping/UrtsiChannelMapping.java @@ -38,5 +38,4 @@ public static String getMappedChannel(String configuredChannel) { } return String.format("%02d", channel); } - } diff --git a/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/binding/binding.xml index def0a2330d5fd..d5955efc143f2 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Somfy URTSI II Binding @text/bindingDescription diff --git a/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/thing/thing-types.xml index 1a69feef58ac3..d85b3f663a2d6 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.urtsi/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,8 +1,8 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> @@ -24,9 +24,9 @@ - + - + @text/rtsDeviceDescription diff --git a/bundles/org.openhab.binding.valloxmv/pom.xml b/bundles/org.openhab.binding.valloxmv/pom.xml index 6c39322249e0c..31e8d0736dc7d 100644 --- a/bundles/org.openhab.binding.valloxmv/pom.xml +++ b/bundles/org.openhab.binding.valloxmv/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.valloxmv/src/main/feature/feature.xml b/bundles/org.openhab.binding.valloxmv/src/main/feature/feature.xml index 09cede85d31fc..d0cecf6a468cf 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.valloxmv/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.valloxmv/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.valloxmv/${project.version} + diff --git a/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVHandler.java b/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVHandler.java index 549e7e6a36f75..19f8745b8b147 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVHandler.java +++ b/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVHandler.java @@ -90,7 +90,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { || (cmd == ValloxMVBindingConstants.STATE_ATHOME) || (cmd == ValloxMVBindingConstants.STATE_AWAY) || (cmd == ValloxMVBindingConstants.STATE_BOOST)) { - //logger.debug("Changing state to: {}", command); + // logger.debug("Changing state to: {}", command); strUpdateValue = command.toString(); } } catch (NumberFormatException nfe) { @@ -146,7 +146,7 @@ public void handleCommand(ChannelUID channelUID, Command command) { @Override public void initialize() { logger.debug("Initializing thing {}", getThing().getUID()); - + updateStatus(ThingStatus.UNKNOWN); String ip = getConfigAs(ValloxMVConfig.class).getIp(); @@ -160,10 +160,12 @@ public void initialize() { } private void scheduleReadDataJob(int initialDelay) { - if (initialDelay < 0) initialDelay = 0; + if (initialDelay < 0) + initialDelay = 0; readDataInterval = getConfigAs(ValloxMVConfig.class).getUpdateinterval(); - if (readDataInterval < 15) readDataInterval = 60; + if (readDataInterval < 15) + readDataInterval = 60; logger.debug("Data table request interval {} seconds, Request in {} seconds", readDataInterval, initialDelay); @@ -178,7 +180,7 @@ private void cancelReadDataJob() { if (!readDataJob.isDone()) { readDataJob.cancel(true); logger.debug("Scheduled data table requests cancelled"); - } + } } } diff --git a/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/binding/binding.xml index cdd8c4cec3cbc..eda8bfbc1557c 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,5 @@ - diff --git a/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/thing/thing-types.xml index 18d9241e816cc..66fccd0d11da1 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.valloxmv/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,43 +7,43 @@ Interface to online interface of Vallox ventilation unit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -84,7 +84,7 @@ Number:Dimensionless Fan speed in % (0-100) - + @@ -106,7 +106,7 @@ Current temperature inside the building. Temperature - + @@ -114,7 +114,7 @@ Current temperature outside the building. Temperature - + @@ -122,7 +122,7 @@ Current temperature of the air flow exhausting the building. Temperature - + @@ -133,7 +133,7 @@ included in ventilation unit). Temperature - + @@ -141,14 +141,14 @@ Current temperature of the air flow incoming to the building. Temperature - + Number:Dimensionless Current humidity of the air flow exhausting the building. - + @@ -169,70 +169,70 @@ Number Total uptime in years (+ uptime in hours = total uptime) - + Number Total uptime in hours (+ uptime in years = total uptime) - + Number Current uptime in hours - + DateTime Date filter was changed last time - + Number:Time Days until filter has to be changed - + Number:Dimensionless Extract fan base speed in % (0-100) - + Number:Dimensionless Supply fan base speed in % (0-100) - + Number:Dimensionless Home fan speed in % (0-100) - + Number:Dimensionless Away fan speed in % (0-100) - + Number:Dimensionless Boost fan speed in % (0-100) - + @@ -240,7 +240,7 @@ Target temperature in home state Temperature - + @@ -248,7 +248,7 @@ Target temperature in away state Temperature - + @@ -256,14 +256,14 @@ Target temperature in boost state Temperature - + Number:Dimensionless Boost profile timer value in minutes - + @@ -276,21 +276,21 @@ Number:Dimensionless Fireplace profile extract fan speed in % (0-100) - + Number:Dimensionless Fireplace profile supply fan speed in % (0-100) - + Number:Dimensionless Fireplace profile timer value in minutes - + @@ -304,28 +304,28 @@ Target temperature in extra profile Temperature - + Number:Dimensionless Extra profile extract fan speed in % (0-100) - + Number:Dimensionless Extra profile supply fan speed in % (0-100) - + Number:Dimensionless Extra profile timer value in minutes - + diff --git a/bundles/org.openhab.binding.vektiva/pom.xml b/bundles/org.openhab.binding.vektiva/pom.xml index f9d4e7b8e953f..38f0521959637 100644 --- a/bundles/org.openhab.binding.vektiva/pom.xml +++ b/bundles/org.openhab.binding.vektiva/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.vektiva/src/main/feature/feature.xml b/bundles/org.openhab.binding.vektiva/src/main/feature/feature.xml index 62fdca5de94bd..2e50910e1885e 100644 --- a/bundles/org.openhab.binding.vektiva/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.vektiva/src/main/feature/feature.xml @@ -1,11 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-http - mvn:org.openhab.addons.bundles/org.openhab.binding.vektiva/${project.version} - + + openhab-runtime-base + openhab-transport-http + mvn:org.openhab.addons.bundles/org.openhab.binding.vektiva/${project.version} + - diff --git a/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/VektivaHandlerFactory.java b/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/VektivaHandlerFactory.java index 74b3700b12eb5..1e35fd59e1fb8 100644 --- a/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/VektivaHandlerFactory.java +++ b/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/VektivaHandlerFactory.java @@ -56,7 +56,8 @@ public class VektivaHandlerFactory extends BaseThingHandlerFactory { private @NonNullByDefault({}) WebSocketClient webSocketClient; @Activate - public VektivaHandlerFactory(@Reference HttpClientFactory httpClientFactory, @Reference WebSocketFactory webSocketFactory) { + public VektivaHandlerFactory(@Reference HttpClientFactory httpClientFactory, + @Reference WebSocketFactory webSocketFactory) { this.httpClient = httpClientFactory.getCommonHttpClient(); this.webSocketClient = webSocketFactory.getCommonWebSocketClient(); } diff --git a/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/handler/VektivaSmarwiHandler.java b/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/handler/VektivaSmarwiHandler.java index 51a82113cfc78..6757ade3ca7b3 100644 --- a/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/handler/VektivaSmarwiHandler.java +++ b/bundles/org.openhab.binding.vektiva/src/main/java/org/openhab/binding/vektiva/internal/handler/VektivaSmarwiHandler.java @@ -12,6 +12,15 @@ */ package org.openhab.binding.vektiva.internal.handler; +import static org.openhab.binding.vektiva.internal.VektivaBindingConstants.*; + +import java.io.IOException; +import java.net.URI; +import java.util.Map; +import java.util.concurrent.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; + import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jetty.client.HttpClient; @@ -35,15 +44,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.net.URI; -import java.util.Map; -import java.util.concurrent.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import static org.openhab.binding.vektiva.internal.VektivaBindingConstants.*; - /** * The {@link VektivaSmarwiHandler} is responsible for handling commands, which are * sent to one of the channels. @@ -143,14 +143,16 @@ private String getSmarwiCommand(Command command) { return response; } catch (InterruptedException e) { logger.debug("API execution has been interrupted", e); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "API execution has been interrupted"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "API execution has been interrupted"); Thread.currentThread().interrupt(); } catch (TimeoutException e) { logger.debug("Timeout during API execution", e); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Timeout during API execution"); } catch (ExecutionException e) { logger.debug("Exception during API execution", e); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Exception during API execution: " + e.getMessage()); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "Exception during API execution: " + e.getMessage()); } return null; } @@ -195,14 +197,16 @@ private void checkStatus() { } } catch (InterruptedException e) { logger.debug("API execution has been interrupted", e); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "API execution has been interrupted"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "API execution has been interrupted"); Thread.currentThread().interrupt(); } catch (TimeoutException e) { logger.debug("Timeout during status update", e); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Timeout during status update"); } catch (ExecutionException e) { logger.debug("Exception during status update", e); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Exception during status update: " + e.getMessage()); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, + "Exception during status update: " + e.getMessage()); } session = null; } @@ -212,8 +216,8 @@ public synchronized void processStatusResponse(String content) { updateStatus(ThingStatus.ONLINE); } - Map values = Stream.of(content.split("\n")).map(s -> s.split(":")) - .filter(s -> s.length == 2).collect(Collectors.toMap(s -> s[0], s -> s[1])); + Map values = Stream.of(content.split("\n")).map(s -> s.split(":")).filter(s -> s.length == 2) + .collect(Collectors.toMap(s -> s[0], s -> s[1])); updateProperty("Product type", values.getOrDefault("t", NA)); updateProperty(Thing.PROPERTY_FIRMWARE_VERSION, values.getOrDefault("fw", NA)); @@ -254,17 +258,14 @@ public synchronized void processStatusResponse(String content) { return fut.get(); } catch (IOException ex) { logger.debug("Cannot connect websocket client", ex); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - "Cannot connect websocket client"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Cannot connect websocket client"); } catch (InterruptedException ex) { logger.debug("Cannot create websocket session", ex); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - "Cannot create websocket session"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Cannot create websocket session"); Thread.currentThread().interrupt(); } catch (ExecutionException ex) { logger.debug("Cannot create websocket session", ex); - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, - "Cannot create websocket session"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, "Cannot create websocket session"); } return null; } diff --git a/bundles/org.openhab.binding.vektiva/src/main/resources/ESH-INF/thing/smarwi.xml b/bundles/org.openhab.binding.vektiva/src/main/resources/ESH-INF/thing/smarwi.xml index d000f479048f6..99bcf9352c674 100644 --- a/bundles/org.openhab.binding.vektiva/src/main/resources/ESH-INF/thing/smarwi.xml +++ b/bundles/org.openhab.binding.vektiva/src/main/resources/ESH-INF/thing/smarwi.xml @@ -10,8 +10,8 @@ Smarwi thing for Vektiva Binding - - + + diff --git a/bundles/org.openhab.binding.velbus/pom.xml b/bundles/org.openhab.binding.velbus/pom.xml index 9b01f6624929f..93b7a6e40fc3c 100644 --- a/bundles/org.openhab.binding.velbus/pom.xml +++ b/bundles/org.openhab.binding.velbus/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.velbus/src/main/feature/feature.xml b/bundles/org.openhab.binding.velbus/src/main/feature/feature.xml index fca4915fd350d..2690835d96e31 100644 --- a/bundles/org.openhab.binding.velbus/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.velbus/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.openhab.addons.bundles/org.openhab.binding.velbus/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.openhab.addons.bundles/org.openhab.binding.velbus/${project.version} + diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusTemperatureSensorHandler.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusTemperatureSensorHandler.java index 67d1d297f91ea..2f185ff9d11ee 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusTemperatureSensorHandler.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/handler/VelbusTemperatureSensorHandler.java @@ -93,9 +93,9 @@ public void handleCommand(ChannelUID channelUID, Command command) { if (command instanceof RefreshType) { if (channelUID.equals(temperatureChannel)) { sendSensorTemperatureRequest(velbusBridgeHandler); + } } } - } protected void sendSensorTemperatureRequest(VelbusBridgeHandler velbusBridgeHandler) { VelbusSensorTemperatureRequestPacket packet = new VelbusSensorTemperatureRequestPacket( diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindOffPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindOffPacket.java index ecdc4fffc398c..26821e9d25ddc 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindOffPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindOffPacket.java @@ -35,5 +35,4 @@ public VelbusBlindOffPacket(VelbusChannelIdentifier velbusChannelIdentifier) { protected byte[] getDataBytes() { return new byte[] { COMMAND_SWITCH_BLIND_OFF, channel }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindPositionPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindPositionPacket.java index f46d190f2fa3b..a111c6cbb7654 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindPositionPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindPositionPacket.java @@ -37,5 +37,4 @@ public VelbusBlindPositionPacket(VelbusChannelIdentifier velbusChannelIdentifier protected byte[] getDataBytes() { return new byte[] { COMMAND_BLIND_POS, channel, percentage }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindUpDownPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindUpDownPacket.java index b35637e6ec208..340c9f393c22b 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindUpDownPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusBlindUpDownPacket.java @@ -39,5 +39,4 @@ public VelbusBlindUpDownPacket(VelbusChannelIdentifier velbusChannelIdentifier, protected byte[] getDataBytes() { return new byte[] { command, channel, timeoutHighByte, timeoutMidByte, timeoutLowByte }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusChannelNameRequestPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusChannelNameRequestPacket.java index 8e9f61f91d3db..8df7cab1dacf8 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusChannelNameRequestPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusChannelNameRequestPacket.java @@ -31,5 +31,4 @@ public VelbusChannelNameRequestPacket(byte address) { protected byte[] getDataBytes() { return new byte[] { COMMAND_MODULE_NAME_REQUEST, ALL_CHANNELS }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDimmerPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDimmerPacket.java index fd5be5bb41296..6fb534078acd8 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDimmerPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusDimmerPacket.java @@ -40,5 +40,4 @@ public VelbusDimmerPacket(VelbusChannelIdentifier velbusChannelIdentifier, byte protected byte[] getDataBytes() { return new byte[] { command, channel, percentage, dimspeedHighByte, dimspeedLowByte }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusRelayPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusRelayPacket.java index 8aa299d2f2c3f..89cae62a7cd93 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusRelayPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusRelayPacket.java @@ -35,5 +35,4 @@ public VelbusRelayPacket(VelbusChannelIdentifier velbusChannelIdentifier, byte c protected byte[] getDataBytes() { return new byte[] { command, channel }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusScanPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusScanPacket.java index f0cb90b918154..7bf421dc5bd07 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusScanPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusScanPacket.java @@ -29,5 +29,4 @@ public VelbusScanPacket(byte address) { protected byte[] getDataBytes() { return new byte[0]; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusStatusRequestPacket.java b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusStatusRequestPacket.java index df8182bfdb488..1fcc54c51af65 100644 --- a/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusStatusRequestPacket.java +++ b/bundles/org.openhab.binding.velbus/src/main/java/org/openhab/binding/velbus/internal/packets/VelbusStatusRequestPacket.java @@ -41,5 +41,4 @@ public VelbusStatusRequestPacket(VelbusChannelIdentifier velbusChannelIdentifier protected byte[] getDataBytes() { return new byte[] { COMMAND_STATUS_REQUEST, channel }; } - } diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/binding/binding.xml index 0091815bc7e91..9e5afc0333bb4 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - Velbus Binding diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/config/config.xml index 9eac44d9345cf..02e1fefde6d69 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/config/config.xml @@ -267,7 +267,8 @@ - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. 300 true @@ -334,7 +335,8 @@ - Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. + Refresh interval for the temperature sensor (in seconds), default 300. If set to 0 or left empty, no + refresh will be scheduled. 300 true diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/thing/thing-types.xml index 7234660255c28..52942d194e21f 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.velbus/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,620 +7,613 @@ This bridge represents a Velbus Serial-interface - + - + 1-channel blind control module for universal mounting - + - + - + Dimmer module for inductive/resistive and capacitive load - + - + - + 1-channel 0-10V controlled PWM dimmer for led strips - + - + - + 1-channel relay module - + - + - + 1-channel relay module with potential-free changeover contact - - - - - + + + + + - + - + 1-channel relay module with potential-free changeover contact - - - - - + + + + + - + - + 2-channel blind control module with extended possibilities - - + + - + - + Push-button interface for Niko 1- or 2-fold push-buttons - - - - - - - - + + + + + + + + - + - + 4-channel 0/1-10V dimmer controller - - - - + + + + - + - + 4-channel relay module - - - - + + + + - + - + 4-channel relay module with voltage outputs - - - - - + + + + + - + - + 4-channel relay module with potential-free contacts - - - - - + + + + + - + - + 6-channel input module - - - - - - + + + + + + - + - + Push-button interface module for Niko 4- or 6-fold push-button - - - - - - - - + + + + + + + + - + - + 7-channel input module (potentialfree + pulse) - - - - - - - - + + + + + + + + - + - + Infrared remote control receiver module - - - - - - - - + + + + + + + + - + - + 8-Channel Push Button module - - - - - - - - + + + + + + + + - + - + Push-button interface with 8 channels for universal mounting - - - - - - - - + + + + + + + + - + - + Dimmer for electronic/resistive load - + - + - + Single channel triac dimmer for resistive and inductive loads - + - + - + Single channel triac dimmer for resistive and inductive loads - + - + - + Glass control module with 1 touch key - - - - - - - - - + + + + + + + + + - + - + Glass control module with 2 touch keys - - - - - - - - - + + + + + + + + + - + - + Glass control module with 4 touch keys - - - - - - - - - + + + + + + + + + - + - + Glass control module with 4 touch keys and built-in motion and twilight sensor - - - - - - - - - + + + + + + + + + - + - + Glass control module with oled display - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + Glass control module with oled display and temperature controller - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + Motion and twilight sensor for ceiling mounting - - - - - - - + + + + + + + - + - + Mini motion and twilight sensor for recessed or surface mounting - - - - - - - + + + + + + + - + - + Outdoor motion, twilight and temperature sensor, Theben - - - - - - - - - + + + + + + + + + - + diff --git a/bundles/org.openhab.binding.velux/pom.xml b/bundles/org.openhab.binding.velux/pom.xml index 6ab9eca28fe7e..2ab65e13f8d4d 100644 --- a/bundles/org.openhab.binding.velux/pom.xml +++ b/bundles/org.openhab.binding.velux/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.velux/src/main/feature/feature.xml b/bundles/org.openhab.binding.velux/src/main/feature/feature.xml index 75a556b51b850..a810424efdfad 100644 --- a/bundles/org.openhab.binding.velux/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.velux/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.velux/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.velux/${project.version} + 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 fbcdaa68abbc0..c213dffc2b6f0 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 @@ -120,5 +120,4 @@ public VeluxBridgeConfiguration checked() { logger.trace("checked() done."); return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConfig.java index f05d437a2df41..a8a21e9238fe9 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConfig.java @@ -86,5 +86,4 @@ public VeluxItemType getBindingItemType() { public String getBindingConfig() { return this.bindingConfig; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConstants.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConstants.java index 6992a5bd05577..349c0b67f8965 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConstants.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingConstants.java @@ -145,5 +145,4 @@ public class VeluxBindingConstants { // Critical issues to be reported will use the following message public static final String LOGGING_CONTACT = "Please report to maintainer: "; - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingProperties.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingProperties.java index 1e71a932214a6..5d1f041c5f3c2 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingProperties.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxBindingProperties.java @@ -57,5 +57,4 @@ public class VeluxBindingProperties { public static final String PROPERTY_VSHUTTER_SCENELEVELS = "sceneLevels"; public static final String PROPERTY_VSHUTTER_CURRENTLEVEL = "currentLevel"; - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxItemType.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxItemType.java index 25e83042a2d21..76266d5f4f569 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxItemType.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxItemType.java @@ -495,5 +495,4 @@ public static boolean isToBeRefreshedNow(int refreshCycleCounter, ThingTypeUID t } return false; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxRSBindingConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxRSBindingConfig.java index 1469dd1b38320..4932027213367 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxRSBindingConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/VeluxRSBindingConfig.java @@ -18,7 +18,6 @@ import java.util.TreeMap; import org.eclipse.jdt.annotation.NonNullByDefault; -//import org.openhab.model.item.binding.BindingConfigParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -153,7 +152,6 @@ public Integer getNextAscendingLevel() { } logger.trace("getNextAscendingLevel() returning {}.", this.rollershutterLevel); return this.rollershutterLevel; - } /** @@ -172,7 +170,6 @@ public Integer getNextDescendingLevel() { } logger.trace("getNextDescendingLevel() returning {}.", this.rollershutterLevel); return this.rollershutterLevel; - } /** diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridge.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridge.java index 6471e33f06f4a..4aef0887da169 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridge.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridge.java @@ -280,5 +280,4 @@ public long lastSuccessfulCommunication() { */ protected abstract boolean bridgeDirectCommunicate(BridgeCommunicationProtocol communication, boolean useAuthentication); - } 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 8193fd2af431f..b09ddbf56844e 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 @@ -164,5 +164,4 @@ public boolean autoRefresh(VeluxBridge bridge) { } return (numberOfActuators > 0); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeDeviceStatus.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeDeviceStatus.java index 303bd36b1e2ef..2fb4583711e44 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeDeviceStatus.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeDeviceStatus.java @@ -105,5 +105,4 @@ public Channel retrieve(VeluxBridge bridge) { } return channel; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetFirmware.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetFirmware.java index ae3d62f36d1b9..441c6206cf70e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetFirmware.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetFirmware.java @@ -101,5 +101,4 @@ public Channel retrieve(VeluxBridge bridge) { } return channel; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetHouseStatus.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetHouseStatus.java index 745ae6694b781..c7e8256e5ec30 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetHouseStatus.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetHouseStatus.java @@ -58,5 +58,4 @@ public boolean evaluateState(VeluxBridge bridge) { logger.debug("evaluateState() finished {}.", (success ? "successfully" : "with failure")); return success; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetLimitation.java index 2e7a05fbafac1..e4dc30913223b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeGetLimitation.java @@ -100,5 +100,4 @@ public boolean getMaximumLimitation(VeluxBridge bridge, int nodeId) { public VeluxProductPosition getLimitation() { return limitationResult; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeInstance.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeInstance.java index edac94e74c4ae..3ba678ba3bd35 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeInstance.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeInstance.java @@ -65,5 +65,4 @@ public interface VeluxBridgeInstance { * @return VeluxExistingScenes containing all registered scenes, or null in case of any error. */ public VeluxExistingScenes existingScenes(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeProvider.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeProvider.java index 5339554b6bfa3..f1cb151c98488 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeProvider.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeProvider.java @@ -55,5 +55,4 @@ public interface VeluxBridgeProvider { * containing all API methods. */ public @Nullable BridgeAPI bridgeAPI(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunProductCommand.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunProductCommand.java index 91c98bdc2c091..968af79899e4a 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunProductCommand.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunProductCommand.java @@ -60,5 +60,4 @@ public boolean sendCommand(VeluxBridge bridge, int nodeId, VeluxProductPosition logger.debug("sendCommand() finished {}.", (success ? "successfully" : "with failure")); return success; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunScene.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunScene.java index c4509699b3f8c..926caa0d17952 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunScene.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeRunScene.java @@ -74,5 +74,4 @@ public boolean execute(VeluxBridge bridge, int sceneNo, int velocity) { return false; } } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeScenes.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeScenes.java index 4cee44d2b7864..ae82277c19728 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeScenes.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeScenes.java @@ -126,5 +126,4 @@ public boolean autoRefresh(VeluxBridge bridge) { } return (channel.existingScenes.getNoMembers() > 0); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetHouseStatusMonitor.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetHouseStatusMonitor.java index 6e508b981e27f..f6e67bf671b2e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetHouseStatusMonitor.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetHouseStatusMonitor.java @@ -59,5 +59,4 @@ public boolean modifyHSM(VeluxBridge bridge, boolean enableService) { logger.debug("modifyHSM() finished {}.", (success ? "successfully" : "with failure")); return success; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetLimitation.java index ffae910c35f42..d6a1264bd1750 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeSetLimitation.java @@ -90,5 +90,4 @@ public boolean setMaximumLimitation(VeluxBridge bridge, int nodeId, VeluxProduct logger.trace("setMaximumLimitation() finished with failure."); return false; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeWLANConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeWLANConfig.java index 7949844d47b11..88703030a82de 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeWLANConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/VeluxBridgeWLANConfig.java @@ -105,5 +105,4 @@ public Channel retrieve(VeluxBridge bridge) { } return channel; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeAPI.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeAPI.java index fe89f92816c61..2807983fbac44 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeAPI.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeAPI.java @@ -104,5 +104,4 @@ public interface BridgeAPI { SetSceneVelocity setSceneVelocity(); RunScene runScene(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeCommunicationProtocol.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeCommunicationProtocol.java index c71e26b602379..3f458549b18ef 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeCommunicationProtocol.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/BridgeCommunicationProtocol.java @@ -48,5 +48,4 @@ public interface BridgeCommunicationProtocol { * @return true if the communication was successful, and false otherwise. */ public boolean isCommunicationSuccessful(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetFirmware.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetFirmware.java index b1e1fc6398b49..a04a226934a21 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetFirmware.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetFirmware.java @@ -39,5 +39,4 @@ public abstract class GetFirmware implements BridgeCommunicationProtocol { * @return firmware as VeluxGwFirmware describing the current software of the bridge. */ public abstract VeluxGwFirmware getFirmware(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetLANConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetLANConfig.java index f65d55d49822f..8ef2a64ca0795 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetLANConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetLANConfig.java @@ -39,5 +39,4 @@ public abstract class GetLANConfig implements BridgeCommunicationProtocol { * @return lanConfig as VeluxGwLAN describing the current status of the bridge. */ public abstract VeluxGwLAN getLANConfig(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProduct.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProduct.java index 43fc41f0bc208..b3a2baf7b185a 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProduct.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProduct.java @@ -47,5 +47,4 @@ public abstract class GetProduct implements BridgeCommunicationProtocol { * @return veluxProduct as VeluxProduct. */ public abstract VeluxProduct getProduct(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProductLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProductLimitation.java index 7c4d464633aa8..b8ad49a35bf9b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProductLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProductLimitation.java @@ -47,5 +47,4 @@ public abstract class GetProductLimitation implements BridgeCommunicationProtoco * @return limitation as int. */ public abstract int getLimitation(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProducts.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProducts.java index 73f5d31661f42..73612f45082d8 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProducts.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetProducts.java @@ -40,5 +40,4 @@ public abstract class GetProducts implements BridgeCommunicationProtocol { * @return arrayOfVeluxProducts as Array of VeluxProduct. */ public abstract VeluxProduct[] getProducts(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetScenes.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetScenes.java index eb94d8d0eec16..5d84410d9afad 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetScenes.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/GetScenes.java @@ -39,5 +39,4 @@ public abstract class GetScenes implements BridgeCommunicationProtocol { * @return arrayOfScenes as Array of VeluxScene describing the current scene configuration of the bridge. */ public abstract VeluxScene[] getScenes(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/Login.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/Login.java index d2eefeb074d0c..2e3c0f086a616 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/Login.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/Login.java @@ -49,5 +49,4 @@ public void setPassword(String thisPassword) { public String getAuthToken() { return ""; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductCommand.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductCommand.java index e70247b0a9913..990500c05486d 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductCommand.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductCommand.java @@ -40,5 +40,4 @@ public abstract class RunProductCommand implements BridgeCommunicationProtocol { * @return reference to the class instance. */ public abstract RunProductCommand setNodeAndMainParameter(int actuatorId, int parameterValue); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductIdentification.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductIdentification.java index 5b7c813c7791f..981fca20822e2 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductIdentification.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunProductIdentification.java @@ -41,5 +41,4 @@ public abstract class RunProductIdentification implements BridgeCommunicationPro public RunProductIdentification setProductId(int id) { return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunScene.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunScene.java index 4c31645a087b1..3cd2e1c4cc26e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunScene.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/RunScene.java @@ -51,5 +51,4 @@ public RunScene setSceneId(int id) { public RunScene setVelocity(int velocity) { return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetHouseStatusMonitor.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetHouseStatusMonitor.java index 26f7c6f8f64ad..ba18be576af94 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetHouseStatusMonitor.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetHouseStatusMonitor.java @@ -39,5 +39,4 @@ public abstract class SetHouseStatusMonitor implements BridgeCommunicationProtoc * @return reference to the class instance. */ public abstract SetHouseStatusMonitor serviceActivation(boolean enableService); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetProductLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetProductLimitation.java index ccf6c66a67d56..da0920b16112b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetProductLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetProductLimitation.java @@ -50,5 +50,4 @@ public abstract class SetProductLimitation implements BridgeCommunicationProtoco * @param limitationMaximum Maximum Restriction value. */ public abstract void setActuatorIdAndMaximumLimitation(int nodeId, int limitationMaximum); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetSceneVelocity.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetSceneVelocity.java index df54d191c1d82..40da6cec51f4e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetSceneVelocity.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/common/SetSceneVelocity.java @@ -33,5 +33,4 @@ public abstract class SetSceneVelocity implements BridgeCommunicationProtocol { public abstract SetSceneVelocity setMode(int id, boolean silent); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetDeviceStatus.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetDeviceStatus.java index a6a6d32368d1f..77e3d668c405d 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetDeviceStatus.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetDeviceStatus.java @@ -166,5 +166,4 @@ public VeluxGwState getState() { } return new VeluxGwState(stateValue, subStateValue); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetFirmware.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetFirmware.java index 5cfd49e1560ac..76b52c0026962 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetFirmware.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JCgetFirmware.java @@ -162,5 +162,4 @@ public VeluxGwFirmware getFirmware() { VeluxGwFirmware gwFirmware = new VeluxGwFirmware(response.data.version); return gwFirmware; } - } 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 267c6b8345274..14165afb473ed 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 @@ -186,5 +186,4 @@ public VeluxGwLAN getLANConfig() { response.data.defaultGateway, response.data.dhcp); return gwLAN; } - } 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 e30b67d30f90f..b70c6566f608f 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 @@ -193,5 +193,4 @@ public VeluxProduct[] getProducts() { } return products; } - } 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 45e8b5e0bb272..284a28579d4ad 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 @@ -226,5 +226,4 @@ public VeluxScene[] getScenes() { } return scenes; } - } 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 694a7e1ba7a5f..0831033dbf646 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 @@ -181,5 +181,4 @@ public VeluxGwWLAN getWLANConfig() { VeluxGwWLAN gwWLAN = new VeluxGwWLAN(response.data.name, response.data.password); return gwWLAN; } - } 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 535b28db70b8b..862f321889c3d 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 @@ -167,5 +167,4 @@ public void setPassword(String thisPassword) { public String getAuthToken() { return response.getToken(); } - } 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 e080cba4a4128..62f788d2108d4 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 @@ -133,5 +133,4 @@ public String getDeviceStatus() { public String[] getErrors() { return response.errors; } - } 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 1957cfb2d4da9..4f01d18c63178 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 @@ -155,5 +155,4 @@ public String getDeviceStatus() { public String[] getErrors() { return response.getErrors(); } - } 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 c0f09b2455ffa..df42711c8aa71 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 @@ -100,7 +100,6 @@ private static class Response { @SuppressWarnings("unused") private String[] data = {}; private String[] errors = {}; - } /* @@ -146,5 +145,4 @@ public String getDeviceStatus() { public String[] getErrors() { return response.errors; } - } 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 a7cab20b2547b..bc44755990226 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 @@ -153,5 +153,4 @@ public JCrunScene setSceneId(int id) { request.params.id = id; return this; } - } 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 e463aca5894ee..6b5073b11bfce 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 @@ -165,5 +165,4 @@ public JCsetSceneVelocity setMode(int id, boolean silent) { JCsetSceneVelocity.silentMode = silent; return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeAPI.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeAPI.java index fdf452c511566..f8e37775978f0 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeAPI.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeAPI.java @@ -205,5 +205,4 @@ public RunScene runScene() { public SetSceneVelocity setSceneVelocity() { return SETSCENEVELOCITY; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeCommunicationProtocol.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeCommunicationProtocol.java index 59f77ab20202b..da66ac0eba6fb 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeCommunicationProtocol.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/json/JsonBridgeCommunicationProtocol.java @@ -89,5 +89,4 @@ interface JsonBridgeCommunicationProtocol extends BridgeCommunicationProtocol { * @return errors as String[] describing the status of the operation according to the request in depth. */ String[] getErrors(); - } 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 8090f1e311f45..e691f0a4aaee7 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 @@ -318,5 +318,4 @@ private T ioUnauthenticated(String url, U request, Class classOfRespon throws JsonSyntaxException, IOException { return io(url, "", request, classOfResponse); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetDeviceStatus.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetDeviceStatus.java index 7ced9a1202c8c..a8033c3127dc6 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetDeviceStatus.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetDeviceStatus.java @@ -148,5 +148,4 @@ public VeluxGwState getState() { logger.trace("getState() returns {} ({}).", thisGwState, thisGwState.toDescription()); return thisGwState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetFirmware.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetFirmware.java index 83ae94889c091..73a83177fb87e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetFirmware.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetFirmware.java @@ -161,5 +161,4 @@ public VeluxGwFirmware getFirmware() { logger.trace("getFirmware() returns {}.", result); return new VeluxGwFirmware(result); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetHouseStatus.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetHouseStatus.java index e67458b1438b7..0500fd2e02103 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetHouseStatus.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetHouseStatus.java @@ -180,5 +180,4 @@ public int getNtfCurrentPosition() { public int getNtfTarget() { return ntfTarget; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLANConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLANConfig.java index 38099fae545ea..719e88bde7caf 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLANConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLANConfig.java @@ -149,5 +149,4 @@ public VeluxGwLAN getLANConfig() { logger.debug("getLANConfig() returns {}.", result); return result; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLimitation.java index 84b7966d9bbaf..22f00493625a2 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetLimitation.java @@ -296,5 +296,4 @@ public void setActuatorIdAndLimitationType(int nodeId, boolean limitationMinimum public int getLimitation() { return limitationValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProduct.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProduct.java index b810f96346ece..03b54d81e8253 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProduct.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProduct.java @@ -264,5 +264,4 @@ public VeluxProduct getProduct() { logger.trace("getProduct(): returning product {}.", product); return product; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProducts.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProducts.java index 31cc6862c4101..af9e19557bfaf 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProducts.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetProducts.java @@ -272,5 +272,4 @@ public VeluxProduct[] getProducts() { return new VeluxProduct[0]; } } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetScenes.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetScenes.java index 6499c5f4c50e7..1169189fe3d67 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetScenes.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetScenes.java @@ -16,10 +16,10 @@ import org.openhab.binding.velux.internal.bridge.common.GetScenes; import org.openhab.binding.velux.internal.bridge.slip.utils.KLF200Response; import org.openhab.binding.velux.internal.bridge.slip.utils.Packet; -import org.openhab.binding.velux.internal.things.VeluxProductState; -import org.openhab.binding.velux.internal.things.VeluxScene; import org.openhab.binding.velux.internal.things.VeluxKLFAPI.Command; import org.openhab.binding.velux.internal.things.VeluxKLFAPI.CommandNumber; +import org.openhab.binding.velux.internal.things.VeluxProductState; +import org.openhab.binding.velux.internal.things.VeluxScene; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -171,5 +171,4 @@ public VeluxScene[] getScenes() { logger.trace("getScenes(): returning {} scenes.", scenes.length); return scenes; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetWLANConfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetWLANConfig.java index 532544e8dae85..d496cc12f9023 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetWLANConfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCgetWLANConfig.java @@ -120,5 +120,4 @@ public VeluxGwWLAN getWLANConfig() { // Enhancement idea: Velux should provide an enhanced API. return new VeluxGwWLAN(UNSUPPORTED, UNSUPPORTED); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogin.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogin.java index f0c87007bcb31..951dcc39a6ac6 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogin.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogin.java @@ -162,5 +162,4 @@ public String getAuthToken() { logger.trace("getAuthToken() called, returning {}.", reqPassword.replaceAll(".", "*")); return reqPassword; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogout.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogout.java index 2090ddcad7693..e573ac4764056 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogout.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SClogout.java @@ -98,5 +98,4 @@ public boolean isCommunicationFinished() { public boolean isCommunicationSuccessful() { return success; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductCommand.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductCommand.java index da54c23d71bcf..95b66a2481d2c 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductCommand.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductCommand.java @@ -309,5 +309,4 @@ public SCrunProductCommand setNodeAndMainParameter(int nodeId, int value) { this.reqMainParameter = value; return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductDiscovery.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductDiscovery.java index dbbb97d1bbae7..9b89ed4422ea9 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductDiscovery.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductDiscovery.java @@ -150,5 +150,4 @@ public boolean isCommunicationFinished() { public boolean isCommunicationSuccessful() { return success; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductIdentification.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductIdentification.java index 1b62afa82ed25..069cbfb63a69b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductIdentification.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductIdentification.java @@ -200,5 +200,4 @@ public SCrunProductIdentification setProductId(int actuatorId) { this.reqIndexValue0 = actuatorId; return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductSearch.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductSearch.java index ee10d5e57d7bf..bc4843d903f82 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductSearch.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunProductSearch.java @@ -109,5 +109,4 @@ public VeluxGwState getState() { logger.trace("getState() returns {} ({}).", thisGwState, thisGwState.toDescription()); return thisGwState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunScene.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunScene.java index 8a221aee1960e..6d43d872a2d6c 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunScene.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCrunScene.java @@ -287,5 +287,4 @@ public SCrunScene setVelocity(int velocity) { this.reqVelocity = velocity; return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetHouseStatusMonitor.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetHouseStatusMonitor.java index a7d4ec71e3186..b7d2f4840bad8 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetHouseStatusMonitor.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetHouseStatusMonitor.java @@ -141,5 +141,4 @@ public SetHouseStatusMonitor serviceActivation(boolean enableService) { this.activateService = enableService; return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetLimitation.java index 6f6626be6498f..e904d7792ab02 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetLimitation.java @@ -316,5 +316,4 @@ public void setActuatorIdAndResetLimitation(int nodeId) { reqLimitationValueMax = VeluxProductPosition.VPP_VELUX_IGNORE; return; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetSceneVelocity.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetSceneVelocity.java index 9c0964f9c722e..da21d829e9f8a 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetSceneVelocity.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SCsetSceneVelocity.java @@ -16,9 +16,9 @@ import org.openhab.binding.velux.internal.bridge.common.SetSceneVelocity; import org.openhab.binding.velux.internal.bridge.slip.utils.KLF200Response; import org.openhab.binding.velux.internal.bridge.slip.utils.Packet; -import org.openhab.binding.velux.internal.things.VeluxProductVelocity; import org.openhab.binding.velux.internal.things.VeluxKLFAPI.Command; import org.openhab.binding.velux.internal.things.VeluxKLFAPI.CommandNumber; +import org.openhab.binding.velux.internal.things.VeluxProductVelocity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -171,5 +171,4 @@ public SCsetSceneVelocity setMode(int actuatorId, boolean silent) { : VeluxProductVelocity.FAST.getVelocity(); return this; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeAPI.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeAPI.java index c2e6d652bd1fc..5d9084d398316 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeAPI.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeAPI.java @@ -210,5 +210,4 @@ public RunScene runScene() { public SetSceneVelocity setSceneVelocity() { return SETSCENEVELOCITY; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeCommunicationProtocol.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeCommunicationProtocol.java index 265cc719eb223..f3164174e2550 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeCommunicationProtocol.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipBridgeCommunicationProtocol.java @@ -81,5 +81,4 @@ interface SlipBridgeCommunicationProtocol extends BridgeCommunicationProtocol { * is a boolean signaling the end of this transaction. */ public boolean isCommunicationFinished(); - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipVeluxBridge.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipVeluxBridge.java index 37aebce1e5d9f..d7f7372485202 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipVeluxBridge.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/SlipVeluxBridge.java @@ -381,5 +381,4 @@ private synchronized boolean bridgeDirectCommunicate(SlipBridgeCommunicationProt logger.debug("bridgeDirectCommunicate({}) returns {}.", commandString, success ? "success" : "failure"); return success; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/Connection.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/Connection.java index 634c5cafb67c4..a42d7a12c3c9e 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/Connection.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/Connection.java @@ -237,5 +237,4 @@ public synchronized void resetConnection() { } logger.trace("resetConnection() done."); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/DataInputStreamWithTimeout.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/DataInputStreamWithTimeout.java index 1a2db47e5c31e..967277e0f21fd 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/DataInputStreamWithTimeout.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/DataInputStreamWithTimeout.java @@ -131,7 +131,5 @@ public Integer call() throws IOException { } catch (TimeoutException e) { throw new IOException("read timeout", e); } - } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/SSLconnection.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/SSLconnection.java index b1c177b1ac3c0..d53ea05943af0 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/SSLconnection.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/io/SSLconnection.java @@ -254,5 +254,4 @@ void setTimeout(int timeoutMSecs) { logger.debug("setTimeout() set timeout to {} milliseconds.", timeoutMSecs); ioTimeoutMSecs = timeoutMSecs; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/Packet.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/Packet.java index b351d0e05ee16..01e556245d48b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/Packet.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/Packet.java @@ -276,5 +276,4 @@ public static String intToIPAddressString(int ipAddress) { return String.format("%d.%d.%d.%d", ((ipAddress >>> 24) & 0xFF), ((ipAddress >>> 16) & 0xFF), ((ipAddress >>> 8) & 0xFF), (ipAddress & 0xFF)); } - } 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 afe9b6564518c..7047780229646 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 @@ -166,5 +166,4 @@ public byte[] toMessage() { public String toString() { return new Packet(message).toString(); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipRFC1055.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipRFC1055.java index accc7eccad750..04150f0f50db6 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipRFC1055.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/bridge/slip/utils/SlipRFC1055.java @@ -122,5 +122,4 @@ public byte[] decode(byte[] packet) throws ParseException { logger.trace("decode() provides payload: {}.", new Packet(payload)); return payload; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/discovery/VeluxDiscoveryService.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/discovery/VeluxDiscoveryService.java index 081ebd25ee378..67db07c6bc120 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/discovery/VeluxDiscoveryService.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/discovery/VeluxDiscoveryService.java @@ -269,5 +269,4 @@ private void discoverProducts() { } logger.trace("discoverProducts() finished."); } - } 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 d0c14e0f4943f..01c4acc71aceb 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 @@ -73,7 +73,6 @@ private void registerDeviceDiscoveryService(VeluxBridgeHandler bridgeHandler) { ServiceRegistration discoveryServiceReg = bundleContext.registerService(DiscoveryService.class.getName(), discoveryService, new Hashtable<>()); discoveryServiceRegistrations.put(bridgeHandler.getThing().getUID(), discoveryServiceReg); - } // Even if the compiler tells, that the value of cannot be null, it is possible! @@ -131,7 +130,6 @@ public VeluxHandlerFactory(final @Reference LocaleProvider givenLocaleProvider, logger.trace("VeluxHandlerFactory(locale={},translation={}) called.", givenLocaleProvider, givenI18nProvider); localeProvider = givenLocaleProvider; i18nProvider = givenI18nProvider; - } @Reference @@ -203,5 +201,4 @@ protected void removeHandler(ThingHandler thingHandler) { updateBindingState(); super.removeHandler(thingHandler); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/BridgeChannels.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/BridgeChannels.java index 41d09acda4059..86f0e888de12b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/BridgeChannels.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/BridgeChannels.java @@ -98,5 +98,4 @@ static Set getAllLinkedChannelUIDs(ExtendedBaseBridgeHandler bridge) LOGGER.trace("getAllLinkedChannelUIDs() returns {}.", channelUIDs); return channelUIDs; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorLimitation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorLimitation.java index 27a9e5d39b637..58730a1671234 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorLimitation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorLimitation.java @@ -206,5 +206,4 @@ private ChannelActuatorLimitation() { return newValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorPosition.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorPosition.java index 6b3134ca16dc6..8e07626445ee6 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorPosition.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelActuatorPosition.java @@ -175,5 +175,4 @@ private ChannelActuatorPosition() { } while (false); // common exit return newValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeCheck.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeCheck.java index 0e391ba8b22dc..365cbc057cb42 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeCheck.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeCheck.java @@ -112,5 +112,4 @@ private ChannelBridgeCheck() { } while (false); // common exit return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeDoDetection.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeDoDetection.java index 1617df3c13086..6842005fd9c76 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeDoDetection.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeDoDetection.java @@ -74,5 +74,4 @@ private ChannelBridgeDoDetection() { } return null; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeFirmware.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeFirmware.java index 40a89c8460003..8eb20413b0875 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeFirmware.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeFirmware.java @@ -68,5 +68,4 @@ private ChannelBridgeFirmware() { LOGGER.trace("handleRefresh() returns {}.", newState); return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeLANconfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeLANconfig.java index b50fdeede3b5f..546e9035a5b59 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeLANconfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeLANconfig.java @@ -96,5 +96,4 @@ private ChannelBridgeLANconfig() { LOGGER.trace("handleRefresh() returns {}.", newState); return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeProducts.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeProducts.java index 4abe789afa620..6f6635731a270 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeProducts.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeProducts.java @@ -70,5 +70,4 @@ private ChannelBridgeProducts() { LOGGER.trace("handleRefresh() returns {}.", newState); return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeScenes.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeScenes.java index 126306b891aff..69f4bb1525eae 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeScenes.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeScenes.java @@ -70,5 +70,4 @@ private ChannelBridgeScenes() { LOGGER.trace("handleRefresh() returns {}.", newState); return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeStatus.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeStatus.java index 22f59948e5f53..c4935855f8f5b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeStatus.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeStatus.java @@ -68,5 +68,4 @@ private ChannelBridgeStatus() { LOGGER.trace("handleRefresh() returns {}.", newState); return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeWLANconfig.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeWLANconfig.java index 5d542e00c9b3f..19abcce77a60c 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeWLANconfig.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelBridgeWLANconfig.java @@ -86,5 +86,4 @@ private ChannelBridgeWLANconfig() { LOGGER.trace("handleRefresh() returns {}.", newState); return newState; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelHandlerTemplate.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelHandlerTemplate.java index 6f23e63462f58..5a464136e2cbb 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelHandlerTemplate.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelHandlerTemplate.java @@ -68,5 +68,4 @@ abstract class ChannelHandlerTemplate { VeluxBridgeHandler thisBridgeHandler) { throw new IllegalStateException("handleRefresh hasn't been set up in the subclass"); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneAction.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneAction.java index 07bc016d3dafd..21a75ecab937b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneAction.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneAction.java @@ -118,5 +118,4 @@ private ChannelSceneAction() { } while (false); // common exit return newValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneSilentmode.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneSilentmode.java index 89f3d204ba91a..da19e4c0e0c71 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneSilentmode.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelSceneSilentmode.java @@ -98,5 +98,4 @@ private ChannelSceneSilentmode() { } while (false); // common exit return newValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelVShutterPosition.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelVShutterPosition.java index 35cdfddad01da..50ce83cf0c3a5 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelVShutterPosition.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/ChannelVShutterPosition.java @@ -164,5 +164,4 @@ private ChannelVShutterPosition() { LOGGER.trace("handleCommand() returns {}.", newValue); return newValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/PropertyHandlerTemplate.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/PropertyHandlerTemplate.java index c9ff9047a0857..c3763f8b91ce1 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/PropertyHandlerTemplate.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/PropertyHandlerTemplate.java @@ -46,5 +46,4 @@ abstract class PropertyHandlerTemplate { VeluxBridgeHandler thisBridgeHandler) { throw new IllegalStateException("handleRefresh hasn't been set up in the subclass"); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBindingHandler.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBindingHandler.java index fae5a31ea9c36..d1be2ffb5ef48 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBindingHandler.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxBindingHandler.java @@ -237,5 +237,4 @@ public void updateBindingState(Integer veluxBridgeCount, Integer veluxThingCount currentNumberOfThings = veluxThingCount; updateVisibleInformation(); } - } 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 1fa1d148712f0..06cc345197d92 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 @@ -475,7 +475,6 @@ private void syncChannelsWithProducts() { logger.trace("syncChannelsWithProducts(): resetting dirty flag."); bridgeParameters.actuators.getChannel().existingProducts.resetDirtyFlag(); logger.trace("syncChannelsWithProducts() done."); - } // Processing of openHAB events @@ -703,5 +702,4 @@ private synchronized void handleCommandScheduled(ChannelUID channelUID, Command new java.util.Date(thisBridge.lastSuccessfulCommunication()).toString()); logger.trace("handleCommandScheduled({}) done.", Thread.currentThread()); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxHandler.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxHandler.java index bc0b780b36a26..0465257f96833 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxHandler.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/VeluxHandler.java @@ -124,5 +124,4 @@ public void handleConfigurationUpdate(Map configurationParameter super.handleConfigurationUpdate(configurationParameters); } } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ExtendedBaseThingHandler.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ExtendedBaseThingHandler.java index db0d248b8ff55..7ca598b1fd062 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ExtendedBaseThingHandler.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ExtendedBaseThingHandler.java @@ -64,5 +64,4 @@ public Map editProperties() { public void updateProperties(Map properties) { super.updateProperties(properties); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/StateUtils.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/StateUtils.java index cbc0d1176c4cb..fac351e946331 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/StateUtils.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/StateUtils.java @@ -83,5 +83,4 @@ public static State createState(@Nullable Object propertyValue) { return new StringType(propertyValue.toString()); } } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/Thing2VeluxActuator.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/Thing2VeluxActuator.java index d722957f72af9..3e06b6aa4535d 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/Thing2VeluxActuator.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/Thing2VeluxActuator.java @@ -140,5 +140,4 @@ public boolean isInverted() { } return isInverted; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingConfiguration.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingConfiguration.java index e24e9b8520961..27f9a72c03f94 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingConfiguration.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingConfiguration.java @@ -101,5 +101,4 @@ public static Object getValue(BaseBridgeHandler bridge, ChannelUID channelUID, S LOGGER.trace("getValue({},{}) returns {}.", channelUID, configName, configurationValue); return configurationValue; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingProperty.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingProperty.java index 0b27857d2e1af..ff26bc6e4b7a0 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingProperty.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/handler/utils/ThingProperty.java @@ -100,5 +100,4 @@ public static void setValue(ExtendedBaseBridgeHandler bridgeHandler, ChannelUID } setValue(thingOfChannel, propertyName, propertyValue); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxExistingProducts.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxExistingProducts.java index 73a8179c01430..bfcd098368cc3 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxExistingProducts.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxExistingProducts.java @@ -202,5 +202,4 @@ public String toString(boolean showSummary, String delimiter) { public String toString() { return toString(true, VeluxBindingConstants.OUTPUT_VALUE_SEPARATOR); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwFirmware.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwFirmware.java index 9b1ffe07f5641..3b88a39240f09 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwFirmware.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwFirmware.java @@ -49,5 +49,4 @@ public VeluxGwFirmware() { public String getfirmwareVersion() { return this.firmwareVersion; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwLAN.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwLAN.java index 1a34111901067..ccc2cafdd64fd 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwLAN.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwLAN.java @@ -73,5 +73,4 @@ public String toString() { return String.format("ip %s, nm %s, gw %s, DHCP %s", this.ipAddress, this.subnetMask, this.defaultGW, this.enabledDHCP ? "enabled" : "disabled"); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwState.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwState.java index fc7a7455dc887..8936beebb4f66 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwState.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwState.java @@ -171,5 +171,4 @@ public String toDescription() { public byte getSubState() { return (byte) this.gwSubState.getStateValue(); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwWLAN.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwWLAN.java index 3effaa76bf8ca..384a9f2cbfb7b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwWLAN.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxGwWLAN.java @@ -55,5 +55,4 @@ public String getSSID() { public String getPassword() { return this.password; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxKLFAPI.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxKLFAPI.java index 7662a4e783320..255beae727eb5 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxKLFAPI.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxKLFAPI.java @@ -78,7 +78,6 @@ public static class CommandName { public String toString() { return name; } - } /** @@ -352,7 +351,5 @@ public static Command get(short thisTypeId) { return Command.UNDEFTYPE; } } - } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProduct.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProduct.java index 41943610441a5..383a15ad21309 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProduct.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProduct.java @@ -334,5 +334,4 @@ public int getRemainingTime() { public int getTimeStamp() { return timeStamp; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductName.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductName.java index 9f0cbfd64389c..100ab4a4f39b9 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductName.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductName.java @@ -45,5 +45,4 @@ public VeluxProductName(String name) { public String toString() { return name; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductPosition.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductPosition.java index 8b0fda88963c4..9bff63b854f44 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductPosition.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductPosition.java @@ -170,5 +170,4 @@ public static int getRelativePositionAsVeluxType(boolean upwards, PercentType po } return (int) result; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductReference.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductReference.java index ea30b7774261b..75070bc5b9728 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductReference.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductReference.java @@ -74,5 +74,4 @@ public VeluxProductType getProductType() { public String toString() { return String.format("Prod.ref. \"%s\"/%s", this.name, this.typeId); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductSerialNo.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductSerialNo.java index 4bf12768b5b0e..6c2b6e41c2a6b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductSerialNo.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductSerialNo.java @@ -134,5 +134,4 @@ public static String cleaned(String serialNumberString) { ? serialNumberString.substring(0, serialNumberString.length() - 1) : serialNumberString; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductState.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductState.java index 9c42ab8da774e..9c09412ffc8a8 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductState.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductState.java @@ -87,5 +87,4 @@ public int getStateAsInt() { public String toString() { return String.format("State (%s, actuator %d, value %d)", this.productReference, this.actuator, this.state); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductType.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductType.java index de056660b6370..b692c3077b3e5 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductType.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductType.java @@ -123,5 +123,4 @@ public static VeluxProductType get(int nodeType) { public static String toString(int nodeType) { return ActuatorType.get(nodeType).getDescription(); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductVelocity.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductVelocity.java index 343aecb458529..50f14479b3be2 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductVelocity.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxProductVelocity.java @@ -92,5 +92,4 @@ public static String dump() { } return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxScene.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxScene.java index 58731801002b8..96aa559bcea3b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxScene.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/things/VeluxScene.java @@ -137,5 +137,4 @@ public String toString() { return String.format("Scene \"%s\" (index %d) with %ssilent mode and %d actions", this.name, this.bridgeSceneIndex.toInt(), this.silent ? "" : "non-", this.productStates.length); } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/Localization.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/Localization.java index 76cc54d637850..2bea2abe0959b 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/Localization.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/Localization.java @@ -113,5 +113,4 @@ public String getText(String key, Object... arguments) { logger.trace("getText() returns {}.", text); return text; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/ManifestInformation.java b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/ManifestInformation.java index 627aba075890a..58e8554d473ea 100644 --- a/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/ManifestInformation.java +++ b/bundles/org.openhab.binding.velux/src/main/java/org/openhab/binding/velux/internal/utils/ManifestInformation.java @@ -53,5 +53,4 @@ public static String getBundleVersion() { .toString(); return osgiBundleVersion; } - } diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/config/config.xml index c30311f034f39..4f6b264151eb7 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/config/config.xml @@ -194,4 +194,3 @@ - diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/actuator.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/actuator.xml index 129311b2616b3..53884c28c3514 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/actuator.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/actuator.xml @@ -9,18 +9,18 @@ - + @text/thing-type.velux.actuator.description Blinds - - - - + + + + serialNumber - + diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/binding.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/binding.xml index 6089360d02210..51e6720b39eaf 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/binding.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/binding.xml @@ -12,7 +12,7 @@ @text/thing-type.velux.binding.description NetworkAppliance - + N/A diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/bridge.xml index 66bb7587275d7..3eb97427d962e 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/bridge.xml @@ -11,29 +11,29 @@ @text/bridge-type.velux.klf200.description - - - - + + + + Velux - + diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/channels.xml index 8eb7d33c6d8f7..ed7c0519d5f2c 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/channels.xml @@ -38,7 +38,7 @@ @text/channel-type.velux.downtime.description NetworkAppliance - + @@ -49,85 +49,85 @@ diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/rollershutter.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/rollershutter.xml index c4d59c0aeb348..c8b8f8910395a 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/rollershutter.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/rollershutter.xml @@ -10,17 +10,17 @@ - + @text/thing-type.velux.rollershutter.description Blinds - - - + + + unique - + diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/scene.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/scene.xml index 1bce1894caadc..7abd5365b2117 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/scene.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/scene.xml @@ -10,16 +10,16 @@ - + @text/thing-type.velux.scene.description Blinds - - + + unique - + diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/vshutter.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/vshutter.xml index 7e77495b67fd3..8545eab3ee0f2 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/vshutter.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/vshutter.xml @@ -10,14 +10,14 @@ - + @text/thing-type.velux.vshutter.description Blinds - + - + diff --git a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/window.xml b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/window.xml index 7a04b12aa877b..f6f7ecec71125 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/window.xml +++ b/bundles/org.openhab.binding.velux/src/main/resources/ESH-INF/thing/window.xml @@ -10,17 +10,17 @@ - + @text/thing-type.velux.window.description Window - - + + serialNumber - + diff --git a/bundles/org.openhab.binding.vitotronic/pom.xml b/bundles/org.openhab.binding.vitotronic/pom.xml index 47b259bbd5e28..1a4b58603edf4 100644 --- a/bundles/org.openhab.binding.vitotronic/pom.xml +++ b/bundles/org.openhab.binding.vitotronic/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.vitotronic/src/main/feature/feature.xml b/bundles/org.openhab.binding.vitotronic/src/main/feature/feature.xml index 33b874d7da03d..a3efb7f6f2fa6 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.vitotronic/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.vitotronic/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.vitotronic/${project.version} + diff --git a/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/VitotronicBindingConfiguration.java b/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/VitotronicBindingConfiguration.java index 6b3c101364112..c9845b344206b 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/VitotronicBindingConfiguration.java +++ b/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/VitotronicBindingConfiguration.java @@ -25,5 +25,4 @@ public class VitotronicBindingConfiguration { public Integer port; public String adapterId; public Integer refreshInterval; - } diff --git a/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/discovery/VitotronicBridgeDiscovery.java b/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/discovery/VitotronicBridgeDiscovery.java index 0ac58a7e4acae..2448904d37611 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/discovery/VitotronicBridgeDiscovery.java +++ b/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/discovery/VitotronicBridgeDiscovery.java @@ -104,5 +104,4 @@ private void addAdapter(String remoteIP, int remotePort, String adapterID) { ThingUID uid = new ThingUID(VitotronicBindingConstants.THING_TYPE_UID_BRIDGE, adapterID); thingDiscovered(DiscoveryResultBuilder.create(uid).withProperties(properties).withLabel(adapterID).build()); } - } diff --git a/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/handler/VitotronicBridgeHandler.java b/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/handler/VitotronicBridgeHandler.java index c6e6e62f5394e..08ded28fdd7bb 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/handler/VitotronicBridgeHandler.java +++ b/bundles/org.openhab.binding.vitotronic/src/main/java/org/openhab/binding/vitotronic/internal/handler/VitotronicBridgeHandler.java @@ -68,7 +68,6 @@ public VitotronicBridgeHandler(Bridge bridge) { public void updateStatus(ThingStatus status) { super.updateStatus(status); updateThingHandlersStatus(status); - } public void updateStatus() { @@ -77,7 +76,6 @@ public void updateStatus() { } else { updateStatus(ThingStatus.OFFLINE); } - } // Managing Thing Discovery Service @@ -134,7 +132,6 @@ public void unregisterThingListener(VitotronicThingHandler thingHandler) { logger.trace("thingHandler for thing: {} not registered", thingID); } } - } private void updateThingHandlerStatus(VitotronicThingHandler thingHandler, ThingStatus status) { @@ -192,7 +189,6 @@ public void scanThings() { sendSocketData("list"); isDiscover = true; } - } public ThingStatus getStatus() { @@ -360,7 +356,6 @@ public void startElement(String uri, String localName, String pName, Attributes logger.error("Error in parsing data"); logger.trace("Diagnostic: ", e); } - } @Override @@ -387,7 +382,6 @@ public void endElement(String uri, String localName, String qName) throws SAXExc isChannel = false; break; } - } // Unused function of xmlReader @@ -422,7 +416,5 @@ public void startPrefixMapping(String arg0, String arg1) throws SAXException { @Override public void endPrefixMapping(String prefix) throws SAXException { } - } - } diff --git a/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/binding/binding.xml index 94fe75b684903..7d3f59b46bb78 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Vitotronic Binding This is the binding for Vitotronic. diff --git a/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/bridge.xml index b7d95751dc6d3..32a243eaaaf3b 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/bridge.xml @@ -6,7 +6,7 @@ - This bridge represents the Vitotronic Optolink adapter + This bridge represents the Vitotronic Optolink adapter @@ -15,8 +15,7 @@ The IP address of the Optolink adapter - + network-address Port of the LAN gateway @@ -26,8 +25,7 @@ The ID of the adapter. - + refresh Refreshtime in seconds. diff --git a/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/thing-types.xml index 093efa5cae886..65383fea31e7e 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.vitotronic/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,23 +7,23 @@ - + Vitotronic core system - - - - + + + + - + @@ -33,39 +33,39 @@ Power of the gas burner - + - + Pellet Fireplace, works for wood also - - - - - - - - - - + + + + + + + + + + Power of the pellet burner - + - + @@ -75,52 +75,53 @@ Power of the oil burner - - - - - - + + + + + + - + Storage Tank, stores heat in a water tank on 3 levels: bottom, middle, top=hot water - - - - - + + + + + - + - Heating circuit controls the flow of heating water between the heating system and the radiators in the rooms + Heating circuit controls the flow of heating water between the heating system and the radiators in the + rooms - - - - - - - - - - - + + + + + + + + + + + On/Off timer for Monday. Up to 4 timers can be set @@ -252,19 +253,19 @@ - + Solar water heating (SWH): Convert sunlight into energy for water heating - - - - - - + + + + + + @@ -272,34 +273,34 @@ - + Single temperature sensor - + - + Single pump - + - + Single valve - + @@ -310,7 +311,7 @@ DateTime - + @@ -318,7 +319,7 @@ Outside temperature sensor Temperature - + @@ -326,14 +327,14 @@ Temperature sensor of boiler (fireplace) Temperature - + Switch General Malfunction state of the heating - + @@ -341,7 +342,7 @@ Number - + @@ -349,7 +350,7 @@ Actual temperature of the exhaust Temperature - + @@ -359,70 +360,70 @@ Temperature of flame Temperature - + Number Oxygen content of the exhaust air - + Number Position of the primary air shutter - + Number Position of the secondary air shutter - + Number Count of starts - + Number Fan Speed in rpm - + Number Fan Speed in rpm - + Number Ontime in hours - + Number Consumed Pellets since start of heating in tons - + Switch Pump state - + @@ -431,35 +432,35 @@ Number Actual power of the burner - + Switch True, if errors for the burner exists - + Number Ontime in hours - + Number Ontime in hours - + Number Consumed Oil since start of heating in Liter - + @@ -468,7 +469,7 @@ Switch Circuit pump state - + @@ -476,7 +477,7 @@ Temperature sensor in the middle of the storage tank Temperature - + @@ -484,7 +485,7 @@ Temperature sensor at the bottom of the storage tank Temperature - + @@ -492,7 +493,7 @@ Temperature sensor of the hot water Temperature - + @@ -500,7 +501,7 @@ Set the hot water temperature Temperature - + @@ -510,35 +511,35 @@ Temperature sensor of the circuit flow Temperature - + Switch Pump state - + Number Operationmode - + Switch Partymode on/off - + Switch Savemode on/off - + @@ -546,7 +547,7 @@ Target temperature of party mode Temperature - + @@ -554,7 +555,7 @@ Target temperature of save mode Temperature - + @@ -562,7 +563,7 @@ Temperature of rooms Temperature - + @@ -570,27 +571,27 @@ Target temperature of rooms Temperature - + Number The gradient relative to outside temperature - + Number The niveau relative to outside temperature - + String - + @@ -600,7 +601,7 @@ Actual temperature of the collector Temperature - + @@ -608,28 +609,28 @@ Actual temperature of the storage tank (solar sensor) Temperature - + Switch State of the pump (on/off) - + Switch State of the load suppression (on/off) - + Number Produced heat since starting solar system - + @@ -639,13 +640,13 @@ Generic temperature sensor Temperature - + Number Value of a generic valve - + diff --git a/bundles/org.openhab.binding.volvooncall/pom.xml b/bundles/org.openhab.binding.volvooncall/pom.xml index d9cf12fd587d6..a270f61141104 100644 --- a/bundles/org.openhab.binding.volvooncall/pom.xml +++ b/bundles/org.openhab.binding.volvooncall/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.volvooncall/src/main/feature/feature.xml b/bundles/org.openhab.binding.volvooncall/src/main/feature/feature.xml index 860c11cba7993..99a43beaa848a 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.volvooncall/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.volvooncall/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.volvooncall/${project.version} + diff --git a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/VolvoOnCallBindingConstants.java b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/VolvoOnCallBindingConstants.java index 381e57f483bc5..ece867b68cb5a 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/VolvoOnCallBindingConstants.java +++ b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/VolvoOnCallBindingConstants.java @@ -118,5 +118,4 @@ public class VolvoOnCallBindingConstants { // Default value for undefined integers public static final int UNDEFINED = -1; - } diff --git a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/discovery/VolvoOnCallDiscoveryService.java b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/discovery/VolvoOnCallDiscoveryService.java index 69620a75f49de..5d51f21c29e79 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/discovery/VolvoOnCallDiscoveryService.java +++ b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/discovery/VolvoOnCallDiscoveryService.java @@ -69,5 +69,4 @@ public void startScan() { stopScan(); } - } diff --git a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Attributes.java b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Attributes.java index 7c1bcafa82819..7c237591085fa 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Attributes.java +++ b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Attributes.java @@ -75,5 +75,4 @@ public class Attributes { * private @Nullable List sendPOIToVehicleVersionsSupported = null; * private @Nullable List climatizationCalendarVersionsSupported = null; */ - } diff --git a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Heater.java b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Heater.java index 40f49d828b8fa..c4a9508fdf243 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Heater.java +++ b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/Heater.java @@ -29,7 +29,4 @@ public class Heater { * Currently unused in the binding, maybe interesting in the future * private ZonedDateTime timestamp; */ - } - - diff --git a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/HvBattery.java b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/HvBattery.java index 525a24de12825..a7079131ec2c8 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/HvBattery.java +++ b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/HvBattery.java @@ -32,7 +32,4 @@ public class HvBattery { * Currently unused in the binding, maybe interesting in the future * private ZonedDateTime timestamp; */ - } - - diff --git a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/TripDetail.java b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/TripDetail.java index c9375d4364a6d..01c24f7f38663 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/TripDetail.java +++ b/bundles/org.openhab.binding.volvooncall/src/main/java/org/openhab/binding/volvooncall/internal/dto/TripDetail.java @@ -74,5 +74,4 @@ public State getEndPosition() { public long getDurationInMinutes() { return Duration.between(startTime, endTime).toMinutes(); } - } diff --git a/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/config/config.xml index 10d60607bb718..aef24a4a262e7 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/bridge.xml index 84174a8e89567..0c5b78f566b43 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/bridge.xml @@ -8,7 +8,7 @@ This bridge represents the gateway to Volvo On Call API. - + diff --git a/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/vehicle.xml b/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/vehicle.xml index 1ca4314e8a686..1d5604b0b5064 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/vehicle.xml +++ b/bundles/org.openhab.binding.volvooncall/src/main/resources/ESH-INF/thing/vehicle.xml @@ -7,21 +7,21 @@ - + - - - - - - - - - + + + + + + + + + vin @@ -43,13 +43,13 @@ - - - - - - - + + + + + + + @@ -72,7 +72,7 @@ Trip end time - + @@ -111,7 +111,7 @@ - + @@ -154,7 +154,7 @@ - + @@ -171,9 +171,9 @@ Indicates the quantity of fuel available in the tank - - - + + + Distance left with given quantity of fuel @@ -188,8 +188,8 @@ The position of the vehicle - - + + Timestamp of location value update @@ -200,12 +200,12 @@ - + - - + + @@ -291,7 +291,7 @@ DateTime Data timestamp - + @@ -377,7 +377,7 @@ Switch set to 'ON' when the tank level is low - + diff --git a/bundles/org.openhab.binding.weathercompany/pom.xml b/bundles/org.openhab.binding.weathercompany/pom.xml index ff586d14eaba2..9d9b555e99aa4 100644 --- a/bundles/org.openhab.binding.weathercompany/pom.xml +++ b/bundles/org.openhab.binding.weathercompany/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/binding/binding.xml index c2659a9fff368..ab47442256c13 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,7 @@ + xmlns:binding="https://openhab.org/schemas/binding/v1.0.0" + xsi:schemaLocation="https://openhab.org/schemas/binding/v1.0.0 https://openhab.org/schemas/binding-1.0.0.xsd"> WeatherCompany Binding This is the binding for the WeatherCompany weather forecast API. diff --git a/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/config/config.xml index 890615e545d74..51cefac26cefb 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/thing/thing-types.xml index fe2966f53d2f9..b50194408c295 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.weathercompany/src/main/resources/ESH-INF/thing/thing-types.xml @@ -1,24 +1,25 @@ - Represents an account at the Weather Company service - + - + Current observations from Personal Weather Station - - + + @@ -58,19 +59,19 @@ - - - - - - + + + + + + - + - + @@ -152,25 +153,25 @@ This is the night-time weather forecast in 5 days - + This is the weather forecast - - + + - - - - + + + + @@ -178,13 +179,13 @@ This is the weather forecast for day and night - - - - - - - + + + + + + + @@ -194,24 +195,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + @@ -282,14 +283,14 @@ Location Latitude and longitude of weather station - + Number:Length Elevation above ground of weather station - + @@ -317,7 +318,7 @@ Number:Dimensionless Chance of precipitation - + @@ -325,7 +326,7 @@ Forecasted measurable liquid precipitation during 24 hour period Rain - + @@ -333,7 +334,7 @@ Precipitation rate Rain - + @@ -341,7 +342,7 @@ Forecasted measurable snow precipitation during 24 hour period Rain - + @@ -349,7 +350,7 @@ Precipitation total Rain - + @@ -364,14 +365,14 @@ Barometric Pressure Pressure - + Number QC status - + @@ -392,7 +393,7 @@ Number:Dimensionless Forecasted relative humidity - + @@ -413,7 +414,7 @@ Number:Intensity Solar radiation - + @@ -428,7 +429,7 @@ Forecasted temperature Temperature - + @@ -470,7 +471,7 @@ Number:Angle Wind direction - + @@ -491,7 +492,7 @@ Number:Speed Wind speed - + diff --git a/bundles/org.openhab.binding.weatherunderground/pom.xml b/bundles/org.openhab.binding.weatherunderground/pom.xml index 7e73898060c07..92de1e6edd7d4 100644 --- a/bundles/org.openhab.binding.weatherunderground/pom.xml +++ b/bundles/org.openhab.binding.weatherunderground/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.weatherunderground/src/main/feature/feature.xml b/bundles/org.openhab.binding.weatherunderground/src/main/feature/feature.xml index 0e963584ae5ce..3b70e032992f0 100644 --- a/bundles/org.openhab.binding.weatherunderground/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.weatherunderground/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.weatherunderground/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.weatherunderground/${project.version} + diff --git a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/WeatherUndergroundHandlerFactory.java b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/WeatherUndergroundHandlerFactory.java index abe88d32b4e1e..7ca47d3de89ac 100644 --- a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/WeatherUndergroundHandlerFactory.java +++ b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/WeatherUndergroundHandlerFactory.java @@ -135,5 +135,4 @@ private synchronized void unregisterDiscoveryService(ThingUID bridgeUID) { } } } - } diff --git a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/config/WeatherUndergroundConfiguration.java b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/config/WeatherUndergroundConfiguration.java index 483c73bbeb866..983ab5941e766 100644 --- a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/config/WeatherUndergroundConfiguration.java +++ b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/config/WeatherUndergroundConfiguration.java @@ -26,5 +26,4 @@ public class WeatherUndergroundConfiguration { public String location; public String language; public Integer refresh; - } diff --git a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/discovery/WeatherUndergroundDiscoveryService.java b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/discovery/WeatherUndergroundDiscoveryService.java index 102de24ed2597..cdea3f215aa4d 100644 --- a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/discovery/WeatherUndergroundDiscoveryService.java +++ b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/discovery/WeatherUndergroundDiscoveryService.java @@ -151,5 +151,4 @@ private void createResults(PointType location, Locale locale) { thingDiscovered(DiscoveryResultBuilder.create(localWeatherThing).withLabel("Local Weather") .withProperties(properties).withBridge(bridgeUID).build()); } - } diff --git a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/json/WeatherUndergroundJsonData.java b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/json/WeatherUndergroundJsonData.java index b8ec0fd9a9113..3155d28d2d6a4 100644 --- a/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/json/WeatherUndergroundJsonData.java +++ b/bundles/org.openhab.binding.weatherunderground/src/main/java/org/openhab/binding/weatherunderground/internal/json/WeatherUndergroundJsonData.java @@ -65,5 +65,4 @@ public WeatherUndergroundJsonForecast getForecast() { public WeatherUndergroundJsonCurrent getCurrent() { return current_observation; } - } diff --git a/bundles/org.openhab.binding.weatherunderground/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.weatherunderground/src/main/resources/ESH-INF/thing/thing-types.xml index c9866619b9448..ed2b6bc56b2c6 100644 --- a/bundles/org.openhab.binding.weatherunderground/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.weatherunderground/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,13 +7,13 @@ - + Provides various weather data from the Weather Underground service - + This is the weather forecast for today @@ -161,29 +161,29 @@ This is the current weather - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + @@ -191,22 +191,22 @@ This is the weather forecast - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + @@ -257,7 +257,7 @@ Minimum temperature Temperature - + @@ -265,7 +265,7 @@ Maximum temperature Temperature - + @@ -273,7 +273,7 @@ Dew Point temperature Temperature - + @@ -281,7 +281,7 @@ Heat index Temperature - + @@ -289,7 +289,7 @@ Wind chill temperature Temperature - + @@ -297,7 +297,7 @@ Feeling temperature Temperature - + @@ -356,7 +356,7 @@ Maximum wind speed Wind - + @@ -364,7 +364,7 @@ Average wind speed Wind - + @@ -372,7 +372,7 @@ Wind gust Wind - + @@ -393,7 +393,7 @@ Number:Length Visibility - + @@ -417,7 +417,7 @@ Rain fall during the day Rain - + @@ -425,7 +425,7 @@ Rain fall during the last hour Rain - + @@ -433,7 +433,7 @@ Snow fall Rain - + diff --git a/bundles/org.openhab.binding.wemo/pom.xml b/bundles/org.openhab.binding.wemo/pom.xml index 86a7c0a6f6623..dbcb5f40ba421 100644 --- a/bundles/org.openhab.binding.wemo/pom.xml +++ b/bundles/org.openhab.binding.wemo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.wemo/src/main/feature/feature.xml b/bundles/org.openhab.binding.wemo/src/main/feature/feature.xml index 2ca1c88e87edc..ab8b96eb6b9f0 100644 --- a/bundles/org.openhab.binding.wemo/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.wemo/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.wemo/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.wemo/${project.version} + diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoBindingConstants.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoBindingConstants.java index 9a02543bf6b19..ee98e59eeb988 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoBindingConstants.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoBindingConstants.java @@ -128,5 +128,4 @@ public class WemoBindingConstants { THING_TYPE_BRIDGE, THING_TYPE_MZ100, THING_TYPE_MAKER, THING_TYPE_COFFEE, THING_TYPE_DIMMER, THING_TYPE_CROCKPOT, THING_TYPE_PURIFIER, THING_TYPE_HUMIDIFIER, THING_TYPE_HEATER) .collect(Collectors.toSet())); - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoHandlerFactory.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoHandlerFactory.java index 62025e14ef713..39dbc8772318e 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoHandlerFactory.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/WemoHandlerFactory.java @@ -150,5 +150,4 @@ private synchronized void registerDeviceDiscoveryService(WemoBridgeHandler wemoB this.discoveryServiceRegs.put(wemoBridgeHandler.getThing().getUID(), bundleContext.registerService(DiscoveryService.class.getName(), discoveryService, new Hashtable<>())); } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryParticipant.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryParticipant.java index 2450bcf6f2a0b..53c956e2cac3e 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryParticipant.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryParticipant.java @@ -159,5 +159,4 @@ public ThingUID getThingUID(@Nullable RemoteDevice device) { } return null; } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryService.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryService.java index 3683b3fa3e73a..741256a99fdf6 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryService.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoDiscoveryService.java @@ -74,5 +74,4 @@ protected synchronized void stopScan() { removeOlderResults(getTimestampOfLastScan()); super.stopScan(); } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoLinkDiscoveryService.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoLinkDiscoveryService.java index ad40b0af1ee6f..15f09d2970a6f 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoLinkDiscoveryService.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/discovery/WemoLinkDiscoveryService.java @@ -288,5 +288,4 @@ public void run() { startScan(); } } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoBridgeHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoBridgeHandler.java index 626612858ee2e..d7139dc8128a6 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoBridgeHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoBridgeHandler.java @@ -64,5 +64,4 @@ public void initialize() { public void handleCommand(ChannelUID channelUID, Command command) { // Not needed, all commands are handled in the {@link WemoLightHandler} } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCoffeeHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCoffeeHandler.java index 80216899e7940..5444ff4b8dc8e 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCoffeeHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCoffeeHandler.java @@ -468,5 +468,4 @@ public static String getCharacterDataFromElement(Element e) { @Override public void onStatusChanged(boolean status) { } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCrockpotHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCrockpotHandler.java index 99ba3da2b4c9b..a36d836a14933 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCrockpotHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoCrockpotHandler.java @@ -303,5 +303,4 @@ public String getWemoURL(String actionService) { @Override public void onStatusChanged(boolean status) { } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java index fb8471bb18b7d..ca2d18bd0766c 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoDimmerHandler.java @@ -610,5 +610,4 @@ public void setTimerStart(String action, String argument, String value) { @Override public void onStatusChanged(boolean status) { } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHandler.java index ae0afa938596a..1e094266d263d 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHandler.java @@ -499,5 +499,4 @@ public boolean servicePing(String host, int port) throws IOException { @Override public void onStatusChanged(boolean status) { } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHolmesHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHolmesHandler.java index 34d0a301919a9..86539584422b4 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHolmesHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoHolmesHandler.java @@ -573,5 +573,4 @@ public static String getCharacterDataFromElement(Element e) { @Override public void onStatusChanged(boolean status) { } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoLightHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoLightHandler.java index 614bc9c823b03..4687dc8134da8 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoLightHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoLightHandler.java @@ -430,5 +430,4 @@ public String getWemoURL() { } return null; } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoMakerHandler.java b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoMakerHandler.java index 9f9910e4065c0..7becbdc4a985f 100644 --- a/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoMakerHandler.java +++ b/bundles/org.openhab.binding.wemo/src/main/java/org/openhab/binding/wemo/internal/handler/WemoMakerHandler.java @@ -303,5 +303,4 @@ public void onServiceSubscribed(String service, boolean succeeded) { @Override public void onValueReceived(String variable, String value, String service) { } - } diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/binding/binding.xml index 62d68b319dd22..641b6012cf075 100644 --- a/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/binding/binding.xml @@ -1,5 +1,6 @@ - WeMo Binding diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/bridge.xml index be71ad7c2022f..b86fcdd539bb7 100644 --- a/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,5 +1,6 @@ - diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/thing-types.xml index 1ad878f40398b..8906a79bf523e 100644 --- a/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.wemo/src/main/resources/ESH-INF/thing/thing-types.xml @@ -9,7 +9,7 @@ This is a standard WeMo Switch - + @@ -27,18 +27,18 @@ This is a WeMo Insight Switch with energy measurement - - - - - - - - - - - - + + + + + + + + + + + + @@ -56,7 +56,7 @@ This is a WeMo LightSwitch - + @@ -73,8 +73,8 @@ This is a WeMo MotionSensor - - + + @@ -89,15 +89,15 @@ - + This is a standard WeMo light bulb with E27 socket - - + + @@ -119,8 +119,8 @@ This is a WeMo Maker - - + + @@ -137,15 +137,15 @@ This is a WeMo enabled coffee maker - - - - - - - - - + + + + + + + + + @@ -168,14 +168,14 @@ This is a WeMo DimmerSwitch - - - - - - - - + + + + + + + + @@ -219,28 +219,28 @@ Number Duration the device has been switched on for - + Number How long has the device been switched on today - + Number How long has the device been switched on totally - + Number Time used to measure average usage - + @@ -248,7 +248,7 @@ The average power consumption Energy - + @@ -256,7 +256,7 @@ The current power consumption Energy - + @@ -264,7 +264,7 @@ Todays power consumption Energy - + @@ -272,7 +272,7 @@ Total power consumption Energy - + @@ -280,7 +280,7 @@ Total power consumption Energy - + @@ -288,7 +288,7 @@ Appliance on standby Energy - + @@ -297,7 +297,8 @@ Dimmer The brightness channel allows to control the brightness of a light. - It is also possible to switch the light on and off. + It is also possible to switch the + light on and off. DimmableLight @@ -384,7 +385,7 @@ Number The fading duration time in minutes - + @@ -410,14 +411,14 @@ DateTime Time when the Night Mode starts - + DateTime Time when the Night Mode ends - + diff --git a/bundles/org.openhab.binding.wifiled/pom.xml b/bundles/org.openhab.binding.wifiled/pom.xml index 663029de86955..cd2a0a66f25af 100644 --- a/bundles/org.openhab.binding.wifiled/pom.xml +++ b/bundles/org.openhab.binding.wifiled/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.wifiled/src/main/feature/feature.xml b/bundles/org.openhab.binding.wifiled/src/main/feature/feature.xml index f2283dce9e2cb..bf5bcebee063f 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.wifiled/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.wifiled/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.wifiled/${project.version} + diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDBindingConstants.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDBindingConstants.java index 83c3858b33a9f..c8f85abab7a52 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDBindingConstants.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDBindingConstants.java @@ -41,5 +41,4 @@ public class WiFiLEDBindingConstants { public static final String CHANNEL_WHITE2 = "white2"; public static final String CHANNEL_PROGRAM = "program"; public static final String CHANNEL_PROGRAM_SPEED = "programSpeed"; - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDHandlerFactory.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDHandlerFactory.java index e52718197dde5..f5063abbe66e0 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDHandlerFactory.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/WiFiLEDHandlerFactory.java @@ -51,5 +51,4 @@ protected ThingHandler createHandler(Thing thing) { return null; } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/configuration/WiFiLEDConfig.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/configuration/WiFiLEDConfig.java index 195fe13387ff1..935201232dee8 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/configuration/WiFiLEDConfig.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/configuration/WiFiLEDConfig.java @@ -83,5 +83,4 @@ public Integer getFadeSteps() { public void setFadeSteps(Integer fadeSteps) { this.fadeSteps = fadeSteps; } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/discovery/WiFiLEDDiscoveryService.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/discovery/WiFiLEDDiscoveryService.java index 733233127f1fc..aebea1c5ce243 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/discovery/WiFiLEDDiscoveryService.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/discovery/WiFiLEDDiscoveryService.java @@ -139,5 +139,4 @@ private static String bytesToString(byte[] bytes) { return sb.toString(); } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/AbstractWiFiLEDDriver.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/AbstractWiFiLEDDriver.java index 73022a6c228eb..3d07f457d99fe 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/AbstractWiFiLEDDriver.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/AbstractWiFiLEDDriver.java @@ -213,5 +213,4 @@ protected byte[] getBytesForColor(byte r, byte g, byte b, byte w, byte w2) { protected byte[] getBytesForPower(boolean on) { return new byte[] { 0x71, on ? (byte) 0x23 : 0x24 }; } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/ClassicWiFiLEDDriver.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/ClassicWiFiLEDDriver.java index 17cd49b2ba8e6..8ac0b3fcac6fb 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/ClassicWiFiLEDDriver.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/ClassicWiFiLEDDriver.java @@ -203,5 +203,4 @@ public static String bytesToHex(byte[] bytes) { String string = builder.toString(); return string.substring(0, string.length() - 1); } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/FadingWiFiLEDDriver.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/FadingWiFiLEDDriver.java index 4d3f8d4d6a725..6f4b85d0cd254 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/FadingWiFiLEDDriver.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/FadingWiFiLEDDriver.java @@ -335,5 +335,4 @@ private void sendLEDData(InternalLedState ledState, DataOutputStream out) throws currentState = ledState; } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/InternalLedState.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/InternalLedState.java index 58c8810f8c911..6a5a7c9460db0 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/InternalLedState.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/InternalLedState.java @@ -213,5 +213,4 @@ public int hashCode() { public String toString() { return "InternalLedState{" + "r=" + r + ", g=" + g + ", b=" + b + ", w=" + w + '}'; } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/LEDState.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/LEDState.java index c4c87b07cf958..2fc6b6d2f6dcf 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/LEDState.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/LEDState.java @@ -30,5 +30,4 @@ public LEDState(int state, int program, int programSpeed, int red, int green, in this.white = white; this.white2 = white2; } - } diff --git a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/WiFiLEDHandler.java b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/WiFiLEDHandler.java index d790538f684fc..aa15eef390d8a 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/WiFiLEDHandler.java +++ b/bundles/org.openhab.binding.wifiled/src/main/java/org/openhab/binding/wifiled/internal/handler/WiFiLEDHandler.java @@ -12,6 +12,10 @@ */ package org.openhab.binding.wifiled.internal.handler; +import java.io.IOException; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; + import org.eclipse.smarthome.core.library.types.*; import org.eclipse.smarthome.core.thing.ChannelUID; import org.eclipse.smarthome.core.thing.Thing; @@ -27,10 +31,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - /** * The {@link WiFiLEDHandler} is responsible for handling commands, which are * sent to one of the channels. @@ -66,8 +66,11 @@ public void initialize() { break; case FADING: - int fadeDurationInMs = config.getFadeDurationInMs() == null ? FadingWiFiLEDDriver.DEFAULT_FADE_DURATION_IN_MS : config.getFadeDurationInMs(); - int fadeSteps = config.getFadeSteps() == null ? FadingWiFiLEDDriver.DEFAULT_FADE_STEPS : config.getFadeSteps(); + int fadeDurationInMs = config.getFadeDurationInMs() == null + ? FadingWiFiLEDDriver.DEFAULT_FADE_DURATION_IN_MS + : config.getFadeDurationInMs(); + int fadeSteps = config.getFadeSteps() == null ? FadingWiFiLEDDriver.DEFAULT_FADE_STEPS + : config.getFadeSteps(); driver = new FadingWiFiLEDDriver(config.getIp(), port, protocol, fadeDurationInMs, fadeSteps); break; } diff --git a/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/binding/binding.xml index fe88a50228879..1b796cd2e6bf1 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - WiFi LED Binding diff --git a/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/thing/wifiled.xml b/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/thing/wifiled.xml index 0257fddc0de9e..493ef2465efe4 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/thing/wifiled.xml +++ b/bundles/org.openhab.binding.wifiled/src/main/resources/ESH-INF/thing/wifiled.xml @@ -9,12 +9,12 @@ WiFi LED Device - - - - - - + + + + + + @@ -22,8 +22,7 @@ IP address or host name of the WIFI LED Controller - + Used Port of the device 5577 diff --git a/bundles/org.openhab.binding.wifiled/src/test/java/org/openhab/binding/wifiled/internal/handler/LEDStateDTOTest.java b/bundles/org.openhab.binding.wifiled/src/test/java/org/openhab/binding/wifiled/internal/handler/LEDStateDTOTest.java index 3fde8a1ee98ad..1eab99599fe2e 100644 --- a/bundles/org.openhab.binding.wifiled/src/test/java/org/openhab/binding/wifiled/internal/handler/LEDStateDTOTest.java +++ b/bundles/org.openhab.binding.wifiled/src/test/java/org/openhab/binding/wifiled/internal/handler/LEDStateDTOTest.java @@ -16,7 +16,6 @@ import static org.junit.Assert.assertThat; import org.junit.Test; -import org.openhab.binding.wifiled.internal.handler.LEDStateDTO; /** * Test for LEDStateDTO diff --git a/bundles/org.openhab.binding.windcentrale/pom.xml b/bundles/org.openhab.binding.windcentrale/pom.xml index 2901f59e75d85..fffbe401d7176 100644 --- a/bundles/org.openhab.binding.windcentrale/pom.xml +++ b/bundles/org.openhab.binding.windcentrale/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.windcentrale/src/main/feature/feature.xml b/bundles/org.openhab.binding.windcentrale/src/main/feature/feature.xml index 6c5ad248f539c..cd28bc0600852 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.windcentrale/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.windcentrale/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.windcentrale/${project.version} + diff --git a/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleBindingConstants.java b/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleBindingConstants.java index 031b284eff30c..72b4b3f574819 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleBindingConstants.java +++ b/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleBindingConstants.java @@ -49,5 +49,4 @@ public final class WindcentraleBindingConstants { public static final String PROPERTY_MILL_ID = "millId"; public static final String PROPERTY_QTY_WINDDELEN = "wd"; public static final String PROPERTY_REFRESH_INTERVAL = "refreshInterval"; - } diff --git a/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleHandlerFactory.java b/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleHandlerFactory.java index a7c643c825793..c20fea5fb55c1 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleHandlerFactory.java +++ b/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/WindcentraleHandlerFactory.java @@ -49,5 +49,4 @@ public boolean supportsThingType(ThingTypeUID thingTypeUID) { return null; } - } diff --git a/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/MillConfig.java b/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/MillConfig.java index 81338a8e33622..5aa2ccb630e8b 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/MillConfig.java +++ b/bundles/org.openhab.binding.windcentrale/src/main/java/org/openhab/binding/windcentrale/internal/config/MillConfig.java @@ -36,5 +36,4 @@ public class MillConfig { * Number of wind shares ("Winddelen") */ public int wd = 1; - } diff --git a/bundles/org.openhab.binding.windcentrale/src/main/resources/ESH-INF/thing/millThing.xml b/bundles/org.openhab.binding.windcentrale/src/main/resources/ESH-INF/thing/millThing.xml index 9ba4cce01dd26..c83b0f06f43c6 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/resources/ESH-INF/thing/millThing.xml +++ b/bundles/org.openhab.binding.windcentrale/src/main/resources/ESH-INF/thing/millThing.xml @@ -8,16 +8,16 @@ - - - - - - - - - - + + + + + + + + + + @@ -59,59 +59,59 @@ Number Wind - + String - + Number:Dimensionless Energy - + Number:Dimensionless Run percentage this year Energy - + Number:Time Run time this year - + Number:Power Energy - + Number:Power Energy - + Number:Energy Energy - + Number:Energy Energy - + DateTime - + diff --git a/bundles/org.openhab.binding.xmltv/pom.xml b/bundles/org.openhab.binding.xmltv/pom.xml index ae401dc97e092..7129ffeed26ee 100644 --- a/bundles/org.openhab.binding.xmltv/pom.xml +++ b/bundles/org.openhab.binding.xmltv/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/discovery/XmlTVDiscoveryService.java b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/discovery/XmlTVDiscoveryService.java index 2d4ec2669a092..3ac1afa2bbdf7 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/discovery/XmlTVDiscoveryService.java +++ b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/discovery/XmlTVDiscoveryService.java @@ -70,5 +70,4 @@ protected void startScan() { } } } - } diff --git a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/ChannelHandler.java b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/ChannelHandler.java index 55c342ca005f8..e8321599866ff 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/ChannelHandler.java +++ b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/ChannelHandler.java @@ -246,5 +246,4 @@ private QuantityType getDurationInSeconds(Instant from, Instant to) { } return null; } - } diff --git a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/XmlTVHandler.java b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/XmlTVHandler.java index 31fdb322044b8..f5fbff2067253 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/XmlTVHandler.java +++ b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/handler/XmlTVHandler.java @@ -126,5 +126,4 @@ public void handleCommand(ChannelUID channelUID, Command command) { public Tv getXmlFile() { return currentXmlFile; } - } diff --git a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/Programme.java b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/Programme.java index d2b882358738a..0f386c483dcb1 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/Programme.java +++ b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/Programme.java @@ -88,5 +88,4 @@ public List getIcons() { public String getChannel() { return channel; } - } diff --git a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/WithLangType.java b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/WithLangType.java index 21f006da2bf21..a494b2bc5d225 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/WithLangType.java +++ b/bundles/org.openhab.binding.xmltv/src/main/java/org/openhab/binding/xmltv/internal/jaxb/WithLangType.java @@ -45,5 +45,4 @@ public String getValue() { public String getLang() { return lang; } - } diff --git a/bundles/org.openhab.binding.xmltv/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.xmltv/src/main/resources/ESH-INF/thing/thing-types.xml index 4969134297925..dbc89996c368a 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.xmltv/src/main/resources/ESH-INF/thing/thing-types.xml @@ -28,15 +28,15 @@ - + This represent a channel on a given TV file - - - + + + @@ -65,8 +65,8 @@ Properties of the current channel - - + + @@ -74,15 +74,15 @@ Program currently on air on this channel - - - - - - - - - + + + + + + + + + @@ -90,13 +90,13 @@ Program which will follow current program on this channel - - - - - - - + + + + + + + @@ -104,70 +104,70 @@ String Icon URL of the TV channel. - + String URL to an image of the program. - + String Program Title. - + String Program Category. - + DateTime Program Start Time - + DateTime Program End Time - + Number:Time Current time of currently playing program. - + Number:Time Time remaining until end of the program. - + Number:Time Time left before program start - + Number:Dimensionless Relative progression of the current program. - + diff --git a/bundles/org.openhab.binding.xmppclient/pom.xml b/bundles/org.openhab.binding.xmppclient/pom.xml index 12133008b20b3..4bc00bdd8c4a1 100644 --- a/bundles/org.openhab.binding.xmppclient/pom.xml +++ b/bundles/org.openhab.binding.xmppclient/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.xmppclient/src/main/feature/feature.xml b/bundles/org.openhab.binding.xmppclient/src/main/feature/feature.xml index efc53852539bc..6207675a23b63 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.xmppclient/src/main/feature/feature.xml @@ -1,23 +1,23 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - - mvn:org.igniterealtime.smack/smack-extensions/4.3.3 - mvn:org.igniterealtime.smack/smack-im/4.3.3 - mvn:org.igniterealtime.smack/smack-tcp/4.3.3 - mvn:org.jxmpp/jxmpp-core/0.6.3 - mvn:org.jxmpp/jxmpp-jid/0.6.3 - mvn:org.jxmpp/jxmpp-util-cache/0.6.3 - mvn:org.minidns/minidns-core/0.3.3 - mvn:org.igniterealtime.smack/smack-core/4.3.3 - mvn:org.igniterealtime.smack/smack-sasl-javax/4.3.3 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7 - - mvn:org.igniterealtime.smack/smack-resolver-javax/4.3.3 - mvn:org.igniterealtime.smack/smack-java7/4.3.3 - mvn:org.openhab.addons.bundles/org.openhab.binding.xmppclient/${project.version} - + + openhab-runtime-base + + mvn:org.igniterealtime.smack/smack-extensions/4.3.3 + mvn:org.igniterealtime.smack/smack-im/4.3.3 + mvn:org.igniterealtime.smack/smack-tcp/4.3.3 + mvn:org.jxmpp/jxmpp-core/0.6.3 + mvn:org.jxmpp/jxmpp-jid/0.6.3 + mvn:org.jxmpp/jxmpp-util-cache/0.6.3 + mvn:org.minidns/minidns-core/0.3.3 + mvn:org.igniterealtime.smack/smack-core/4.3.3 + mvn:org.igniterealtime.smack/smack-sasl-javax/4.3.3 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.xpp3/1.1.4c_7 + + mvn:org.igniterealtime.smack/smack-resolver-javax/4.3.3 + mvn:org.igniterealtime.smack/smack-java7/4.3.3 + mvn:org.openhab.addons.bundles/org.openhab.binding.xmppclient/${project.version} + diff --git a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/action/XMPPActions.java b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/action/XMPPActions.java index 40c3979f30d5d..da7ce3baff1af 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/action/XMPPActions.java +++ b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/action/XMPPActions.java @@ -17,8 +17,8 @@ import org.eclipse.smarthome.core.thing.binding.ThingActions; import org.eclipse.smarthome.core.thing.binding.ThingActionsScope; import org.eclipse.smarthome.core.thing.binding.ThingHandler; -import org.openhab.binding.xmppclient.internal.XMPPClient; import org.openhab.binding.xmppclient.handler.XMPPClientHandler; +import org.openhab.binding.xmppclient.internal.XMPPClient; import org.openhab.core.automation.annotation.ActionInput; import org.openhab.core.automation.annotation.RuleAction; import org.slf4j.Logger; @@ -47,8 +47,7 @@ public void setThingHandler(@Nullable ThingHandler handler) { } @RuleAction(label = "publishXMPP", description = "Publish to XMPP") - public void publishXMPP( - @ActionInput(name = "to", label = "To", description = "Send to") @Nullable String to, + public void publishXMPP(@ActionInput(name = "to", label = "To", description = "Send to") @Nullable String to, @ActionInput(name = "text", label = "Text", description = "Message text") @Nullable String text) { XMPPClientHandler clientHandler = handler; if (clientHandler == null) { @@ -69,7 +68,7 @@ public void publishXMPP( } public static void publishXMPP(@Nullable ThingActions actions, @Nullable String to, @Nullable String text) { - if(actions == null) { + if (actions == null) { logger.warn("Sending error, actions is NULL"); throw new IllegalArgumentException("actions is NULL"); } diff --git a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/PublishTriggerChannel.java b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/PublishTriggerChannel.java index 3344f35f42f52..a096b087fa8ff 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/PublishTriggerChannel.java +++ b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/PublishTriggerChannel.java @@ -16,7 +16,7 @@ import org.openhab.binding.xmppclient.internal.XMPPClient; /** - * Subscribes to a chat and calls {@link AbstractBrokerHandler#triggerChannel(ChannelUID, String)} if a value has been + * Subscribes to a chat and calls {@link AbstractBrokerHandler#triggerChannel(ChannelUID, String)} if a value has been * received. * * @author Pavel Gololobov - Initial contribution @@ -27,7 +27,8 @@ public class PublishTriggerChannel implements XMPPClientMessageSubscriber { private final ChannelUID uid; private final XMPPClientHandler handler; - PublishTriggerChannel(PublishTriggerChannelConfig config, ChannelUID uid, XMPPClient connection, XMPPClientHandler handler) { + PublishTriggerChannel(PublishTriggerChannelConfig config, ChannelUID uid, XMPPClient connection, + XMPPClientHandler handler) { this.config = config; this.uid = uid; this.connection = connection; @@ -50,7 +51,7 @@ public void processMessage(String from, String payload) { return; } String eventValue = ""; - if(!config.separator.isEmpty()) { + if (!config.separator.isEmpty()) { eventValue = from + config.separator + payload; } else { eventValue = payload; diff --git a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientHandler.java b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientHandler.java index db04332938f0a..be5de1b40865d 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientHandler.java +++ b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientHandler.java @@ -12,30 +12,27 @@ */ package org.openhab.binding.xmppclient.handler; -import org.jivesoftware.smack.*; - +import java.io.IOException; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; -import org.openhab.binding.xmppclient.action.XMPPActions; -import org.openhab.binding.xmppclient.internal.XMPPClient; -import org.openhab.binding.xmppclient.handler.XMPPClientConfiguration; +import org.eclipse.smarthome.core.thing.Bridge; import org.eclipse.smarthome.core.thing.Channel; import org.eclipse.smarthome.core.thing.ChannelUID; -import org.eclipse.smarthome.core.thing.Bridge; import org.eclipse.smarthome.core.thing.ThingStatus; import org.eclipse.smarthome.core.thing.ThingStatusDetail; import org.eclipse.smarthome.core.thing.binding.BaseBridgeHandler; import org.eclipse.smarthome.core.thing.binding.ThingHandlerService; import org.eclipse.smarthome.core.types.Command; +import org.jivesoftware.smack.*; +import org.openhab.binding.xmppclient.action.XMPPActions; +import org.openhab.binding.xmppclient.internal.XMPPClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; - /** * The {@link XMPPClientHandler} is responsible for handling commands, which are * sent to one of the channels. @@ -97,8 +94,9 @@ private void doConnect() { return; } - for(Channel channel : thing.getChannels()) { - final PublishTriggerChannelConfig channelConfig = channel.getConfiguration().as(PublishTriggerChannelConfig.class); + for (Channel channel : thing.getChannels()) { + final PublishTriggerChannelConfig channelConfig = channel.getConfiguration() + .as(PublishTriggerChannelConfig.class); PublishTriggerChannel c = new PublishTriggerChannel(channelConfig, channel.getUID(), xmppClient, this); channelStateByChannelUID.put(channel.getUID(), c); logger.info("XMPP added channel {} payload {}", channel.getUID().toString(), channelConfig.payload); diff --git a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientMessageSubscriber.java b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientMessageSubscriber.java index c55629058168b..8ffc1c78dd16e 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientMessageSubscriber.java +++ b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/handler/XMPPClientMessageSubscriber.java @@ -19,5 +19,6 @@ */ public interface XMPPClientMessageSubscriber { public void processMessage(String from, String payload); + public String getName(); } diff --git a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClient.java b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClient.java index 07553aba4c300..93bac0845c54f 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClient.java +++ b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClient.java @@ -12,6 +12,10 @@ */ package org.openhab.binding.xmppclient.internal; +import java.io.IOException; +import java.util.HashSet; +import java.util.Set; + import org.jivesoftware.smack.*; import org.jivesoftware.smack.chat2.Chat; import org.jivesoftware.smack.chat2.ChatManager; @@ -21,16 +25,10 @@ import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration; import org.jivesoftware.smackx.disco.ServiceDiscoveryManager; import org.jivesoftware.smackx.disco.packet.DiscoverInfo.Identity; - import org.jxmpp.jid.EntityBareJid; import org.jxmpp.jid.impl.JidCreate; import org.jxmpp.stringprep.XmppStringprepException; import org.openhab.binding.xmppclient.handler.XMPPClientMessageSubscriber; - -import java.io.IOException; -import java.util.HashSet; -import java.util.Set; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,11 +53,11 @@ public void unsubscribe(XMPPClientMessageSubscriber channel) { subscribers.remove(channel); } - public void connect(String host, Integer port, String login, String domain, String password) + public void connect(String host, Integer port, String login, String domain, String password) throws XMPPException, SmackException, IOException { disconnect(); String serverHost = domain; - if((host != null) && !host.isEmpty()) { + if ((host != null) && !host.isEmpty()) { serverHost = host; } @@ -90,17 +88,17 @@ public void connect(String host, Integer port, String login, String domain, Stri } public void disconnect() { - if(connection != null) { + if (connection != null) { connection.disconnect(); } } public void sendMessage(String to, String message) { - if(connection == null) { + if (connection == null) { logger.warn("XMPP connection is null"); return; } - if(chatManager == null) { + if (chatManager == null) { logger.warn("XMPP chatManager is null"); return; } @@ -116,7 +114,7 @@ public void sendMessage(String to, String message) { @Override public void newIncomingMessage(EntityBareJid from, Message message, Chat chat) { logger.debug("XMPP {} says {}", from.asBareJid().toString(), message.getBody()); - for(XMPPClientMessageSubscriber subscriber : subscribers) { + for (XMPPClientMessageSubscriber subscriber : subscribers) { logger.debug("Push to subscriber {}", subscriber.getName()); subscriber.processMessage(from.asBareJid().toString(), message.getBody()); } @@ -140,7 +138,7 @@ public void connectionClosed() { @Override public void connectionClosedOnError(Exception e) { logger.debug("Connection to XMPP server was lost."); - if(connection != null) { + if (connection != null) { connection.disconnect(); try { connection.connect().login(); diff --git a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClientHandlerFactory.java b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClientHandlerFactory.java index e193f95e5cc06..6daf6409c7c35 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClientHandlerFactory.java +++ b/bundles/org.openhab.binding.xmppclient/src/main/java/org/openhab/binding/xmppclient/internal/XMPPClientHandlerFactory.java @@ -15,14 +15,14 @@ import java.util.Collections; import java.util.Set; -import org.openhab.binding.xmppclient.XMPPClientBindingConstants; -import org.openhab.binding.xmppclient.handler.XMPPClientHandler; import org.eclipse.smarthome.core.thing.Bridge; import org.eclipse.smarthome.core.thing.Thing; import org.eclipse.smarthome.core.thing.ThingTypeUID; import org.eclipse.smarthome.core.thing.binding.BaseThingHandlerFactory; import org.eclipse.smarthome.core.thing.binding.ThingHandler; import org.eclipse.smarthome.core.thing.binding.ThingHandlerFactory; +import org.openhab.binding.xmppclient.XMPPClientBindingConstants; +import org.openhab.binding.xmppclient.handler.XMPPClientHandler; import org.osgi.service.component.annotations.Component; /** @@ -33,8 +33,8 @@ */ @Component(configurationPid = "binding.xmppclient", service = ThingHandlerFactory.class) public class XMPPClientHandlerFactory extends BaseThingHandlerFactory { - private static final Set SUPPORTED_THING_TYPES_UIDS = - Collections.singleton(XMPPClientBindingConstants.BRIDGE_TYPE_XMPP); + private static final Set SUPPORTED_THING_TYPES_UIDS = Collections + .singleton(XMPPClientBindingConstants.BRIDGE_TYPE_XMPP); @Override public boolean supportsThingType(ThingTypeUID thingTypeUID) { diff --git a/bundles/org.openhab.binding.xmppclient/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.xmppclient/src/main/resources/ESH-INF/thing/thing-types.xml index 84d9d7d0ee19f..b9841ddce73f1 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.xmppclient/src/main/resources/ESH-INF/thing/thing-types.xml @@ -37,7 +37,8 @@ trigger - This channel is triggered when a message is received on the configured XMPP account. The event payload will be the received text. + This channel is triggered when a message is received on the configured XMPP account. The event payload + will be the received text. @@ -46,7 +47,9 @@ - The trigger channel payload usually only contains the received text. If you define a separator character, for example '#', the sender UID and received text will be in the trigger channel payload. For example: pavel@example.com#My Message Text. + The trigger channel payload usually only contains the received text. If you define a separator + character, for example '#', the sender UID and received text will be in the trigger channel payload. For example: + pavel@example.com#My Message Text. diff --git a/bundles/org.openhab.binding.yamahareceiver/pom.xml b/bundles/org.openhab.binding.yamahareceiver/pom.xml index 4f2616067c6b8..73b76e32b51a2 100644 --- a/bundles/org.openhab.binding.yamahareceiver/pom.xml +++ b/bundles/org.openhab.binding.yamahareceiver/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/feature/feature.xml b/bundles/org.openhab.binding.yamahareceiver/src/main/feature/feature.xml index 86572608dbfb3..780981e96c3f0 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - mvn:org.openhab.addons.bundles/org.openhab.binding.yamahareceiver/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + mvn:org.openhab.addons.bundles/org.openhab.binding.yamahareceiver/${project.version} + diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/ChannelsTypeProviderPreset.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/ChannelsTypeProviderPreset.java index f80b99ec21dc0..848498eaad275 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/ChannelsTypeProviderPreset.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/ChannelsTypeProviderPreset.java @@ -104,5 +104,4 @@ public void setThingHandler(ThingHandler handler) { public @Nullable ThingHandler getThingHandler() { return this.handler; } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/handler/YamahaBridgeHandler.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/handler/YamahaBridgeHandler.java index 7156d6d8c7be4..a176d9b4dfff1 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/handler/YamahaBridgeHandler.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/handler/YamahaBridgeHandler.java @@ -358,7 +358,8 @@ public void initialize() { @Override public void onConnectionCreated(AbstractConnection connection) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_PENDING, "Waiting for connection with Yamaha device"); + updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_PENDING, + "Waiting for connection with Yamaha device"); this.connection = connection; this.systemControl = null; @@ -372,6 +373,7 @@ public void onConnectionCreated(AbstractConnection connection) { /** * Attempts to perform a one-time initialization after a connection is created. + * * @return true if initialization was successful */ private boolean ensureConnectionInitialized() { @@ -402,7 +404,9 @@ private boolean ensureConnectionInitialized() { private void onConnectivityError(Exception e) { String description = e.getMessage(); - logger.debug("Communication error. Either the Yamaha thing configuration is invalid or the device is offline. Details: {}", description); + logger.debug( + "Communication error. Either the Yamaha thing configuration is invalid or the device is offline. Details: {}", + description); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, description); } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/InputConverter.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/InputConverter.java index 15e89c1040a3a..d86d50a8e974a 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/InputConverter.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/InputConverter.java @@ -37,5 +37,4 @@ public interface InputConverter { * @return canonical name */ String fromStateName(String name); - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/SystemControl.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/SystemControl.java index 1e66027a57ac6..e148eb7257377 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/SystemControl.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/SystemControl.java @@ -56,5 +56,4 @@ public interface SystemControl extends IStateUpdatable { * @throws ReceivedMessageParseException */ void setPartyModeVolume(boolean increment) throws IOException, ReceivedMessageParseException; - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/XMLConstants.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/XMLConstants.java index da69508d767b5..a0b3f3b63c66d 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/XMLConstants.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/XMLConstants.java @@ -57,5 +57,4 @@ public static class Commands { FEATURE_BY_YNC_TAG.put("USB", Feature.USB); FEATURE_BY_YNC_TAG.put("NET_USB", Feature.NET_USB); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/AvailableInputState.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/AvailableInputState.java index 74784c3330dc3..87df6bc9f4347 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/AvailableInputState.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/AvailableInputState.java @@ -24,5 +24,4 @@ public class AvailableInputState { // List of inputs with public Map availableInputs = new TreeMap<>(); - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/DeviceInformationState.java b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/DeviceInformationState.java index 13bfc7e2426d9..ef8941268fbac 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/DeviceInformationState.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/java/org/openhab/binding/yamahareceiver/internal/state/DeviceInformationState.java @@ -53,5 +53,4 @@ public void invalidate() { features.clear(); properties.clear(); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/binding/binding.xml index 75f175ef448fd..a6a9805b62081 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/binding/binding.xml @@ -1,6 +1,6 @@ - YamahaReceiver Binding diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/thing/thing-types.xml index 1473b13479651..3217a76a26e8b 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/ESH-INF/thing/thing-types.xml @@ -7,19 +7,20 @@ Yamaha Receiver of product line CX-A5000, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, - RX-S600, HTR-xxxx + RX-S600, + HTR-xxxx - - - - + + + + - - + + host @@ -46,7 +47,8 @@ When the album image is not provided by the Yamaha input source, you can specify the default image - URL to apply. + URL + to apply. data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gBKRmlsZSBzb3VyY2U6IGh0dHBzOi8vY29tbW9ucy53aWtpbWVkaWEub3JnL3dpa2kvRmlsZTpSZWNvcmQtQWxidW0tMDIuanBn/+ICHElDQ19QUk9GSUxFAAEBAAACDGxjbXMCEAAAbW50clJHQiBYWVogB9wAAQAZAAMAKQA5YWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1sY21zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZGVzYwAAAPwAAABeY3BydAAAAVwAAAALd3RwdAAAAWgAAAAUYmtwdAAAAXwAAAAUclhZWgAAAZAAAAAUZ1hZWgAAAaQAAAAUYlhZWgAAAbgAAAAUclRSQwAAAcwAAABAZ1RSQwAAAcwAAABAYlRSQwAAAcwAAABAZGVzYwAAAAAAAAADYzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABGQgAAWFlaIAAAAAAAAPbWAAEAAAAA0y1YWVogAAAAAAAAAxYAAAMzAAACpFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2N1cnYAAAAAAAAAGgAAAMsByQNjBZIIawv2ED8VURs0IfEpkDIYO5JGBVF3Xe1rcHoFibGafKxpv33Tw+kw////2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAClANwDASIAAhEBAxEB/8QAHAAAAAcBAQAAAAAAAAAAAAAAAAECAwQFBgcI/8QAQxAAAgEDAQUFBQYCCAUFAAAAAQIDAAQRBQYSITFBEyJRYXEHMoGRoRRCUrHB0WJyIzNDgpKi4fAIFRYkUzSDstLx/8QAGgEAAgMBAQAAAAAAAAAAAAAAAgMBBAUABv/EACwRAAICAQMDAwMEAwEAAAAAAAECAAMREiExBCJBUWHwE3HBMqGx4QUzgUL/2gAMAwEAAhEDEQA/APMv3vIgGiPM8uQ50XUcuooxksAOZGPGr0RFDiT54NK6nx4VJi0+6kQydj2cIHGSU7ij4molxLFESI5O2fqwBC/XifkKIqVGW2gBgxwu8cHM+AP6U20yL1zx6VDeRn5n4dKRSzb6Rgr9ZKN1gd1R8eNINxIevD5UxR0OsmHpEWZGPWiLsebH50mjrskzsQ8k9TQ+NFR4NEJ0Ug8zVpYouRnBHmAarUiZjwFXOkQRqQJn3RnjVmhSWAxK/UMAssZBB9mKmGDOPeCYPzBqkeR4JC0EjoR1ViD8xxq42jdGjjFowYAccDBrMtI59459aude4DaAOPMrdIhZdR8y8s9p9XtSNy+mYeEh7Qf5uP1q+stvpwAt9aQSjq0ZMbfLiKwy8VzxFGaqL1FicNHP0lL8rN7/ANRWjast7au8OcFllXGCOB4jgRXR7FvtunpexRObdju74GVDeGeVeeVZlPdJFXOgbT6toUu/pl9PbZ95Y2yjfzIe6flVivriP1iVbf8AHBt1M7kIFI4AVValazjUY7i3z3YuzwOB5/WqjQvaVZ3m7HrtkIZDwN1YjA9Wi/8Ar8q3Nsba+tBdafcQ3lqf7SI5x5MOYPrV5bVtHaZSNL0nuG0xGsWtnPazSXmnWzzKhYSGLdcEDhxqPtTawS6Js/b3qs9uRGxCtulid/Iz6YrSbVssWiXu4B/VFfnw/WqjaPThfX+l2rM4SFLbgPHcz+tLtXsYDk4nfUGtD4GfxK620nRLbjBo1qX8ZWaX6E4rQaal5cz26Kewt4mDbiKEUAdAorQR6ZEGPAk56cPyqakEVun3Yx58KBatJ5/EY9oYY5jSxnwpE00cT7r53sdBmmtQ1e2tEbDZbHx+X6ms8bLWNWJu4DHFE3BQ7lSR48q5798JuYtaM7tsJzW30GAEGeSSU+A7o/ejvb+w0cGOCCNrn8Cjl/Mf051C1vXsb1vp7eTTD8l/esyck5J41Tu6lKu2gb+sv09NZd3Xk49JL1DUbnUJN65kLAckHBV9BUShQrNYljljkzTVQgwowIKFHRVEKCjoUKkSIdChRgUwSIKUCPCiApQx4kUQkRyJ+QCk1bWdtLMO4VX+Y4qqjYD7zE1ZRiRYTJ2fcHNt7GPrVqjGreVr8+I3cOI2KSEAiojhW5EGnJnEvVW9TTAG70IobGyYSLge8PGBimiDSyxzw+lDIxSjGjaN8RQ50sqCOFIKEUJkwxkEHrVro+tXumXIntLiWCXl2kRwSPAjkw9aqVJHPlTygEZFSrFTkQXUEYM6tee0W62h2fGkXul6T2knZxrewQFJcBgTnieJxx5VN2z1BtL2vhVJFRY5Y99DjDhY4xjPTrXNdkITPtPp8SgnfkHAdeI6VvNvZ7RduZDfQLPGs0rMB76gSbuR4+7yq8js1ROd8zKuRRcARkAfP4mll2jmmyIYkTPRCz/lTCjVL5v6OORQep7o/etjp0NleWkV3ZMk1tKMpIpyD+xHUdKsUtlX3RgelOKFuTA+oB+kTJ6ZsyqOJb5u1ccQn3Qf1+NaRYd1QAOFTlh408sIxyqVATYRTFnO88Y0dChisCejgFHRUK6dBR0VHRCRBR0KMDNGBIgoCnkhzxY/AU+qqg5BaYFgFwJFWN25KxpYgkP3R860+jbJa/rIDabo97PGeUnZ7qf4mwK1Np7H9rZlBkgsbfylulz9M05aGPiKN85pFE6sMgfOrCaVltQisxzzWuhv7F9qlXKvpbnwFzj8xVVqXsx2wslLNo0k6L1tpFl+gOacqOgOBFM4Ygmc8IO9xBB8xSmOMAVZXtrPZTmC9gmt5h/ZzIUb5GoxhUngMHyquVIjhYDzI2KQw4cONOzIy8xlfEU0OFAYwHO8IEjzp1MMKLAbHQ9MdaG6QeHP86icd4sxg9KTgoeHOnYm3ufP8qcaPI5VOIvVjYzS+yuH7X7QtHjGQe2QcP5hT3tLmMm2VxIrYPekBHTeldv1qf7CbcP7SbBm4iJu0+ABb9Ko9s27Taa6BOWRIkPruA/rVjij/spnfqT6afz/AHLrYPa250K8JUGW2cg3Frng4/Gngw/0Nd/064ttRsIb2wlE1rMN5HH1BHQjkR0ryhEWRlZCQwOQfCuk+zTa/wD5Hd7tyWOlzsBcxjiYX/8AIo/MdR5imU2k7GJur0nIncVi606sPCpSIrKrIyujAMrKchgeIIPhinBFw4YppMWBPDXZGkshFTu2QjmKYkYMeFZpUTaVieRI2KGKkxIGyTRMg7xHIcKDRC1eJHxR4p5Ii65ojC1donahGwCTT8SUmNa2ns02RfazXhBIWTTrcCS6kXnu9FHmadVWWIUcxdjhRkwbC7C6ptbLvWwFtp6HEl3IO6PJR9413nZXYHZ3ZpUeGzW7vRzuroB2z5DkvwrR2sEFhZw2llCkNvEu7HGgwFFOqOprWroWsbcyizluZI7ZmAHQchRqX/FimhShIB1phkR0b34jTis4NNLID1p1TmhMmI1GxsNYtjbavZW95Cfuzxh/keYrk+2vsRikjku9jpTHIO8bCd8q3kjniD5H512BBmpMJKHypLqG5hCeJry0uLK7mtb2CS3uYm3JIpFwynwIqDcWuMvEPVa9b+1b2fW+2Wkvd2SJHr1shMMgGO2Uf2bePkehry4YnjkZJEZJEJVlYYKkcCDVRqoX1ChzKNR15jqKeUbwwefQ+NP3lv2bh1HcbmPA00q8cePL1qsRpODH6wwyIjdIOeo+tSYe8BRFcqHAOfD9KOIbsgA+9y9en7VI2gscidH9gcQ/6v1C5I/9PaXMn+GFqxe1UmdrNVYclm3MeSgD9K6J7Abdiu1F/uN2aWcke9jhvSOqAZ8cMa5xtBiTXdTlXk93Kf8AOcU5/wDSuPf5+8rV/wC98+3z9pHC8ARyNSrKb7PMJD7nuyDxHj8KYtOKsjchxHp1/enlGD3h5NQp6iS+N1M757HNoTNE2z95Jl4VMlk7H3o+sfwzkeR8q6gEOK8r7NahPZSQXNsxF1p8gdDnmvQfEZWvVGi3kWsaVbX9qQYp0Djjyz0qy3AMqIdyp8TwUDR5pAo6yQxm9iLDHPOj3jypsUYogxnYjiysvAHhS1lY5HjTFOQDL48qJWJgkCSY18a9LexbSk07YW2n3QJr5muJD1xnCj5D615tVcj4V6m9mc63GwOiPHyWDsz6qSDWn0Q3JlG85xNGOLE04KbXmfWnBV8xIiSSSAOZqZDAgGWBbhk45momCrq2OVTc9pEwU8wV+BGKEyRMpsZtgNo9R+xPpz20nYPO4IYdgQ+6ImLAbzle9w4DPXnWuki3OK8vCq7RtCisboT78rFARGrybwXIxnlzxVxMw3d0cSaWdjtCA9YUQyKlIlNQJgCpiLgcaUxhAR60BBwOnKvNft60CPSNvpLi3QLBqUQusAcA/J/qM/GvTVqneriH/EvuPrOz8Q/rEtpWb0LDH5GlA5bEG7ZMzhlxb79u646ZHwqoC90VrUt+4xI4bp/Ks0qd08KTcu4g9OxwYI1yT5gN+9IK4U/wmpUCd6P+Vv8A5U3OuEmPguaXp2jA287/AOxe33PZQ7HgZpAD/ekPGoG1/sF1COeaXZzVLe9Ejswt7sdjIOOeDjKn1O76VX+yDbFf+W6Ts09kXinmhWOeDLOHDDIZPDnxHL0r0siZdnb3mPrgeFMyCokEEMZ4h1vZnXNmLtE17SbyxG9jfljJRgfBxlT86ivHh8Ecxg+o4V6K9t+s2etpNshDtJY6UbZklvFuYpnWRiMqm9GpC44E5HMjwrk11sHrbQmfTEtNbhTvPJpFytyVGBkmMf0g455rXVkcGLtDbECZzR3KX8PTtVMZ9eY+o+tdl9nO0Z0/Z9rN7hYhBOyoGP3SAwx6Zx8K4qMwMWIKvBMrFSMFSGGQR051or2x7W4Yh2ULw4HHXP61cRNS4EzbbAj5Pn5+ZyKhQoVgiepgoxQoVInQ6XE27IpPKkgUKYoxBMtUFdo9g20KBbjZ65fDljPa5PvfiX9a4nYyh13G99eXmKs7SWW2uIri2kaKeJg6OpwVI61o9O+k6hKFoPBnrl0wcilqM1iPZ57QbTaOKOy1N47XWAMYY7qXHmp6HyremEqeAwfA1oZzEiJCDFLWPB7pxQXI5inkxQkwhAqv+I1IijA50SCpCYzS2MMCOxJUqNcnFNRITyFT4kWNGeQqqKMszHAUeJPSkM2IYEdgQIpZyFUDeZjyA6mvL3tI1obU7aXl/CSbRMW9t5ovX4nJrf8AtP8AaCmpQy6Js7KTaN3bq8Xh2g/Anl4nrXMYrYKBgYHSoRSNzK1zhthxKfUALexlbqV3R6nhWWEWEGaudb1Jbi77CDDQRni34j1NRIhHK3f4Ko3m9P8AfCgbubaQDpXeMwwkOOHuoB8Tx/ao1+u5a3LeQWrhYtyJnYd5iWP7fl8qg6hazTW8dtbRPNczOqJGgyzsxwFA6nlROulDFVWarAPeaT2EbJajtJrt/cW17e6fZ6ZAZ5Lu1n7F0kx3VRyCFY8cnHIEHnXZdoNtNrNgdJhvNVurPXLGdhFbyX1ubS8ViuQwKZSVV6n96tPZnsvZ6XsdpOmaVPDcB0Nxfyq26xmPFwQcHgAEHgFPWvP/ALcduztXtofsjiXS9Ozb2oPBXxwZ8D8R+gFVTpSoHkn9pfBd7TttKDULue+vJ7m5kaWaZ2lkdubsTkk/OrOHfgS3mhd4pk3CskbFWU4PEEcRVHZym5txMybpOeANaC4UxhU6qwU5/hUL+YNW6FGmZ3UudYHBj20Ot3+tW+9qtw11cQRlRcSgGVl4EBnxvPjHNiTVzcZEnqqn/KKydy2YJhjixCj4kCtrcwE3Eij7mF+QFW+nXkD2/MzetfdS3v8AicNoxRUBXnBPZQ6OhR4pgEiGvhSt0n1/OkgcccjT8eCN1udNUQScREeQQykhhxBq2tLlZMLJ3X+hqAUwcngfxdD6+FKxjgw401GKcRFgDiXQHzHEeIrfbK+1HXdESO3vCuqWa8Ak5xIo8n/fNcuiupIuHvr4GpkV7C/vEofOrSXDwcSo1TLvPSWje1fZi/CreSXGmynms8e8ufJlz+Va6x2g0C9ANrrWmyZ8LhQfkcV5KiKsMqwI8jUkQjdXKg/CnhsxRtK8z1+t1pwXeN/ZBfE3CfvUa62p2asFJutc01MdFmDt8lzXk1IFz7g+VTYIOWFA+FdpzAbq9PAnoLVfa/odqrJo9rdanL0Yr2UWfU8T8q53tJtlru1BMd/OIbLPC0t8qn97q3xrKQta2yA3E8SfzNx+VMXO0lrD3bOJ55PEjdX96WdKmdqssGTL6KNY4y7lUjUcWJwAKzeu679pRrXTiRGeDy8i3kPAVVX1/d6gR9qlxGOUa8APhTcUZZTu4SNfedjhR6n/AGaAsW2E7AXcxuOIkqkalmJwMdasLO2D4IwYUOSw5SMPD+EdPE8actbTfXiGWE8GY8GkHhj7q+XM9alu2/mOHCoo7zdFH706uvG5lW2/JwPnz5vGG78hJ/q04t5noKk6NqF3ouo2e0FrEssun3Hbxxsm+JCqnJI/CN4ZPTIxTcEP2p+zQmO2iwZHAyRnwHVjyA/SrjU76LZ3R3vHjAnKiKCHOd3mQuevVmPU5o2rDqdRwPJiRc1TroGWJ2E1W1Xtt0LXNjb8zbNxR7RzxmATxuUhIZSN9t1gWIzwU548civPEK9o+CfWmpWeWZ5ZCC7sWY4xknnVnpduYy0kq4PIAj61gompsCeodtC5MvNIEbdju4McY3m9BxwasJ5Dv97mo4+p4mqqG2MSdvBIYZW7xHNSvQEeZ/KjE8xO5NHhmOSynINaiOUXBExbKw7llMtdKh+2atp9t/5J1Zv5R3jVxrM9/JfM1hGWQ8X8mJJH+UrTGxsBaW+1B+6kSfZYj/G/vH4Ln510X2d6fFe6A99Io/7ud5VB6JwVf8qimszLUNBwSf2EqhVfqDqGQo/c/wBfxPMooUKOsUDM9TAKWtIpa8DTUgmPCLI6/qKNVxgMPQinYsHHjT+4DnkPyNPC5iC+NjGkOBx4jxpWAR3SMeB5f6Ul42TiOHry+f70jOD3gVP513HMHGdxDK46FfqKWoz03h5caCMQeBBp1ShP9ImD44xXAAyCSI/YRh5VAGTnlVrqTt3QCyEDHOmdMUxyrNEC+70YkindRL3MpdyqZPu4zWig00keTKFjarR6CV/bz9J3+Bo9+R/fmkP9404sAz70Z/un96kxW4/HGP8A2gfzzVQho3UviR4kjJAUbzeHM1J7Nl94LEp/Gd3Pw50//RBcPO5XwD7o+QxS4ZI0/qIcn8QHP40SpF2XHGwhQWu9xVC/8UmUX5e8fpU5Y4od15mEjr7uRhV/lUcqimZz78ioPBeJo4WZyTbRlsc5WPAerHgKsLgcSk+puT8+8mSSs4zITHH4feb9qOCJ7sJugxW2cAqMlj4KPvN58h1NLs9OMh7SXEnXefIjHw5t9B61bI6Q8UJaQjBduePAdAPIcKsJWW3MqPaqbLuY/axR2ka5RVKZKRg5CE82J+8x6n4DArK7ewXV+tr9nCyJFvFkDd7Jxxx8KtLzUAgbDAnqegrN39+0pKqTg8z40HUshrNcPoarBcLvImesrZjLvyqQqnkepq4t07V8tncXnjr5Cm40aVjg4A4sx6VJJCKEQYx9PM+ZrNrQKJtW2FzHJX3mxwwDk45Z/YcqaG+7qsSl5pGCRqOZJ5CkMRg8QFHM1q9krJbG1bX78iLCN9k3vuKPemPpyXxPpTUBtbSJXtYdOmo/89zJOsQjTNIs9BtTv3EpMTlfvO2O1b8kHr5Vu01Sy2ctbXTpphG0cQOAfX9QaxuxVudR1S416+Ux21uN2FX+6By+I4k+Z8q6TsJ7KLT2i6K+020N1c2v2yd/sUceB/2y4VGIPiQ59CKm7qAvcOOB9hF0dMQNLc8n7meTyMUdTr2ye0k3Jgdz7r/vUSSJo+fEeNUChU4m6rhhkRIFHjHp40VOxnxHA1KjMkmCOQp5ipcUob9qYMAIyhA/L59PjTZRkOGBBpoysWQrS0Qg5wfhSTGp5DHpy+VQklZefGpEdwDzOPWj1gxJrI4ivs2TwHyOPoaWkUqHgT8Qf0zS45FP+hqZbsCRg0SoDxFO7DmWeiws8DybxjKg5KkVAvSzSH+jd/PjU6Id3OaIxRsctGhPjir1mSgUTPVsOWMqlRieEEnyNSEhm4Ys5CPNTVikMWf6pPlUhIYQeEEOf5BVf6RjD1A9JVokwPBYUPmy5Hw4mpUdlPLjed2H8CHHzbH5VZKwQcCqjwGBSvtEYPFyfSmrUPJlZ72P6RGrfS0XBkCZ8XO+flwFWCpEmCF32XkX449ByHwFV8uoJGOg/mNV1zq2chSW9OApv1K64n6Vtx3l9PeKpO82T4Cqm91TA3c/3RVLNeSSZ47o8BTKK8hO4pOOZ6D1NIs6otsJbq6FU3aPXFy8p7xwPAUmKJpMEkqh69T6ClrEkY3pCGP0+XX8vWiklLZ5gcsnmf8AfhVY5O7S4ABssdLBQFjAGPjj9z500W545dTTTyADJO6orRaBs59ojS/1oNBp+N+ODO684HU59xPFj8KlVaw6VgWWJSupzBsvoY1Ii91BWXSo2wF5NcuPuL5Dq3QVNvbmfazWEsbEgWSMN90GEIXgMD8C8lHU8ajarqtxtFcrpukIEswvZlkG6hQfdUfdj+rVprSEbP2cGn6VbveaxeOIoYYx35ZDwAHh+gppKhSint8n19hEIru4tsHd/wCR6e59/n2vtK0B9p9b07YrSMx2W72upXC/2Nsp73H8THujzOeleqLS2gtLSG2tYlhtoEWKKNRwRFGAo9AKxnso2Jj2K2faK4dLjW75hPqNyvJ5McEU/gQHA+J4ZrdDlWdY5dszRrTSMTwHELbU7Ue62Rkjn8vKs/qOmS2DEopktz05kVp9Z2emsp2u9HXHHee3BwD5p4Hy/wDyollqsN2jR3A3XHdYMMYPgw6VuW0Bzos7W8HwZm1WlBrqOV8jyJkjbJKu/bsP5Ty/0psIUbdYFH8D1rTaloJZjPYNuOeO7ng1UrzGNuw1CHcI/EOH+lZ1lBqOHGPfxNKrqBaOw59vMaUEHqpp1Twww4eQ4fKnkgBUGCQFT91zkfBqQ6GP+sVo/M8VPx5V2krOLAxtoI393uny4/SmTbuPdw3oePyqSVPPAI8RQBI4Z+BoSohByJFCshwQVPnwqZZu/bIoOcmloxxgjh5H9OVTLFIzKrFBkHPu/tR1V5YYMXZZ2nIlteKLe0RuJZuHGqR71t73RVxfukyorcAo8SKqvs0Jbi7f4x+1WuozqwvEpU6cZYRIvn/D9aWL9+irShaQ/wDkf/GtKFrbjnI/+MfoKr6X9Y0mv0jZvpiOGB6Cm3uZW96Q49cVJ7G1HTe/vsf0o8wp7kS+u5+5NdpbyZwKeFkFQ8jYRWdvIZNOrbSE94qnkTk/IU+8zEYIAXwY8Plyplpc8N4keC8BQ6QOYQYniKEUMfvZdv4v2H6mg8p6DCjlnp6DkKZZ8DPBR4mnLCzvNSk3bC2luPFgMIvqx4Cu9hJOANTGNs+TkcT4ml2Frdalc9hYQPcTczu+6o8WPID1rRQ7M2llD9p2gv49wc4YX3U9DIefooNN3W04MQsNm7NUgzgER7qE+IXmx82+VFoC72HH8xZtZtqVz7nYD58MlW+naXs5Et5q00V5efcXG9Eh/gXnI3me6POoM02p7W3TKd+KyLAvvHO9jkXPU+CjgKd07ZyWeY3mtzs8h5hm4+hPQeQrQWT3N9qEWi7MWTXeoMMCOMbqxL1Z25Ivrx+dNI7e7tX08n7xSV9+rOp/XwPtBALbQIYrSwhe41CdhHHFGu9JLIeAAHU+XIV3v2Qezxtmw2ubQ7k201ym6ADvJYxnnGh6sfvN8BwySj2X+ziz2SzqOoSrqG0Uq7r3RXuQKfuQg+6PE8z5cq6PESSBzY8OHWqtrF9sYA8S2iBN+T6ychp4OMVkto9stE2bcw6jehr4LvCytV7a4I58UHujzYqPOuV6t7f1ivXSys9LjhXgFuJpZn+LRDc+AJ9aQUJjQZjpYVdcNxzWZ1/Z21v5BIGaG6A7s6c/j4ihQr2ZrW0aXGRPNB2r70ODMTpepzpNNbndbsmIJxwbBxy6fCtB2FvqVmhuIFZWGcHiR6GhQrL/AMextTS+4/uafXKK21JsdpnNc0VdKVZ7O4kVWPuEZ+tV9pqMhkETKOJxkcM+ooUKz+tUUdToq2G0u9Gxvo1WbmTTFEzkbm434ozu/TlSbqBrdA2+HU9CvGhQrmUaSYIY6gIzCVkPBd30NWtimDzJoUKLptyDB6jbaOXOQTxqEXweQNChRW/qi6hkQ+259wUYmJ5KBQoUvMYVEMlyud4D4UySTzY0KFcZyxiWXc+7n1NX+zmz7a0pd7wwIvEqkeSfiT+lChUUKHt0txA6xzVTrTmXMGj6XZXBRbMXEy8e1unMn+XgKpNQ2uvZZ2tLZEgRDugnvY9FwFHyoUKHqnatOzbeP6KlLbM2DOBneK07RzrN0Zb+7mlZRnLcT6DoPlWlitLbTIR9lhUEkLvHmc+JoUKf0iKKvqY39YPWEm76fjbaFsvYz7Y7ZroJvHsYVQySTRKGcgYyFzwU8efGvS2yGzGk7KaaLTRbVII2IZ35ySN+J25sf9ihQpGS2WbnJjXUIdK8S21rURpOiXuovCZxawtN2Qfc38DlnBx8jXnHa/2wbQ6posd5A/8Ay2wuWdFtLJzG/A4/pJvfb0XcoUKEgYz95y8zk17qt3do0ckgSBjvGGIbiE88kfePm2TULNChVcmME//Z @@ -58,7 +60,8 @@ Some Yamaha models return different input values on status update than required in the change input commands. For example: HDMI1 command may be reported as HDMI_1 after status update. - There are other related edge cases (USB, iPad_USB). This setting allows the user to customize the + There are other related edge + cases (USB, iPad_USB). This setting allows the user to customize the return input mapping to meet their AVR model. The setting is a comma separated list of value mapping from to. @@ -72,15 +75,15 @@ - + Yamaha Receiver Zone - - - + + + zone @@ -118,17 +121,17 @@ Control the zone - + - - - - - - + + + + + + @@ -210,7 +213,7 @@ Set the volume level (dB) SoundVolume - + @@ -225,7 +228,7 @@ Set the dialogue level SoundVolume - + @@ -247,14 +250,14 @@ Control the playback for the current zone and allow to select preset channels - - - - - - - - + + + + + + + + @@ -262,35 +265,35 @@ String Current station name - + String Artist - + String Album - + String Track title - + String Track picture URL - + @@ -378,15 +381,15 @@ Allow to navigate for inputs like USB, iPOD, NET_RADIO - - - - - - - - - + + + + + + + + + @@ -394,9 +397,11 @@ String Shows the current navigation menu and allows to change to a channel by a full path. - For example for net radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station + For example for net + radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station name - without a full path if the AVR is in that navigation menu already. + without a full path if the + AVR is in that navigation menu already. Navigation @@ -406,7 +411,7 @@ Shows the current item number Navigation - + @@ -414,7 +419,7 @@ Shows the maximum item number Navigation - + @@ -422,7 +427,7 @@ Hierarchical level Navigation - + diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/ResponseLoader.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/ResponseLoader.java index 12b8caf726f64..3d845d99d2fd5 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/ResponseLoader.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/ResponseLoader.java @@ -12,11 +12,11 @@ */ package org.openhab.binding.yamahareceiver.internal; -import org.apache.commons.io.IOUtils; - import java.io.IOException; import java.io.InputStream; +import org.apache.commons.io.IOUtils; + /** * Helper for loading XML files from classpath. * @@ -36,5 +36,4 @@ public String load(String path) throws IOException { public String load(String path, String model) throws IOException { return load(String.format("/%s/%s", model, path)); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/TestModels.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/TestModels.java index b1ee87475994a..42112474ed0d9 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/TestModels.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/TestModels.java @@ -22,5 +22,4 @@ public class TestModels { public static final String RX_S601D = "RX-S601D"; public static final String RX_V3900 = "RX-V3900"; public static final String HTR_4069 = "HTR-4069"; - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/XMLProtocolFactoryTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/XMLProtocolFactoryTest.java index e818abb58a04e..fd3ef99d8e91c 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/XMLProtocolFactoryTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/XMLProtocolFactoryTest.java @@ -88,5 +88,4 @@ public void given_RXS601D_without_ZONEB_then_Zone2_control_is_ZoneControlXML() // assert assertTrue("Created Zone control", zoneControl instanceof ZoneControlXML); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractXMLProtocolTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractXMLProtocolTest.java index e1b87a33071ba..bfdab8d1dd149 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractXMLProtocolTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractXMLProtocolTest.java @@ -12,11 +12,11 @@ */ package org.openhab.binding.yamahareceiver.internal.protocol.xml; +import static org.mockito.MockitoAnnotations.initMocks; + import org.junit.Before; import org.mockito.Mock; -import static org.mockito.MockitoAnnotations.initMocks; - /** * Baseline for tests for the XML protocol implementation. * @@ -39,5 +39,4 @@ public void setUp() throws Exception { protected void onSetUp() throws Exception { } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractZoneControlXMLTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractZoneControlXMLTest.java index 04df9b52eca37..e2517d43d7ef9 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractZoneControlXMLTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/AbstractZoneControlXMLTest.java @@ -12,15 +12,15 @@ */ package org.openhab.binding.yamahareceiver.internal.protocol.xml; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.when; + import org.mockito.Mock; import org.openhab.binding.yamahareceiver.internal.config.YamahaZoneConfig; import org.openhab.binding.yamahareceiver.internal.protocol.InputConverter; import org.openhab.binding.yamahareceiver.internal.state.DeviceInformationState; import org.openhab.binding.yamahareceiver.internal.state.ZoneControlStateListener; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.when; - /** * Common zone test. * @@ -51,5 +51,4 @@ protected void onSetUp() throws Exception { when(inputConverter.fromStateName(anyString())).thenAnswer(p -> p.getArgument(0)); when(inputConverter.toCommandName(anyString())).thenAnswer(p -> p.getArgument(0)); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/DeviceDescriptorXMLTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/DeviceDescriptorXMLTest.java index 4c8784e8c59eb..67badb6fb9165 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/DeviceDescriptorXMLTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/DeviceDescriptorXMLTest.java @@ -101,7 +101,6 @@ private void parsesDescriptor(String model, List%s", ZONE_INPUT_QUERY), "Main_Zone_Input_Input_Sel_Item.xml"); + ctx.respondWith(String.format("%s", ZONE_INPUT_QUERY), + "Main_Zone_Input_Input_Sel_Item.xml"); } @Test @@ -84,5 +85,4 @@ public void when_mapping_fromStateName_takesUserMappingAboveAll() { assertEquals("HDMI 1", hdmi1); assertEquals("BLUETOOTH", bluetooth); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/InputWithPlayControlXMLTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/InputWithPlayControlXMLTest.java index 39871eb5335b0..cac736be8045f 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/InputWithPlayControlXMLTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/InputWithPlayControlXMLTest.java @@ -12,6 +12,15 @@ */ package org.openhab.binding.yamahareceiver.internal.protocol.xml; +import static org.junit.Assert.assertEquals; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; +import static org.openhab.binding.yamahareceiver.internal.TestModels.*; +import static org.openhab.binding.yamahareceiver.internal.YamahaReceiverBindingConstants.Inputs.*; + +import java.util.function.Consumer; + import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Captor; @@ -20,15 +29,6 @@ import org.openhab.binding.yamahareceiver.internal.state.PlayInfoState; import org.openhab.binding.yamahareceiver.internal.state.PlayInfoStateListener; -import java.util.function.Consumer; - -import static org.junit.Assert.assertEquals; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; -import static org.openhab.binding.yamahareceiver.internal.TestModels.*; -import static org.openhab.binding.yamahareceiver.internal.YamahaReceiverBindingConstants.Inputs.*; - /** * Unit test for {@link InputWithPlayControlXML}. * @@ -95,7 +95,6 @@ public void given_RX_S601D_and_Spotify_when_nextPrevious_then_sendsProperCommand verify(con).send(eq("Skip Rev")); } - @Test public void given_RX_S601D_and_Bluetooth_when_playStopPause_then_sendsProperCommand() throws Exception { given(RX_S601D, INPUT_BLUETOOTH, ctx -> { @@ -143,7 +142,6 @@ public void given_RX_S601D_and_NET_RADIO_when_nextPrevious_then_sendsProperComma verify(con).send(eq("Skip Rev")); } - @Test public void given_RX_S601D_and_Spotify_when_update_then_stateIsProperlyRead() throws Exception { given(RX_S601D, INPUT_SPOTIFY, ctx -> { @@ -249,7 +247,6 @@ public void given_RX_V3900_and_NET_RADIO_when_update_then_stateIsProperlyRead() ctx.respondWith("GetParam", "NET_USB_Play_Info.xml"); }); - // when subject.update(); diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ModelContext.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ModelContext.java index 41831b558adf8..0cfe55132e4cb 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ModelContext.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ModelContext.java @@ -12,16 +12,16 @@ */ package org.openhab.binding.yamahareceiver.internal.protocol.xml; -import java.io.FileNotFoundException; -import java.io.IOException; - -import org.openhab.binding.yamahareceiver.internal.ResponseLoader; - import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import static org.openhab.binding.yamahareceiver.internal.protocol.xml.XMLConstants.Commands.SYSTEM_STATUS_CONFIG_CMD; import static org.openhab.binding.yamahareceiver.internal.protocol.xml.XMLConstants.Commands.ZONE_BASIC_STATUS_CMD; +import java.io.FileNotFoundException; +import java.io.IOException; + +import org.openhab.binding.yamahareceiver.internal.ResponseLoader; + /** * Testing context for a selected Yamaha model. * diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/SystemControlXMLTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/SystemControlXMLTest.java index 07b982ab67778..ea82c52499a2c 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/SystemControlXMLTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/SystemControlXMLTest.java @@ -118,5 +118,4 @@ public void given_RX_V3900_when_update_then_parsesStateAndDoesNotUpdateStateForP assertTrue(state.power); assertFalse(state.partyMode); } - } diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneBControlXMLTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneBControlXMLTest.java index c1ca5e491ff82..9a2ce3acaa29e 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneBControlXMLTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneBControlXMLTest.java @@ -12,10 +12,6 @@ */ package org.openhab.binding.yamahareceiver.internal.protocol.xml; -import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.openhab.binding.yamahareceiver.internal.state.ZoneControlState; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.ArgumentMatchers.eq; @@ -23,6 +19,10 @@ import static org.mockito.Mockito.when; import static org.openhab.binding.yamahareceiver.internal.TestModels.HTR_4069; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.openhab.binding.yamahareceiver.internal.state.ZoneControlState; + /** * Unit test for {@link ZoneBControlXML}. * @@ -39,7 +39,8 @@ private void given(String model) throws Exception { DeviceInformationXML deviceInformation = new DeviceInformationXML(con, deviceInformationState); deviceInformation.update(); - subject = new ZoneBControlXML(con, zoneConfig, zoneControlStateListener, deviceInformationState, () -> inputConverter); + subject = new ZoneBControlXML(con, zoneConfig, zoneControlStateListener, deviceInformationState, + () -> inputConverter); } @Test @@ -52,7 +53,8 @@ public void given_HTR_4069_when_power_then_sendsProperCommand() throws Exception // then verify(con).send(eq("On")); - verify(con).send(eq("Standby")); + verify(con) + .send(eq("Standby")); } @Test @@ -68,7 +70,6 @@ public void given_HTR_4069_when_mute_then_sendsProperCommand() throws Exception verify(con).send(eq("Off")); } - @Test public void given_HTR_4069_when_volume_then_sendsProperCommand() throws Exception { given(HTR_4069); @@ -77,7 +78,8 @@ public void given_HTR_4069_when_volume_then_sendsProperCommand() throws Exceptio subject.setVolumeDB(-2); // then - verify(con).send(eq("-201dB")); + verify(con).send(eq( + "-201dB")); } @Test diff --git a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneControlXMLTest.java b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneControlXMLTest.java index 25a329ea1afb7..140b36166a172 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneControlXMLTest.java +++ b/bundles/org.openhab.binding.yamahareceiver/src/test/java/org/openhab/binding/yamahareceiver/internal/protocol/xml/ZoneControlXMLTest.java @@ -12,10 +12,6 @@ */ package org.openhab.binding.yamahareceiver.internal.protocol.xml; -import org.junit.Test; -import org.mockito.ArgumentCaptor; -import org.openhab.binding.yamahareceiver.internal.state.ZoneControlState; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.ArgumentMatchers.eq; @@ -23,6 +19,10 @@ import static org.openhab.binding.yamahareceiver.internal.TestModels.*; import static org.openhab.binding.yamahareceiver.internal.YamahaReceiverBindingConstants.Zone.Main_Zone; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.openhab.binding.yamahareceiver.internal.state.ZoneControlState; + /** * Unit test for {@link ZoneControlXML}. * @@ -38,7 +38,8 @@ private void given(String model) throws Exception { DeviceInformationXML deviceInformation = new DeviceInformationXML(con, deviceInformationState); deviceInformation.update(); - subject = new ZoneControlXML(con, Main_Zone, zoneConfig, zoneControlStateListener, deviceInformationState, () -> inputConverter); + subject = new ZoneControlXML(con, Main_Zone, zoneConfig, zoneControlStateListener, deviceInformationState, + () -> inputConverter); } @Test @@ -76,7 +77,6 @@ public void given_RX_S601D_when_mute_then_sendsProperCommand() throws Exception verify(con).send(eq("Off")); } - @Test public void given_RX_V3900_when_mute_then_sendsProperCommand() throws Exception { given(RX_V3900); @@ -98,7 +98,8 @@ public void given_RX_S601D_when_volume_then_sendsProperCommand() throws Exceptio subject.setVolumeDB(-2); // then - verify(con).send(eq("-201dB")); + verify(con).send( + eq("-201dB")); } @Test @@ -140,7 +141,8 @@ public void given_RX_S601D_when_surroundProgram_then_sendsProperCommand() throws subject.setSurroundProgram("Adventure"); // then - verify(con).send(eq("Adventure")); + verify(con).send(eq( + "Adventure")); } @Test @@ -151,10 +153,10 @@ public void given_RX_V3900_when_surroundProgram_then_sendsProperCommand() throws subject.setSurroundProgram("Adventure"); // then - verify(con).send(eq("OffAdventure")); + verify(con).send(eq( + "OffAdventure")); } - @Test public void given_RX_S601D_when_surroundProgramStraight_then_sendsProperCommand() throws Exception { given(RX_S601D); @@ -163,7 +165,8 @@ public void given_RX_S601D_when_surroundProgramStraight_then_sendsProperCommand( subject.setSurroundProgram("Straight"); // then - verify(con).send(eq("On")); + verify(con).send(eq( + "On")); } @Test @@ -185,7 +188,8 @@ public void given_HTR_4069_when_dialogueLevel_then_sendsProperCommand() throws E subject.setDialogueLevel(10); // then - verify(con).send(eq("10")); + verify(con).send(eq( + "10")); } @Test diff --git a/bundles/org.openhab.binding.yeelight/pom.xml b/bundles/org.openhab.binding.yeelight/pom.xml index f691673a89712..d137cbf98a286 100644 --- a/bundles/org.openhab.binding.yeelight/pom.xml +++ b/bundles/org.openhab.binding.yeelight/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.yeelight/src/main/feature/feature.xml b/bundles/org.openhab.binding.yeelight/src/main/feature/feature.xml index c2e4588f0afac..60dea3e55d332 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.yeelight/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.yeelight/${project.version} + diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/handler/YeelightHandlerBase.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/handler/YeelightHandlerBase.java index eb3172ec14d92..092f4b4ecb3d7 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/handler/YeelightHandlerBase.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/handler/YeelightHandlerBase.java @@ -339,6 +339,5 @@ int getDuration() { // Duration should not be null, but just in case do a null check. return getThing().getConfiguration().get(PARAMETER_DURATION) == null ? 500 : ((Number) getThing().getConfiguration().get(PARAMETER_DURATION)).intValue(); - } } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/CeilingDeviceWithAmbientDevice.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/CeilingDeviceWithAmbientDevice.java index 8b129c84291a9..4d51717744ace 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/CeilingDeviceWithAmbientDevice.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/CeilingDeviceWithAmbientDevice.java @@ -72,7 +72,6 @@ public void onNotify(String msg) { } super.onNotify(msg); - } @Override diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/ColorFlowItem.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/ColorFlowItem.java index 51001596735a9..6aa918d775430 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/ColorFlowItem.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/ColorFlowItem.java @@ -26,5 +26,4 @@ public String toString() { return "ColorFlowItem [duration=" + duration + ", mode=" + mode + ", value=" + value + ", brightness=" + brightness + "]"; } - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceBase.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceBase.java index ef78b5b1fea3e..5dd929fc8d76e 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceBase.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceBase.java @@ -397,7 +397,6 @@ public DeviceStatus getDeviceStatus() { public void registerConnectStateListener(DeviceConnectionStateListener listener) { mConnectionListeners.add(listener); - } public void registerStatusChangedListener(DeviceStatusChangeListener listener) { @@ -431,5 +430,4 @@ private void checkAutoConnect() { connect(); } } - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceFactory.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceFactory.java index 72b1debf03a2c..91c22dda4aea5 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceFactory.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceFactory.java @@ -70,5 +70,4 @@ public static DeviceBase build(Map bulbInfo) { LOGGER.debug("{}: DeviceFactory Device info = {}, port = {}", TAG, device.getAddress(), device.getPort()); return device; } - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceMethod.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceMethod.java index 747b2e1ac1f88..15cc7ac00678b 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceMethod.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceMethod.java @@ -100,5 +100,4 @@ public String getCustomParamsStr() { public String getCmdId() { return String.valueOf(mIndex); } - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceStatus.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceStatus.java index f7c9e04b38fd4..fe17f0bc85307 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceStatus.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/DeviceStatus.java @@ -266,5 +266,4 @@ public int getFlowEndAction() { public void setFlowEndAction(int flowEndAction) { this.flowEndAction = flowEndAction; } - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/ConnectionBase.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/ConnectionBase.java index 7e1cac5e6ce03..d2cba7287b756 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/ConnectionBase.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/ConnectionBase.java @@ -28,5 +28,4 @@ public interface ConnectionBase { boolean connect(); boolean disconnect(); - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/WifiConnection.java b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/WifiConnection.java index 02e26125bb2d6..c549f90c9d37f 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/WifiConnection.java +++ b/bundles/org.openhab.binding.yeelight/src/main/java/org/openhab/binding/yeelight/internal/lib/device/connection/WifiConnection.java @@ -130,5 +130,4 @@ public boolean disconnect() { mDevice.setAutoConnect(false); return false; } - } diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/binding/binding.xml index b5abeb92b9ff7..632ebbc77f452 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + Yeelight Binding This is the binding for Yeelight products. diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/config/config.xml index 766b5f9474be4..b2117b188172c 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/config/config.xml @@ -12,7 +12,8 @@ - Duration of transition of events such as on/off, change of brightness and change of color, in milliseconds. + Duration of transition of events such as on/off, change of brightness and change of color, in + milliseconds. milliseconds 500 diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling.xml index 0c1a147c520f1..e5bdf5ca9af9f 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling.xml @@ -1,5 +1,6 @@ - @@ -8,11 +9,11 @@ Yeelight LED Ceiling lamp - - - + + + - + diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling4.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling4.xml index 79bd57c42c975..3fa58fa1ecac2 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling4.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ceiling4.xml @@ -1,5 +1,6 @@ - @@ -9,7 +10,7 @@ - + diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/channels.xml index 54b8103b75939..a3e83a4715f42 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/channels.xml @@ -9,7 +9,8 @@ Dimmer The brightness channel allows to control the brightness of a light. - It is also possible to switch the light on and off. + It is also possible to switch the + light on and off. DimmableLight diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ct_bulb.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ct_bulb.xml index a8d1e4e2a1249..7c77d78084bf8 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ct_bulb.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/ct_bulb.xml @@ -9,11 +9,11 @@ Yeelight White LED Bulb v2 - - - + + + - + diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/desklamp.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/desklamp.xml index 9d64b21faa218..963a983c3a23b 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/desklamp.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/desklamp.xml @@ -1,5 +1,6 @@ - @@ -8,11 +9,11 @@ Yeelight MI LED Desk Lamp - - - + + + - + diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/dolphin.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/dolphin.xml index 093f84216c7ae..fa76ab70808b5 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/dolphin.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/dolphin.xml @@ -1,5 +1,6 @@ - @@ -8,10 +9,10 @@ Yeelight White LED Bulb - - + + - + diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/stripe.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/stripe.xml index 7f2944ecba283..47e051c0c3a17 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/stripe.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/stripe.xml @@ -1,5 +1,6 @@ - @@ -8,11 +9,11 @@ Yeelight Color LED Stripe - - - + + + - + diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/wonder.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/wonder.xml index d988a91acc3a7..91785d237d1d5 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/wonder.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/ESH-INF/thing/wonder.xml @@ -1,5 +1,6 @@ - @@ -8,11 +9,11 @@ Yeelight Color LED Bulb - - - + + + - + diff --git a/bundles/org.openhab.binding.zoneminder/pom.xml b/bundles/org.openhab.binding.zoneminder/pom.xml index 776533edf5e53..dbfc42bedd04e 100644 --- a/bundles/org.openhab.binding.zoneminder/pom.xml +++ b/bundles/org.openhab.binding.zoneminder/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.zoneminder/src/main/feature/feature.xml b/bundles/org.openhab.binding.zoneminder/src/main/feature/feature.xml index 0bb8e73d7aa14..f786d487a16ef 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.zoneminder/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.binding.zoneminder/${project.version} + diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/ZoneMinderConstants.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/ZoneMinderConstants.java index 2f86e4b9c975e..93ed92560613a 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/ZoneMinderConstants.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/ZoneMinderConstants.java @@ -101,5 +101,4 @@ public class ZoneMinderConstants { public static final String MONITOR_EVENT_MOTION = "Motion"; public static final String MONITOR_EVENT_FORCED_WEB = "Forced Web"; public static final String MONITOR_EVENT_OPENHAB = "openHAB"; - } diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderBridgeServerConfig.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderBridgeServerConfig.java index 8ba7e99e0db33..3604966c0cca6 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderBridgeServerConfig.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderBridgeServerConfig.java @@ -126,5 +126,4 @@ public Boolean getAutodiscoverThings() { public void setAutodiscoverThings(Boolean autodiscoverThings) { this.autodiscover_things = autodiscoverThings; } - } diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderThingConfig.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderThingConfig.java index 7367b3d398195..025f01bf2ec08 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderThingConfig.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/config/ZoneMinderThingConfig.java @@ -27,5 +27,4 @@ public abstract class ZoneMinderThingConfig extends ZoneMinderConfig { public String getConfigId() { return ZoneMinderConstants.THING_ZONEMINDER_MONITOR; } - } diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderBaseThingHandler.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderBaseThingHandler.java index 539e7b54c87e0..2d34aa67faa7d 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderBaseThingHandler.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderBaseThingHandler.java @@ -351,7 +351,6 @@ protected State getChannelStringAsStringState(String channelValue) { } return state; - } protected State getChannelBoolAsOnOffState(boolean value) { @@ -392,5 +391,4 @@ protected void updateThingStatus(ThingStatus thingStatus, ThingStatusDetail stat } } } - } diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderHandler.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderHandler.java index 06c6ff4ab12d0..1747a8ca66983 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderHandler.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderHandler.java @@ -42,5 +42,4 @@ void onBridgeConnected(ZoneMinderServerBridgeHandler bridge, IZoneMinderConnecti throws IllegalArgumentException, GeneralSecurityException, IOException, ZoneMinderUrlNotFoundException; void onBridgeDisconnected(ZoneMinderServerBridgeHandler bridge); - } diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderServerBridgeHandler.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderServerBridgeHandler.java index 5b76fc32e60c8..15cbe545419f9 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderServerBridgeHandler.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderServerBridgeHandler.java @@ -881,7 +881,6 @@ synchronized void closeConnection() { logger.error("{}: closeConnection(): Error closing connection - {}", getLogIdentifier(), exception.getMessage()); } - } protected State getServerCpuLoadState() { @@ -990,7 +989,6 @@ public void onBridgeDisconnected(ZoneMinderServerBridgeHandler bridge) { thing.getBridgeUID(), thing.getUID(), thingHandler); } } - } /** @@ -1018,7 +1016,6 @@ protected void stopTask(ScheduledFuture task) { } } catch (Exception ex) { } - } public ArrayList getMonitors() { diff --git a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderThingMonitorHandler.java b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderThingMonitorHandler.java index f9e2558fab855..8b3fff747d63e 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderThingMonitorHandler.java +++ b/bundles/org.openhab.binding.zoneminder/src/main/java/org/openhab/binding/zoneminder/internal/handler/ZoneMinderThingMonitorHandler.java @@ -561,7 +561,6 @@ public void updateStatus(ThingStatus status) { super.updateStatus(status); updateState(ZoneMinderConstants.CHANNEL_ONLINE, ((status == ThingStatus.ONLINE) ? OnOffType.ON : OnOffType.OFF)); - } protected void recalculateChannelStates() { @@ -655,7 +654,6 @@ protected void recalculateChannelStates() { // Now we can conclude on the Alarmed and Recording channel state channelRecordingState = (recordingFunction && recordingDetailedState && channelEnabled); channelAlarmedState = (alarmedFunction && alarmedDetailedState && channelEnabled); - } @Override @@ -759,7 +757,6 @@ protected void onFetchData() { && (DataRefreshPriorityEnum.HIGH_PRIORITY == getRefreshPriority())) { stopPriorityRefresh(); } - } protected State getDetailedStatus() { @@ -777,7 +774,6 @@ protected State getDetailedStatus() { } return state; - } /* diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/binding/binding.xml index ad597abc3f2ee..bfb41faed36eb 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/binding/binding.xml @@ -1,8 +1,7 @@ - + ZoneMinder Binding This binding interfaces a ZoneMinder Server diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/monitor-channels.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/monitor-channels.xml index 93eef7e18614e..9339531e96219 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/monitor-channels.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/monitor-channels.xml @@ -14,7 +14,7 @@ Timeout in seconds when activating alarm. Default is 60 seconds 60 - + Event text in ZoneMinder Triggered from openHAB diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/zoneminderserver.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/zoneminderserver.xml index 12b35d276c8af..ba93625d62de1 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/zoneminderserver.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/config/zoneminderserver.xml @@ -1,10 +1,13 @@ - basic - + credentials @@ -62,15 +65,18 @@ 6802 true - + Seconds between each call to ZoneMinder Server API to refresh values in openHAB 10 true - + - Minutes between each call to ZoneMinder Server to refresh Server DiskUsage in ZoneMinder. Default value is '0' (Disabled) + Minutes between each call to ZoneMinder Server to refresh Server DiskUsage in ZoneMinder. Default value + is '0' (Disabled) 0 true diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/monitor-thing.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/monitor-thing.xml index 34d2bb6dde6ee..4050d4d63fc1f 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/monitor-thing.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/monitor-thing.xml @@ -1,32 +1,33 @@ - - + Camera in ZoneMinder - - - - - - - - - - - + + + + + + + + + + + - + @@ -34,36 +35,38 @@ Switch Switch telling if the monitor is online - + Switch Showing the value of the checkbox 'enabled' in ZoneMinder for the monitor - + Switch Will force an alarm from openHAB in ZoneMinder - + Switch - set to 'ON' when one of the following is true: Motion detected, Signal lost, Force Alarm pressed, External Alarm. Else set to 'OFF' - + set to 'ON' when one of the following is true: Motion detected, Signal lost, Force Alarm pressed, + External Alarm. Else set to 'OFF' + Switch - set to 'ON' when either channel monitor-alarm set to 'ON', or montior function is 'Mocord' or 'Record'. Else set to 'OFF' - + set to 'ON' when either channel monitor-alarm set to 'ON', or montior function is 'Mocord' or 'Record'. + Else set to 'OFF' + diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/server-bridge.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/server-bridge.xml index 92290301849e8..bd6171d4880e1 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/server-bridge.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/ESH-INF/thing/server-bridge.xml @@ -8,7 +8,7 @@ ZoneMinder Server - + diff --git a/bundles/org.openhab.binding.zway/pom.xml b/bundles/org.openhab.binding.zway/pom.xml index b9e09e4003534..67af90f3aad5e 100644 --- a/bundles/org.openhab.binding.zway/pom.xml +++ b/bundles/org.openhab.binding.zway/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.binding.zway/src/main/feature/feature.xml b/bundles/org.openhab.binding.zway/src/main/feature/feature.xml index f5920d1810213..31162401c07d9 100644 --- a/bundles/org.openhab.binding.zway/src/main/feature/feature.xml +++ b/bundles/org.openhab.binding.zway/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.apache.commons/commons-lang3/3.4 - mvn:org.openhab.addons.bundles/org.openhab.binding.zway/${project.version} - + + openhab-runtime-base + mvn:org.apache.commons/commons-lang3/3.4 + mvn:org.openhab.addons.bundles/org.openhab.binding.zway/${project.version} + diff --git a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/binding/binding.xml b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/binding/binding.xml index 42f3f158c108c..5a2a70a6f621f 100644 --- a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/binding/binding.xml +++ b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/binding/binding.xml @@ -1,14 +1,13 @@ - + Z-Way Binding Currently only a continuous polling is available! ]]> diff --git a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/config/bridge-config.xml b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/config/bridge-config.xml index cdd9bd90fa321..5ea58b16b8a6b 100644 --- a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/config/bridge-config.xml +++ b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/config/bridge-config.xml @@ -1,13 +1,14 @@ - + https://openhab.org/schemas/config-description-1.0.0.xsd"> - The configuration of the Z-Way server. Except for the username and password all the information detected during the discovery. + The configuration of the Z-Way server. Except for the username and password all the information detected + during the discovery. @@ -18,7 +19,8 @@ network-address - The IP address or hostname of the Z-Way server. If Z-Way and openHAB are running on the same machine, the default value can be used. + The IP address or hostname of the Z-Way server. If Z-Way and openHAB are running on the same machine, + the default value can be used. localhost @@ -50,7 +52,8 @@ Password to access the Z-Way server. - + Refresh device states and registration from Z-Way server. Seconds diff --git a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/bridge.xml b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/bridge.xml index fc70e830ea00a..ab06fce57c74a 100644 --- a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/bridge.xml @@ -1,25 +1,26 @@ - - + - + - - - - + + + + - + diff --git a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/channels.xml b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/channels.xml index 6ee4605bc6bce..6984312857319 100644 --- a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/channels.xml @@ -1,5 +1,6 @@ - @@ -7,126 +8,126 @@ Number Temperature - + Number Light - + Number Humidity - + Number Pressure - + Number Light - + Number CarbonDioxide - + Number Energy - + Number Energy - + Number Energy - + Switch Smoke - + Switch Gas - + Switch Water - + Switch Alarm - + Contact Contact - + Switch Motion - + Switch PowerOutlet - + Dimmer ColorLight - + Rollershutter Blinds - + @@ -135,14 +136,14 @@ Number Battery - + Switch Door - + @@ -150,14 +151,14 @@ This channel represents a universal channel if no further device information is available. Switch - + Number This channel represents a universal channel if no further device information is available. - + @@ -165,14 +166,14 @@ This channel represents a universal channel if no further device information is available. Switch - + Dimmer This channel represents a universal channel if no further device information is available. - + @@ -185,16 +186,17 @@ Switch - The channel allows the control or display of a thermostat (mode). A thermostat can have up to three states (modes): off, heating and cooling. The state of heating and cooling is alternately set at the state on. + The channel allows the control or display of a thermostat (mode). A thermostat can have up to three + states (modes): off, heating and cooling. The state of heating and cooling is alternately set at the state on. Temperature - + Number Temperature - + @@ -202,22 +204,26 @@ This channel represents a universal channel if no further device information is available. Switch - + Number - This channel represents a two-digit value. The first digit is the button/scene number and the second digit points to action/keyAttribute (have a look at http://z-wave.sigmadesigns.com/wp-content/uploads/2016/08/SDS12657-12-Z-Wave-Command-Class-Specification-A-M.pdf, p. 153). - + This channel represents a two-digit value. The first digit is the button/scene number and the second + digit points to action/keyAttribute (have a look at + http://z-wave.sigmadesigns.com/wp-content/uploads/2016/08/SDS12657-12-Z-Wave-Command-Class-Specification-A-M.pdf, p. + 153). + Number - The channel allows the control or display of a thermostat (mode) from command class. The modes differ from device to device. + The channel allows the control or display of a thermostat (mode) from command class. The modes differ + from device to device. Temperature - + @@ -238,7 +244,7 @@ Change inclusion type for further inclusions. Switch - + @@ -246,7 +252,7 @@ Start inclusion mode (after a timeout the inclusion will be automatically finished). Switch - + @@ -254,7 +260,7 @@ Start exclusion mode (after a timeout the exclusion will be automatically finished). Switch - + diff --git a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/device.xml b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/device.xml index 13ef84a8d529b..d9eb867d35d5d 100644 --- a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/device.xml +++ b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/device.xml @@ -1,18 +1,19 @@ - - + diff --git a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/virtual_device.xml b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/virtual_device.xml index a8662a98297d9..50539871d178e 100644 --- a/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/virtual_device.xml +++ b/bundles/org.openhab.binding.zway/src/main/resources/ESH-INF/thing/virtual_device.xml @@ -1,11 +1,12 @@ - - + diff --git a/bundles/org.openhab.extensionservice.marketplace.automation/pom.xml b/bundles/org.openhab.extensionservice.marketplace.automation/pom.xml index 6f4337ee731d3..4377c11393a2f 100644 --- a/bundles/org.openhab.extensionservice.marketplace.automation/pom.xml +++ b/bundles/org.openhab.extensionservice.marketplace.automation/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.extensionservice.marketplace.automation/src/main/feature/feature.xml b/bundles/org.openhab.extensionservice.marketplace.automation/src/main/feature/feature.xml index 2cf08539c005b..e6e4f3f31e1bf 100644 --- a/bundles/org.openhab.extensionservice.marketplace.automation/src/main/feature/feature.xml +++ b/bundles/org.openhab.extensionservice.marketplace.automation/src/main/feature/feature.xml @@ -1,6 +1,6 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features diff --git a/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/AutomationExtensionHandler.java b/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/AutomationExtensionHandler.java index eb8df7a3b37e0..cfc48eb7c64c5 100644 --- a/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/AutomationExtensionHandler.java +++ b/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/AutomationExtensionHandler.java @@ -87,5 +87,4 @@ private String getTemplate(String urlString) throws IOException { URL url = new URL(urlString); return IOUtils.toString(url); } - } diff --git a/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/MarketplaceRuleTemplateProvider.java b/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/MarketplaceRuleTemplateProvider.java index 3dd51b3b62e90..5cae8dad5d882 100644 --- a/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/MarketplaceRuleTemplateProvider.java +++ b/bundles/org.openhab.extensionservice.marketplace.automation/src/main/java/org/openhab/extensionservice/marketplace/automation/internal/MarketplaceRuleTemplateProvider.java @@ -100,5 +100,4 @@ public void addTemplateAsJSON(String uid, String json) throws ParsingException { logger.error("Cannot close input stream.", e); } } - } diff --git a/bundles/org.openhab.extensionservice.marketplace/pom.xml b/bundles/org.openhab.extensionservice.marketplace/pom.xml index 5baa70c9e781b..7ce458e9f7c02 100644 --- a/bundles/org.openhab.extensionservice.marketplace/pom.xml +++ b/bundles/org.openhab.extensionservice.marketplace/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.extensionservice.marketplace/src/main/feature/feature.xml b/bundles/org.openhab.extensionservice.marketplace/src/main/feature/feature.xml index 4d288d9946889..4780541126701 100644 --- a/bundles/org.openhab.extensionservice.marketplace/src/main/feature/feature.xml +++ b/bundles/org.openhab.extensionservice.marketplace/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.extensionservice.marketplace/${project.version} - - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.extensionservice.marketplace/${project.version} + + diff --git a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/MarketplaceExtension.java b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/MarketplaceExtension.java index 3e36fca4a2a98..1d7754ec38569 100644 --- a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/MarketplaceExtension.java +++ b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/MarketplaceExtension.java @@ -66,5 +66,4 @@ public String getDownloadUrl() { public String getPackageFormat() { return packageFormat; } - } diff --git a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/BundleExtensionHandler.java b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/BundleExtensionHandler.java index 921239d09942a..fc418f4375dd7 100644 --- a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/BundleExtensionHandler.java +++ b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/BundleExtensionHandler.java @@ -27,7 +27,6 @@ import org.openhab.extensionservice.marketplace.MarketplaceExtension; import org.openhab.extensionservice.marketplace.MarketplaceExtensionHandler; import org.openhab.extensionservice.marketplace.MarketplaceHandlerException; -import org.openhab.extensionservice.marketplace.internal.BundleExtensionHandler; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.BundleException; @@ -38,7 +37,8 @@ import org.slf4j.LoggerFactory; /** - * A {@link MarketplaceExtensionHandler} implementation, which handles extensions as jar files (specifically, OSGi bundles) and installs + * A {@link MarketplaceExtensionHandler} implementation, which handles extensions as jar files (specifically, OSGi + * bundles) and installs * them through the standard OSGi bundle installation mechanism. * The information, which installed bundle corresponds to which extension is written to a file in the bundle's data * store. It is therefore wiped together with the bundles upon an OSGi "clean". @@ -56,9 +56,8 @@ public class BundleExtensionHandler implements MarketplaceExtensionHandler { private static final String BUNDLE_FILE = "installedBundlesMap.csv"; // extension types supported by this handler - private static final List SUPPORTED_EXT_TYPES = Arrays.asList( - MarketplaceExtension.EXT_TYPE_BINDING, - MarketplaceExtension.EXT_TYPE_VOICE); + private static final List SUPPORTED_EXT_TYPES = Arrays.asList(MarketplaceExtension.EXT_TYPE_BINDING, + MarketplaceExtension.EXT_TYPE_VOICE); private final Logger logger = LoggerFactory.getLogger(BundleExtensionHandler.class); @@ -81,7 +80,8 @@ protected void deactivate() { @Override public boolean supports(MarketplaceExtension ext) { // we support only certain extension types, and only as pure OSGi bundles - return SUPPORTED_EXT_TYPES.contains(ext.getType()) && ext.getPackageFormat().equals(MarketplaceExtension.EXT_FORMAT_BUNDLE); + return SUPPORTED_EXT_TYPES.contains(ext.getType()) + && ext.getPackageFormat().equals(MarketplaceExtension.EXT_FORMAT_BUNDLE); } @Override @@ -156,7 +156,7 @@ private Map loadInstalledBundlesFile(File dataFile) { map.put(parts[0], Long.valueOf(parts[1])); } catch (NumberFormatException e) { logger.debug("Cannot parse '{}' as a number in file {} - ignoring it.", parts[1], - dataFile.getName()); + dataFile.getName()); } } else { logger.debug("Invalid line in file {} - ignoring it:\n{}", dataFile.getName(), line); @@ -184,5 +184,4 @@ private synchronized void persistInstalledBundlesMap(Map map) { logger.debug("System does not support bundle data files -> not persisting installed bundle info"); } } - } diff --git a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionService.java b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionService.java index 76cb718f3b457..df98670d0da30 100644 --- a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionService.java +++ b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionService.java @@ -375,5 +375,4 @@ private String extractExensionId(URI uri) { private Optional getExtensionNode(String id) { return proxy.getNodes().stream().filter(node -> node != null && node.id.equals(id)).findFirst(); } - } diff --git a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceXMLReader.java b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceXMLReader.java index ce818ab000190..41aaa0656a77f 100644 --- a/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceXMLReader.java +++ b/bundles/org.openhab.extensionservice.marketplace/src/main/java/org/openhab/extensionservice/marketplace/internal/MarketplaceXMLReader.java @@ -50,5 +50,4 @@ public void registerAliases(@NonNullByDefault({}) XStream xstream) { // ignore what we do not know xstream.ignoreUnknownElements(); } - } diff --git a/bundles/org.openhab.extensionservice.marketplace/src/test/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionServiceTest.java b/bundles/org.openhab.extensionservice.marketplace/src/test/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionServiceTest.java index ce79b915f7535..72f9541a79f75 100644 --- a/bundles/org.openhab.extensionservice.marketplace/src/test/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionServiceTest.java +++ b/bundles/org.openhab.extensionservice.marketplace/src/test/java/org/openhab/extensionservice/marketplace/internal/MarketplaceExtensionServiceTest.java @@ -132,5 +132,4 @@ private Node createVoiceNode() { node.packagetypes = "voice"; return node; } - } diff --git a/bundles/org.openhab.io.homekit/pom.xml b/bundles/org.openhab.io.homekit/pom.xml index e114c24e44e00..5e65cc69a4d00 100644 --- a/bundles/org.openhab.io.homekit/pom.xml +++ b/bundles/org.openhab.io.homekit/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -14,7 +16,7 @@ javax.json,javax.json-api,netty-common,netty-buffer,netty-transport,netty-handler,netty-codec,netty-codec-http,netty-resolver - 4.1.42.Final + 4.1.42.Final diff --git a/bundles/org.openhab.io.homekit/src/main/feature/feature.xml b/bundles/org.openhab.io.homekit/src/main/feature/feature.xml index 2f658a7eb71d0..3db3fc36901c8 100644 --- a/bundles/org.openhab.io.homekit/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.homekit/src/main/feature/feature.xml @@ -1,13 +1,13 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mdns - openhab.tp-netty - mvn:org.glassfish/javax.json/1.0.4 - mvn:javax.json/javax.json-api/1.0 - mvn:org.openhab.addons.bundles/org.openhab.io.homekit/${project.version} - + + openhab-runtime-base + openhab-transport-mdns + openhab.tp-netty + mvn:org.glassfish/javax.json/1.0.4 + mvn:javax.json/javax.json-api/1.0 + mvn:org.openhab.addons.bundles/org.openhab.io.homekit/${project.version} + diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitAuthInfoImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitAuthInfoImpl.java index 15e5c9d9191a8..d7afa0bb84077 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitAuthInfoImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitAuthInfoImpl.java @@ -126,5 +126,4 @@ private void initializeStorage() throws InvalidAlgorithmParameterException { storage.put("privateKey", Base64.getEncoder().encodeToString(HomekitServer.generateKey())); } } - } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCommandExtension.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCommandExtension.java index c9fe4c6ff918e..5ed6b5eb56ec6 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCommandExtension.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitCommandExtension.java @@ -109,5 +109,4 @@ private void allowUnauthenticatedHomekitRequests(boolean allow, Console console) homekit.allowUnauthenticatedRequests(allow); console.println((allow ? "Enabled " : "Disabled ") + "unauthenticated HomeKit access"); } - } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitSettings.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitSettings.java index 583435aae3c77..332ae0eff7426 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitSettings.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/HomekitSettings.java @@ -140,5 +140,4 @@ public boolean equals(Object obj) { } return true; } - } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitLightbulbImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitLightbulbImpl.java index e6cd8958699ad..b620a78f9ce40 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitLightbulbImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/AbstractHomekitLightbulbImpl.java @@ -64,5 +64,4 @@ public void subscribeLightbulbPowerState(HomekitCharacteristicChangeCallback cal public void unsubscribeLightbulbPowerState() { getUpdater().unsubscribe(getItem()); } - } diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLockImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLockImpl.java index 36bfe5f042357..38dfabda28a1b 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLockImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLockImpl.java @@ -25,7 +25,7 @@ import io.github.hapjava.accessories.properties.LockMechanismState; /** - * Implements the support of Lock accessories, mapping them to OpenHAB Switch type + * Implements the support of Lock accessories, mapping them to OpenHAB Switch type * * @author blafois - Support for additional accessory type. * @@ -101,5 +101,4 @@ public void subscribeTargetMechanismState(HomekitCharacteristicChangeCallback ca public void unsubscribeTargetMechanismState() { getUpdater().unsubscribe(getItem()); } - } diff --git a/bundles/org.openhab.io.homekit/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.io.homekit/src/main/resources/ESH-INF/config/config.xml index 55bd681453d39..b71c33aabf131 100644 --- a/bundles/org.openhab.io.homekit/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.io.homekit/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,6 @@ - @@ -43,40 +44,50 @@ false - + Word used to set the target heatingCoolingMode to COOL (if a thermostat is defined). CoolOn - + Word used to set the target heatingCoolingMode to HEAT (if a thermostat is defined). HeatOn - + Word used to set the target heatingCoolingMode to AUTO (if a thermostat is defined). Auto - + Word used to set the target heatingCoolingMode to OFF (if a thermostat is defined). Off - + - Value for setting target heatingCoolingCurrentMode to HEAT (IE: indicating that the heater is currently warming the home). + Value for setting target heatingCoolingCurrentMode to HEAT (IE: indicating that the heater is currently + warming the home). Heating - + - Value for setting target heatingCoolingCurrentMode to COOL (IE: indicating that the air condition is currently cooling the home). + Value for setting target heatingCoolingCurrentMode to COOL (IE: indicating that the air condition is + currently cooling the home). Cooling - + - Value for setting target heatingCoolingCurrentMode to OFF (IE: the hvac is currently idle, because the target temperature has been reached per the mode). + Value for setting target heatingCoolingCurrentMode to OFF (IE: the hvac is currently idle, because the + target temperature has been reached per the mode). Off diff --git a/bundles/org.openhab.io.hueemulation/pom.xml b/bundles/org.openhab.io.hueemulation/pom.xml index 2a3414c2a46f8..bef208c45a958 100644 --- a/bundles/org.openhab.io.hueemulation/pom.xml +++ b/bundles/org.openhab.io.hueemulation/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.hueemulation/src/main/feature/feature.xml b/bundles/org.openhab.io.hueemulation/src/main/feature/feature.xml index 2b3db1b14baa9..412ffa8bdd8ce 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.hueemulation/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-upnp - openhab-core-automation - mvn:org.openhab.addons.bundles/org.openhab.io.hueemulation/${project.version} - + + openhab-runtime-base + openhab-transport-upnp + openhab-core-automation + mvn:org.openhab.addons.bundles/org.openhab.io.hueemulation/${project.version} + diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/HueEmulationService.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/HueEmulationService.java index 68623f35208e5..893f7253cb8c7 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/HueEmulationService.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/HueEmulationService.java @@ -96,7 +96,8 @@ public void filter(ContainerRequestContext requestContext) { * Jetty returns 415 on any GET request if a client sends the Content-Type header. * This is a workaround - stripping it away in the preMatching stage. */ - if (requestContext.getMethod() == HttpMethod.GET && requestContext.getHeaders().containsKey(HttpHeader.CONTENT_TYPE.asString())){ + if (requestContext.getMethod() == HttpMethod.GET + && requestContext.getHeaders().containsKey(HttpHeader.CONTENT_TYPE.asString())) { requestContext.getHeaders().remove(HttpHeader.CONTENT_TYPE.asString()); } } @@ -113,7 +114,6 @@ public void filter(ContainerRequestContext requestContext, ContainerResponseCont logger.debug("REST request {} {}", requestContext.getMethod(), requestContext.getUriInfo().getPath()); logger.debug("REST response: {}", responseContext.getEntity()); } - } private final ContainerRequestFilter requestCleaner = new RequestInterceptor(); diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java index c451ebb64d2b0..032ce3516ea2d 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/NetworkUtils.java @@ -138,5 +138,4 @@ public static Response successList(Gson gson, List successLis return Response.ok(gson.toJson(responses, new TypeToken>() { }.getType())).build(); } - } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueRuleEntry.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueRuleEntry.java index 8b29101e130a0..b12164d342769 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueRuleEntry.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueRuleEntry.java @@ -136,5 +136,4 @@ public Condition deserialize(JsonElement json, Type typeOfT, JsonDeserialization return c; } } - } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueScheduleEntry.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueScheduleEntry.java index bdc291060082f..f842ea12260de 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueScheduleEntry.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueScheduleEntry.java @@ -12,8 +12,8 @@ */ package org.openhab.io.hueemulation.internal.dto; -import org.openhab.io.hueemulation.internal.dto.changerequest.HueCommand; import org.openhab.io.hueemulation.internal.dto.changerequest.HueChangeScheduleEntry; +import org.openhab.io.hueemulation.internal.dto.changerequest.HueCommand; /** * Hue API scan result object. diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueStateColorBulb.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueStateColorBulb.java index 0ea2c10d3a23d..2021cbde6e83b 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueStateColorBulb.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/HueStateColorBulb.java @@ -124,7 +124,7 @@ public HSBType toHSBType() { } double hueSat = Math.floor((delta / maxValue) * 254.0d); int percentSat = (int) ((100.0d * hueSat) / (MAX_SAT)); - + int bri = this.bri * 100 / MAX_BRI; if (!this.on) { bri = 0; diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java index ab7ca3cf89bda..c4b18a39d39b3 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Scenes.java @@ -419,5 +419,4 @@ public Response modifySceneLightStateApi(@Context UriInfo uri, // new HueSuccessGeneric(changeRequest.transitiontime, "/scenes/" + id + "/lightstates/" + lightid + "/transitiontime"))); } - } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Schedules.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Schedules.java index 1e130aa5e40a2..b0c883e645498 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Schedules.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Schedules.java @@ -339,5 +339,4 @@ public Response postNewSchedule(@Context UriInfo uri, return NetworkUtils.singleSuccess(cs.gson, uid, "id"); } - } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Sensors.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Sensors.java index 3d22fec656b31..1f6dee66f51d5 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Sensors.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/Sensors.java @@ -120,7 +120,6 @@ public synchronized void added(Item newElement) { HueSensorEntry sensor = new HueSensorEntry(element); cs.ds.sensors.put(hueID, sensor); - } @Override diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/StatusResource.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/StatusResource.java index cf2366d6dc95d..4450a1dd632f2 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/StatusResource.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/rest/StatusResource.java @@ -249,7 +249,6 @@ public void localDeviceAdded(Registry registry, LocalDevice device) { @NonNullByDefault({}) @Override public void localDeviceRemoved(Registry registry, LocalDevice device) { - } @NonNullByDefault({}) @@ -261,5 +260,4 @@ public void beforeShutdown(Registry registry) { public void afterShutdown() { selfTestUpnpFound = upnpStatus.service_not_registered; } - } diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/upnp/UpnpServer.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/upnp/UpnpServer.java index b0f2c4124eaa9..62dda2b0a81e1 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/upnp/UpnpServer.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/upnp/UpnpServer.java @@ -233,7 +233,6 @@ private void useAddressPort(HueEmulationConfigWithRuntime r) { xmlDocWithAddress = String.format(xmlDoc, urlBase, r.addressString, cs.ds.config.bridgeid, cs.ds.config.uuid, cs.ds.config.devicename); - } protected @Nullable HueEmulationConfigWithRuntime performAddressTest( diff --git a/bundles/org.openhab.io.hueemulation/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.io.hueemulation/src/main/resources/ESH-INF/config/config.xml index 0258000a197b6..a0a9d284bd7af 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.io.hueemulation/src/main/resources/ESH-INF/config/config.xml @@ -7,7 +7,8 @@ - Pairing must be enabled to connect a new device. Pairing is automatically disabled after the configured pairing time (usually 60 seconds). + Pairing must be enabled to connect a new device. Pairing is automatically disabled after the configured + pairing time (usually 60 seconds). false @@ -18,51 +19,64 @@ - Set this option to create new users on the fly during the next pairing mode period. This helps with Amazon Echo device discovery. This option is automatically switched off after the timeout. + Set this option to create new users on the fly during the next pairing mode period. This helps with + Amazon Echo device discovery. This option is automatically switched off after the timeout. false - Some Amazon Echos only support V1 bridges (round hardware bridge). This option is only active during discovery and automatically switched off after the timeout. + Some Amazon Echos only support V1 bridges (round hardware bridge). This option is only active during + discovery and automatically switched off after the timeout. false - There is no obvious reason to not emulate the newer bridge all the time, but here is the option if you want the old (round Hue bridge) to be emulated. + There is no obvious reason to not emulate the newer bridge all the time, but here is the option if you + want the old (round Hue bridge) to be emulated. false - The HUE emulation can either publish Switch items if this is set to an empty string or filter items by tags. Use commas to separate multiple entries. + The HUE emulation can either publish Switch items if this is set to an empty string or filter items by + tags. Use commas to separate multiple entries. Switchable - The HUE emulation can either publish all Color items if this is set to an empty string or filter items by tags. Use commas to separate multiple entries. + The HUE emulation can either publish all Color items if this is set to an empty string or filter items + by tags. Use commas to separate multiple entries. ColorLighting - The HUE emulation can either publish all Dimmer items if this is set to an empty string or filter items by tags. Use commas to separate multiple entries. + The HUE emulation can either publish all Dimmer items if this is set to an empty string or filter items + by tags. Use commas to separate multiple entries. Lighting - All items that are tagged with the given tags are ignore by the Hue Emulation Service. Use commas to separate multiple entries. + All items that are tagged with the given tags are ignore by the Hue Emulation Service. Use commas to + separate multiple entries. internal - If your host has multiple IP addresses you may specify the IP(s) you would like to advertise in the UPNP discovery process. You may safely leave this empty on most systems. Use commas to separate multiple entries. + If your host has multiple IP addresses you may specify the IP(s) you would like to advertise in the UPNP + discovery process. You may safely leave this empty on most systems. Use commas to separate multiple entries. - Some Hue applications require a different port (80) then what openHAB runs on by default (8080). This option will only advertise a different port then what we are listening on. Useful if you have an iptables rule redirect traffic from this port to the openHAB port. + Some Hue applications require a different port (80) then what openHAB runs on by default (8080). This + option will only advertise a different port then what we are listening on. Useful if you have an iptables rule + redirect traffic from this port to the openHAB port. + true - Each Hue bridge has a universal unique id (UUID) assigned. This is random generated if no value has been assigned. Note on Amazon Alexa Echo devices: It might help to change the UUID after you have changed item ids. The Echos will recognize this service as a new bridge. + Each Hue bridge has a universal unique id (UUID) assigned. This is random generated if no value has been + assigned. Note on Amazon Alexa Echo devices: It might help to change the UUID after you have changed item ids. The + Echos will recognize this service as a new bridge. true diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/automation/RuleConditionHandlerTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/automation/RuleConditionHandlerTests.java index ff738564b350b..24a9a3a095f4b 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/automation/RuleConditionHandlerTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/automation/RuleConditionHandlerTests.java @@ -56,7 +56,6 @@ private static class HueRuleConditionHandlerEx extends HueRuleConditionHandler { public HueRuleConditionHandlerEx(Condition module, HueDataStore ds) { super(module, ds); - } @Override @@ -211,5 +210,4 @@ public void ltOperator() { subject = new HueRuleConditionHandler(c, ds); assertThat(subject.isSatisfied(context), is(true)); } - } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java index 078e70e4c187a..ce0a07f2c5d21 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java @@ -94,7 +94,6 @@ public void addSwitchableByCategory() { HueLightEntry device = cs.ds.lights.get(cs.mapItemUIDtoHueID(item)); assertThat(device.item, is(item)); assertThat(device.state, is(instanceOf(HueStatePlug.class))); - } @Test diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/RulesTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/RulesTests.java index c11ecf69029de..4e7d8155722b4 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/RulesTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/RulesTests.java @@ -276,5 +276,4 @@ public void getAll() { assertThat(entry.actions.get(0).address, is("/lights/switch1/state")); assertThat(entry.conditions.get(0).address, is("/lights/switch1/state/on")); } - } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/UsersAndConfigTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/UsersAndConfigTests.java index c2f4e0b240afd..642cc6141383c 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/UsersAndConfigTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/UsersAndConfigTests.java @@ -136,5 +136,4 @@ public void UnauthorizedAccessTest() { assertThat(response.getStatus(), is(403)); assertThat(response.readEntity(String.class), containsString("error")); } - } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyItemRegistry.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyItemRegistry.java index df0a264f66347..eddbbd74716f7 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyItemRegistry.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyItemRegistry.java @@ -138,11 +138,9 @@ public Collection getItemsByTag(Class typeFilter, String. @Override public void addRegistryHook(RegistryHook hook) { - } @Override public void removeRegistryHook(RegistryHook hook) { - } } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyMetadataRegistry.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyMetadataRegistry.java index 57ea98bd83f36..91ef2bf20e421 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyMetadataRegistry.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyMetadataRegistry.java @@ -93,7 +93,5 @@ public boolean isInternalNamespace(String namespace) { @Override public void removeItemMetadata(String name) { - } - } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyUsersStorage.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyUsersStorage.java index 21597ffacadd2..f76ba87007b07 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyUsersStorage.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/mocks/DummyUsersStorage.java @@ -60,5 +60,4 @@ public boolean containsKey(String key) { public Collection<@Nullable HueUserAuthWithSecrets> getValues() { return users.values(); } - } diff --git a/bundles/org.openhab.io.imperihome/pom.xml b/bundles/org.openhab.io.imperihome/pom.xml index a64b179369011..9cf29238487a1 100644 --- a/bundles/org.openhab.io.imperihome/pom.xml +++ b/bundles/org.openhab.io.imperihome/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.imperihome/src/main/feature/feature.xml b/bundles/org.openhab.io.imperihome/src/main/feature/feature.xml index d7b274a6dd619..198bb7efb991a 100644 --- a/bundles/org.openhab.io.imperihome/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.imperihome/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-core-model-item - mvn:org.openhab.addons.bundles/org.openhab.io.imperihome/${project.version} - + + openhab-runtime-base + openhab-core-model-item + mvn:org.openhab.addons.bundles/org.openhab.io.imperihome/${project.version} + diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeApiServlet.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeApiServlet.java index 3fe20999c093f..4e01e7faf1459 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeApiServlet.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeApiServlet.java @@ -247,5 +247,4 @@ private void setHeaders(HttpServletResponse response) { response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeConfig.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeConfig.java index 967d04511ae82..7ac1504b4f2b0 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeConfig.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/ImperiHomeConfig.java @@ -56,5 +56,4 @@ public String getSystemId() { public String getRootUrl() { return rootUrl; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/Action.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/Action.java index f8c9b8fb3827b..8da554ed73645 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/Action.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/Action.java @@ -52,5 +52,4 @@ protected Action(EventPublisher eventPublisher) { * @param value Action parameter value. */ public abstract void perform(AbstractDevice device, Item item, String value); - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/ActionRegistry.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/ActionRegistry.java index 9c240aeefe240..37d617abdc1ea 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/ActionRegistry.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/ActionRegistry.java @@ -41,5 +41,4 @@ public ActionRegistry(EventPublisher eventPublisher, DeviceRegistry deviceRegist public Action get(String action) { return actions.get(action); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/LaunchSceneAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/LaunchSceneAction.java index 3fa3d1ad87f4e..d6dcdeac1187a 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/LaunchSceneAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/LaunchSceneAction.java @@ -55,5 +55,4 @@ public void perform(AbstractDevice device, Item item, String value) { eventPublisher.post(event); } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetChoiceAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetChoiceAction.java index a221bf45cc8aa..8c933e579bf3d 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetChoiceAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetChoiceAction.java @@ -60,5 +60,4 @@ public void perform(AbstractDevice device, Item item, String value) { COMMAND_SOURCE); eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetColorAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetColorAction.java index a0568dda7b7af..a9d7672e87f7c 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetColorAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetColorAction.java @@ -57,5 +57,4 @@ public void perform(AbstractDevice device, Item item, String value) { eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetLevelAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetLevelAction.java index b37b22d38e648..38a09f2220ed3 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetLevelAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetLevelAction.java @@ -41,5 +41,4 @@ public void perform(AbstractDevice device, Item item, String value) { COMMAND_SOURCE); eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetModeAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetModeAction.java index 83fae1847f707..f9d0a0b08df1e 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetModeAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetModeAction.java @@ -50,14 +50,15 @@ public void perform(AbstractDevice device, Item item, String value) { String modeDeviceName = device.getLinks().get("curmode"); AbstractDevice modeDevice = deviceRegistry.getDevice(ItemProcessor.getDeviceId(modeDeviceName)); if (modeDevice == null) { - logger.error("Couldn't resolve linked CurMode device '{}', make sure the Item has iss tags", modeDeviceName); + logger.error("Couldn't resolve linked CurMode device '{}', make sure the Item has iss tags", + modeDeviceName); return; } Item modeItem = modeDevice.getItem(); - ItemCommandEvent event = ItemEventFactory.createCommandEvent(modeItem.getName(), new StringType(value), COMMAND_SOURCE); + ItemCommandEvent event = ItemEventFactory.createCommandEvent(modeItem.getName(), new StringType(value), + COMMAND_SOURCE); eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetSetPointAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetSetPointAction.java index 510c2e2baa294..3c540f1a77249 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetSetPointAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetSetPointAction.java @@ -61,5 +61,4 @@ public void perform(AbstractDevice device, Item item, String value) { ItemCommandEvent event = ItemEventFactory.createCommandEvent(item.getName(), command, COMMAND_SOURCE); eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetStatusAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetStatusAction.java index 37a5f7385b996..092517ab99f72 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetStatusAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/SetStatusAction.java @@ -23,6 +23,7 @@ /** * Action setting device status to 1 or 0. + * * @author Pepijn de Geus - Initial contribution */ public class SetStatusAction extends Action { @@ -46,5 +47,4 @@ public void perform(AbstractDevice device, Item item, String value) { ItemCommandEvent event = ItemEventFactory.createCommandEvent(item.getName(), cmdValue, COMMAND_SOURCE); eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/StopShutterAction.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/StopShutterAction.java index 06c88ede60011..e8f895c20311e 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/StopShutterAction.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/action/StopShutterAction.java @@ -47,7 +47,8 @@ public void perform(AbstractDevice device, Item item, String value) { String modeDeviceName = device.getLinks().get("stopper"); AbstractDevice modeDevice = deviceRegistry.getDevice(ItemProcessor.getDeviceId(modeDeviceName)); if (modeDevice == null) { - logger.error("Couldn't resolve linked Stopper device '{}', make sure the Item has iss tags", modeDeviceName); + logger.error("Couldn't resolve linked Stopper device '{}', make sure the Item has iss tags", + modeDeviceName); return; } @@ -56,5 +57,4 @@ public void perform(AbstractDevice device, Item item, String value) { ItemCommandEvent event = ItemEventFactory.createCommandEvent(modeItem.getName(), OnOffType.ON, COMMAND_SOURCE); eventPublisher.post(event); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceActionHandler.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceActionHandler.java index 51f7e6bddd394..fa6e58b4b8ac4 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceActionHandler.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceActionHandler.java @@ -64,5 +64,4 @@ public void handle(HttpServletRequest req, Matcher urlMatcher) { device.performAction(action, value); } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceHistoryHandler.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceHistoryHandler.java index a8898842dd5d2..cef327fa6b351 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceHistoryHandler.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DeviceHistoryHandler.java @@ -119,5 +119,4 @@ private HistoryList serveHistory(AbstractDevice device, QueryablePersistenceServ return new HistoryList(resultItems); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DevicesListHandler.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DevicesListHandler.java index c03e90c611c3d..3176d94903809 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DevicesListHandler.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/DevicesListHandler.java @@ -50,5 +50,4 @@ public DeviceList handle(HttpServletRequest req) { logger.debug("Device list response: {}", response); return response; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/RoomListHandler.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/RoomListHandler.java index 00c2775ad1491..6cf95122e3da1 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/RoomListHandler.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/RoomListHandler.java @@ -35,5 +35,4 @@ public RoomList handle(HttpServletRequest req) { response.setRooms(deviceRegistry.getRooms()); return response; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/SystemHandler.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/SystemHandler.java index aba38793e43a6..2e8437d6a6784 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/SystemHandler.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/handler/SystemHandler.java @@ -36,5 +36,4 @@ public System handle(HttpServletRequest req) { system.setApiVersion(1); return system; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceParametersSerializer.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceParametersSerializer.java index 33ecb364a2ac5..157465c2621fa 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceParametersSerializer.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceParametersSerializer.java @@ -38,5 +38,4 @@ public JsonElement serialize(DeviceParameters params, Type type, } return result; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceTypeSerializer.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceTypeSerializer.java index 5e39fd3f1f59a..f917f4712d3f2 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceTypeSerializer.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/DeviceTypeSerializer.java @@ -32,5 +32,4 @@ public class DeviceTypeSerializer implements JsonSerializer { public JsonElement serialize(DeviceType deviceType, Type type, JsonSerializationContext jsonSerializationContext) { return new JsonPrimitive(deviceType.getApiString()); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/ParamTypeSerializer.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/ParamTypeSerializer.java index 530b2ba55bdac..9b3ed109cad13 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/ParamTypeSerializer.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/io/ParamTypeSerializer.java @@ -32,5 +32,4 @@ public class ParamTypeSerializer implements JsonSerializer { public JsonElement serialize(ParamType paramType, Type type, JsonSerializationContext jsonSerializationContext) { return new JsonPrimitive(paramType.getApiString()); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryItem.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryItem.java index 20067a92e385e..2a6720ab8f437 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryItem.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryItem.java @@ -48,5 +48,4 @@ public Number getValue() { public void setValue(Number value) { this.value = value; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryList.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryList.java index a222e2927b1da..a1d9badd9dc3d 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryList.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/HistoryList.java @@ -39,5 +39,4 @@ public List getValues() { public void setValues(List values) { this.values = values; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/Room.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/Room.java index 2e2e262c37aa8..23348651c8bff 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/Room.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/Room.java @@ -61,5 +61,4 @@ public int hashCode() { public String toString() { return "Room{" + "id='" + id + '\'' + ", name='" + name + '\'' + '}'; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/RoomList.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/RoomList.java index e36f60b5d007c..0d231dad79519 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/RoomList.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/RoomList.java @@ -30,5 +30,4 @@ public Collection getRooms() { public void setRooms(Collection rooms) { this.rooms = rooms; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/System.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/System.java index eb81b15bb4a19..b94ec0a0a4b17 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/System.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/System.java @@ -37,5 +37,4 @@ public int getApiVersion() { public void setApiVersion(int apiVersion) { this.apiVersion = apiVersion; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractDevice.java index fa10c7ac6e32b..84eb1959bad34 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractDevice.java @@ -185,6 +185,7 @@ public String getItemName() { /** * Process any device-specific ISS tags. + * * @param issTags ISS tags map. */ public void processCustomTags(Map> issTags) { @@ -239,8 +240,7 @@ public void stateUpdated(Item item, State newState) { @Override public String toString() { - return getClass().getSimpleName() + "{id='" + id + '\'' + ", name='" + name + '\'' + ", room='" + room + '\'' + ", type=" - + type + ", invert=" + inverted + ", icon=" + defaultIcon + ", links=" + links + '}'; + return getClass().getSimpleName() + "{id='" + id + '\'' + ", name='" + name + '\'' + ", room='" + room + '\'' + + ", type=" + type + ", invert=" + inverted + ", icon=" + defaultIcon + ", links=" + links + '}'; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractEnergyLinkDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractEnergyLinkDevice.java index 9f17253ed665d..b7effda3758e1 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractEnergyLinkDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractEnergyLinkDevice.java @@ -50,5 +50,4 @@ public void updateParams() { } } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractNumericValueDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractNumericValueDevice.java index 5114d82e206f8..c424d1b2362a6 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractNumericValueDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/AbstractNumericValueDevice.java @@ -41,5 +41,4 @@ public void setUnit(String unit) { public String toString() { return getClass().getSimpleName() + "{" + "super=" + super.toString() + ", unit='" + unit + '\'' + '}'; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/Co2SensorDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/Co2SensorDevice.java index bfa38f1850571..dcbae11c83afa 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/Co2SensorDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/Co2SensorDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.CO2_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceList.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceList.java index 85f26d555d698..1183d390ce225 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceList.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceList.java @@ -35,5 +35,4 @@ public void setDevices(Collection devices) { public String toString() { return "DeviceList{" + "devices=" + devices + '}'; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceType.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceType.java index 5798a6e0cf173..ac572c78e2d72 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceType.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DeviceType.java @@ -73,5 +73,4 @@ public static DeviceType forApiString(String apiString) { return null; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DimmerDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DimmerDevice.java index a6c80870a4859..58aeee0a02997 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DimmerDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/DimmerDevice.java @@ -43,5 +43,4 @@ public void stateUpdated(Item item, State newState) { addParam(new DeviceParam(ParamType.LEVEL, String.valueOf(level))); addParam(new DeviceParam(ParamType.STATUS, (level > 0) ^ isInverted() ? "1" : "0")); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ElectricityDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ElectricityDevice.java index 3c3b3de4683a8..33a37eb3c1496 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ElectricityDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ElectricityDevice.java @@ -114,5 +114,4 @@ private void setKwhParam(AbstractDevice device) { kwhParam.setValue(valueParam.getValue()); addParam(kwhParam); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/GenericSensorDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/GenericSensorDevice.java index 9b8fc51c90077..58626346eb31f 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/GenericSensorDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/GenericSensorDevice.java @@ -43,5 +43,4 @@ public void stateUpdated(Item item, State newState) { addParam(new DeviceParam(ParamType.GENERIC_VALUE, strVal)); } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/HygrometryDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/HygrometryDevice.java index e7fd81a9aa7f6..79c8e1da65114 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/HygrometryDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/HygrometryDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.HYGROMETRY_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LockDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LockDevice.java index 1099f3c502265..d1143aff01907 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LockDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LockDevice.java @@ -42,5 +42,4 @@ public void stateUpdated(Item item, State newState) { } } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LuminosityDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LuminosityDevice.java index 83339336871bb..12bf675bdc6aa 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LuminosityDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/LuminosityDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.LUMINOSITY_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/MultiSwitchDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/MultiSwitchDevice.java index b5ef39f55ddc8..a0abff5ffb267 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/MultiSwitchDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/MultiSwitchDevice.java @@ -67,5 +67,4 @@ public void stateUpdated(Item item, State newState) { itemValue = String.valueOf(((DecimalType) state).intValue()); } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/NoiseDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/NoiseDevice.java index 83eb95a8e4297..25def6223d5cb 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/NoiseDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/NoiseDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.NOISE_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/PressureDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/PressureDevice.java index bb184dc27a213..9a986c2bdecdc 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/PressureDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/PressureDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.PRESSURE_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RainDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RainDevice.java index 1d1fa270a524a..3bdf54f9a4faa 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RainDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RainDevice.java @@ -70,5 +70,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.RAIN_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RgbLightDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RgbLightDevice.java index e22fa80c2939b..1dd8522dc9770 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RgbLightDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/RgbLightDevice.java @@ -86,5 +86,4 @@ private int convertPercentToByte(PercentType percent) { return percent.toBigDecimal().multiply(BigDecimal.valueOf(255)) .divide(BigDecimal.valueOf(100), 2, BigDecimal.ROUND_HALF_UP).intValue(); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SceneDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SceneDevice.java index d0ed9e7ade23d..a994c58759a7f 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SceneDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SceneDevice.java @@ -24,5 +24,4 @@ public class SceneDevice extends AbstractDevice { public SceneDevice(Item item) { super(DeviceType.SCENE, item); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ShutterDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ShutterDevice.java index 35c3108901c1d..39f587eb80047 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ShutterDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ShutterDevice.java @@ -44,5 +44,4 @@ public void stateUpdated(Item item, State newState) { addParam(new DeviceParam(ParamType.STOPPABLE, getLinks().containsKey("stopper") ? "1" : "0")); addParam(new DeviceParam(ParamType.LEVEL, String.valueOf(level))); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SwitchDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SwitchDevice.java index fe6df71c68f97..3b6cb2fdffae4 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SwitchDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/SwitchDevice.java @@ -42,5 +42,4 @@ public void stateUpdated(Item item, State newState) { } } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TempHygroDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TempHygroDevice.java index cb2e85db2efa6..6632fae13cd3f 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TempHygroDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TempHygroDevice.java @@ -118,5 +118,4 @@ private void setTempParam(AbstractDevice device) { tempParam.setValue(valueParam.getValue()); addParam(tempParam); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TemperatureDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TemperatureDevice.java index 0f29a0661875c..774b1244930bf 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TemperatureDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TemperatureDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.TEMPERATURE_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ThermostatDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ThermostatDevice.java index a203046e59ead..9354d5096628b 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ThermostatDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/ThermostatDevice.java @@ -118,9 +118,9 @@ private AbstractDevice getLinkedDevice(String linkName, boolean logWhenMissing) device = getDeviceRegistry().getDevice(deviceId); } if (logWhenMissing && device == null) { - logger.error("Couldn't resolve linked {} device '{}', make sure the Item has iss tags", linkName, deviceName); + logger.error("Couldn't resolve linked {} device '{}', make sure the Item has iss tags", linkName, + deviceName); } return device; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TrippableDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TrippableDevice.java index caf20086a05be..3ce9a0f2b2f11 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TrippableDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/TrippableDevice.java @@ -65,5 +65,4 @@ public void stateUpdated(Item item, State newState) { addParam(new DeviceParam(ParamType.LAST_TRIP, String.valueOf(System.currentTimeMillis()))); } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/UvDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/UvDevice.java index e2b1dedc6adf3..9c9c7f2528bfd 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/UvDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/UvDevice.java @@ -36,5 +36,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.UV_VALUE, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/WindDevice.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/WindDevice.java index ac26c2b415d02..7b91f03e86f2f 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/WindDevice.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/device/WindDevice.java @@ -70,5 +70,4 @@ public void stateUpdated(Item item, State newState) { DecimalType value = (DecimalType) item.getStateAs(DecimalType.class); addParam(new NumericValueParam(ParamType.SPEED, getUnit(), value)); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParam.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParam.java index 5eedd4618d8c4..060970733ffb4 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParam.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParam.java @@ -69,5 +69,4 @@ public int hashCode() { public String toString() { return "DeviceParam{" + "key=" + key + ", value='" + value + '\'' + '}'; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParameters.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParameters.java index de259047c35da..9bde1ae4ec7e2 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParameters.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/DeviceParameters.java @@ -28,5 +28,4 @@ public class DeviceParameters extends HashMap { public void set(DeviceParam param) { put(param.getKey(), param); } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/NumericValueParam.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/NumericValueParam.java index 929a399da2659..b179d0a685501 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/NumericValueParam.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/NumericValueParam.java @@ -84,5 +84,4 @@ public String toString() { return "NumericValueParam{" + "super=" + super.toString() + ", unit='" + unit + '\'' + ", graphable=" + graphable + '}'; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/ParamType.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/ParamType.java index a07c0ad3f0f65..d64eeab0c2db8 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/ParamType.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/model/param/ParamType.java @@ -52,7 +52,7 @@ public enum ParamType { STOPPABLE("stopable"), PULSEABLE("pulseable"), - //Thermostat parameters + // Thermostat parameters CUR_MODE("curmode"), CUR_SETPOINT("cursetpoint"), CUR_TEMP("curtemp"), @@ -70,5 +70,4 @@ public enum ParamType { public String getApiString() { return apiString; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/DeviceRegistry.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/DeviceRegistry.java index 16ef248f014ea..9a716f1d48ccc 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/DeviceRegistry.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/DeviceRegistry.java @@ -62,10 +62,11 @@ public boolean hasDevice(String deviceId) { } public void add(AbstractDevice device) { - //Workaround for Eclipse SH bug: ignore add-event for same item - //https://github.com/eclipse/smarthome/issues/3160 + // Workaround for Eclipse SH bug: ignore add-event for same item + // https://github.com/eclipse/smarthome/issues/3160 if (devices.containsKey(device.getId())) { - logger.warn("Ignoring duplicate device #{}, name={}, item={}", device.getId(), device.getName(), device.getItemName()); + logger.warn("Ignoring duplicate device #{}, name={}, item={}", device.getId(), device.getName(), + device.getItemName()); return; } @@ -112,5 +113,4 @@ private void updateRooms() { } rooms = newRooms; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/ItemProcessor.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/ItemProcessor.java index cae6172f441b0..c1657b10f074b 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/ItemProcessor.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/ItemProcessor.java @@ -451,5 +451,4 @@ public void allItemsChanged(Collection oldItems) { } } } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/TagType.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/TagType.java index 2e6fdec4c807e..f2df8698ad2fa 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/TagType.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/processor/TagType.java @@ -54,5 +54,4 @@ public String getPrefix() { public boolean isMultiValue() { return multiValue; } - } diff --git a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/util/DigestUtil.java b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/util/DigestUtil.java index 825afb26d5c1c..4928406c3315b 100644 --- a/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/util/DigestUtil.java +++ b/bundles/org.openhab.io.imperihome/src/main/java/org/openhab/io/imperihome/internal/util/DigestUtil.java @@ -39,5 +39,4 @@ public static String sha1(String input) { // Hidden constructor private DigestUtil() { } - } diff --git a/bundles/org.openhab.io.javasound/pom.xml b/bundles/org.openhab.io.javasound/pom.xml index faa2d7c2d64f7..90179804d31b4 100644 --- a/bundles/org.openhab.io.javasound/pom.xml +++ b/bundles/org.openhab.io.javasound/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.javasound/src/main/feature/feature.xml b/bundles/org.openhab.io.javasound/src/main/feature/feature.xml index e9c531da8cff2..c61817bd7873c 100644 --- a/bundles/org.openhab.io.javasound/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.javasound/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:commons-collections/commons-collections/3.2.2 - mvn:org.openhab.addons.bundles/org.openhab.io.javasound/${project.version} - + + openhab-runtime-base + mvn:commons-collections/commons-collections/3.2.2 + mvn:org.openhab.addons.bundles/org.openhab.io.javasound/${project.version} + diff --git a/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSink.java b/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSink.java index 3293270397fff..f3a783661a8fa 100644 --- a/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSink.java +++ b/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSink.java @@ -20,6 +20,8 @@ import java.util.Locale; import java.util.Set; import java.util.stream.Stream; +import javazoom.jl.decoder.JavaLayerException; +import javazoom.jl.player.Player; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.FloatControl; @@ -43,9 +45,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javazoom.jl.decoder.JavaLayerException; -import javazoom.jl.player.Player; - /** * This is an audio sink that is registered as a service, which can play wave files to the hosts outputs (e.g. speaker, * line-out). diff --git a/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSource.java b/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSource.java index 52f5358b422ec..d1b0455fa35f2 100644 --- a/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSource.java +++ b/bundles/org.openhab.io.javasound/src/main/java/org/openhab/io/javasound/internal/JavaSoundAudioSource.java @@ -131,5 +131,4 @@ public String getLabel(Locale locale) { public Set getSupportedFormats() { return Collections.singleton(audioFormat); } - } diff --git a/bundles/org.openhab.io.mqttembeddedbroker/pom.xml b/bundles/org.openhab.io.mqttembeddedbroker/pom.xml index d5159cc6265bc..9b080d7e05014 100644 --- a/bundles/org.openhab.io.mqttembeddedbroker/pom.xml +++ b/bundles/org.openhab.io.mqttembeddedbroker/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.mqttembeddedbroker/src/main/feature/feature.xml b/bundles/org.openhab.io.mqttembeddedbroker/src/main/feature/feature.xml index ca21d23c24ab1..4710c1786b61f 100644 --- a/bundles/org.openhab.io.mqttembeddedbroker/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.mqttembeddedbroker/src/main/feature/feature.xml @@ -1,13 +1,13 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-mqtt - openhab.tp-netty - mvn:com.h2database/h2-mvstore/1.4.199 - mvn:commons-codec/commons-codec/1.10 - mvn:org.openhab.addons.bundles/org.openhab.io.mqttembeddedbroker/${project.version} - + + openhab-runtime-base + openhab-transport-mqtt + openhab.tp-netty + mvn:com.h2database/h2-mvstore/1.4.199 + mvn:commons-codec/commons-codec/1.10 + mvn:org.openhab.addons.bundles/org.openhab.io.mqttembeddedbroker/${project.version} + diff --git a/bundles/org.openhab.io.mqttembeddedbroker/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.io.mqttembeddedbroker/src/main/resources/ESH-INF/config/config.xml index 9b7762c220710..3ec7c7c9ff8d1 100644 --- a/bundles/org.openhab.io.mqttembeddedbroker/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.io.mqttembeddedbroker/src/main/resources/ESH-INF/config/config.xml @@ -9,14 +9,16 @@ A custom broker connection port. Leave empty to use the - default MQTT ports 1883 and 8883 (SSL) for secure or non-secure + default MQTT ports 1883 and 8883 (SSL) for secure + or non-secure connections. If set, hosts a secure SSL connection on port 8883 or - otherwise a non secure connection on port 1883 (if not overwritten + otherwise a non secure connection on port 1883 (if + not overwritten by the port parameter) false @@ -30,17 +32,21 @@ Connections need to provide this password to access the - broker. Should only be used if it is a secure connection, because + broker. Should only be used if it is a secure + connection, because the password is transferred plain over the wire. An optional persistence file. Retained messages are - stored in this file. Can be empty to not store anything. If it + stored in this file. Can be empty to not store + anything. If it starts with "/" on Linux/MacOS or with a drive letter and colon (eg - "c:/") it will be treated as an absolute path. Be careful to select - a path that you have write access to. + "c:/") it will be treated as an + absolute path. Be careful to select + a path that you have write access to. + mqttembedded.bin diff --git a/bundles/org.openhab.io.neeo/pom.xml b/bundles/org.openhab.io.neeo/pom.xml index 0554618b9c4a2..d6e7a826bc91a 100644 --- a/bundles/org.openhab.io.neeo/pom.xml +++ b/bundles/org.openhab.io.neeo/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.neeo/src/main/feature/feature.xml b/bundles/org.openhab.io.neeo/src/main/feature/feature.xml index a79306941ab2c..939089a228540 100644 --- a/bundles/org.openhab.io.neeo/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.neeo/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.io.neeo/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.io.neeo/${project.version} + diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoDeviceDefinitions.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoDeviceDefinitions.java index ec908c7ddc747..7d57cff527312 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoDeviceDefinitions.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoDeviceDefinitions.java @@ -190,7 +190,7 @@ public List getExposed() { * {@link NeeoDevice} that is bound (according to the {@link NeeoDeviceKeys}) and then will determine if the item * name has been bound on that {@link NeeoDevice}. * - * @param keys a non-null {@link NeeoDeviceKeys} + * @param keys a non-null {@link NeeoDeviceKeys} * @param itemName a non-null, non-empty item name to use * @return true if bound, false otherwise */ @@ -231,7 +231,7 @@ public List> getBound(NeeoDeviceKeys ke * Gets the list of {@link NeeoDevice} and {@link NeeoDeviceChannel} that are currently bound for the given itemName * (or all if the itemName is null) * - * @param keys a non-null {@link NeeoDeviceKeys} + * @param keys a non-null {@link NeeoDeviceKeys} * @param itemName a possibly null, possibly empty item name to use * @return a non-null, possibly empty list */ diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoUtil.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoUtil.java index 188c727879775..6c021df485d5d 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoUtil.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/NeeoUtil.java @@ -196,7 +196,7 @@ public static String encodeURIComponent(String s) { * Write a response out to the {@link HttpServletResponse} * * @param resp the non-null {@link HttpServletResponse} - * @param str the possibly null, possibly empty string content to write + * @param str the possibly null, possibly empty string content to write * @throws IOException Signals that an I/O exception has occurred. */ public static void write(HttpServletResponse resp, String str) throws IOException { @@ -259,7 +259,7 @@ static void cancel(@Nullable Future future) { * Require the specified value to be a non-null, non-empty string * * @param value the value to check - * @param msg the msg to use when throwing an {@link IllegalArgumentException} + * @param msg the msg to use when throwing an {@link IllegalArgumentException} * @throws IllegalArgumentException if value is null or an empty string */ public static void requireNotEmpty(String value, String msg) { @@ -272,7 +272,7 @@ public static void requireNotEmpty(String value, String msg) { /** * Converts a JSON property to a string * - * @param jo the non-null {@link JsonObject} to use + * @param jo the non-null {@link JsonObject} to use * @param propertyName the non-empty property name * @return the possibly null string representation */ @@ -288,7 +288,7 @@ public static String getString(JsonObject jo, String propertyName) { /** * Converts a JSON property to an integer * - * @param jo the non-null {@link JsonObject} to use + * @param jo the non-null {@link JsonObject} to use * @param propertyName the non-empty property name * @return the possibly null integer */ @@ -304,7 +304,7 @@ public static Integer getInt(JsonObject jo, String propertyName) { /** * Gets the {@link Command} for the specified enum name - ignoring case * - * @param cmd the non-null {@link Command} + * @param cmd the non-null {@link Command} * @param enumName the non-empty enum name to search for * @return the {@link Command} or null if not found (or null if cmd's class is not an enum) */ @@ -337,7 +337,7 @@ static NeeoDeviceType guessType(Thing thing) { /** * Gets the label to use from the item or channelType * - * @param item the possibly null item + * @param item the possibly null item * @param channelType the possibly null channel type * @return the label to use (or null if no label) */ @@ -362,7 +362,7 @@ public static String getLabel(@Nullable Item item, @Nullable ChannelType channel /** * Gets the pattern to use from the item or channelType * - * @param item the possibly null item + * @param item the possibly null item * @param channelType the possibly null channel type * @return the pattern to use (or null if no pattern to use) */ @@ -396,7 +396,7 @@ public static String getPattern(@Nullable Item item, @Nullable ChannelType chann /** * Returns the unique label name given a set of labels. The unique label will be added to the set of labels. * - * @param labels the non-null, possibly empty set of labels + * @param labels the non-null, possibly empty set of labels * @param itemLabel the possibly null, possibly empty item label to get a unique name for * @return the unique label */ @@ -420,7 +420,7 @@ public static String getUniqueLabel(Set labels, String itemLabel) { * Returns the group label for the given {@link ThingType} and groupId * * @param thingType a non null thingType - * @param groupId a possibly empty, possibly null group ID + * @param groupId a possibly empty, possibly null group ID * @return the group label or null if none */ @Nullable diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/BrainDiscovery.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/BrainDiscovery.java index 8bb09789db4e9..4507984ba1bf2 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/BrainDiscovery.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/BrainDiscovery.java @@ -64,5 +64,4 @@ public interface BrainDiscovery extends AutoCloseable { */ @Override void close(); - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/MdnsBrainDiscovery.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/MdnsBrainDiscovery.java index 3bdfe84e0f152..1ae286ed0d4c5 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/MdnsBrainDiscovery.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/discovery/MdnsBrainDiscovery.java @@ -92,7 +92,6 @@ public void serviceResolved(@Nullable ServiceEvent event) { considerService(event.getInfo()); } } - }; /** The service context */ diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/BrainStatus.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/BrainStatus.java index 6668431e6e889..a6cce5c49bbb4 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/BrainStatus.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/BrainStatus.java @@ -126,5 +126,4 @@ public String toString() { return "BrainStatus [brainId=" + brainId + ", brainName=" + brainName + ", brainUrl=" + brainUrl + ", callbackUrl=" + callbackUrl + ", connected=" + connected + "]"; } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDeviceChannelDirectoryListItem.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDeviceChannelDirectoryListItem.java index 368f1a7eed5d3..a8db614db87d8 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDeviceChannelDirectoryListItem.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDeviceChannelDirectoryListItem.java @@ -42,10 +42,10 @@ public class NeeoDeviceChannelDirectoryListItem { /** * Constructs the list item from the attributes * - * @param itemValue a possibly null, possibly empty item value - * @param title a non-null, non-empty title + * @param itemValue a possibly null, possibly empty item value + * @param title a non-null, non-empty title * @param thumbNailUri a possibly null, possibly empty thumbnail URI - * @param uiAction the non-null UI action + * @param uiAction the non-null UI action */ public NeeoDeviceChannelDirectoryListItem(String itemValue, String title, @Nullable String thumbNailUri, ListUiAction uiAction) { diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryRequest.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryRequest.java index a5f5e370cf609..84abd8b6d2c40 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryRequest.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryRequest.java @@ -86,5 +86,4 @@ public String toString() { return "NeeoDiscoveryListResultPosition [offset=" + offset + ", limit=" + limit + ", browseIdentifier=" + browseIdentifier + "]"; } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultItem.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultItem.java index 510e9869bee89..265b15dd4f3d5 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultItem.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultItem.java @@ -121,5 +121,4 @@ public String toString() { return "NeeoDiscoveryListResultItem [title=" + title + ", thumbnailUri=" + thumbnailUri + ", browseIdentifier=" + browseIdentifier + ", actionIdentifier=" + actionIdentifier + ", isQueueable=" + isQueueable + "]"; } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultMeta.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultMeta.java index da0e7e7a4d2ab..9ed666c846005 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultMeta.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoDirectoryResultMeta.java @@ -121,5 +121,4 @@ public String toString() { return "NeeoDiscoveryListResultMeta [totalItems=" + totalItems + ", totalMatchingItems=" + totalMatchingItems + ", current=" + current + ", previous=" + previous + ", next=" + next + "]"; } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoSystemInfo.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoSystemInfo.java index 8b5de11430be6..392f5e5887e84 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoSystemInfo.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/NeeoSystemInfo.java @@ -138,5 +138,4 @@ public boolean equals(@Nullable Object obj) { return StringUtils.equals(hostname, ((NeeoSystemInfo) obj).hostname); } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/TokenScore.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/TokenScore.java index d090d86aadc21..7b4008488241d 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/TokenScore.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/models/TokenScore.java @@ -79,5 +79,4 @@ public int compareTo(@Nullable TokenScore o) { } return i; } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java index 508ea0401af2b..5809b62140e42 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoBrainDeviceSerializer.java @@ -240,10 +240,10 @@ public JsonElement serialize(NeeoDevice device, @Nullable Type deviceType, /** * Helper method to create a base element with the given name/label/type/path * - * @param name the element name + * @param name the element name * @param label the element label - * @param type the element type - * @param path the element path + * @param type the element type + * @param path the element path * @return the json object representing the base element */ private JsonObject createBase(String name, String label, String type, String path) { @@ -253,10 +253,10 @@ private JsonObject createBase(String name, String label, String type, String pat /** * Helper method to create a base element with the given name/label/type/path/sensor * - * @param name the element name - * @param label the element label - * @param type the element type - * @param path the element path + * @param name the element name + * @param label the element label + * @param type the element type + * @param path the element path * @param sensor the element sensor * @return the json object representing the base element */ @@ -267,12 +267,12 @@ private JsonObject createBase(String name, String label, String type, String pat /** * Helper method to create a base element with the given name/label/type/path/sensorname/sensor * - * @param name the element name - * @param label the element label - * @param type the element type - * @param path the element path + * @param name the element name + * @param label the element label + * @param type the element type + * @param path the element path * @param sensorName the element sensor name - * @param sensor the element sensor + * @param sensor the element sensor * @return the json object representing the base element */ private JsonObject createBase(String name, String label, String type, String path, @Nullable String sensorName, diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoThingUIDSerializer.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoThingUIDSerializer.java index aece19495e48b..65317374d86e3 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoThingUIDSerializer.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/serialization/NeeoThingUIDSerializer.java @@ -62,5 +62,4 @@ public JsonElement serialize(NeeoThingUID uid, @Nullable Type type, return new JsonPrimitive(uid.getAsString()); } - } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainSearchService.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainSearchService.java index 1a80cb4f78b0c..ca4e26b336142 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainSearchService.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainSearchService.java @@ -121,7 +121,7 @@ public void handleGet(HttpServletRequest req, String[] paths, HttpServletRespons * Does the search of all things and returns the results * * @param queryString the non-null, possibly empty query string - * @param resp the non-null response to write to + * @param resp the non-null response to write to * @throws IOException Signals that an I/O exception has occurred. */ private void doSearch(String queryString, HttpServletResponse resp) throws IOException { @@ -154,7 +154,7 @@ private void doSearch(String queryString, HttpServletResponse resp) throws IOExc /** * Does a query for the NEEO device definition * - * @param id the non-empty (last) search identifier + * @param id the non-empty (last) search identifier * @param resp the non-null response to write to * @throws IOException Signals that an I/O exception has occurred. */ @@ -184,7 +184,7 @@ private void doAdapterDefinition(String id, HttpServletResponse resp) throws IOE /** * Does a query for the NEEO device definition * - * @param id the non-empty (last) search identifier + * @param id the non-empty (last) search identifier * @param resp the non-null response to write to * @throws IOException Signals that an I/O exception has occurred. */ diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java index 3327b14964e63..59bdd8c8a5373 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/NeeoBrainService.java @@ -232,7 +232,6 @@ public void handleGet(HttpServletRequest req, String[] paths, HttpServletRespons logger.debug("Unknown/unhandled brain service route (GET): {}", StringUtils.join(paths, '/')); } } - } /** @@ -443,7 +442,6 @@ public boolean apply(@Nullable Event event) { logger.trace("Apply Event: {} --- {} --- {} = {}", event, itemName, isBound, keys); return isBound; } - }; } diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/ThingDashboardService.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/ThingDashboardService.java index 7cd80673955e2..f567ca2ec93d7 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/ThingDashboardService.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/ThingDashboardService.java @@ -197,7 +197,7 @@ public void handlePost(HttpServletRequest req, String[] paths, HttpServletRespon /** * Helper method to produce an examples rules file and write it to the {@link HttpServletResponse} * - * @param resp the non-null {@link HttpServletResponse} + * @param resp the non-null {@link HttpServletResponse} * @param device the non-null {@link NeeoDevice} * @throws IOException if an IOException occurs while writing the file */ @@ -235,7 +235,7 @@ private void writeExampleRules(HttpServletResponse resp, NeeoDevice device) thro /** * Helper method to append a line of text ot the string builder with a line separator * - * @param sb a non-null string builder + * @param sb a non-null string builder * @param text the non-null, possibly empty text */ private void appendLine(StringBuilder sb, String text) { diff --git a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/models/PathInfo.java b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/models/PathInfo.java index 843a02694d981..302da05f4bee4 100644 --- a/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/models/PathInfo.java +++ b/bundles/org.openhab.io.neeo/src/main/java/org/openhab/io/neeo/internal/servletservices/models/PathInfo.java @@ -171,5 +171,4 @@ public String toString() { + channelNbr + ", componentType=" + componentType + ", componentSubType=" + componentSubType + ", actionValue=" + actionValue + "]"; } - } diff --git a/bundles/org.openhab.io.neeo/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.io.neeo/src/main/resources/ESH-INF/config/config.xml index ff009509b614b..88fd24ff54c0e 100644 --- a/bundles/org.openhab.io.neeo/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.io.neeo/src/main/resources/ESH-INF/config/config.xml @@ -1,5 +1,8 @@ - + diff --git a/bundles/org.openhab.io.openhabcloud/pom.xml b/bundles/org.openhab.io.openhabcloud/pom.xml index be95b546b5b56..d47ce3f286ff0 100644 --- a/bundles/org.openhab.io.openhabcloud/pom.xml +++ b/bundles/org.openhab.io.openhabcloud/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.openhabcloud/src/main/feature/feature.xml b/bundles/org.openhab.io.openhabcloud/src/main/feature/feature.xml index 02618f5802419..20fb95b9e3830 100644 --- a/bundles/org.openhab.io.openhabcloud/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.openhabcloud/src/main/feature/feature.xml @@ -1,16 +1,16 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:${project.groupId}/openhab-addons-external/${project.version}/cfg/openhabcloud - mvn:org.json/json/20180813 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/3.0.2_1 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/3.8.1_1 - mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/1.13.0_1 - mvn:org.openhab.osgiify/io.socket.socket.io-client/1.0.0 - mvn:org.openhab.osgiify/io.socket.engine.io-client/1.0.0 - mvn:org.openhab.addons.bundles/org.openhab.io.openhabcloud/${project.version} - + + openhab-runtime-base + mvn:${project.groupId}/openhab-addons-external/${project.version}/cfg/openhabcloud + mvn:org.json/json/20180813 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jsr305/3.0.2_1 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okhttp/3.8.1_1 + mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.okio/1.13.0_1 + mvn:org.openhab.osgiify/io.socket.socket.io-client/1.0.0 + mvn:org.openhab.osgiify/io.socket.engine.io-client/1.0.0 + mvn:org.openhab.addons.bundles/org.openhab.io.openhabcloud/${project.version} + diff --git a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/NotificationAction.java b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/NotificationAction.java index 1a9adffba8dc1..e536cafd5706f 100644 --- a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/NotificationAction.java +++ b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/NotificationAction.java @@ -118,5 +118,4 @@ public static void sendBroadcastNotification(String message, String icon, String cloudService.sendBroadcastNotification(message, icon, severity); } } - } diff --git a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java index 9d0257c7db091..5002f4fbaecd0 100644 --- a/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java +++ b/bundles/org.openhab.io.openhabcloud/src/main/java/org/openhab/io/openhabcloud/internal/CloudService.java @@ -394,5 +394,4 @@ public void receive(Event event) { cloudClient.sendItemUpdate(ise.getItemName(), ise.getItemState().toString()); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/pom.xml b/bundles/org.openhab.io.transport.modbus/pom.xml index ee142d70aab85..aefa0d8d1843a 100644 --- a/bundles/org.openhab.io.transport.modbus/pom.xml +++ b/bundles/org.openhab.io.transport.modbus/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.transport.modbus/src/main/feature/feature.xml b/bundles/org.openhab.io.transport.modbus/src/main/feature/feature.xml index 540940576e548..fda06931c2498 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.transport.modbus/src/main/feature/feature.xml @@ -1,11 +1,11 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab-transport-serial - mvn:org.apache.commons/commons-pool2/2.4.3 - mvn:org.openhab.addons.bundles/org.openhab.io.transport.modbus/${project.version} - + + openhab-runtime-base + openhab-transport-serial + mvn:org.apache.commons/commons-pool2/2.4.3 + mvn:org.openhab.addons.bundles/org.openhab.io.transport.modbus/${project.version} + diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusReadRequestBlueprint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusReadRequestBlueprint.java index 7b3492737f1b5..f3ad6c59adbf9 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusReadRequestBlueprint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusReadRequestBlueprint.java @@ -104,5 +104,4 @@ public boolean equals(@Nullable Object obj) { return new EqualsBuilder().append(slaveId, rhs.slaveId).append(functionCode, rhs.functionCode) .append(start, rhs.start).append(length, rhs.length).isEquals(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusRegisterArray.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusRegisterArray.java index 00867608d165c..90f08a525922a 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusRegisterArray.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusRegisterArray.java @@ -75,5 +75,4 @@ public String toString() { StringBuffer buffer = new StringBuffer(registers.length * 2).append("ModbusRegisterArrayImpl("); return appendHexString(buffer).append(')').toString(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteCoilRequestBlueprint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteCoilRequestBlueprint.java index c771990a38ad8..0fa478c531c35 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteCoilRequestBlueprint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteCoilRequestBlueprint.java @@ -47,7 +47,6 @@ public SingleBitArray(boolean bit) { public String toString() { return "SingleBitArray(bit=" + toBinaryString() + ")"; } - } private int slaveId; diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteRegisterRequestBlueprint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteRegisterRequestBlueprint.java index bddf9baf8940a..e84f1426a362e 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteRegisterRequestBlueprint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicModbusWriteRegisterRequestBlueprint.java @@ -101,5 +101,4 @@ public String toString() { .append("functionCode", getFunctionCode()).append("registers", registers).append("maxTries", maxTries) .toString(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicPollTaskImpl.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicPollTaskImpl.java index d7f06a0dc47dd..b436d72169506 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicPollTaskImpl.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BasicPollTaskImpl.java @@ -95,5 +95,4 @@ public boolean equals(@Nullable Object obj) { return new EqualsBuilder().append(request, rhs.request).append(endpoint, rhs.endpoint) .append(getCallback(), rhs.getCallback()).isEquals(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BitArray.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BitArray.java index 309a9c20b1420..5b969b03be5f7 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BitArray.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/BitArray.java @@ -85,5 +85,4 @@ default String toBinaryString() { IntStream.range(0, size()).mapToObj(i -> getBit(i) ? '1' : '0').forEach(buffer::append); return buffer.toString(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusBitUtilities.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusBitUtilities.java index d870755ee51b6..e5834c68077c3 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusBitUtilities.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusBitUtilities.java @@ -412,5 +412,4 @@ public static Optional translateCommand2Boolean(Command command) { } return Optional.empty(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusConstants.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusConstants.java index 3c7f9a144914b..45cbdd2c133c3 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusConstants.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusConstants.java @@ -99,5 +99,4 @@ public String toString() { .orElseThrow(() -> new IllegalArgumentException("Invalid valueType " + configValueType)); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManager.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManager.java index a7767568715bd..cfd0d2f5574bb 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManager.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManager.java @@ -103,5 +103,4 @@ public void setEndpointPoolConfiguration(ModbusSlaveEndpoint endpoint, * @return set of registered regular polls */ public Set getRegisteredRegularPolls(); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManagerListener.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManagerListener.java index 0fd454dd5b12c..8c800ca70bf54 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManagerListener.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusManagerListener.java @@ -33,5 +33,4 @@ public interface ModbusManagerListener { */ public void onEndpointPoolConfigurationSet(ModbusSlaveEndpoint endpoint, @Nullable EndpointPoolConfiguration configuration); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadCallback.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadCallback.java index b4b13dc9b1f03..44b1fb34fdce6 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadCallback.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadCallback.java @@ -46,5 +46,4 @@ public interface ModbusReadCallback extends ModbusCallback { * {@link ModbusUnexpectedTransactionIdException} or {@link ModbusTransportException}. */ void onError(ModbusReadRequestBlueprint request, Exception error); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadRequestBlueprint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadRequestBlueprint.java index 7ee0d7533e098..bf517e7da7e2d 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadRequestBlueprint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusReadRequestBlueprint.java @@ -55,5 +55,4 @@ public interface ModbusReadRequestBlueprint extends ModbusRequestBlueprint { * @see net.wimpi.modbus.Modbus */ public ModbusReadFunctionCode getFunctionCode(); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegister.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegister.java index 736e1f453d332..22178b36700d5 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegister.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegister.java @@ -74,5 +74,4 @@ default StringBuffer appendHexString(StringBuffer buffer) { } return buffer; } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegisterArray.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegisterArray.java index d6207072e06dd..42527279c3489 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegisterArray.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRegisterArray.java @@ -79,5 +79,4 @@ default StringBuffer appendHexString(StringBuffer buffer) { }); return buffer; } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRequestBlueprint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRequestBlueprint.java index 01391f6725f0d..096ce85c040e3 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRequestBlueprint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusRequestBlueprint.java @@ -60,5 +60,4 @@ public default int getProtocolID() { * @return number of maximum tries */ public int getMaxTries(); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusResponse.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusResponse.java index ff16114f7be65..d135016a588c0 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusResponse.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusResponse.java @@ -33,5 +33,4 @@ public interface ModbusResponse { * @return function code of the response */ public int getFunctionCode(); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveErrorResponseException.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveErrorResponseException.java index fdf01e4029731..d2f89d15ac9b8 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveErrorResponseException.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveErrorResponseException.java @@ -103,5 +103,4 @@ public abstract class ModbusSlaveErrorResponseException extends ModbusTransportE * @return the Modbus exception code that happened */ public abstract int getExceptionCode(); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveIOException.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveIOException.java index 245da4a8684b4..8ea22f7a6de57 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveIOException.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusSlaveIOException.java @@ -24,5 +24,4 @@ public class ModbusSlaveIOException extends ModbusTransportException { private static final long serialVersionUID = -8568199166837844463L; - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusTransportException.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusTransportException.java index 4b77fc7cab4be..9f9c0e78ef196 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusTransportException.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusTransportException.java @@ -24,5 +24,4 @@ public class ModbusTransportException extends Exception { private static final long serialVersionUID = 1684767401685843339L; - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseFunctionCodeException.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseFunctionCodeException.java index 09577459c6547..b4000cc8496b7 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseFunctionCodeException.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseFunctionCodeException.java @@ -30,7 +30,6 @@ public class ModbusUnexpectedResponseFunctionCodeException extends ModbusTranspo public ModbusUnexpectedResponseFunctionCodeException(int requestFunctionCode, int responseFunctionCode) { this.requestFunctionCode = requestFunctionCode; this.responseFunctionCode = responseFunctionCode; - } @Override @@ -45,5 +44,4 @@ public String toString() { "ModbusUnexpectedResponseFunctionCodeException(requestFunctionCode=%d, responseFunctionCode=%d)", requestFunctionCode, responseFunctionCode); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseSizeException.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseSizeException.java index 94f7ec5e2c210..62d0101dd34ab 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseSizeException.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedResponseSizeException.java @@ -30,7 +30,6 @@ public class ModbusUnexpectedResponseSizeException extends ModbusTransportExcept public ModbusUnexpectedResponseSizeException(int requestSize, int responseSize) { this.requestSize = requestSize; this.responseSize = responseSize; - } @Override @@ -44,5 +43,4 @@ public String toString() { return String.format("ModbusUnexpectedResponseSizeException(requestFunctionCode=%d, responseFunctionCode=%d)", requestSize, responseSize); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedTransactionIdException.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedTransactionIdException.java index 264c8524083b8..183a001198d44 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedTransactionIdException.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusUnexpectedTransactionIdException.java @@ -30,7 +30,6 @@ public class ModbusUnexpectedTransactionIdException extends ModbusTransportExcep public ModbusUnexpectedTransactionIdException(int requestId, int responseId) { this.requestId = requestId; this.responseId = responseId; - } @Override @@ -53,5 +52,4 @@ public int getRequestId() { public int getResponseId() { return responseId; } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteCallback.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteCallback.java index 534ffd6ab844c..7003a483e3d7e 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteCallback.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteCallback.java @@ -42,5 +42,4 @@ public interface ModbusWriteCallback extends ModbusCallback { * @param response response matching the write request */ void onWriteResponse(ModbusWriteRequestBlueprint request, ModbusResponse response); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteFunctionCode.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteFunctionCode.java index 0fa99a5b75575..9bc160bc48432 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteFunctionCode.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteFunctionCode.java @@ -56,5 +56,4 @@ public int getFunctionCode() { return Stream.of(ModbusWriteFunctionCode.values()).filter(v -> v.getFunctionCode() == functionCode).findFirst() .orElseThrow(() -> new IllegalArgumentException("Invalid functionCode")); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprint.java index 2c310f0b14a11..f79840c32765a 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprint.java @@ -89,5 +89,4 @@ public default int getProtocolID() { * @param visitor */ public void accept(ModbusWriteRequestBlueprintVisitor visitor); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprintVisitor.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprintVisitor.java index 02302f125cad6..ab24d4cccac8b 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprintVisitor.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/ModbusWriteRequestBlueprintVisitor.java @@ -37,5 +37,4 @@ public interface ModbusWriteRequestBlueprintVisitor { * @param blueprint */ public void visit(ModbusWriteRegisterRequestBlueprint blueprint); - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/EndpointPoolConfiguration.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/EndpointPoolConfiguration.java index 843ba6d857470..44f1cbfb6fa3a 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/EndpointPoolConfiguration.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/EndpointPoolConfiguration.java @@ -139,5 +139,4 @@ public boolean equals(@Nullable Object obj) { .append(connectMaxTries, rhs.connectMaxTries).append(reconnectAfterMillis, rhs.reconnectAfterMillis) .append(connectTimeoutMillis, rhs.connectTimeoutMillis).isEquals(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusTCPSlaveEndpoint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusTCPSlaveEndpoint.java index b6f844bfa3c7a..177fa538810d4 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusTCPSlaveEndpoint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusTCPSlaveEndpoint.java @@ -31,5 +31,4 @@ public ModbusTCPSlaveEndpoint(String address, int port) { public R accept(ModbusSlaveEndpointVisitor factory) { return factory.visit(this); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusUDPSlaveEndpoint.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusUDPSlaveEndpoint.java index e8557828fcb73..33499980ac019 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusUDPSlaveEndpoint.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/endpoint/ModbusUDPSlaveEndpoint.java @@ -31,5 +31,4 @@ public ModbusUDPSlaveEndpoint(String address, int port) { public R accept(ModbusSlaveEndpointVisitor factory) { return factory.visit(this); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/BitArrayWrappingBitVector.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/BitArrayWrappingBitVector.java index ce7e2c3eadaeb..ffc89bcec71bc 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/BitArrayWrappingBitVector.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/BitArrayWrappingBitVector.java @@ -66,5 +66,4 @@ public String toString() { public boolean equals(@Nullable Object obj) { return sizeAndValuesEquals(obj); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusLibraryWrapper.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusLibraryWrapper.java index 73494557f605b..0cea5684f06f9 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusLibraryWrapper.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusLibraryWrapper.java @@ -324,5 +324,4 @@ public static void invokeCallbackWithResponse(ModbusReadRequestBlueprint request response); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusManagerImpl.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusManagerImpl.java index 9aa4942d018c4..dbf50dcd6aecc 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusManagerImpl.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusManagerImpl.java @@ -117,7 +117,6 @@ private interface ModbusOperation { public void accept(AggregateStopWatch timer, T task, ModbusSlaveConnection connection) throws ModbusException, IIOException, ModbusUnexpectedTransactionIdException, ModbusUnexpectedResponseFunctionCodeException, ModbusUnexpectedResponseSizeException; - } /** @@ -368,7 +367,6 @@ public void onSwallowException(@Nullable Exception e) { Optional.ofNullable(e).map(ex -> ex.getClass().getSimpleName()).orElse(""), Optional.ofNullable(e).map(ex -> ex.getMessage()).orElse(""), e); } - }); connectionPool = genericKeyedObjectPool; this.connectionFactory = connectionFactory; @@ -959,5 +957,4 @@ private void logTaskQueueInfo() { pollMonitorLogger.trace(""); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusResponseImpl.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusResponseImpl.java index 7857cbccbce5b..13a853366a7c5 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusResponseImpl.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/ModbusResponseImpl.java @@ -41,5 +41,4 @@ public int getFunctionCode() { public String toString() { return String.format("ModbusResponseImpl(responseFC=%d)", responseFunctionCode); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/RegisterArrayWrappingInputRegister.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/RegisterArrayWrappingInputRegister.java index 1816ebe47fde9..49e30a12f78ce 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/RegisterArrayWrappingInputRegister.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/RegisterArrayWrappingInputRegister.java @@ -58,7 +58,6 @@ public String toString() { buffer.append("uint16=").append(toUnsignedShort()).append(", hex="); return appendHexString(buffer).append(')').toString(); } - } private InputRegister[] wrapped; @@ -86,5 +85,4 @@ public String toString() { StringBuffer buffer = new StringBuffer(wrapped.length * 2).append("RegisterArrayWrappingInputRegister("); return appendHexString(buffer).append(')').toString(); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/SimpleStopWatch.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/SimpleStopWatch.java index 0e1a95f41199c..6bedf4c81905c 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/SimpleStopWatch.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/SimpleStopWatch.java @@ -171,5 +171,4 @@ public void timeConsumer(Consumer consumer, T parameter) { this.suspend(); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/pooling/ModbusSlaveConnectionFactoryImpl.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/pooling/ModbusSlaveConnectionFactoryImpl.java index 814567e1b87b2..b897ee4da1a8e 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/pooling/ModbusSlaveConnectionFactoryImpl.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/internal/pooling/ModbusSlaveConnectionFactoryImpl.java @@ -75,7 +75,6 @@ public long getLastConnected() { public void setLastConnected(long lastConnected) { this.lastConnected = lastConnected; } - } private final Logger logger = LoggerFactory.getLogger(ModbusSlaveConnectionFactoryImpl.class); @@ -344,5 +343,4 @@ public static long waitAtleast(@Nullable Long lastOperation, long waitMillis) th public void disconnectOnReturn(ModbusSlaveEndpoint endpoint, long disconnectBeforeConnectedMillis) { disconnectIfConnectedBefore.put(endpoint, disconnectBeforeConnectedMillis); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/json/WriteRequestJsonUtilities.java b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/json/WriteRequestJsonUtilities.java index ca39ebd0d084f..78816e8f7f8f9 100644 --- a/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/json/WriteRequestJsonUtilities.java +++ b/bundles/org.openhab.io.transport.modbus/src/main/java/org/openhab/io/transport/modbus/json/WriteRequestJsonUtilities.java @@ -206,5 +206,4 @@ private static ModbusWriteRequestBlueprint constructBluerint(int unitId, @Nullab throw new IllegalArgumentException("Unknown function code"); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesCommandToRegistersTest.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesCommandToRegistersTest.java index 7fc332cff6dd1..8e66e97dfe921 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesCommandToRegistersTest.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesCommandToRegistersTest.java @@ -292,7 +292,6 @@ ValueType.UINT64_SWAP, shorts(0x0, 0x0, 0x8, 0x0), }, // should pick the low 64 bits ValueType.UINT64_SWAP, shorts(0x7909, 0x772E, 0xBBB7, 0xDFC5), }) .collect(Collectors.toList())); - } @SuppressWarnings({ "unchecked", "rawtypes" }) diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStateFromRegistersTest.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStateFromRegistersTest.java index 40684081722f2..d1688680cd565 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStateFromRegistersTest.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStateFromRegistersTest.java @@ -382,7 +382,6 @@ ValueType.INT64_SWAP, shortArrayToRegisterArray(0x0, 0x0, 0x8, 0x0), 0 }, new DecimalType("16124500437522872585"), ValueType.UINT64_SWAP, shortArrayToRegisterArray(0x7909, 0x772E, 0xBBB7, 0xDFC5), 0 }) .collect(Collectors.toList())); - } @SuppressWarnings({ "unchecked", "rawtypes" }) diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStringFromRegistersTest.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStringFromRegistersTest.java index 47c570c403abc..292cf46912691 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStringFromRegistersTest.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/BitUtilitiesExtractStringFromRegistersTest.java @@ -112,5 +112,4 @@ public void testExtractStringFromRegisters() { assertThat(String.format("registers=%s, index=%d, length=%d", registers, index, length), actualState, is(equalTo(expectedResult))); } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/IntegrationTestSupport.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/IntegrationTestSupport.java index 88de18d286b15..84ffb85de4db7 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/IntegrationTestSupport.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/IntegrationTestSupport.java @@ -164,7 +164,6 @@ public long getAsLong() { public void tearDown() { stopServer(); modbusManager.close(); - } protected void waitForRequests(int expectedRequestCount) { @@ -315,7 +314,6 @@ public class TCPSlaveConnectionFactoryImpl implements TCPSlaveConnectionFactory public TCPSlaveConnection create(Socket socket) { return new TCPSlaveConnection(socket, new SpyingModbusTCPTransportFactory()); } - } public class UDPSlaveTerminalFactoryImpl implements UDPSlaveTerminalFactory { @@ -326,7 +324,6 @@ public UDPSlaveTerminal create(InetAddress interfac, int port) { terminal.setLocalPort(port); return terminal; } - } public class SerialConnectionFactoryImpl implements SerialConnectionFactory { @@ -358,5 +355,4 @@ public void close() { deactivate(); } } - } diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/ResultCaptor.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/ResultCaptor.java index 04caa7315ae75..75c9a696505a2 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/ResultCaptor.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/ResultCaptor.java @@ -1,53 +1,52 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.io.transport.modbus.test; - -import java.util.ArrayList; -import java.util.function.LongSupplier; - -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; - -/** - * @author Sami Salonen - Initial contribution - * - * @param - */ -public class ResultCaptor implements Answer { - - private ArrayList results = new ArrayList<>(); - private LongSupplier longSupplier; - - public ResultCaptor(LongSupplier longSupplier) { - this.longSupplier = longSupplier; - - } - - public ArrayList getAllReturnValues() { - return results; - } - - @SuppressWarnings("unchecked") - @Override - public T answer(InvocationOnMock invocationOnMock) throws Throwable { - T result = (T) invocationOnMock.callRealMethod(); - synchronized (this.results) { - results.add(result); - } - long wait = longSupplier.getAsLong(); - if (wait > 0) { - Thread.sleep(wait); - } - return result; - } -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.io.transport.modbus.test; + +import java.util.ArrayList; +import java.util.function.LongSupplier; + +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; + +/** + * @author Sami Salonen - Initial contribution + * + * @param + */ +public class ResultCaptor implements Answer { + + private ArrayList results = new ArrayList<>(); + private LongSupplier longSupplier; + + public ResultCaptor(LongSupplier longSupplier) { + this.longSupplier = longSupplier; + } + + public ArrayList getAllReturnValues() { + return results; + } + + @SuppressWarnings("unchecked") + @Override + public T answer(InvocationOnMock invocationOnMock) throws Throwable { + T result = (T) invocationOnMock.callRealMethod(); + synchronized (this.results) { + results.add(result); + } + long wait = longSupplier.getAsLong(); + if (wait > 0) { + Thread.sleep(wait); + } + return result; + } +} diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/SmokeTest.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/SmokeTest.java index 1ef816b2a1af9..65f580b52ea10 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/SmokeTest.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/SmokeTest.java @@ -904,7 +904,6 @@ public void onEndpointPoolConfigurationSet(ModbusSlaveEndpoint endpoint, assertThat(unexpectedCount.get(), is(equalTo(0))); assertThat(expectedCount.get(), is(equalTo(2))); assertThat(callbackCalled.getCount(), is(equalTo(0L))); - } @Test @@ -922,6 +921,5 @@ public void testGetRegisteredRegularPolls() { modbusManager.unregisterRegularPoll(task); assertThat(modbusManager.getRegisteredRegularPolls(), is(equalTo(Stream.of(task2).collect(Collectors.toSet())))); - } } diff --git a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/WriteRequestJsonUtilitiesTest.java b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/WriteRequestJsonUtilitiesTest.java index f525a4d288e15..48343a2fa5501 100644 --- a/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/WriteRequestJsonUtilitiesTest.java +++ b/bundles/org.openhab.io.transport.modbus/src/test/java/org/openhab/io/transport/modbus/test/WriteRequestJsonUtilitiesTest.java @@ -168,5 +168,4 @@ public void testNumber() { public void testEmptyList() { assertThat(WriteRequestJsonUtilities.fromJson(3, "[]").size(), is(equalTo(0))); } - } diff --git a/bundles/org.openhab.io.webaudio/pom.xml b/bundles/org.openhab.io.webaudio/pom.xml index 166e84c6eb522..9a4c13e3fc3a6 100644 --- a/bundles/org.openhab.io.webaudio/pom.xml +++ b/bundles/org.openhab.io.webaudio/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.io.webaudio/src/main/feature/feature.xml b/bundles/org.openhab.io.webaudio/src/main/feature/feature.xml index d28a67a69aba3..e30135fe127d0 100644 --- a/bundles/org.openhab.io.webaudio/src/main/feature/feature.xml +++ b/bundles/org.openhab.io.webaudio/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.io.webaudio/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.io.webaudio/${project.version} + diff --git a/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioAudioSink.java b/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioAudioSink.java index 060eb656a0ff0..174aed7c27f64 100644 --- a/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioAudioSink.java +++ b/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioAudioSink.java @@ -136,5 +136,4 @@ protected void setAudioHTTPServer(AudioHTTPServer audioHTTPServer) { protected void unsetAudioHTTPServer(AudioHTTPServer audioHTTPServer) { this.audioHTTPServer = null; } - } diff --git a/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioEventFactory.java b/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioEventFactory.java index 715006037bed0..8a9902c2cd00b 100644 --- a/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioEventFactory.java +++ b/bundles/org.openhab.io.webaudio/src/main/java/org/openhab/io/webaudio/internal/WebAudioEventFactory.java @@ -56,5 +56,4 @@ public static PlayURLEvent createPlayURLEvent(String url) { String payload = serializePayload(url); return new PlayURLEvent(PLAY_URL_TOPIC, payload, url); } - } diff --git a/bundles/org.openhab.transform.bin2json/pom.xml b/bundles/org.openhab.transform.bin2json/pom.xml index b63c5512da759..a97debce204b2 100644 --- a/bundles/org.openhab.transform.bin2json/pom.xml +++ b/bundles/org.openhab.transform.bin2json/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.bin2json/src/main/feature/feature.xml b/bundles/org.openhab.transform.bin2json/src/main/feature/feature.xml index d2b47cabbeba0..1ba9cc0ccf77b 100644 --- a/bundles/org.openhab.transform.bin2json/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.bin2json/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.bin2json/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.bin2json/${project.version} + diff --git a/bundles/org.openhab.transform.exec/pom.xml b/bundles/org.openhab.transform.exec/pom.xml index 5ae09c7822b4b..3442db84b8b66 100644 --- a/bundles/org.openhab.transform.exec/pom.xml +++ b/bundles/org.openhab.transform.exec/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.exec/src/main/feature/feature.xml b/bundles/org.openhab.transform.exec/src/main/feature/feature.xml index f75cafe2c918d..c4960a9139ddc 100644 --- a/bundles/org.openhab.transform.exec/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.exec/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:${project.groupId}/openhab-addons-external/${project.version}/cfg/exec.whitelist - mvn:org.openhab.addons.bundles/org.openhab.transform.exec/${project.version} - + + openhab-runtime-base + mvn:${project.groupId}/openhab-addons-external/${project.version}/cfg/exec.whitelist + mvn:org.openhab.addons.bundles/org.openhab.transform.exec/${project.version} + diff --git a/bundles/org.openhab.transform.exec/src/main/java/org/openhab/transform/exec/internal/ExecTransformationService.java b/bundles/org.openhab.transform.exec/src/main/java/org/openhab/transform/exec/internal/ExecTransformationService.java index bcc6a70c37846..107d5eb3c977d 100644 --- a/bundles/org.openhab.transform.exec/src/main/java/org/openhab/transform/exec/internal/ExecTransformationService.java +++ b/bundles/org.openhab.transform.exec/src/main/java/org/openhab/transform/exec/internal/ExecTransformationService.java @@ -39,12 +39,14 @@ public class ExecTransformationService implements TransformationService { @Activate public ExecTransformationService( @Reference ExecTransformationWhitelistWatchService execTransformationWhitelistWatchService) { - this.execTransformationWhitelistWatchService = execTransformationWhitelistWatchService; } + this.execTransformationWhitelistWatchService = execTransformationWhitelistWatchService; + } /** * Transforms the input source by the command line. * - * @param commandLine the command to execute. Command line should contain %s string, which will be replaced by the input data. + * @param commandLine the command to execute. Command line should contain %s string, which will be replaced by the + * input data. * @param source the input to transform */ @Override diff --git a/bundles/org.openhab.transform.exec/src/main/resources/ESH-INF/config/execProfile.xml b/bundles/org.openhab.transform.exec/src/main/resources/ESH-INF/config/execProfile.xml index 014500d2847a7..23c64ab60a91e 100644 --- a/bundles/org.openhab.transform.exec/src/main/resources/ESH-INF/config/execProfile.xml +++ b/bundles/org.openhab.transform.exec/src/main/resources/ESH-INF/config/execProfile.xml @@ -7,7 +7,8 @@ - Command to be executed on the command line. It should contain %s which will be substituted with the state. + Command to be executed on the command line. It should contain %s which will be substituted with the + state. diff --git a/bundles/org.openhab.transform.javascript/pom.xml b/bundles/org.openhab.transform.javascript/pom.xml index a7b9f69807520..63cfbba0e400a 100644 --- a/bundles/org.openhab.transform.javascript/pom.xml +++ b/bundles/org.openhab.transform.javascript/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.javascript/src/main/feature/feature.xml b/bundles/org.openhab.transform.javascript/src/main/feature/feature.xml index 4081672ac78a1..9c356183270e1 100644 --- a/bundles/org.openhab.transform.javascript/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.javascript/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.javascript/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.javascript/${project.version} + diff --git a/bundles/org.openhab.transform.javascript/src/main/java/org/openhab/transform/javascript/internal/JavaScriptTransformationService.java b/bundles/org.openhab.transform.javascript/src/main/java/org/openhab/transform/javascript/internal/JavaScriptTransformationService.java index 605374f2e5080..074cf480815f7 100644 --- a/bundles/org.openhab.transform.javascript/src/main/java/org/openhab/transform/javascript/internal/JavaScriptTransformationService.java +++ b/bundles/org.openhab.transform.javascript/src/main/java/org/openhab/transform/javascript/internal/JavaScriptTransformationService.java @@ -55,9 +55,9 @@ public void unsetJavaScriptEngineManager(JavaScriptEngineManager manager) { * transformations one should use subfolders. * * @param filename the name of the file which contains the Java script - * transformation rule. Transformation service inject input - * (source) to 'input' variable. - * @param source the input to transform + * transformation rule. Transformation service inject input + * (source) to 'input' variable. + * @param source the input to transform */ @Override public @Nullable String transform(String filename, String source) throws TransformationException { diff --git a/bundles/org.openhab.transform.javascript/src/main/resources/ESH-INF/config/javascriptProfile.xml b/bundles/org.openhab.transform.javascript/src/main/resources/ESH-INF/config/javascriptProfile.xml index 21f7df45459f4..75887da9f0d33 100644 --- a/bundles/org.openhab.transform.javascript/src/main/resources/ESH-INF/config/javascriptProfile.xml +++ b/bundles/org.openhab.transform.javascript/src/main/resources/ESH-INF/config/javascriptProfile.xml @@ -7,7 +7,8 @@ - Filename of the JavaScript in the transform folder. The state will be available in the variable \"input\". + Filename of the JavaScript in the transform folder. The state will be available in the variable + \"input\". diff --git a/bundles/org.openhab.transform.jinja/pom.xml b/bundles/org.openhab.transform.jinja/pom.xml index 772adf04c4660..93b3b4fc54227 100644 --- a/bundles/org.openhab.transform.jinja/pom.xml +++ b/bundles/org.openhab.transform.jinja/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.jinja/src/main/feature/feature.xml b/bundles/org.openhab.transform.jinja/src/main/feature/feature.xml index d819d8eb53c14..a675643830f24 100644 --- a/bundles/org.openhab.transform.jinja/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.jinja/src/main/feature/feature.xml @@ -1,18 +1,18 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab.tp-jackson - mvn:com.google.guava/guava/21.0 - mvn:ch.obermuhlner/big-math/2.1.0 - mvn:org.jsoup/jsoup/1.8.3 - mvn:org.openhab.osgiify/com.google.re2j.re2j/1.2 - mvn:de.odysseus.juel/juel-api/2.2.7 - mvn:de.odysseus.juel/juel-impl/2.2.7 - mvn:org.apache.commons/commons-lang3/3.4 - mvn:org.openhab.osgiify/com.hubspot.jinjava.jinjava/2.5.0 - mvn:org.openhab.addons.bundles/org.openhab.transform.jinja/${project.version} - + + openhab-runtime-base + openhab.tp-jackson + mvn:com.google.guava/guava/21.0 + mvn:ch.obermuhlner/big-math/2.1.0 + mvn:org.jsoup/jsoup/1.8.3 + mvn:org.openhab.osgiify/com.google.re2j.re2j/1.2 + mvn:de.odysseus.juel/juel-api/2.2.7 + mvn:de.odysseus.juel/juel-impl/2.2.7 + mvn:org.apache.commons/commons-lang3/3.4 + mvn:org.openhab.osgiify/com.hubspot.jinjava.jinjava/2.5.0 + mvn:org.openhab.addons.bundles/org.openhab.transform.jinja/${project.version} + diff --git a/bundles/org.openhab.transform.jinja/src/main/java/org/openhab/transform/jinja/internal/JinjaTransformationService.java b/bundles/org.openhab.transform.jinja/src/main/java/org/openhab/transform/jinja/internal/JinjaTransformationService.java index 78397b290dc16..000200f236127 100644 --- a/bundles/org.openhab.transform.jinja/src/main/java/org/openhab/transform/jinja/internal/JinjaTransformationService.java +++ b/bundles/org.openhab.transform.jinja/src/main/java/org/openhab/transform/jinja/internal/JinjaTransformationService.java @@ -51,7 +51,7 @@ public class JinjaTransformationService implements TransformationService { * Transforms the input value by Jinja template. * * @param template Jinja template - * @param value String may contain JSON + * @param value String may contain JSON * @throws TransformationException */ @Override diff --git a/bundles/org.openhab.transform.jinja/src/test/java/org/openhab/transform/jinja/internal/JinjaTransformationServiceTest.java b/bundles/org.openhab.transform.jinja/src/test/java/org/openhab/transform/jinja/internal/JinjaTransformationServiceTest.java index a01ef6bb73ea0..d288c6fe4d016 100644 --- a/bundles/org.openhab.transform.jinja/src/test/java/org/openhab/transform/jinja/internal/JinjaTransformationServiceTest.java +++ b/bundles/org.openhab.transform.jinja/src/test/java/org/openhab/transform/jinja/internal/JinjaTransformationServiceTest.java @@ -58,5 +58,4 @@ public void testQuotedStringOnly() throws TransformationException { // Asserts Assert.assertEquals("Hello world!", transformedResponse); } - } diff --git a/bundles/org.openhab.transform.jsonpath/pom.xml b/bundles/org.openhab.transform.jsonpath/pom.xml index c8c5f079f5af1..970f9f16a002a 100644 --- a/bundles/org.openhab.transform.jsonpath/pom.xml +++ b/bundles/org.openhab.transform.jsonpath/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.jsonpath/src/main/feature/feature.xml b/bundles/org.openhab.transform.jsonpath/src/main/feature/feature.xml index 06a1176713877..47c5a6bf35d7f 100644 --- a/bundles/org.openhab.transform.jsonpath/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.jsonpath/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.jsonpath/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.jsonpath/${project.version} + diff --git a/bundles/org.openhab.transform.jsonpath/src/main/java/org/openhab/transform/jsonpath/internal/JSonPathTransformationService.java b/bundles/org.openhab.transform.jsonpath/src/main/java/org/openhab/transform/jsonpath/internal/JSonPathTransformationService.java index dc3183bf23bae..118877cd2d99b 100644 --- a/bundles/org.openhab.transform.jsonpath/src/main/java/org/openhab/transform/jsonpath/internal/JSonPathTransformationService.java +++ b/bundles/org.openhab.transform.jsonpath/src/main/java/org/openhab/transform/jsonpath/internal/JSonPathTransformationService.java @@ -47,9 +47,9 @@ public class JSonPathTransformationService implements TransformationService { * Transforms the input source by JSonPath expression. * * @param function JsonPath expression - * @param source String which contains JSON + * @param source String which contains JSON * @throws TransformationException If the JsonPath expression is invalid, a {@link InvalidPathException} is thrown, - * which is encapsulated in a {@link TransformationException}. + * which is encapsulated in a {@link TransformationException}. */ @Override public @Nullable String transform(String jsonPathExpression, String source) throws TransformationException { diff --git a/bundles/org.openhab.transform.map/pom.xml b/bundles/org.openhab.transform.map/pom.xml index d24413a02c52d..8d502ba81bb23 100644 --- a/bundles/org.openhab.transform.map/pom.xml +++ b/bundles/org.openhab.transform.map/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.map/src/main/feature/feature.xml b/bundles/org.openhab.transform.map/src/main/feature/feature.xml index 140e669efef06..46572683a85f9 100644 --- a/bundles/org.openhab.transform.map/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.map/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.map/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.map/${project.version} + diff --git a/bundles/org.openhab.transform.map/src/main/java/org/openhab/transform/map/internal/MapTransformationService.java b/bundles/org.openhab.transform.map/src/main/java/org/openhab/transform/map/internal/MapTransformationService.java index 263e817b2251f..7eed8d81d3d99 100644 --- a/bundles/org.openhab.transform.map/src/main/java/org/openhab/transform/map/internal/MapTransformationService.java +++ b/bundles/org.openhab.transform.map/src/main/java/org/openhab/transform/map/internal/MapTransformationService.java @@ -69,5 +69,4 @@ protected Properties internalLoadTransform(String filename) throws Transformatio throw new TransformationException("An error occurred while opening file.", e); } } - } diff --git a/bundles/org.openhab.transform.map/src/test/java/org/openhab/transform/map/internal/MapTransformationServiceTest.java b/bundles/org.openhab.transform.map/src/test/java/org/openhab/transform/map/internal/MapTransformationServiceTest.java index f19bdc5d231c2..0552a64a9f07d 100644 --- a/bundles/org.openhab.transform.map/src/test/java/org/openhab/transform/map/internal/MapTransformationServiceTest.java +++ b/bundles/org.openhab.transform.map/src/test/java/org/openhab/transform/map/internal/MapTransformationServiceTest.java @@ -176,5 +176,4 @@ protected void waitForAssert(Callable assertion, int timeout, int sleepTim } assertion.call(); } - } diff --git a/bundles/org.openhab.transform.regex/pom.xml b/bundles/org.openhab.transform.regex/pom.xml index b4cff64c22abc..c358c5cb466ca 100644 --- a/bundles/org.openhab.transform.regex/pom.xml +++ b/bundles/org.openhab.transform.regex/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.regex/src/main/feature/feature.xml b/bundles/org.openhab.transform.regex/src/main/feature/feature.xml index abf07d2b42a3e..a04f22bd14ab6 100644 --- a/bundles/org.openhab.transform.regex/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.regex/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.regex/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.regex/${project.version} + diff --git a/bundles/org.openhab.transform.regex/src/main/java/org/openhab/transform/regex/internal/RegExTransformationService.java b/bundles/org.openhab.transform.regex/src/main/java/org/openhab/transform/regex/internal/RegExTransformationService.java index 079ecc42fd5a7..0e20fa21feae9 100644 --- a/bundles/org.openhab.transform.regex/src/main/java/org/openhab/transform/regex/internal/RegExTransformationService.java +++ b/bundles/org.openhab.transform.regex/src/main/java/org/openhab/transform/regex/internal/RegExTransformationService.java @@ -94,5 +94,4 @@ public class RegExTransformationService implements TransformationService { return result; } - } diff --git a/bundles/org.openhab.transform.regex/src/main/resources/ESH-INF/config/regexProfile.xml b/bundles/org.openhab.transform.regex/src/main/resources/ESH-INF/config/regexProfile.xml index e10cde18988a6..aecf47d4560ca 100644 --- a/bundles/org.openhab.transform.regex/src/main/resources/ESH-INF/config/regexProfile.xml +++ b/bundles/org.openhab.transform.regex/src/main/resources/ESH-INF/config/regexProfile.xml @@ -7,7 +7,8 @@ - Regular expression to be applied on the state. Should contain a capture group whose outcome will be the result. For example: .*=(\\d*.\\d*).* extracts the 23.5 from temp=23.5°C + Regular expression to be applied on the state. Should contain a capture group whose outcome will be the + result. For example: .*=(\\d*.\\d*).* extracts the 23.5 from temp=23.5°C diff --git a/bundles/org.openhab.transform.regex/src/test/java/org/openhab/transform/regex/internal/AbstractTransformationServiceTest.java b/bundles/org.openhab.transform.regex/src/test/java/org/openhab/transform/regex/internal/AbstractTransformationServiceTest.java index c34a3fa16ab04..0eb4455ef6127 100644 --- a/bundles/org.openhab.transform.regex/src/test/java/org/openhab/transform/regex/internal/AbstractTransformationServiceTest.java +++ b/bundles/org.openhab.transform.regex/src/test/java/org/openhab/transform/regex/internal/AbstractTransformationServiceTest.java @@ -32,5 +32,4 @@ public abstract class AbstractTransformationServiceTest { + "" + "" + ""; - } diff --git a/bundles/org.openhab.transform.scale/pom.xml b/bundles/org.openhab.transform.scale/pom.xml index 5ba3119b54819..4d4a614f2a7a8 100644 --- a/bundles/org.openhab.transform.scale/pom.xml +++ b/bundles/org.openhab.transform.scale/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.scale/src/main/feature/feature.xml b/bundles/org.openhab.transform.scale/src/main/feature/feature.xml index 2e5b6444341c1..7ad1d30bdf286 100644 --- a/bundles/org.openhab.transform.scale/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.scale/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.scale/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.scale/${project.version} + diff --git a/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/Range.java b/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/Range.java index 77599d4aeaec2..99a9589907260 100644 --- a/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/Range.java +++ b/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/Range.java @@ -109,5 +109,4 @@ public boolean contains(final BigDecimal value) { return true; } - } diff --git a/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/ScaleTransformationService.java b/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/ScaleTransformationService.java index 101b4d12f0ceb..5e3a5b16095b8 100644 --- a/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/ScaleTransformationService.java +++ b/bundles/org.openhab.transform.scale/src/main/java/org/openhab/transform/scale/internal/ScaleTransformationService.java @@ -94,7 +94,7 @@ public Object put(Object key, Object value) { * the range where it fits i.e. [min..max]=value or ]min..max]=value * * @param properties the list of properties defining all the available ranges - * @param source the input to transform + * @param source the input to transform * */ @Override @@ -179,5 +179,4 @@ protected Map internalLoadTransform(String filename) throws Trans throw new TransformationException("An error occurred while opening file.", ex); } } - } diff --git a/bundles/org.openhab.transform.scale/src/test/java/org/openhab/transform/scale/internal/ScaleTransformServiceTest.java b/bundles/org.openhab.transform.scale/src/test/java/org/openhab/transform/scale/internal/ScaleTransformServiceTest.java index 4938f31f86695..a32a786417b67 100644 --- a/bundles/org.openhab.transform.scale/src/test/java/org/openhab/transform/scale/internal/ScaleTransformServiceTest.java +++ b/bundles/org.openhab.transform.scale/src/test/java/org/openhab/transform/scale/internal/ScaleTransformServiceTest.java @@ -146,5 +146,4 @@ public void testTransformAndFormat() throws TransformationException { String transformedResponse = processor.transform(existingscale, source); Assert.assertEquals("Correcte (992) !", transformedResponse); } - } diff --git a/bundles/org.openhab.transform.xpath/pom.xml b/bundles/org.openhab.transform.xpath/pom.xml index 4a1bace5dd7f0..b181bd95a037f 100644 --- a/bundles/org.openhab.transform.xpath/pom.xml +++ b/bundles/org.openhab.transform.xpath/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.xpath/src/main/feature/feature.xml b/bundles/org.openhab.transform.xpath/src/main/feature/feature.xml index 94b64066b8c7f..e9bbc0de360dd 100644 --- a/bundles/org.openhab.transform.xpath/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.xpath/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.xpath/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.xpath/${project.version} + diff --git a/bundles/org.openhab.transform.xpath/src/main/java/org/openhab/transform/xpath/internal/XPathTransformationService.java b/bundles/org.openhab.transform.xpath/src/main/java/org/openhab/transform/xpath/internal/XPathTransformationService.java index dc4a886210a47..6128c642f440e 100644 --- a/bundles/org.openhab.transform.xpath/src/main/java/org/openhab/transform/xpath/internal/XPathTransformationService.java +++ b/bundles/org.openhab.transform.xpath/src/main/java/org/openhab/transform/xpath/internal/XPathTransformationService.java @@ -81,5 +81,4 @@ public class XPathTransformationService implements TransformationService { } } } - } diff --git a/bundles/org.openhab.transform.xpath/src/main/resources/ESH-INF/config/xpathProfile.xml b/bundles/org.openhab.transform.xpath/src/main/resources/ESH-INF/config/xpathProfile.xml index b25645d887d98..1180fcb2bf8b3 100644 --- a/bundles/org.openhab.transform.xpath/src/main/resources/ESH-INF/config/xpathProfile.xml +++ b/bundles/org.openhab.transform.xpath/src/main/resources/ESH-INF/config/xpathProfile.xml @@ -7,7 +7,8 @@ - XPath expression to be applied on the state: For example: /*[name()='PTZStatus']/*[name()='AbsoluteHigh']/*[name()='azimuth']/ + XPath expression to be applied on the state: For example: + /*[name()='PTZStatus']/*[name()='AbsoluteHigh']/*[name()='azimuth']/ diff --git a/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/AbstractTransformationServiceTest.java b/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/AbstractTransformationServiceTest.java index cbf6b511d5702..e438c6382554e 100644 --- a/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/AbstractTransformationServiceTest.java +++ b/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/AbstractTransformationServiceTest.java @@ -32,5 +32,4 @@ public abstract class AbstractTransformationServiceTest { + "" + "" + ""; - } diff --git a/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/XPathTransformationServiceTest.java b/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/XPathTransformationServiceTest.java index 920c6641d45ad..35f106ee0f675 100644 --- a/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/XPathTransformationServiceTest.java +++ b/bundles/org.openhab.transform.xpath/src/test/java/org/openhab/transform/xpath/internal/XPathTransformationServiceTest.java @@ -38,5 +38,4 @@ public void testTransformByXPath() throws TransformationException { // Asserts assertEquals("8", transformedResponse); } - } diff --git a/bundles/org.openhab.transform.xslt/pom.xml b/bundles/org.openhab.transform.xslt/pom.xml index 03ef5332e88c5..ba6ec32d32913 100644 --- a/bundles/org.openhab.transform.xslt/pom.xml +++ b/bundles/org.openhab.transform.xslt/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.transform.xslt/src/main/feature/feature.xml b/bundles/org.openhab.transform.xslt/src/main/feature/feature.xml index 886d7b1718097..fa44e473affdb 100644 --- a/bundles/org.openhab.transform.xslt/src/main/feature/feature.xml +++ b/bundles/org.openhab.transform.xslt/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.transform.xslt/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.transform.xslt/${project.version} + diff --git a/bundles/org.openhab.transform.xslt/src/main/java/org/openhab/transform/xslt/internal/XsltTransformationService.java b/bundles/org.openhab.transform.xslt/src/main/java/org/openhab/transform/xslt/internal/XsltTransformationService.java index 690a8e7e2151b..1fc378c7a5a76 100644 --- a/bundles/org.openhab.transform.xslt/src/main/java/org/openhab/transform/xslt/internal/XsltTransformationService.java +++ b/bundles/org.openhab.transform.xslt/src/main/java/org/openhab/transform/xslt/internal/XsltTransformationService.java @@ -92,5 +92,4 @@ public class XsltTransformationService implements TransformationService { return out.toString(); } - } diff --git a/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/AbstractTransformationServiceTest.java b/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/AbstractTransformationServiceTest.java index dd3b343db2381..cf4fb9e7a8af8 100644 --- a/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/AbstractTransformationServiceTest.java +++ b/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/AbstractTransformationServiceTest.java @@ -32,5 +32,4 @@ public abstract class AbstractTransformationServiceTest { + "" + "" + ""; - } diff --git a/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/XsltTransformationServiceTest.java b/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/XsltTransformationServiceTest.java index d569cae909768..b8e4b57a17413 100644 --- a/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/XsltTransformationServiceTest.java +++ b/bundles/org.openhab.transform.xslt/src/test/java/org/openhab/transform/xslt/internal/XsltTransformationServiceTest.java @@ -38,5 +38,4 @@ public void testTransformByXSLT() throws TransformationException { // Asserts assertEquals("8", transformedResponse); } - } diff --git a/bundles/org.openhab.voice.googletts/pom.xml b/bundles/org.openhab.voice.googletts/pom.xml index e0b7713cd0094..62b1d8f8b87f9 100644 --- a/bundles/org.openhab.voice.googletts/pom.xml +++ b/bundles/org.openhab.voice.googletts/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.voice.googletts/src/main/feature/feature.xml b/bundles/org.openhab.voice.googletts/src/main/feature/feature.xml index f09b9d8b6482a..6899300967903 100644 --- a/bundles/org.openhab.voice.googletts/src/main/feature/feature.xml +++ b/bundles/org.openhab.voice.googletts/src/main/feature/feature.xml @@ -1,21 +1,21 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5 - mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9 - mvn:org.openhab.osgiify/com.google.api.api-common/1.7.0 - mvn:org.openhab.osgiify/com.google.api.gax/1.42.0 - mvn:org.openhab.osgiify/com.google.auth.google-auth-library-credentials/0.13.0 - mvn:org.openhab.osgiify/com.google.auth.google-auth-library-oauth2-http/0.13.0 - mvn:org.openhab.osgiify/com.google.http-client.google-http-client-jackson2/1.27.0 - mvn:com.fasterxml.jackson.core/jackson-core/2.9.6 - mvn:com.google.guava/guava/20.0 - mvn:com.google.http-client/google-http-client/1.27.0 - mvn:commons-codec/commons-codec/1.10 - mvn:org.threeten/threetenbp/1.3.3 - mvn:org.openhab.addons.bundles/org.openhab.voice.googletts/${project.version} - + + openhab-runtime-base + mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5 + mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9 + mvn:org.openhab.osgiify/com.google.api.api-common/1.7.0 + mvn:org.openhab.osgiify/com.google.api.gax/1.42.0 + mvn:org.openhab.osgiify/com.google.auth.google-auth-library-credentials/0.13.0 + mvn:org.openhab.osgiify/com.google.auth.google-auth-library-oauth2-http/0.13.0 + mvn:org.openhab.osgiify/com.google.http-client.google-http-client-jackson2/1.27.0 + mvn:com.fasterxml.jackson.core/jackson-core/2.9.6 + mvn:com.google.guava/guava/20.0 + mvn:com.google.http-client/google-http-client/1.27.0 + mvn:commons-codec/commons-codec/1.10 + mvn:org.threeten/threetenbp/1.3.3 + mvn:org.openhab.addons.bundles/org.openhab.voice.googletts/${project.version} + diff --git a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleCloudAPI.java b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleCloudAPI.java index 57f9624a54a45..c98f132617133 100644 --- a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleCloudAPI.java +++ b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleCloudAPI.java @@ -396,5 +396,4 @@ private String getUniqueFilenameForText(String text, String voiceName) { boolean isInitialized() { return initialized; } - } diff --git a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleTTSConfig.java b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleTTSConfig.java index 719ba47cc557d..52a9dc3378123 100644 --- a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleTTSConfig.java +++ b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/GoogleTTSConfig.java @@ -85,13 +85,9 @@ void setPurgeCache(Boolean purgeCache) { @Override public String toString() { - return "GoogleTTSConfig{" + - "serviceAccountKey='" + serviceAccountKey + '\'' + - ", pitch=" + pitch + - ", speakingRate=" + speakingRate + - ", volumeGainDb=" + volumeGainDb + - ", purgeCache=" + purgeCache + - '}'; + return "GoogleTTSConfig{" + "serviceAccountKey='" + serviceAccountKey + '\'' + ", pitch=" + pitch + + ", speakingRate=" + speakingRate + ", volumeGainDb=" + volumeGainDb + ", purgeCache=" + purgeCache + + '}'; } String toConfigString() { diff --git a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/ListVoicesResponse.java b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/ListVoicesResponse.java index 9acf1d643edd0..903a94f2927b3 100644 --- a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/ListVoicesResponse.java +++ b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/ListVoicesResponse.java @@ -37,5 +37,4 @@ public class ListVoicesResponse { public void setVoices(List voices) { this.voices = voices; } - } diff --git a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesisInput.java b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesisInput.java index aa9332725ef3f..f3f7a26f85df9 100644 --- a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesisInput.java +++ b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesisInput.java @@ -57,5 +57,4 @@ public void setSsml(String ssml) { public void setText(String text) { this.text = text; } - } diff --git a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesizeSpeechRequest.java b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesizeSpeechRequest.java index 0bfb00f6915e4..94afe4639cbd1 100644 --- a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesizeSpeechRequest.java +++ b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/SynthesizeSpeechRequest.java @@ -66,5 +66,4 @@ public void setInput(SynthesisInput input) { public void setVoice(VoiceSelectionParams voice) { this.voice = voice; } - } diff --git a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/Voice.java b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/Voice.java index ff7e3911f4b94..d4976ade9166d 100644 --- a/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/Voice.java +++ b/bundles/org.openhab.voice.googletts/src/main/java/org/openhab/voice/googletts/internal/protocol/Voice.java @@ -72,5 +72,4 @@ public SsmlVoiceGender getSsmlGender() { public void setSsmlGender(SsmlVoiceGender ssmlGender) { this.ssmlGender = ssmlGender; } - } diff --git a/bundles/org.openhab.voice.googletts/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.voice.googletts/src/main/resources/ESH-INF/config/config.xml index 88fe31cd50928..8798c563db237 100644 --- a/bundles/org.openhab.voice.googletts/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.voice.googletts/src/main/resources/ESH-INF/config/config.xml @@ -1,16 +1,17 @@ - + script Google Cloud TTS API service account key. A JSON content is expected here copied from the - downloaded key file. + downloaded key + file. @@ -33,7 +34,8 @@ - Purges the cache e.g. after testing different voice configuration parameters. When enabled the cache is purged once. Make sure to disable this setting again so the cache is maintained after restarts. + Purges the cache e.g. after testing different voice configuration parameters. When enabled the cache is + purged once. Make sure to disable this setting again so the cache is maintained after restarts. false diff --git a/bundles/org.openhab.voice.mactts/pom.xml b/bundles/org.openhab.voice.mactts/pom.xml index 3b49eedc0f5a4..0fc31d33e2aed 100644 --- a/bundles/org.openhab.voice.mactts/pom.xml +++ b/bundles/org.openhab.voice.mactts/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.voice.mactts/src/main/feature/feature.xml b/bundles/org.openhab.voice.mactts/src/main/feature/feature.xml index d9ea436b913b3..2c848fcaab8e5 100644 --- a/bundles/org.openhab.voice.mactts/src/main/feature/feature.xml +++ b/bundles/org.openhab.voice.mactts/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.voice.mactts/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.voice.mactts/${project.version} + diff --git a/bundles/org.openhab.voice.mactts/src/main/java/org/openhab/voice/mactts/internal/MacTTSService.java b/bundles/org.openhab.voice.mactts/src/main/java/org/openhab/voice/mactts/internal/MacTTSService.java index cc7c69da7aecb..9c86110d17093 100644 --- a/bundles/org.openhab.voice.mactts/src/main/java/org/openhab/voice/mactts/internal/MacTTSService.java +++ b/bundles/org.openhab.voice.mactts/src/main/java/org/openhab/voice/mactts/internal/MacTTSService.java @@ -1,140 +1,139 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.voice.mactts.internal; - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.Collections; -import java.util.HashSet; -import java.util.Locale; -import java.util.Set; - -import org.apache.commons.io.IOUtils; -import org.eclipse.smarthome.core.audio.AudioException; -import org.eclipse.smarthome.core.audio.AudioFormat; -import org.eclipse.smarthome.core.audio.AudioStream; -import org.eclipse.smarthome.core.voice.TTSException; -import org.eclipse.smarthome.core.voice.TTSService; -import org.eclipse.smarthome.core.voice.Voice; -import org.osgi.service.component.annotations.Component; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * This is a TTS service implementation for Mac OS, which simply uses the "say" command from the OS. - * - * @author Kai Kreuzer - Initial contribution and API - * @author Pauli Antilla - * @author Kelly Davis - */ -@Component -public class MacTTSService implements TTSService { - - private final Logger logger = LoggerFactory.getLogger(MacTTSService.class); - - /** - * Set of supported voices - */ - private final Set voices = initVoices(); - - /** - * Set of supported audio formats - */ - private final Set audioFormats = initAudioFormats(); - - @Override - public Set getAvailableVoices() { - return this.voices; - } - - @Override - public Set getSupportedFormats() { - return this.audioFormats; - } - - @Override - public AudioStream synthesize(String text, Voice voice, AudioFormat requestedFormat) throws TTSException { - // Validate arguments - if ((null == text) || text.isEmpty()) { - throw new TTSException("The passed text is null or empty"); - } - if (!this.voices.contains(voice)) { - throw new TTSException("The passed voice is unsupported"); - } - boolean isAudioFormatSupported = false; - for (AudioFormat currentAudioFormat : this.audioFormats) { - if (currentAudioFormat.isCompatible(requestedFormat)) { - isAudioFormatSupported = true; - break; - } - } - if (!isAudioFormatSupported) { - throw new TTSException("The passed AudioFormat is unsupported"); - } - - try { - return new MacTTSAudioStream(text, voice, requestedFormat); - } catch (AudioException e) { - throw new TTSException(e); - } - } - - /** - * Initializes this.voices - * - * @return The voices of this instance - */ - private final Set initVoices() { - Set voices = new HashSet<>(); - InputStreamReader inputStreamReader = null; - BufferedReader bufferedReader = null; - try { - Process process = Runtime.getRuntime().exec("say -v ?"); - inputStreamReader = new InputStreamReader(process.getInputStream()); - bufferedReader = new BufferedReader(inputStreamReader); - - String nextLine; - while ((nextLine = bufferedReader.readLine()) != null) { - voices.add(new MacTTSVoice(nextLine)); - } - } catch (IOException e) { - logger.error("Error while executing the 'say -v ?' command: {}", e.getMessage()); - } finally { - IOUtils.closeQuietly(bufferedReader); - } - return voices; - } - - /** - * Initializes this.audioFormats - * - * @return The audio formats of this instance - */ - private final Set initAudioFormats() { - AudioFormat audioFormat = new AudioFormat(AudioFormat.CONTAINER_WAVE, AudioFormat.CODEC_PCM_SIGNED, false, 16, - null, (long) 44100); - return Collections.singleton(audioFormat); - } - - @Override - public String getId() { - return "mactts"; - } - - @Override - public String getLabel(Locale locale) { - return "macOS TTS"; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.voice.mactts.internal; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Collections; +import java.util.HashSet; +import java.util.Locale; +import java.util.Set; + +import org.apache.commons.io.IOUtils; +import org.eclipse.smarthome.core.audio.AudioException; +import org.eclipse.smarthome.core.audio.AudioFormat; +import org.eclipse.smarthome.core.audio.AudioStream; +import org.eclipse.smarthome.core.voice.TTSException; +import org.eclipse.smarthome.core.voice.TTSService; +import org.eclipse.smarthome.core.voice.Voice; +import org.osgi.service.component.annotations.Component; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * This is a TTS service implementation for Mac OS, which simply uses the "say" command from the OS. + * + * @author Kai Kreuzer - Initial contribution and API + * @author Pauli Antilla + * @author Kelly Davis + */ +@Component +public class MacTTSService implements TTSService { + + private final Logger logger = LoggerFactory.getLogger(MacTTSService.class); + + /** + * Set of supported voices + */ + private final Set voices = initVoices(); + + /** + * Set of supported audio formats + */ + private final Set audioFormats = initAudioFormats(); + + @Override + public Set getAvailableVoices() { + return this.voices; + } + + @Override + public Set getSupportedFormats() { + return this.audioFormats; + } + + @Override + public AudioStream synthesize(String text, Voice voice, AudioFormat requestedFormat) throws TTSException { + // Validate arguments + if ((null == text) || text.isEmpty()) { + throw new TTSException("The passed text is null or empty"); + } + if (!this.voices.contains(voice)) { + throw new TTSException("The passed voice is unsupported"); + } + boolean isAudioFormatSupported = false; + for (AudioFormat currentAudioFormat : this.audioFormats) { + if (currentAudioFormat.isCompatible(requestedFormat)) { + isAudioFormatSupported = true; + break; + } + } + if (!isAudioFormatSupported) { + throw new TTSException("The passed AudioFormat is unsupported"); + } + + try { + return new MacTTSAudioStream(text, voice, requestedFormat); + } catch (AudioException e) { + throw new TTSException(e); + } + } + + /** + * Initializes this.voices + * + * @return The voices of this instance + */ + private final Set initVoices() { + Set voices = new HashSet<>(); + InputStreamReader inputStreamReader = null; + BufferedReader bufferedReader = null; + try { + Process process = Runtime.getRuntime().exec("say -v ?"); + inputStreamReader = new InputStreamReader(process.getInputStream()); + bufferedReader = new BufferedReader(inputStreamReader); + + String nextLine; + while ((nextLine = bufferedReader.readLine()) != null) { + voices.add(new MacTTSVoice(nextLine)); + } + } catch (IOException e) { + logger.error("Error while executing the 'say -v ?' command: {}", e.getMessage()); + } finally { + IOUtils.closeQuietly(bufferedReader); + } + return voices; + } + + /** + * Initializes this.audioFormats + * + * @return The audio formats of this instance + */ + private final Set initAudioFormats() { + AudioFormat audioFormat = new AudioFormat(AudioFormat.CONTAINER_WAVE, AudioFormat.CODEC_PCM_SIGNED, false, 16, + null, (long) 44100); + return Collections.singleton(audioFormat); + } + + @Override + public String getId() { + return "mactts"; + } + + @Override + public String getLabel(Locale locale) { + return "macOS TTS"; + } +} diff --git a/bundles/org.openhab.voice.marytts/pom.xml b/bundles/org.openhab.voice.marytts/pom.xml index 457e1d0f06b25..30de3561316a7 100644 --- a/bundles/org.openhab.voice.marytts/pom.xml +++ b/bundles/org.openhab.voice.marytts/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.voice.marytts/src/main/feature/feature.xml b/bundles/org.openhab.voice.marytts/src/main/feature/feature.xml index c7c64026ac2f7..fb0c0e4f8022d 100644 --- a/bundles/org.openhab.voice.marytts/src/main/feature/feature.xml +++ b/bundles/org.openhab.voice.marytts/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:commons-collections/commons-collections/3.2.2 - mvn:org.openhab.addons.bundles/org.openhab.voice.marytts/${project.version} - + + openhab-runtime-base + mvn:commons-collections/commons-collections/3.2.2 + mvn:org.openhab.addons.bundles/org.openhab.voice.marytts/${project.version} + diff --git a/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSAudioStream.java b/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSAudioStream.java index ff0372ab4ca21..5f147823e04c0 100644 --- a/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSAudioStream.java +++ b/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSAudioStream.java @@ -122,8 +122,8 @@ private InputStream getWavHeaderInputStream(int length) throws IOException { header[22] = channel; header[23] = 0; header[24] = (byte) (srate & 0xff); - header[25] = (byte) ((srate >> 8) & 0xff); - header[26] = (byte) ((srate >> 16) & 0xff); + header[25] = (byte) ((srate >> 8) & 0xff); + header[26] = (byte) ((srate >> 16) & 0xff); header[27] = (byte) ((srate >> 24) & 0xff); header[28] = (byte) ((bitrate / 8) & 0xff); header[29] = (byte) (((bitrate / 8) >> 8) & 0xff); diff --git a/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSService.java b/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSService.java index 964a4e39e4468..493a2024fadb9 100644 --- a/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSService.java +++ b/bundles/org.openhab.voice.marytts/src/main/java/org/openhab/voice/marytts/internal/MaryTTSService.java @@ -189,5 +189,4 @@ public String getId() { public String getLabel(Locale locale) { return "MaryTTS"; } - } diff --git a/bundles/org.openhab.voice.picotts/pom.xml b/bundles/org.openhab.voice.picotts/pom.xml index 3ff76168af4f2..f30bf3832c81f 100644 --- a/bundles/org.openhab.voice.picotts/pom.xml +++ b/bundles/org.openhab.voice.picotts/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.voice.picotts/src/main/feature/feature.xml b/bundles/org.openhab.voice.picotts/src/main/feature/feature.xml index 3fb597fe20aaf..2218a82c59cb6 100644 --- a/bundles/org.openhab.voice.picotts/src/main/feature/feature.xml +++ b/bundles/org.openhab.voice.picotts/src/main/feature/feature.xml @@ -1,9 +1,9 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.voice.picotts/${project.version} - + + openhab-runtime-base + mvn:org.openhab.addons.bundles/org.openhab.voice.picotts/${project.version} + diff --git a/bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSService.java b/bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSService.java index 50bf1af83f509..0c871e70d7a7a 100644 --- a/bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSService.java +++ b/bundles/org.openhab.voice.picotts/src/main/java/org/openhab/voice/picotts/internal/PicoTTSService.java @@ -1,87 +1,86 @@ -/** - * Copyright (c) 2010-2020 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.voice.picotts.internal; - -import java.util.Collections; -import java.util.Locale; -import java.util.Set; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -import org.eclipse.smarthome.core.audio.AudioException; -import org.eclipse.smarthome.core.audio.AudioFormat; -import org.eclipse.smarthome.core.audio.AudioStream; -import org.eclipse.smarthome.core.voice.TTSException; -import org.eclipse.smarthome.core.voice.TTSService; -import org.eclipse.smarthome.core.voice.Voice; -import org.osgi.service.component.annotations.Component; - -/** - * @author Florian Schmidt - Initial Contribution - */ -@Component -public class PicoTTSService implements TTSService { - private final Set voices = Stream - .of(new PicoTTSVoice("de-DE"), new PicoTTSVoice("en-US"), new PicoTTSVoice("en-GB"), - new PicoTTSVoice("es-ES"), new PicoTTSVoice("fr-FR"), new PicoTTSVoice("it-IT")) - .collect(Collectors.toSet()); - - private final Set audioFormats = Collections.singleton( - new AudioFormat(AudioFormat.CONTAINER_WAVE, AudioFormat.CODEC_PCM_SIGNED, false, 16, null, 16000L)); - - @Override - public Set getAvailableVoices() { - return this.voices; - } - - @Override - public Set getSupportedFormats() { - return this.audioFormats; - } - - @Override - public AudioStream synthesize(String text, Voice voice, AudioFormat requestedFormat) throws TTSException { - if (text == null || text.isEmpty()) { - throw new TTSException("The passed text can not be null or empty"); - } - - if (!this.voices.contains(voice)) { - throw new TTSException("The passed voice is unsupported"); - } - - boolean isAudioFormatSupported = this.audioFormats.stream().anyMatch(audioFormat -> { - return audioFormat.isCompatible(requestedFormat); - }); - - if (!isAudioFormatSupported) { - throw new TTSException("The passed AudioFormat is unsupported"); - } - - try { - return new PicoTTSAudioStream(text, voice, requestedFormat); - } catch (AudioException e) { - throw new TTSException(e); - } - } - - @Override - public String getId() { - return "picotts"; - } - - @Override - public String getLabel(Locale locale) { - return "PicoTTS"; - } - -} +/** + * Copyright (c) 2010-2020 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.voice.picotts.internal; + +import java.util.Collections; +import java.util.Locale; +import java.util.Set; +import java.util.stream.Collectors; +import java.util.stream.Stream; + +import org.eclipse.smarthome.core.audio.AudioException; +import org.eclipse.smarthome.core.audio.AudioFormat; +import org.eclipse.smarthome.core.audio.AudioStream; +import org.eclipse.smarthome.core.voice.TTSException; +import org.eclipse.smarthome.core.voice.TTSService; +import org.eclipse.smarthome.core.voice.Voice; +import org.osgi.service.component.annotations.Component; + +/** + * @author Florian Schmidt - Initial Contribution + */ +@Component +public class PicoTTSService implements TTSService { + private final Set voices = Stream + .of(new PicoTTSVoice("de-DE"), new PicoTTSVoice("en-US"), new PicoTTSVoice("en-GB"), + new PicoTTSVoice("es-ES"), new PicoTTSVoice("fr-FR"), new PicoTTSVoice("it-IT")) + .collect(Collectors.toSet()); + + private final Set audioFormats = Collections.singleton( + new AudioFormat(AudioFormat.CONTAINER_WAVE, AudioFormat.CODEC_PCM_SIGNED, false, 16, null, 16000L)); + + @Override + public Set getAvailableVoices() { + return this.voices; + } + + @Override + public Set getSupportedFormats() { + return this.audioFormats; + } + + @Override + public AudioStream synthesize(String text, Voice voice, AudioFormat requestedFormat) throws TTSException { + if (text == null || text.isEmpty()) { + throw new TTSException("The passed text can not be null or empty"); + } + + if (!this.voices.contains(voice)) { + throw new TTSException("The passed voice is unsupported"); + } + + boolean isAudioFormatSupported = this.audioFormats.stream().anyMatch(audioFormat -> { + return audioFormat.isCompatible(requestedFormat); + }); + + if (!isAudioFormatSupported) { + throw new TTSException("The passed AudioFormat is unsupported"); + } + + try { + return new PicoTTSAudioStream(text, voice, requestedFormat); + } catch (AudioException e) { + throw new TTSException(e); + } + } + + @Override + public String getId() { + return "picotts"; + } + + @Override + public String getLabel(Locale locale) { + return "PicoTTS"; + } +} diff --git a/bundles/org.openhab.voice.pollytts/pom.xml b/bundles/org.openhab.voice.pollytts/pom.xml index 0acbbd3cd4e5b..dd66c6a7f4917 100644 --- a/bundles/org.openhab.voice.pollytts/pom.xml +++ b/bundles/org.openhab.voice.pollytts/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.voice.pollytts/src/main/feature/feature.xml b/bundles/org.openhab.voice.pollytts/src/main/feature/feature.xml index 1f3f11e31e269..3f542ba82eba3 100644 --- a/bundles/org.openhab.voice.pollytts/src/main/feature/feature.xml +++ b/bundles/org.openhab.voice.pollytts/src/main/feature/feature.xml @@ -1,17 +1,17 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - openhab.tp-jackson - mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/2.9.9 - mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9 - mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5 - mvn:org.openhab.osgiify/com.amazonaws.aws-java-sdk-core/1.11.490 - mvn:org.openhab.osgiify/com.amazonaws.aws-java-sdk-polly/1.11.490 - mvn:commons-logging/commons-logging/1.2 - mvn:joda-time/joda-time/2.8.1 - mvn:org.openhab.addons.bundles/org.openhab.voice.pollytts/${project.version} - + + openhab-runtime-base + openhab.tp-jackson + mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-cbor/2.9.9 + mvn:org.apache.httpcomponents/httpcore-osgi/4.4.9 + mvn:org.apache.httpcomponents/httpclient-osgi/4.5.5 + mvn:org.openhab.osgiify/com.amazonaws.aws-java-sdk-core/1.11.490 + mvn:org.openhab.osgiify/com.amazonaws.aws-java-sdk-polly/1.11.490 + mvn:commons-logging/commons-logging/1.2 + mvn:joda-time/joda-time/2.8.1 + mvn:org.openhab.addons.bundles/org.openhab.voice.pollytts/${project.version} + diff --git a/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSAudioStream.java b/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSAudioStream.java index 8493f2cb9bc57..cc474e02499ad 100644 --- a/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSAudioStream.java +++ b/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSAudioStream.java @@ -34,5 +34,4 @@ class PollyTTSAudioStream extends FileAudioStream { public PollyTTSAudioStream(File audioFile, AudioFormat format) throws AudioException { super(audioFile, format); } - } diff --git a/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSService.java b/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSService.java index ed4af0bdfac34..910297c5ee6cb 100644 --- a/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSService.java +++ b/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/PollyTTSService.java @@ -236,5 +236,4 @@ public String getId() { public String getLabel(Locale locale) { return "PollyTTS"; } - } diff --git a/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/cloudapi/PollyTTSCloudImpl.java b/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/cloudapi/PollyTTSCloudImpl.java index 275d576ee31bc..ab03072009e31 100644 --- a/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/cloudapi/PollyTTSCloudImpl.java +++ b/bundles/org.openhab.voice.pollytts/src/main/java/org/openhab/voice/pollytts/internal/cloudapi/PollyTTSCloudImpl.java @@ -130,5 +130,4 @@ public InputStream getTextToSpeech(String text, String label, String audioFormat .withVoiceId(voiceID).withOutputFormat(OutputFormat.fromValue(format)); return client.synthesizeSpeech(request).getAudioStream(); } - } diff --git a/bundles/org.openhab.voice.pollytts/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.voice.pollytts/src/main/resources/ESH-INF/config/config.xml index 43b02bacbe732..962cb014255e4 100644 --- a/bundles/org.openhab.voice.pollytts/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.voice.pollytts/src/main/resources/ESH-INF/config/config.xml @@ -43,7 +43,8 @@ - Allows for overriding the system default audio format. "MP3" and "OGG" are the only audio formats that are supported. + Allows for overriding the system default audio format. "MP3" and "OGG" are the only audio formats that + are supported. @@ -54,7 +55,7 @@ - Determines the age in days when unused cached files are purged. + Determines the age in days when unused cached files are purged. Use 0 to disable this functionality. 0 diff --git a/bundles/org.openhab.voice.voicerss/pom.xml b/bundles/org.openhab.voice.voicerss/pom.xml index 1a12289c4e84c..bf0240abe1da6 100644 --- a/bundles/org.openhab.voice.voicerss/pom.xml +++ b/bundles/org.openhab.voice.voicerss/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/bundles/org.openhab.voice.voicerss/src/main/feature/feature.xml b/bundles/org.openhab.voice.voicerss/src/main/feature/feature.xml index 57ff9a976e519..1300eb7334fb1 100644 --- a/bundles/org.openhab.voice.voicerss/src/main/feature/feature.xml +++ b/bundles/org.openhab.voice.voicerss/src/main/feature/feature.xml @@ -1,10 +1,10 @@ - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features + mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - openhab-runtime-base - mvn:${project.groupId}/openhab-addons-external/${project.version}/cfg/voicerss - mvn:org.openhab.addons.bundles/org.openhab.voice.voicerss/${project.version} - + + openhab-runtime-base + mvn:${project.groupId}/openhab-addons-external/${project.version}/cfg/voicerss + mvn:org.openhab.addons.bundles/org.openhab.voice.voicerss/${project.version} + diff --git a/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/VoiceRSSAudioStream.java b/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/VoiceRSSAudioStream.java index 92e9738179af1..5e85d2c8b9568 100644 --- a/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/VoiceRSSAudioStream.java +++ b/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/VoiceRSSAudioStream.java @@ -32,5 +32,4 @@ class VoiceRSSAudioStream extends FileAudioStream { public VoiceRSSAudioStream(File audioFile, AudioFormat format) throws AudioException { super(audioFile, format); } - } diff --git a/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/cloudapi/VoiceRSSCloudImpl.java b/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/cloudapi/VoiceRSSCloudImpl.java index 5f843d7507cff..277218450c287 100644 --- a/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/cloudapi/VoiceRSSCloudImpl.java +++ b/bundles/org.openhab.voice.voicerss/src/main/java/org/openhab/voice/voicerss/internal/cloudapi/VoiceRSSCloudImpl.java @@ -177,5 +177,4 @@ private String createURL(String apiKey, String text, String locale, String audio return "http://api.voicerss.org/?key=" + apiKey + "&hl=" + locale + "&c=" + audioFormat + "&f=44khz_16bit_mono&src=" + encodedMsg; } - } diff --git a/bundles/org.openhab.voice.voicerss/src/main/resources/ESH-INF/config/config.xml b/bundles/org.openhab.voice.voicerss/src/main/resources/ESH-INF/config/config.xml index 4f0c3ce506e40..381e2db96bee7 100644 --- a/bundles/org.openhab.voice.voicerss/src/main/resources/ESH-INF/config/config.xml +++ b/bundles/org.openhab.voice.voicerss/src/main/resources/ESH-INF/config/config.xml @@ -8,7 +8,8 @@ - The API Key to get access to http://www.voicerss.org. You need to register with at least a free account to get an API key. + The API Key to get access to http://www.voicerss.org. You need to register with at least a free account + to get an API key. diff --git a/bundles/pom.xml b/bundles/pom.xml index 1289005359a1a..ab3c5114f48d8 100644 --- a/bundles/pom.xml +++ b/bundles/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -223,7 +225,7 @@ org.openhab.binding.systeminfo org.openhab.binding.tado org.openhab.binding.tankerkoenig - org.openhab.binding.telegram + org.openhab.binding.telegram org.openhab.binding.tellstick org.openhab.binding.tesla org.openhab.binding.tibber diff --git a/features/openhab-addons-external/pom.xml b/features/openhab-addons-external/pom.xml index bcf3d2d8cac3c..8a1b26d98fc63 100644 --- a/features/openhab-addons-external/pom.xml +++ b/features/openhab-addons-external/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 diff --git a/features/openhab-addons/pom.xml b/features/openhab-addons/pom.xml index 44ca4f57cbcf7..6ec239e639d6c 100644 --- a/features/openhab-addons/pom.xml +++ b/features/openhab-addons/pom.xml @@ -1,4 +1,6 @@ - + + 4.0.0 @@ -52,7 +54,8 @@ - +