В связи с выходом крупного обновления 5.9.х, приглашаем вас принять участие в вебинаре 09.06.2022 в 15:00. Участвовать

Плагин MQTT



  • Насчет 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"}



  • Вообщем помучался я с этой тасмотой и забросил.Находил инфу,что тасмота не всегда корректно работает с mqtt.Но кучка esp не дает покоя.Может сделаете плагин под эту прошивку-https://ab-log.ru/forum/viewtopic.php?f=1&t=1130 :roll:



  • @art:

    Вообщем помучался я с этой тасмотой и забросил.Находил инфу,что тасмота не всегда корректно работает с mqtt.Но кучка esp не дает покоя.Может сделаете плагин под эту прошивку-https://ab-log.ru/forum/viewtopic.php?f=1&t=1130

    Судя по сообщениям на форуме этот проект уже не поддерживается. Делать плагин не имеет смысла.

    Да и девайса такого у нас нет.



  • Делайте как на мегад, у меня все работает.



  • Т.е. использовать плагин от Меги?



  • Да



  • Доброго времени суток.Не получается настроить mqtt на esp,с прошивкой espeasy r120. В отладчике mqtt клиента в IH пишет-

    packet send.cmd subscribe

    packet receive.cmd suback

    packet send.cmd pinqresp

    packet receive.cmd pinqresp

    Что это?

    И еще вопрос откуда берутся формулы расчета входного значения?
    S90507-203309.jpg
    S90507-203325(1).jpg
    S90507-203334.jpg
    S90507-203342.jpg
    S90507-203346.jpg



  • Еще
    S90507-203358.jpg
    S90507-203405.jpg



  • Вот так топики в интре
    Screenshot.png



  • @art:

    Доброго времени суток.Не получается настроить mqtt на esp,с прошивкой espeasy r120. В отладчике mqtt клиента в IH пишет-

    packet send.cmd subscribe

    packet receive.cmd suback

    packet send.cmd pinqresp

    packet receive.cmd pinqresp

    Что это?

    И еще вопрос откуда берутся формулы расчета входного значения?

    Добрый день.

    Сообщения в отладчике говорят, что брокер из IH доступен (пингуется), подписка выполнена

    Но по подписке видимо ничего не приходит. Нужно убедиться, что топик верный

    Для этого можно посмотреть, что присылает девайс на брокер.

    Если у Вас mosquitto, то можно сделать так:

    Остановить службу

    sudo service mosquitto stop
    
    

    И запустить mosquitto в консоли:

    mosquitto -v
    
    

    Вот что получаем например от реле shelly

    pi@ihserver:/opt $ mosquitto -v
    1557329387: mosquitto version 1.6.2 starting
    1557329387: Using default config.
    1557329387: Opening ipv4 listen socket on port 1883.
    1557329387: Opening ipv6 listen socket on port 1883.
    1557329387: New connection from 127.0.0.1 on port 1883.
    1557329387: New client connected from 127.0.0.1 as mqttjs_c5143dac (p2, c1, k60, u'login').   // это подключился плагин
    1557329387: Sending CONNACK to mqttjs_c5143dac (0, 0)
    1557329387: Received SUBSCRIBE from mqttjs_c5143dac . // Плагин подписался 
    1557329387: 	shellies/shelly1-12BAAE/relay/0 (QoS 0) . // Это топик
    1557329387: mqttjs_c5143dac 0 shellies/shelly1-12BAAE/relay/0
    1557329387: Sending SUBACK to mqttjs_c5143dac
    1557329394: New connection from 192.168.0.131 on port 1883\. //Это подключился девайс - shelly
    1557329394: New client connected from 192.168.0.131 as shelly1-12BAAE (p2, c1, k60).
    1557329394: Sending CONNACK to shelly1-12BAAE (0, 0)
    1557329394: Received PUBLISH from shelly1-12BAAE (d0, q0, r0, m0, 'shellies/shelly1-12BAAE/relay/0', ... (2 bytes)) 
            // Девайс публикует топик, на который мы подписались. значения здесь не видно, но размер 2 байта - то есть это просто значение  
    1557329424: Sending PUBLISH to mqttjs_c5143dac (d0, q0, r0, m0, 'shellies/shelly1-12BAAE/relay/0', ... (2 bytes)) .  
            // Брокер перенаправляет сообщение на плагин в IH 
    
    
    

    Кстати, почему вы ожидаете значение в JSON? Для начала уберите формулу JSON.parse в настройке канала



  • Про json я вообще не в курсе.Какую мне прошивку для esp использовать чтоб все работало?А то мне mqtt уже снится.



  • 1.jpeg
    2.jpeg
    Правильно укажи топик : у меня это название уст-ва из Unit Name:, затем devices Name, затем Values



  • Огромное спасибо!Все заработало!


Log in to reply