首页 > 其他分享 >HomeAssistant|【实战篇】基于MQTT的零代码、少配置,设备高效接入方法

HomeAssistant|【实战篇】基于MQTT的零代码、少配置,设备高效接入方法

时间:2024-09-23 14:50:11浏览次数:12  
标签:实战篇 HomeKit 接入 MQTT HomeAssistant HA 设备

HomeAssistant是一个智能家居 自动化平台,允许跨生态跨平台的设备连接到一起,做统一管理和设备自动化等功能,十分强大和灵活;

在前面两篇关于MQTT接入HomeAssistant的文章【入门篇】【高级篇】中,我们已经了解到如何把 一个MQTT设备接入到HA,并且也知道了一些比较高级的用法,但是文章中提及到的例子都是用PC端来模拟设备端,缺少一点真实性那么今天这篇文章就直接使用一个真实的物理设备来演示如何接入;

在这一篇中,我们用到了来自四博智联(https://doit.am/#/) 的多传感器设备,外观如下;

图片

多传感器

1、硬件功能介绍

  1. 这是一个多传感器集设备4-IN-1,也就是把温度、湿度、亮度、人体移动这四个合为一体;

  2. 支持通过MQTT接入HomeAssistant

  3. 支持通过苹果HomeKit协议接入HomeAssistant

2、如何通过MQTT接入HomeAssistant平台

我们从入门篇知道MQTT接入HA的方法就是先把设备和HA接入到同一个MQTT服务器,架构图如下:

图片

MQTT接入架构图

接下来看设备端的具体接入操作流程

  1. 准备MQTT Broker搭建和在HA在启动MQTT,然后配置接入MQTT Broker具体方法可以见【入门篇】,这里不再赘述;

  2. 下载四博公司的app:CozyLife,并且安装;

    图片

  3. 把设备配置入网:

    a. 如果是全新设备则上电就自动进入配网状态

    b. 如果非全新,则需拿一根牙签捅着Rest孔,大概10秒左右,设备就进入配网模式;

    图片

    Rest孔位置

    c. 在设备进入配网模式后,手机打开CozyLifeAPP,且手机已经链接一个2.4G的Wi-Fi;

    d. 在添加界面则自动发现到设备,点击目标设备添加,等待添加过程即可;

    整体的app配置流程见下图展示:

    图片

  4. 把设备配置入网后,我们就要把MQTT Broker的地址配置到设备上,在CozyLife上的配置流程如下;

    整体流程如下图展示

    图片

    1. 点击设备界面的HA图标进入HA MQTT配置界面

    2. 根据界面启动Homeassistant

    3. 在配置界面填入MQTT配置信息

    4. 登录HomeAssistant查看MQTT设备连接情况

至此,我们已经成功把这个多传感器配置连接到HomeAssistant平台;

那么后续我们可用利用HA平台的自动化规则或者场景实现很多有意思的功能,比如人来灯亮,或者温度太高自动打开空调等等;

3、如何把设备配置到HomeKit

与四博的同学沟通得知,这个也是一个支持HomeKit协议设备,意味着我们可用用苹果的Home,或者用HomeAssistant内置的HomeKit控制器来添加设备;

接下来介绍如何通过HA平台的HomeKit控制器来接入这个设备;

  1. 把设备先通过CozyLifeAPP配置上网络,流程请参考第二小节;

  2. 打开HA平台的添加集成,搜索:Apple→Homekit设备

  3. Homekit设备集成自动发现到未配置的HomeKit设备

  4. 点击添加输入配对码(这个设备的配对码是:11111111)

  5. 等待添加完成,选择设备摆放区域;

  6. 此时可用看到HomeKit集成出现了一个设备

  7. 点击进去可以看到此设备的具体情况(和通过MQTT接入的功能一致)

整体流程如下图展示

图片

设备通过Homekit添加流程

4、总结

至此,我们把一款真实的多传感器设备,通过MQTTHomeKit协议自主接入到HomeAssistant平台,同时这个设备本身也是支持CozyLifeAPP接入,这么看来这个设备不仅是一个多传感器设备,同时也是一个多协议集成的设备;

标签:实战篇,HomeKit,接入,MQTT,HomeAssistant,HA,设备
From: https://blog.csdn.net/weixin_37694490/article/details/142458089

相关文章

  • Python 客户端类库之paho-mqtt学习总结
    实践环境Python3.9.13paho-mqtt2.1.0简介EclipsePahoMQTTPython客户端类库实现了MQTT协议版本5.0,3.1.1,和3.1。该类库提供一个客户端类,允许应用连接到MQTT代理并发布消息,订阅主题并检索发布的消息。同时还提供了一个写其它辅助函数,使向MQTT服务器发布一次性消息变......
  • 使用Postman测试MQTT协议接口
    MQTT概述MQTT(MessageTelemetryTransport)是一种用于物联网(IoT)的消息传递协议。它的使用范围从家庭自动化和可穿戴设备的小型设备到大型工业机械的自动化。它是一种轻量级技术,以发布/订阅模式为模型,其中连接到单个代理的客户端可以将消息发布到不同的主题,并订阅主题以接收来自......
  • .NET 开源高性能 MQTT 类库
    目录前言项目介绍功能说明客户端功能服务器功能功能特点应用场景使用方法1、安装MQTTnet2、服务端代码3、客户端代码项目地址总结最后前言随着物联网(IoT)技术的迅猛发展,MQTT(消息队列遥测传输)协议凭借其轻量级和高效性,已成为众多物联网应用的首选通信标准。......
  • 【实战篇】MySQL是怎么保证高可用的?
    背景在一个主备关系中,每个备库接收主库的binlog并执行。正常情况下,只要主库执行更新生成的所有binlog,都可以传到备库并被正确地执行,备库就能达到跟主库一致的状态,这就是最终一致性。但是,MySQL要提供高可用能力,只有最终一致性是不够的。主备切换可能是一个主动运维动......
  • 【实战篇】MySQL是怎么保证主备一致的?
    MySQL主备的基本原理如图1所示就是基本的主备切换流程。在状态1中,客户端的读写都直接访问节点A,而节点B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持节点B和A的数据是相同的。当需要切换的时候,就切成状态2。这时候客户端读写访问的都是节......
  • MQTT mosquitto, centos mosquitto[24330]: 1726226300: Socket error on client <unk
    Sep1319:18:20VM-8-12-centosmosquitto[24330]:1726226300:Socketerroronclient<unknown>,disconnecting.报错解释:这个错误来自于在CentOS系统上运行的MosquittoMQTT代理。错误信息表明客户端在尝试与Mosquitto通信时遇到了套接字错误(Socketerror),错误后面的数字可能是......
  • Redis实现发布/订阅功能(实战篇)
    前言博主在学习Redis实现发布订阅功能的时候,踩了太多的坑。不是讲解不详细,看的一知半解;就是代码有问题,实际压根跑不起来!于是博主萌生了自己写一个最新版且全程无错的博客供各位参考。希望各位不要把我才过的坑再踩一遍。(实战篇的所有代码均由本人测试,全程无Bug。)废话不多......
  • 交叉编译 MQTT 库
    一.编译openssl库1.原因因为MQTT客户端库依赖于openssl库,所以通常在移植MQTT客户端库的时候,需要先移植openssl、交叉编译openssl得到链接库文件以及头文件,然后再来编译MQTT客户端库。2.交叉编译openssl库流程2.1下载首先在官网上下载openssl源码,官网......
  • modbus调试助手/mqtt调试工具/超轻巧物联网组件/多线程实时采集/各种协议支持
    一、前言说明搞物联网开发很多年,用的最多的当属modbus协议,一个稳定好用的物联网组件是物联网平台持续运行多年的基石,所以这个物联网组件从一开始就定位于自研,为了满足各种场景的需求,当然最重要的一点就是大大提升了自己对该协议的深度理解和应用,尤其是面对各种场景需求,逐步调整迭......
  • 【IPV6从入门到起飞】5-2 IPV6+Home Assistant(ESP32+MQTT+DHT11+BH1750)传感器采集上
    IPV6+HomeAssistant[ESP32+MQTT+DHT11+BH1750]传感器采集上传监测1背景2实现效果3HomeAssistant配置3-1MQTT配置3-2yaml配置3-3加载配置4ESP32搭建4-1开发环境4-2工程代码5实现效果1背景在上一小节【IPV6从入门到起飞】5-1IPV6+HomeAssistant(搭建......