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

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Ответить
kotbrs
Сообщения: 18
Зарегистрирован: Сб авг 20, 2016 5:58 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение kotbrs » Вс ноя 18, 2018 9:16 pm

Система стоит на Debian 9. Версия majordomo стоит последняя из стабильной ветки.

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

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

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

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

Как исправить?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Пн ноя 19, 2018 12:49 pm

kotbrs писал(а):
Вс ноя 18, 2018 9:16 pm
Однако таблица history пустая.
Где смотришь?
Если что, то исторические данные МДМ хранит в таблице phistory.
kotbrs писал(а):
Вс ноя 18, 2018 9:16 pm
Я пытаюсь в методе вытащить $params['OLD_VALUE'] и $params['NEW_VALUE'] - не выдает никакого результата.
В каком? Как? Пример кода? Как метод вызывается? Что ему передается при вызове? Что в XRay видно на вкладке Methods?
Сам-то пробовал на свой вопрос ответить при таких исходных данных?!
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
kotbrs
Сообщения: 18
Зарегистрирован: Сб авг 20, 2016 5:58 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение 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'] - ничего не появляется в свойствах которые должны принимать значение этих переменных - просто пустота.

Куда копать - подскажите.
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Сб ноя 24, 2018 4:33 pm

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
kotbrs
Сообщения: 18
Зарегистрирован: Сб авг 20, 2016 5:58 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение 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

там есть картинки под спойлерами - вот ровно также, но с моими наименованиями.
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Сб ноя 24, 2018 5:37 pm

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

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

Как он вызывается, метод этот?
kotbrs
Сообщения: 18
Зарегистрирован: Сб авг 20, 2016 5:58 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение kotbrs » Сб ноя 24, 2018 5:58 pm

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

Или я не понимаю вопроса.
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Сб ноя 24, 2018 6:18 pm

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

Или я не понимаю вопроса.
Не знаю как устроено конкретно в этом модуле, но в общем по МДМ - для того чтобы пользоваться параметрами NEW_VALUE и OLD_VALUE надо чтобы в настройках параметра класса объектов стоял вызывать метод при изменении - тогда в этом методе можно использовать NEW_VALUE и OLD_VALUE
За это сообщение автора fandaymon поблагодарил:
kotbrs (Сб ноя 24, 2018 6:32 pm)
Рейтинг: 1.16%
kotbrs
Сообщения: 18
Зарегистрирован: Сб авг 20, 2016 5:58 pm
Благодарил (а): 3 раза
Поблагодарили: 2 раза

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

Сообщение 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. Мне это казалось логичным.
Теперь мои мухи отделились от моих котлет.
fandaymon
Сообщения: 1554
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение fandaymon » Сб ноя 24, 2018 6:59 pm

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
Ответить