Статья

Deconz (Hue) + Homebridge

Шлюзы DeCONZ и Hue имеют схожие api, по этому большинство операций, проделываемых в статье с DeCONZ можно проделать и с шлюзом Hue.

Шлюз от Hue, хоть и имеет наивную поддержку HomeKit, но только для собственных ламп Philips Hue. То есть умную zigbee лампу стороннего производителя подключить к шлюзу можно, но в приложение Дом эта лампа средствами самого шлюза не попадет. DeCONZ же вообще не имеет поддержки HomeKit «из коробки». Один из способов исправить эту ситуацию - использовать Homebridge и плагин Homebridge - Hue 

Установить плагин можно из веб интерфейса Homebridge, найдя его в поиске, либо через ssh, используя команду:

sudo npm -g install homebridge-hue

После успешной установки нам необходимо отредактировать файл config.json и в блок platforms добавить следующий текст:

"platforms":[ { "platform": "Hue", "users":{ "001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" }, "lights": true } ]

После этого перезагружаем шлюз и смотрим лог. На просьбу открыть шлюз, нажимаем кнопку на шлюзе Hue, либо в интерфейсе Deconz: Gateway - Advanced - Authenticate app и в ответ в фигурных скобках видим готовый конфиг.

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

Еще раз перезагружаем Homebridge, в приложении «Дом» добавляем новый мост, код берем из лога Homebridge, и все аксессуары с шлюза DeCONZ или Hue оказываются у нас в HomeKit.

Но, зачастую, нам не нужны абсолютно все аксессуары видеть в Доме. Ниже пример фильтрации датчиков и ламп по типам:

{ "platform": "Hue", "users": { "001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy" }, "sensors": true, "nativeHomeKitSensors": false, "excludeSensorTypes": ["CLIPPresence", "Geofence"], "lights": true }

Если нам нужно более детализированно переносить аксессуары (этот сенсор нам нужен в ките, эта лампочка не нужна), или если мы хотим пробросить в хоумкит группу ламп как одну лампу, то это мы тоже можем сделать, воспользовавшись черными или белыми списками.

Для этого, воспользуемся статьей.

Нам необходимо создать resourcelinks в api шлюза  с именем homebridge-hue и описанием whitelist для белого списка или blacklist для черного. Пример запроса:

{ "name": "homebridge-hue", "classid": 1, "description": "whitelist", "links": [ "/groups/1" ] }

Пример запроса для черного списка:

{ "name": "homebridge-hue", "classid": 1, "description": "blacklist", "links": [ "/lights/1", "/lights/2", "/lights/3" ] }

Кстати, эти списки имеют преимущество перед фильтрами в config.json

Итак, в Google Chrome запускаем расширение posman и отправляем POST запрос формата: IPшлюза:порт/api/<apikey>/resourcelinks. В ответе видим подтверждение успешного создания resourcelink

Если нам надо удалить белый или черный список, отправляем GET запрос формата: IPшлюза:порт/api/<apikey>/resourcelinks. В ответе видим список всех resourcelinks и находим id (номер) нашего списка:

Затем отправляем DEL запрос формата: IP шлюза:порт/api/<apikey>/resourcelinks/<id>, в ответе видим подтверждение успешного удаления нашего списка.

На сегодня все, Как обычно ставьте лайки, подписывайтесь, впереди много интересного!

1

Спасибо, за статью. В коде нужно поставить скобку иначе выдает ошибку:
{
"platform": "Hue",
"users": {
"001788FFFExxxxxx": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"001788FFFEyyyyyy": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"
},
"lights": true
}


Вернуться назад

Устройства


Phoscon

deCONZ Conbee

(3 отзыва)

Вернуться назад