HomeAssistant联动HomeKit

不小心把树莓派短路了,接电源已经没有电流了,实在是悲伤,还是要带壳才安全。

大佬赞助的树莓派还在路上已经到了,这块旧的好像也修不好了,只能当钥匙扣用了。


对水果机来说,HomeKit还是比较方便的,可以用siri来控制。只是没有ipad作中枢,没办法HomeKit自动化和远程操作,可以用HomeAssistant来自动化和远程,Home Assistant功能更强大。

更新

启用HomeAssistant自带的Homekit组件似乎也不错,大大简化步骤,节约树莓派资源。
在配置文件里添加

1
homekit:

在Homekit里面屏蔽天气、设备之类的不能用的传感器 https://bbs.hassbian.com/thread-3589-1-1.html

注意:如果需要再次显示homekit的pincode,需要删除配置目录下的.homekit.state,不然怎么也没办法获得。

下面的不用再看了。


HomeBridge可以用于接入HomeKit,所以连接HomeAssistant和Homebridge就可以接入了,连接需要Homeassistant-Homebridge这个包。

安装

Node.js

zero系列是armv6的cpu,直接从软件源安装会出错。

从官网查看版本列表:https://nodejs.org/dist/

我这里用了最新的10.7.0版本,下载armv6版本的包:
wget https://nodejs.org/dist/v10.7.0/node-v10.7.0-linux-armv6l.tar.gz

解压
tar -xzf node-v10.7.0-linux-armv6l.tar.gz

拷贝
sudo cp -r node-v10.7.0-linux-armv6l/* /usr/local/

查看是否安装成功

1
2
node -v
npm -v

如果直接用sudo全局安装npm包会出现gyp WARN EACCES user "root" does not have permission to access the dev dir...的权限问题,所以修改一下默认的安装位置。

1
2
mkdir ~/npm-global
npm config set prefix '~/npm-global'

~/.bashrc或是~/.zshrc中添加export PATH=~/npm-global/bin:$PATH

重开一个窗口,准备安装需要的包。

Homebridge

npm install -g homebridge --registry=https://registry.npm.taobao.org

Homeassistant-Homebridge

npm install -g homebridge-homeassistant --registry=https://registry.npm.taobao.org

使用

修改Homebridge配置文件vim ~/.homebridge/config.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"bridge": {
"name": "KittensHome",
"username": "树莓派的mac地址",
"port": 45536,
"pin": "775-82-588"
},
"platforms": [
{
"platform": "HomeAssistant",
"name": "HomeAssistant",
"host": "http://127.0.0.1:8123",
"password": "homeassistant的密码",
"supported_types": ["automation", "binary_sensor", "climate", "cover", "device_tracker", "fan", "group", "input_boolean", "light", "lock", "media_player", "remote", "scene", "script", "sensor", "switch", "vacuum"],
"default_visibility": "visible",
"logging": true
}
]
}

启动Homebridge:homebridge(需要先完成启动HomeAssistant)

启动成功后会出现可以扫描的数字图样,在水果的家庭App里面添加配件,扫描后输入配置文件中设置的pin码。

如果没有问题,HomeAssistant里面的“设备”应该都被添加进去了,可以控制的设备可以直接用siri来控制,也可以问siri温度之类的问题。

不需要显示的,如路由器的某个接入设备,可以在HomeAssistant网页端“自定义设备”,有一个选项是“hide in homebridge”。

每次更新HomeAssistant还需要重启HomeBridge才会更新,不知道有没有什么方便的操作。

参考

http://kittenyang.com/homebridge-practice/
http://cxlwill.cn/Home-Assistant/HomeAssistant-Device-Access/
https://home-assistant.cc/homebridge/node/