Проблемы при работе с терморегулятором Welrok через модуль wb-welrok

Добрый день.
Есть несколько вопросов по работе модуля wb-welrok, разделю их по пунктам, что бы удобнее обсуждать:

  1. Обновление значений состояния ВКЛ/ВЫКЛ, установленной температуры и состояния “Нагрев” на Dashboard происходит 1 раз в минуту, хотя показания датчика температуры обновляются чаще, это можно поправить и сделать обновление чаще, что бы при регулировании локально или из облака, можно было сразу видеть устанавливаемые значения?

  2. При обновлении показаний, значение поля “Нагрев”, сначала появляется на английском, а через несколько секунд меняется на русский (на видео во вложении), так и должно быть?

  3. Значение поля “Уставка” выставленное ползунком и в поле ввода значения, не совпадают после изменения (на видео во вложении). Это какие-то разные значения?

  4. При потере связи с терморегилятором, вижу в логах ошибки соединения и после перезапуск модуля wb-welrok, и этот перезапуск сказывается и на оставшихся на связи регуляторах, они все пропадают из Dashboard’a

Примерно вот так:

|03-09-2024 19:48:20.209 [wb-welrok]|INFO: Welrok service starting|
|---|---|
|03-09-2024 19:48:19.924 [netplug]|eth0: state INSANE flags 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000 -> 0x00001003 UP,BROADCAST,MULTICAST|
|03-09-2024 19:48:19.924 [netplug]|eth0: state INSANE flags 0x00011043 UP,BROADCAST,RUNNING,MULTICAST,10000 -> 0x00001003 UP,BROADCAST,MULTICAST|
|03-09-2024 19:48:19.914|fec 2188000.ethernet eth0: Link is Down|
|03-09-2024 19:48:18.237 [wpa_supplicant]|wlan0: AP-STA-DISCONNECTED 52:ff:20:00:d5:b9|
|03-09-2024 19:48:18.225|RTL871X: clear key for addr:52:ff:20:00:d5:b9, camid:5|
|03-09-2024 19:48:18.224|RTL871X: ap recv deauth reason code(3) sta:52:ff:20:00:d5:b9|
|03-09-2024 19:48:17.345 [NetworkManager]|DHCPRELEASE(wlan0) 192.168.42.42 52:ff:20:00:d5:b9|
|03-09-2024 19:48:16.244 [init.scope]|Started Wiren Board Welrok thermostat MQTT driver.|
|03-09-2024 19:48:16.227 [init.scope]|wb-welrok.service: Consumed 3.233s CPU time.|
|03-09-2024 19:48:16.223 [init.scope]|Stopped Wiren Board Welrok thermostat MQTT driver.|
|03-09-2024 19:48:16.170 [init.scope]|wb-welrok.service: Scheduled restart job, restart counter is at 2.|
|03-09-2024 19:48:16.170 [init.scope]|wb-welrok.service: Scheduled restart job, restart counter is at 2.|
|03-09-2024 19:48:13.286 [wb-cloud-agent-frpc]|2024/09/03 16:48:13 e[1;34m[I] [visitor_manager.go:79] [] gracefully shutdown visitor managere[0m|
|03-09-2024 19:48:13.282 [wb-cloud-agent-frpc]|2024/09/03 16:48:13 e[1;34m[I] [control.go:253] [] control writer is closinge[0m|
|03-09-2024 19:48:13.270 [wb-cloud-agent-frpc]|2024/09/03 16:48:13 e[1;34m[I] [proxy_manager.go:156] [] proxy added: [AZTCTR7Y.ssh AZTCTR7Y.http]e[0m|
|03-09-2024 19:48:13.263 [wb-cloud-agent-frpc]|2024/09/03 16:48:13 e[1;34m[I] [service.go:299] [] login to server success, get run id []e[0m|
|03-09-2024 19:48:12.848 [wb-cloud-agent-frpc]|2024/09/03 16:48:12 e[1;34m[I] [service.go:212] [] try to reconnect to server...e[0m|
|03-09-2024 19:48:12.848 [wb-cloud-agent-frpc]|2024/09/03 16:48:12 e[1;34m[I] [service.go:192] [] wait 8s to reconnecte[0m|
|03-09-2024 19:48:10.991 [init.scope]|wb-welrok.service: Consumed 3.233s CPU time.|
|03-09-2024 19:48:10.983 [init.scope]|wb-welrok.service: Failed with result 'exit-code'.|
|03-09-2024 19:48:10.977 [init.scope]|wb-welrok.service: Main process exited, code=exited, status=1/FAILURE|
|03-09-2024 19:48:10.977 [init.scope]|wb-welrok.service: Main process exited, code=exited, status=1/FAILURE|
|03-09-2024 19:48:10.564 [wb-welrok]|aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host 10.20.0.134:80 ssl:default [Connect call failed ('10.20.0.134', 80)]|
|03-09-2024 19:48:10.562 [wb-welrok]|    raise client_error(req.connection_key, exc) from exc|
|03-09-2024 19:48:10.557 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 1088, in _wrap_create_connection|
|03-09-2024 19:48:10.556 [wb-welrok]|    transp, proto = await self._wrap_create_connection(|
|03-09-2024 19:48:10.550 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 1319, in _create_direct_connection|
|03-09-2024 19:48:10.548 [wb-welrok]|    raise last_exc|
|03-09-2024 19:48:10.541 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 1350, in _create_direct_connection|
|03-09-2024 19:48:10.541 [wb-welrok]|    _, proto = await self._create_direct_connection(req, traces, timeout)|
|03-09-2024 19:48:10.541 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 975, in _create_connection|
|03-09-2024 19:48:10.541 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 975, in _create_connection|
|03-09-2024 19:48:10.541 [wb-welrok]|    proto = await self._create_connection(req, traces, timeout)|
|03-09-2024 19:48:10.532 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 564, in connect|
|03-09-2024 19:48:10.529 [wb-welrok]|    conn = await self._connector.connect(|
|03-09-2024 19:48:10.524 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/client.py, line 657, in _request|
|03-09-2024 19:48:10.522 [wb-welrok]|    self._resp = await self._coro|
|03-09-2024 19:48:10.516 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/client.py, line 1353, in __aenter__|
|03-09-2024 19:48:10.516 [wb-welrok]|    async with session.post(self._url, data=post_data) as resp:|
|03-09-2024 19:48:10.511 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/wb_welrok/main.py, line 219, in get_device_state|
|03-09-2024 19:48:10.511 [wb-welrok]|    device_controls_state = welrok_device.parse_device_params_state(await welrok_device.get_device_state(config.CMD_CODES['params']))|
|03-09-2024 19:48:10.511 [wb-welrok]|    device_controls_state = welrok_device.parse_device_params_state(await welrok_device.get_device_state(config.CMD_CODES['params']))|
|03-09-2024 19:48:10.506 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/wb_welrok/main.py, line 356, in run|
|03-09-2024 19:48:10.506 [wb-welrok]|    return future.result()|
|03-09-2024 19:48:10.500 [wb-welrok]|  File /usr/lib/python3.9/asyncio/base_events.py, line 642, in run_until_complete|
|03-09-2024 19:48:10.500 [wb-welrok]|    return loop.run_until_complete(main)|
|03-09-2024 19:48:10.500 [wb-welrok]|  File /usr/lib/python3.9/asyncio/runners.py, line 44, in run|
|03-09-2024 19:48:10.500 [wb-welrok]|    result = asyncio.run(welrok_client.run())|
|03-09-2024 19:48:10.484 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/wb_welrok/main.py, line 447, in main|
|03-09-2024 19:48:10.484 [wb-welrok]|    sys.exit(main(sys.argv))|
|03-09-2024 19:48:10.484 [wb-welrok]|  File /usr/bin/wb-welrok, line 8, in <module>|
|03-09-2024 19:48:10.484 [wb-welrok]|  File /usr/bin/wb-welrok, line 8, in <module>|
|03-09-2024 19:48:10.484 [wb-welrok]|Traceback (most recent call last):|
|03-09-2024 19:48:10.479 [wb-welrok]|The above exception was the direct cause of the following exception:|
|03-09-2024 19:48:10.479 [wb-welrok]|OSError: [Errno 113] Connect call failed ('10.20.0.134', 80)|
|03-09-2024 19:48:10.479 [wb-welrok]|    raise OSError(err, f'Connect call failed {address}')|
|03-09-2024 19:48:10.475 [wb-welrok]|  File /usr/lib/python3.9/asyncio/selector_events.py, line 537, in _sock_connect_cb|
|03-09-2024 19:48:10.467 [wb-welrok]|    return await fut|
|03-09-2024 19:48:10.461 [wb-welrok]|  File /usr/lib/python3.9/asyncio/selector_events.py, line 502, in sock_connect|
|03-09-2024 19:48:10.461 [wb-welrok]|    await loop.sock_connect(sock, address)|
|03-09-2024 19:48:10.461 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohappyeyeballs/impl.py, line 166, in _connect_sock|
|03-09-2024 19:48:10.461 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohappyeyeballs/impl.py, line 166, in _connect_sock|
|03-09-2024 19:48:10.457 [wb-welrok]|    sock = await _connect_sock(|
|03-09-2024 19:48:10.455 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohappyeyeballs/impl.py, line 81, in start_connection|
|03-09-2024 19:48:10.441 [wb-welrok]|    raise first_exception|
|03-09-2024 19:48:10.438 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohappyeyeballs/impl.py, line 104, in start_connection|
|03-09-2024 19:48:10.436 [wb-welrok]|    sock = await aiohappyeyeballs.start_connection(|
|03-09-2024 19:48:10.424 [wb-welrok]|  File /opt/venvs/wb-welrok/lib/python3.9/site-packages/aiohttp/connector.py, line 1073, in _wrap_create_connection|
|03-09-2024 19:48:10.422 [wb-welrok]|Traceback (most recent call last):|
|03-09-2024 19:48:10.416 [wb-welrok]|tcp|
|03-09-2024 19:48:10.393 [mosquitto]|1725382090: Client welrok-0yOd5eXC disconnected.|
|03-09-2024 19:48:10.393 [mosquitto]|1725382090: Client welrok-0yOd5eXC disconnected.|
|03-09-2024 19:48:10.391 [wb-welrok]|DEBUG: MQTT client stopped|
|03-09-2024 19:48:10.370 [wb-welrok]|INFO: MQTT client disconnected|
|03-09-2024 19:48:09.364 [wb-welrok]|INFO: MQTT client connected|
|03-09-2024 19:48:09.355 [wb-welrok]|DEBUG: Add device with id welrok az_8B9770 and sn 70041D8B9770009396969300000142|
|03-09-2024 19:48:09.350 [wb-welrok]|DEBUG: MQTT client started|
|03-09-2024 19:48:09.344 [mosquitto]|1725382089: New client connected from 127.0.0.1:45469 as welrok-0yOd5eXC (p2, c1, k60).|
|03-09-2024 19:48:09.341 [mosquitto]|1725382089: New connection from 127.0.0.1:45469 on port 1883.|

Сможем как-то поправить?

  1. При наличии пароля на MQTT и запрете анонимных подключений, не удается подключить термостат

В логах в этот момент такое:


03-09-2024 20:35:51.471 [init.scope]	Started Wiren Board Welrok thermostat MQTT driver.
03-09-2024 20:35:51.446 [init.scope]	wb-welrok.service: Consumed 3.155s CPU time.
03-09-2024 20:35:51.442 [init.scope]	Stopped Wiren Board Welrok thermostat MQTT driver.
03-09-2024 20:35:51.422 [init.scope]	wb-welrok.service: Scheduled restart job, restart counter is at 17.
03-09-2024 20:35:46.309 [init.scope]	wb-welrok.service: Consumed 3.155s CPU time.
03-09-2024 20:35:46.303 [init.scope]	wb-welrok.service: Failed with result 'exit-code'.
03-09-2024 20:35:46.296 [init.scope]	wb-welrok.service: Main process exited, code=exited, status=1/FAILURE
03-09-2024 20:35:45.913 [wb-welrok]	tcp
03-09-2024 20:35:45.911 [wb-welrok]	INFO: Welrok service stopped
03-09-2024 20:35:45.866 [wb-welrok]	DEBUG: Run welrok client task cancelled
03-09-2024 20:35:45.866 [wb-welrok]	DEBUG: Run welrok client task cancelled
03-09-2024 20:35:45.851 [wb-welrok]	INFO: MQTT client disconnected
03-09-2024 20:35:45.841 [wb-welrok]	DEBUG: Add device with id welrok az_8B9770 and sn 70041D8B9770009396969300000142
03-09-2024 20:35:45.837 [wb-welrok]	DEBUG: MQTT client started
03-09-2024 20:35:45.835 [mosquitto]	1725384945: Client <unknown> disconnected, not authorised.
03-09-2024 20:35:45.822 [mosquitto]	1725384945: New connection from 127.0.0.1:51869 on port 1883.
03-09-2024 20:35:45.698 [wb-welrok]	INFO: Welrok service starting
03-09-2024 20:35:41.792 [init.scope]	Started Wiren Board Welrok thermostat MQTT driver.
03-09-2024 20:35:41.717 [init.scope]	wb-welrok.service: Consumed 3.176s CPU time.
03-09-2024 20:35:41.713 [init.scope]	Stopped Wiren Board Welrok thermostat MQTT driver.
03-09-2024 20:35:41.713 [init.scope]	Stopped Wiren Board Welrok thermostat MQTT driver.
03-09-2024 20:35:41.665 [init.scope]	wb-welrok.service: Scheduled restart job, restart counter is at 16.
03-09-2024 20:35:36.615 [init.scope]	wb-welrok.service: Consumed 3.176s CPU time.
03-09-2024 20:35:36.609 [init.scope]	wb-welrok.service: Failed with result 'exit-code'.
03-09-2024 20:35:36.603 [init.scope]	wb-welrok.service: Main process exited, code=exited, status=1/FAILURE
03-09-2024 20:35:35.866 [wb-welrok]	tcp
03-09-2024 20:35:35.863 [wb-welrok]	INFO: Welrok service stopped
03-09-2024 20:35:35.845 [wb-welrok]	DEBUG: Run welrok client task cancelled
03-09-2024 20:35:35.833 [wb-welrok]	INFO: MQTT client disconnected
03-09-2024 20:35:35.824 [wb-welrok]	DEBUG: Add device with id welrok az_8B9770 and sn 70041D8B9770009396969300000142
03-09-2024 20:35:35.824 [wb-welrok]	DEBUG: Add device with id welrok az_8B9770 and sn 70041D8B9770009396969300000142
03-09-2024 20:35:35.821 [wb-welrok]	DEBUG: MQTT client started
03-09-2024 20:35:35.820 [mosquitto]	1725384935: Client <unknown> disconnected, not authorised.
03-09-2024 20:35:35.806 [mosquitto]	1725384935: New connection from 127.0.0.1:46427 on port 1883.
03-09-2024 20:35:35.691 [wb-welrok]	INFO: Welrok service starting

Этот модуль может работать с MQTT с авторизацией? Если да, то требуется где-то указать дополнительные настройки?

Обновляются по публикации топиков в MQTT. Если устройство будет публиковать чаще (или сразу по изменению) - то да.

Интеграция - разработана производителем, ее код https://gitverse.ru/welrok/wb-welrok/content/master
Возможно, если найду канал связи с поддержкой производителя - приглашу сюда.

Про это есть в документации: Подключение Терморегулятора Welrok az к контроллеру Wiren Board — Wiren Board
Screenshot_20240904_092537

Добрый день, проверил и передал все замечанию производителю, возьмут в работу.