群晖docker安装 homeassistant homebridge homekit 基础入门

安稳与你 提交于 2020-01-02 10:36:14

很久之前就看到可以用苹果手机控制物联网设备,但一直心动没有行动。年底该做的事都完成了,正在计划明年的工作,突然想试试 homeassistant + homekit 。家里有群晖docker,于是决定使用群晖docker安装 homeassistant homebridge homekit玩玩。看了几遍相关的文章心里有了底,非常感谢前辈无私的奉献,有了前辈们的贡献才使得咱们能有机会玩玩HA+HB。跟着前辈们的文章安装也走了不少弯路,主要原因有文章撰写时间比较久远,大多数文章是17年写的,到19年底很多套件有了较大的变化,有的组件去除了、有组件整合了,造成安装配置方法变了,跟着老方法肯定调不通。另外就是我认为应该写的必要细节省略了,造成调不通。写这篇文章的目的是记录我走过的弯路,也让最近想入坑的少走弯路。我大概花了2天的时间有了一个基本的样子,希望看了我这篇文章可以半天跳出水坑。下面是做好的苹果手机home主页截图,用mqtt模拟了房间温度、灯、开关,另外还有群晖上的PT下载软件Transmission。
在这里插入图片描述

一、homeassistant安装

homeassistant是一个可以接入、管理、控制智能设备的平台,所有智能设备都可以在这完成对接。小米、MQTT设备都可以。好了话不多说开始干。基本条件:

  • 有一个蜗牛星际的黑群晖,可以装docker。
  • 有一个苹果手机。

docker使用过一段时间,相关镜像安装套路还是比较熟悉。

下载镜像

打开docker,点击“注册表”,搜索框输入“homeassistant”,常理都是选择星标最高的,选中第一个下载。此步骤只需要做一次,镜像大小1G左右下载需要一点时间。
在这里插入图片描述

创建homeassistant容器

创建homeassistant文件目录

创建容器之前要先创建一个homeassistant目录给docker用。我是通过群File Station创建的。创建好的路径是/docker/homeassistant。准备好了可以进行下一步

创建容器

点击“映像”菜单,选中刚下载好的homeassistant镜像,点启动(我认为这个启动的的主要功能是创建容器,顺带启动容器)
在这里插入图片描述
在这里插入图片描述

设置配置文件卷

把前面创建的目录映射到homeassistant的默认配置目录
在这里插入图片描述

网络设置

在这里插入图片描述

环境变量设置

TZ值= Asia/Shanghai,环境变量是否一定要设置我不太确定,我也是跟着设置的。有的文章这个地方差异很大,所以我觉得这个地方不重要。我看了英文原文但忘记怎么说的了,欢迎新同学指正。
在这里插入图片描述

查看容器运行状态

在这里插入图片描述

检查运行状态

可以点击“详情”中的“日志”或“终端机”输出内容,这是基本技能对后面的排除问题非常有帮助。不出意外到这就安装完成。
在这里插入图片描述
创建容器只需要操作一次,以后要重启或修改配置可以在容器项进行相关操作
在这里插入图片描述

第三步:登录

用浏览器访问 http://IP:8123 就可以看到界面,创建用户、设置家庭位置。设置后可以看见日出日落时间、一周天气预告。我们的目标是添加智能设备并且在苹果手机中能够控制智能设备。在这里插入图片描述
在这里插入图片描述

二、MQTT代理安装

HA可以接很多成品智能设备,但我家没有。我只有几个eps8266的开发版与几个DHT22温度传感器。理所当然的就想到把esp8266接入HA。比较好的方法就是用MQTT协议,这就必须安装MQTT 代理。早期的HA内置MQTT,但最新HA已经取消内置MQTT。一开始按照一些老的文章去弄始终不得入门,走了不少弯路。废话少说,下面开始安装MQTT。

下载映像

在docker的注册表项搜索mqtt,排在第一就是咱们要安装的MQTT镜像。选中镜像点击下载,选择最新版本,这一步灰常简单。
在这里插入图片描述

创建配置文件夹

下载映像的同时到群晖文件系统docker目录下创建一个mosquitto目录以及3个子目录备用。
在这里插入图片描述

创建容器

映像下载好后,点击“映像”菜单—>选中刚下好的eclipse-mosquitto mqtt映像—>点击“启动”在这里插入图片描述
点击高级设置在这里插入图片描述
映射本地路径在这里插入图片描述
设置网络,其它按默认然后点击应用,在这里插入图片描述
点击“下一步”创建并启动容器在这里插入图片描述查看容器运行状态在这里插入图片描述

三、在homeassistant中配置MQTT协议智能设备

接入智能设备

修改配置文件 docker/homeassistant/configuration.yaml,配置文件我不知到是截图好还是插入代码好,为了方便复制还是插入文本代码吧。
在这里插入图片描述
在配置文件底部增加如下配,配置内容是连接mqtt代理服务器,配置一个开关、一盏灯、一个温度传感器。

#连接刚装好的mqtt代理服务,修改broker 后的broker:xxx.xxx.xxx.xxx是刚才安装mqtt的群晖地址
mqtt:
  broker: 192.168.1.15
  discovery: true
  discovery_prefix: homeassistant
#配置一个开关
switch:
  - platform: mqtt
    name: "Bedroom Switch"
    state_topic: "home/bedroom/switch1"
    command_topic: "home/bedroom/switch1"
    payload_on: "ON"
    payload_off: "OFF"
#配置一盏灯
light:
  #设备类型 MQTT
  - platform: mqtt
  # 设备名字
    name: "LED light"
  # HASS标准格式  状态话题  HASS接收来自设备的状态信息
    state_topic: "light/led01/state"
  # HASS标准格式  命令话题  HASS发送控制设备的命令
    command_topic: "light/led01/state"
  # 命令格式  on 和 off
    payload_on: "on"
    payload_off: "off"
#配置一个温度传感器
sensor:
  - platform: mqtt
    name: "Temperature"
    state_topic: "sensor/temperature"
    unit_of_measurement: '°C'
    value_template: "{{ value_json.temperature }}"
  - platform: mqtt
    name: "Humidity"
    state_topic: "sensor/temperature"
    unit_of_measurement: '%'
    value_template: "{{ value_json.humidity }}"

在服务器控制里可以检查配置是否正确,重启服务.
在这里插入图片描述
在这里插入图片描述

在概览中展示智能设备

重启服务后就应该可以看见刚才配置的智能设备了.在概览中展示智能设备.
概览—>配置UI—>"+"

在这里插入图片描述

在这里插入图片描述
其实这一步大家可以自己多尝试不同的卡片,实例是创建一个实体卡片。
在这里插入图片描述
把刚才在配置文件中添加的灯、开关、温度传感器添加到一个实体卡片,当然也可以添加到灯卡片、传感器卡片等等。

在这里插入图片描述
保存后概览页面就多了一个卡片,Home Assistant 中的效果如图 。智能设备已经接入HA.最后一步就是HA通过HomeBridge连接到HomeKit(苹果的home应用) 实现首图展示的功能。ESP8266如何通过MQTT把数据传输给HA或MQTT代理服务网上很多文章,搜索ESP8266+MQTT就可以找到。
在这里插入图片描述

四、连接苹果手机

HA中配置HomeBridge

这是连接苹果手机的关键步骤,也是整个环节中非常要的一环。但这一步现在非常简单,可以说一句话就能解决。以前的文章介绍是要单独安装HomeBridge,我的部分截图也能见证我单独安装了。但是根据前辈们的文章操作安装必须的mode、配置认证等等完了就是不通,到了最后败在了“认证”环节。新的HA改了认证方式按老的方法肯定不行。正在我一筹莫展的时候看见了https://bbs.hassbian.com/thread-6062-1-1.html 这篇文章 ,阅读了这篇文章之后才知道新的homeassistant不再需要单独安装HomeBridge,最新的homeassistant集成了HomeBridge。真是雪中送碳!!!
按文章指导,修改配置文件 docker/homeassistant/configuration.yaml,增加一行homekit: (冒号后面有一个空格),重启服务。
在这里插入图片描述

HomeKit连接HA

重启后通知出现一个1就表示成了!!!
在这里插入图片描述
点击通知可以看到一窜8位数字,这就是HomeKit设置代码。在这里插入图片描述
如果代码不出现或想重新配置home,可以删除.homekit.state文件然后重启HA服务,CODE又出现在老地方了。
在这里插入图片描述
打开苹果手机的HOME应用开始连接
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
输入8位代码。如果输入8位代码没有添加成功可以重启手机试试。
在这里插入图片描述

结束语

输入代码后智能设备就显示在苹果手机的Home中了,咱们就可以用手或Siri控制智能开关了。
在这里插入图片描述
写于2020-1-1

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!