Насколько я понимаю, что существующие шаблоны, в основном, предназначены для работы с подключаемыми к ПЛК WB устройствами вашего производства, т. к. к собственному устройству их нельзя привязать?
Где-то можно почитать про создание своих шаблонов виджетов?
Как-то задавался этим вопросом, сделал шаблон для термостата, но пулреквест отклонили почему-то. Ну и я вообще считаю, что не стоит использовать интерфейс wb для продакшена - страшный он и много чего не хватает. У себя я, например, поставил бридж для homekit и использую дефолтный home.app для управления всем. А для графиков/статистики - granfana.
Отредактировал соответствующие файлы \views\devices\device-control.html, \views\devices\controls\control-value.html, добавив свои контролы. Они у меня все имеют class - “control-value”. Однако, мои контролы не отображаются также, как контролы с типом value, а отображаются как поле ввода (text).
Далее добавил соответствующие строки в файл \views\widgets\templates\control-value.html.
Для каждого контрола добавил соответствующую строку в \views\widgets\templates\template.html и для каждой строки создал соответствующий файл html.
При добавлении виджета в поле Widget Template мои шаблоны отсутствуют.
Получается, что WebUI игнорирует добавленные мной контролы и шаблоны.
Почему?
Простым вряд ли :). Да и юзкейс у меня, похоже, отличается от вашего. Я управляю в освещением в доме, отоплением и дверьми/воротами. Для всего этого в ios (iphone) есть приложение, называется home. Подключиться из WB к нему (приложению) можно через сервер, который называется homebridge. Он у меня крутится на отдельной машине.
Но это приложение не умеет или умеет плохо отображать просто текстовую информацию и статистику. Для этого я использую grafana (визуализация) + influxdb (сохранение статистики) + telegraf (коннектор между influxdb и mqtt). Все это тоже крутится на отдельной железке.
В общем, я скорректировал еще файлы \app\scripts\controllers\widgetController.js и \app\scripts\services\dataService.js.
Теперь при создании виджета в выплывающем списке нужные контролы появились.
Но когда я добавляю виджет в UI, то ни значение, ни размерность переменной не отображаются.
Приходится указывать шаблон Generic Sensor, чтобы значение отображалось.
А можно подробнее, что это за железка? Там должен обязательно Linux стоять или на Windows тоже можно? telegraf установлен на этой железке и забирает данные по MQTT с WB? Как эта железка подключена к WB?
Должен linux стоять. Железка - да хотя бы raspberry pi. Telegraf забирает данные по mqtt и складывает в свою базу (influxdb). К wb она никак не подключена, все делается по сети.
У меня нет инструкции, т.к. я не ставил все это на WB :). Но установка ничем не должна отличаться от установки всего этого хозяйства на любой debian дистрибутив.