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

很久之前就看到可以用苹果手机控制物联网设备,但一直心动没有行动。年底该做的事都完成了,正在计划明年的工作,突然想试试 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控制智能开关了。

转自:https://blog.csdn.net/weixin_43850234/article/details/103751486
如果侵权请联系本站管理删除。

感谢分享,有空也可以试试 nr 的 hb 据说比ha 高八度

另外 如果转载,最好贴上出处。

感谢N大提醒,看到不错帖子分享给大家,减少小白的弯路