and7ey / haier_evo

Home Assistant integration for Haier Evo air conditioners
24 stars 5 forks source link

AS35PHP2HRA - не реагирует на команды #7

Open dzheltikov opened 5 months ago

dzheltikov commented 5 months ago

Добрый день! Спасибо за проделанную работу. Установил дополнение, авторизовался, увидел свое устройство. Однако на управление из ha не реагирует. при изменении параметров с пульта в ha также не меняется ничего. Прикладываю логи home-assistant_haier_evo_2024-06-13T15-32-26.893Z.log

and7ey commented 5 months ago

Пока нет возможности детально посмотреть.

Попробуйте в папке custom_components/haier_evo/devices скопировать файл AS20HPL2HRA.yaml и переименовать его в AS35PHP2HRA - заработает ли после перезагрузки?

dzheltikov commented 5 months ago

Спасибо. попробовал - старое устройство перестало работать, удалил и настроил интеграцию заново. подключилось, устройство нашлось, но при клике на него постоянно ошибка:

2024-06-15 06:47:08.390 ERROR (MainThread) [homeassistant.components.climate] Error adding entity climate.haier_evo_08_b6_1f_db_22_58_as35php2hra for domain climate with platform haier_evo Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 600, in _async_add_entities await coro File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 914, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1355, in add_to_platform_finish self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1000, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1126, in _async_write_ha_state state, attr, capabilities, shadowed_attr = self.__async_calculate_state() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1061, in __async_calculate_state state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1006, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 324, in __getattribute__ return super().__getattribute__(__name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 469, in state return HVACMode(hvac_mode).value # type: ignore[unreachable] ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/enum.py", line 744, in __call__ return cls.__new__(cls, value) ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/enum.py", line 1158, in __new__ raise ve_exc ValueError: 4 is not a valid HVACMode

кондиционер с утра работает на обогрев, видимо по этому 4 is not a valid HVACMode

Подскажите, каким путем шли, чтобы определить идентификаторы команд и параметров? готов попробовать проделать это самостоятельно, но с чего начать пока не представляю.

and7ey commented 2 months ago

Подскажите, каким путем шли, чтобы определить идентификаторы команд и параметров? готов попробовать проделать это самостоятельно, но с чего начать пока не представляю.

Если я правильно помню, то вот этот запрос - https://github.com/and7ey/haier_evo/blob/main/custom_components/haier_evo/api.py#L106 - возвращает идентификаторы команд. Альтернативный вариант - подключиться к websocket, нажимать на кнопки на пульте/в приложении evo и смотреть чего происходит в WS.