Как управлять yeelight с пк с windows

Обновлено: 03.07.2024

Прошлым летом, когда началась неразбериха с рублём, я решил купить себе что-нибудь забавное, чего в нормальных ценовых условиях никогда не купил бы. Выбор пал на умную управляемую светодиодную лампу "Luminous BT Smart Bulb", про которую, собственно, прочитал до этого здесь же. По-хорошему, для начала нужно было бы купить смартфон с BLE , но на тот момент я не беспокоился о таких мелочах. Лампа приехала, мы немного поигрались с ней на работе, она оказалась довольно прикольной. Но я не мог управлять ею дома, поэтому она отправилась на полку. Один раз, правда, я одолжил лампу коллеге на день рождения маленького ребёнка.

Так продолжалось пока я случайно не узнал, что на моём ноутбуке как раз установлен чип Bluetooth 4.0. Я решил использовать этот факт как-нибудь для управления лампочкой. Программа-минимум — научиться включать/выключать лампочку, устанавливать произвольный цвет или выбирать один из заданных режимов. Что из этого вышло — читайте под катом.

Всё описанное ниже выполнялось на OS Linux Mint 17. Возможно, существуют другие способы работы с BLE стеком. И помните, я не несу ответственность за ваше оборудование.

Разведка боем

Бегло погуглив, я понял, что для работы с BLE в Linux существует команда gatttool , входящая в состав пакета bluez . Но нужно использовать последние версии bluez — 5.x .

У меня bluez не был установлен вообще, а в репозиториях лежит 4.x , поэтому я ставил из исходников. На тот момент последней была версия 5.23 .

С первого раза ./configure вряд ли завершится успешно: необходимо доставить некоторые пакеты.

В моём случае доустановить нужно было следующее:

Для пакета libudev-dev пришлось явно задать версию для соответствия уже установленной libudev .

Прямо из коробки bluez поддерживает интеграцию с systemd , которой у меня нет. Поэтому поддержку пришлось выключить флагом --disable-systemd .

Ага, я в курсе про checkinstall

Собирается bluez довольно быстро. После сборки у меня-таки появилась заветная команда gatttool и даже кое-как работала. Можно двигаться дальше.

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

Пробуем соединиться (нужно использовать MAC-адрес из первого столбца):

Итак, на этом этапе я убедился, что соединение с лампочкой с ноутбука — это реальность, а значит дальше надо было искать способы управления. На самом деле, я начал экспериментировать с лампой сразу же, как только соединился с ней и лишь потом прочитал про GATT — протокол, используемый BLE-устройствами. Нужно было поступить наоборот, это сэкономило бы много времени. Поэтому приведу тут абсолютный минимум, необходимый для понимания.

Краш-курс по BLE

В интернете есть небольшая, но хорошая статья на эту тему, и лучше чем в ней я не расскажу. Рекомендую ознакомиться.

Вкратце, BLE-устройства состоят из набора сервисов, которые, в свою очередь, состоят из набора характеристик. Сервисы бывают первичные и вторичные, но это не используется в лампочке. У сервисов и у характеристик есть хэндлы и уникальные идентификаторы (UUID). До прочтения вышеозначенной статьи я не понимал зачем нужны две уникальные характеристики. Ключевая фишка (очень пригодится для понимания кода ниже) в том, что UUID — это тип сервиса / характеристики, а хэндл — это адрес, по которому происходит обращение к сервису / характеристике. Т.е. на устройстве может быть несколько характеристик с каким-то типом (например, несколько термодатчиков, с одинаковыми UUID, но разными адресами). Даже на двух разных устройствах могут быть характеристики с одинаковыми UUID и эти характеристики должны вести себя одинаково. Многие типы имеют закреплённые UUID (например 0x2800 — первичный сервис, 0x180A — сервис с информацией о девайсе и т.д.).

Посмотреть все сервиса / характеристики устройства в gatttool можно командами primary и characteristics соответственно. Прочитать данные можно командой char-read , записать — char-write . Запись и чтение производятся по адресам (хэндлам). Собственно, управление любым BLE-устройством происходит через запись характеристик, а путём их чтения мы узнаём статус устройств.

В целом, этого должно быть достаточно для понимания принципов управления лампой.

Первые шаги

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

Изначально я полагал, что достаточно будет снять дампы всех-всех данных с лампы в разных состояниях, сравнить их, и сразу станет понятно что за что отвечает. На деле это оказалось не так. Единственной реально меняющейся от дампа к дампу характеристикой были внутренние часы. Всё же, я приведу код снятия дампа:

Из интересного: в снятых дампах можно рассмотреть производителя BLE чипа — "SZ RF STAR CO.,LTD.".

Придётся искать другие пути. Я очень не хотел копаться в мобильных приложениях (не силён в Android и вообще не понимаю в iOS), поэтому я вначале спросил совета у умных дядей на StackOverflow. Никто не ответил и я решил спросить у разработчика приложения под Android. Он тоже не ответил. Оказалось, что в маркете присутствует сразу несколько одинаковых приложений (судя по скриншотам) для управления подобными лампами. Ребята из SuperLegend ответили мне и даже выслали какую-то доку, но, к сожалению, она была не от моей лампочки. Я это выяснил, сравнивая UUID сервисов в коде декомпилированного приложения и в доке. Я сравнил декомпилированный код обоих приложений и он абсолютно одинаковый, возможно мне просто выслали документацию от другой лампы. Переспрашивать я как-то не отважился. Значит, остаётся лишь вариант анализа декомпилированного кода.

Исследование кода

Немного о собственно реверс-инжиниринге. Ни для кого не секрет, что для исследования Android-приложений используются два инструмента — apktool и dex2jar . apktool "разбирает" APK на составляющие: ресурсы, XML-дескрипторы и исполняемый код. Но это не Java-классы, а специальный байт-код — smali. Некоторые утверждают, что он читается проще, чем Java, но я родился слишком недавно, чтобы понимать это без словаря. Тем не менее, ресурсы, извлечённые apktool 'ом пригодятся в дальнейшем. Для получения привычных class-файлов используется dex2jar . После этого классы можно декомпилировать обычным декомпилятором. Пользуясь случаем, хотелось бы порекомендовать любой из свежих декомпиляторов: Procyon, CFR или FernFlower. Привычные JAD'ы и прочие JD просто устарели! Ещё я пробовал Krakatau, но этот, похоже, слишком сыроват.

Обычно я использую Procyon, но он плохо переварил входные классы. Код многих методов представлял собой кашу из именованных меток и ничего нельзя было понять. Некоторые методы не поддавались разбору вообще. Как раз в то время ребята из JetBrains открыли свой декомпилятор на Github (FernFlower, за что им отдельное спасибо) и я попробовал его. Он оказался хорош! На выходе получался довольно адекватный Java-код. Правда, он тоже не смог декомпилировать некоторые части, которые, к счастью, оказались по зубам Procyon и CFR. Я взял за основу анализа результат работы FernFlower, а недостающие части заменил теми же кусками из CFR / Procyon (выбирал те, что покрасивее).

Небольшой урок, который я вынес из декомпиляции обфусцированных Android приложений: использовать встроенные в dex2jar средства деобфускации кода. Дело в том что имена классов и методов при сборке Android приложения сокращаются до ничего не значащих одно- и двухбуквенных. dex2jar умеет расширять их до трёх- и пятисимвольных строк, что позволяет проще ориентироваться по коду. Procyon, ЕМНИП, умеет делать то же самое сам по себе. Ещё при использовании Procyon полезной окажется опция -ei , включающая явные импорты и запрещающая использование конструкций типа import a.b.c.* — гораздо проще работать со статическими методами (коих хватает). FernFlower и CFR по умолчанию не используют такие импорты.

Итак, APK скачана в рабочую папку, декомпилируем:

Я прошёлся по коду и заменил все вхождения $FF: Couldn't be decompiled на тот же код, сгенерированный другими декомпиляторами. Затем я открыл код в IntelliJ IDEA с Android плагином, настроил Android SDK (нужную версию можно узнать в выхлопе apktool ) и, вуаля!, можно разбираться.

Да, и вот с этим придётся работать

Обратите внимание, характеристики ищутся по UUID (типам), так как адреса могут быть разными на разных лампах (не забыли краш-курс по BLE?).

Я потратил несколько вечеров, переименовывая методы во что-нибудь значащее, типа find_FE03_Characteristic или setAndWrite_FFE9 , и просто изучая случайные куски кода. Логика начала потихоньку проясняться.

Стало понятно, что те два класса ( C149c и C144f ) — это своего рода подключения к лампочкам. Похоже, на каждую лампочку создаётся экземпляр подключения и через него происходит общение с лампой. Почему два класса?

Этот код вызывается для каждого обнаруженного девайса. Похоже, существует два типа ламп. Имена первых начинаются с "LEDBlue" или "LEDBLE". Имена вторых — не начинаются. Для работы с "LEDBlue" / "LEDBLE" лампами используется класс C149c , для работы с остальными — C144f . Имя моей лампочки — "LEDnet-4C2A0E4A", значит она относится ко второму типу ламп. Ещё я заметил в паре мест сравнение версии устройства с константой "3". Если версия больше трёх — используется класс С114f (второй тип ламп). Что ж, повод считать, что у меня лампа последних версий. Далее по тексту я буду называть "LEDBlue" и "LEDBLE" лампы "старыми", а остальные — "новыми".

Весь код пестрит synchronized -блоками ( MONITOREXIT — декомпиляции не поддаётся), wait 'ами и notify 'ями. То ли это результат декомпиляции, то ли под Android так принято писать, то ли автор… Ещё много Observable 'ов. Будь он даже не обфусцирован — читался бы сложно.

Ага! Читаем характеристику с типом FFF3 и узнаём, включена ли лампа. Проверяем на лампочке (ну когда уже там практика по расписанию?): если там записано 0xFF , значит лампа включена. Скоро мы научимся выключать лампу программно и узнаем, что в выключенном состоянии там хранится 0x3B .

Здесь и далее будем использовать неинтерактивный режим gatttool (без флага -I ). Адреса характеристик можно узнать из дампа.

Я намеренно опускаю классы, приводя код методов. Названия у вас будут другими, так что искать лучше по магическим константам.

Обратите внимание, как задаются значения для записи (параметр -n ) — просто строка, по два символа на байт, никаких префиксов типа 0x .

Нужно отправлять [0xCC, (0x23|0x24), 0x33] в характеристику с типом FFE9 . Я не уверен, что 0x23 == вкл, а 0x24 == выкл. Проверить мне не на чем.

Итак, с питанием всё понятно. Разберёмся, как задавать произвольный статичный цвет. Присматриваясь к коду, замечаем непереименованный класс LEDRGBFragment , видим там следующее:

Отправляем [0x56, <red>, <green>, <blue>, 0x00, 0xF0, 0xAA] в характеристику с типом FFE9 (вообще, похоже, это основная характеристика для управления лампочкой) и цвет меняется на произвольный. В классе C152n есть ещё несколько похожих методов, но те байты не возымели эффекта на лампу.

Рядом с LEDRGBFragment лежит ещё один подозрительный класс — LEDWarmWhileFragment . Он посылает похожую последовательность ( [0x56, 0x00, 0x00, 0x00, <value>, 0x0F, 0xAA] ) всё в ту же характеристику:

Опытным путём я установил, что это белый цвет с заданной яркостью. "Warm While", хе-хе. Я бы сказал, что тут налицо очепятка и физическая неточность. Под словом "warm" (цветовая температура?) я понимал немного другое. В принципе, того же эффекта можно достичь записывая "оттенки серого" в RGB.

Так что там с предустановленными режимами? Посмотрим на ресурсы, вытянутые apktool 'ом:

Далее, ищем числовые эквиваленты имён:

Ищем по коду любой id (не забываем, что после декомпиляции все числа представлены в десятичном виде). Находится одно совпадение. Трёхходовочка, немного рефакторинга и, вуаля!, список предустановленных режимов у нас на руках:

Дальше всё просто. Смотрим Call Hierarchy (о, как я полюбил эту фичу за последнее время) этого метода, попадаем в некий LEDFunctionsFragment , а там:

Третьим байтом тут задаётся скорость работы режима. 0x01 — самая быстрая смена цветов, 0x1F — самая медленная. Моя лампочка принимает значения и больше 0x1F и работает ещё медленнее.

Программа-минимум выполнена! Конечно, полный функционал лампы гораздо шире; это видно и по коду, и по инструкции. Лампа умеет включаться / выключаться / менять режимы по расписанию и прикидываться цветомузыкой. Пока что я не анализировал этот функционал. Правда, для включения и выключения по расписанию на лампе есть часы, формат которых довольно простой, поэтому приведу наработки ниже.

Часы в "новых" лампах "расположены" в характеристике с типом FE01 . В коде она используется и для чтения, и для записи. Сразу приведу код и пример его использования (в отдельном groovysh ):

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

На старых лампах часы задаются с помощью всё той же характеристики FFE9 . Там вообще любая запись данных происходит в эту характеристику, а чтение — из FFE4 .

Напоследок

Управлять лампочкой из консоли не очень удобно, так что, возможно, при наличии свободного времени я продолжу баловаться с ней на более высоком уровне. На C++ наверно вряд ли смогу написать что-нибудь запускаемое, но обёртки над libbluetooth есть даже под node.js, так что надежда есть.

И видео, как это работает, чтоб не думали, что это какое-то шарлатанство. Прошу прощения за дыхоту и качество — снимал на девайс из pre-BLE эпохи:

Настройка умной Wi-Fi лампочки Yeelight LED Light Bulb от китайской компании Ксиаоми.


Устройства умного дома постепенно встраиваются в нашу жизнь. Пройдёт ещё много времени до того момента, когда мы увидим полноценные системы умного дома в России, доступные по цене любому желающему. На данный момент простому пользователю сделать свой дом или квартиру полностью умными дорого и практически невозможно без привлечения подрядчиков или заказа проекта, но уже сегодня можно попробовать сделать своё жилище уютнее с помощью умных розеток, лампочек, светильников, датчиков движения и камер наблюдения, доступных по цене.

Мы уже писали об умной розетке tp-link и об умной лампочке tp-link, а в этой статье настроим умную лампочку Сяоми Yeelight и покажем как ей управлять. Компания Сяоми выпускает большое количество разнообразных умных устройств для дома. Лампочки и светильники от Yeelight, дочерней компании Сяоми, очень популярны в России и мире, и являются недорогой альтернативой лампочкам Philips Hue.

Содержание

Новая Яндекс Станция Мини с Алисой и экраном с часами

Как настроить умную лампочку Xiaomi Yeelight

В линейку Yeelight входят осветительные приборы на любой вкус: лампы, светильники, ночники, ленты. Все умные устройства Yeelight НЕ ТРЕБУЮТ покупки Zigbee-хаба Xiaomi Smart Home Gateway и подключаются к вашей домашней сети напрямую через Wi-Fi. Для настройки мы приобрели цветную лампочку Yeelight LED Light Bulb Color с возможностью изменения цвета в полном RGB диапазоне (16 миллионов цветов), также можно управлять яркостью и теплотой освещения от очень мягкого тёплого (1700 Кельвин) до холодного дневного (6500 Кельвин). Эта инструкция подходит и для всех остальных моделей лампочек Yeelight:

  • Xiaomi Yeelight LED Bulb White
  • Xiaomi Yeelight LED Bulb II White
  • Xiaomi Yeelight LED Bulb II Color

Средняя стоимость Yeelight LED Bulb Color 1300 рублей. Посмотреть детальные характеристики, отзывы и купить умные лампочки Xiaomi Yeelight вы можете в Яндекс Маркете или на AliExpress.

После того, как вы распаковали и вкрутили лампочку в цоколь, вам необходимо скачать мобильное приложение «Yeelight». Это приложение понадобится нам для настройки лампочки и для управления лампочкой с андроида или айфона.



Также приложение Yeelight необходимо для включения удалённого доступа, для настройки работы по расписанию, для настройки работы с IFTTT и некоторых других функций.

Для настройки умной лампочки Yeelight вам необходимо ваше мобильное устройство, на котором вы будете вести настройку, подключить к Wi-Fi сети.





Возможности умной Wi-Fi лампочки Xiaomi Yeelight

Как сбросить настройки умной лампочки Xiaomi Yeelight

Чтобы сбросить умную лампочку Xiaomi Yeelight до заводских настроек:

  1. Выключите переключатель освещения.
  2. Включите и выключите переключатель освещения 5 раз. Не торопитесь, на каждое включение и выключение тратьте 2-3 секунды.
  3. Лампочка замигает, через 5 секунд перезапустится и загорится белым цветом. Это означает, что настройки лампочки были сброшены до значений по умолчанию.

Управление голосом через Siri и Google Assistant

Все лампочки и светильники от компании Yeelight поддерживают голосовое управление через Google Assistant из Андроида или из умных колонок от Google. Для этого нужно установить приложение Google Home и добавить там ваш аккаунт Xiaomi, как показано в видео:

Голосовое управление из Сири на айфоне и HomePod возможно через Быстрые команды Siri Shortcuts. Как это настроить можно посмотреть в другом нашем видео:

А новые лампочки Yeelight Smart Bulb 2 уже совместимы с Apple HomeKit из коробки и вы можете напрямую добавить в приложение Дом на iOS.

Где купить умную лампочку Xiaomi Yeelight

Посмотреть детальные характеристики, отзывы и купить умные лампочки Xiaomi Yeelight вы можете на AliExpress или в Яндекс Маркете.

YouTube канал

Если у вас есть вопросы, оставляйте их в комментариях. Подпишитесь на YouTube канал и Telegram канал, чтобы быть в курсе об умном доме и голосовых помощниках.

Каталог компании Xiaomi насчитывает большое число необычных и полезных устройств, включая «умные» лампочки, управляемые со смартфона. Несмотря на простоту в эксплуатации, их подключение нередко вызывает у пользователей некоторые трудности.

Мы подготовили для вас небольшую инструкцию о том, как подключить «умную» лампочку Xiaomi Yeelight LED Smart Light Bulb Color . Следуя простым указаниями, вы сможете осуществить синхронизацию девайса со смартфоном и полностью раскрыть потенциал изделия.

Как подключить Xiaomi Yeelight LED Smart Light Bulb Color к смартфону

После распаковки лампочки и вкручивания ее в цоколь, вам надо активировать Wi-Fi на смартфоне, зайти в магазин приложений (App Store, «Play Маркет») и найти там приложение Yeelight.

Если у вас имеется собственный Mi-аккаунт, то просто авторизуйтесь, введя логин и пароль. Если учетной записи Xiaomi у вас нет, нажмите на кнопку «Создать аккаунт» или же используйте свой профиль Facebook.

Завершите авторизацию, зайдите в «Настройки системы» и нажмите на строку «Добавить устройство». В появившемся перечне найдите «Yeelight LED-лампа» и нажмите «Продолжить». Yeelight может запросить доступ к использованию GPS, предоставьте ей это право для корректной работы.

После этого вам понадобится выбрать MAC-адрес подключаемого устройства и еще раз нажать на кнопку «Продолжить». При отсутствии необходимого пункта в списке попробуйте сбросить настройки лампочки (инструкция чуть ниже) и провести всю процедуру заново.

Далее вам нужно будет ввести пароль от домашней Wi-Fi-сети и нажать на кнопку «Далее». Спустя пару минут синхронизация будет успешно завершена.

Как настроить лампочку «Сяоми»

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

Если вы нажмете на изображение лампочки, то перед вами откроется окно с различными опциями:

  • Включение/Отключение;
  • Регулировка яркости;
  • Выбор шаблонов работы;
  • Настройка теплоты света в пределах 1700 – 6500К.

Перейдя в подменю «Цвет», вы обнаружите возможность выбора одного из шестнадцати миллионов оттенков. В пункте «Поток» можно отрегулировать скорость и порядок смены оттенков свечения.

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

В меню «Шаблон» есть возможность сформировать собственный алгоритм работы устройства, который впоследствии можно активировать в один клик. Делается это максимально просто: выбираете иконку из списка, печатаете название шаблона, выбираете вашу лампочку, а затем отмечаете нужное действие (допустим, оттенок света) и нажимаете на кнопку «Готово».

В главном меню лампочки Xiaomi есть пункт «Расписание», в котором настраивается время включения или отключения девайса, количество повторов и применимый шаблон.

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

Дополнительным бонусом является присутствие функции «Музыкальный режим». Для его активации предоставьте программе доступ к микрофону смартфона. После этого свет лампочки будет мерцать в такт играющей на мобильном телефоне музыке.

Как сбросить настройки лампочки Xiaomi Yeelight LED Smart Light Bulb Color

Для сброса настроек лампочки и возвращению до заводского состояния необходимо проделать следующее: активировать и деактивировать переключатель с помощью пятикратного нажатия с интервалом 3 секунды. Это нужно делать до появления мерцания, после чего вам остается дождаться перезагрузки и постоянного свечения белом оттенком.

Голосовое управление лампочкой Xiaomi Yeelight LED Smart Light Bulb Color

«Умная» лампочка характеризуется возможностью управления при помощи голосовых команд. Для того, чтобы это стало возможным, вам нужно установить приложение Google Home с понятным и лаконичным интерфейсом, если у вас Android-смартфон.

Обладателям «айфона» нужно воспользоваться программой Siri Shortcuts. В быстрых командах Siri нужно будет выбрать необходимую опцию и нажать на кнопку записи. После этого вы сможете произносить записанную голосовую команду, которая будет оперативно исполнена устройством


Лампа примечательна тем что не требует хаба 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.

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