Класс Yeelight\GenericDevice

Является основным классом для взаимодействия с устройствами Yeelight.

Класс создан на базе официальной документации.

Настройка параметров устройства производится с помощью массива параметров, полученных из пакетов обнаружения устройств. Для получения параметров из сетевого пакета может быть использован метод класса YeelightPacket::getParams(). Однако для управления лампами Yeelight достаточно одного установленного поля “location” значением вида “yeelight://192.168.1.100:55443”, где 192.168.1.100 - IP адрес устройства, 55443 - порт.

Соединение с лампой устанавливается во время отправки первой команды, после чего соединение остаётся активным до уничтожения объекта или отправки команды на разъединение.

Устройство поддерживает стандартные методы интерфейса Smarthome\DeviceInterface, которые необходимы, в основном, для работы системы.

Служебные методы класса Yeelight\GenericDevice

Основные методы для отправки команд класса Yeelight\GenericDevice

Имена методов состоят из части send и имени команды из документации Yeelight. Параметры для команд максимально упрощены, например резкое и плавное включение выбирается автоматически исходя из параметра длительность нарастания/затухания.

Все методы возвращают номер отправленной команды.

Параметр $duration определяет время эффекта затухания/нарастания. При значении равном 0 параметры изменяются без эффекта (sudden). При значении отличном от нуля применяется эффект (smooth). Время эффекта указывается в миллисекундах. Допускается указание времени эффекта от 30мс и более.

Стандартные методы интерфейсов

Кроме собственных методов класс поддерживает интерфейсы возможностей устройств \SmartHome\Device\Capability: