Выключить всё

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

Выключить всё

Сообщение olegvolk75 » Пн сен 04, 2017 11:52 am

Всем привет!
Подскажите, т.к. поиск не помог. Как пользоваться кнопкой "выключить всё" на сцене из образа Сергея? Точнее, где и что надо указать для конкретного устройства из класса реле, что бы при нажатии этой кнопки реле отключалось.
Спасибо!
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Выключить всё

Сообщение skysilver » Пн сен 04, 2017 11:57 am

Вероятно, к этой кнопке привязан сценарий turnOffEverything. Вот его код:

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

$objects=array('Switch1','Switch2','Switch3');
foreach($objects as $o) {
 callMethod($o.'.turnoff');
} 
Перебирает три объекта Switch и последовательно вызывает метод turnoff у каждого.
За это сообщение автора skysilver поблагодарил:
olegvolk75 (Пн сен 04, 2017 12:53 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Выключить всё

Сообщение nick7zmail » Пн сен 04, 2017 12:17 pm

skysilver всё верно говорит)). Нужно в массив $objects только вписать свои объекты, которые хотите выключать по кнопке (у которых, естественно должен быть метод turnoff).
За это сообщение автора nick7zmail поблагодарил:
olegvolk75 (Пн сен 04, 2017 12:53 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

Re: Выключить всё

Сообщение olegvolk75 » Пн сен 04, 2017 12:53 pm

Вот, теперь понятно.
А у класса Reley есть свойство "allOffGroup", оно отношение к "выключить всё" не имеет? Ставил там единичку, не работало.
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Выключить всё

Сообщение nick7zmail » Пн сен 04, 2017 1:03 pm

Класс relays на самом деле уже устарел немного. Пользуйтесь дополнением "Простые устройства", и классом sdevices

Отправлено с моего Xperia Z через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: Выключить всё

Сообщение skysilver » Пн сен 04, 2017 1:05 pm

olegvolk75 писал(а):А у класса Reley есть свойство "allOffGroup", оно отношение к "выключить всё" не имеет? Ставил там единичку, не работало.
Имеет, но работает не так. Это свойство позволяет сгруппировать объекты по какому-то признаку, чтобы затем выключать/включать группы целиком. В частности allOffGroup объединяет те объекты, которые нужно выключить при активации режима экономии EconomMode.activate

Разделив таким образом на группы, можно выключать все объекты группы таким кодом:

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

$objects=getObjectsByProperty('allOffGroup','=','1');
if (is_array($objects)) {
 foreach($objects as $obj) {
  callMethod($obj.'.turnOff');
 }
} 
Т.е. найти все объекты, у которых группа равна "1" и выполнить у них метод turnOff.
За это сообщение автора skysilver поблагодарил:
olegvolk75 (Вт сен 05, 2017 9:14 am)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm
Благодарил (а): 50 раз
Поблагодарили: 15 раз

Re: Выключить всё

Сообщение olegvolk75 » Пн сен 04, 2017 3:52 pm

А в чем отличие, в двух словах, класса Relays от простых объектов и sdevices?
Спасибо за лекбез!
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Выключить всё

Сообщение nick7zmail » Пн сен 04, 2017 4:10 pm

Relays старый класс в объектах, с базовыми зависимостями...не более...
Sdevices отлично настроенное дерево классов (помимо реле там есть всевозможные датчики, и т.п.), связанных между собой зависимостями, действиями, и т.п., к тому же с удобным интрефейсом настройки в виде модуля "Простые устройства" в панели управления (а так же с базовой интеграцией в дашборд, Apple Homekit, и возможной перспективной интеграцией в другие системы).
За это сообщение автора nick7zmail поблагодарил:
olegvolk75 (Вт сен 05, 2017 9:14 am)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
zarro
Сообщения: 29
Зарегистрирован: Вс мар 20, 2016 11:55 am
Благодарил (а): 12 раз
Поблагодарили: 6 раз

Re: Выключить всё

Сообщение zarro » Пн окт 12, 2020 7:25 pm

ИМХО Нужен универсальный алгоритм или комманда выключения вообще всех устройств в системе! Как аварийный стоп-кран. Причем, с контролем выполнением и обработчиком ошибок. Типо нажал "оключить все" и при вызове этой функции, система сама найдет и отключит все что можно отключить, затем проверит выполнение и при не срабатывании или вообще отсутствии обратной связи выдаст предупредлдение что не удалось отключить....
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Выключить всё

Сообщение nick7zmail » Пн окт 12, 2020 7:27 pm

zarro писал(а):
Пн окт 12, 2020 7:25 pm
ИМХО Нужен универсальный алгоритм или комманда выключения вообще всех устройств в системе! Как аварийный стоп-кран. Причем, с контролем выполнением и обработчиком ошибок. Типо нажал "оключить все" и при вызове этой функции, система сама найдет и отключит все что можно отключить, затем проверит выполнение и при не срабатывании или вообще отсутствии обратной связи выдаст предупредлдение что не удалось отключить....
А как система определит что "можно отключить" а что нельзя?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить