Skip to content

Latest commit

 

History

History
74 lines (50 loc) · 2.05 KB

mqtt.md

File metadata and controls

74 lines (50 loc) · 2.05 KB

MQTT

Шлюз умеет подключаться к MQTT-брокеру как клиент, получать и отправлять данные в топики.

Работа с MQTT из скриптов

mqtt.prefix()

Получает или задает системный префикс, настроенный в меню Settings -> Link -> MQTT Setup, поле System prefix topic

mqtt.prefix([topic])
-- topic - STR, System prefix topic
--
-- Получить префикс
local mqtt_prifix = mqtt.prefix()
-- Задать префикс
mqtt.prefix("newTopic")

mqtt.connected()

Возвращает статус подключение к брокеру MQTT. Выполняется без параметров.

mqtt.pub()

Публикует на MQTT сервер в топик topic значение payload.

mqtt.pub(topic, payload)

Пример управления реле на прошивке Tasmota - cmnd/имя устройства/имя реле

mqtt.pub('cmnd/sonoff5/power', 'toggle')

mqtt.sub()

Подписывается на топик и помещает полученные значения в объект. Можно вызывать повторно с другим именем объекта, для его изменения.

mqtt.sub(topic, objName[, objType])
-- topic - STR, топик MQTT
-- objName - STR, объект, в который записываются данные
-- objType - STR, тип значения объекта. По-умолчанию STR

Пример подписки на топик с температурой, которую шлюз помещает в объект:

mqtt.sub('dev/sensor/temp', 'room_temp')

с указанием типа объекта:

mqtt.sub('dev/sensor/temp', 'room_temp', 'INT')

mqtt.unSub()

Отписывается от топика.

mqtt.unSub(topic)

Пример отписки от топика с температурой

mqtt.unSub('dev/sensor/temp')