Страница 2 из 4
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 8:39 pm
xor
Logrus писал(а):IrisKo писал(а): Вт мар 03, 2020 3:05 pm
Еще один вопрос возник. Можно ли как то таким же образом быстро и элегантно

поменять свойство (например статус) у всех девайсов определенного класса (например реле), которые привязаны к данной конкретной комнате?
конечно, в вашем варианте в цикле добавить условие на проверку линкедрум
в варианте групп ксора сложнее
Чегой-то сложнее? Если эта задачка постоянная, а не разовая- делаешь группу девайсов в комнате и всё)
Отправлено с моего Redmi 4X через Tapatalk
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 9:19 pm
Logrus
ну тс со своим разобралась, а с твоим сложнее
о чем и написал
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 9:28 pm
xor
Logrus писал(а): Вт мар 03, 2020 9:19 pm
ну тс со своим разобралась, а с твоим сложнее
о чем и написал
второй случай - уже надо два свойства проверять и тоже цикл писать. а если группы уже присутствуют в системе, всё так же делается одним махом по группе. не пойму, почему сложнее?
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 9:35 pm
Logrus
у тс по условиям проверка состояния и принадлежности, в ее варианте добавить в условие последнее
в твоем, я не говорю что это плохо, но первое условие или отдельно или сложнее, о чем собственно и сказал

Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 10:01 pm
xor
Logrus писал(а): Вт мар 03, 2020 9:35 pm
у тс по условиям проверка состояния и принадлежности, в ее варианте добавить в условие последнее
в твоем, я не говорю что это плохо, но первое условие или отдельно или сложнее, о чем собственно и сказал
тс:
Можно ли как то таким же образом быстро и элегантно

поменять свойство (например статус) у всех девайсов определенного класса (например реле), которые привязаны к данной конкретной комнате?
вот у меня как раз по условию тс - управляю одним махом и без цикла всеми реле в комнате Улица

- 2020-03-03_21-55-49.png (14.64 КБ) 3874 просмотра
но да, лучше, конечно, сначала циклы вручную пописать - для практики. что касается групп - это реклама для ленивых)
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 10:05 pm
Logrus
у тс в первом посту последний пример
ксор пошли в курилку, а?
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 11:17 pm
IrisKo
Logrus писал(а): Вт мар 03, 2020 4:15 pm
конечно, в вашем варианте в цикле добавить условие на проверку линкедрум
в варианте групп ксора сложнее
А как собственно выглядит эта самая проверка принадлежности к комнате?
Re: Не могу освоить перебор объектов по классу
Добавлено: Вт мар 03, 2020 11:19 pm
Logrus
аналогично gg($obj['TITLE'].'.autoOff')==0
только линкедрумс равно кухня
вы же про реле в пу класс контроллеры или вообщемв нем только реле
в ксловии проверка состояния && прилинкованная комната, если совпало то действие
Re: Не могу освоить перебор объектов по классу
Добавлено: Чт мар 05, 2020 11:11 am
IrisKo
Не совсем то. У меня сейчас в комнатах когда надо выключить весь свет запускается метод этой комнаты где я все лампочки перечисляю по имени и каждую выключаю, типо:
Код: Выделить всё
if(gg('lamp1.status')==1){
CallMethod('lamp1.turnOff');
}
if(gg('lamp2.status')==1){
CallMethod('lamp2.turnOff');
....
и так далее.
И когда появляется новая лампочка которую тоже надо выключать я лезу и редактирую этот метод - добавляю туда эту новую лампочку. А хотелось бы как то изящнее и автоматичнее чтоб все что есть в комнате выключилось если оно включено - какую то универсальную конструкцию что ли

Re: Не могу освоить перебор объектов по классу
Добавлено: Чт мар 05, 2020 11:47 am
Chainik
IrisKo писал(а): Чт мар 05, 2020 11:11 am
Не совсем то. У меня сейчас в комнатах когда надо выключить весь свет запускается метод этой комнаты где я все лампочки перечисляю по имени и каждую выключаю, типо:
Код: Выделить всё
if(gg('lamp1.status')==1){
CallMethod('lamp1.turnOff');
}
if(gg('lamp2.status')==1){
CallMethod('lamp2.turnOff');
....
и так далее.
И когда появляется новая лампочка которую тоже надо выключать я лезу и редактирую этот метод - добавляю туда эту новую лампочку. А хотелось бы как то изящнее и автоматичнее чтоб все что есть в комнате выключилось если оно включено - какую то универсальную конструкцию что ли
Добавьте к лампочке свойство "Room", или вроде того (если еще не добавляли). А потом при переборе объектов по классу проверяйте это свойство.
Естественно, когда будете запускать метод по перебору, надо будет туда передать нужный параметр ("Room"):
viewtopic.php?f=19&t=4291&start=11
viewtopic.php?f=19&t=4291&start=16
Еще, на мой взгляд, не надо проверять текущее состояние лампочек. Надо просто давать команду на выключение всем лампочкам, расположенным в одном помещении.