dext0r / yandex_smart_home

Adds support for Yandex Smart Home (Alice voice assistant) into Home Assistant
https://docs.yaha-cloud.ru
MIT License
785 stars 113 forks source link

Ошибка со статусом выключателя Aqara D1 #417

Closed nemoyar closed 1 year ago

nemoyar commented 1 year ago

Выключатель трехклавишный Aqara D1QBKG26LM. Стала появляться ошибка на одиночное нажатие - single_left

Logger: homeassistant
Source: custom_components/yandex_smart_home/prop_float.py:123
Integration: Yandex Smart Home (documentation, issues)
First occurred: 11 ноября 2022 г., 07:45:53 (250 occurrences)
Last logged: 06:40:02

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/yandex_smart_home/prop_float.py", line 121, in float_value
    value = float(value)
ValueError: could not convert string to float: 'single_left'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/yandex_smart_home/notifier.py", line 265, in _state_change_listener
    await asyncio.gather(*[n.async_event_handler(event) for n in hass.data[DOMAIN][NOTIFIERS]])
  File "/config/custom_components/yandex_smart_home/notifier.py", line 200, in async_event_handler
    callback_state = YandexEntityCallbackState(yandex_entity, event_entity_id)
  File "/config/custom_components/yandex_smart_home/entity.py", line 282, in __init__
    state = item.get_state()
  File "/config/custom_components/yandex_smart_home/prop.py", line 60, in get_state
    value = self.get_value()
  File "/config/custom_components/yandex_smart_home/prop_float.py", line 249, in get_value
    return self.float_value(self.state.state)
  File "/config/custom_components/yandex_smart_home/prop_float.py", line 123, in float_value
    raise SmartHomeError(
custom_components.yandex_smart_home.error.SmartHomeError: Unsupported value 'single_left' for instance illumination of sensor.switch_3b_1_action

444

dext0r commented 1 year ago

Какой интеграций добавлен этот выключатель в HA? Очень странно что single_left появляется в атрибуте «освещённость» 🤨

nemoyar commented 1 year ago

Какой интеграций добавлен этот выключатель в HA? Очень странно что single_left появляется в атрибуте «освещённость» 🤨

z2m, v.1.28.2, тип координатора zStack30x

dext0r commented 1 year ago

Какой интеграций добавлен этот выключатель в HA? Очень странно что single_left появляется в атрибуте «освещённость» 🤨

z2m, v.1.28.2, тип координатора zStack30x

Не совсем понятно откуда взялся атрибут illuminance. Судя по документации (и коду) z2m этого параметра быть не должно - https://www.zigbee2mqtt.io/devices/QBKG26LM.html#xiaomi-qbkg26lm

Покажите для этого выключателя вкладку Exposes в интерфейсе z2m.

nemoyar commented 1 year ago

Покажите для этого выключателя вкладку Exposes в интерфейсе z2m. 1 2

dext0r commented 1 year ago

Давайте ещё вот что попробуем: в Z2M открыть вкладку logs, выставить уровень info, понажимать левую кнопку, в поиск ввести 3b_1, скинуть сюда лог.

nemoyar commented 1 year ago

log.txt

dext0r commented 1 year ago

Установите версию из мастера, это должно решить проблему

nemoyar commented 1 year ago

Вроде после перезапуска ошибка не вылезает, спасибо!

nemoyar commented 1 year ago

Аналогичная ошибка появилась для этого же выключателя только по событию single_center

Logger: homeassistant
Source: custom_components/yandex_smart_home/prop_float.py:123
Integration: Yandex Smart Home (documentation, issues)
First occurred: 23 ноября 2022 г., 14:45:33 (520 occurrences)
Last logged: 08:39:46

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/yandex_smart_home/prop_float.py", line 121, in float_value
    value = float(value)
ValueError: could not convert string to float: 'single_center'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/yandex_smart_home/notifier.py", line 265, in _state_change_listener
    await asyncio.gather(*[n.async_event_handler(event) for n in hass.data[DOMAIN][NOTIFIERS]])
  File "/config/custom_components/yandex_smart_home/notifier.py", line 200, in async_event_handler
    callback_state = YandexEntityCallbackState(yandex_entity, event_entity_id)
  File "/config/custom_components/yandex_smart_home/entity.py", line 282, in __init__
    state = item.get_state()
  File "/config/custom_components/yandex_smart_home/prop.py", line 60, in get_state
    value = self.get_value()
  File "/config/custom_components/yandex_smart_home/prop_float.py", line 249, in get_value
    return self.float_value(self.state.state)
  File "/config/custom_components/yandex_smart_home/prop_float.py", line 123, in float_value
    raise SmartHomeError(
custom_components.yandex_smart_home.error.SmartHomeError: Unsupported value 'single_center' for instance illumination of sensor.switch_3b_1_action
dext0r commented 1 year ago

Аналогичная ошибка появилась для этого же выключателя только по событию single_center

Это на версии из мастера?

nemoyar commented 1 year ago

Аналогичная ошибка появилась для этого же выключателя только по событию single_center

Это на версии из мастера?

Да, на той, где правили прошлый action

dext0r commented 1 year ago

Аналогичная ошибка появилась для этого же выключателя только по событию single_center

Это на версии из мастера?

Да, на той, где правили прошлый action

Пришлите атрибуты из панели разработчика для проблемного сенсора. Я пока не совсем понимаю, что триггерит ошибку.

nemoyar commented 1 year ago

Пришлите атрибуты из панели разработчика для проблемного сенсора. Я пока не совсем понимаю, что триггерит ошибку.

2

dext0r commented 1 year ago

Посмотрел ещё раз внимательно ваш traceback. Судя по всему, у вас стоит версия не из мастера. Вот эта строчка:

File "/config/custom_components/yandex_smart_home/prop_float.py", line 249, in get_value
    return self.float_value(self.state.state)

Выглядит в мастере не так:https://github.com/dext0r/yandex_smart_home/blob/2779f56806c888d2532d053f71cd38990115e163/custom_components/yandex_smart_home/prop_float.py#L249

Может быть случайно откатили компонент на стабильную версию?

dext0r commented 1 year ago

Решение вызывает проблемы для объектов ...illuminance_lux из Z2M с включенным легаси режимом (из-за наличия illuminance в атрибутах)