|
本帖最后由 扶梓 于 2018-1-3 15:24 编辑
此教程适用于将博联 RM Mini、博联 RM Pro 接入 Homebridge。可以用 Siri 或者 iOS 的家庭应用控制空调或其他红外、射频设备。
昨晚上苦苦爬了一夜的帖,翻遍了各种文档,官方非官方的,踩了无数的坑,今天我把我遇到的问题以及解决办法整理一下,以帮助即将接触或者踩了坑的朋友。不讲 Hassio 的安装,论坛里有足够多的教程。此教程默认阅读者具有一个已经安装完成 Hassio 并将其接入网络且开启了 Samba share 的树莓派。
一、安装 Homebridge 以及其插件 homebridge-broadlink-rm
安装 Homebridge。
Homebridge 需要添加的源为:
https://github.com/hassio-addons/repository
在 Homebridge 的 Plugins 中添加 homebridge-broadlink-rm 插件。这里需要注意的是,不能按照以前的方法只写插件部分,否则保存不了。完整 Options:
{
"log_level": "info",
"avahi_interfaces": "",
"avahi_hostname": "Hassio",
"avahi_domainname": "local",
"enable_ipv6": true,
"packages": [],
"init_commands": [],
"plugins": [
"homebridge-broadlink-rm"
]
}
二、配置 config.json
找到 config.json,路径为 /Volumes/config/homebridge/config.json。这里推荐 Atom 作为编辑器。
注意:以下内容不能直接复制,需要根据自己的情况进行修改。另外,因为 json 不支持代码注释,复制此代码时一定要删除 // 及后面的注释内容。我另提供一份没有注释的文件。
{
"bridge":
{
"name": "Homebridge for Home Assistant",//这个名字可以随便取
"username": "XX:XX:XX:XX:XX:XX",//这里必须改,就是你树莓派的 mac 地址,可以从路由器获取
"port": 51826,//不建议更改,默认就行
"pin": "123-45-678"//这里面可以随便改
},
"accessories": [],
"platforms":
[
{
"platform": "HomeAssistant",
"name": "HomeAssistant",
"host": "http://8.8.8.8:8123",//这里必须改,是树莓派的内网地址,强烈建议在路由器里面给树莓派分配静态地址,端口默认 8123 就行
"password": "XXXXXXXX",//密码可以自定义
"supported_types": [
"automation",
"binary_sensor",
"climate",
"cover",
"device_tracker",
"fan",
"group",
"input_boolean",
"light",
"lock",
"media_player",
"scene",
"sensor",
"switch"
],
"logging": true
},
{
"platform":"BroadlinkRM",
"name":"Broadlink RM",
"hideScanFrequencyButton": false,//这是在 Homebridge 中隐藏 ScanFrequency 的按钮
"hideLearnButton": false,//这是在 Homebridge 中隐藏 Learn 的按钮,初次不要隐藏,需要它来学习红外码
"accessories":[
{
"name":"空调",//名字随便改
"host":"8.8.8.9",//这个必须改,是博联的内网地址,同样强烈建议在路由器里面给树莓派分配静态地址
"type":"air-conditioner",
"defaultCoolTemperature": 18,//用来设定制冷模式的默认温度
"defaultheatTemperature": 30,//用来设定制热模式的默认温度
"minTemperature": 16,//用来设定在 HomeKit 中显示的最小温度
"maxTemperature": 32,//用来设定在 HomeKit 中显示的最大温度
"pseudoDeviceTemperature": 16,//部分较老的空调没有自带温度传感器,如不设定,会返回 0 值,出现实际温度低于最小温度的错误,新空调基本不用设置,可以删除
"data":{
"off":"2600f8000001158913111335143514101435131113351411131113111335143513351435143513111410141014101410141014101311131114101410141014101410141014101410141014101410141014351311131113111410141014101410141014101335143613111311131014111310141014101411131113111311131113101410141014111311131113111311131113111311131113111311131113111311131113111311141014101410131113111311131113111410141014101410141013111311131114101410141014101410141014101311141014101410141014101410141014101435143513111335141014351410131113000d05",//关闭空调的红外码
"temperature32":{
"pseudo-mode":"heat",//制热模式/制冷模式
"data":"2600f8000001148a1311133513361311133514101435131114101410143514351434143513351510141014101410141014101410141013111410141014101311141014101410131114101410141014101435141013111311141014101410130f161014101311141014101410131114101310151014341411141013111410141014101410141014101410141014101410141014101410140d17101410141014101410141014101410141014101311131114101311131113111410140e15111410130f160f14101411141014101410141014101311131113111410141014101410140e1610141013111435133613111311131113351410141013000d05"
},//设定空调的温度为 32 度时发送的红外码,下略
"temperature31":{
"pseudo-mode":"heat",
"data":"2600f8000001128c1113113712371113113712121237121311371237111313351435133613351411140f1510141014101410140e160e16101410140c1711141013111311130e1611131113111311131113351410141014111311131113111311131014101410141113111311131111131113111311371312131111121212121212121212141012131113111311131112141012121212121311131113131111131113111313111113131111131113111313111311111311131113111313111311131113111311131113111311131113111311131113111311131113111311131113111311131113111410143513111311131113351410141014000d05"
},
"temperature30":{
"pseudo-mode":"heat",
"data":"2600f8000001138a12131237113712121237121211371213111311371311123711381137123711131212121212121212121212121212111312121212121212121212121212121213111212121213111212371113111311131212121212121212121212121212111312121212121212121212121212371113121212121212121211131113111311131212121212121212121212121212111312121212121212121212121212121212121212121212121212121212121212131113111311121212121212121212121311131212111311121312111212121213111311131113111311131113111311121238111311121212121213361212121211000d05"
},
"temperature29":{
"pseudo-mode":"heat",
"data":"2600f8000001138b11131137123711131138121211371213113713111212133611371237123711131212121211131113111311131113111312121212121113121113111312121113121212121212121212371113111311131212121211131212111311131113111312121212121212121212111311381211121311131113111311131113111113131212121212121113111311131113111312121212121212121113111311131113121213111212121212121212121211131212121212121212131112121212121311121212121212121311121212121213111311121213121112121212131112131113111311131113121211371212121211000d05"
},
"temperature28":{
"pseudo-mode":"heat",
"data":"2600f8000001138b12121237113811131137121212371113121212121212113811371237113811131113111311131113111311131113111312121113111311131113111311131113121212121212121211381113111311131113111311131113111311131113111312121113111311131113111311371213111311131113111311131113111311131113111313111311111313111311131113111311131113111311131113111310141113111311131113111311131114101410140e161014101410141014101410150f150f150f150f150f150e150f1511140e160e1510150f150f1410141014111335143513351435143513111311141013000d05"
},
"temperature27":{
"pseudo-mode":"heat",
"data":"2600f8000001138b12121138113712121237111311381113113811371237121211371237123711121312121212121113111311131113111312121212121212121212111311131113121212121212121212371113111311131212121211131113111311131211121312121212121212121212111311381113111311131113111311131113111311131212121212121113121211131113111312121212121212121212121211131113121212121212121212121212121212121212131112121212121212121212121311131112121212121212121212121213111311131113111311121212121212131113113712371138113712121212121212000d05"
},
"temperature26":{
"pseudo-mode":"heat",
"data":"2600f8000001138b12121237113712121237111311381113111311381137121113371137133612121212121212121212121212121212121311131112121212121212121212121213111311121212121311371212121212121212131112121212121212121212121311131113111212121212121212371212121212121311121212121212121212121212121212121212121212121212121311131211121311121212121212121213111311131113111311131112131112131113111311131113111311131113111311131211121311131113111311131113121211131113111311131113111311131235131311371237113811131112121212000d05"
},
"temperature25":{
"pseudo-mode":"heat",
"data":"2600f8000001128c11131137123711131137121212371212123712121138111311371237113811131113111311131113111311131113111312121113111311131113111311131113121212121212121211381113111311131113111311131113111311131113111312121212121212121113111311381113111311131113111311131113111311131212121211131113111311131113111312121212121212121212111311131113121212121212121212121212121212131112121212121212121212121212121311131113111311131112121212121213111311131113111212131113111311131113111311371237123711131113111311000d05"
},
"temperature24":{
"pseudo-mode":"heat",
"data":"2600f8000001128c11131137123711131137131112371212121212121237121211381137123711131212121212121212121212121212121311121212121212121212121212121213111311131113111212371212121212121212121212121212121213111212121311121212121212121311121212371113121212121212121212121212121212131112121212121212121212121311121311131112121311121212121212121213111311131113111311131113111311131113111311131113111311131113111311131112121311131113111311131113121212121212121211131113111311131237123712121137123711131113111311000d05"
},
"temperature23":{
"pseudo-mode":"heat",
"data":"2600f80000011588151014341435140c1834150d17341410153414351410141014321635143415101410141014101410140f1510141013111410140f141113111311131113111311131113111311131113361311131113111311131111131113111311131113111312121212121211131113111311381113111311131113111311131113111311131212121211131113111311131113111312121212121212121212111311131113121212121212121212121212121212131113111212121212121212121212121311131113111311131112121212121213111311131113111311131113111311131113113712121237123711131113111311000d05"
},
"temperature22":{
"pseudo-mode":"cool",
"data":"2600f8000001138b12121336123613111237121211371312121212361312121112371138123613121212111312121113111311131113111311131113111311131113111311131113131111131113111312121137131211131113111311131113111311131113111311131212111311131113111311131113121212121212111311131113111311131212121212121212121213111212111312121311121212121212121212121213111311131112121212121212121212131113111311131113121211131112121311131113111311131212111311131113111311131113111311131113111311131212113811371212123711131113111311000d05"
},
"temperature21":{
"pseudo-mode":"cool",
"data":"2600f8000001128b12121237113811131137121212371113123711131113111311371237123711131212121212121212111311131113111312121212121212121212121212121113121212121212121212121237111311131212121212121212121212121212111312121212121212121212121212121213111311131112121212121212121212131113111311131113111311131112121311131113111311131113111311131113111311131113111311131113111311131212121211131113111311131113111312121212121212121212121211131113121212121212121212121212121212131137121212371113113712121212121212000d05"
},
"temperature20":{
"pseudo-mode":"cool",
"data":"2600f8000001138b12121137123712121138111311371213121211131113111311371237113712131113111311131113111311131113111311131113111311131113111311131113121212121212121211131138111311131113111312121113111311131113111312121212121211131113111312121113121212121212121212121212111311131212121212121212121212121212121311131112121212121212121212121213111311131113111311131112121212131113111311131113111311131112121312121212111311131113111311131113121212121113111311111313121211131212121212371113113712121212121212000d05"
},
"temperature19":{
"pseudo-mode":"cool",
"data":"2600f8000001158914101434143514101434150f153414101534143514341534141014351434150f150f15101410141014101410140e1610140e161014101410140e16101410140f150d171014101410141013351410150d161014111410130e170e16101311131113111311130f1511130f151014111311141013111311131113111311131113111410141014101410141014101311131114101410141014101410141014101411131113111311131014101410141014111311131113111311131113111311131113111311131114101311131113111311131113111311131113111311131113111311133613111311131113351410131113000d05"
},
"temperature18":{
"pseudo-mode":"cool",
"data":"2600f8000001128b13111237123711121237131013361213121212371137123712121237113712131113111311131113111311131113111311111412111312121113111311131113121212121212111311131138111212131212111311131113111311131113111312121212121211131212111311131113121212121212121212121212121211131212121212121212121212121212121311131112121212121212121212121213111311131113111312121112121212131113111311131113121211131113111311131212111311131113111311131113121212121212111311131113111311131336111311131113111311371212121212000d05"
},
"temperature17":{
"pseudo-mode":"cool",
"data":"2600f8000001158913111336133514101435131113351411143513101435133613111335143513111410141014101212131112121212121311131112121214101212121212121213111311131113111311131137121212131113111212121212121212121212121311131113111311131113111212121213111311131212111311131111131311131113111311131113111311131113111312121212121211131113111311131113121212121212121212121212121212121212121212121212121213111212121311131113111212131112121212121213111311131113111311131113111212131113111311131113111311371311121212000d05"
},
"temperature16":{
"pseudo-mode":"cool",
"data":"2600f8000001128c11131137123711131137121212371212121212121237123711131137123711131212121212121311121212121212121311121212131112121212121212121213111311131113111311121237121212131112121213111212121212121212131112131113111212121212121212121213111311131113111311131113111311131113121211131113111311131113111312121212111312121112121311131113121212121212121212121113111311131212121212121212121212121212121212121212121213111311121113121312111311131112121311121212121212131137123712371137123711131113111311000d05"
}
}
}
]
}
]
}
以上我是以长虹空调为例,配置完成并重启过后你可以在手机上接入 Homebridge 并看到 HomeKit 中有一个 Learn 的按钮,点击后你的博联 RM Mini、博联 RM Pro 指示灯将会常亮,此时遥控器对着你的博联按键红外码将出现在 Homebridge 的 logs 中,刷新一下,并将其复制到以上代码替换 data 后面的内容(Tips:logs 或者 data 中都只需要双击就能选取全部码,不用拖动选取)。另外你遥控器对应的什么样的状态,学习到的码控制空调也是一样的状态,所以进行红外码学习前先确定你遥控器的当前状态。例如:当前遥控器是 27℃、制热模式、开启了辅热、风向为自动、风速为自动,那我学习红外码的时候按一下温度+,学习到的码是控制空调调到 28 ℃、制热模式、开启了辅热、风向为自动、风速为自动。
至此,本帖结束,感谢阅读。
|
评分
-
查看全部评分
|