Ранее
Объекты
Класс 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: