Взаимодействие с Mqtt
Модератор: immortal
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
Взаимодействие с Mqtt
Добрый день. Делаю проект в котором куча датчиков esp8266 шлют по mqtt свои состояния и данные раз в 10 минут на сервер MD с mosquitto и потом засыпают, но должны уметь и принимать данные с сервера.
Проблема в том, что если данные на сервере публикуются в те моменты, пока датчики офлайн, то датчики эти данные не получат (получают только те, что онлайн в момент публикации на сервере). Как можно решить эту проблему? Может кто знает готовые варианты? Вариант городить сложную систему публикация/ответ(подтверждение приёма), как-то неправильно, да и на каждый датчик городить придётся.
Или проще всё на post и html переделать?
Проблема в том, что если данные на сервере публикуются в те моменты, пока датчики офлайн, то датчики эти данные не получат (получают только те, что онлайн в момент публикации на сервере). Как можно решить эту проблему? Может кто знает готовые варианты? Вариант городить сложную систему публикация/ответ(подтверждение приёма), как-то неправильно, да и на каждый датчик городить придётся.
Или проще всё на post и html переделать?
Re: Взаимодействие с Mqtt
Retain включили для этих датчиков в настройках MQTT в MD?
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
Re: Взаимодействие с Mqtt
Дпде и не знал про такую функцию, вечером попробую, спасибо.
- Cracken090
- Сообщения: 23
- Зарегистрирован: Ср апр 19, 2017 11:19 am
Re: Взаимодействие с Mqtt
Доброго времени суток! Настраиваю MQTT, но столкнулся с проблемой
Суть проблемы: с mqtt-spy отправляю данные. Данные приходят в majordomo, но ответа (эхо) нет.
Подскажите пожалуйста в чем может быть проблема?
Суть проблемы: с mqtt-spy отправляю данные. Данные приходят в majordomo, но ответа (эхо) нет.
Подскажите пожалуйста в чем может быть проблема?
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
Re: Взаимодействие с Mqtt
Не нашёл Retain в mqtt, где её искать?
- Вложения
-
- Снимок.JPG (32.97 КБ) 6962 просмотра
Re: Взаимодействие с Mqtt
В настройках каждого конкретного датчикаZhenyaRUS39 писал(а):Не нашёл Retain в mqtt, где её искать?
Re: Взаимодействие с Mqtt
Как назначить выполнение методов объекта (привязанного к топику) при изменении статуса после получения нового значения?
Подробнее:
Имеется Relay1 у которого есть свойство status которое обновляется при обновлении топика Devices/Relay1. Так же у него есть методы turnOn и turnOff в которых выполняются команды.
При нажатии на объект на сцене или при переключении через меню всё корректно отрабатывает. Но вот при смене статуса (после получения новых данных из топика Devices/Relay1) - на сцене визуализация выполняется (меняется на вкл или выкл в зависимости от статуса), а методы не отрабатывают.
Где можно найти назначение статуса объекту при получении нового сообщения в топике? Я бы туда прикрутил бы refresh (в родительском классе описан этот метод и он выполняет другие в зависимости от статуса).
Ну или может быть есть какой то другой вариант взаимодействия?
Подробнее:
Имеется Relay1 у которого есть свойство status которое обновляется при обновлении топика Devices/Relay1. Так же у него есть методы turnOn и turnOff в которых выполняются команды.
При нажатии на объект на сцене или при переключении через меню всё корректно отрабатывает. Но вот при смене статуса (после получения новых данных из топика Devices/Relay1) - на сцене визуализация выполняется (меняется на вкл или выкл в зависимости от статуса), а методы не отрабатывают.
Где можно найти назначение статуса объекту при получении нового сообщения в топике? Я бы туда прикрутил бы refresh (в родительском классе описан этот метод и он выполняет другие в зависимости от статуса).
Ну или может быть есть какой то другой вариант взаимодействия?
- ZhenyaRUS39
- Сообщения: 46
- Зарегистрирован: Ср ноя 16, 2016 12:41 pm
Re: Взаимодействие с Mqtt
Можете подробнее рассказать.olehs писал(а):В настройках каждого конкретного датчикаZhenyaRUS39 писал(а):Не нашёл Retain в mqtt, где её искать?
В топиках только такие настройки.
Сами датчики на esp, и понять не могу где включается retain.
Re: Взаимодействие с Mqtt
Все верно. Это я неправильно выразился. Ищите в настройках топика.
Re: Взаимодействие с Mqtt
Временно сделал не самый лучший костыль - добавил в onNewMinute проверку вызов метода refresh у всех объектов класса реле. Но во первых это большая задержка, а я точно знаю что есть обработчик который реагирует на получение сообщений мгновенно. И во вторых это неправильно на мой взгляд и загромождает код.xneo писал(а):Как назначить выполнение методов объекта (привязанного к топику) при изменении статуса после получения нового значения?
Подробнее:
Имеется Relay1 у которого есть свойство status которое обновляется при обновлении топика Devices/Relay1. Так же у него есть методы turnOn и turnOff в которых выполняются команды.
При нажатии на объект на сцене или при переключении через меню всё корректно отрабатывает. Но вот при смене статуса (после получения новых данных из топика Devices/Relay1) - на сцене визуализация выполняется (меняется на вкл или выкл в зависимости от статуса), а методы не отрабатывают.
Где можно найти назначение статуса объекту при получении нового сообщения в топике? Я бы туда прикрутил бы refresh (в родительском классе описан этот метод и он выполняет другие в зависимости от статуса).
Ну или может быть есть какой то другой вариант взаимодействия?