Могу описать, как я установил homekit на Rapberry Pi:
1. установил на raspberry дистрибутив NOOBS & Raspbian по инструкции
www.raspberrypi.org/help/noobs-setup/
2. подсоединил его в сеть, зашел на него с компа через PuTTY
3. установил Node.js по инструкции
blog.wia.io/installing-node-js-v4-0-0-on-a-raspberry-pi/
но использовал более новый дистрибутив, поэтому вбивал следующие команды вместо тех, что были в инструкции
wget
nodejs.org/dist/v5.2.0/node-v5.2.0-linux-armv6l.tar.gz
tar -xvf node-v5.2.0-linux-armv6l.tar.gz
cd node-v5.2.0-linux-armv6l
sudo cp -R * /usr/local/
4. далее установил дистрибутив VeraHomeKitBridge
github.com/Hackworth/VeraHomeKitBridge
перед этим пробовал HomeBridge
github.com/nfarina/homebridge с плагином для веры. Но VeraHomeKitBridge мне показался быстрее в работе, отклик на команды происходит быстрее. К тому же он подтягивает не только устройства, но и сцены из веры. Зато для HomeBridge есть куча плагинов для связи с разными другими компонентами, типа sonos. Но я ставил его и обнаружил, что там только включение/выключение колонки и все, а эти команды я и с помощью сцен могу использовать на VeraHomeKitBridge. Ну в общем он лично мне показался удобнее.
Теперь о том, как устанавливал сам VeraHomeKitBridge:
git clone --recursive
github.com/Hackworth/VeraHomeKitBridge.git
cd VeraHomeKitBridge
npm install
cd lib/HAP-NodeJS
npm install
cd -
5. Далее надо поправить конфиг, я в нем изменил только ip адрес веры
cd /home/pi/VeraHomeKitBridge
nano config.json
6. Ну и стартуем приложение
npm run start
Если все правильно установлено, то при старте приложения увидим, как инициализируются имеющиеся в вере устройства. В моем случае опознаны были не все, различные виртуальные устройства bridge не распознал, как и камеру, сонос и тп. Скажем так, у меня bridge подтянул только димеры, реле и датчики.
7. Как добавить бридж в автозагрузку нашел тут
www.domoticz.com/forum/viewtopic.php?f=36&t=6864&start=200
sudo npm install pm2 -g
cd /home/pi/VeraHomeKitBridge
pm2 start app.js --name HomeBridge
pm2 save
pm2 startup raspberry
sudo su -c "env PATH=$PATH:/usr/local/bin pm2 startup raspberry -u pi"
sudo chmod +x /etc/init.d/pm2-init.sh
sudo nano /etc/init.d/pm2-init.sh
Меняем в файле строку
export PM2_HOME="/root/.pm2"
на
export PM2_HOME="/home/pi/.pm2"
сохранить и закрыть
sudo update-rc.d pm2-init.sh defaults
sudo reboot
после перезагрузки малины проверить
pm2 list
в таблице должна появиться программа app.js
8. На iPad установил приложение Elgato Eve
В принципе можно любое другое приложение, которое работает с HomeKit. Я пробовал MyHome App, также Insteon+ он в сети наиболее популярен. Но остановился на Eve, потому что просто симпатичнее интерфейс, приложение есть и для iPad и для iPhone.
В общем, не важно, какое приложение использовать. В любом из них либо при первом запуске, либо в разделе настроек нажимаем добавить аксессуар. Если перед этим все сделано правильно, программа увидит bridge и запросит код подтверждения. Дефолтный код 031-45-154. В VeraHomeKitBridge я не помню, есть ли возможность его поменять в конфиге, а вот в HomeBridge в конфиге точно была такая строка в конфиге.
После этого приложение подтянуло все устройства, распознанные бриджем. Я раскидал их по комнатам, в свойствах каждого задал для них русские имена вместо указанных в вере. Ну и собственно все.
Можно еще указать следующие замечания:
Если устройство названо словом, которое для Siri занято для каких-либо дефолтных действий, то она в первую очередь выполняет свою дефолтную команду. Я имею ввиду следующее, если например колонка sonos в системе названа «музыка», то при команде siri «Включи музыку» она не включит колонку, а предложит выбрать музыку на планшете. Или назвав сцену, в которой у меня колонка произносит текущую температуру «прогноз погоды», я получил от siri страницу с прогнозом погоды вместо выполнения сцены.
Если у вас в системе есть устройство, которое не является бинарным переключателем, например опять та же колонка sonos, то для того, чтобы управлять ею через siri удобнее всего создать две сцены, одна для включения, другая для выключения, назвав их например таким образом «Sonos - On» и «Sonos - Off». Тогда бридж поймет, что эти две сцены управляют одни устройством и подтянет их в себя не как две отдельные сцены, а как одно бинарное устройство. Таким образом, вместо например таких команд для siri «Включи включение колонки» и «Включи выключение колонки» можно будет использовать «Включи колонку» и «Выключи колонку».
Ну вроде бы все, немного сумбурно, но писал по памяти и если будут вопросы – постараюсь на них ответить, но сразу предупреждаю, сам я во всех этих библиотеках и компонентах raspberry не сильно разбираюсь и всю информацию просто нашел в интернете и сделал, как было описано. Так что не обещаю, что смогу помочь с какими-то специфическими вопросами.