Make sure MQTT light brightness is not rounded to 0 (#35207)
This commit is contained in:
parent
94b6130af6
commit
f9b420a5a5
4 changed files with 209 additions and 12 deletions
|
@ -459,11 +459,14 @@ class MqttLightJson(
|
|||
message["transition"] = kwargs[ATTR_TRANSITION]
|
||||
|
||||
if ATTR_BRIGHTNESS in kwargs and self._brightness is not None:
|
||||
message["brightness"] = int(
|
||||
kwargs[ATTR_BRIGHTNESS]
|
||||
/ float(DEFAULT_BRIGHTNESS_SCALE)
|
||||
* self._config[CONF_BRIGHTNESS_SCALE]
|
||||
brightness_normalized = kwargs[ATTR_BRIGHTNESS] / DEFAULT_BRIGHTNESS_SCALE
|
||||
brightness_scale = self._config[CONF_BRIGHTNESS_SCALE]
|
||||
device_brightness = min(
|
||||
round(brightness_normalized * brightness_scale), brightness_scale
|
||||
)
|
||||
# Make sure the brightness is not rounded down to 0
|
||||
device_brightness = max(device_brightness, 1)
|
||||
message["brightness"] = device_brightness
|
||||
|
||||
if self._optimistic:
|
||||
self._brightness = kwargs[ATTR_BRIGHTNESS]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue