mega_hacs icon indicating copy to clipboard operation
mega_hacs copied to clipboard

Ошибка в mega.light метод get_rgbw

Open lesovoy-alim opened this issue 1 year ago • 2 comments

Описание В строке 217 мы проверяем if self.white_value is not None:, но метод self.white_value всегда возвращает float, так как указано дефолтное значения def white_value(self): # if self.supported_features & SUPPORT_WHITE_VALUE: return float(self.get_attribute("white_value", 0)) Что может приводит к ошибке File "/config/custom_components/mega/light.py", line 244, in async_turn_on _before = self.get_rgbw() ^^^^^^^^^^^^^^^ File "/config/custom_components/mega/light.py", line 227, in get_rgbw self.lg.debug(f'rgb: {[round(x * self.max_values[i]) for i, x in enumerate(rgb)]}') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/mega/light.py", line 227, in <listcomp> self.lg.debug(f'rgb: {[round(x * self.max_values[i]) for i, x in enumerate(rgb)]}') ~~~~~~~~~~~~~~~^^^ Если мы работаем с rgb, а не с rgbw.

Как вариант решения: def white_value(self): # if self.supported_features & SUPPORT_WHITE_VALUE: return self.get_attribute("white_value")

Версии систем Enviroment: linux HA version: Home Assistant 2023.10.1 mega_hacs version: v1.1.7 megad firmware version: MegaD-2561 by ab-log.ru (fw: 4.60b6) используется mqtt: false

lesovoy-alim avatar Nov 19 '23 17:11 lesovoy-alim

Описание

В строке 217 мы проверяем if self.white_value is not None:, но метод self.white_value всегда возвращает float, так как указано дефолтное значения

` def white_value(self):

    # if self.supported_features & SUPPORT_WHITE_VALUE:

    return float(self.get_attribute("white_value", 0))

`

Что может приводит к ошибке

` File "/config/custom_components/mega/light.py", line 244, in async_turn_on

_before = self.get_rgbw()

          ^^^^^^^^^^^^^^^

File "/config/custom_components/mega/light.py", line 227, in get_rgbw

self.lg.debug(f'rgb: {[round(x * self.max_values[i]) for i, x in enumerate(rgb)]}')

                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/config/custom_components/mega/light.py", line 227, in

self.lg.debug(f'rgb: {[round(x * self.max_values[i]) for i, x in enumerate(rgb)]}')

                                 ~~~~~~~~~~~~~~~^^^

`

Если мы работаем с rgb, а не с rgbw.

Как вариант решения:

` def white_value(self):

    # if self.supported_features & SUPPORT_WHITE_VALUE:

    return self.get_attribute("white_value")

`

Версии систем

Enviroment: linux

HA version: Home Assistant 2023.10.1

mega_hacs version: v1.1.7

megad firmware version: MegaD-2561 by ab-log.ru (fw: 4.60b6)

используется mqtt: false

Пробуйте последнюю бету

andvikt avatar Nov 27 '23 05:11 andvikt

Повторяешься на последней бете image

Версии систем

Enviroment: linux

HA version: Home Assistant 2024.3.2

mega_hacs version: v1.1.8b12

megad firmware version: MegaD-2561 by ab-log.ru (fw: 4.60b6)

используется mqtt: false

lesovoy-alim avatar Mar 22 '24 16:03 lesovoy-alim