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

Re: Обновление данных в панеле управления

Добавлено: Ср фев 15, 2017 1:27 am
woow
DimSun75 писал(а):
woow писал(а):
DimSun75 писал(а):Что за панель?
http:// ваш IP/admin.php?pd=pz_&md=panel&inst=&action=mqtt

и соответственно Терминал / консоль или как там ещё лицевая оболочка или интерфейс пользователя
DimSun75 писал(а): Какая прошивка в ESP?
А прошивка к чему? Если ESP отключена и её не стало.
Извиняюсь за мою тупость, но в чем вопрос? Нет esp - нет данных, цифры застываю. Включаете esp - данные появляются. Если так, то вроде все правильно работает

update:

А вот если нужно чтобы МЖД понимал достоверные данные или нет, то есть несколько путей решения вопроса:

1. Добавить esp в модуль "Устройства Online", и по наличию или отсутствию устройства определять достоверны ли данные
2. В классе, куда записываются полученные данные, добавить свойство alive, updated, updatedTime и метод примерно такого содержания:

Код: Выделить всё

 $this->setProperty("updated",time());
 $this->setProperty("updatedTime",date("H:i",time()));
 $this->setProperty("alive",1); 
 
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
 $alive_timeout=30*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); 
выбрав его в качестве метода при изменении у какого нибудь полученного свойства, например у давления. При этом esp должно выдавать давление с определенной периодичностью. Время $alive_timeout должно быть больше, чем период выдачи значения с esp. Теперь по значению свойства alive МЖД может определить достоверны ли данные или нет.
Эх не получилось, пока неработае ...

Re: Обновление данных в панеле управления

Добавлено: Ср фев 15, 2017 8:34 am
Bagir
Предлагаю потренироваться на специально созданном тестовом объекте, свойства которого не привязаны ни к чему. Выводите свойства alive и status, к примеру, на сцены, чтобы наглядно видеть их. Или просто следите за ними в X-Ray. Ставьте короткий период mySensorName.aliveTimeOut, к примеру, 10 (10 секунд). Затем, через строку браузера, вызывайте метод statusChanged и передавайте в свойство status что нибудь (без разницы, главное факт обновления данных). Ссылку можно скопировать в настройках метода вашего объекта: После передачи данных, свойство alive должно сразу быть равным 1. При этом запустится таймер на 10 секунд, который должен будет обнулить свойство alive, если за это время не поступят новые данные, которые перезапустят таймер. Вот так работает процедура контроля свойства alive.
После этих экспериментов, можно переносить полученный опыт на объект, привязанный к железу. Чуток разобраться и всё получится!

Re: Обновление данных в панеле управления

Добавлено: Ср фев 15, 2017 8:39 am
Bagir
Так же надо обратить внимание, что у метода объекта есть код из родительского класса, который обычно запускается первым, а уже потом запускается код из настройки метода самого объекта. Так вот, код, отвечающий за обновление свойства alive находится в настройках класса. Он одинаковый для всех методов объектов, поэтому и "вынесен за скобки так сказать".

Re: Обновление данных в панеле управления

Добавлено: Ср фев 15, 2017 10:14 am
woow
Ок. Спасибо, но только уже поздно вечером попробую, всё это реализовать. Меня всё покоя не даёт мысль, что не ужели за столько времени сколько существует МД не кому не возник этот вопрос, что прибор отключён, но мониторинг как бы ведётся и система этого не чувствует, а может выть там авария, тут многие толкует о датчиках загазованности, затопления, движения и т.д. Так всё это бесполезно, сядет батарейка, перегорит (сработает) защита питания, а "умный" ( в этом случае далеко не умный) дом докладывает что всё в норме- маразм. Надо не то что показания перестали идти, но даже некоторым позициям можно было выставлять режим алярма в виде SMS, вибрации...

Re: Обновление данных в панеле управления

Добавлено: Ср фев 15, 2017 10:26 am
DimSun75
Так я же описал все методы контроля на работоспособность датчиков. А уж дальше, что делать с результатом, все зависит от конкретной системы и каждый решает сам.

Отправлено с моего SM-G850F через Tapatalk

Re: Обновление данных в панеле управления

Добавлено: Пт фев 17, 2017 2:48 am
woow
DimSun75 писал(а):Так я же описал все методы контроля на работоспособность датчиков. А уж дальше, что делать с результатом, все зависит от конкретной системы и каждый решает сам.
я с вами согласен, что надо подождать, может, быть авторы этого проекта оценят эти замечания и добавят эту функцию.

Re: Обновление данных в панеле управления

Добавлено: Вт фев 21, 2017 11:50 am
woow
DimSun75 писал(а): А вот если нужно чтобы МЖД понимал достоверные данные или нет, то есть несколько путей решения вопроса:

1. Добавить esp в модуль "Устройства Online", и по наличию или отсутствию устройства определять достоверны ли данные
2. В классе, куда записываются полученные данные, добавить свойство alive, updated, updatedTime и метод примерно такого содержания:

Код: Выделить всё

 $this->setProperty("updated",time());
 $this->setProperty("updatedTime",date("H:i",time()));
 $this->setProperty("alive",1); 
 
$ot=$this->object_title;
$alive_timeout=(int)$this->getProperty("aliveTimeOut");
if (!$alive_timeout) {
 $alive_timeout=30*60;
}
clearTimeOut($ot."_alive");
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",$alive_timeout); 
выбрав его в качестве метода при изменении у какого нибудь полученного свойства, например у давления. При этом esp должно выдавать давление с определенной периодичностью. Время $alive_timeout должно быть больше, чем период выдачи значения с esp. Теперь по значению свойства alive МЖД может определить достоверны ли данные или нет.
Я пока далёк от понимания того, что вы тут описали. Пока у меня тестовый вариант МД. Сервер на RPi3 и ESP8266 данные с датчиков посылает, по MQTT протоколу, на сервер. Как бы там не было, но для меня это не понятно, испробовал всякие варианты, но результат тот же, данные обновляются только при поступлении по протоколу MQTT поступающие, но стоит отключить питание передатчику и тогда новые данные уже сервер не получает, но последние значение остаются, даже после reboot всей системы.
Тем более я не могу понять как такой вопрос не актуален всем кто использует эту систему МД. Может быть автор (авторы) обратят на это внимание что такая функция актуальна, чтобы извещала о потери связи или о прекращении поступлении данных с устройств, датчиков и т.п.