Avoid star imports and add missing braces (#10521)

Fixes the following SAT findings:

* AvoidStarImportCheck (125)
* NeedBracesCheck (39)

Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
Wouter Born 2021-04-15 16:12:05 +02:00 committed by GitHub
parent e24d43aecb
commit 0c36650179
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
110 changed files with 793 additions and 217 deletions

View File

@ -20,7 +20,9 @@ import java.net.URISyntaxException;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.HttpsURLConnection;

View File

@ -14,7 +14,14 @@ package org.openhab.binding.amazonechocontrol.internal;
import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*; import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -14,7 +14,10 @@ package org.openhab.binding.amazonechocontrol.internal;
import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*; import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -26,7 +26,20 @@ import java.net.URLDecoder;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Base64;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;

View File

@ -14,7 +14,12 @@ package org.openhab.binding.amazonechocontrol.internal.discovery;
import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*; import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.*;
import java.util.*; import java.util.Date;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -17,7 +17,15 @@ import java.net.URISyntaxException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.net.UnknownHostException; import java.net.UnknownHostException;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.*; import java.util.ArrayList;
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.Objects;
import java.util.Set;
import java.util.concurrent.CopyOnWriteArraySet; import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;

View File

@ -21,7 +21,12 @@ import java.time.ZoneId;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -15,7 +15,16 @@ package org.openhab.binding.amazonechocontrol.internal.handler;
import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.DEVICE_PROPERTY_ID; import static org.openhab.binding.amazonechocontrol.internal.AmazonEchoControlBindingConstants.DEVICE_PROPERTY_ID;
import static org.openhab.binding.amazonechocontrol.internal.smarthome.Constants.SUPPORTED_INTERFACES; import static org.openhab.binding.amazonechocontrol.internal.smarthome.Constants.SUPPORTED_INTERFACES;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.function.Function; import java.util.function.Function;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
@ -50,7 +59,11 @@ import org.openhab.core.types.StateDescription;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.google.gson.*; import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonNull;
import com.google.gson.JsonObject;
/** /**
* @author Lukas Knoeller - Initial contribution * @author Lukas Knoeller - Initial contribution

View File

@ -13,7 +13,12 @@
package org.openhab.binding.amazonechocontrol.internal.smarthome; package org.openhab.binding.amazonechocontrol.internal.smarthome;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -12,7 +12,9 @@
*/ */
package org.openhab.binding.androiddebugbridge.internal; package org.openhab.binding.androiddebugbridge.internal;
import java.io.*; import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.net.InetSocketAddress; import java.net.InetSocketAddress;
import java.net.Socket; import java.net.Socket;
import java.net.URLEncoder; import java.net.URLEncoder;
@ -22,7 +24,11 @@ import java.security.NoSuchAlgorithmException;
import java.security.spec.InvalidKeySpecException; import java.security.spec.InvalidKeySpecException;
import java.util.Arrays; import java.util.Arrays;
import java.util.Base64; import java.util.Base64;
import java.util.concurrent.*; import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -98,8 +104,9 @@ public class AndroidDebugBridgeDevice {
public void startPackage(String packageName) public void startPackage(String packageName)
throws InterruptedException, AndroidDebugBridgeDeviceException, TimeoutException, ExecutionException { throws InterruptedException, AndroidDebugBridgeDeviceException, TimeoutException, ExecutionException {
var out = runAdbShell("monkey", "--pct-syskeys", "0", "-p", packageName, "-v", "1"); var out = runAdbShell("monkey", "--pct-syskeys", "0", "-p", packageName, "-v", "1");
if (out.contains("monkey aborted")) if (out.contains("monkey aborted")) {
throw new AndroidDebugBridgeDeviceException("Unable to open package"); throw new AndroidDebugBridgeDeviceException("Unable to open package");
}
} }
public void stopPackage(String packageName) public void stopPackage(String packageName)
@ -114,8 +121,9 @@ public class AndroidDebugBridgeDevice {
var lineParts = targetLine.split(" "); var lineParts = targetLine.split(" ");
if (lineParts.length >= 2) { if (lineParts.length >= 2) {
var packageActivityName = lineParts[lineParts.length - 2]; var packageActivityName = lineParts[lineParts.length - 2];
if (packageActivityName.contains("/")) if (packageActivityName.contains("/")) {
return packageActivityName.split("/")[0]; return packageActivityName.split("/")[0];
}
} }
throw new AndroidDebugBridgeDeviceReadException("Unable to read package name"); throw new AndroidDebugBridgeDeviceReadException("Unable to read package name");
} }
@ -222,8 +230,9 @@ public class AndroidDebugBridgeDevice {
String volumeResp = runAdbShell("media", "volume", "--show", "--stream", String.valueOf(stream), "--get", "|", String volumeResp = runAdbShell("media", "volume", "--show", "--stream", String.valueOf(stream), "--get", "|",
"grep", "volume"); "grep", "volume");
Matcher matcher = VOLUME_PATTERN.matcher(volumeResp); Matcher matcher = VOLUME_PATTERN.matcher(volumeResp);
if (!matcher.find()) if (!matcher.find()) {
throw new AndroidDebugBridgeDeviceReadException("Unable to get volume info"); throw new AndroidDebugBridgeDeviceReadException("Unable to get volume info");
}
var volumeInfo = new VolumeInfo(Integer.parseInt(matcher.group("current")), var volumeInfo = new VolumeInfo(Integer.parseInt(matcher.group("current")),
Integer.parseInt(matcher.group("min")), Integer.parseInt(matcher.group("max"))); Integer.parseInt(matcher.group("min")), Integer.parseInt(matcher.group("max")));
logger.debug("Device {}:{} VolumeInfo: current {}, min {}, max {}", this.ip, this.port, volumeInfo.current, logger.debug("Device {}:{} VolumeInfo: current {}, min {}, max {}", this.ip, this.port, volumeInfo.current,

View File

@ -19,7 +19,11 @@ import java.net.Inet4Address;
import java.net.InetAddress; import java.net.InetAddress;
import java.net.NetworkInterface; import java.net.NetworkInterface;
import java.net.SocketException; import java.net.SocketException;
import java.util.*; import java.util.Collections;
import java.util.Dictionary;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
import java.util.function.Function; import java.util.function.Function;

View File

@ -23,7 +23,13 @@ import java.util.concurrent.TimeoutException;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.NextPreviousType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.PlayPauseType;
import org.openhab.core.library.types.RewindFastforwardType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing; import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingStatus;
@ -271,8 +277,9 @@ public class AndroidDebugBridgeHandler extends BaseThingHandler {
public void checkConnection() { public void checkConnection() {
var currentConfig = config; var currentConfig = config;
if (currentConfig == null) if (currentConfig == null) {
return; return;
}
try { try {
logger.debug("Refresh device {} status", currentConfig.ip); logger.debug("Refresh device {} status", currentConfig.ip);
if (adbConnection.isConnected()) { if (adbConnection.isConnected()) {

View File

@ -14,7 +14,8 @@ package org.openhab.binding.automower.internal.things;
import static org.openhab.binding.automower.internal.AutomowerBindingConstants.*; import static org.openhab.binding.automower.internal.AutomowerBindingConstants.*;
import java.time.*; import java.time.Instant;
import java.time.ZonedDateTime;
import java.util.Collection; import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.Map; import java.util.Map;
@ -335,7 +336,7 @@ public class AutomowerHandler extends BaseThingHandler {
* Timestamp returned by the API doesn't have offset and it always in the current time zone - it can be treated as * Timestamp returned by the API doesn't have offset and it always in the current time zone - it can be treated as
* UTC. * UTC.
* Method builds a ZonedDateTime with same hour value but in the current system timezone. * Method builds a ZonedDateTime with same hour value but in the current system timezone.
* *
* @param timestamp - Automower API timestamp * @param timestamp - Automower API timestamp
* @return ZonedDateTime in system timezone * @return ZonedDateTime in system timezone
*/ */

View File

@ -50,8 +50,9 @@ public class AirbaseZoneInfo {
String[] zones = zoneinfo.split("%3b"); String[] zones = zoneinfo.split("%3b");
for (int i = 1; i < 9; i++) 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; return info;
} }

View File

@ -18,9 +18,20 @@ import java.util.stream.Stream;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.deconz.internal.handler.*; import org.openhab.binding.deconz.internal.handler.DeconzBridgeHandler;
import org.openhab.binding.deconz.internal.handler.GroupThingHandler;
import org.openhab.binding.deconz.internal.handler.LightThingHandler;
import org.openhab.binding.deconz.internal.handler.SensorThermostatThingHandler;
import org.openhab.binding.deconz.internal.handler.SensorThingHandler;
import org.openhab.binding.deconz.internal.netutils.AsyncHttpClient; import org.openhab.binding.deconz.internal.netutils.AsyncHttpClient;
import org.openhab.binding.deconz.internal.types.*; import org.openhab.binding.deconz.internal.types.GroupType;
import org.openhab.binding.deconz.internal.types.GroupTypeDeserializer;
import org.openhab.binding.deconz.internal.types.LightType;
import org.openhab.binding.deconz.internal.types.LightTypeDeserializer;
import org.openhab.binding.deconz.internal.types.ResourceType;
import org.openhab.binding.deconz.internal.types.ResourceTypeDeserializer;
import org.openhab.binding.deconz.internal.types.ThermostatMode;
import org.openhab.binding.deconz.internal.types.ThermostatModeGsonTypeAdapter;
import org.openhab.core.io.net.http.HttpClientFactory; import org.openhab.core.io.net.http.HttpClientFactory;
import org.openhab.core.io.net.http.WebSocketFactory; import org.openhab.core.io.net.http.WebSocketFactory;
import org.openhab.core.thing.Bridge; import org.openhab.core.thing.Bridge;

View File

@ -16,7 +16,12 @@ import static org.openhab.binding.deconz.internal.BindingConstants.*;
import static org.openhab.binding.deconz.internal.Util.buildUrl; import static org.openhab.binding.deconz.internal.Util.buildUrl;
import java.net.SocketTimeoutException; import java.net.SocketTimeoutException;
import java.util.*; import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionException;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;

View File

@ -26,7 +26,11 @@ import org.openhab.binding.deconz.internal.dto.GroupAction;
import org.openhab.binding.deconz.internal.dto.GroupMessage; import org.openhab.binding.deconz.internal.dto.GroupMessage;
import org.openhab.binding.deconz.internal.dto.GroupState; import org.openhab.binding.deconz.internal.dto.GroupState;
import org.openhab.binding.deconz.internal.types.ResourceType; import org.openhab.binding.deconz.internal.types.ResourceType;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing; import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingStatus;

View File

@ -16,7 +16,10 @@ import static org.openhab.binding.deconz.internal.BindingConstants.*;
import static org.openhab.binding.deconz.internal.Util.*; import static org.openhab.binding.deconz.internal.Util.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
@ -28,7 +31,15 @@ import org.openhab.binding.deconz.internal.dto.DeconzBaseMessage;
import org.openhab.binding.deconz.internal.dto.LightMessage; import org.openhab.binding.deconz.internal.dto.LightMessage;
import org.openhab.binding.deconz.internal.dto.LightState; import org.openhab.binding.deconz.internal.dto.LightState;
import org.openhab.binding.deconz.internal.types.ResourceType; import org.openhab.binding.deconz.internal.types.ResourceType;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.IncreaseDecreaseType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StopMoveType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.library.types.UpDownType;
import org.openhab.core.library.unit.Units; import org.openhab.core.library.unit.Units;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing; import org.openhab.core.thing.Thing;
@ -37,7 +48,13 @@ import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingTypeUID; import org.openhab.core.thing.ThingTypeUID;
import org.openhab.core.thing.binding.builder.ChannelBuilder; import org.openhab.core.thing.binding.builder.ChannelBuilder;
import org.openhab.core.thing.binding.builder.ThingBuilder; import org.openhab.core.thing.binding.builder.ThingBuilder;
import org.openhab.core.types.*; import org.openhab.core.types.Command;
import org.openhab.core.types.CommandDescriptionBuilder;
import org.openhab.core.types.CommandOption;
import org.openhab.core.types.RefreshType;
import org.openhab.core.types.StateDescription;
import org.openhab.core.types.StateDescriptionFragmentBuilder;
import org.openhab.core.types.UnDefType;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

View File

@ -38,7 +38,14 @@ import org.openhab.binding.deconz.internal.Util;
import org.openhab.binding.deconz.internal.discovery.ThingDiscoveryService; import org.openhab.binding.deconz.internal.discovery.ThingDiscoveryService;
import org.openhab.binding.deconz.internal.dto.BridgeFullState; import org.openhab.binding.deconz.internal.dto.BridgeFullState;
import org.openhab.binding.deconz.internal.handler.DeconzBridgeHandler; import org.openhab.binding.deconz.internal.handler.DeconzBridgeHandler;
import org.openhab.binding.deconz.internal.types.*; import org.openhab.binding.deconz.internal.types.GroupType;
import org.openhab.binding.deconz.internal.types.GroupTypeDeserializer;
import org.openhab.binding.deconz.internal.types.LightType;
import org.openhab.binding.deconz.internal.types.LightTypeDeserializer;
import org.openhab.binding.deconz.internal.types.ResourceType;
import org.openhab.binding.deconz.internal.types.ResourceTypeDeserializer;
import org.openhab.binding.deconz.internal.types.ThermostatMode;
import org.openhab.binding.deconz.internal.types.ThermostatModeGsonTypeAdapter;
import org.openhab.core.config.discovery.DiscoveryListener; import org.openhab.core.config.discovery.DiscoveryListener;
import org.openhab.core.library.types.DateTimeType; import org.openhab.core.library.types.DateTimeType;
import org.openhab.core.thing.Bridge; import org.openhab.core.thing.Bridge;

View File

@ -29,7 +29,12 @@ import org.openhab.binding.enigma2.internal.Enigma2Client;
import org.openhab.binding.enigma2.internal.Enigma2Configuration; import org.openhab.binding.enigma2.internal.Enigma2Configuration;
import org.openhab.binding.enigma2.internal.Enigma2RemoteKey; import org.openhab.binding.enigma2.internal.Enigma2RemoteKey;
import org.openhab.binding.enigma2.internal.actions.Enigma2Actions; import org.openhab.binding.enigma2.internal.actions.Enigma2Actions;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.NextPreviousType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.PlayPauseType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing; import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingStatus;
@ -293,7 +298,7 @@ public class Enigma2Handler extends BaseThingHandler {
/** /**
* Getter for Test-Injection * Getter for Test-Injection
* *
* @return Enigma2Client. * @return Enigma2Client.
*/ */
Optional<Enigma2Client> getEnigma2Client() { Optional<Enigma2Client> getEnigma2Client() {

View File

@ -122,8 +122,9 @@ public abstract class A5_12 extends _4BSMessage {
Function<String, State> getCurrentStateFunc, Configuration config) { Function<String, State> getCurrentStateFunc, Configuration config) {
EnOceanChannelTariffInfoConfig c = config.as(EnOceanChannelTariffInfoConfig.class); EnOceanChannelTariffInfoConfig c = config.as(EnOceanChannelTariffInfoConfig.class);
if (c.tariff != getTariffInfo()) if (c.tariff != getTariffInfo()) {
return UnDefType.UNDEF; return UnDefType.UNDEF;
}
switch (channelTypeId) { switch (channelTypeId) {
case CHANNEL_INSTANTPOWER: case CHANNEL_INSTANTPOWER:

View File

@ -12,8 +12,19 @@
*/ */
package org.openhab.binding.gardena.internal; package org.openhab.binding.gardena.internal;
import java.util.*; import java.util.ArrayList;
import java.util.concurrent.*; import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.ScheduledExecutorService;
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.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -31,7 +42,13 @@ import org.openhab.binding.gardena.internal.exception.GardenaDeviceNotFoundExcep
import org.openhab.binding.gardena.internal.exception.GardenaException; import org.openhab.binding.gardena.internal.exception.GardenaException;
import org.openhab.binding.gardena.internal.model.DataItemDeserializer; import org.openhab.binding.gardena.internal.model.DataItemDeserializer;
import org.openhab.binding.gardena.internal.model.dto.Device; import org.openhab.binding.gardena.internal.model.dto.Device;
import org.openhab.binding.gardena.internal.model.dto.api.*; import org.openhab.binding.gardena.internal.model.dto.api.CreateWebSocketRequest;
import org.openhab.binding.gardena.internal.model.dto.api.DataItem;
import org.openhab.binding.gardena.internal.model.dto.api.LocationDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.LocationResponse;
import org.openhab.binding.gardena.internal.model.dto.api.LocationsResponse;
import org.openhab.binding.gardena.internal.model.dto.api.PostOAuth2Response;
import org.openhab.binding.gardena.internal.model.dto.api.WebSocketCreatedResponse;
import org.openhab.binding.gardena.internal.model.dto.command.GardenaCommand; import org.openhab.binding.gardena.internal.model.dto.command.GardenaCommand;
import org.openhab.binding.gardena.internal.model.dto.command.GardenaCommandRequest; import org.openhab.binding.gardena.internal.model.dto.command.GardenaCommandRequest;
import org.openhab.core.io.net.http.HttpClientFactory; import org.openhab.core.io.net.http.HttpClientFactory;
@ -263,6 +280,7 @@ public class GardenaSmartImpl implements GardenaSmart, GardenaSmartWebSocketList
/** /**
* Stops the client. * Stops the client.
*/ */
@Override
public void dispose() { public void dispose() {
logger.debug("Disposing GardenaSmart"); logger.debug("Disposing GardenaSmart");

View File

@ -24,7 +24,12 @@ import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jetty.websocket.api.Session; import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.annotations.*; import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketConnect;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketError;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketFrame;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketMessage;
import org.eclipse.jetty.websocket.api.annotations.WebSocket;
import org.eclipse.jetty.websocket.api.extensions.Frame; import org.eclipse.jetty.websocket.api.extensions.Frame;
import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.client.WebSocketClient;
import org.eclipse.jetty.websocket.common.WebSocketSession; import org.eclipse.jetty.websocket.common.WebSocketSession;

View File

@ -28,7 +28,13 @@ import org.openhab.binding.gardena.internal.model.dto.Device;
import org.openhab.binding.gardena.internal.util.UidUtils; import org.openhab.binding.gardena.internal.util.UidUtils;
import org.openhab.core.io.net.http.HttpClientFactory; import org.openhab.core.io.net.http.HttpClientFactory;
import org.openhab.core.io.net.http.WebSocketFactory; import org.openhab.core.io.net.http.WebSocketFactory;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingUID;
import org.openhab.core.thing.binding.BaseBridgeHandler; import org.openhab.core.thing.binding.BaseBridgeHandler;
import org.openhab.core.thing.binding.ThingHandlerService; import org.openhab.core.thing.binding.ThingHandlerService;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -13,10 +13,6 @@
package org.openhab.binding.gardena.internal.handler; package org.openhab.binding.gardena.internal.handler;
import static org.openhab.binding.gardena.internal.GardenaBindingConstants.*; import static org.openhab.binding.gardena.internal.GardenaBindingConstants.*;
import static org.openhab.binding.gardena.internal.model.dto.command.MowerCommand.MowerControl;
import static org.openhab.binding.gardena.internal.model.dto.command.PowerSocketCommand.PowerSocketControl;
import static org.openhab.binding.gardena.internal.model.dto.command.ValveCommand.ValveControl;
import static org.openhab.binding.gardena.internal.model.dto.command.ValveSetCommand.ValveSetControl;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.Date; import java.util.Date;
@ -32,13 +28,30 @@ import org.openhab.binding.gardena.internal.exception.GardenaDeviceNotFoundExcep
import org.openhab.binding.gardena.internal.exception.GardenaException; import org.openhab.binding.gardena.internal.exception.GardenaException;
import org.openhab.binding.gardena.internal.model.dto.Device; import org.openhab.binding.gardena.internal.model.dto.Device;
import org.openhab.binding.gardena.internal.model.dto.api.DataItem; import org.openhab.binding.gardena.internal.model.dto.api.DataItem;
import org.openhab.binding.gardena.internal.model.dto.command.*; import org.openhab.binding.gardena.internal.model.dto.command.GardenaCommand;
import org.openhab.binding.gardena.internal.model.dto.command.MowerCommand;
import org.openhab.binding.gardena.internal.model.dto.command.MowerCommand.MowerControl;
import org.openhab.binding.gardena.internal.model.dto.command.PowerSocketCommand;
import org.openhab.binding.gardena.internal.model.dto.command.PowerSocketCommand.PowerSocketControl;
import org.openhab.binding.gardena.internal.model.dto.command.ValveCommand;
import org.openhab.binding.gardena.internal.model.dto.command.ValveCommand.ValveControl;
import org.openhab.binding.gardena.internal.model.dto.command.ValveSetCommand;
import org.openhab.binding.gardena.internal.model.dto.command.ValveSetCommand.ValveSetControl;
import org.openhab.binding.gardena.internal.util.PropertyUtils; import org.openhab.binding.gardena.internal.util.PropertyUtils;
import org.openhab.binding.gardena.internal.util.StringUtils; import org.openhab.binding.gardena.internal.util.StringUtils;
import org.openhab.binding.gardena.internal.util.UidUtils; import org.openhab.binding.gardena.internal.util.UidUtils;
import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.i18n.TimeZoneProvider;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DateTimeType;
import org.openhab.core.thing.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.thing.binding.ThingHandler; import org.openhab.core.thing.binding.ThingHandler;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -19,7 +19,13 @@ import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.gardena.internal.exception.GardenaException; import org.openhab.binding.gardena.internal.exception.GardenaException;
import org.openhab.binding.gardena.internal.model.dto.api.DataItem; import org.openhab.binding.gardena.internal.model.dto.api.DataItem;
import com.google.gson.*; import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
/** /**
* Custom deserializer for Gardena DataItems. * Custom deserializer for Gardena DataItems.

View File

@ -14,7 +14,15 @@ package org.openhab.binding.gardena.internal.model;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.binding.gardena.internal.exception.GardenaException; import org.openhab.binding.gardena.internal.exception.GardenaException;
import org.openhab.binding.gardena.internal.model.dto.api.*; import org.openhab.binding.gardena.internal.model.dto.api.CommonServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.DataItem;
import org.openhab.binding.gardena.internal.model.dto.api.DeviceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.LocationDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.MowerServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.PowerSocketServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.SensorServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.ValveServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.ValveSetServiceDataItem;
/** /**
* Creates the dataItem object based on the device type. * Creates the dataItem object based on the device type.

View File

@ -19,7 +19,15 @@ import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.openhab.binding.gardena.internal.exception.GardenaException; import org.openhab.binding.gardena.internal.exception.GardenaException;
import org.openhab.binding.gardena.internal.model.dto.api.*; import org.openhab.binding.gardena.internal.model.dto.api.CommonServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.DataItem;
import org.openhab.binding.gardena.internal.model.dto.api.DeviceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.LocationDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.MowerServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.PowerSocketServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.SensorServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.ValveServiceDataItem;
import org.openhab.binding.gardena.internal.model.dto.api.ValveSetServiceDataItem;
import org.openhab.binding.gardena.internal.util.StringUtils; import org.openhab.binding.gardena.internal.util.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;

View File

@ -12,8 +12,7 @@
*/ */
package org.openhab.binding.gpio.internal.handler; package org.openhab.binding.gpio.internal.handler;
import static org.openhab.binding.gpio.internal.GPIOBindingConstants.CHANNEL_TYPE_DIGITAL_INPUT; import static org.openhab.binding.gpio.internal.GPIOBindingConstants.*;
import static org.openhab.binding.gpio.internal.GPIOBindingConstants.CHANNEL_TYPE_DIGITAL_OUTPUT;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -23,7 +22,10 @@ import org.openhab.binding.gpio.internal.NoGpioIdException;
import org.openhab.binding.gpio.internal.configuration.GPIOInputConfiguration; import org.openhab.binding.gpio.internal.configuration.GPIOInputConfiguration;
import org.openhab.binding.gpio.internal.configuration.GPIOOutputConfiguration; import org.openhab.binding.gpio.internal.configuration.GPIOOutputConfiguration;
import org.openhab.binding.gpio.internal.configuration.PigpioConfiguration; import org.openhab.binding.gpio.internal.configuration.PigpioConfiguration;
import org.openhab.core.thing.*; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.thing.type.ChannelTypeUID; import org.openhab.core.thing.type.ChannelTypeUID;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -24,7 +24,16 @@ import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants; import org.openhab.binding.gpstracker.internal.GPSTrackerBindingConstants;
import org.openhab.core.library.CoreItemFactory; import org.openhab.core.library.CoreItemFactory;
import org.openhab.core.thing.Channel; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.profiles.*; import org.openhab.core.thing.profiles.Profile;
import org.openhab.core.thing.profiles.ProfileAdvisor;
import org.openhab.core.thing.profiles.ProfileCallback;
import org.openhab.core.thing.profiles.ProfileContext;
import org.openhab.core.thing.profiles.ProfileFactory;
import org.openhab.core.thing.profiles.ProfileType;
import org.openhab.core.thing.profiles.ProfileTypeBuilder;
import org.openhab.core.thing.profiles.ProfileTypeProvider;
import org.openhab.core.thing.profiles.ProfileTypeUID;
import org.openhab.core.thing.profiles.TriggerProfileType;
import org.openhab.core.thing.type.ChannelType; import org.openhab.core.thing.type.ChannelType;
import org.openhab.core.thing.type.ChannelTypeUID; import org.openhab.core.thing.type.ChannelTypeUID;
import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Component;

View File

@ -17,7 +17,8 @@ import static org.openhab.binding.hdpowerview.internal.api.CoordinateSystem.*;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.library.types.PercentType; import org.openhab.core.library.types.PercentType;
import org.openhab.core.types.*; import org.openhab.core.types.State;
import org.openhab.core.types.UnDefType;
/** /**
* The position of a single shade, as returned by the HD PowerView hub * The position of a single shade, as returned by the HD PowerView hub
@ -35,7 +36,7 @@ public class ShadePosition {
/** /**
* Secondary actuator position * Secondary actuator position
* *
* here we have to use Integer objects rather than just int primitives because * here we have to use Integer objects rather than just int primitives because
* these are secondary optional position elements in the JSON payload, so the * these are secondary optional position elements in the JSON payload, so the
* GSON de-serializer might leave them as null * GSON de-serializer might leave them as null
@ -46,7 +47,7 @@ public class ShadePosition {
/** /**
* Create a ShadePosition position instance with just a primary actuator * Create a ShadePosition position instance with just a primary actuator
* position * position
* *
* @param coordSys the Coordinate System to be used * @param coordSys the Coordinate System to be used
* @param percent the percentage position within that Coordinate System * @param percent the percentage position within that Coordinate System
* @return the ShadePosition instance * @return the ShadePosition instance
@ -58,7 +59,7 @@ public class ShadePosition {
/** /**
* Create a ShadePosition position instance with both a primary and a secondary * Create a ShadePosition position instance with both a primary and a secondary
* actuator position * actuator position
* *
* @param primaryCoordSys the Coordinate System to be used for the primary * @param primaryCoordSys the Coordinate System to be used for the primary
* position * position
* @param primaryPercent the percentage position for primary position * @param primaryPercent the percentage position for primary position
@ -75,7 +76,7 @@ public class ShadePosition {
/** /**
* Constructor for ShadePosition position with both a primary and a secondary * Constructor for ShadePosition position with both a primary and a secondary
* actuator position * actuator position
* *
* @param primaryCoordSys the Coordinate System to be used for the primary * @param primaryCoordSys the Coordinate System to be used for the primary
* position * position
* @param primaryPercent the percentage position for primary position * @param primaryPercent the percentage position for primary position
@ -92,7 +93,7 @@ public class ShadePosition {
/** /**
* For a given Actuator Class and Coordinate System, map the ShadePosition's * For a given Actuator Class and Coordinate System, map the ShadePosition's
* state to an OpenHAB State * state to an OpenHAB State
* *
* @param actuatorClass the requested Actuator Class * @param actuatorClass the requested Actuator Class
* @param coordSys the requested Coordinate System * @param coordSys the requested Coordinate System
* @return the corresponding OpenHAB State * @return the corresponding OpenHAB State
@ -110,7 +111,7 @@ public class ShadePosition {
/** /**
* Determine the Coordinate System used for the given Actuator Class (if any) * Determine the Coordinate System used for the given Actuator Class (if any)
* *
* @param actuatorClass the requested Actuator Class * @param actuatorClass the requested Actuator Class
* @return the Coordinate System used for that Actuator Class, or ERROR_UNKNOWN * @return the Coordinate System used for that Actuator Class, or ERROR_UNKNOWN
* if the Actuator Class is not implemented * if the Actuator Class is not implemented
@ -170,7 +171,7 @@ public class ShadePosition {
* *
* All these types use the same coordinate system; which is inverted in relation * All these types use the same coordinate system; which is inverted in relation
* to that of OpenHAB * to that of OpenHAB
* *
* If the slats have a defined position then the shade position must by * If the slats have a defined position then the shade position must by
* definition be 100% * definition be 100%
*/ */
@ -180,11 +181,11 @@ public class ShadePosition {
case VANE_COORDS: case VANE_COORDS:
/* /*
* Vane angle of the primary rail of a bottom-up single action shade * Vane angle of the primary rail of a bottom-up single action shade
* *
* If the shades are not open, the vane position is undefined; if the the shades * If the shades are not open, the vane position is undefined; if the the shades
* are exactly open then the vanes are at zero; otherwise return the actual vane * are exactly open then the vanes are at zero; otherwise return the actual vane
* position itself * position itself
* *
* note: sometimes the hub may return a value of position1 > MAX_VANE (seems to * note: sometimes the hub may return a value of position1 > MAX_VANE (seems to
* be a bug in the hub) so we avoid an out of range exception via the Math.min() * be a bug in the hub) so we avoid an out of range exception via the Math.min()
* function below.. * function below..
@ -207,7 +208,7 @@ public class ShadePosition {
case ZERO_IS_OPEN: case ZERO_IS_OPEN:
/* /*
* Secondary, upper, top-down rail of a dual action shade * Secondary, upper, top-down rail of a dual action shade
* *
* Uses a coordinate system that is NOT inverted in relation to OpenHAB * Uses a coordinate system that is NOT inverted in relation to OpenHAB
*/ */
position2 = Integer.valueOf((int) Math.round(percent.doubleValue() / 100 * MAX_SHADE)); position2 = Integer.valueOf((int) Math.round(percent.doubleValue() / 100 * MAX_SHADE));
@ -231,7 +232,7 @@ public class ShadePosition {
case ZERO_IS_OPEN: case ZERO_IS_OPEN:
/* /*
* Secondary, upper, top-down rail of a dual action shade * Secondary, upper, top-down rail of a dual action shade
* *
* Uses a coordinate system that is NOT inverted in relation to OpenHAB * Uses a coordinate system that is NOT inverted in relation to OpenHAB
*/ */
if (posKind2.intValue() != 3) { if (posKind2.intValue() != 3) {

View File

@ -19,7 +19,26 @@ import java.util.Map;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.heos.internal.handler.*; import org.openhab.binding.heos.internal.handler.HeosBridgeHandler;
import org.openhab.binding.heos.internal.handler.HeosChannelHandler;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerBuildGroup;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerClearQueue;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerControl;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerFavorite;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerGrouping;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerInputs;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerMute;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerNowPlaying;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerPlayURL;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerPlayerSelect;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerPlaylist;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerQueue;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerRawCommand;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerReboot;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerRepeatMode;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerShuffleMode;
import org.openhab.binding.heos.internal.handler.HeosChannelHandlerVolume;
import org.openhab.binding.heos.internal.handler.HeosDynamicStateDescriptionProvider;
import org.openhab.binding.heos.internal.resources.HeosEventListener; import org.openhab.binding.heos.internal.resources.HeosEventListener;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.type.ChannelTypeUID; import org.openhab.core.thing.type.ChannelTypeUID;

View File

@ -16,7 +16,11 @@ import static org.openhab.binding.heos.internal.handler.FutureUtil.cancel;
import java.beans.PropertyChangeListener; import java.beans.PropertyChangeListener;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.*; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;

View File

@ -181,8 +181,9 @@ public abstract class CommonRpcParser<M, R> implements RpcParser<M, R> {
dp.setUnit("dBm"); dp.setUnit("dBm");
} }
// Bypass: For at least one device the CCU does not send a unit together with the value // Bypass: For at least one device the CCU does not send a unit together with the value
if (dp.getUnit() == null && dp.getName().startsWith(HomematicConstants.DATAPOINT_NAME_OPERATING_VOLTAGE)) if (dp.getUnit() == null && dp.getName().startsWith(HomematicConstants.DATAPOINT_NAME_OPERATING_VOLTAGE)) {
dp.setUnit("V"); dp.setUnit("V");
}
HmValueType valueType = HmValueType.parse(type); HmValueType valueType = HmValueType.parse(type);
if (valueType == null || valueType == HmValueType.UNKNOWN) { if (valueType == null || valueType == HmValueType.UNKNOWN) {

View File

@ -417,8 +417,9 @@ public class HomematicThingHandler extends BaseThingHandler {
loadHomematicChannelValues(device.getChannel(0)); loadHomematicChannelValues(device.getChannel(0));
ThingStatus oldStatus = thing.getStatus(); ThingStatus oldStatus = thing.getStatus();
if (oldStatus == ThingStatus.UNINITIALIZED) if (oldStatus == ThingStatus.UNINITIALIZED) {
return; return;
}
ThingStatus newStatus = ThingStatus.ONLINE; ThingStatus newStatus = ThingStatus.ONLINE;
ThingStatusDetail newDetail = ThingStatusDetail.NONE; ThingStatusDetail newDetail = ThingStatusDetail.NONE;

View File

@ -332,8 +332,9 @@ public class MetadataUtils {
case "m3": case "m3":
return ITEM_TYPE_NUMBER + ":Volume"; return ITEM_TYPE_NUMBER + ":Volume";
case "": case "":
if (dpName.startsWith(DATAPOINT_NAME_OPERATING_VOLTAGE)) if (dpName.startsWith(DATAPOINT_NAME_OPERATING_VOLTAGE)) {
return ITEM_TYPE_NUMBER + ":ElectricPotential"; return ITEM_TYPE_NUMBER + ":ElectricPotential";
}
case "s": case "s":
case "min": case "min":
case "minutes": case "minutes":

View File

@ -15,7 +15,11 @@ package org.openhab.binding.http.internal;
import java.net.MalformedURLException; import java.net.MalformedURLException;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.util.*; import java.util.Base64;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.function.Function; import java.util.function.Function;
@ -33,8 +37,21 @@ import org.eclipse.jetty.http.HttpMethod;
import org.openhab.binding.http.internal.config.HttpChannelConfig; import org.openhab.binding.http.internal.config.HttpChannelConfig;
import org.openhab.binding.http.internal.config.HttpChannelMode; import org.openhab.binding.http.internal.config.HttpChannelMode;
import org.openhab.binding.http.internal.config.HttpThingConfig; import org.openhab.binding.http.internal.config.HttpThingConfig;
import org.openhab.binding.http.internal.converter.*; import org.openhab.binding.http.internal.converter.AbstractTransformingItemConverter;
import org.openhab.binding.http.internal.http.*; import org.openhab.binding.http.internal.converter.ColorItemConverter;
import org.openhab.binding.http.internal.converter.DimmerItemConverter;
import org.openhab.binding.http.internal.converter.FixedValueMappingItemConverter;
import org.openhab.binding.http.internal.converter.GenericItemConverter;
import org.openhab.binding.http.internal.converter.ImageItemConverter;
import org.openhab.binding.http.internal.converter.ItemValueConverter;
import org.openhab.binding.http.internal.converter.NumberItemConverter;
import org.openhab.binding.http.internal.converter.PlayerItemConverter;
import org.openhab.binding.http.internal.converter.RollershutterItemConverter;
import org.openhab.binding.http.internal.http.Content;
import org.openhab.binding.http.internal.http.HttpAuthException;
import org.openhab.binding.http.internal.http.HttpResponseListener;
import org.openhab.binding.http.internal.http.RateLimitedHttpClient;
import org.openhab.binding.http.internal.http.RefreshingUrlCache;
import org.openhab.binding.http.internal.transform.ValueTransformationProvider; import org.openhab.binding.http.internal.transform.ValueTransformationProvider;
import org.openhab.core.library.types.DateTimeType; import org.openhab.core.library.types.DateTimeType;
import org.openhab.core.library.types.PointType; import org.openhab.core.library.types.PointType;

View File

@ -12,7 +12,11 @@
*/ */
package org.openhab.binding.http.internal; package org.openhab.binding.http.internal;
import java.net.*; import java.net.IDN;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.StreamSupport; import java.util.stream.StreamSupport;

View File

@ -13,7 +13,13 @@
package org.openhab.binding.http.internal.http; package org.openhab.binding.http.internal.http;
import java.net.URI; import java.net.URI;
import java.util.concurrent.*; import java.util.concurrent.CancellationException;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -54,7 +60,7 @@ public class RateLimitedHttpClient {
/** /**
* Set a new delay * Set a new delay
* *
* @param delay in ms between to requests * @param delay in ms between to requests
*/ */
public void setDelay(int delay) { public void setDelay(int delay) {

View File

@ -12,12 +12,19 @@
*/ */
package org.openhab.binding.http.internal.http; package org.openhab.binding.http.internal.http;
import java.net.*; import java.net.MalformedURLException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.concurrent.*; import java.util.concurrent.CancellationException;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer; import java.util.function.Consumer;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;

View File

@ -14,7 +14,10 @@ package org.openhab.binding.innogysmarthome.internal.client.entity.device;
import static org.openhab.binding.innogysmarthome.internal.InnogyBindingConstants.*; import static org.openhab.binding.innogysmarthome.internal.InnogyBindingConstants.*;
import java.util.*; import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.openhab.binding.innogysmarthome.internal.client.entity.capability.Capability; import org.openhab.binding.innogysmarthome.internal.client.entity.capability.Capability;
import org.openhab.binding.innogysmarthome.internal.client.entity.location.Location; import org.openhab.binding.innogysmarthome.internal.client.entity.location.Location;

View File

@ -28,7 +28,13 @@ import org.openhab.binding.innogysmarthome.internal.client.entity.capability.Cap
import org.openhab.binding.innogysmarthome.internal.client.entity.device.Device; import org.openhab.binding.innogysmarthome.internal.client.entity.device.Device;
import org.openhab.binding.innogysmarthome.internal.client.entity.event.Event; import org.openhab.binding.innogysmarthome.internal.client.entity.event.Event;
import org.openhab.binding.innogysmarthome.internal.listener.DeviceStatusListener; import org.openhab.binding.innogysmarthome.internal.listener.DeviceStatusListener;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.OpenClosedType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.StopMoveType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.library.types.UpDownType;
import org.openhab.core.thing.Bridge; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.Channel; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;

View File

@ -15,7 +15,12 @@ package org.openhab.binding.innogysmarthome.internal.manager;
import static org.openhab.binding.innogysmarthome.internal.InnogyBindingConstants.BATTERY_POWERED_DEVICES; import static org.openhab.binding.innogysmarthome.internal.InnogyBindingConstants.BATTERY_POWERED_DEVICES;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -16,7 +16,12 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -14,7 +14,14 @@ package org.openhab.binding.insteon.internal.handler;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;

View File

@ -25,7 +25,9 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.jablotron.internal.handler.JablotronBridgeHandler; import org.openhab.binding.jablotron.internal.handler.JablotronBridgeHandler;
import org.openhab.binding.jablotron.internal.model.JablotronDiscoveredService; import org.openhab.binding.jablotron.internal.model.JablotronDiscoveredService;
import org.openhab.core.config.discovery.*; import org.openhab.core.config.discovery.AbstractDiscoveryService;
import org.openhab.core.config.discovery.DiscoveryResultBuilder;
import org.openhab.core.config.discovery.DiscoveryService;
import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingTypeUID; import org.openhab.core.thing.ThingTypeUID;
import org.openhab.core.thing.ThingUID; import org.openhab.core.thing.ThingUID;

View File

@ -25,11 +25,22 @@ import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.jablotron.internal.config.JablotronDeviceConfig; import org.openhab.binding.jablotron.internal.config.JablotronDeviceConfig;
import org.openhab.binding.jablotron.internal.model.*; import org.openhab.binding.jablotron.internal.model.JablotronControlResponse;
import org.openhab.binding.jablotron.internal.model.JablotronDataUpdateResponse;
import org.openhab.binding.jablotron.internal.model.JablotronDiscoveredService;
import org.openhab.binding.jablotron.internal.model.JablotronHistoryDataEvent;
import org.openhab.binding.jablotron.internal.model.JablotronService;
import org.openhab.binding.jablotron.internal.model.JablotronServiceData;
import org.openhab.binding.jablotron.internal.model.JablotronServiceDetail;
import org.openhab.binding.jablotron.internal.model.JablotronServiceDetailSegment;
import org.openhab.core.cache.ExpiringCache; import org.openhab.core.cache.ExpiringCache;
import org.openhab.core.library.types.DateTimeType; import org.openhab.core.library.types.DateTimeType;
import org.openhab.core.library.types.StringType; import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingStatusInfo;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.types.State; import org.openhab.core.types.State;
import org.slf4j.Logger; import org.slf4j.Logger;

View File

@ -32,10 +32,20 @@ import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.http.HttpMethod; import org.eclipse.jetty.http.HttpMethod;
import org.openhab.binding.jablotron.internal.config.JablotronBridgeConfig; import org.openhab.binding.jablotron.internal.config.JablotronBridgeConfig;
import org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService; import org.openhab.binding.jablotron.internal.discovery.JablotronDiscoveryService;
import org.openhab.binding.jablotron.internal.model.*; import org.openhab.binding.jablotron.internal.model.JablotronControlResponse;
import org.openhab.binding.jablotron.internal.model.JablotronDataUpdateResponse;
import org.openhab.binding.jablotron.internal.model.JablotronDiscoveredService;
import org.openhab.binding.jablotron.internal.model.JablotronGetEventHistoryResponse;
import org.openhab.binding.jablotron.internal.model.JablotronGetServiceResponse;
import org.openhab.binding.jablotron.internal.model.JablotronHistoryDataEvent;
import org.openhab.binding.jablotron.internal.model.JablotronLoginResponse;
import org.openhab.binding.jablotron.internal.model.ja100f.JablotronGetPGResponse; import org.openhab.binding.jablotron.internal.model.ja100f.JablotronGetPGResponse;
import org.openhab.binding.jablotron.internal.model.ja100f.JablotronGetSectionsResponse; import org.openhab.binding.jablotron.internal.model.ja100f.JablotronGetSectionsResponse;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseBridgeHandler; import org.openhab.core.thing.binding.BaseBridgeHandler;
import org.openhab.core.thing.binding.ThingHandlerService; import org.openhab.core.thing.binding.ThingHandlerService;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -16,7 +16,11 @@ import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.*; import java.nio.file.FileSystems;
import java.nio.file.Path;
import java.nio.file.StandardWatchEventKinds;
import java.nio.file.WatchKey;
import java.nio.file.WatchService;
import java.time.Duration; import java.time.Duration;
import java.util.Collections; import java.util.Collections;
import java.util.concurrent.Future; import java.util.concurrent.Future;

View File

@ -17,7 +17,13 @@ import static org.openhab.binding.linuxinput.internal.LinuxInputBindingConstants
import java.io.IOException; import java.io.IOException;
import java.nio.channels.SelectionKey; import java.nio.channels.SelectionKey;
import java.nio.channels.Selector; import java.nio.channels.Selector;
import java.util.*; import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -26,7 +32,12 @@ import org.openhab.binding.linuxinput.internal.evdev4j.jnr.EvdevLibrary;
import org.openhab.core.library.CoreItemFactory; import org.openhab.core.library.CoreItemFactory;
import org.openhab.core.library.types.OpenClosedType; import org.openhab.core.library.types.OpenClosedType;
import org.openhab.core.library.types.StringType; import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.*; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.CommonTriggerEvents;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.builder.ChannelBuilder; import org.openhab.core.thing.binding.builder.ChannelBuilder;
import org.openhab.core.thing.binding.builder.ThingBuilder; import org.openhab.core.thing.binding.builder.ThingBuilder;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -14,7 +14,11 @@ package org.openhab.binding.mqtt.homeassistant.internal;
import java.lang.reflect.Type; import java.lang.reflect.Type;
import com.google.gson.*; import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
/** /**
* The {@link ConnectionDeserializer} will de-serialize a connection-list * The {@link ConnectionDeserializer} will de-serialize a connection-list

View File

@ -28,7 +28,11 @@ import org.openhab.core.io.transport.mqtt.MqttBrokerConnection;
import org.openhab.core.io.transport.mqtt.MqttConnectionObserver; import org.openhab.core.io.transport.mqtt.MqttConnectionObserver;
import org.openhab.core.io.transport.mqtt.MqttConnectionState; import org.openhab.core.io.transport.mqtt.MqttConnectionState;
import org.openhab.core.io.transport.mqtt.MqttService; import org.openhab.core.io.transport.mqtt.MqttService;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseBridgeHandler; import org.openhab.core.thing.binding.BaseBridgeHandler;
import org.openhab.core.thing.binding.ThingHandlerService; import org.openhab.core.thing.binding.ThingHandlerService;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -12,8 +12,7 @@
*/ */
package org.openhab.binding.neato.internal; package org.openhab.binding.neato.internal;
import static org.openhab.binding.neato.internal.classes.Category.HOUSE; import static org.openhab.binding.neato.internal.classes.Category.*;
import static org.openhab.binding.neato.internal.classes.Category.MAP;
import static org.openhab.binding.neato.internal.classes.Mode.TURBO; import static org.openhab.binding.neato.internal.classes.Mode.TURBO;
import static org.openhab.binding.neato.internal.classes.NavigationMode.DEEP; import static org.openhab.binding.neato.internal.classes.NavigationMode.DEEP;
@ -34,7 +33,10 @@ import java.util.TimeZone;
import javax.crypto.Mac; import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec; import javax.crypto.spec.SecretKeySpec;
import org.openhab.binding.neato.internal.classes.*; import org.openhab.binding.neato.internal.classes.ErrorMessage;
import org.openhab.binding.neato.internal.classes.NeatoGeneralInfo;
import org.openhab.binding.neato.internal.classes.NeatoRobotInfo;
import org.openhab.binding.neato.internal.classes.NeatoState;
import org.openhab.binding.neato.internal.config.NeatoRobotConfig; import org.openhab.binding.neato.internal.config.NeatoRobotConfig;
import org.openhab.core.io.net.http.HttpUtil; import org.openhab.core.io.net.http.HttpUtil;
import org.openhab.core.util.HexUtils; import org.openhab.core.util.HexUtils;

View File

@ -34,7 +34,12 @@ import org.openhab.core.thing.ThingUID;
import org.osgi.framework.Bundle; import org.osgi.framework.Bundle;
import org.osgi.framework.FrameworkUtil; import org.osgi.framework.FrameworkUtil;
import io.swagger.client.model.*; import io.swagger.client.model.NAHealthyHomeCoach;
import io.swagger.client.model.NAMain;
import io.swagger.client.model.NAPlug;
import io.swagger.client.model.NAStationModule;
import io.swagger.client.model.NAWelcomeCamera;
import io.swagger.client.model.NAWelcomeHome;
/** /**
* The {@link NetatmoModuleDiscoveryService} searches for available Netatmo * The {@link NetatmoModuleDiscoveryService} searches for available Netatmo

View File

@ -239,7 +239,7 @@ public class NuvoHandler extends BaseThingHandler implements NuvoMessageEventLis
* *
* @param channelUID the channel sending the command * @param channelUID the channel sending the command
* @param command the command received * @param command the command received
* *
*/ */
@Override @Override
public void handleCommand(ChannelUID channelUID, Command command) { public void handleCommand(ChannelUID channelUID, Command command) {
@ -306,8 +306,9 @@ public class NuvoHandler extends BaseThingHandler implements NuvoMessageEventLis
int value = ((DecimalType) command).intValue(); int value = ((DecimalType) command).intValue();
if (value >= MIN_EQ && value <= MAX_EQ) { if (value >= MIN_EQ && value <= MAX_EQ) {
// device can only accept even values // device can only accept even values
if (value % 2 == 1) if (value % 2 == 1) {
value++; value++;
}
logger.debug("Got treble command {} zone {}", value, target); logger.debug("Got treble command {} zone {}", value, target);
connector.sendCfgCommand(target, NuvoCommand.TREBLE, String.valueOf(value)); connector.sendCfgCommand(target, NuvoCommand.TREBLE, String.valueOf(value));
} }
@ -317,8 +318,9 @@ public class NuvoHandler extends BaseThingHandler implements NuvoMessageEventLis
if (command instanceof DecimalType) { if (command instanceof DecimalType) {
int value = ((DecimalType) command).intValue(); int value = ((DecimalType) command).intValue();
if (value >= MIN_EQ && value <= MAX_EQ) { if (value >= MIN_EQ && value <= MAX_EQ) {
if (value % 2 == 1) if (value % 2 == 1) {
value++; value++;
}
logger.debug("Got bass command {} zone {}", value, target); logger.debug("Got bass command {} zone {}", value, target);
connector.sendCfgCommand(target, NuvoCommand.BASS, String.valueOf(value)); connector.sendCfgCommand(target, NuvoCommand.BASS, String.valueOf(value));
} }
@ -328,8 +330,9 @@ public class NuvoHandler extends BaseThingHandler implements NuvoMessageEventLis
if (command instanceof DecimalType) { if (command instanceof DecimalType) {
int value = ((DecimalType) command).intValue(); int value = ((DecimalType) command).intValue();
if (value >= MIN_EQ && value <= MAX_EQ) { if (value >= MIN_EQ && value <= MAX_EQ) {
if (value % 2 == 1) if (value % 2 == 1) {
value++; value++;
}
logger.debug("Got balance command {} zone {}", value, target); logger.debug("Got balance command {} zone {}", value, target);
connector.sendCfgCommand(target, NuvoCommand.BALANCE, connector.sendCfgCommand(target, NuvoCommand.BALANCE,
NuvoStatusCodes.getBalanceFromInt(value)); NuvoStatusCodes.getBalanceFromInt(value));

View File

@ -12,7 +12,7 @@
*/ */
package org.openhab.binding.nzwateralerts.internal.handler; package org.openhab.binding.nzwateralerts.internal.handler;
import static org.openhab.binding.nzwateralerts.internal.NZWaterAlertsBindingConstants.*; import static org.openhab.binding.nzwateralerts.internal.NZWaterAlertsBindingConstants.CHANNEL_ALERTLEVEL;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -54,8 +54,9 @@ public class NZWaterAlertsHandler extends BaseThingHandler implements NZWaterAle
final NZWaterAlertsBinder localBinder = binder; final NZWaterAlertsBinder localBinder = binder;
if (CHANNEL_ALERTLEVEL.equals(channelUID.getId())) { if (CHANNEL_ALERTLEVEL.equals(channelUID.getId())) {
if (command instanceof RefreshType) { if (command instanceof RefreshType) {
if (localBinder != null) if (localBinder != null) {
localBinder.update(); localBinder.update();
}
} }
} }
} }

View File

@ -12,8 +12,7 @@
*/ */
package org.openhab.binding.onewire.internal.handler; package org.openhab.binding.onewire.internal.handler;
import static org.openhab.binding.onewire.internal.OwBindingConstants.CHANNEL_DIGITAL; import static org.openhab.binding.onewire.internal.OwBindingConstants.*;
import static org.openhab.binding.onewire.internal.OwBindingConstants.THING_TYPE_BASIC;
import java.util.Collections; import java.util.Collections;
import java.util.Set; import java.util.Set;
@ -22,7 +21,14 @@ import java.util.stream.Stream;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.binding.onewire.internal.OwDynamicStateDescriptionProvider; import org.openhab.binding.onewire.internal.OwDynamicStateDescriptionProvider;
import org.openhab.binding.onewire.internal.device.*; import org.openhab.binding.onewire.internal.device.AbstractDigitalOwDevice;
import org.openhab.binding.onewire.internal.device.DS18x20;
import org.openhab.binding.onewire.internal.device.DS2401;
import org.openhab.binding.onewire.internal.device.DS2405;
import org.openhab.binding.onewire.internal.device.DS2406_DS2413;
import org.openhab.binding.onewire.internal.device.DS2408;
import org.openhab.binding.onewire.internal.device.DS2423;
import org.openhab.binding.onewire.internal.device.OwSensorType;
import org.openhab.core.library.types.OnOffType; import org.openhab.core.library.types.OnOffType;
import org.openhab.core.thing.Bridge; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;

View File

@ -13,9 +13,7 @@
package org.openhab.binding.openweathermap.internal.handler; package org.openhab.binding.openweathermap.internal.handler;
import static org.openhab.binding.openweathermap.internal.OpenWeatherMapBindingConstants.*; import static org.openhab.binding.openweathermap.internal.OpenWeatherMapBindingConstants.*;
import static org.openhab.core.library.unit.MetricPrefix.HECTO; import static org.openhab.core.library.unit.MetricPrefix.*;
import static org.openhab.core.library.unit.MetricPrefix.KILO;
import static org.openhab.core.library.unit.MetricPrefix.MILLI;
import static org.openhab.core.library.unit.SIUnits.*; import static org.openhab.core.library.unit.SIUnits.*;
import static org.openhab.core.library.unit.Units.*; import static org.openhab.core.library.unit.Units.*;
@ -28,8 +26,10 @@ import org.openhab.binding.openweathermap.internal.config.OpenWeatherMapOneCallH
import org.openhab.binding.openweathermap.internal.connection.OpenWeatherMapCommunicationException; import org.openhab.binding.openweathermap.internal.connection.OpenWeatherMapCommunicationException;
import org.openhab.binding.openweathermap.internal.connection.OpenWeatherMapConfigurationException; import org.openhab.binding.openweathermap.internal.connection.OpenWeatherMapConfigurationException;
import org.openhab.binding.openweathermap.internal.connection.OpenWeatherMapConnection; import org.openhab.binding.openweathermap.internal.connection.OpenWeatherMapConnection;
import org.openhab.binding.openweathermap.internal.dto.onecallhist.*; import org.openhab.binding.openweathermap.internal.dto.onecallhist.Hourly;
import org.openhab.binding.openweathermap.internal.dto.onecallhist.OpenWeatherMapOneCallHistAPIData; import org.openhab.binding.openweathermap.internal.dto.onecallhist.OpenWeatherMapOneCallHistAPIData;
import org.openhab.binding.openweathermap.internal.dto.onecallhist.Rain;
import org.openhab.binding.openweathermap.internal.dto.onecallhist.Snow;
import org.openhab.core.i18n.TimeZoneProvider; import org.openhab.core.i18n.TimeZoneProvider;
import org.openhab.core.library.types.QuantityType; import org.openhab.core.library.types.QuantityType;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;

View File

@ -12,14 +12,28 @@
*/ */
package org.openhab.binding.pilight.internal; package org.openhab.binding.pilight.internal;
import java.io.*; import java.io.BufferedReader;
import java.io.Closeable;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.Socket; import java.net.Socket;
import java.util.Collections; import java.util.Collections;
import java.util.concurrent.*; import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.binding.pilight.internal.dto.*; import org.openhab.binding.pilight.internal.dto.Action;
import org.openhab.binding.pilight.internal.dto.AllStatus;
import org.openhab.binding.pilight.internal.dto.Identification;
import org.openhab.binding.pilight.internal.dto.Message;
import org.openhab.binding.pilight.internal.dto.Options;
import org.openhab.binding.pilight.internal.dto.Response;
import org.openhab.binding.pilight.internal.dto.Status;
import org.openhab.binding.pilight.internal.dto.Version;
import org.openhab.core.thing.ThingStatus; import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail; import org.openhab.core.thing.ThingStatusDetail;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -148,6 +162,7 @@ public class PilightConnector implements Runnable, Closeable {
/** /**
* Stops the listener * Stops the listener
*/ */
@Override
public void close() { public void close() {
disconnect(); disconnect();
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();

View File

@ -12,10 +12,22 @@
*/ */
package org.openhab.binding.pilight.internal.discovery; package org.openhab.binding.pilight.internal.discovery;
import java.io.*; import java.io.ByteArrayInputStream;
import java.net.*; import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.NetworkInterface;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.*; import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -14,7 +14,11 @@ package org.openhab.binding.pilight.internal.discovery;
import static org.openhab.binding.pilight.internal.PilightBindingConstants.*; import static org.openhab.binding.pilight.internal.PilightBindingConstants.*;
import java.util.*; import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -19,7 +19,10 @@ import org.openhab.binding.pilight.internal.dto.Action;
import org.openhab.binding.pilight.internal.dto.Config; import org.openhab.binding.pilight.internal.dto.Config;
import org.openhab.binding.pilight.internal.dto.Device; import org.openhab.binding.pilight.internal.dto.Device;
import org.openhab.binding.pilight.internal.dto.Status; import org.openhab.binding.pilight.internal.dto.Status;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.thing.binding.BridgeHandler; import org.openhab.core.thing.binding.BridgeHandler;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -27,9 +27,17 @@ import org.openhab.binding.pilight.internal.IPilightCallback;
import org.openhab.binding.pilight.internal.PilightBridgeConfiguration; import org.openhab.binding.pilight.internal.PilightBridgeConfiguration;
import org.openhab.binding.pilight.internal.PilightConnector; import org.openhab.binding.pilight.internal.PilightConnector;
import org.openhab.binding.pilight.internal.discovery.PilightDeviceDiscoveryService; import org.openhab.binding.pilight.internal.discovery.PilightDeviceDiscoveryService;
import org.openhab.binding.pilight.internal.dto.*; import org.openhab.binding.pilight.internal.dto.Action;
import org.openhab.binding.pilight.internal.dto.Config;
import org.openhab.binding.pilight.internal.dto.DeviceType;
import org.openhab.binding.pilight.internal.dto.Status;
import org.openhab.binding.pilight.internal.dto.Version;
import org.openhab.core.common.NamedThreadFactory; import org.openhab.core.common.NamedThreadFactory;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseBridgeHandler; import org.openhab.core.thing.binding.BaseBridgeHandler;
import org.openhab.core.thing.binding.ThingHandler; import org.openhab.core.thing.binding.ThingHandler;
import org.openhab.core.thing.binding.ThingHandlerService; import org.openhab.core.thing.binding.ThingHandlerService;

View File

@ -46,10 +46,12 @@ public class DiscoveryRawResponseDTO {
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) if (this == o) {
return true; return true;
if (o == null || getClass() != o.getClass()) }
if (o == null || getClass() != o.getClass()) {
return false; return false;
}
DiscoveryRawResponseDTO that = (DiscoveryRawResponseDTO) o; DiscoveryRawResponseDTO that = (DiscoveryRawResponseDTO) o;
return response == that.response && data.equals(that.data) && Objects.equals(ipAddress, that.ipAddress); return response == that.response && data.equals(that.data) && Objects.equals(ipAddress, that.ipAddress);
} }

View File

@ -76,10 +76,12 @@ public class DiscoveryResponseDTO {
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) if (this == o) {
return true; return true;
if (o == null || getClass() != o.getClass()) }
if (o == null || getClass() != o.getClass()) {
return false; return false;
}
DiscoveryResponseDTO that = (DiscoveryResponseDTO) o; DiscoveryResponseDTO that = (DiscoveryResponseDTO) o;
return serialNumber.equals(that.serialNumber) && regId.equals(that.regId) && sak.equals(that.sak) return serialNumber.equals(that.serialNumber) && regId.equals(that.regId) && sak.equals(that.sak)
&& name.equals(that.name) && macAddress.equals(that.macAddress) && version.equals(that.version); && name.equals(that.name) && macAddress.equals(that.macAddress) && version.equals(that.version);

View File

@ -38,10 +38,12 @@ public class SwitchResponseDTO {
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) if (this == o) {
return true; return true;
if (o == null || getClass() != o.getClass()) }
if (o == null || getClass() != o.getClass()) {
return false; return false;
}
SwitchResponseDTO that = (SwitchResponseDTO) o; SwitchResponseDTO that = (SwitchResponseDTO) o;
return response == that.response && code == that.code; return response == that.response && code == that.code;
} }

View File

@ -38,10 +38,12 @@ public class UdpResponseDTO {
@Override @Override
public boolean equals(Object o) { public boolean equals(Object o) {
if (this == o) if (this == o) {
return true; return true;
if (o == null || getClass() != o.getClass()) }
if (o == null || getClass() != o.getClass()) {
return false; return false;
}
UdpResponseDTO that = (UdpResponseDTO) o; UdpResponseDTO that = (UdpResponseDTO) o;
return answer.equals(that.answer) && ipAddress.equals(that.ipAddress); return answer.equals(that.answer) && ipAddress.equals(that.ipAddress);
} }

View File

@ -34,7 +34,7 @@ import com.google.gson.JsonParseException;
* also known as the Climatix IC server account ) * also known as the Climatix IC server account )
* *
* @author Andrew Fiddian-Green - Initial contribution * @author Andrew Fiddian-Green - Initial contribution
* *
*/ */
@NonNullByDefault @NonNullByDefault
public class RdsCloudHandler extends BaseBridgeHandler { public class RdsCloudHandler extends BaseBridgeHandler {
@ -68,8 +68,9 @@ public class RdsCloudHandler extends BaseBridgeHandler {
return; return;
} }
if (logger.isDebugEnabled()) if (logger.isDebugEnabled()) {
logger.debug("polling interval={}", config.pollingInterval); logger.debug("polling interval={}", config.pollingInterval);
}
if (config.pollingInterval < FAST_POLL_INTERVAL || config.pollingInterval > LAZY_POLL_INTERVAL) { if (config.pollingInterval < FAST_POLL_INTERVAL || config.pollingInterval > LAZY_POLL_INTERVAL) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR,

View File

@ -76,8 +76,9 @@ public class PointDeserializer implements JsonDeserializer<BasePoint> {
if (valueIsPrimitive) { if (valueIsPrimitive) {
JsonPrimitive primitiveType = value.getAsJsonPrimitive(); JsonPrimitive primitiveType = value.getAsJsonPrimitive();
pointType = primitiveType.isString() ? PointType.STRING : PointType.NUMBER; pointType = primitiveType.isString() ? PointType.STRING : PointType.NUMBER;
} else } else {
pointType = PointType.NESTED_NUMBER; pointType = PointType.NESTED_NUMBER;
}
} }
BasePoint point; BasePoint point;

View File

@ -12,7 +12,11 @@
*/ */
package org.openhab.binding.smartthings.internal.discovery; package org.openhab.binding.smartthings.internal.discovery;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutionException;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;

View File

@ -17,7 +17,9 @@ import static org.openhab.binding.smhi.internal.SmhiBindingConstants.*;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.ZoneOffset; import java.time.ZoneOffset;
import java.time.ZonedDateTime; import java.time.ZonedDateTime;
import java.util.*; import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -130,7 +132,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Update channels with new forecast data. * Update channels with new forecast data.
* *
* @param timeSeries A {@link TimeSeries} object containing forecasts. * @param timeSeries A {@link TimeSeries} object containing forecasts.
*/ */
private void updateChannels(TimeSeries timeSeries) { private void updateChannels(TimeSeries timeSeries) {
@ -246,6 +248,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Dispose the {@link org.openhab.core.thing.binding.ThingHandler}. Cancel scheduled jobs * Dispose the {@link org.openhab.core.thing.binding.ThingHandler}. Cancel scheduled jobs
*/ */
@Override
public void dispose() { public void dispose() {
cancelPolling(); cancelPolling();
} }
@ -284,7 +287,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Checks if it is a new hour. * Checks if it is a new hour.
* *
* @return true if the current time is more than one hour after currentHour, otherwise false. * @return true if the current time is more than one hour after currentHour, otherwise false.
*/ */
private boolean isItNewHour() { private boolean isItNewHour() {
@ -293,7 +296,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Call Smhi's endpoint to check for the time of the last forecast, to see if a new one is available. * Call Smhi's endpoint to check for the time of the last forecast, to see if a new one is available.
* *
* @return true if the time of the latest forecast is equal to or after currentHour, otherwise false * @return true if the time of the latest forecast is equal to or after currentHour, otherwise false
*/ */
private boolean isForecastUpdated() { private boolean isForecastUpdated() {
@ -344,7 +347,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Get the current time rounded down to hour * Get the current time rounded down to hour
* *
* @return A {@link ZonedDateTime} corresponding to the last even hour * @return A {@link ZonedDateTime} corresponding to the last even hour
*/ */
private ZonedDateTime calculateCurrentHour() { private ZonedDateTime calculateCurrentHour() {
@ -358,7 +361,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Get the current time rounded down to day * Get the current time rounded down to day
* *
* @return A {@link ZonedDateTime} corresponding to the last even day. * @return A {@link ZonedDateTime} corresponding to the last even day.
*/ */
private ZonedDateTime calculateCurrentDay() { private ZonedDateTime calculateCurrentDay() {
@ -371,7 +374,7 @@ public class SmhiHandler extends BaseThingHandler {
/** /**
* Creates channels based on selections in thing configuration * Creates channels based on selections in thing configuration
* *
* @return * @return
*/ */
private List<Channel> createChannels() { private List<Channel> createChannels() {

View File

@ -55,8 +55,9 @@ public class TeleinfoReceiveThread extends Thread {
if (listener != null) { if (listener != null) {
try { try {
Frame nextFrame = teleinfoStream.readNextFrame(); Frame nextFrame = teleinfoStream.readNextFrame();
if (nextFrame != null) if (nextFrame != null) {
listener.onFrameReceived(nextFrame); listener.onFrameReceived(nextFrame);
}
} catch (InvalidFrameException e) { } catch (InvalidFrameException e) {
logger.warn("Got invalid frame. Detail: \"{}\"", e.getLocalizedMessage()); logger.warn("Got invalid frame. Detail: \"{}\"", e.getLocalizedMessage());
listener.onInvalidFrameReceived(this, e); listener.onInvalidFrameReceived(this, e);

View File

@ -21,7 +21,11 @@ import java.util.concurrent.ConcurrentHashMap;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
import org.openhab.core.thing.type.*; import org.openhab.core.thing.type.ChannelType;
import org.openhab.core.thing.type.ChannelTypeBuilder;
import org.openhab.core.thing.type.ChannelTypeProvider;
import org.openhab.core.thing.type.ChannelTypeUID;
import org.openhab.core.thing.type.StateChannelTypeBuilder;
import org.openhab.core.types.StateDescriptionFragmentBuilder; import org.openhab.core.types.StateDescriptionFragmentBuilder;
import org.osgi.service.component.annotations.Component; import org.osgi.service.component.annotations.Component;

View File

@ -12,10 +12,14 @@
*/ */
package org.openhab.binding.tr064.internal; package org.openhab.binding.tr064.internal;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_SUBDEVICE; import static org.openhab.binding.tr064.internal.Tr064BindingConstants.*;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_SUBDEVICE_LAN;
import java.util.*; import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -14,7 +14,7 @@ package org.openhab.binding.tr064.internal;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_FRITZBOX; import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_FRITZBOX;
import java.util.*; import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;

View File

@ -12,13 +12,19 @@
*/ */
package org.openhab.binding.tr064.internal; package org.openhab.binding.tr064.internal;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_FRITZBOX; import static org.openhab.binding.tr064.internal.Tr064BindingConstants.*;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_GENERIC;
import java.net.URI; import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.time.Duration; import java.time.Duration;
import java.util.*; import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -48,7 +54,12 @@ import org.openhab.binding.tr064.internal.soap.SOAPValueConverter;
import org.openhab.binding.tr064.internal.util.SCPDUtil; import org.openhab.binding.tr064.internal.util.SCPDUtil;
import org.openhab.binding.tr064.internal.util.Util; import org.openhab.binding.tr064.internal.util.Util;
import org.openhab.core.cache.ExpiringCacheMap; import org.openhab.core.cache.ExpiringCacheMap;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingTypeUID;
import org.openhab.core.thing.ThingUID;
import org.openhab.core.thing.binding.BaseBridgeHandler; import org.openhab.core.thing.binding.BaseBridgeHandler;
import org.openhab.core.thing.binding.ThingHandlerService; import org.openhab.core.thing.binding.ThingHandlerService;
import org.openhab.core.thing.binding.builder.ThingBuilder; import org.openhab.core.thing.binding.builder.ThingBuilder;

View File

@ -12,8 +12,7 @@
*/ */
package org.openhab.binding.tr064.internal; package org.openhab.binding.tr064.internal;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_SUBDEVICE; import static org.openhab.binding.tr064.internal.Tr064BindingConstants.*;
import static org.openhab.binding.tr064.internal.Tr064BindingConstants.THING_TYPE_SUBDEVICE_LAN;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -30,7 +29,13 @@ import org.openhab.binding.tr064.internal.soap.SOAPConnector;
import org.openhab.binding.tr064.internal.util.SCPDUtil; import org.openhab.binding.tr064.internal.util.SCPDUtil;
import org.openhab.binding.tr064.internal.util.Util; import org.openhab.binding.tr064.internal.util.Util;
import org.openhab.core.cache.ExpiringCacheMap; import org.openhab.core.cache.ExpiringCacheMap;
import org.openhab.core.thing.*; import org.openhab.core.thing.Bridge;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.ThingStatusInfo;
import org.openhab.core.thing.ThingTypeUID;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.thing.binding.builder.ThingBuilder; import org.openhab.core.thing.binding.builder.ThingBuilder;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;

View File

@ -12,7 +12,8 @@
*/ */
package org.openhab.binding.tr064.internal.phonebook; package org.openhab.binding.tr064.internal.phonebook;
import java.util.*; import java.util.Collection;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -15,7 +15,13 @@ package org.openhab.binding.tr064.internal.phonebook;
import static java.util.Comparator.comparing; import static java.util.Comparator.comparing;
import java.net.URI; import java.net.URI;
import java.util.*; import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;

View File

@ -27,7 +27,15 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException; import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.xml.soap.*; import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeader;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
import javax.xml.soap.SOAPPart;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.HttpClient;

View File

@ -42,17 +42,21 @@ public class SOAPRequest {
@Override @Override
public boolean equals(@Nullable Object o) { public boolean equals(@Nullable Object o) {
if (this == o) if (this == o) {
return true; return true;
if (o == null || getClass() != o.getClass()) }
if (o == null || getClass() != o.getClass()) {
return false; return false;
}
SOAPRequest that = (SOAPRequest) o; SOAPRequest that = (SOAPRequest) o;
if (!service.equals(that.service)) if (!service.equals(that.service)) {
return false; return false;
if (!soapAction.equals(that.soapAction)) }
if (!soapAction.equals(that.soapAction)) {
return false; return false;
}
return arguments.equals(that.arguments); return arguments.equals(that.arguments);
} }

View File

@ -15,7 +15,11 @@ package org.openhab.binding.unifiedremote.internal;
import static org.openhab.binding.unifiedremote.internal.UnifiedRemoteBindingConstants.*; import static org.openhab.binding.unifiedremote.internal.UnifiedRemoteBindingConstants.*;
import java.io.IOException; import java.io.IOException;
import java.net.*; import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.text.ParseException; import java.text.ParseException;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -107,8 +111,9 @@ public class UnifiedRemoteDiscoveryService extends AbstractDiscoveryService {
String host = receivePacket.getAddress().getHostAddress(); String host = receivePacket.getAddress().getHostAddress();
String reply = new String(receivePacket.getData()).replaceAll("[\\p{C}]", NON_PRINTABLE_CHARTS_REPLACEMENT) String reply = new String(receivePacket.getData()).replaceAll("[\\p{C}]", NON_PRINTABLE_CHARTS_REPLACEMENT)
.replaceAll("[^\\x00-\\x7F]", NON_PRINTABLE_CHARTS_REPLACEMENT); .replaceAll("[^\\x00-\\x7F]", NON_PRINTABLE_CHARTS_REPLACEMENT);
if (!reply.startsWith(DISCOVERY_RESPONSE_PREFIX)) if (!reply.startsWith(DISCOVERY_RESPONSE_PREFIX)) {
throw new ParseException("Bad discovery response prefix", 0); throw new ParseException("Bad discovery response prefix", 0);
}
String[] parts = Arrays String[] parts = Arrays
.stream(reply.replace(DISCOVERY_RESPONSE_PREFIX, "").split(NON_PRINTABLE_CHARTS_REPLACEMENT)) .stream(reply.replace(DISCOVERY_RESPONSE_PREFIX, "").split(NON_PRINTABLE_CHARTS_REPLACEMENT))
.filter((String e) -> e.length() != 0).toArray(String[]::new); .filter((String e) -> e.length() != 0).toArray(String[]::new);

View File

@ -12,8 +12,7 @@
*/ */
package org.openhab.binding.unifiedremote.internal; package org.openhab.binding.unifiedremote.internal;
import static org.openhab.binding.unifiedremote.internal.UnifiedRemoteBindingConstants.MOUSE_CHANNEL; import static org.openhab.binding.unifiedremote.internal.UnifiedRemoteBindingConstants.*;
import static org.openhab.binding.unifiedremote.internal.UnifiedRemoteBindingConstants.SEND_KEY_CHANNEL;
import java.net.ConnectException; import java.net.ConnectException;
import java.net.NoRouteToHostException; import java.net.NoRouteToHostException;
@ -54,8 +53,9 @@ public class UnifiedRemoteHandler extends BaseThingHandler {
@Override @Override
public void handleCommand(ChannelUID channelUID, Command command) { public void handleCommand(ChannelUID channelUID, Command command) {
String channelId = channelUID.getId(); String channelId = channelUID.getId();
if (!isLinked(channelId)) if (!isLinked(channelId)) {
return; return;
}
String stringCommand = command.toFullString(); String stringCommand = command.toFullString();
UnifiedRemoteConnection urConnection = connection; UnifiedRemoteConnection urConnection = connection;
try { try {
@ -107,8 +107,9 @@ public class UnifiedRemoteHandler extends BaseThingHandler {
connectionCheckerSchedule = scheduler.scheduleWithFixedDelay(() -> { connectionCheckerSchedule = scheduler.scheduleWithFixedDelay(() -> {
try { try {
UnifiedRemoteConnection urConnection = connection; UnifiedRemoteConnection urConnection = connection;
if (urConnection == null) if (urConnection == null) {
return; return;
}
ThingStatus status = thing.getStatus(); ThingStatus status = thing.getStatus();
if ((status == ThingStatus.OFFLINE || status == ThingStatus.UNKNOWN) && connection != null) { if ((status == ThingStatus.OFFLINE || status == ThingStatus.UNKNOWN) && connection != null) {
urConnection.authenticate(); urConnection.authenticate();

View File

@ -159,12 +159,14 @@ public class ValloxMVHandler extends BaseThingHandler {
} }
private void scheduleReadDataJob(int initialDelay) { private void scheduleReadDataJob(int initialDelay) {
if (initialDelay < 0) if (initialDelay < 0) {
initialDelay = 0; initialDelay = 0;
}
readDataInterval = getConfigAs(ValloxMVConfig.class).getUpdateinterval(); readDataInterval = getConfigAs(ValloxMVConfig.class).getUpdateinterval();
if (readDataInterval < 15) if (readDataInterval < 15) {
readDataInterval = 60; readDataInterval = 60;
}
logger.debug("Data table request interval {} seconds, Request in {} seconds", readDataInterval, initialDelay); logger.debug("Data table request interval {} seconds, Request in {} seconds", readDataInterval, initialDelay);

View File

@ -311,7 +311,8 @@ public class VDRHandler extends BaseThingHandler {
*/ */
private void stopRefreshThread(boolean force) { private void stopRefreshThread(boolean force) {
ScheduledFuture<?> refreshThread = refreshThreadFuture; ScheduledFuture<?> refreshThread = refreshThreadFuture;
if (refreshThread != null) if (refreshThread != null) {
refreshThread.cancel(force); refreshThread.cancel(force);
}
} }
} }

View File

@ -101,10 +101,12 @@ public class SVDRPClientImpl implements SVDRPClient {
} catch (IOException e) { } catch (IOException e) {
// cleanup after timeout // cleanup after timeout
try { try {
if (localOut != null) if (localOut != null) {
localOut.close(); localOut.close();
if (localIn != null) }
if (localIn != null) {
localIn.close(); localIn.close();
}
localSocket.close(); localSocket.close();
} catch (IOException ex) { } catch (IOException ex) {
} }

View File

@ -17,7 +17,11 @@ import static org.openhab.binding.vektiva.internal.VektivaBindingConstants.*;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.util.Map; import java.util.Map;
import java.util.concurrent.*; import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;

View File

@ -16,7 +16,8 @@ import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.Map;
import java.util.Optional;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -28,11 +29,15 @@ import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.HttpClient;
import org.eclipse.jetty.websocket.client.WebSocketClient; import org.eclipse.jetty.websocket.client.WebSocketClient;
import org.openhab.binding.webthing.internal.channel.Channels; import org.openhab.binding.webthing.internal.channel.Channels;
import org.openhab.binding.webthing.internal.client.*; import org.openhab.binding.webthing.internal.client.ConsumedThing;
import org.openhab.binding.webthing.internal.client.ConsumedThingFactory;
import org.openhab.binding.webthing.internal.link.ChannelToPropertyLink; import org.openhab.binding.webthing.internal.link.ChannelToPropertyLink;
import org.openhab.binding.webthing.internal.link.PropertyToChannelLink; import org.openhab.binding.webthing.internal.link.PropertyToChannelLink;
import org.openhab.binding.webthing.internal.link.UnknownPropertyException; import org.openhab.binding.webthing.internal.link.UnknownPropertyException;
import org.openhab.core.thing.*; import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType; import org.openhab.core.types.RefreshType;

View File

@ -12,15 +12,25 @@
*/ */
package org.openhab.binding.webthing.internal.discovery; package org.openhab.binding.webthing.internal.discovery;
import static org.openhab.binding.webthing.internal.WebThingBindingConstants.MDNS_SERVICE_TYPE; import static org.openhab.binding.webthing.internal.WebThingBindingConstants.*;
import static org.openhab.binding.webthing.internal.WebThingBindingConstants.THING_TYPE_UID;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.*; import java.util.Collections;
import java.util.concurrent.*; import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import javax.jmdns.ServiceEvent; import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceInfo; import javax.jmdns.ServiceInfo;

View File

@ -12,13 +12,18 @@
*/ */
package org.openhab.binding.webthing.internal.link; package org.openhab.binding.webthing.internal.link;
import java.awt.*; import java.awt.Color;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Collection; import java.util.Collection;
import java.util.Locale; import java.util.Locale;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.OpenClosedType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.State; import org.openhab.core.types.State;
@ -32,7 +37,7 @@ class TypeConverters {
/** /**
* create a TypeConverter for a given Item type and property type * create a TypeConverter for a given Item type and property type
* *
* @param itemType the item type * @param itemType the item type
* @param propertyType the property type * @param propertyType the property type
* @return the type converter * @return the type converter

View File

@ -12,14 +12,12 @@
*/ */
package org.openhab.binding.webthing.internal.client; package org.openhab.binding.webthing.internal.client;
import static org.mockito.ArgumentMatchers.argThat; import static org.mockito.ArgumentMatchers.*;
import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.*;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.util.concurrent.*; import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;

View File

@ -12,7 +12,7 @@
*/ */
package org.openhab.binding.webthing.internal.link; package org.openhab.binding.webthing.internal.link;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.mockito.Mockito.*; import static org.mockito.Mockito.*;
import java.net.URI; import java.net.URI;
@ -29,8 +29,14 @@ import org.openhab.binding.webthing.internal.channel.Channels;
import org.openhab.binding.webthing.internal.client.Mocks; import org.openhab.binding.webthing.internal.client.Mocks;
import org.openhab.binding.webthing.internal.client.WebthingTest; import org.openhab.binding.webthing.internal.client.WebthingTest;
import org.openhab.binding.webthing.internal.client.dto.PropertyStatusMessage; import org.openhab.binding.webthing.internal.client.dto.PropertyStatusMessage;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.thing.*; import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.OpenClosedType;
import org.openhab.core.library.types.PercentType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.ThingUID;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.State; import org.openhab.core.types.State;

View File

@ -28,7 +28,11 @@ import org.eclipse.jetty.client.api.Authentication;
import org.eclipse.jetty.client.api.AuthenticationStore; import org.eclipse.jetty.client.api.AuthenticationStore;
import org.eclipse.jetty.client.util.DigestAuthentication; import org.eclipse.jetty.client.util.DigestAuthentication;
import org.eclipse.jetty.client.util.StringContentProvider; import org.eclipse.jetty.client.util.StringContentProvider;
import org.openhab.core.thing.*; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.thing.ThingStatus;
import org.openhab.core.thing.ThingStatusDetail;
import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.thing.binding.BaseThingHandler;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.RefreshType; import org.openhab.core.types.RefreshType;

View File

@ -46,8 +46,9 @@ public class WlanThermoUtil {
} }
public static <T> T requireNonNull(@Nullable T obj) throws WlanThermoInputException { public static <T> T requireNonNull(@Nullable T obj) throws WlanThermoInputException {
if (obj == null) if (obj == null) {
throw new WlanThermoInputException(); throw new WlanThermoInputException();
}
return obj; return obj;
} }
} }

View File

@ -31,7 +31,11 @@ import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.Data;
import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.Pm; import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.Pm;
import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.System; import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.System;
import org.openhab.binding.wlanthermo.internal.api.esp32.dto.settings.Settings; import org.openhab.binding.wlanthermo.internal.api.esp32.dto.settings.Settings;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.library.unit.ImperialUnits; import org.openhab.core.library.unit.ImperialUnits;
import org.openhab.core.library.unit.SIUnits; import org.openhab.core.library.unit.SIUnits;
import org.openhab.core.library.unit.Units; import org.openhab.core.library.unit.Units;

View File

@ -18,10 +18,16 @@ import java.util.Map;
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.HttpClient;
import org.openhab.binding.wlanthermo.internal.*; import org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants;
import org.openhab.binding.wlanthermo.internal.WlanThermoException;
import org.openhab.binding.wlanthermo.internal.WlanThermoHandler;
import org.openhab.binding.wlanthermo.internal.WlanThermoInputException;
import org.openhab.binding.wlanthermo.internal.WlanThermoUnknownChannelException;
import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.Data; import org.openhab.binding.wlanthermo.internal.api.esp32.dto.data.Data;
import org.openhab.binding.wlanthermo.internal.api.esp32.dto.settings.Settings; import org.openhab.binding.wlanthermo.internal.api.esp32.dto.settings.Settings;
import org.openhab.core.thing.*; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.State; import org.openhab.core.types.State;

View File

@ -15,7 +15,7 @@ package org.openhab.binding.wlanthermo.internal.api.mini;
import static org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants.*; import static org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants.*;
import static org.openhab.binding.wlanthermo.internal.WlanThermoUtil.requireNonNull; import static org.openhab.binding.wlanthermo.internal.WlanThermoUtil.requireNonNull;
import java.awt.*; import java.awt.Color;
import javax.measure.Unit; import javax.measure.Unit;
import javax.measure.quantity.Temperature; import javax.measure.quantity.Temperature;
@ -24,8 +24,15 @@ import org.eclipse.jdt.annotation.NonNullByDefault;
import org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants; import org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants;
import org.openhab.binding.wlanthermo.internal.WlanThermoInputException; import org.openhab.binding.wlanthermo.internal.WlanThermoInputException;
import org.openhab.binding.wlanthermo.internal.WlanThermoUnknownChannelException; import org.openhab.binding.wlanthermo.internal.WlanThermoUnknownChannelException;
import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.*; import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.App;
import org.openhab.core.library.types.*; import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.Channel;
import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.Data;
import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.Pit;
import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.library.unit.ImperialUnits; import org.openhab.core.library.unit.ImperialUnits;
import org.openhab.core.library.unit.SIUnits; import org.openhab.core.library.unit.SIUnits;
import org.openhab.core.thing.ChannelUID; import org.openhab.core.thing.ChannelUID;

View File

@ -16,9 +16,14 @@ import static org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.HttpClient;
import org.openhab.binding.wlanthermo.internal.*; import org.openhab.binding.wlanthermo.internal.WlanThermoException;
import org.openhab.binding.wlanthermo.internal.WlanThermoHandler;
import org.openhab.binding.wlanthermo.internal.WlanThermoInputException;
import org.openhab.binding.wlanthermo.internal.WlanThermoUnknownChannelException;
import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.App; import org.openhab.binding.wlanthermo.internal.api.mini.dto.builtin.App;
import org.openhab.core.thing.*; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.State; import org.openhab.core.types.State;

View File

@ -15,7 +15,7 @@ package org.openhab.binding.wlanthermo.internal.api.nano;
import static org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants.*; import static org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants.*;
import static org.openhab.binding.wlanthermo.internal.WlanThermoUtil.requireNonNull; import static org.openhab.binding.wlanthermo.internal.WlanThermoUtil.requireNonNull;
import java.awt.*; import java.awt.Color;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.List; import java.util.List;
@ -30,7 +30,11 @@ import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.Data;
import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.Pm; import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.Pm;
import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.System; import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.System;
import org.openhab.binding.wlanthermo.internal.api.nano.dto.settings.Settings; import org.openhab.binding.wlanthermo.internal.api.nano.dto.settings.Settings;
import org.openhab.core.library.types.*; import org.openhab.core.library.types.DecimalType;
import org.openhab.core.library.types.HSBType;
import org.openhab.core.library.types.OnOffType;
import org.openhab.core.library.types.QuantityType;
import org.openhab.core.library.types.StringType;
import org.openhab.core.library.unit.ImperialUnits; import org.openhab.core.library.unit.ImperialUnits;
import org.openhab.core.library.unit.SIUnits; import org.openhab.core.library.unit.SIUnits;
import org.openhab.core.library.unit.Units; import org.openhab.core.library.unit.Units;

View File

@ -16,10 +16,15 @@ import static org.openhab.binding.wlanthermo.internal.WlanThermoBindingConstants
import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jetty.client.HttpClient; import org.eclipse.jetty.client.HttpClient;
import org.openhab.binding.wlanthermo.internal.*; import org.openhab.binding.wlanthermo.internal.WlanThermoException;
import org.openhab.binding.wlanthermo.internal.WlanThermoHandler;
import org.openhab.binding.wlanthermo.internal.WlanThermoInputException;
import org.openhab.binding.wlanthermo.internal.WlanThermoUnknownChannelException;
import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.Data; import org.openhab.binding.wlanthermo.internal.api.nano.dto.data.Data;
import org.openhab.binding.wlanthermo.internal.api.nano.dto.settings.Settings; import org.openhab.binding.wlanthermo.internal.api.nano.dto.settings.Settings;
import org.openhab.core.thing.*; import org.openhab.core.thing.Channel;
import org.openhab.core.thing.ChannelUID;
import org.openhab.core.thing.Thing;
import org.openhab.core.types.Command; import org.openhab.core.types.Command;
import org.openhab.core.types.State; import org.openhab.core.types.State;

Some files were not shown because too many files have changed in this diff Show More