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

Статус системы "Кто-то есть" как настроить.

Добавлено: Вс июн 17, 2018 1:40 pm
VladPTZ
Класс OperationalModes
Для чего нужен?
Как, чем и где приключается?
На что влияет?
Как использовать?
Ищу по форуму информацию но пока нечего не понял.

Re: Класс OperationalModes

Добавлено: Вс июн 17, 2018 2:42 pm
Logrus
режимы работы (из коробки есть предустановленные, можно и нужно дабавлять свои)
запуск из коробки из таймера, в идеале под каждый режим выбрать оптимальное решение, таймер минутный, часовой, отдельные условия, ручной режим
влияет и использовать как настроишь

задавай четко вопросы по конкретному режиму и даже там масса вариантов, про все сразу в одном не описать

Re: Класс OperationalModes

Добавлено: Вс июн 17, 2018 3:03 pm
VladPTZ
Например у меня рядом с часами написано "Кто-то есть" хотя активности нет, кроме датчиков движение кто еще влияет на вывод этого сообщения?
Какой код заполняет свойства ThisComputer.somebodyHomeText и ThisComputer.HomeStatus ?

Какие условия нужно соблюсти чтобы писал "Не кого нет дома"
Это связано с режимом NobodyHomeMode ? Кем и в каких случаях включается режим NobodyHomeMode?

Re: Класс OperationalModes

Добавлено: Вс июн 17, 2018 3:15 pm
Logrus
это есть расписанное на форуме, к режимам работы отношение не прямое, т.ч. точно не в этой теме
в бз недавно статья про пу была, там ссылки на первоначальную и еще одну ветку про пу, во второй вопрос выше расписан
как собственно и в первой, но там страниц много

по режиму никого нет дома, рекомендую почитать в блоге (внизу ссылка на коннект, там выбери вкладку блог и найди статью), реализация у каждого может быть своя

Re: Класс OperationalModes

Добавлено: Вс июн 17, 2018 10:22 pm
VladPTZ
Logrus писал(а):
Вс июн 17, 2018 3:15 pm
по режиму никого нет дома, рекомендую почитать в блоге (внизу ссылка на коннект, там выбери вкладку блог и найди статью), реализация у каждого может быть своя
Сделал как написано в блоге.
"atHome Сейчас дома или нет (GPS) - с модуля gpstrack, запускать при изменении метод Home"
У меня atHome не меняется, нужно дописать в модуле трекера менять это свойство при выходе из геозоны дом?

Re: Класс OperationalModes

Добавлено: Вс июн 17, 2018 11:11 pm
Logrus
как хотите, у меня отдельными методами обрабатывается
только какое это имеет отношение к названию ветки )))

Re: Класс OperationalModes

Добавлено: Вс июн 17, 2018 11:54 pm
VladPTZ
Logrus писал(а):
Вс июн 17, 2018 11:11 pm
как хотите, у меня отдельными методами обрабатывается
только какое это имеет отношение к названию ветки )))
Переименовал ветку.

Re: Статус системы "Кто-то есть" как настроить.

Добавлено: Ср июл 25, 2018 10:11 am
VladPTZ
NobodyHomeMode у меня сам повторно включается через 50 минут при отсутствия активности в rooms в независимости от скриптов из блога https://connect.smartliving.ru/profile/1646/blog64.html, где задается и отключается эта функция? Предполагаю что тянется откуда то из простых устройств

Прокомментировал эту строку, но не помогло.

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

//Сброс "nobodyHome", "простые устройства"
//ClearTimeOut('nobodyHome');

Re: Статус системы "Кто-то есть" как настроить.

Добавлено: Ср июл 25, 2018 10:43 am
nightwind
VladPTZ писал(а):
Ср июл 25, 2018 10:11 am
NobodyHomeMode у меня сам повторно включается через 50 минут при отсутствия активности в rooms в независимости от скриптов из блога https://connect.smartliving.ru/profile/1646/blog64.html, где задается и отключается эта функция? Предполагаю что тянется откуда то из простых устройств

Прокомментировал эту строку, но не помогло.

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

//Сброс "nobodyHome", "простые устройства"
//ClearTimeOut('nobodyHome');
Предлагаю тебе не колупать простые устройства, а создать свой класс датчиков движения, и в onUpdate написать любую свою логику. А режимы включать через cm('NobodyHomeMode.activate'). ты же хозяин в своем доме, а не раб машины?

Re: Статус системы "Кто-то есть" как настроить.

Добавлено: Ср июл 25, 2018 10:48 am
nightwind
вот примерно так в onUpdate

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

$nv = $params['NEW_VALUE'];
$ot=$this->object_title;
$this->setProperty("updatedTime",NowFmt()); 

$this->setProperty('alive',1);
setTimeOut($ot."_alive","sg('".$ot.".alive',0);",24*60*60);

if ($nv == 1) {
 $this->setProperty('motionDetected',1);
 setTimeOut($ot.'_detected',"setGlobal('".$this->object_title.".motionDetected',0);",30);

 $linked_room=$this->getProperty('LinkedRoom');
 if ($linked_room!='')   callMethod($linked_room.'.onActivity');

 ClearTimeOut("nobodyHome");
 
 Debmes("MS: $ot движение, устанавливаю таймаут nobodyhome");
 
 SetTimeOut("nobodyHome","callMethod('NobodyHomeMode.activate');", 20*60); 
 if (getGlobal('NobodyHomeMode.active')) {
   callMethod('NobodyHomeMode.deactivate', ['room' => $linked_room, 'sensor' => $this->object_title ]);
 }
}
все элементарно, намного проще, чем простые устройства