Страница 1 из 1

Как узнать текущее значение переключателя в сцене?

Добавлено: Пт апр 10, 2020 8:10 pm
knik777
Всем привет!
Не нашел ответа в базе знаний, хотя знаю, что вопрос ерундовый. Подскажите пожалуйста.

Краткое описание "что имеем":

Создал выключатель "весь свет" в сцене. Нужно, чтобы выключатель одновременно управлял сразу 4мя свойствами объектов:
k1.light1state
k2.light1state
k2.dimmer1state
k3.light1state
Если меняем значение выключателя, то его значение присваивается всем 4м свойствам, указанным выше. Если ноль, значит ноль. Если 1, значит 1.

Как это реализовать в мажордомо?
Чувствую, что нужно использовать команду setGlobal('k1.lightstate",1);

Есть два вопроса:
1) Как прочитать текущее состояние переключателя в сцене?
2) Как по событию "изменение состояния переключателя" запустить сценарий смены значений для указанных 4х свойств объектов?

Re: Как узнать текущее значение переключателя в сцене?

Добавлено: Пт апр 10, 2020 8:27 pm
Chainik
knik777 писал(а):
Пт апр 10, 2020 8:10 pm
...
Есть два вопроса:
1) Как прочитать текущее состояние переключателя в сцене?
2) Как по событию "изменение состояния переключателя" запустить сценарий смены значений для указанных 4х свойств объектов?
Поскольку объект выключателя у вас "сложный" (управляет сразу несколькими другими объектами), то ассоциировать его состояние с каким-то из управляемых объектов непродуктивно.

Можете для объекта выключателя создать отдельный собственный объект, у которого будет свойство, обозначающее состояние выключателя ("State"). Вот это Объект.Свойство и привяжите к выключателю. Узнать состояние выключателя, соответственно:

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

gg("ИМЯ_ВАШЕГО_ОБЪЕКТА_ДЛЯ_ВЫКЛЮЧАТЕЛЯ.State");
У выключателя должно быть 2 состояния (для "включить" и для "выключить"), поскольку действия будут различные.
Можно даже сценарий отдельный не писать. А просто для каждого состояния прописать код. Для состояния "включено":

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

sg("k1.light1state",0);
sg("k2.light1state",0);
sg("k2.dimmer1state",0);
sg("k3.light1state",0);
И для состояния "выключено":

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

sg("k1.light1state",1);
sg("k2.light1state",1);
sg("k2.dimmer1state",1);
sg("k3.light1state",1);

Re: Как узнать текущее значение переключателя в сцене?

Добавлено: Пт апр 10, 2020 8:32 pm
knik777
Спасибо! Разобрался!
Хитрость была в том, чтобы создать еще один объект, который привязать к нарисованному выключателю!
Помогло :)