Node-RED:Рецепты/Как опубликовать в топик сохраненное (retained) сообщение

Материал из Онлайн справочника
Версия от 19:11, 3 мая 2019; Myagkij (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Черновик


Как опубликовать в топик сохраненное (retained) сообщение[1]

Проблема

Вам нужно опубликовать в топик MQTT-брокера сохраненное (retained) сообщение.

Решение

В настройках ноды «MQTT Output» задайте в поле «Retain» значение «true» или в сообщении, которое будет отправлено ноде, задайте в свойстве «msg.retain» значение «true».

Пример

[{"id":"4a7dc819.3aa6f8","type":"mqtt out","z":"eda2a949.74ea98","name":"","topic":"sensors/livingroom/temp","qos":"","retain":"true","broker":"61de5090.0f5d9","x":430,"y":420,"wires":[]},{"id":"fb7b873.c391878","type":"inject","z":"eda2a949.74ea98","name":"temperature","topic":"","payload":"22","payloadType":"num","repeat":"","crontab":"","once":false,"x":230,"y":420,"wires":[["4a7dc819.3aa6f8"]]},{"id":"61de5090.0f5d9","type":"mqtt-broker","z":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]

Разбор

Теперь, когда вы отправили в топик сохраненное (retained) сообщение, его получат все подписчики, подписанные на этот топик.

Чтобы удалить из топика ранее сохраненное (retained) сообщение, отправьте на этот топик пустое сообщение с флагом «Retain», выставленным на «true».

См.также

Внешние ссылки