]> git.basschouten.com Git - openhab-addons.git/commitdiff
[hue] fix npe (#16619)
authorAndrew Fiddian-Green <software@whitebear.ch>
Sat, 6 Apr 2024 11:05:16 +0000 (12:05 +0100)
committerGitHub <noreply@github.com>
Sat, 6 Apr 2024 11:05:16 +0000 (13:05 +0200)
Signed-off-by: Andrew Fiddian-Green <software@whitebear.ch>
bundles/org.openhab.binding.hue/src/main/java/org/openhab/binding/hue/internal/api/dto/clip2/Power.java

index 7f6c988d2db83d83e2e82ac318ae24bb073f5da4..132c896874b4ada97e9e0871dfb6fb5fcc043fc2 100644 (file)
@@ -13,6 +13,7 @@
 package org.openhab.binding.hue.internal.api.dto.clip2;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.eclipse.jdt.annotation.Nullable;
 import org.openhab.binding.hue.internal.api.dto.clip2.enums.BatteryStateType;
 import org.openhab.core.library.types.DecimalType;
 import org.openhab.core.library.types.OnOffType;
@@ -27,15 +28,18 @@ import com.google.gson.annotations.SerializedName;
  */
 @NonNullByDefault
 public class Power {
-    private @NonNullByDefault({}) @SerializedName("battery_state") String batteryState;
+    private @Nullable @SerializedName("battery_state") String batteryState;
     private @SerializedName("battery_level") int batteryLevel;
 
     public BatteryStateType getBatteryState() {
-        try {
-            return BatteryStateType.valueOf(batteryState.toUpperCase());
-        } catch (IllegalArgumentException e) {
-            return BatteryStateType.CRITICAL;
+        String batteryState = this.batteryState;
+        if (batteryState != null) {
+            try {
+                return BatteryStateType.valueOf(batteryState.toUpperCase());
+            } catch (IllegalArgumentException e) {
+            }
         }
+        return BatteryStateType.CRITICAL;
     }
 
     public int getBatteryLevel() {