Yeelight управление по lan

Обновлено: 07.07.2024

Итак, что же нужно чтобы управлять лампочкой (светильником, RGB-лентой) Yeelight:
1. Поставить на смартфон фирменное приложение Yeelight и в настройках включить режим разработчика.
2. Распаковать из прикрепленного архива библиотеку классов Yeelight_library.php в папку . /htdocs/modules/Yeelight/.
3. Создать сценарий поиска лампочек и формирования класса, объектов и методов для Majordomo, назовем его, например, searchYeelightBulb с нижеследующим кодом.

Запускать сценарий надо каждый раз для подключения новой лампочки. Сценарий ищет лампочки, определяет тип лампы, в зависимости от типа создает набор свойств и заполняет свойства значениями.

4. Также сценарий создает пустые методы, которые надо будет заполнить кодом из нижеследующего списка согласно имени метода:

5. Здесь у нас возникает вопрос: привязывать ли методы к изменению свойств? Думаю однозначно можно привязать метод set_name(установка имени устройства) к свойству name. Привязка остальных зависит от вашего желания иметь обратную связь.
6. По поводу обратной связи. Конечно лампочка подтверждает исполнение команды и мы это отслеживаем в методах.
Но полноценной обратной связи в данной реализации управления нет, т.е. если мы включим лампочку из приложения Yeelight со смартфона, статус ее в Majordomo не изменится. Что же делать?
Вариант первый - обратная связь не нужна, мы управляем лампочкой только через Majordomo. Привязываем исполнение всех методов к изменению соответствующих свойств и не паримся больше по этому поводу.
Вариант второй - можно периодически проверять состояние лампочек отдельным сценарием и обновлять свойства. Частоту запуска сценария выбираем исходя из компромисса между временем отображения изменений и нагрузкой сети.

7. Далее создаем пункты меню с контролами для управления. Здесь все типовое, единственно следует иметь ввиду, что если методы у нас не привязаны к свойствам, при настройке контрола указываем и свойство и метод. И аналогично при использовании в своих сценариях устанавливаем свойство и запускаем метод. А если привязаны - управляем только изменением свойств.

Смотрите также: Как управлять Yeelight с ПК с Windows

Требования:

(Вам нужен только один из приведенных ниже, а не оба)

  • Второе Android-устройство
  • Карманное WiFi-устройство

Поскольку это действительно сложно объяснить словами, вот краткая диаграмма того, что мы делаем:


Поэтому мы собираемся использовать точку доступа Android на втором телефоне Android (или в мобильном карманном WiFi-устройстве) и подключить к нему Yeelight и первый телефон Android.

Таким образом, чтобы выполнить это, выполните следующие действия именно в этом порядке:

  1. Создайте точку доступа Wi-Fi на втором устройстве Android или в мобильном карманном Wi-Fi и дайте ему SSID / пароль, который вы не будете использовать с этого момента.
  2. Откройте свой WiFi на первом устройстве Android и подключитесь к точке доступа, которую вы только что создали на другом.
  3. Запустите приложение Yeelight на первом устройстве Android и дайте ему возможность сканировать ближайшие устройства Yeelight.
  4. Когда он найдет устройства Yeelight, которые вы хотите добавить, введите SSID / пароль сети WiFi на втором устройстве Android / карманном WiFi.
  5. После успешного добавления устройства Yeelight в приложение Yeelight, поэкспериментируйте с ним и убедитесь, что оно работает.
  6. Теперь отключите ваше первое устройство Android от точки доступа WiFi и создайте новую точку доступа WiFi с тем же точным SSID / паролем, который вы использовали на другом устройстве.

Теперь, когда вы открываете мобильную точку доступа на своем главном устройстве Android, лампочка Yeelight должна подключиться к ней и поверить, что она подключена к исходной сети Wi-Fi, с которой вы настраивали все это!

Теперь вы можете даже загрузить программное обеспечение Yeelight Toolbox для ПК, подключить свой компьютер / ноутбук к точке доступа Android и управлять лампами Yeelight со своего компьютера! (Вам нужно включить LAN Control, чтобы это работало).


Чтобы включить управление по локальной сети, просто коснитесь устройства Yeelight в приложении Yeelight, затем нажмите стрелку вниз в правом нижнем углу и нажмите тумблер «Управление по локальной сети».

Обновление: один телефон и метод WLAN для Windows

Мы обновляем эту статью после обнаружения нового метода, для которого требуется только одно мобильное устройство, и создания точки доступа WiFi на вашем ПК с помощью USB-адаптера (или виртуального мини-порта Microsoft Wi-Fi).

Создайте точку доступа Wi-Fi на своем мобильном устройстве и разрешите компьютеру подключаться к нему.

Запустите командную строку (с правами администратора) на ПК с Windows и введите следующие команды:

В ssid = XXX и key = XXX вам нужно изменить X на точно такой же SSID и пароль мобильной точки доступа на вашем телефоне!

Теперь запустите приложение Yeelight на своем мобильном устройстве и выберите «Устройства> Добавить устройство».

Включите WiFi (это отключит точку доступа) на вашем мобильном устройстве и подключитесь к SSID, передаваемому вашими устройствами Yeelight.

Теперь в меню, где запрашивается сеть WiFi, введите SSID и пароль вашей мобильной точки доступа (которая также «клонируется» на вашем ПК).

Теперь, когда приложение Yeelight начнет обновляться, очень быстро отключите WiFi на своем телефоне и включите точку доступа. Это «обманет» ваши устройства Yeelights для подключения к вашей точке доступа, а также для просмотра вашего мобильного устройства в сети WLAN, поскольку ваш компьютер также транслирует эту точку доступа как сеть WiFi.


Лампа примечательна тем что не требует хаба Xiaomi, открыта для разработчиков и имеет свой API. Чтобы добавить устройство Yeelight в HomeKit нужно включить режим разработчика в программе Yeelight, и установить плагин для homebridge.

Включим режим разработчика

Если вы уже скачали приложения Yeelight, заходим в "Настройки системы". Выбираем нужную лампу, в моем случае это Yeelight (RGBW). Открывается страница управления лампы, дальше нажимаем на значок в виде треугольника и в меню выбираем "Управления по локальный сети". Включаем управление по локальной сети.



После того как мы включили режим разработчика можно приступить к установке плагина homebridge-yeelight.

Установка плагина homebridge-yeelight

Как подключится по SSH к Raspberry pi вы можете прочитать в этой статье. Вводим команду:


Если всё сделано правильно мы увидим следующее:

added 1 package in x.xxxs


Поздравляю, мы установили плагин для homebridge. Теперь нам нужно отредактировать config.json

Настройка доступа к файлам по SSH

Доступ к консоли конечно уже прогресс, но хотелось бы получить еще доступ к файлам более привычным способом. В этом нам поможет замечательная бесплатная программа WinSCP. Она позволяет организовать sFTP доступ по SSH каналу. Скачиваем программу WinSCP и запускаем ее.

Открывшем окно пишем


Имя хоста: IP адрес малина

Имя пользователя: логин

Если в малине включен root логин, то авторизуйтесь под ним. Так как иногда config.json редактируется только под root правами. После того как мы ввели ip адрес логин и пароль открывается менеджер winscp и сразу же идем "Параметры" -> "Настройки. " или на клавиатуре нажимаем Ctrl Alt P и попадаем в настройки. Нам нужно включить отображения скрытых файлов, нажимаем "Панели" в пункте "Общие" ставим галочку на "Показывать скрытые файлы" нажмем OK.


Далее мы идем в каталог .homebridge, на клавиатуре нажимаем Ctrl O и пишем в открывавшим окне /home/pi/.homebridge и нажмем ОК.


В этой папке нас интересует config.json, открываем его и пишем следующие:



После того как мы все ввели, сохраним config.json. Теперь нам нужно будет перезагрузить homebridge и добавить в Дом (HomeKit). Если вы уже добавили Homebridge в приложение Дом, то в «Комнате по умолчанию» автоматически появится аксессуар yeelight после перезагрузке homebridge.


Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.

Спасибо Yeelight под контролем ;)

Спасибо! Но уточню, что плагин Yeelight не требует записи о себе в config, но хуже не будет :)

Но нет гарантии что в очередной реинкарнации не потребует))) лучше перестраховаться )))

С лампой, на данный момент, есть следующая проблема: когда спариваешь лампу с приложением Yeelight (что бы включить dev-режим), лампа отваливается от Mi Home, где на неё возложены функции BLE-шлюза. Когда подключаешь ламу обратно к Mi Home, у неё сбрасывается dev-режим, и она отключается от Homebridge! Беда.

а я пользуюсь уже полгода

Отлично, спасибо автору!

Вот бы еще темами можно было управлять из "Домика" ^^

Это можно сделать

Этим же плагином? Интересует возможно ли реализовать управление из HomeKit и одновременно из MiHome. В моей конфигурации присутствует выключатель aqara с отвязанным реле(питание на лампе постоянно), а выключатель управляет лампой логической кнопкой. Насколько я понимаю, если мы включаем режим разработчика, лампа становится не доступна по Bluetooth и соответственно не доступна в MiHome, и работа сценариев тоже не доступна.
Или режим разработчика нужен только для того что бы достать API(token) и после можно вернуть обратно? Я этот момент не совсем понял..

Решение проблемы с подключением лампы.
Если не можете законнектить лампу через вай-фай роутер, то попробуйте создать точку доступа на другом сматфоне с именем и паролем аналогичным тому, что установлен на вашем домашнем роутере (роутер предварительно отключите), после этого попробуйте законнектить лампу (предварительно сбросив на ней настройки - 5 раз включая и выключая лампу, дождавшись когда она станет переливаться разными цветами и загорится белым цветом) используя вай-фай точки доступа второго смартфона.
После того как лампа привяжется к вашему приложению, отключаем точку доступа на втором смартфоне и включаем свой вай-фай роутер, далее уже можно управлять ей, используя вай-фай со своего роутера.
На iOS не работает только Android.

Чтоб разобраться в совместимости устройств Xiaomi надо прочитать далеко не одну страницу форума. Помимо региональных ограничений, существуют еще и ограничения на самом устройстве. Приведу пример: есть Bluetooth лампы Yeelight (которые умеют работать в Homekit) и есть Gateway 3 (который поддерживает и данные светильники и может быть мостом в умном доме Apple), но интегрировать их в систему он не может. Чтоб вы немного больше потратились, под брендом Yeelight выпустили отдельный Bluetooth Hub, о котором и поговорим в этой статье.

Фото шлюза

Давайте посмотрим, что из себя представляет сам шлюз и проверим его интеграцию с Apple Homekit.

Содержание статьи:

Комплектация и внешний вид

Поставляется в небольшой коробке:

Коробка Yeelight

Её размеры 103 x 103 x 65 мм, а вес 242 гр. Внутри нас ждет сам шлюз, адаптер питания и инструкция на китайском языке.

Что входит в комплект

Корпус прямоугольный с закругленными углами, выполнен из матово-белого ABS-пластика. Его размеры 84 x 84 x 21 мм.

Внешний вид шлюза

На лицевой стороне располагается только светодиодный индикатор состояния, который можно отключить. Все элементы управления и разъемы подключения находятся на задней стороне:

Шлюз с разъемом Ethernet

Кнопка Reset сбрасывает Wi-Fi подключение шлюза, для этого её надо зажать на 5 секунд. Кнопка Link включает и выключает светодиодный индикатор состояния. DC – разъем подключения адаптера питания. И последний разъем Ethernet.

Нижняя сторона полностью резиновая, с нанесенными техническими характеристиками и QR-кодом подключения к HomeKit:

Код подключения к HomeKit

Адаптер питания не только плох китайской вилкой, он еще имеет и не стандартный разъем, которому сложно найти замену. Непонятно, почему не стали использовать стандартные USB Type-C или Micro-USB. Кабель имеет длину 1 метр.

Адаптер питания для шлюза

Теперь посмотрим на технические характеристики и перейдем к подключению.

Технические параметры YLWG01YL

Информация на коробке:

specifications

И в виде таблицы на русском:

Производитель Yeelight
Модель Gateway BLE Mesh (YLWG01YL)
Материал корпуса Матово-белый огнеупорный пластик
Питание 100 - 240V 50-60Hz (5V 1A)
Рабочая температура от 0℃ до 40℃ при отн. влажности 5-95%
Модули связи Wi-Fi IEEE 802.11 b/g/n 2.4GHz, Bluetooth BLE
Габариты (корпус) 84 x 84 x 21 мм
Вес 135 гр

Yeelight Mesh Gateway

Несмотря на то, что шлюз поддерживает проводное подключение, его Wi-Fi имеет технологию 2x2 MIMO, что обеспечит более стабильную работу.

Чем отличается от других шлюзов

Надо понимать, что это один из Bluetooth шлюзов, протокола ZigBee в нем нет. Год назад я уже писал про аналогичное устройство под брендом ClearGrass, но в отличие от героя обзора, оно не поддерживает Mesh лампочки.

Можно вспомнить про универсальный Gateway 3, который поддерживает и Bluetooth Mesh и ZigBee одновременно, но пробросить точечные светильники в HomeKit Apple он не умеет.

Получается, что если у вас стоит задача использовать споты Yeelight в умном доме Apple, то без данного шлюза не обойтись. Если же просто необходим блютус хаб для других устройств, то проще будет взять 3 версию шлюза Mijia.

Подключение в Mi Home

Перейдем к добавлению устройства в приложении Mi Home. В первый раз я подключил шлюз по кабелю Ethernet, приложение мгновенно его увидело и подключило:

Как подключить в Mi Home

Подключение по Wi-Fi аналогично другим устройствам и проблем возникнуть не должно. Если вдруг шлюз не подключается, убедитесь, что используете сеть Wi-Fi 2.4GHz и на всякий случай сбросьте хаб кнопкой Reset. Да, работает только в китайском регионе.

Через пару минут в приложении отобразятся дочерние Bluetooth устройства:

Удаленное управление блютуз

Сразу возникает вопрос, а где Mesh лампы? Дело в том, что в отличии от простых блютуз устройств, месш подключается одновременно только к одному шлюзу (но автоматически переподключается к другому, когда связь потеряна). Я обнаружил свои светильники подключенными к будильнику:

bluetooth будильник

Но так в Хомкит я их не проброшу, поэтому для переподключения их к нужному шлюзу, я просто отключаю будильник от сети. Через пару минут светильники уже подключены к шлюзу Yeelight:

Как переподключить устройства

В дополнительный настройках мы сможем отключить светодиодный индикатор и обновить прошивку девайса:

Доп настройки

В сценариях шлюз участвовать не умеет.

Подключение ламп Yeelight в Apple HomeKit

В Homekit все стандартно, нам просто нужно нажать кнопку добавления устройства в приложении Дом и отсканировать QR-код на нижней стороне.

Как подключить в HomeKit

Добавится сам шлюз и моя группа светильников. После этого можно управлять ими при помощи Siri.

YLSD01YL

Но не все так просто, если вдруг лампы переключатся на другой Mesh шлюз (в моем случае это Gateway 3) то в Homekit они уйдут в оффлайн. Поэтому надо чтоб Yeelight Hub был ближе других.

Но в случае с 3 версией есть и обходное решение, надо просто в дополнительных настройках отключить функцию Mesh:

Отключение функции

После этого все работает стабильно, Siri управляется, в сценариях участвуют.

Читайте также: