Пытаюсь настроить управление модулятором через веб-интерфейс.
Принцип таков: мы подаём сигнал устройству подключенному через rs-485. Устройство добавлено и настроено через configs/wb-mqtt-serial.conf.
Оно появилось во вкладке devices (Panter).
(Два параметра помечены красным, я предполагаю, потому что устройство принимает параметры функцией holding_multi (код 16), но не посылает ответов. В любом случае устройство работает корректно.)
Также добавлены два виртуальных девайса, написанных через wb-rules. Они тоже работают корректно, одно посылает на устройство через MQTT число в 16 бит (х00, х05, например), а второе - в 32 бита (х00, х07, х00, х64). Это все регулируется ползунками (type: “range”).
В чем проблема? В ползунках. Нам необходимо реализовать то же самое, но с полями ввода. Так как при наличии 200 лампочек весьма неудобно с помощью ползунка пытаться выбрать именно 188 ID.
Я прочел всю найденную документацию. У меня сложилось впечатление, что функции ввода во вкладке девайсов нет ни в каком виде, помимо ползунка. Value и text нельзя редактировать.
По аналогии с Демонстрационный веб-интерфейс
я попытался создать свою страницу (192.168.1.14/myPage.html). Я планировал добавить туда поля ввода и кнопку, через неё запускать команду вида:
mosquitto_pub -t “/devices/Panter/controls/Dimming all/on” -m ‘99’
(Команда, кстати, исправно подает сигнал на устройство, если вводится через консоль WinSCP. Вместо 99 должно быть любое число, введенное пользователем)
Через собственную страницу команду запустить, впрочем, не получилось. Команда записана в script.sh, который должен запускаться через php, но мне не удалось подружить эту систему.
Я уже не знаю, в какую сторону мне дальше копать. Не могли бы вы мне посоветовать, как мне лучше решить данную задачу? По сути мне просто нужны в веб-интерфейсе два поля, в одно вводится ID (произвольное значение от 1 до 65000), во второе процент (от 0 до 100), и кнопка, которая эти два значения скармливает в MQTT.
Если это невозможно стандартными средствами, то как передавать значения в MQTT из кастомных веб-страниц, залитых на контроллер?