0
Under review

MQTT и текстовый параметр на элемент trigger Button

starikow 3 years ago in Tips and Tricks updated by Vladimir Ovchinnikov (expert) 3 years ago 5

Добрый день!
на сервере настроил устройства MQTT аргумент топика текстовый, на сервере все отлично отрабатывается

отправляю в топик on или off


сейчас стал делать в графическом интерфейсе trigger button - 

вижу возможность установки только цифровых значений

Image 43116

как не пытаюсь сюда поставить аргумент в виде on или off - не дает

и вот такие настройки на сервере, но на сервере все ок работает

Image 43117

Under review

Добрый день.

Тип нужно выбирать в канале драйвера MQTT и в привязке графического элемента к каналу.

в канале драйвер на сервер у меня стоит тип строка

я выше прикладываю скрин экрана

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


в случае если элемент кнопка - то такой вариант проходит 

делаю две кнопки 

одна отправляет строку on

другая отправляет off

в случае с тригерной кнопкой у меня такой трюк не проходи

да я могу отправить одну строку, к примеру только on

а куда тогда написать состояние и строку off

?

не могли бы вы показать? спасибо

В канале драйвера MQTT можно выбрать Value Type. В числе прочих есть String.

Брокер в любом случае работает со строкой, драйвер просто преобразует отправляемые/получаемые данные к выбранному типу, если это возможно.

При настройке триггера допустимы только числа в Value 1 и Value 2.

В вашем случае можете создать 2 кнопки. Канал привязать к разным кнопкам. Одна кнопка отправляет строку On, другая - строку Off. Если необходимо отправлять поочерёдно разные строки с одного триггера, то можно сделать это скриптом.

добрый! в канале драйвера MQTT стоит String (строковая)

пока у меня напрашивается только вариант со скриптом, раз нет возможности в Value1 Value2 вносить строковую переменную. 

ну или вариант конвертировать в другой топик цифрs 1 или 0 из значения on и off

Добрый день.

В вашем случае нужно отправлять строку в канал и менять состояния в зависимости от фидбэка.

Прикладываем пример работы со строкой в MQTT драйвере. Вместо триггера использован Multistate button с двумя состояниями, т. к. работа с командами и фидбэками выполняется через скрипт. Фактически получился триггер с нужной функциональностью.

multistate_press_mqtt_offline.irpz