Страница 36 из 97
Re: [Модуль] MQTT (mqtt)
Добавлено: Ср янв 23, 2019 10:12 am
Ander
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 07, 2019 2:45 pm
pdfsen
Подскажите, пожалуйста, не могу найти как настроить в МДМ работу с двумя MQTT серверами ?
Например, один у меня стоит локально дома и работает со всеми девайсами в локальной сети.
А второй в CloudMQTT работает с девайсами в другом удаленном помещении.
И МДМ надо забирать данные с обоих MQTT серверов.
Re: [Модуль] MQTT (mqtt)
Добавлено: Пт фев 08, 2019 10:56 am
skysilver
Модуль работает только с одним брокером.
Делай бридж между двумя твоими брокерами.
Re: [Модуль] MQTT (mqtt)
Добавлено: Вс фев 10, 2019 8:55 pm
Andy111
День добрый!
Почему-то в MQTT из ESP8266 перестало приходить значение "0" (видимо NULL, т.е. отсутствует вообще что либо) , вот "1", "2" приходит, а "0", нет!
кусок кода такой:
char *stateChar = "2";
...
if (!digitalRead(_pin)) {state=0; stateChar = "0";}
else {state=1; stateChar = "1";}
...
client.publish(path2"/state", stateChar, true);
///////////
вариант dtostrf((state), 1, 0, stateChar); работает, но ранее в этом устройстве и в других аналогичных устройствах работало по первому варианту. Опасаюсь глюков с другими устройствами и на будущее...
Что не так?
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 14, 2019 6:35 am
FredP
Ander писал(а): Вт янв 22, 2019 5:44 pm
в модуле MQTT есть Связанный объект, его свойство и метод. Свойство содержит данные MQTT, тут все без проблем, а метод как запускается, когда приходят данные? У меня не работает!
Подтверждаю. Хочу запускать скрипт при получении нового значения. Метод не выполняется. Наверное, баг в модуле.
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 14, 2019 7:32 am
nick7zmail
Чтобы запускался метод при изменении свойства - надо его в классе связать с этим свойством.
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 14, 2019 7:53 am
FredP
nick7zmail писал(а): Чт фев 14, 2019 7:32 am
Чтобы запускался метод при изменении свойства - надо его в классе связать с этим свойством.
Ты говоришь о функционале самого мажордомо. А мы говорим о вызове метода из модуля mqTT при обновлении свойства.
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 14, 2019 8:05 am
nick7zmail
На самом деле мало модулей, которые вызывают выбранный метод самостоятельно))) По этому в моих модулях этого поля даже нет. Зачем, если можно связать метод со свойством...
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 14, 2019 10:40 am
Kvantos
nick7zmail писал(а): Чт фев 14, 2019 8:05 am
На самом деле мало модулей, которые вызывают выбранный метод самостоятельно))) По этому в моих модулях этого поля даже нет. Зачем, если можно связать метод со свойством...
вызов метода (при приходе сообщения) в этом модуле будет полезен, если данные приходят часто, и при этом не хочется каждый раз писать их в свойство (повышенная нагрузка на систему + износ флеша) - метод прочтет значение свойства и будет сравнивать с пришедшим значением, и только если оно изменилось запишет измененное свойство....
Re: [Модуль] MQTT (mqtt)
Добавлено: Чт фев 14, 2019 10:44 am
FredP
Ну, на счет повышенной нагрузки - хз... Считать старое, записать в переенную новое, сравнить. Или просто записать в свойство. По моему во втором случае нагрузки меньше. Да и вообще сам MQTT подразумевает асинхронность прихода сообщений. Клиент сам не должен отправлять сообщение если оно такое как и старое.
Именно по этому я и перешел на MQTT с modbus. В модбасе сделал опрос 50 переменных раз в секунду - мажородомо просто захлебнулся в 100% загрузки intel atom E3825 1.33 Ghz и все. А вот MQTT за счет исключения отправки повторных сообщений, уменьшил нагрузку до 20%. Сейчас обновляю 5-6 штук в секунду.
Износ флеша тоже мимо, ведь БД хранится в оперативке и пишется раз в 15 минут...
Тут было бы актуальнее выполнить код при приходе сообщения. Уменьшит трудозатраты ИМХО.