Проверка состояния окон и дверей

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

Модератор: immortal

Ответить
John
Сообщения: 43
Зарегистрирован: Пн ноя 10, 2014 1:52 pm

Проверка состояния окон и дверей

Сообщение John »

И снова простите за простые вопросы, чайник есть чайник )))
Возникла следующая проблема, при выходе из дома есть кнопка выключения всего света, хочется, чтобы при её нажатии еще и срабатывал сценарий проверки всех окон на открытость и если что-то открыто, то система перечислила голосом все открытые окна.
Перебрать все объекты класса OpenClose и вычленить открытые.
Как это можно реализовать кодом?
Может у кого-то уже реализовано?

Заранее спасибо за ответ.
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Проверка состояния окон и дверей

Сообщение xor »

John писал(а):И снова простите за простые вопросы, чайник есть чайник )))
Возникла следующая проблема, при выходе из дома есть кнопка выключения всего света, хочется, чтобы при её нажатии еще и срабатывал сценарий проверки всех окон на открытость и если что-то открыто, то система перечислила голосом все открытые окна.
Перебрать все объекты класса OpenClose и вычленить открытые.
Как это можно реализовать кодом?
Может у кого-то уже реализовано?

Заранее спасибо за ответ.
Посмотрите функцию getObjectsByProperty()

Отправлено с моего Redmi 4X через Tapatalk

fandaymon
Сообщения: 1576
Зарегистрирован: Сб янв 13, 2018 5:00 pm

Re: Проверка состояния окон и дверей

Сообщение fandaymon »

xor писал(а): Пн ноя 04, 2019 3:03 pm
John писал(а):И снова простите за простые вопросы, чайник есть чайник )))
Возникла следующая проблема, при выходе из дома есть кнопка выключения всего света, хочется, чтобы при её нажатии еще и срабатывал сценарий проверки всех окон на открытость и если что-то открыто, то система перечислила голосом все открытые окна.
Перебрать все объекты класса OpenClose и вычленить открытые.
Как это можно реализовать кодом?
Может у кого-то уже реализовано?

Заранее спасибо за ответ.
Посмотрите функцию getObjectsByProperty()

Отправлено с моего Redmi 4X через Tapatalk
getObjectsByClass для этой цели лучше подойдёт

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

$objects=getObjectsByClass("SOpenClose");
foreach($objects as $obj) {
 if (getGlobal($obj['TITLE'].".status")==1) {
   say($obj['TITLE'] . ' открыто');
 }
}
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm

Re: Проверка состояния окон и дверей

Сообщение Logrus »

fandaymon писал(а): Пн ноя 04, 2019 3:42 pm
xor писал(а): Пн ноя 04, 2019 3:03 pm
John писал(а):И снова простите за простые вопросы, чайник есть чайник )))
Возникла следующая проблема, при выходе из дома есть кнопка выключения всего света, хочется, чтобы при её нажатии еще и срабатывал сценарий проверки всех окон на открытость и если что-то открыто, то система перечислила голосом все открытые окна.
Перебрать все объекты класса OpenClose и вычленить открытые.
Как это можно реализовать кодом?
Может у кого-то уже реализовано?

Заранее спасибо за ответ.
Посмотрите функцию getObjectsByProperty()

Отправлено с моего Redmi 4X через Tapatalk
getObjectsByClass для этой цели лучше подойдёт

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

$objects=getObjectsByClass("SOpenClose");
foreach($objects as $obj) {
 if (getGlobal($obj['TITLE'].".status")==1) {
   say($obj['TITLE'] . ' открыто');
 }
}
или вообще перечислить об!екты в массиве, вместо получения их по классу
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
John
Сообщения: 43
Зарегистрирован: Пн ноя 10, 2014 1:52 pm

Re: Проверка состояния окон и дверей

Сообщение John »

Огромное спасибо, все получилось!!!
Единственно, я добавил в объект новое свойство с нужным текстом для озвучивания и вставляю его

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

$objects=getObjectsByClass("SOpenClose");
foreach($objects as $obj) {
 if (getGlobal($obj['TITLE'].".status")==0) {
$desc=getGlobal ($obj['TITLE'].".desc");
   say("$desc открыто",2);
 }
}
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: Проверка состояния окон и дверей

Сообщение xor »

Да, так лучше. getObjectsByProperty() хороша там, где название свойства не такое популярное.
Ответить