8 980 590-57-10
Ваш город — Помона?
Заявка

Виджеты в ПО AbromLogic: основа для ускорения настройки


В ПО AbromLogic виджет — это карточка устройства на телефоне интегратора и клиента: выключатель, диммер, датчик, RGB-лента. С виджетов начинается работа с объектом: пока карточек нет, нечего связывать в правилах и не из чего собирать сцены.

Раньше каждый виджет описывали руками: тип устройства, каналы, единицы измерения. Теперь виджеты появляются сами — из мета-информации, которую драйверы Wirenboard публикуют в MQTT. В статье разбираем, что это открывает для интегратора и почему после появления виджетов большая часть настройки уходит с YAML на экран телефона.

Откуда берутся карточки

Драйверы wb-mqtt-serial и wb-rules при старте контроллера публикуют в MQTT описания каждого канала: тип (switch, range, датчик), единицы измерения, минимум и максимум, человеческое имя. Мы подписываемся на эти описания и по ним строим виджеты автоматически.

Правило простое: switch превращается в карточку выключателя, range с минимумом и максимумом — в слайдер, канал типа temperature, humidity, voltage, power, concentration — в карточку датчика с нужной подписью единиц. Служебные каналы драйвера (Serial, Buzzer, светодиоды платы, каналы обучения ИК-ПДУ) в карточки не идут — они не нужны интегратору на экране.

Итог: подключили устройство к шине, дождались, пока драйвер его опросит — карточка появилась в приложении без единой строчки конфига.

Топик-пикер: выбор канала касанием

Каждое правило AbromLogic (термостат, сцена, кнопка, оповещение) в качестве входа или выхода принимает MQTT-топик — путь до конкретного канала конкретного устройства. Раньше этот путь набирали в YAML, сверяясь с описанием железа. Один ошибочный символ — правило молча не работает.

Теперь в приложении при редактировании правила рядом с каждым полем «топик» есть кнопка выбора. Нажали — увидели список виджетов объекта, отфильтрованный по подходящему типу: правилу «Термостат» покажут только виджеты датчиков температуры и выключатели, правилу «Сцена» — то, чем можно управлять.

Интегратор не помнит modbus-адрес щита и не открывает шаблон драйвера. Он открывает объект, тыкает в карточку — топик подставился, правило готово.

Быстрые сцены: одна кнопка — новая сцена

Сцена — это набор состояний устройств, который применяется одним нажатием: «Уход», «Ночь», «Кино». Обычная сборка сцены — перечислить в конфиге каждый топик и его значение. На объекте с сорока каналами это долго.

В AbromLogic сцена собирается так: интегратор выставляет свет, климат и розетки в нужное положение прямо на объекте — руками через приложение или физическими выключателями. Потом в приложении выбирает виджеты, которые должны участвовать в сцене, и жмёт «сохранить». Мы снимаем текущие значения этих виджетов, группируем каналы с одинаковым значением в одну команду и записываем сцену.

Дальше сцену можно повесить на кнопку, расписание или голосовой ассистент. Ни разу не открывали редактор конфига.

Композитные карточки для MSW и MAP3E

Есть устройства, которые публикуют в MQTT десятки каналов. Датчик wb-msw v4 отдаёт температуру, влажность, освещённость, CO2, уровень шума, качество воздуха и движение — семь полезных величин и полтора десятка служебных. Трёхфазный счётчик wb-map3e — больше пятидесяти каналов на одно устройство.

Отдавать это простым списком карточек — забить экран интегратора шумом. Мы склеиваем каналы одного устройства в одну композитную карточку: у датчика в приложении показывается одна карточка «wb-msw v4» с вкладками по величинам, у счётчика — карточка «wb-map3e» с фазами и суммарной мощностью.

Служебные каналы (пиковые значения, углы фаз, каналы обучения) отсеиваются встроенным списком исключений. Если конкретный интегратор их всё-таки хочет видеть — их можно вернуть точечно в настройках приложения.

Комнаты и категории поверх виджетов

Как только виджеты появились, объект становится списком карточек. Мы даём этот список сгруппировать: назначить каждой карточке комнату (кухня, спальня, санузел) и категорию (свет, климат, безопасность). Одна карточка может попасть в несколько категорий — например, датчик протечки живёт и в санузле, и в общей категории «безопасность».

Клиент видит объект глазами жильца: «кухня — свет — верхний ярус». Интегратор видит объект глазами инженера: «все выключатели», «все датчики температуры». Обе картины строятся из одного набора виджетов — разметку комнат и категорий делают в приложении, YAML не трогают.

Что это даёт на объекте

Стандартный сценарий пусконаладки на Wirenboard раньше выглядел так: подключить железо, дождаться опроса, вручную перечислить в YAML каждый нужный канал, привязать виджеты к правилам, снова YAML, прогнать сцены — YAML. Половина рабочего дня уходила в редактор.

С разбором MQTT-меты и надстройками поверх неё — топик-пикер, быстрые сцены, композиты, комнаты — интегратор проходит объект с телефона: подключил железо, дождался карточек, разложил по комнатам, накидал сцены и правила касанием. YAML остаётся как резервная копия конфигурации и способ переноса объекта между контроллерами — но перестаёт быть повседневным инструментом.


    Еще никто не написал комментариев.

    Написать комментарий

    Данная страница является информационной и не является публичной офертой. Мы не продаем оборудование, но готовы оказать техническую поддержку.