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

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

Модератор: immortal

Ответить
John
Сообщения: 38
Зарегистрирован: Пн ноя 10, 2014 1:52 pm
Благодарил (а): 12 раз
Поблагодарили: 0

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

Сообщение John » Вс ноя 03, 2019 11:38 pm

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

Заранее спасибо за ответ.
Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Пн ноя 04, 2019 3:03 pm

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

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

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

fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

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

Сообщение 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'] . ' открыто');
 }
}
За это сообщение автора fandaymon поблагодарил:
John (Пн ноя 04, 2019 9:39 pm)
Рейтинг: 1.16%
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

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

Сообщение Logrus » Пн ноя 04, 2019 4:28 pm

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
Сообщения: 38
Зарегистрирован: Пн ноя 10, 2014 1:52 pm
Благодарил (а): 12 раз
Поблагодарили: 0

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

Сообщение John » Пн ноя 04, 2019 9:43 pm

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

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

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

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

Сообщение xor » Вт ноя 05, 2019 12:19 am

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