零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

2018-04-21 20:15:00 420点赞 4151收藏 142评论

我在2016年购入群晖的DS216+ii后,一直将它作为家庭的备份和影音中心使用,这两年小米的智能家居设备买了不少,林林总总加起来已经30多件了,最近看了几篇将小米的插件接入homekit的文章,自己也在家胡乱折腾了好几天,中间也走了不少弯路,这里把自己的经验和总结分享一下,希望有更多的人能通过本文最后实现用Siri在家享受智能家居的快乐。

本文利用docker在群晖NAS上接入的插件只有homebridge,对比一些需要home assistant辅助或者hass.io接入的更直接,简便而且不容易出错,但与之相对比的是单homebridge无法实现一些自动化功能,这个我更倾向于在米家app上直接设置而不是再单独设置一遍。这里Homebridge插件其实就是把苹果的Homekit不支持的设备,模拟成Homekit支持的设备再接入Homekit,然后就可以用siri声控了。

先来说说我为什么已经在有米家app和智能音箱小爱同学的情况下还要把小米全家桶接入ios Homekit。在有小爱同学的情况下,大部分声控功能都可以实现,但一般家里也就1,2个小爱或mini小爱,它无法做到全屋覆盖而且小爱同学在距离稍远的地方喊识别率并不高,在把小米全家桶接入siri后,因为手机大部分时间都会在身边,平时喊一声siri比小爱更方便而且识别率非常高,siri可以作为智能音箱的一个补充,再加上群晖NAS 24小时在线的优势,比用树莓派搭建起来更方便。这里建议大家还是需要先搞个米家app,把小米的设备都连进去,设置好,homekit里面设置项很少,开关之外的功能还是得靠米家自己的app。

这次安装所需要的硬件和前期准备工作如下:

1.群晖x86 CPU NAS一台。目前只有CPU架构为x86,带+号的群晖型号才能安装docker,网上似乎也有非x86型号的曲线安装python的方法,但对此我没有更深入的研究,还需要各位自行搜索。

2.

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

一台能固定ip的路由器。建议把各类需要接入homekit的设备都分配固定IP,因为在后面的homebridge文本编写中很多小米插件都需要具体IP地址和token,不固定IP的话一旦这个插件离线后再连上路由器IP地址就变了,还需要自己手动修改,一劳永逸固定IP就解决了。这个一般的路由基本都有类似功能了,我用的路由器是网件的R7000,在R7000上的操作具体是:打开链接 进入路由界面,点左上角的高级-安装-局域网IP设置-将路由器用作DHCP服务器这项打钩-然后点应用就可以删减固定ip了。

3.百度上下载并安装安卓模拟器来获取小米设备的token。我用的是夜神模拟器,打开模拟器进入应用中心,搜索智能家庭,下面云搜索里面能找到米家熟悉的标志,如图:

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

模拟器内安装好后进入米家app,登录好自己的账号,等app内刷出自己全部的米家设备后返回回主界面,点左下角的文件管理器进入路径/data/data/com.xiaomi.smarthome/databases/里,找到文件miio2.db,在文件前面打钩(默认复制),然后点最上面的父目录几下退回根目录,进入路径mnt/shared/other,点文件管理器右上角的倒数第五个按钮粘贴选择项,如图:

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

粘贴完后按ctrl+3打开文件中转站,在其他文件那里点打开电脑文件夹就能找到刚才的miio2.db文件了,然后打开网站链接 ,上传miio2.db,点击提交,获得token。获得了token之后建议复制在excel表格中,对照mac地址在路由器中找到小米设备的相应IP并修改名字,方便自己管理。

下面开始群晖NAS上的安装,打开群晖主界面,套件中心里搜索docker应用后安装。装好docker之后打开,在注册表页面搜索“homebridge”,如图:

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

下载第一个marcoraddatz/homebridge,右击下载此图像,选最新版本latest。有的人也选择安装oznu的,这里还是以marcoraddatz的为主,镜像大小为1g,大概完成时间为半小时到1小时,中间可以去干点别的事。

下载完成后进入映像菜单,双击marcoraddatz/homebridge点高级设置

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

在卷里点添加文件夹,在根目录下新建一个Docker文件夹,在Docker文件夹下新建一个homebridge文件夹,选择该文件夹后装在路径如图:

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

然后选网络,勾选最下方’使用与dockerhost相同的网络’,

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

然后点应用,下一步,不要去除这个运行容器的钩,虽然运行了没有用,但是会帮你在文件夹里面生成相关文件,方便后来编辑。

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

然后去文件夹下看看有没有生成文件后,就可以在容器菜单里面关闭这个在运行中程序了,这样homebridge就基本设置好了。

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

接着就是这次的重点,需要对config.json和install.sh两个文件进行编辑了,首先将这两个文件复制到自己电脑上,为了方便编辑,建议安装一个notepad++ ,用这个软件来编辑。下面就直接拿我正在使用的config.json和install.s,先来看看install.sh里面:

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

#!/bin/bash

apt-get install libavahi-compat-libdnssd-dev

apt-get install jq

npm install -g homebridge-aqara

npm install -g homebridge-mi-robot_vacuum

npm install -ghomebridge-sonybravia-platform

npm install -g homebridge-yeelight

npm install -g homebridge-mi-outlet

头两条#!/bin/bash,apt-get installlibavahi-compat-libdnssd-dev是这次安装必需插件,后面几条都是自己需要的小米插件包,小米的各类插件可以到这个网站上自行寻找链接 ,查找关键字即可,可以按照popularity排列看看使用的最多的是哪些插件,可以帮助排雷。里面可以找到具体的插件详细设置和代码,拿我自己安装的插件举例,其中homebridge-aqara支持小米的zigbee设备,插件主页链接 ,类似的homebridge-mi-robot_vacuum就是扫地机器人插件,homebridge-sonybravia-platform支持索尼电视开关,我安装jq插件也是因为这个插件里它需要。homebridge-yeelight支持大部分yeelight设备,我家里有的是吸顶灯和台灯,homebridge-mi-outlet是小米插座带usb版本的,装了是因为不包含在homebridge-aqara设备内。另外很多人选择安装支持更多小米设备的homebridge-mi-aqara插件而我还是装了aqara的原因是mi-aqara没办法在我的NAS上正确识别零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

然后就到测试耐心的时候了,开始编辑config.json。这一步很容易出错,建议大家用链接 这个网站校验文本的正确性,没有错误再启动homebridge。这里再贴一个编写json的规范教程,看一看了解一下对编辑config文本帮助很大:链接

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

{

"bridge":{

"name":"Lyman-Home", 这里是你homekit桥接入的名字,随便改


"username":"CC:24:35:E3:43:45", 这里可以不用改,随便填,如果出现启动homebridge找不到插件的情况,可以试着修改里面几个字符

"port":52678, 不用改,随便填

"pin":"123-45-678" 不用改,随便填,但要按照这个格式输

},

"platforms":[{

"platform":"AqaraPlatform",

"sid":["xxxxxxxxx"], 小米网关的MAC地址

"password":["xxxxxxx"] 小米网关的通讯协议密码

},{

"platform": "MiRobotVacuumPlatform",

"deviceCfgs": [{

"type": "MiRobotVacuum2",

"ip": "10.0.0.18", 扫地机IP,路由器和安卓模拟器上都能抓取,自己修改

"token": "xxxxx", 扫地机的token,在安卓模拟器上获取,复制到这里来

"robotVacuumName": "robot vacuum 2",

"enablePauseToCharge": true,

"robotVacuumDisable": false

}]

},{

"platform":"SonyBravia",

"name":"Sony Bravia",

"ipadress":"10.0.0.16", 电视IP,路由器和安卓模拟器上都能抓取,自己修改

"port":80,

"psk":"9999", 索尼电视上的psk密码,自己可以设置,具体可以搜索插件名有详细教程

"interval": 5,

"maxVolume":35,

"extraInputs":false,

"volumeEnabled": true,

"appsEnabled": true,

"channelsEnabled":false,

"channelSource":"tv:dvbt",

"inputsEnabled":true,

"detectCEC":true

},{

"platform":"MiOutletPlatform",

"deviceCfgs": [{

"type": "MiPlugBaseWithUSB",

"ip": "10.0.0.13", 米家usb插座IP,路由器和安卓模拟器上都能抓取,自己修改

"token": "xxxxx", 米家usb插座的token,在安卓模拟器上获取,复制到这里来

"outletName": "bedroom outlet",

"outletDisable": false,

"temperatureName": "bedroom outlet temperature",

"temperatureDisable": false,

"switchUSBName": "bedroom outlet usb switch",

"switchUSBDisable": false}]

}]

}

这里网关是需要填写token和密码的。需要注意的是必须使用二代网关并且升级了最新的网关固件,然后在米家app里点开网关,右上角三个点-关于-屏幕最下面空白处点击5下。

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

会显示高级选项,点“网关信息”能看到里面的mac地址为xx:xx:xx:xx:xx:xx,复制下来并填入网关的sid里面,注意中间不要加:号并且全部小写。 网关password里的密码在关于-局域网通信协议里,里面的数字全部复制进去,全部要大写。

索尼电视的插件可以在链接 查看具体说明,里面除了能自动发现电视hdmi口下的设备外,还可以控制电视直接打开索尼自带安卓系统里安装的app等,我没有详细去玩,因为现在客厅电视接着zidoo x9s,用cec功能开机后自动进入zidoo主界面,已经非常方便了。

这里大的“platforms”只会有一个,小的“platform”可以很多个,建议看看上面的规范教程自己学习。写好后把文本输入校验网站,通过了就可以保存然后拖入群晖的docker/homebridge文件夹里了。如果出现全部设置正确但就是没办法在homekit下找到桥的可以试试群晖里关闭Bonjour服务,具体是控制面板-文件服务-高级设置-启用Bonjour服务发现那的√去掉。

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

另外就是bridge的username,发现不了可以随便改几个字符试试。

我的config.json和install.sh两个文件已经上传到百度云,链接 密码:luva ,各位可以自行下载参考。

第一次启动总不会很顺利,要么找不到设备,要么报错,显示容器停止。容器停止一般是配置文件语法错误了,或者是相关组件的运行包没有安装。这时可以进去容器的详细界面,查看日志,报错终端机里会有红字和黄字提示,仔细排错,慢慢来吧。

在启动之后打开终端机,如果没有问题,终端机里显示会像下图这样,然后直接输自己在config.json里设的密码连入homekit 。

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

打开手机的家庭,选择添加配件,输入上面的代码,如果一切正常就可以开始调戏siri啦零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit

一些不常用的插座可以点进去把它隐藏掉。

最后,本文也是在参考学习了很多其他前辈大神们的文章基础上完成的,主要学习自github、smzdm、homekit.loli.ren,www.npmjs.com等网站,如有不对还请指出。尤其在github和npmjs上,大部分自己想要的插件都可以找到,同时感谢张大妈的PEKO哑虎呸呸兄,就是看了你的帖子我才去研究homekit的,希望大家都能在玩耍中找到智能家居的乐趣,谢谢大家零基础也可以打造智能家居,利用群晖docker将小米全家桶接入ios Homekit


展开 收起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

4099元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

Synology 群晖 DS923+ NAS网络存储服务器 标准无硬盘

4899元起

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

Synology 群晖 DS1821+ 8盘位 NAS(V1500B、4GB)

7196元起

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

Synology 群晖 DS223 2盘位NAS(Realtek RTD1619B、2GB)

2299元起

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

Synology 群晖 DS720+ 双盘位NAS(J4125、2GB)

4099元起

Synology 群晖 DS1522+ 5盘位NAS(锐龙R1600、8GB)

Synology 群晖 DS1522+ 5盘位NAS(锐龙R1600、8GB)

6399元起

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

群晖(Synology)DS124单盘位NAS网络存储服务器私有云智能相册文件自动同步

1399元起

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

Synology 群晖 DS218+ 2盘位 NAS网络存储服务器 京东云定制版(J3355、2GB)

暂无报价

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

synology群晖nas云存储ds920+中小型企业办公网络存储群辉家庭个人私有云盘四盘位NAS备份硬盘服务器ds918+(DS920+希捷企业级16T*4)

4150元起

Synology 群晖 DS416 企业级 NAS网络存储

Synology 群晖 DS416 企业级 NAS网络存储

暂无报价

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS420+ 4盘位NAS (赛扬J4025、2GB)

3090元起
142评论

  • 精彩
  • 最新
  • 这样硬盘不会休眠,我换成树莓派了。

    校验提示文案

    提交
    早知道先点开看评论了 楼主写的挺认真 但还是树莓派吧

    校验提示文案

    提交
    这确实是一个问题,本想再编辑进主文里的,好在点赞数帮你置顶了,比较在意这个的还是考虑一下再装吧,我目前连续用了2周了,自己觉得还好,但确实会对硬盘多造成负担和废更多的电 [高兴]

    校验提示文案

    提交
    还有7条回复
    收起所有回复
  • 你抢先发了我homepod众测里的主要内容,哈哈哈哈,我要凉了,不过我用的是OZNU的镜像,搭配CONFIG UI使用,可以更无脑一些。

    校验提示文案

    提交
    安装hb的过程可能大同小异,但你这种也是差异化了,我觉得完全可以再写一篇我也学习一下 [傻笑]

    校验提示文案

    提交
    收起所有回复
  • 请教大神,为何我按照文中的方法,找到并上传miio2.db, 可解开是空的,没有任何设备token显示出来?这与米家的版本有关系吗?我在模拟器登陆APP账号,也可以打开设备。但找到的miio2.db 上传后就是没有任何没数据。

    校验提示文案

    提交
    我自己在安装过程中没遇到这个问题,可以试试换一下低版本的米家app再启动一次试试看

    校验提示文案

    提交
    最新版的米家app屏蔽掉了这种方式,需要找老版本的安装,印象中是4.X之前的。

    校验提示文案

    提交
    收起所有回复
  • @Horizonblue iPhone熄屏一阵子就会出现配件无响应,重启WiFi又好了,楼主有遇到过吗?

    校验提示文案

    提交
    没遇到过这种情况,一般无响应可能是插件错误,看看里面有没有红字提示吧

    校验提示文案

    提交
    收起所有回复
  • 我认真看了半天也想这么搞,突然意识到自己的是小米手机,直接可以控制 [皱眉]

    校验提示文案

    提交
    哈哈哈哈真的皮
    给老铁刷个小米智能网关 [呲牙] 价值8金币
    (24小时到账)

    校验提示文案

    提交
    Ios也可以的。。。装个米家😂

    校验提示文案

    提交
    还有12条回复
    收起所有回复
  • siri siri siri Siri C瑞 C瑞 C瑞 西rea xirea CNMD!小爱同学,“诶!”

    校验提示文案

    提交
    [抠鼻] 唤醒词是hey siri,你没说嘿

    校验提示文案

    提交
    收起所有回复
  • 这就可以支持homepod了?

    校验提示文案

    提交
    要用HomePod的话还是得说英语

    校验提示文案

    提交
    收起所有回复
  • 运行后不生成config.json和install.sh两个文件,另外装载路径/root/.homebridge是手动打上去的么?我操作的时候装载路径没有自动生成,是手动打上去的,但日志文件提示/root/.homebridge/.env not found.
    Default env variables will be used.
    /root/.homebridge/package.json not found.
    /root/.homebridge/install.sh not found.
    搞不懂了,求指导

    校验提示文案

    提交
    去看看
    .env 是dev开发模式下需要的,没有的话 会采用默认环境

    校验提示文案

    提交
    收起所有回复
  • 说得我好像看得懂似的……

    校验提示文案

    提交
  • 去年也是在这里学习安装了树莓派Homebridge,后来入了小爱就基本没用过Siri,家里小米的东西二十多件。关键是语音系统只是小米全家桶的一个部分而已

    校验提示文案

    提交
    有100件小米设备,跟你一样入了小爱再也没用Siri了,不过有的自动化还是必须homebridge,所以依然两套系统共用。

    校验提示文案

    提交
    收起所有回复
  • homeassistant玩家路过,怎么啥玩意都有人争?自己用着爽不就行了

    校验提示文案

    提交
  • 这操作,怎么看也不能叫零基础

    校验提示文案

    提交
  • 没有生成config.json和install.sh这两个文件怎么办?

    校验提示文案

    提交
  • 楼主肯定不知道手机小爱的存在,再不济米家也支持语音控制,这折腾这么一番是何苦。

    校验提示文案

    提交
    因为ha和hb还可以接入博联、8266等等其他的智能接入设备…

    校验提示文案

    提交
    拿苹果的方案跟粗粮比?

    校验提示文案

    提交
    还有28条回复
    收起所有回复
  • 为什么不直接用米家app语音控制

    校验提示文案

    提交
    苹果是不是没有这功能啊?找了找没找到

    校验提示文案

    提交
    收起所有回复
  • 运行后不生成config.json和install.sh两个文件,另外装载路径/root/.homebridge是手动打上去的么?我操作的时候装载路径没有自动生成,是手动打上去的,但日志文件提示/root/.homebridge/.env not found.
    Default env variables will be used.
    /root/.homebridge/package.json not found.
    /root/.homebridge/install.sh not found.
    搞不懂了,求指导

    校验提示文案

    提交
  • 沙发,插眼插眼插眼

    校验提示文案

    提交
  • [赞一个] 这操作按照步骤来就是零基础

    校验提示文案

    提交
  • 硬核向。。。又黑又硬洒家受不了啊 [害羞]

    校验提示文案

    提交
  • “群晖x86 CPU NAS一台。目前只有CPU架构为x86,带+号的群晖型号才能安装docker”,我的216j安装不了嘛 [喜极而泣] 是要用后面曲线安装Python法嘛

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
4.1K
扫一下,分享更方便,购买更轻松