Ещё немного обновлений

Новые релизы, обновления и т.п.

Модератор: immortal

zelevova
Сообщения: 291
Зарегистрирован: Вт ноя 18, 2014 11:43 pm
Откуда: Краснодарский край
Благодарил (а): 32 раза
Поблагодарили: 68 раз

Re: Ещё немного обновлений

Сообщение zelevova » Пн ноя 27, 2017 12:00 am

mad82 писал(а):Подскажите как после обновления включить режим nobodyhomemode. Раньше включался командой callMethod('NobodyHomeMode.activate');
Зайди в настройки метода этого объекта и посмотри настройки вызова родительского метода. У меня в какой то момент слетело на никогда. И режим перестал включаться.
Majordomo (GitHub) на cubietruck + MegaD + 1-wire
CONNECT: http://connect.smartliving.ru/profile/311
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 632 раза

Re: Ещё немного обновлений

Сообщение xor » Пн ноя 27, 2017 1:09 am

sergejey писал(а):"Инжекции" это на данный момент оптимальный вариант дополнения исполняемого кода в уже существующих методах и они не ограничивают вас в написании собственного кода. Дополнительный код от "простых устройств" не влияет на работу системы, если устройств как таковых не создавалось.
Озвучу только свою точку зрения:
Простые устройства важны, полезны и понижают порог вхождения в систему для новичков. Но в уже действующих системах нередко (судя по форуму, не только у меня) меняется поведение давно отлаженных вещей. Мне пришлось создать новый класс myRooms вместо Rooms, вот с NightMode тоже выяснилось, что я вкладывал в этот объект один смысл, а по идеологии Простых устройств - там другое.
viewtopic.php?f=7&t=3574&start=320#p64296.

Перед каждым новым обновлением в мастер-ветке я уж начал смотреть внимательно на исходники (что само по себе, конечно, неплохо).


Вот бы было здорово, чтобы Простые устройства бы влияли на какие-нибудь Простые объекты.
Чтобы Простой детектор движения влиял на активность в Простой комнате и в Простом Статусе системы НикогоНетДома и тд.

Таким образом сформируется единое множество устройств, объектов, свойств и методов (Простых, или лучше сказать - Стандартных), которые Сергей может развивать как ему видится. Круг этих сущностей будет чётко очерчен.

А пользователи системы уж подстроятся.
ARTik
Сообщения: 72
Зарегистрирован: Чт июл 07, 2016 11:44 am
Благодарил (а): 10 раз
Поблагодарили: 8 раз

Re: Ещё немного обновлений

Сообщение ARTik » Вт ноя 28, 2017 11:53 am

sergejey писал(а):Ребят, я не очень понимаю, что вы так ополчились на "простые устройства"..
Сергей, ни в коем случае. Функционал нужный для новичков.
sergejey писал(а):Дополнительный код от "простых устройств" не влияет на работу системы, если устройств как таковых не создавалось.
Влияет. Я ничего не прописывал в "простых устройствах" и не разу их не привязывал ни к чему. Где то там в "простых устройствах" зарыта логика что если в комнате есть движение, нужно отключить "режим никого нет дома" и "режим экономии".
Меня немного такая логика не устраивает. У меня постоянная "движуха" в доме ее кошка создает. Поэтому классе Room прописано условие в режиме охраны не реагировать на движение. Конечно можно прописать в датчиках не реагировать в "режиме охрана", но мне желательно знать где эта бестия шляется.
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 632 раза

Re: Ещё немного обновлений

Сообщение xor » Вт ноя 28, 2017 9:23 pm

Может, в интерфейсе как-то метить, что такой-то объект, свойство, метод и тд находится "под влиянием" простых устройств, как сделано типа linked to commands?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение sergejey » Ср ноя 29, 2017 8:55 pm

Я кажется понял проблему. Да, действительно, в функционале простых устройств есть инъекции в код объектов, которые были в системе традиционно. Я добавлю возможность отключить весь функционал простых устройств.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение sergejey » Ср ноя 29, 2017 10:19 pm

sergejey писал(а):Я кажется понял проблему. Да, действительно, в функционале простых устройств есть инъекции в код объектов, которые были в системе традиционно. Я добавлю возможность отключить весь функционал простых устройств.
Я добавил в пример конфига опцию отключение обработчиков от простых устройств. Для этого надо в /config.php добавить:

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

Define('DISABLE_SIMPLE_DEVICES',1); 
После этого никакой код из простых устройств не будет выполняться. Инъекции не будут добавляться, а уже добавленные не будут ничего делать.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 632 раза

Re: Ещё немного обновлений

Сообщение xor » Ср ноя 29, 2017 11:31 pm

Но сами-то простые устройства останутся (хотелось бы - да)?
Эта опция только иньекций будет касаться?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Ещё немного обновлений

Сообщение sergejey » Чт ноя 30, 2017 9:17 am

xor писал(а):Но сами-то простые устройства останутся (хотелось бы - да)?
Эта опция только иньекций будет касаться?
Эта опция касается всего функционала простых устройств. Если она установлена в 1, то считайте, что этот модуль не работает вовсе.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
alternative_4
Сообщения: 4
Зарегистрирован: Ср сен 20, 2017 9:41 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Ещё немного обновлений

Сообщение alternative_4 » Чт ноя 30, 2017 9:42 am

у меня из-за инъекции простых устройств перестал работать функционал игнорирования некоторых сенсоров движения, активирующих движение (чтобы не считать движением спальню и коридор), из-за этого перестал отрабатывать скрипт Grreting (доброе утро) при первом зарегистрированном утром движении вне игнорируемого периметра.
вызвано это безусловным (при любом движении) вызовом метода 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: Ещё немного обновлений

Сообщение sergejey » Чт ноя 30, 2017 10:57 am

alternative_4 писал(а):у меня из-за инъекции простых устройств перестал работать функционал игнорирования некоторых сенсоров движения, активирующих движение (чтобы не считать движением спальню и коридор), из-за этого перестал отрабатывать скрипт Grreting (доброе утро) при первом зарегистрированном утром движении вне игнорируемого периметра.
вызвано это безусловным (при любом движении) вызовом метода NobodyHome.deactivate в классе простых устройств Rooms_onActivity.

предложение для следующей версии (сейчас уже сам подправлю класс) - добавить параметр IgnoreMovement в класс Rooms и проверять его перед вызовом отключения режима "Никого нет дома" (callMethodSafe('NobodyHomeMode.deactivate').

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

if ($this->getProperty("IgnoreMovement")) {
return;
} 
возможно, будет полезно многим
В настройках датчика движения в простых устройствах уже есть опция "Игнорировать события от устройства, когда никого нет дома". Собственно, оно как раз для того и предназначено. У меня есть ряд очень чувствительных датчиков, которые на кота реагируют, для них я как раз эту галочку выставляю и тогда сработка этих датчиков не будит дом.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Закрыто