Detritus/Dee/Dozy – выключатели света – настройка MajorDoMo

Ранее

Объекты

Класс CLightControl:

Здесь statuRaw, status и switchStatus – это свойства автоматически обновляемые из MQTT и методами класса – для последующего использования в интерфейсе и скриптах
cmd – команда привязанная к MQTT

Пример метода turnOn:

// send to MQTT, to the 'cmd' topic
setGlobal($this->object_title.'.'.'cmd','1');

Пример метода toggleState:

$status = $this->getProperty('status');
if ($status == 1) {
 $this->callMethod('turnOff');
} else {
 $this->callMethod('turnOn');
}

Также определяются объекты данного класса:

Конфигурация MQTT

Каждая пара cmd и status имеет соответсвующую привязку к свойствам cmd и sta каждого из объектов:

Использование

Собственно использование заключается в вызове методов turnOn, turnOff, toggleState при желаемых событиях, а также отображение статуса из свойств status и switchStatus, либо привязка скриптов на смену данных свойств.

Например у меня скрипт управления ролетами запускается автоматически при ряде событий, в числе которых каждая смена статуса освещения – это позволяет автоматически закрывать/открывать ролеты в сумерках в зависимости от того включен ли свет в помещении.

Эмуляция присутсвия дома в режиме отпуска – периодический вызов turnOn/turnOff по расписанию.

Также на плане помещений добавлено управление и графическое отображение статуса из status:

Добавить комментарий