volshebniks / sauresha

Integrations Saures controller to HA
MIT License
44 stars 11 forks source link

[Errno 104] Connection reset by peer #64

Open kevinblo opened 3 months ago

kevinblo commented 3 months ago

Не работает интеграция

EvgenySkn commented 3 weeks ago

Не работает интеграция

57

@kevinblo Вы после этого ещё что-нибудь делали, чтобы заработала интеграция: https://github.com/volshebniks/sauresha/issues/57#issuecomment-2271939708 ?

Заменил двойной слеш на одинарный по вашему совету в строке 171 (теперь там "https://api.saures.ru/1.0/meter/control"), мне вроде тоже помогло, после перезагрузки HA 2 моих водосчётчика появились. :) Интеграцию только что установил (в курсе, что автор забросил её развитие), поэтому могу чего-то не знать.

@Gimlir и @AlexObukhoff , вы указаны как вкладчики ("contributors") в эту интеграцию, может, поможете оживить проект? Я с большой радостью сам бы его оживил, но не знаю Python-а, а другой язык программирования, который я совсем чуть-чуть поизучал, тут не поможет. Да и вообще не умею интеграции писать для HA, к сожалению. 😢 Но, может, что-нибудь можно сделать всё-таки (тем более что контроллеры этой компании сейчас активно развиваются, на них периодически выходят новые прошивки, поэтому было бы неправильно забрасывать такую интеграцию)? Какие-нибудь нейросети использовать для корректирования кода интеграции, например?

P. S. Вижу, что в журнал ещё и сыпет ошибками "sauresha: Error on device update!", "Update of sensor.saures_schetchik_gvs is taking over 10 seconds" и "Update of sensor.saures_schetchik_khvs is taking over 10 seconds". Так что интеграция определённо нуждается в исправлении...

konosoft commented 3 weeks ago

А что сейчас не работает? Почитав комменты, я исправил основные ошибки интеграции. Плюс разобрался сам, почему из всех кранов отображался только первый (криво определяется айдишник), отписал об этом в соседней ветке. То, что там ошибки 10 секунд на обновление сенсора, ну так это логично, плагин обращается к облаку редко. Я даже не знаю где эти сообщения увидеть в HA

kevinblo commented 3 weeks ago

Если у кого есть возможность/желание, напишите автору и заберите себе ветку.

EvgenySkn commented 2 weeks ago

@konosoft

Я даже не знаю где эти сообщения увидеть в HA

Ошибки можно увидеть в "Настройки" -> "Система" -> "Журнал сервера" (верхняя часть окна, где написано "Home Assistant Core", список ошибок от разных интеграций ниже этого заголовка).

А что сейчас не работает?

Я видел статью автора интеграции здесь: https://sprut.ai/article/integraciya-schetchikov-vody-saures-v-home-asssistant Там автор рассказывал про какой-то плагин и про его установку, только проблема в том, что эта ссылка на плагин уже нерабочая: https://sprut.ai/client/plugins/2316 А без этого плагина функционала интеграции не хватает (например, интересует % заряда батарейки и мощность сигнала). Может, сможете подсказать, где теперь взять этот плагин и как его установить? Кстати, почему в строке "Approve dt" значение "Неизвестно", что это означает?

Ну и вторая проблема - я настроил отправку данных раз в 60 минут (через GUI при первой установке это настраивается (а где потом это увидеть через GUI, я не знаю, к сожалению), 30 минут по умолчанию не стал оставлять, т. к. опасаюсь, что батарейка быстрее будет съедаться), но похоже, что данные с водосчётчиков обновляются только после перезагрузки сервера HA (обратите внимание на ступени в графиках, специально перезагрузил HA для проверки примерно в районе 0:47), что бы там ни писалось в строчках "Last/Next update time"... Поможете победить эту проблему?

Скриншоты ![2024-10-31_003823](https://github.com/user-attachments/assets/ca245287-d6e6-43c9-ab7f-2b9fbb9995df) ![2024-10-31_003900](https://github.com/user-attachments/assets/207681ad-5065-4465-9639-7fd4a7bc2dd9) ![2024-10-31_005504](https://github.com/user-attachments/assets/01f41c43-19e3-4df6-8047-229629ce484f) ![2024-10-31_005552](https://github.com/user-attachments/assets/239f86b9-9325-4047-86e8-a421009ad70b)

Журнал, наверно, как раз и указывает сейчас на эту ошибку? Вот что там пишет:

sauresha: Error on device update!

> Уровень: ОШИБКА > Регистратор: homeassistant.components.sensor > Источник: helpers/entity_platform.py:724 > интеграция: Сенсор ([документация](https://www.home-assistant.io/integrations/sensor), [проблемы](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22)) > Первое сообщение: 00:49:28 (1 сообщений) > Последнее сообщение: 00:49:28 > > sauresha: Error on device update! > Traceback (most recent call last): > File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 724, in _async_add_entity > await entity.async_device_update(warning=False) > File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1300, in async_device_update > await self.async_update() > File "/config/custom_components/sauresha/entity.py", line 478, in async_update > self._state = await self.async_fetch_state() > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/config/custom_components/sauresha/entity.py", line 451, in async_fetch_state > "hardware_name": self.controller.get_controller_name( > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/config/custom_components/sauresha/api.py", line 145, in get_controller_name > return { > ^ > KeyError: True

Сейчас установлена версия интеграции 1.0.4. У меня HAOS установлена на виртуальной машине.

Home Assistant Core 2024.10.4 Supervisor 2024.10.3 Operating System 13.2 Пользовательский интерфейс 20241002.4

@konosoft, подскажите, пожалуйста, где можно скачать версию интеграции с исправленными вами ошибками?

P. S. Через час в "Журнале" появляется ещё 1 ошибка:

Error doing job: Task exception was never retrieved (None)

> Уровень: ОШИБКА > Эта ошибка возникла в пользовательской интеграции. > Регистратор: homeassistant > Источник: custom_components/sauresha/api.py:145 > интеграция: SauresHA ([документация](https://github.com/volshebniks/sauresha), [проблемы](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22)) > Первое сообщение: 01:49:28 (1 сообщений) > Последнее сообщение: 01:49:28 > > Error doing job: Task exception was never retrieved (None) > Traceback (most recent call last): > File "/config/custom_components/sauresha/entity.py", line 369, in refresh > await self.async_update() > File "/config/custom_components/sauresha/entity.py", line 478, in async_update > self._state = await self.async_fetch_state() > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/config/custom_components/sauresha/entity.py", line 451, in async_fetch_state > "hardware_name": self.controller.get_controller_name( > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > File "/config/custom_components/sauresha/api.py", line 145, in get_controller_name > return { > ^ > KeyError: True

volshebniks commented 2 weeks ago

Я автор и к сожалению - у меня сейчас вообще нет времени на исправление ошибок. Если кто то их исправил и пришлет исправление в GIT - буду безмерно благодарен.

EvgenySkn commented 2 weeks ago

@volshebniks

Я автор и к сожалению - у меня сейчас вообще нет времени на исправление ошибок.

Понимаю, но, к сожалению, от этого совсем не легче пользователям этой интеграции, ведь то же самое вы писали год назад. 😢 Лично я приобрёл новое поколение контроллера Saures R1 с обновлённой электроникой (аппаратура версии 3.6), корпусом, 3-й кнопкой для управления кранами/реле и прочими улучшениями в том числе и из-за наличия вашей интеграции в Home Assistant. И кроме меня ещё тысячи людей с контроллерами этого производителя, которым тоже нужна работающая интеграция в HA... Тем более что в декабре 2023 года появилась возможность (если необходимо) настроить контроллер Saures для работы с другим сервером и работать с контроллерами напрямую ("Для смены адреса сервера Wi-Fi контроллеры должны быть с прошивкой 4.5.0 и новее".): https://www.saures.ru/o-sisteme/integration/protocol/

Может, хотя бы выложите где-нибудь тот ваш плагин, связанный с этой интеграцией, о котором вы писали в своей статье, и расскажете про его установку, т. к. проблема в том, что та ваша ссылка на тот плагин и инструкцию по его установке уже нерабочая: https://sprut.ai/client/plugins/2316 ?

Если кто то их исправил и пришлет исправление в GIT - буду безмерно благодарен.

Дельный совет, только бы найти хоть 1 такого человека.( @konosoft, вы писали, что вы "исправили основные ошибки интеграции", я очень вас прошу, поделитесь с людьми своими исправлениями в GIT, помогите, пожалуйста, другим людям тоже.

Вот какие ошибки у меня в "Журнале" выдаёт на данный момент эта интеграция (в дополнение к указанным выше):

  1. Всё-таки вновь и вновь повторяется эта ошибка, несмотря на исправление #57 :
    [Errno 104] Connection reset by peer

Уровень: ОШИБКА Эта ошибка возникла в пользовательской интеграции. Регистратор: custom_components.sauresha.api Источник: custom_components/sauresha/api.py:90 интеграция: SauresHA (документация, проблемы) Первое сообщение: 3 ноября 2024 г. в 19:40:05 (7 сообщений) Последнее сообщение: 01:20:05

[Errno 104] Connection reset by peer

  1. Setup of sensor platform sauresha is taking over 10 seconds.

Уровень: ПРЕДУПРЕЖДЕНИЕ Регистратор: homeassistant.components.sensor Источник: runner.py:189 интеграция: Сенсор (документация, проблемы) Первое сообщение: 3 ноября 2024 г. в 19:00:05 (1 сообщений) Последнее сообщение: 3 ноября 2024 г. в 19:00:05

Setup of sensor platform sauresha is taking over 10 seconds.

Т. е. почти все ошибки связаны именно с необновлением сенсоров до тех пор, пока не перезагрузишь сервер HA.

konosoft commented 2 weeks ago

Я исправил те ошибки, которые касались меня:

  1. Отображение только одного крана из всех
  2. Что-то там с управлением, где был двойной слеш

О первом я написал в соседней ветке, о слеше прочитал в другом.

Гитом я пользоваться не умею, т.к. мое программисткое прошлое и настоящее прошли в монолитных системах типа SAP и Siebel, где свои IDE и системы контроля версий, но все исправления понятны и описаны тут в комментах: там по одной строке заменить везде, и номера этих строк описаны.

Что касается ошибок коннекта, то я почти уверен, что вы превышаете лимит на число подключений к серверу сауреса. Для бесплатного аккаунта это макс. раз в час, если платить им 100р в мес, то можно максимум раз в 5 мин дергать облако. Я так и сделал, т.к. хотел снизить лаг между отправкой сигнала о закрытии крана через облако и фактическим закрытием. Свяжитесь с поддержкой сауреса и спросите нет ли у вашего аккаунта пометок о том, что вы превышаете частоту обмена.