diff --git a/bundles/org.openhab.io.homekit/README.md b/bundles/org.openhab.io.homekit/README.md index abcd298d4f137..04225645410e5 100644 --- a/bundles/org.openhab.io.homekit/README.md +++ b/bundles/org.openhab.io.homekit/README.md @@ -655,7 +655,7 @@ Support for this is planned for the future release of openHAB HomeKit binding. | | | TamperedStatus | Switch, Contact | Tampered status | | | | BatteryLowStatus | Switch, Contact, Number | Battery status | | LightSensor | | | | Light sensor | -| | LightLevel | | Number | Light level in lux | +| | LightLevel | | Number | Light level in lux. supported configuration: minValue, maxValue. | | | | Name | String | Name of the sensor | | | | ActiveStatus | Switch, Contact | Working status | | | | FaultStatus | Switch, Contact | Fault status | diff --git a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLightSensorImpl.java b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLightSensorImpl.java index f27538aa49ebd..69e171000c072 100644 --- a/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLightSensorImpl.java +++ b/bundles/org.openhab.io.homekit/src/main/java/org/openhab/io/homekit/internal/accessories/HomekitLightSensorImpl.java @@ -47,10 +47,19 @@ public HomekitLightSensorImpl(HomekitTaggedItem taggedItem, List getCurrentAmbientLightLevel() { final @Nullable DecimalType state = getStateAs(LIGHT_LEVEL, DecimalType.class); return CompletableFuture - .completedFuture(state != null ? state.doubleValue() - : getAccessoryConfiguration(HomekitCharacteristicType.LIGHT_LEVEL, HomekitTaggedItem.MIN_VALUE, - BigDecimal.valueOf(CurrentAmbientLightLevelCharacteristic.DEFAULT_MIN_VALUE)) - .doubleValue()); + .completedFuture(state != null ? state.doubleValue() : getMinCurrentAmbientLightLevel()); + } + + @Override + public double getMinCurrentAmbientLightLevel() { + return getAccessoryConfiguration(HomekitCharacteristicType.LIGHT_LEVEL, HomekitTaggedItem.MIN_VALUE, + BigDecimal.valueOf(CurrentAmbientLightLevelCharacteristic.DEFAULT_MIN_VALUE)).doubleValue(); + } + + @Override + public double getMaxCurrentAmbientLightLevel() { + return getAccessoryConfiguration(HomekitCharacteristicType.LIGHT_LEVEL, HomekitTaggedItem.MAX_VALUE, + BigDecimal.valueOf(CurrentAmbientLightLevelCharacteristic.DEFAULT_MAX_VALUE)).doubleValue(); } @Override