Страница 8 из 97

Re: Предложения по доработке модуля MQTT

Добавлено: Ср май 24, 2017 12:32 pm
dioxin
Думаю эти данные хранятся в базе модуля mqtt и достать их можно с помощью запросов к этой базе, но это гемор, проще узнавать время обновления так:
Связать принимаемые данные с новым объектом, при обновлении этого объекта будет запускаться метод который и запишет время приема данных.
Вот пример:
SPOILERSPOILER_SHOW
2017-05-24_12-32-53.jpg
2017-05-24_12-32-53.jpg (46.57 КБ) 7604 просмотра
В методе можно написать нечто подобное:
setGlobal ('Timer.time_read_mqtt', timeNow());
Думаю суть ясна?

Re: Предложения по доработке модуля MQTT

Добавлено: Ср май 24, 2017 1:00 pm
Gelezako
да, спасибо, сделал через связанный метод, вроде заработало!

Re: Предложения по доработке модуля MQTT

Добавлено: Пт май 26, 2017 12:39 am
Gelezako
к сожалению работает не так как я ожидал, метод выполняется только тогда когда приходит какое-то значение, а я как раз и хотел использовать время для того что бы определять что с датчиком что-то случилось. Т.е. получается что моя проверка при условии что данные не приходят никогда не сработает если время длитеное время не обновляется. Идеальным вариантом было бы иметь возможность привязать к переменной значение времени, так же как это делается и к значениею с датчика.

Re: Предложения по доработке модуля MQTT

Добавлено: Пт май 26, 2017 7:01 am
dioxin
Ну так проверяем время последнего получения данных и если оно старое(например старее чем стоит отправка данных с датчика), значит с датчика не приходят данные.
Или вместе с данными датчика отправляем на mqtt и время.

Re: Предложения по доработке модуля MQTT

Добавлено: Пт май 26, 2017 12:43 pm
Gelezako
ну вот в том-то и дело что я не могу достучатся до времени последнего получения данных, это поле сейчас нельзя связать со свойством, а можно только значение

Re: Предложения по доработке модуля MQTT

Добавлено: Пт май 26, 2017 1:33 pm
dioxin
Так кто у Вас отсылает данные с датчиков на MQTT сервер?
Я так понимаю majordomo только принимает их с mqtt?
Не зная вашего хозяйства, варианта пока 2:
1- Тупо парсить страницу http://ваш_адрес_majordomo/admin.php?pd=pz_&md=panel&inst=&action=mqtt
2- Тащить данные из базы db_terminal таблица mqtt

Второй вариант предпочтительней... phpmyadmin в помощь
Вот мануал по работе с БД в MD http://majordomo.smartliving.ru/Main/Pr ... ngDatabase

Re: Предложения по доработке модуля MQTT

Добавлено: Пт май 26, 2017 4:09 pm
Gelezako
dioxin писал(а):Так кто у Вас отсылает данные с датчиков на MQTT сервер?
arduino+ethernet shied+MQ2, ну наверно отсылает шилд, сначала на mqtt брокер, а потом МДМ стягивает от брокера данные т.к. подписан на все топики.
dioxin писал(а): Я так понимаю majordomo только принимает их с mqtt?
верно, менять ему без надобности
dioxin писал(а): Не зная вашего хозяйства, варианта пока 2:
1- Тупо парсить страницу http://ваш_адрес_majordomo/admin.php?pd=pz_&md=panel&inst=&action=mqtt
2- Тащить данные из базы db_terminal таблица mqtt

Второй вариант предпочтительней... phpmyadmin в помощь
Вот мануал по работе с БД в MD http://majordomo.smartliving.ru/Main/Pr ... ngDatabase
честно говоря я начал смотреть в другую сторону, ковырял плагин что бы соорудить привязку к свойству, так же как это сделано для значения. Так проще всего, но пока скила пхп не хватает разобрать код Сергея, вот надеюсь что он прочитает тему и даст направление. Для него это дело нескольких минут, а для меня дни :)

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 5:40 am
dioxin
Ну так пусть ваш arduino+ethernet shied и отправляет время считывания датчика вместе с показаниями на mqtt.

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 2:47 pm
Gelezako
dioxin писал(а):Ну так пусть ваш arduino+ethernet shied и отправляет время считывания датчика вместе с показаниями на mqtt.
Вы не поняли какую задачу которую я хочу решить. Сейчас попробую описать что бы было понятно в чём моя проблема. Время последнего прихода данных, мне нужно для того что бы понять что датчик нормально работает и данные обновляются. Если значение исправно приходит, то и время постонно обновляется. Т.е. если время, которое отображается в MQTT модуле больше чем текущее время скажем на 5 мин, то это значит что данные с датчика перестали приходить и нужно выдать сообщеньку мол поломалось, надо чинить. Безмысленно мне отсылать время в ардуины, которое и так не дойдёт если что-то произойдёт с датчиком. Так же безсмысленно вешать на метод обработчик т.к. он не сработает если данные перестанут приходить.

Re: Предложения по доработке модуля MQTT

Добавлено: Сб май 27, 2017 3:42 pm
dioxin
Ну так я же давал решение.
Просто в методе который вызывается при обновлении данных дополнительно вставить проверку последнего обновления данных с датчика и дополнительно вызывать этот метод раз в пару минут.
Поняли суть?
Ну или ковырять модуль mqtt. Там нужно найти фунцию отправки данных в базу и сделать дополнительный вывод в объект UPDATED.