Что значит подвисает? У меня 2380 топиков и колесико крутится 10 секунд перед отображением настроек, wb-mqtt-serial.conf также открываются около 10-12 секунд, устройств не так много у меня. Подвисание на большом количестве устройств ожидаемое поведение, при запуске скрипт подписывается на все топики и из них строит конфигурацию для отображения внутри интерфейса.
В моем случае может крутиться пару минут, загружает 10-20 девайсов но управлять ими я не могу, нажимая на одно он может повиснуть и не переключиться вообще либо через пару минут отобразить. Такое поведение.
Какие действия после установки deb можно сделать для теста? пробовал перезагружать wb-rules - не помогло. И возможно ли разбивать как конфигуратор по 10-20-50 девайсов чтобы избежать такого поведения?
wb-mqtt-serial.conf в моем случае с таким большим количеством девайсов открывается также через 10 сек и все работает быстро и стабильно. Раньше год назад была такая же ситуация на wb-mqtt-serial.conf долго грузится и мог повисать, но после разбивки на разделы - прекратилось.
upd: проблема наблюдается только на Safari в MacOS, на Chrome подтянулось быстрее намного и дает возможность менять конфигурации.
В момент открытия конфигурации запускается wb-engine-helper, можно через консоль проверить работоспособность и замерить время:
time cat /etc/wb-rules/wb-engine.conf | /usr/bin/wb-engine-helper --json
А можно пример как это сейчас выглядит? У меня еще старая версия.
Я так понимаю проблема решилась?
На скриншоте не вижу чтобы устройства разбивались на 10-20-30.
real 0m7,073s
user 0m4,911s
sys 0m0,630s
Но это ни на что не повлияло, он выдал такой real а окно продолжает грузиться. Выше обновил пост, проблема в Safari такая наблюдается, в Chrome все ок.
Ну вот данные скрипт выдал достаточно быстро, дальше уже работа JsonEditora который отображает форму, слабое звено получается сафари тут.
После > если нажать раскрывается огромный список девайсов на каждый порт RS485-1, TCP итд
Возможно, я лишь констатирую факт )) Если я нажму сейчас на одном девайсе добавить в HA - остальные он не создал вирутуальное устройство? Те появится только 1 тестовый?
Не очень хочется загнать 1000 девайсов и потом удалять.
Добавлять должно только те, у которых стоит галочка “Add control to HomeAssistant”.
А как при таком большом количестве устройств контроллер поживает? Load average сильно высокий?
Да вроде не плохо, там большую часть нагружает Spruthub, если его убрать то будет вообще прохлаждаться.
Проверил, заработало, все отлично. Было б неплохо добавить интеграцию Smartweb для отопления (это отдельная большая история которая покрывает все вопросы отопления, ГВС и тд) она передает все данные на WB через
https://gidrologo.ru/каталог/автоматика/управление/smartweb/wirenboard_6
В HomeKit на данный момент шаблон написал в виде термостата, было бы неплохо его сразу и на HA закинуть.
Поделитесь шаблоном, посмотрю что можно сделать.
smartweb-thermostat.json (8,2 КБ)
Подскажите Create cover in HomeAssistant завязан на распознавание определенных девайсов (типа шторы, ворота и тд), нельзя ли его привязать к виртуальному устройству уже существующему, например ворота (те написана своя логика на js и данное виртуальное устройство уже есть на WB) и от HA собственно нужно только управлять и отображать как ворота?
Пример
Те в данном случае имеется ввиду дать возможность заворачивать в cover если есть все неаобходимые сущности.
Такой возможности нет, попробуйте скрипт который есть, он умеет открывать по процентам, можно приоткрыть на 10% например. (Можно еще создать скрипт и потом в HA в устройствах будет пример в разделе “MQTT INFO” шаблона в формате .yaml)
Понял, спасибо, поковыряюсь.
Покажите еще полное имя топика связанного с устройством термостат
św THERMOSTAT ХХХ - он подставляет порядковый номер программы на Смартвебе.
Полный список что Smartweb передает на Wirenboard в виде MQTT топиков здесь:
Я пока задействовал у себя темрмостат (ROOM_DEVICE.json на ГХ) в обрезанными данными (тк передаем он их очень много и не нужно в работе.)
Там еще через пробел, это Вы можете поменять? Чтобы сделать как у WB по умолчанию идет имя устройства через дефис и номер через подчеркивание (wb-msw-v3_144). Вообще разовую задачу такую проще через конфиг сделать и быстрее будет.