Copyright © 2016-2024 Эрик Баау. Все права защищены.
Этот плагин Homebridge предоставляет доступ к устройствам Apple, совместимым с HomeKit Hue (светильники, вилки, датчики, переключатели и т. д.), подключенным к мосту Hue от Signify.
Обратите внимание, что Hue изначально был разработан Philips до того, как они выделили свое подразделение Lighting в Signify. Signify по-прежнему использует торговую марку Philips Hue.
См. Wiki для получения списка функций Homebridge Hue и поддерживаемых устройств, включая сравнение функций:
Homebridge Hue автоматически обнаруживает мосты Hue. Он поддерживает несколько мостов из одной установки. Он поддерживает мост Hue v2 (квадратный) и v1 (круглый). Он работает в сочетании с собственными функциями HomeKit моста Hue v2.
Подробное описание Homebridge Hue можно найти в Wiki.
Вам понадобится мост Philips Hue для подключения Homebridge Hue к светильникам, переключателям и датчикам, совместимым с Hue. Я рекомендую использовать последнюю версию прошивки Hue Bridge с API v1.61.0 (мост v2) или v1.16.0 (мост v1) или выше.
Вам нужен сервер для запуска Homebridge. Это может быть что угодно, на котором работает Node.js: от Raspberry Pi, системы NAS или постоянно включенного ПК под управлением Linux, macOS или Windows. Подробности смотрите в Homebridge Wiki. Я рекомендую использовать проводной Ethernet для подключения сервера с Homebridge, мостом Hue и AppleTV, выступающим в качестве домашнего концентратора.
Для взаимодействия с HomeKit вам понадобится Siri или приложение HomeKit на iPhone, Apple Watch, iPad, iPod Touch или Apple TV (4-го поколения или новее). Я рекомендую использовать последние выпущенные версии iOS, watchOS и tvOS.
Обратите внимание, что Siri и даже приложение Apple Home по-прежнему обеспечивают лишь ограниченную поддержку HomeKit. Чтобы использовать все возможности Homebridge Hue, вы можете попробовать некоторые другие приложения HomeKit, например приложение Eve (бесплатное) или приложение Home+ Маттиаса Хохгаттерера (платное).
Поскольку HomeKit использует multicast-DNS (он же Bonjour) для обнаружения Homebridge, сервер, на котором работает Homebridge, должен находиться в той же подсети, что и ваши iDevices, на которых работает HomeKit. Для удаленного доступа и автоматизации HomeKit (включая поддержку беспроводных коммутаторов) вам необходимо настроить Apple TV (4-го поколения или новее) или HomePod в качестве домашнего концентратора.
Homebridge Hue включает в себя утилиту командной строки ph
для взаимодействия с API Hue из командной строки. См. руководство на Wiki для ознакомления с этой утилитой.
Введите ph -h
или ph --help
, чтобы предоставить краткий обзор его функциональности и аргументов командной строки.
Чтобы установить Homebridge Hue:
Следуйте инструкциям на Homebridge Wiki, чтобы установить Node.js и Homebridge;
Установите плагин Homebridge Hue через Homebridge Config UI X или вручную:
$ sudo npm -g i homebridge-hue
Отредактируйте config.json
и добавьте платформу Hue
, предоставленную Homebridge Hue, см. Конфигурацию ;
Запустите Homebridge Hue в первый раз, нажмите кнопку ссылки на (каждом из) мостов. Обратите внимание на пару ключей ID моста/API для каждого моста в выходных данных журнала. Отредактируйте config.json
, чтобы включить их, см. Конфигурация .
Обратите внимание, что вы не можете добавить их через настройки Homebridge Hue в Homebridge Config UI X, но вы можете использовать Homebridge Config Editor .
Чтобы обновить Homebridge Hue, просто введите еще один sudo npm -gi homebridge-hue@latest
. Пожалуйста, ознакомьтесь с примечаниями к выпуску перед обновлением Homebridge Hue. Обратите внимание, что изменение дополнительной версии обычно означает, что вам необходимо просмотреть/переделать конфигурацию HomeKit. Из-за изменений в сопоставлении того, как предоставляются ресурсы моста Hue, HomeKit может рассматривать их как новые аксессуары, услуги и/или характеристики, теряя любое назначение комнатам, сценам, действиям и триггерам HomeKit. Чтобы вернуться к предыдущей версии, укажите версию при установке Homebridge Hue, например: sudo npm -gi [email protected]
.
В config.json
Homebridge вам необходимо указать Homebridge Hue в качестве плагина платформы. Кроме того, вам необходимо указать, что вы хотите предоставить HomeKit. См. Wiki для получения полной информации о настройках config.json
используемых Homebridge Hue, а также некоторых примеров.
Более детальный контроль над тем, какие ресурсы Homebridge Hue предоставляет HomeKit и как создавать ссылки на ресурсы на мосту, см. в Wiki.
Пожалуйста, проверьте FAQ.
Если у вас возникли проблемы с запуском Homebridge, дважды проверьте, какие версии Node.js и Homebridge были установлены. Homebridge Hue был разработан и протестирован с использованием последней LTS-версии Node.js и последней версии Homebridge. Другие версии могут работать, а могут и не работать — у меня просто нет возможности протестировать их.
Если у вас возникли проблемы с запуском Homebridge, запустите отдельный экземпляр Homebridge, включив в config.json
только Homebridge Hue (и Homebridge Config UI X). Таким образом, вы можете определить, связана ли проблема с самим Homebridge Hue или с взаимодействием нескольких плагинов Homebridge в вашей настройке. Вы можете запустить этот отдельный экземпляр Homebridge в другой системе, от имени другого пользователя или из другого пользовательского каталога (указанного флагом -U
). Обязательно используйте разные name
Homebridge, username
и (если вы работаете в одной системе) port
в config.json
для каждого экземпляра.
Homebridge Hue выводит информационное сообщение для каждого установленного значения характеристики HomeKit и для каждого полученного уведомления об изменении значения характеристики HomeKit. Когда Homebridge запускается с -D
, Homebridge Hue выводит отладочное сообщение для каждого запроса, который он делает к мосту, для каждого изменения состояния, которое он обнаруживает при опросе моста, и для каждого push-уведомления, которое он получает из потока событий моста Hue gen-2. Кроме того, он выдает отладочное сообщение для каждого обнаруженного ресурса моста.
Чтобы записать эти сообщения в файл журнала, выполните следующие действия:
$ homebridge -CD 2>&1 | tee homebridge.log
$ gzip homebridge.log
Чтобы облегчить устранение неполадок, при запуске Homebridge Hue сохраняет свою среду, включая настройки config.json
и полное состояние всех мостов, в сжатый файл JSON, homebridge-hue.json.gz
. IP-адреса и ключи API моста замаскированы. Этот файл создается в пользовательском каталоге Homebridge, по умолчанию ~/.homebridge
. Его можно загрузить через пользовательский интерфейс Homebridge Config UI X из всплывающего окна НАСТРОЙКИ Homebridge Hue на вкладке Плагины .
Если у вас есть вопрос, отправьте сообщение на канал #hue сообщества Homebridge в Discord.
Если у вас возникла проблема, откройте проблему на GitHub. Прикрепите к проблеме копию файла homebridge-hue.json.gz
, см. Файл дампа отладки . Прикрепите к проблеме копию файла homebridge.log.gz
, см. Файл журнала отладки . Пожалуйста, не копируйте и не вставляйте большие объемы данных журнала.
Иногда мне задают вопрос, как люди могут поддержать мою работу над Homebridge Hue. Я создал Homebridge Hue как хобби-проект для собственного использования. Я делюсь им на GitHub, чтобы другие могли получить от него пользу, а также отдать должное сообществу открытого исходного кода, без которого Homebridge Hue был бы невозможен.
При этом добавить поддержку новых устройств в Homebridge Hue очень сложно без физического доступа к устройству. Поскольку это хобби-проект, я не могу позволить себе тратить деньги на устройства, которыми не буду пользоваться сам, просто чтобы интегрировать их на благо других. Я рад получать небольшие пожертвования в виде новых устройств для интеграции или денег, чтобы купить эти устройства самому. Я также буду рад вернуть устройства впоследствии, если вы оплатите стоимость доставки. Пожалуйста, свяжитесь со мной по электронной почте или в Discord для получения подробной информации о доставке.
Homebridge Hue — это мой хобби-проект, предоставляемый «как есть», без каких-либо гарантий. Я успешно использую его у себя дома уже много лет, но ваш опыт может отличаться.
К терминологии HomeKit нужно привыкнуть. Аксессуар более или менее соответствует физическому устройству, доступному с вашего устройства iOS через Wi-Fi или Bluetooth. Мост (например, Homebridge) — это аксессуар, который обеспечивает доступ к другим аксессуарам, подключенным по мосту. Аксессуар может предоставлять несколько услуг . Каждая служба соответствует виртуальному устройству (например, лампочке, выключателю, датчику движения и т. д., а также программируемой кнопке переключения, информации об аксессуарах, состоянию батареи). Siri взаимодействует с сервисами, а не с аксессуарами. Услуга содержит одну или несколько характеристик . Характеристика похожа на атрибут службы, который может быть прочитан или записан приложениями HomeKit. Возможно, вы захотите воспользоваться симулятором аксессуаров HomeKit от Apple, который распространяется как дополнительный инструмент для Xcode
.
Внутри HomeKit идентифицирует аксессуары по UUID. Для устройств Zigbee (светильники, датчики, переключатели) Homebridge Hue основывает этот UUID на MAC-адресе Zigbee. Для ресурсов, отличных от Zigbee (групп, расписаний, датчиков CLIP), UUID основан на идентификаторе моста и пути к ресурсу (например, /sensors/1
). Не используя имя ресурса (например, Daylight
), Homebridge Hue может справиться с повторяющимися именами. Кроме того, HomeKit по-прежнему распознает аксессуар после изменения имени ресурса на мосту, запоминая, к какой комнате HomeKit, группам, сценам, действиям и триггерам он принадлежит. Однако если ресурс моста, отличный от Zigbee, удаляется, а затем создается заново, что приводит к другому пути к ресурсу, HomeKit будет рассматривать его как новый аксессуар, и вам потребуется перенастроить HomeKit.