Плагин MQTT



  • Вот так настроена интра
    Screenshot (4).png
    Screenshot (3).png



  • Брокер установлен на малине.Ссылка на тасмоту-https://github.com/arendst/Sonoff-Tasmota/wiki/MQTT-Overview



  • Каналы для датчиков нужно настроить так:

    Канал: T1 (любой)

    Topic: tele/sonoff/SENSOR

    Тип канала: AI

    Устройство: STEMP1

    Вкладка Обработка:

    Формула расчета входного значения: JSON.parse(value).AM2301.Temperature

    Канал: H1 (любой)

    Topic: tele/sonoff/SENSOR

    Тип канала: AI

    Устройство: HUMIDITY1

    Вкладка Обработка:

    Формула расчета входного значения: JSON.parse(value).AM2301.Humidity

    Для реле нужны команды управления.

    После настройки каналов перезапустите плагин

    Попробуйте, должно работать. Посмотрите в отладчике плагина.



  • Спасибо!Заработало.Показывает температуру и влажность.Чуть попозже попробую добавить реле.



  • Опять за помощью.Исходные данные те же.Пробую включить реле
    Screenshot (1).png
    Screenshot (2).png



  • Что нужно заполнить на следующем скриншоте?
    Screenshot (3).png



  • @art:

    Опять за помощью.Исходные данные те же.Пробую включить реле

    Добрый день

    Topic: tele/sonoff/STATE

    Тип канала: DO

    Устройство: SOCKET1

    Вкладка Обработка:

    Формула расчета входного значения: JSON.parse(value).POWER1



  • Не работает.Плагин перезапускал.Заметил,когда розетку отвязываю от плагина,то она при вкл/откл меняет цвет(как и должно) а при привязке к плагину не меняет.

    Офтоп.Грамматическая ошибка в интре.Сценарии–-+---новый сценарийT.



  • Отладчик-

    13.01 10:59:40.580 IH: command [ { dn: 'SOCKET1', prop: 'on' } ]

    13.01 10:59:40.581 IH: send { type: 'act',

    data:

    [ { chan: '2',

    act: 'on',

    topic: 'cmnd/sonoff/POWER1 ',

    message: '',

    id: '2',

    command: 'on',

    value: 1 } ] }



  • @art:

    Не работает.Плагин перезапускал.Заметил,когда розетку отвязываю от плагина,то она при вкл/откл меняет цвет(как и должно) а при привязке к плагину не меняет.

    Отладчик-

    13.01 10:59:40.580 IH: command [ { dn: 'SOCKET1', prop: 'on' } ]

    13.01 10:59:40.581 IH: send { type: 'act',

    data:

    [ { chan: '2',

    act: 'on',

    topic: 'cmnd/sonoff/POWER1 ',

    message: '',

    id: '2',

    command: 'on',

    value: 1 } ] }

    Здесь две операции - получение состояния и управление

    Для управления нужно дописать после топика сообщение:

    Топик: cmnd/sonoff/POWER1

    Сообщение: on

    Тогда будет отправлена команда cmnd/sonoff/POWER1 on

    Сейчас сообщение пустое.

    Для проверки получения состояния попробуйте переключить розетку не через интерфейс и наблюдать в интерфейсе

    @art:

    Офтоп.Грамматическая ошибка в интре.Сценарии–-+---новый сценарийT.

    Да, спасибо, поправим в следующей версии



  • На странице тасмота в консоле команды cmnd/sonoff/POWER1 on и cmnd/sonoff/POWER1 off отрабатываются,реле вкл и откл.Изменил розетку на актуатор универсальный бинарный,не изменяется состояние вкл/откл.

    Отладчик

    13.01 13:02:29.575 IH: command [ { dn: 'ACTOR1', prop: 'off' } ]

    13.01 13:02:29.576 IH: send { type: 'act',

    data:

    [ { chan: '2',

    act: 'off',

    topic: 'cmnd/sonoff/POWER1 off',

    message: '',

    id: '2',

    command: 'off',

    value: 0 } ] }

    Получается что опять сообщение пустое?



  • @art:

    На странице тасмота в консоле команды cmnd/sonoff/POWER1 on и cmnd/sonoff/POWER1 off отрабатываются,реле вкл и откл.Изменил розетку на актуатор универсальный бинарный,не изменяется состояние вкл/откл.

    Отладчик

    13.01 13:02:29.575 IH: command [ { dn: 'ACTOR1', prop: 'off' } ]

    13.01 13:02:29.576 IH: send { type: 'act',

    data:

    [ { chan: '2',

    act: 'off',

    topic: 'cmnd/sonoff/POWER1 off',

    message: '',

    id: '2',

    command: 'off',

    value: 0 } ] }

    Получается что опять сообщение пустое?

    Вы off не в топик допишите, а в Сообщение, ниже топика.

    По состоянию - если в тасмота переключать, на интерфейсе изменяется?



  • Насчет off/on в сообщениях топика виноват,не доглядел,че то думал что в командах уже указано.Если в веб странице тасмота переключать то в интерфейсе не меняется.



  • @art:

    Насчет off/on в сообщениях топика виноват,не доглядел,че то думал что в командах уже указано.Если в веб странице тасмота переключать то в интерфейсе не меняется.

    Покажите отладчик, когда приходят сообщения о переключении



  • 13.01 14:42:37.126 IH: set {"STEMP1":{"aval":30.4,"err":0},"SHUMIDITY1":{"aval":22.5,"err":0}}

    13.01 14:42:38.136 IH: command [ { dn: 'SOCKET1', prop: 'on' } ]

    13.01 14:42:38.137 IH: send { type: 'act',

    data:

    [ { chan: '2',

    act: 'on',

    topic: 'cmnd/sonoff/POWER1',

    message: 'on',

    id: '2',

    command: 'on',

    value: 1 } ] }



  • При включении розетки с интры в веб морду тасмоты прилетает топик-stat/sonoff/POWER1.А должен-cmnd/sonoff/POWER1 on или off.Че то вообще запарился..



  • @art:

    13.01 14:42:37.126 IH: set {"STEMP1":{"aval":30.4,"err":0},"SHUMIDITY1":{"aval":22.5,"err":0}}

    13.01 14:42:38.136 IH: command [ { dn: 'SOCKET1', prop: 'on' } ]

    13.01 14:42:38.137 IH: send { type: 'act',

    data:

    [ { chan: '2',

    act: 'on',

    topic: 'cmnd/sonoff/POWER1',

    message: 'on',

    id: '2',

    command: 'on',

    value: 1 } ] }

    Установите пожалуйста уровень отладочных сообщений для плагина - высокий.

    Перезапустите плагин

    Переключите реле в тасмота, в отладчике должно появиться принятое сообщение от имени mqttclinet: c топиком tele/sonoff/STATE

    И дальше прием этого сообщения сервером



  • 13.01 18:18:45.166 mqttclient1: Packet receive. cmd: publish

    13.01 18:18:45.167 mqttclient1: GET: tele/sonoff/STATE {"Time":"2019-01-13T17:18:44","Uptime":"0T03:38:26","Vcc":2.823,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    13.01 18:18:45.167 IH: get [{"id":"2","topic":"tele/sonoff/STATE","value":"{"Time":"2019-01-13T17:18:44","Uptime":"0T03:38:26","Vcc":2.823,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}"}]

    13.01 18:18:45.168 IH: set {"SOCKET1":{"dval":"ON","err":0}}

    13.01 18:18:45.220 mqttclient1: Packet receive. cmd: publish

    13.01 18:18:45.221 mqttclient1: GET: tele/sonoff/SENSOR {"Time":"2019-01-13T17:18:44","AM2301":{"Temperature":36.9,"Humidity":17.7},"TempUnit":"C"}

    13.01 18:18:45.221 IH: get [{"id":"1","topic":"tele/sonoff/SENSOR","value":"{"Time":"2019-01-13T17:18:44","AM2301":{"Temperature":36.9,"Humidity":17.7},"TempUnit":"C"}"},{"id":"H1","topic":"tele/sonoff/SENSOR","value":"{"Time":"2019-01-13T17:18:44","AM2301":{"Temperature":36.9,"Humidity":17.7},"TempUnit":"C"}"}]

    13.01 18:18:45.222 IH: set {"STEMP1":{"aval":36.9,"err":0},"SHUMIDITY1":{"aval":17.7,"err":0}}

    13.01 18:18:55.166 mqttclient1: Packet receive. cmd: publish

    13.01 18:18:55.167 mqttclient1: GET: tele/sonoff/STATE {"Time":"2019-01-13T17:18:54","Uptime":"0T03:38:36","Vcc":2.822,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    13.01 18:18:55.168 IH: get [{"id":"2","topic":"tele/sonoff/STATE","value":"{"Time":"2019-01-13T17:18:54","Uptime":"0T03:38:36","Vcc":2.822,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}"}]

    13.01 18:18:55.168 IH: set {"SOCKET1":{"dval":"ON","err":0}}

    13.01 18:18:55.218 mqttclient1: Packet receive. cmd: publish

    13.01 18:18:55.219 mqttclient1: GET: tele/sonoff/SENSOR {"Time":"2019-01-13T17:18:54","AM2301":{"Temperature":37.0,"Humidity":17.8},"TempUnit":"C"}

    13.01 18:18:55.219 IH: get [{"id":"1","topic":"tele/sonoff/SENSOR","value":"{"Time":"2019-01-13T17:18:54","AM2301":{"Temperature":37.0,"Humidity":17.8},"TempUnit":"C"}"},{"id":"H1","topic":"tele/sonoff/SENSOR","value":"{"Time":"2019-01-13T17:18:54","AM2301":{"Temperature":37.0,"Humidity":17.8},"TempUnit":"C"}"}]

    13.01 18:18:55.220 IH: set {"STEMP1":{"aval":37,"err":0},"SHUMIDITY1":{"aval":17.8,"err":0}}

    13.01 18:19:04.986 mqttclient1: Packet send. cmd:pingreq

    13.01 18:19:04.987 mqttclient1: Packet receive. cmd: pingresp

    13.01 18:19:05.167 mqttclient1: Packet receive. cmd: publish

    13.01 18:19:05.167 mqttclient1: GET: tele/sonoff/STATE {"Time":"2019-01-13T17:19:04","Uptime":"0T03:38:46","Vcc":2.827,"POWER1":"OFF","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    13.01 18:19:05.168 IH: get [{"id":"2","topic":"tele/sonoff/STATE","value":"{"Time":"2019-01-13T17:19:04","Uptime":"0T03:38:46","Vcc":2.827,"POWER1":"OFF","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}"}]

    13.01 18:19:05.168 IH: set {"SOCKET1":{"dval":"OFF","err":0}}

    13.01 18:19:05.172 mqttclient1: Packet receive. cmd: publish

    13.01 18:19:05.173 mqttclient1: GET: tele/sonoff/SENSOR {"Time":"2019-01-13T17:19:04","AM2301":{"Temperature":36.9,"Humidity":18.1},"TempUnit":"C"}

    13.01 18:19:05.174 IH: get [{"id":"1","topic":"tele/sonoff/SENSOR","value":"{"Time":"2019-01-13T17:19:04","AM2301":{"Temperature":36.9,"Humidity":18.1},"TempUnit":"C"}"},{"id":"H1","topic":"tele/sonoff/SENSOR","value":"{"Time":"2019-01-13T17:19:04","AM2301":{"Temperature":36.9,"Humidity":18.1},"TempUnit":"C"}"}]

    13.01 18:19:05.174 IH: set {"STEMP1":{"aval":36.9,"err":0},"SHUMIDITY1":{"aval":18.1,"err":0}}



  • Сделайте формулу расчета входного значения:

    (JSON.parse(value).POWER1 == 'ON') ? 1 :0



  • Хз.Реле ожило,но переключается не всегда с первого раза и с такими тормозами,что просто ужас.Консоль тасмоты-

    18:17:11 MQT: stat/sonoff/RESULT = {"POWER1":"OFF"}

    18:17:11 MQT: stat/sonoff/POWER1 = OFF

    18:17:19 MQT: tele/sonoff/STATE = {"Time":"2019-01-13T18:17:19","Uptime":"0T00:03:12","Vcc":2.822,"POWER1":"OFF","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    18:17:19 MQT: tele/sonoff/SENSOR = {"Time":"2019-01-13T18:17:19","AM2301":{"Temperature":26.8,"Humidity":26.6},"TempUnit":"C"}

    18:17:25 MQT: stat/sonoff/RESULT = {"POWER1":"ON"}

    18:17:25 MQT: stat/sonoff/POWER1 = ON

    18:17:29 MQT: tele/sonoff/STATE = {"Time":"2019-01-13T18:17:29","Uptime":"0T00:03:22","Vcc":2.826,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    18:17:29 MQT: tele/sonoff/SENSOR = {"Time":"2019-01-13T18:17:29","AM2301":{"Temperature":26.8,"Humidity":26.7},"TempUnit":"C"}

    18:17:40 MQT: tele/sonoff/STATE = {"Time":"2019-01-13T18:17:40","Uptime":"0T00:03:33","Vcc":2.822,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    18:17:40 MQT: tele/sonoff/SENSOR = {"Time":"2019-01-13T18:17:40","AM2301":{"Temperature":26.8,"Humidity":26.7},"TempUnit":"C"}

    18:17:46 MQT: stat/sonoff/RESULT = {"POWER1":"OFF"}

    18:17:46 MQT: stat/sonoff/POWER1 = OFF

    18:17:50 MQT: tele/sonoff/STATE = {"Time":"2019-01-13T18:17:50","Uptime":"0T00:03:43","Vcc":2.822,"POWER1":"OFF","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    18:17:50 MQT: tele/sonoff/SENSOR = {"Time":"2019-01-13T18:17:50","AM2301":{"Temperature":26.7,"Humidity":26.7},"TempUnit":"C"}

    18:18:04 MQT: stat/sonoff/RESULT = {"POWER1":"ON"}

    18:18:04 MQT: stat/sonoff/POWER1 = ON

    18:18:05 MQT: tele/sonoff/STATE = {"Time":"2019-01-13T18:18:05","Uptime":"0T00:03:58","Vcc":2.824,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":1,"SSId":"DIR","BSSId":"90:94:E4:F3:C1:F4","Channel":1,"RSSI":100}}

    18:18:05 MQT: tele/sonoff/SENSOR = {"Time":"2019-01-13T18:18:05","AM2301":{"Temperature":26.7,"Humidity":26.9},"TempUnit":"C"}


Авторизуйтесь, чтобы ответить