Reboot контроллера по MQTT через HA

Добрый,

не соображу, как правильно написать для кнопки перезагрузки контроллера

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 лайк