Плагин MQTT



  • @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



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



  • Нужна помощь с прошивкой Tasmota,а именно управлять реле.

    Есть два реле,управляются топиками cmnd/sonoff/power 1 on и cmnd/sonoff/power 1 off(cmnd/sonoff/power 2 off и cmnd/sonoff/power 2 on).Если отправлять через консоль тасмоты,то реле вкл и откл.Но через IH никак.

    Спасибо
    Screenshot (3).png
    Screenshot (4).png
    Screenshot (5).png
    Screenshot (6).png



  • @art:

    Нужна помощь с прошивкой Tasmota,а именно управлять реле.

    Есть два реле,управляются топиками cmnd/sonoff/power 1 on и cmnd/sonoff/power 1 off(cmnd/sonoff/power 2 off и cmnd/sonoff/power 2 on).Если отправлять через консоль тасмоты,то реле вкл и откл.Но через IH никак.

    Спасибо

    Добрый день.

    На вкладке Канал нужно прописать топик получения состояния, а не управления: stat/sonoff/POWER2, а не cmnd/sonoff/power2

    Этот топик публикует ON/OFF, поэтому на вкладке Обработка - Формула входного значения - нужно ввести (value == 'ON')?1:0



  • Спасибо,все получилось!



  • Всем привет. Я только начинаю разбираться с MQTT, установил брокер на роутер, через плагин для хрома (MQTT LENS) подключается отлично, в консоли вижу подключение. А через IntraHouse не хочет, висит табличка STOP. Указан адрес роутера и порт 1883.

    Как понять, в чем проблема?



  • @gewer, добрый день!
    Нужно смотреть отладчик плагина, что выдается при запуске плагина. А какой брокер Вы установили? Мы обычно используем mosquitto.



  • @intrapro Да, использую mosquitto. Для теста запустил на MajorDomo, он подцепил MQTT, подключение вижу. Может, есть какие-то подводные камни? Отладку включал - там пусто. Или где-то в другом месте смотреть нужно?



  • @intrapro очень прошу помощи, у зиме нужно настроить тёплые полы и выбор пал именно на вашу программу, т.к. очень удобно использовать планшет в коридоре, а визуализация, сценарии и функционал у вас для этого лучшие)



  • @gewer Табличка stop висит, когда плагин не запущен. Если запустить вручную все равно встает?



  • @homa простите за тупой вопрос, но где он запускается вручную?



  • @gewer полосатая кнопочка в отладчике. Или такая же прямо в окне плагинов

    plugin_debug.png

    Или такая же прямо в окне плагинов
    run_plugin.png



  • @intrapro спасибо, буду дома пробовать.



  • Итак, всё заработало, реле щелкает при нажатии на кнопку, состояние показывает.

    Очередной вопрос. К sonoff TH10 подключен датчик температуры DS18B20. Не совсем понимаю, каким образом вывести с него значение температуры. Нужно ли что-то указывать на вкладке "Обработка"?

    Был бы признателен за небольшой мануал по выводу значения температуры на главный экран.



  • Участник @gewer написал в Плагин MQTT:

    Был бы признателен за небольшой мануал по выводу значения температуры на главный экран.

    Создаете аналоговый датчик температуры и подключаете его к топику , в который передаете данные с ТН10, канал AI, ваш датчик температуры , и топик н.р /Sonoff TH10/datt/temperature . Топик создаете в прошивке ТН10. Обработка не нужна, этот датчик передает в градусах, округление можно настроить лучше в прошивке ТН10



  • @Anatol а где это в тасмоте делается?



  • Я в ESP Easy Mega, но и в тасмоте можно. Топик для реле вы ведь создали, точно также и для датчика.



  • Участник @Anatol написал в Плагин MQTT:

    Я в ESP Easy Mega, но и в тасмоте можно. Топик для реле вы ведь создали, точно также и для датчика.

    Примерно понял логику. Данные в логах вроде верные.
    Но вместо температуры получаю какую-то чушь:

    Аннотация 2019-11-15 004853.png


Log in to reply