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

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

Модератор: immortal

Ответить
olegvolk75
Сообщения: 141
Зарегистрирован: Сб мар 11, 2017 7:03 pm

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

Сообщение olegvolk75 »

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

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

Сообщение skysilver »

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

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

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

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

Сообщение nick7zmail »

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

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

Сообщение olegvolk75 »

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

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

Сообщение nick7zmail »

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

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

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

Сообщение skysilver »

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

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

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

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

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

Сообщение olegvolk75 »

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

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

Сообщение nick7zmail »

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

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

Сообщение zarro »

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

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

Сообщение nick7zmail »

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