Home Assistant -ESP Home接入homekit篇
ESP Home自定义传感器接入homekit
- 开发属于自己的HomeKit设备
- ESP Home简介
- ESP Home安装
- 新建一个ESP Home智能家居设备
- Home kit添加ESP Home智能家居设备
- 修改在Home kit中显示的传感器类型
开发属于自己的HomeKit设备
春节假期的那段时间,自己使用树莓派将小米的智能家具设备和Homekit进行了打通,主要是通过Home Assistant的集成进行实现,奈何资金有限一直没有添更新成员,而且自己想做的一些骚操作市面上能进行实现的产品。这篇文章主要是记录下上上个周末没有去加班抽空出的时间来实现ESP home自定义智能家居设备的过程(偷懒证据)。
ESP Home简介
官网自己看了,主要是通过ESP8266或ESP32实现接入Home Assistant的设备。https://www.esphome.io/
ESP Home安装
- 首页->Getting Started->using the command line通过命令行安装ESP Home配置环境。安装ESP Home前需要Python,笔者这里开发环境是Win10。保姆级官方安装教程:https://www.esphome.io/guides/installing_esphome.html
- Home Assistant内添加ESP Home集成:进入Home Assistant ->配置->设备与服务->添加集成->ESP Home.
新建一个ESP Home智能家居设备
- 新建一个文件夹,用于生成工程。在工程文件夹下打开windows powershell输入
esphome wizard livingroom.yaml
随后按命令行提示进行操作,输入名称或wifi密码、开发板类型等(我这里使用的是nodemcuv2,只是作为一个例子,理论上ESP8266内核和FLASH等资源一样就可以,后续开发会使用单独的模块集成到PCB上)。配置完成后,工程目录会生成livingroom.yaml文件和.esphome文件夹。
- livingroom.yaml为我们要修改的文件,后续的开发基本都是围绕这个文件进行的。livingroom.yaml下可以添加我们所需的传感器或者开关节点。一个简单的延时开关节点:
switch:- platform: gpioid: relay1name: "SW1"pin: D3on_turn_on:- delay: 1000ms- switch.turn_off: relay1
具体每一行的含义参考Components GPIO swich部分
- 我们可以通过yaml的一些语法实现类似自动化的功能,当然也能通过Home Assistant的场景自动化,这里主要是想介绍下这个功能。yaml的判断语法:
- platform: gpioid: relay2name: "SW2"pin: D2on_turn_on:- if:condition:lambda: 'return id(relay1).state;'then:- switch.turn_on: relay3- delay: 1000ms- switch.turn_off: relay3- switch.turn_off: relay2else:- switch.turn_off: relay3- delay: 500ms- switch.turn_off: relay2
更多语法和说明详见:https://www.esphome.io/guides/automations.html
注意,这里的 api 和 ota 的password一定要填否则会生成报错,api 的password后续Home Assistant 添加设备时会用到
yaml文件配置好之后,将ESP8266通过串口线连接电脑,命令行输入
esphome run livingroom.yaml
ESP Home插件会自动进行源码生成和编译,随后选择ESP8266连接的串口号进行固件下载。
Home kit添加ESP Home智能家居设备
- 在集成里面添加ESPHOME,输入我们上面自己定义的开关的IP地址(可以通过路由器查看)、端口默认6053,输入yaml文件中设置的api密码。
- 这时便可以看到一个设备(一个ESP8266)和多个实体(取决于添加的传感器、开关个数)。
- 配置HASS Bridge(home kit)选项把我们的开关和传感器添加进去
- 一些简单的传感器如:开关、二进制传感器等已经能被终端(iPhone、iPad)识别到,但一些比较特殊的传感器就需要在Home Assistant-开者工具中设置->现有实体中编辑实体的状态属性 device_class 要修改为homekit支持的设备类型。也可以在状态 更改设备状态进行调试
修改在Home kit中显示的传感器类型
假如我们在Home kit中添加了一个传感器(以二进制传感器为例、目前也只发现二进制传感器有用),HomeKit中默认显示为人体传感器,但有强迫症的同学想修改为其他传感器类型如:门窗传感器等。在ESP HOME的.YAML文件里面把 device_class 修改为 door 或者其他类型,从新下载固件添加设备HomeKit就能显示所显示的类型。
*这里埋个坑:理论上使用上面的第4点修改Home Assistant-<kbd>开者工具中设置</kbd>-><kbd>现有实体</kbd>中编辑实体的状态属性 **device_class** 也是能实现的,但实际测试过程中不是每次都能生效*。
下图是后面要实现把电脑开关机接入Home Kit的一部分配置文件截图:
- 检测电脑开关机状态的传感器配置 .yaml
- Home Kit显示样图
Home Assistant -ESP Home接入homekit篇相关推荐
- 智汀家庭云与Home Assistant如何接入HomeKit,并连接米家设备
上篇重点介绍了Home Assistant和智汀家庭云的初步安装部署,今天将重点讲述Home Assistant和智汀家庭云如何接入HomeKit,并实现 HomeKit设备功能,即在安卓手机家庭 A ...
- 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant
系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...
- 米家接入HomeKit系列四:HomeBridge搭建、配置与接入米家设备
系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...
- 树莓派siri homekit_米家设备也能喊 Siri 控制,手把手教你把米家设备接入 Homekit
在 如何让米家设备轻松接入 HomeKit? 这篇文章中,我看到了大家对于 HomeKit 的热情,不少小伙伴都表示,文章里主要介绍了不同的方向,但在实际操作过程,想要一份更清晰的「说明书」.想来上一 ...
- 米家接入HomeKit系列三:HomeAssistant接入米家网关
系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...
- esp32 cam接入homekit苹果家庭app
mac平台esp32 cam接入homekit苹果家庭app 一.准备: 1.esp32-cam模块,串口工具 2.brew 二.开始吧 1.安装一些工具 sudo easy_install pip ...
- 树莓派siri homekit_HomeBridge 操作指南:从零开始,将你的米家设备接入 Homekit
在 如何让米家设备轻松接入 HomeKit? 这篇文章中,我看到了大家对于 HomeKit 的热情,不少小伙伴都表示,文章里主要介绍了不同的方向,但在实际操作过程,想要一份更清晰的「说明书」.想来上一 ...
- 不写一行代码,智汀帮你轻松将米家智能家居接入HomeKit
小编曾写过不少关于通过智汀将米家接入HomeKit的教程,尽管步骤和方法相对来说都挺简单的,但很多都需要代码来进行操作.这对于有编程基础的朋友来说不难,但对普通人来说,特别是不懂代码的,有一定程度上的 ...
- 米家接入HomeKit系列一:接入基本原理与开篇
系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...
- Android游戏接入——华为篇
Android游戏接入--华为篇 最近在做游戏接入,接入的方式是Untiy,中间牵扯到了C,所以整理了一些资料是根据自己项目写的,在这里感谢黄孟男的帮助.废话不多说,直接进入今天的主题. 第一步:拿到 ...
最新文章
- IDEA2021.3.2拉取maven报错maven-default-http-blocker解决方法
- 服务器虚拟化平台:VMWare ESX 3.5安装图记
- 二十三种设计模式-六大原则
- mysql与web服务器之间的分离操作
- flask接收前台的form数据
- SQL server常用查询
- asp.net 截屏 截取web页面 源代码
- 1.1万亿!华为第一!
- 牛客网软件测试机考题库,为什么编程题本地测试通过,可是提交时却总报错。求大神们指点。...
- 清除用友所有单据锁定的SQL语句
- 如何使用 MagSafe 外接电池?
- 控制台或者dll中CreateWindow 出错
- springmvc中校验框架(hibernate)
- 定时清理文件夹bat程序
- Hive常用函数大全(一)(关系/数学/逻辑/数值/日期/条件/字符串/集合统计/复杂类型)
- 问佛----如果浮躁了,静下来看看
- 关于边缘计算和边云协同,看这一篇就够了~
- vue实现头部吸顶描点
- 绘声绘影导出视频过大
- 20出头的人该怎么护肤?