Страница 1 из 1

Пустая таблица history (нет последних данных)

Добавлено: Вс ноя 18, 2018 9:16 pm
kotbrs
Система стоит на Debian 9. Версия majordomo стоит последняя из стабильной ветки.

У части свойств датчиков стоит хранить историю (разное кол-во дней). Раз в сутки запускается Оптимизация.
В свойствах объекта присутствует значок H, при нажатии на него показывается список значений свойства.

Однако таблица history пустая.

Я пытаюсь в методе вытащить $params['OLD_VALUE'] и $params['NEW_VALUE'] - не выдает никакого результата.

В чем может быть причина пустой таблицы history? И не поэтому ли $params['OLD_VALUE'] и $params['NEW_VALUE'] - не выдает никакого результата?

Как исправить?

Re: Пустая таблица history (нет последних данных)

Добавлено: Пн ноя 19, 2018 12:49 pm
skysilver
kotbrs писал(а):
Вс ноя 18, 2018 9:16 pm
Однако таблица history пустая.
Где смотришь?
Если что, то исторические данные МДМ хранит в таблице phistory.
kotbrs писал(а):
Вс ноя 18, 2018 9:16 pm
Я пытаюсь в методе вытащить $params['OLD_VALUE'] и $params['NEW_VALUE'] - не выдает никакого результата.
В каком? Как? Пример кода? Как метод вызывается? Что ему передается при вызове? Что в XRay видно на вкладке Methods?
Сам-то пробовал на свой вопрос ответить при таких исходных данных?!

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 11:28 am
kotbrs
Сделал как расписано тут:
viewtopic.php?f=8&t=3823&hilit=%D0%BF%D ... =30#p52799

У меня отличие в наименовании свойств.
Не работает.
Изменения состояния GPIO передаются в свойства. Остальные свойства не изменяются.
Если убираю проверку if($params['NEW_VALUE']!=$params['OLD_VALUE']) с соответствующими скобками, то получаю в свойствах изменения в соответствии со значениям GPIO. НО эти изменения происходят как при изменении значения GPIO, так и при периодической передаче esp текущего состояния. Т.е. GPIO не изменило состояния, но сообщения о его состоянии все равно валятся.

Хочу чтоб весь метод отрабатывался только по изменению состояния GPIO.
Пытался в этом методе отлавливать в дополнительные свойства значение $params['NEW_VALUE'] и $params['OLD_VALUE'] - ничего не появляется в свойствах которые должны принимать значение этих переменных - просто пустота.

Куда копать - подскажите.

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 4:33 pm
fandaymon
kotbrs писал(а):
Сб ноя 24, 2018 11:28 am
Сделал как расписано тут:
viewtopic.php?f=8&t=3823&hilit=%D0%BF%D ... =30#p52799

У меня отличие в наименовании свойств.
Не работает.
Изменения состояния GPIO передаются в свойства. Остальные свойства не изменяются.
Если убираю проверку if($params['NEW_VALUE']!=$params['OLD_VALUE']) с соответствующими скобками, то получаю в свойствах изменения в соответствии со значениям GPIO. НО эти изменения происходят как при изменении значения GPIO, так и при периодической передаче esp текущего состояния. Т.е. GPIO не изменило состояния, но сообщения о его состоянии все равно валятся.

Хочу чтоб весь метод отрабатывался только по изменению состояния GPIO.
Пытался в этом методе отлавливать в дополнительные свойства значение $params['NEW_VALUE'] и $params['OLD_VALUE'] - ничего не появляется в свойствах которые должны принимать значение этих переменных - просто пустота.

Куда копать - подскажите.
А вот этот вот метод, он откуда вызывается? NEW_VALUE и OLD_VALUE передаются методу, который вызывается когда меняется какой-нибудь параметр. Если же ты просто запускаешь извне метод с какими-то параметрами - то конечно там не будет ни NEW_VALUE, ни OLD_VALUE

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 5:01 pm
kotbrs
Метод запускается когда приходят данные от esp. В настройка устройства ESP8266(Wifi-IoT) в связанное свойство укладывается состояние GPIO и вызывается метод. Вот это состояние я и хочу видеть в OLD_VALUE (предыдущее) и в NEW_VALUE (новое) значение через переменную $params. В связанных свойствах есть еще данные датчика температуры, влажности, давления, но там вызываются другие методы, каждый для своего параметра.
Еще раз - все сделано по образу как по ссылке
viewtopic.php?f=8&t=3823&hilit=%D0%BF%D ... =30#p52799

там есть картинки под спойлерами - вот ровно также, но с моими наименованиями.

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 5:37 pm
fandaymon
kotbrs писал(а):
Сб ноя 24, 2018 5:01 pm
Метод запускается когда приходят данные от esp. В настройка устройства ESP8266(Wifi-IoT) в связанное свойство укладывается состояние GPIO и вызывается метод. Вот это состояние я и хочу видеть в OLD_VALUE (предыдущее) и в NEW_VALUE (новое) значение через переменную $params. В связанных свойствах есть еще данные датчика температуры, влажности, давления, но там вызываются другие методы, каждый для своего параметра.
Еще раз - все сделано по образу как по ссылке
viewtopic.php?f=8&t=3823&hilit=%D0%BF%D ... =30#p52799

там есть картинки под спойлерами - вот ровно также, но с моими наименованиями.

Как он вызывается, метод этот?

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 5:58 pm
kotbrs
Как он вызывается, метод этот?
Вызывается метод кода приходят данные от ESP. Приходят каждые пять минут или при изменении значения нужного мне GPIO.
В настройках устройства ESP есть закладка Данные - там указывается какой метод вызывать когда пришли данные от конкретного (нужного мне) GPIO.
Вызывается стандартным скриптом из маркета дополнений из раздела Оборудование - ESP8266(Wifi-IoT)

Или я не понимаю вопроса.

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 6:18 pm
fandaymon
kotbrs писал(а):
Сб ноя 24, 2018 5:58 pm
Как он вызывается, метод этот?
Вызывается метод кода приходят данные от ESP. Приходят каждые пять минут или при изменении значения нужного мне GPIO.
В настройках устройства ESP есть закладка Данные - там указывается какой метод вызывать когда пришли данные от конкретного (нужного мне) GPIO.
Вызывается стандартным скриптом из маркета дополнений из раздела Оборудование - ESP8266(Wifi-IoT)

Или я не понимаю вопроса.
Не знаю как устроено конкретно в этом модуле, но в общем по МДМ - для того чтобы пользоваться параметрами NEW_VALUE и OLD_VALUE надо чтобы в настройках параметра класса объектов стоял вызывать метод при изменении - тогда в этом методе можно использовать NEW_VALUE и OLD_VALUE

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 6:37 pm
kotbrs
fandaymon писал(а):
Сб ноя 24, 2018 6:18 pm
kotbrs писал(а):
Сб ноя 24, 2018 5:58 pm

Не знаю как устроено конкретно в этом модуле, но в общем по МДМ - для того чтобы пользоваться параметрами NEW_VALUE и OLD_VALUE надо чтобы в настройках параметра класса объектов стоял вызывать метод при изменении - тогда в этом методе можно использовать NEW_VALUE и OLD_VALUE
Огромное спасибо! Заработало как мне надо. Я свято верил, что в модуле ESP8266 (Wifi-IoT), при указании метода осуществлялась передача NEW_VALUE и OLD_VALUE. Мне это казалось логичным.
Теперь мои мухи отделились от моих котлет.

Re: Пустая таблица history (нет последних данных)

Добавлено: Сб ноя 24, 2018 6:59 pm
fandaymon
kotbrs писал(а):
Сб ноя 24, 2018 6:37 pm
fandaymon писал(а):
Сб ноя 24, 2018 6:18 pm
kotbrs писал(а):
Сб ноя 24, 2018 5:58 pm

Не знаю как устроено конкретно в этом модуле, но в общем по МДМ - для того чтобы пользоваться параметрами NEW_VALUE и OLD_VALUE надо чтобы в настройках параметра класса объектов стоял вызывать метод при изменении - тогда в этом методе можно использовать NEW_VALUE и OLD_VALUE
Огромное спасибо! Заработало как мне надо. Я свято верил, что в модуле ESP8266 (Wifi-IoT), при указании метода осуществлялась передача NEW_VALUE и OLD_VALUE. Мне это казалось логичным.
Теперь мои мухи отделились от моих котлет.
Урааа! 8-) Да - посмотрел по коду, не отправляется старое значение в прилинкованный метод, там 2 параметра только - TITLE и VALUE