Зайди в настройки метода этого объекта и посмотри настройки вызова родительского метода. У меня в какой то момент слетело на никогда. И режим перестал включаться.mad82 писал(а):Подскажите как после обновления включить режим nobodyhomemode. Раньше включался командой callMethod('NobodyHomeMode.activate');
Ещё немного обновлений
Модератор: immortal
-
- Сообщения: 291
- Зарегистрирован: Вт ноя 18, 2014 11:43 pm
- Откуда: Краснодарский край
- Благодарил (а): 32 раза
- Поблагодарили: 68 раз
Re: Ещё немного обновлений
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
CONNECT: http://connect.smartliving.ru/profile/311
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: Ещё немного обновлений
Озвучу только свою точку зрения:sergejey писал(а):"Инжекции" это на данный момент оптимальный вариант дополнения исполняемого кода в уже существующих методах и они не ограничивают вас в написании собственного кода. Дополнительный код от "простых устройств" не влияет на работу системы, если устройств как таковых не создавалось.
Простые устройства важны, полезны и понижают порог вхождения в систему для новичков. Но в уже действующих системах нередко (судя по форуму, не только у меня) меняется поведение давно отлаженных вещей. Мне пришлось создать новый класс myRooms вместо Rooms, вот с NightMode тоже выяснилось, что я вкладывал в этот объект один смысл, а по идеологии Простых устройств - там другое.
viewtopic.php?f=7&t=3574&start=320#p64296.
Перед каждым новым обновлением в мастер-ветке я уж начал смотреть внимательно на исходники (что само по себе, конечно, неплохо).
Вот бы было здорово, чтобы Простые устройства бы влияли на какие-нибудь Простые объекты.
Чтобы Простой детектор движения влиял на активность в Простой комнате и в Простом Статусе системы НикогоНетДома и тд.
Таким образом сформируется единое множество устройств, объектов, свойств и методов (Простых, или лучше сказать - Стандартных), которые Сергей может развивать как ему видится. Круг этих сущностей будет чётко очерчен.
А пользователи системы уж подстроятся.
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 72
- Зарегистрирован: Чт июл 07, 2016 11:44 am
- Благодарил (а): 10 раз
- Поблагодарили: 8 раз
Re: Ещё немного обновлений
Сергей, ни в коем случае. Функционал нужный для новичков.sergejey писал(а):Ребят, я не очень понимаю, что вы так ополчились на "простые устройства"..
Влияет. Я ничего не прописывал в "простых устройствах" и не разу их не привязывал ни к чему. Где то там в "простых устройствах" зарыта логика что если в комнате есть движение, нужно отключить "режим никого нет дома" и "режим экономии".sergejey писал(а):Дополнительный код от "простых устройств" не влияет на работу системы, если устройств как таковых не создавалось.
Меня немного такая логика не устраивает. У меня постоянная "движуха" в доме ее кошка создает. Поэтому классе Room прописано условие в режиме охраны не реагировать на движение. Конечно можно прописать в датчиках не реагировать в "режиме охрана", но мне желательно знать где эта бестия шляется.
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: Ещё немного обновлений
Может, в интерфейсе как-то метить, что такой-то объект, свойство, метод и тд находится "под влиянием" простых устройств, как сделано типа linked to commands?
win10 connect https://connect.smartliving.ru/profile/303
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Ещё немного обновлений
Я кажется понял проблему. Да, действительно, в функционале простых устройств есть инъекции в код объектов, которые были в системе традиционно. Я добавлю возможность отключить весь функционал простых устройств.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Ещё немного обновлений
Я добавил в пример конфига опцию отключение обработчиков от простых устройств. Для этого надо в /config.php добавить:sergejey писал(а):Я кажется понял проблему. Да, действительно, в функционале простых устройств есть инъекции в код объектов, которые были в системе традиционно. Я добавлю возможность отключить весь функционал простых устройств.
Код: Выделить всё
Define('DISABLE_SIMPLE_DEVICES',1);
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: Ещё немного обновлений
Но сами-то простые устройства останутся (хотелось бы - да)?
Эта опция только иньекций будет касаться?
Эта опция только иньекций будет касаться?
win10 connect https://connect.smartliving.ru/profile/303
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Ещё немного обновлений
Эта опция касается всего функционала простых устройств. Если она установлена в 1, то считайте, что этот модуль не работает вовсе.xor писал(а):Но сами-то простые устройства останутся (хотелось бы - да)?
Эта опция только иньекций будет касаться?
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 4
- Зарегистрирован: Ср сен 20, 2017 9:41 am
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: Ещё немного обновлений
у меня из-за инъекции простых устройств перестал работать функционал игнорирования некоторых сенсоров движения, активирующих движение (чтобы не считать движением спальню и коридор), из-за этого перестал отрабатывать скрипт Grreting (доброе утро) при первом зарегистрированном утром движении вне игнорируемого периметра.
вызвано это безусловным (при любом движении) вызовом метода NobodyHome.deactivate в классе простых устройств Rooms_onActivity.
предложение для следующей версии (сейчас уже сам подправлю класс) - добавить параметр IgnoreMovement в класс Rooms и проверять его перед вызовом отключения режима "Никого нет дома" (callMethodSafe('NobodyHomeMode.deactivate').
возможно, будет полезно многим
вызвано это безусловным (при любом движении) вызовом метода NobodyHome.deactivate в классе простых устройств Rooms_onActivity.
предложение для следующей версии (сейчас уже сам подправлю класс) - добавить параметр IgnoreMovement в класс Rooms и проверять его перед вызовом отключения режима "Никого нет дома" (callMethodSafe('NobodyHomeMode.deactivate').
Код: Выделить всё
if ($this->getProperty("IgnoreMovement")) {
return;
}
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Ещё немного обновлений
В настройках датчика движения в простых устройствах уже есть опция "Игнорировать события от устройства, когда никого нет дома". Собственно, оно как раз для того и предназначено. У меня есть ряд очень чувствительных датчиков, которые на кота реагируют, для них я как раз эту галочку выставляю и тогда сработка этих датчиков не будит дом.alternative_4 писал(а):у меня из-за инъекции простых устройств перестал работать функционал игнорирования некоторых сенсоров движения, активирующих движение (чтобы не считать движением спальню и коридор), из-за этого перестал отрабатывать скрипт Grreting (доброе утро) при первом зарегистрированном утром движении вне игнорируемого периметра.
вызвано это безусловным (при любом движении) вызовом метода NobodyHome.deactivate в классе простых устройств Rooms_onActivity.
предложение для следующей версии (сейчас уже сам подправлю класс) - добавить параметр IgnoreMovement в класс Rooms и проверять его перед вызовом отключения режима "Никого нет дома" (callMethodSafe('NobodyHomeMode.deactivate').
возможно, будет полезно многимКод: Выделить всё
if ($this->getProperty("IgnoreMovement")) { return; }
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги