| | | 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 |
public CompletableFuture<Double> 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