diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/Resource.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/Resource.java
index 35c9c686304..6cae9c1e590 100644
--- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/Resource.java
+++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/Resource.java
@@ -123,7 +123,7 @@ public class Resource {
/**
* Check if light
or grouped_light
resource contains any
* relevant fields to process according to its type.
- *
+ *
* As an example, {@link #colorTemperature} is relevant for a light
* resource because it's needed for updating the color-temperature channels.
*
@@ -285,9 +285,7 @@ public class Resource {
ColorXy color = this.color;
if (Objects.nonNull(color)) {
try {
- Gamut gamut = color.getGamut();
- gamut = Objects.nonNull(gamut) ? gamut : ColorUtil.DEFAULT_GAMUT;
- HSBType hsb = ColorUtil.xyToHsb(color.getXY(), gamut);
+ HSBType hsb = ColorUtil.xyToHsb(color.getXY());
OnState on = this.on;
Dimming dimming = this.dimming;
double brightness = Objects.nonNull(on) && !on.isOn() ? 0
@@ -354,9 +352,7 @@ public class Resource {
ColorXy color = this.color;
if (Objects.nonNull(color)) {
try {
- Gamut gamut = color.getGamut();
- gamut = Objects.nonNull(gamut) ? gamut : ColorUtil.DEFAULT_GAMUT;
- HSBType hsb = ColorUtil.xyToHsb(color.getXY(), gamut);
+ HSBType hsb = ColorUtil.xyToHsb(color.getXY());
return new HSBType(hsb.getHue(), hsb.getSaturation(), PercentType.HUNDRED);
} catch (DTOPresentButEmptyException e) {
return UnDefType.UNDEF; // indicates the DTO is present but its inner fields are missing
diff --git a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/helper/Setters.java b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/helper/Setters.java
index e59b78482e9..641bab0fd40 100644
--- a/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/helper/Setters.java
+++ b/bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/helper/Setters.java
@@ -72,10 +72,10 @@ public class Setters {
* @return the target resource.
*/
public static Resource setAlert(Resource target, Command command, @Nullable Resource source) {
- if ((command instanceof StringType) && Objects.nonNull(source)) {
+ if ((command instanceof StringType alert) && Objects.nonNull(source)) {
Alerts otherAlert = source.getAlerts();
if (Objects.nonNull(otherAlert)) {
- ActionType actionType = ActionType.of(((StringType) command).toString());
+ ActionType actionType = ActionType.of(alert.toString());
if (otherAlert.getActionValues().contains(actionType)) {
target.setAlerts(new Alerts().setAction(actionType));
}
@@ -98,8 +98,7 @@ public class Setters {
*/
public static Resource setColorTemperatureAbsolute(Resource target, Command command, @Nullable Resource source) {
QuantityType> mirek;
- if (command instanceof QuantityType>) {
- QuantityType> quantity = (QuantityType>) command;
+ if (command instanceof QuantityType> quantity) {
Unit> unit = quantity.getUnit();
if (Units.KELVIN.equals(unit)) {
mirek = quantity.toInvertibleUnit(Units.MIRED);
@@ -109,9 +108,8 @@ public class Setters {
QuantityType> kelvin = quantity.toInvertibleUnit(Units.KELVIN);
mirek = Objects.nonNull(kelvin) ? kelvin.toInvertibleUnit(Units.MIRED) : null;
}
- } else if (command instanceof DecimalType) {
- mirek = QuantityType.valueOf(((DecimalType) command).doubleValue(), Units.KELVIN)
- .toInvertibleUnit(Units.MIRED);
+ } else if (command instanceof DecimalType decimal) {
+ mirek = QuantityType.valueOf(decimal.doubleValue(), Units.KELVIN).toInvertibleUnit(Units.MIRED);
} else {
mirek = null;
}
@@ -141,7 +139,7 @@ public class Setters {
* @return the target resource.
*/
public static Resource setColorTemperaturePercent(Resource target, Command command, @Nullable Resource source) {
- if (command instanceof PercentType) {
+ if (command instanceof PercentType mirek) {
MirekSchema schema = target.getMirekSchema();
schema = Objects.nonNull(schema) ? schema : Objects.nonNull(source) ? source.getMirekSchema() : null;
schema = Objects.nonNull(schema) ? schema : MirekSchema.DEFAULT_SCHEMA;
@@ -149,7 +147,7 @@ public class Setters {
colorTemperature = Objects.nonNull(colorTemperature) ? colorTemperature : new ColorTemperature();
double min = schema.getMirekMinimum();
double max = schema.getMirekMaximum();
- double val = min + ((max - min) * ((PercentType) command).doubleValue() / 100f);
+ double val = min + ((max - min) * mirek.doubleValue() / 100f);
target.setColorTemperature(colorTemperature.setMirek(val));
}
return target;
@@ -168,13 +166,10 @@ public class Setters {
* @return the target resource.
*/
public static Resource setColorXy(Resource target, Command command, @Nullable Resource source) {
- if (command instanceof HSBType) {
- Gamut gamut = target.getGamut();
- gamut = Objects.nonNull(gamut) ? gamut : Objects.nonNull(source) ? source.getGamut() : null;
- gamut = Objects.nonNull(gamut) ? gamut : ColorUtil.DEFAULT_GAMUT;
- HSBType hsb = (HSBType) command;
+ if (command instanceof HSBType hsb) {
+ hsb = new HSBType(hsb.getHue(), hsb.getSaturation(), PercentType.HUNDRED);
ColorXy color = target.getColorXy();
- target.setColorXy((Objects.nonNull(color) ? color : new ColorXy()).setXY(ColorUtil.hsbToXY(hsb, gamut)));
+ target.setColorXy((Objects.nonNull(color) ? color : new ColorXy()).setXY(ColorUtil.hsbToXY(hsb)));
}
return target;
}
@@ -191,11 +186,10 @@ public class Setters {
* @return the target resource.
*/
public static Resource setDimming(Resource target, Command command, @Nullable Resource source) {
- if (command instanceof PercentType) {
+ if (command instanceof PercentType brightness) {
Double min = target.getMinimumDimmingLevel();
min = Objects.nonNull(min) ? min : Objects.nonNull(source) ? source.getMinimumDimmingLevel() : null;
min = Objects.nonNull(min) ? min : Dimming.DEFAULT_MINIMUM_DIMMIMG_LEVEL;
- PercentType brightness = (PercentType) command;
if (brightness.doubleValue() < min.doubleValue()) {
brightness = new PercentType(new BigDecimal(min, Resource.PERCENT_MATH_CONTEXT));
}
@@ -219,8 +213,8 @@ public class Setters {
* @return the target resource.
*/
public static Resource setEffect(Resource target, Command command, @Nullable Resource source) {
- if ((command instanceof StringType) && Objects.nonNull(source)) {
- EffectType commandEffectType = EffectType.of(((StringType) command).toString());
+ if ((command instanceof StringType effect) && Objects.nonNull(source)) {
+ EffectType commandEffectType = EffectType.of(effect.toString());
Effects sourceFixedEffects = source.getFixedEffects();
if (Objects.nonNull(sourceFixedEffects) && sourceFixedEffects.allows(commandEffectType)) {
target.setFixedEffects(new Effects().setEffect(commandEffectType));