Home Assistant简易智能家居环境搭建
上天我写的那篇获取小米设备token的文章,不少朋友看了之后表示一脸懵比,不知道有啥用,所以特地写了这篇把智能家电接入Home assistant入门的小文,希望能对这些朋友有所帮助。(欢迎入坑
)
一、home assistant介绍
1、介绍
Home Assistant 是一款基于 Python 的智能家居开源系统,目前已经更新到0.106.6。支持小米、博联、mqtt众多品牌的智能家居设备,可以轻松实现设备的语音控制、自动化等。系统主要通过配置 configuration.yaml 文件以组件形式接入各类智能家居设备。
2、与苹果生态系统联动
Home Assistant原生支持苹果homekit,如果我们要启用这个功能,只需要在configuration.yaml 中键入下列一行名保存重启。
homekit:
我们的苹果手机、ipad就可以通过系统自带的“家庭”app连接控制Home Assistant里的设备,siri语音也是没问题的。具体效果见下图:
3、设备接入方法:
大部分的设备遵循 Home Assistant 的分类逻辑,配置时需要遵循分类原则,即
同类设备需包含在大类下,以枚举的方式加入平台。例如:
light: #灯具
- platform: yeelight #yeelight 灯
•••
- platform: xiaomi_miio #小米灯
•••
•••media_player: #媒体播放器
- platform: kodi
•••
- platform: itunes
例如要让Home Assistant支持小米智能插座,只要加入以下代码:
switch:
- platform: xiaomi_miio
name: Original Xiaomi Mi Smart WiFi Socket
host: 192.168.130.59
token: YOUR_TOKEN
这里具体解释下每行代码意思:
第一行switch:表示启用开关组件,以后如果还有“开关”这一大类的所有设备,都要写在这行下面
第二行- platform: xiaomi_miio表示使用的是switch组件下面的“小米及创米各类插座及插线板”
第三行name:后可以自定义你的设备名称,支持中文
第四行host:后输入你的设备局域网ip地址
第五行 token:后输入你的小米开插座32位token
注意:所有wifi设备接入hass都需要提前获取设备的token,小米token获取办法见我的这篇文章
好了,上面扯的有点多,下面是正文。
二、硬件和系统环境
1、硬件
斐讯N1(哪里都能看到你
)
2、系统
armbian 5.94系统
刷机教程参考恩山论坛 。
N1刷机资源看另外一个帖子,除了有armbian,还有安卓系统、游戏模拟器、coreelec等等刷机资源。
3、环境配置
安装好armbian后继续安装docker,我们选择用docker安装hass,可以省去大量的环境配置工作。docker是一个开源的应用容器引擎,开发者可以打包自己的应用到容器里面,然后迁移到其他机器的docker应用中,可以实现快速部署。docker你可以理解成操作系统里的一个子系统。
docker管理是用的portriainer,这里portainer也是以容器的形式运行在docker里。
#拉取portainer镜像
docker pull portainer/portainer
#运行portainer容器,并将服务映射到主机上的9000端口,以后可以通过http://n1的ip地址:9000管理N1主机上的docker服务,具体portainer配置略。
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer portainer/portainer
重点说一下armbian系统和上面刷机教程中更换软件源部分,不解决这个网速问题,轻则心情郁闷,严重的话想砸了电脑!
(1)armbian操作系统的源替换为 ustc中国科技大学后速度尚可。
(2)docker镜像源经我测试包括阿里云的加速功能(至少在移动家庭宽带下)没有效果!
我的解决办法是在n1连接到单位的未批嗯上(移动企业网是固定ip,线路访问速度比家庭宽带要快),当然还有其他优化网络的办法,因为大家都找到的原因,这里就不方便说了。
三、安装Home Assistant
1、以docker模式安装Home assistant
为了降低难度,这里通过portainer以图形界面安装Home Assistant的docker
dockerhub的项目地址:https://hub.docker.com/r/homeassistant/home-assistant
(1)Containers-Add container添加新容器
(2)name为容器名称,随便写个容易记的。
Registry默认为Dockerhub这里不变
image里输入homeassistant/home-assistant:latest 这是ram的镜像,如果是x86主机要选其他项目,不要照抄。
Network ports configuration为里方便调试我们这里选用host模式,就不映射端口到host了。
(3)Volumes里我们把container中的/config映射到host主机里的指定目录,例如/home/hass/config
模式选bind。记住host目录路径需要提前创建好。
(4)Restartpolicy设置Always,这一步是为里每次重启N1后,hass服务会随着docker自动启动。
(5)以上设置完毕后,我们如下图部署容器。此步骤可能会因为你的网络问题导致失败,多试几次吧~~
2、Home Assistant的设置
上面安装顺利的话,我们这时就能访问Home Assistant的网页啦,地址如下,ip地址要改成你的设备ip地址。
(1)初始化,设置用户名和密码
这个用户名密码最好记录下,如果忘记了,可以通过删除hass 配置目录中的.storage隐藏文件夹重置用户名,不影响设备配置。
进入主页面显示如下:
(2)配置config文件夹下configuration.yaml
我们上面docker安装hass时已经把容器的/config映射到host(就是n1)的/home/hass/config文件夹了,所以直接ssh登陆N1后修改对应文件即可
cd /home/hass/config
nano configuration.yaml
默认配置如下:
我们不要改动这些内容,直接从最下面一行开始增加配置。
四、配置home assistant,接入智能家居设备
1、小米智能插座
在configuration.yaml 加入以下代码:
switch:
- platform: xiaomi_miio
name: Original Xiaomi Mi Smart WiFi Socket
host: 192.168.130.59
token: ********此处隐藏,替换成你的设备*******
这里具体解释下每行代码意思:
第一行switch:表示启用开关组件,以后如果还有“开关”这一大类的所有设备,都要写在这行下面
第二行- platform: xiaomi_miio表示使用的是switch组件下面的“小米及创米各类插座及插线板”
第三行name:后可以自定义你的设备名称,支持中文
第四行host:后输入你的设备局域网ip地址
第五行 token:后输入你的小米开插座32位token
注意:所有wifi设备接入hass都需要提前获取设备的token,小米token获取办法见我的这篇文章
2、飞利浦智睿灯泡的代码如下:
light:
- platform: xiaomi_miio
name: light-zhirui
host: 192.168.10.41
token: ********此处隐藏,替换成你的设备*******
model: philips.light.bulb
其他设备配置,请参考这个网站。
4、配置home assistant面板显示内容
登陆hass网页,先重启服务。然后点击网页内容的右上角“。。。”,选择“配置UI”
在BADGES中依次选择配置合适的实体,然后保存。
5、hass网页控制实际效果
这时候我们已经可以通过网页控制设备开关了。
五、苹果系统通过Home Assistant控制设置
1、文章开头已经说了,只要增加下面这行代码,保存后,重启hass服务
homekit:
重启服务我们直接在hass网页操作:
2、登陆后在“配置-服务器配置”中,看点击“检查配置”,如果配置文件语法正确,就提示“配置有效”,否则需要根据错误提示到configuration.yaml 里面排错。
3、在网页最下方点击“重新启动”
4、等待十几秒hass服务重启完成,在网页左下角“通知”栏会有新消息,点进去会给你一个8位数字pin码,记好!
5、掏出手机,打开wifi确保和N1在同一个局域网内。打开家庭app,如下图配置输入8位pin码
点击“添加配件”
选“我没有或无法扫描代码”
点击“输入代码”
6、等待一会就可以看到你刚才添加的设备了~~hass内增加的设备,这里都会自动同步过来,不需要再此配置。
7、你还可以通过添加其他用户的icloud账号把上面这些设备共享给他控制,权限是一样的。如果你在家里有一个ipad,还可以通过把ipad设置为家庭中枢,实现在办公室或者外地实时控制家中的设备!
8、自动化设置,可以根据当日时间、您所在的位置、感应器检测等触发配件或场景。
总结 :
home assistant网页设置部分步骤在第一次安装时没有想起来截图,所以可能对第一次接触的朋友不是很友好,见谅!
目前接入的设备还不够多,我手里还有个斐讯m1和智能插座,都还没有搞定。以后有机会再写。
以上是我个人摸索home assistant的一些经验,希望对大家有用。
























漠北1905
校验提示文案
Memol不卖萌
校验提示文案
iamhyde
校验提示文案
flat
校验提示文案
HeHe_1127
我家是移动宽带,各种设备经常失灵,排查后是移动网的“层”太多了,有时候数据穿透不过来。包括去年(当时是电信网)有两次全小区(还有其他小区)的长时间断网,家里设备彻底瘫痪。所以急需脱离互联网的解决方案。
校验提示文案
什么都想买的贫困户
校验提示文案
值友9656837655
校验提示文案
flying_dog
校验提示文案
汗宝
校验提示文案
Dinky
校验提示文案
flat
校验提示文案
Dinky
校验提示文案
汗宝
校验提示文案
flying_dog
校验提示文案
iamhyde
校验提示文案
值友9656837655
校验提示文案
Memol不卖萌
校验提示文案
什么都想买的贫困户
校验提示文案
HeHe_1127
我家是移动宽带,各种设备经常失灵,排查后是移动网的“层”太多了,有时候数据穿透不过来。包括去年(当时是电信网)有两次全小区(还有其他小区)的长时间断网,家里设备彻底瘫痪。所以急需脱离互联网的解决方案。
校验提示文案
漠北1905
校验提示文案