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安装

  1. 首页->Getting Started->using the command line通过命令行安装ESP Home配置环境。安装ESP Home前需要Python,笔者这里开发环境是Win10。保姆级官方安装教程:https://www.esphome.io/guides/installing_esphome.html
  2. Home Assistant内添加ESP Home集成:进入Home Assistant ->配置->设备与服务->添加集成->ESP Home.

新建一个ESP Home智能家居设备

  1. 新建一个文件夹,用于生成工程。在工程文件夹下打开windows powershell输入

esphome wizard livingroom.yaml

随后按命令行提示进行操作,输入名称或wifi密码、开发板类型等(我这里使用的是nodemcuv2,只是作为一个例子,理论上ESP8266内核和FLASH等资源一样就可以,后续开发会使用单独的模块集成到PCB上)。配置完成后,工程目录会生成livingroom.yaml文件和.esphome文件夹。

  1. livingroom.yaml为我们要修改的文件,后续的开发基本都是围绕这个文件进行的。livingroom.yaml下可以添加我们所需的传感器或者开关节点。一个简单的延时开关节点:
switch:- platform: gpioid: relay1name: "SW1"pin: D3on_turn_on:- delay: 1000ms- switch.turn_off: relay1

具体每一行的含义参考Components GPIO swich部分

  1. 我们可以通过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

  1. 注意,这里的 api 和 ota 的password一定要填否则会生成报错,api 的password后续Home Assistant 添加设备时会用到

  2. yaml文件配置好之后,将ESP8266通过串口线连接电脑,命令行输入

esphome run livingroom.yaml

ESP Home插件会自动进行源码生成和编译,随后选择ESP8266连接的串口号进行固件下载。

Home kit添加ESP Home智能家居设备

  1. 在集成里面添加ESPHOME,输入我们上面自己定义的开关的IP地址(可以通过路由器查看)、端口默认6053,输入yaml文件中设置的api密码。
  2. 这时便可以看到一个设备(一个ESP8266)和多个实体(取决于添加的传感器、开关个数)。
  3. 配置HASS Bridge(home kit)选项把我们的开关和传感器添加进去
  4. 一些简单的传感器如:开关、二进制传感器等已经能被终端(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的一部分配置文件截图:

  1. 检测电脑开关机状态的传感器配置 .yaml
  2. Home Kit显示样图

Home Assistant -ESP Home接入homekit篇相关推荐

  1. 智汀家庭云与Home Assistant如何接入HomeKit,并连接米家设备

    上篇重点介绍了Home Assistant和智汀家庭云的初步安装部署,今天将重点讲述Home Assistant和智汀家庭云如何接入HomeKit,并实现 HomeKit设备功能,即在安卓手机家庭 A ...

  2. 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant

    系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...

  3. 米家接入HomeKit系列四:HomeBridge搭建、配置与接入米家设备

    系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...

  4. 树莓派siri homekit_米家设备也能喊 Siri 控制,手把手教你把米家设备接入 Homekit

    在 如何让米家设备轻松接入 HomeKit? 这篇文章中,我看到了大家对于 HomeKit 的热情,不少小伙伴都表示,文章里主要介绍了不同的方向,但在实际操作过程,想要一份更清晰的「说明书」.想来上一 ...

  5. 米家接入HomeKit系列三:HomeAssistant接入米家网关

    系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...

  6. esp32 cam接入homekit苹果家庭app

    mac平台esp32 cam接入homekit苹果家庭app 一.准备: 1.esp32-cam模块,串口工具 2.brew 二.开始吧 1.安装一些工具 sudo easy_install pip ...

  7. 树莓派siri homekit_HomeBridge 操作指南:从零开始,将你的米家设备接入 Homekit

    在 如何让米家设备轻松接入 HomeKit? 这篇文章中,我看到了大家对于 HomeKit 的热情,不少小伙伴都表示,文章里主要介绍了不同的方向,但在实际操作过程,想要一份更清晰的「说明书」.想来上一 ...

  8. 不写一行代码,智汀帮你轻松将米家智能家居接入HomeKit

    小编曾写过不少关于通过智汀将米家接入HomeKit的教程,尽管步骤和方法相对来说都挺简单的,但很多都需要代码来进行操作.这对于有编程基础的朋友来说不难,但对普通人来说,特别是不懂代码的,有一定程度上的 ...

  9. 米家接入HomeKit系列一:接入基本原理与开篇

    系列文章 米家接入HomeKit系列一:接入基本原理与开篇 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant 米家接入HomeKit系列三:HomeAssist ...

  10. Android游戏接入——华为篇

    Android游戏接入--华为篇 最近在做游戏接入,接入的方式是Untiy,中间牵扯到了C,所以整理了一些资料是根据自己项目写的,在这里感谢黄孟男的帮助.废话不多说,直接进入今天的主题. 第一步:拿到 ...

最新文章

  1. IDEA2021.3.2拉取maven报错maven-default-http-blocker解决方法
  2. 服务器虚拟化平台:VMWare ESX 3.5安装图记
  3. 二十三种设计模式-六大原则
  4. mysql与web服务器之间的分离操作
  5. flask接收前台的form数据
  6. SQL server常用查询
  7. asp.net 截屏 截取web页面 源代码
  8. 1.1万亿!华为第一!
  9. 牛客网软件测试机考题库,为什么编程题本地测试通过,可是提交时却总报错。求大神们指点。...
  10. 清除用友所有单据锁定的SQL语句
  11. 如何使用 MagSafe 外接电池?
  12. 控制台或者dll中CreateWindow 出错
  13. springmvc中校验框架(hibernate)
  14. 定时清理文件夹bat程序
  15. Hive常用函数大全(一)(关系/数学/逻辑/数值/日期/条件/字符串/集合统计/复杂类型)
  16. 问佛----如果浮躁了,静下来看看
  17. 关于边缘计算和边云协同,看这一篇就够了~
  18. vue实现头部吸顶描点
  19. 绘声绘影导出视频过大
  20. 20出头的人该怎么护肤?

热门文章

  1. 百度经纬度与高德经纬度互转
  2. 正态分布基本概念及公式
  3. 矩阵平方差公式成立条件的探讨
  4. 基于AD5933 生物复阻抗
  5. win10 共享文件夹 nplayer查看共享文件
  6. 更改Ansys Workbench的语言的方法
  7. 哪个相机可以拍gif动图_摄制 GIF 动图的相机软件
  8. 如何调整gif动图的速度?1分钟在线调节gif动图速度
  9. oracle中分号和双引号用法,深入理解oracle中单引号与双引号的用法区别
  10. 完美破解PS插件Parker