Добрый,
не соображу, как правильно написать для кнопки перезагрузки контроллера
mqtt:
button:
- unique_id: wb_reboot
name: “WB Reboot”
command_topic: “/devices/system/controls/Reboot”
payload_press: “on”
qos: 0
retain: false
Такая штука не работает.
В целом было бы интересно, если скинете какое-то описание, как работать с представленными на странице Каналы MQTT топиками.
Доборый день!
У меня получается вот так:
mosquitto_pub -t "/devices/system/controls/Reboot/on" -m 1
Убедитесь, что в нужный топик публикуется значение.
(В качестве альтернативы напишите виртуальное устройство с соответствующим контролом, которое через runShellCommand()
будет перезагружать контроллер командой reboot
, и ему уже шлите сообщения.)
А как вы хотите работать с топиками? Общая информация по MQTT на контроллере у нас вот в этом документе.
Спасибо!
Каналы Mqtt есть в меню контроллера. А какие давать им команлы и как не понятно. Например, откуда взялось “-m 1” и что это значит. Где это почерпнуть?
Да, в списке каналов контроллера есть и собственные топики контроллера, и устройств, к нему подключенных. Некоторые просто сообщения только для чтения, через некотроые можно управлять устройствами.
Я, к сожалению, не смогу обяснить всего в двух словах – очень большая тема. Но, я думаю, что документ, на который я сослался, ответит на многие ваши вопросы.
Ну, например, почему отправка “1” в топик перезагружает контроллер: параметр -m
указывает на значение, которое публикуется. Почему 1? Смотрим, какой тип контрола – “pushbutton”, в документе есть ссылка на описание, как устроены топики в контроллере, Wiren Board MQTT Conventions. Там написано, что только публикация 1 в топик контрола типа pushbutton приводит к действию (“нажеть кнопку”). Для реле два варианта “1” включает, “0” – выключает.
В этом документе, MQTT в контроллерах Wiren Board, много примеров, которые наглядно иллюстрируют мнногие концепции. И мы старались все просто и понятно излагать.
1 лайк