Страница 1 из 1
Проверка состояния окон и дверей
Добавлено: Вс ноя 03, 2019 11:38 pm
John
И снова простите за простые вопросы, чайник есть чайник )))
Возникла следующая проблема, при выходе из дома есть кнопка выключения всего света, хочется, чтобы при её нажатии еще и срабатывал сценарий проверки всех окон на открытость и если что-то открыто, то система перечислила голосом все открытые окна.
Перебрать все объекты класса OpenClose и вычленить открытые.
Как это можно реализовать кодом?
Может у кого-то уже реализовано?
Заранее спасибо за ответ.
Re: Проверка состояния окон и дверей
Добавлено: Пн ноя 04, 2019 3:03 pm
xor
John писал(а):И снова простите за простые вопросы, чайник есть чайник )))
Возникла следующая проблема, при выходе из дома есть кнопка выключения всего света, хочется, чтобы при её нажатии еще и срабатывал сценарий проверки всех окон на открытость и если что-то открыто, то система перечислила голосом все открытые окна.
Перебрать все объекты класса OpenClose и вычленить открытые.
Как это можно реализовать кодом?
Может у кого-то уже реализовано?
Заранее спасибо за ответ.
Посмотрите функцию getObjectsByProperty()
Отправлено с моего Redmi 4X через Tapatalk
Re: Проверка состояния окон и дверей
Добавлено: Пн ноя 04, 2019 3:42 pm
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'] . ' открыто');
}
}
Re: Проверка состояния окон и дверей
Добавлено: Пн ноя 04, 2019 4:28 pm
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'] . ' открыто');
}
}
или вообще перечислить об!екты в массиве, вместо получения их по классу
Re: Проверка состояния окон и дверей
Добавлено: Пн ноя 04, 2019 9:43 pm
John
Огромное спасибо, все получилось!!!
Единственно, я добавил в объект новое свойство с нужным текстом для озвучивания и вставляю его
Код: Выделить всё
$objects=getObjectsByClass("SOpenClose");
foreach($objects as $obj) {
if (getGlobal($obj['TITLE'].".status")==0) {
$desc=getGlobal ($obj['TITLE'].".desc");
say("$desc открыто",2);
}
}
Re: Проверка состояния окон и дверей
Добавлено: Вт ноя 05, 2019 12:19 am
xor
Да, так лучше. getObjectsByProperty() хороша там, где название свойства не такое популярное.