智能家居新体验:Zigbee2MQTT与Tuya生态的完美结合

news2024/11/19 10:41:27

01 前言

本文章原文发表于我的微信公众号,请大家关注阅读,涉及的源代码等都在公众号,请搜索公众号: 智能家居NodeRed和HomeAssistant 即可关注。

02 概述

在智能家居领域,Zigbee2MQTT已经成为了许多爱好者和开发者的热门选择,它能无缝的与HomeAssistnat对接,当然现在不是讲如何配置Zigbee2MQTT,也不是讲如何接入HA,因为随便一搜就有一大把教程,今天分享的是在其他地方都看不到的,那就是把Zigbee2MQTT接入云。

03 流程概览

Zigbee2MQTT以下简称Z2m,理论上可以通过NodeRed接入任何云平台,我已经测试过接入华为云、阿里云、涂鸦云,这里主要讲的是接入涂鸦云。在前面曾用两篇文章详细讲解过涂鸦生态云的对接,大家可以通过以下链接阅读前面的文章:

1.如何让本地设备接入涂鸦云(一);

2.如何让本地设备接入涂鸦云(二);

这两篇文章主要讲解涂鸦生态云对接的基本操作,仅能对接单一设备接入且操作复杂,为了简化操作步骤和批量化的接入,我设计了一套NodeRed流程如下:

图片

接入涂鸦生态后的操作界面如下:

图片

用过涂鸦的朋友应该已经发现涂鸦生态的界面没有网关接入的酷炫,但是在功能使用上基本没有区别。

04 流程特点

只要能够接入Z2m的设备都可以接入涂鸦云,因我自有设备有限目前流程暂时只能接入传感器、开关、阀门、类型的设备(窗帘接入正在测试中,下次更新)。

1.无需涂鸦网关;

2.可选HomeAssistant自动发现功能,如不需要可以删除相应节点;

3.HA自动发现为设备,按照自定义方式接入;

4.免设置订阅和发布主题,简化设置流程;

5.用较少的节点,实现复杂的功能;

6.涂鸦分组状态可视化显示;

05 流程使用方法

我把接入流程分成了5个板块,下面逐一对每个板块进行讲解;

图片

板块①

该板块为此流程的核心,其作用是对设备进行定义,打开此节点可以看到如下信息:

图片

设备的定义各键对应的含义如下:

Devices配置

  • id:为每路设备的序号,目前暂无实际用途;

  • Notes:在HA自动发现时的设备名称;

  • Friendly_name:在Z2m中的设备昵称;

  • Key:用于提取Z2m订阅消息的键名,用于读取设备状态;

  • Path:MQTT识别路径;

  • DrvClass:HA中的设备类别;

  • Drv:HA中的设备类别;

  • entities:HA中的实体名称定义;

  • DrvClass:HA中的设备类别;

  • entities:HA中的实体名称定义;

  • Path:MQTT路径,需以“/”结尾;

  • Notes:HA中显示的中文名称;

  • icon:自定义HA图标;

  • DevName:HA中自动发现为设备的名称;

  • TY_Group:分组涂鸦设备的序号;

  • TY_CTL:为tuya功能定义中的标识符(同一组中的标识符不能重复)

    TYG配置(涂鸦信息)

TY_Group:分组涂鸦设备的序号,即和DevicesTY_Group值相等的设备都为同一组别;

ID:在涂鸦生态中的设备名称/设备ID;

Name:仅做分组标识;

把以上信息修改设置完成后,系统定义就基本完成了。

板块②

该部分的主要功能是通过订阅Z2m服务信息以及设备定义生成涂鸦生态所能识别的消息格式,即状态上报至涂鸦服务器,同时它能根据分组编号输出到相应的通道,每路通道对应输出到不同的涂鸦生态设备。限制速率节点能够有效的限制上报消息传输数量,同时也能在状态改变时及时上报状态。

板块③

作用是订阅涂鸦服务的控制命令并解析成Z2m可以识别的命令,从而达到通过涂鸦控制Z2m设备的目的。

板块④

作用是HomeAssistant自动发现为设备,如果不需要,可以将此板块全部删除。

板块⑤

节点本身没有任何意义,目的是连接板块1中的主动查询状态指令,使设备第一时间能够反馈当前状态,让流程看起来更清爽。

为什么要对涂鸦进行分组?

分组不是必须的,完全取决于你对接入涂鸦生态的规划和设备数量。

特别说明:

流程中的MQTT节点,标注有Z2m的节点是连接Z2m的MQTT服务器,标注有HA的节点是连接HA的MQTT服务器,标注有涂鸦的是连接涂鸦云的MQTT设备服务,特别是对涂鸦节点的MQTT服务设置需参考前面的文章设置,每个分组的MQTT服务需要分别设置。

06 流程获取

请关注公众号智能家居NodeRed和HomeAssistant 在粉丝专享专区获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

常见字符函数和字符串函数(下)

1. strncpy 函数的使用 将源的前 number 个字符复制到目标。如果在复制 num 个字符之前找到源 C 字符串的末尾(由 null 字符表示),则目标将填充零,直到写入总数 num 个字符为止。如果 source 长于 num,则不会在 destin…

目标检测 DETR(2020)

文章目录 前言backbone位置编码(二维)encoder、decoderprediction heads损失函数计算 前言 DETR全称是Detection Transformer,是首个基于Transformer的端到端目标检测网络,最大的特点就是不需要预定义的先验anchor,也…

项目没亮点?那就来学下pk功能设计吧

先赞后看,南哥助你Java进阶一大半 麻省理工学院开源的Redis adapter适配器,可以将事件广播到多个单独的 socket.io 服务器节点。这一点和下文精彩的内容相关。 我是南哥,一个Java学习与进阶的领路人。 相信对你通关面试、拿下Offer进入心心念…

湖州市自闭症寄宿学校:个性化教育培养孩子潜能

在湖州市,自闭症寄宿学校正积极探索个性化教育的道路,致力于为自闭症儿童提供最适合他们成长与发展的教育环境。这一理念不仅在当地得到了实践,更在全国范围内产生了深远的影响。今天,我们将目光投向广州,深入了解星贝…

头戴式蓝牙耳机哪个品牌比较好?西圣、声阔、QCY热款实测性能PK

头戴式蓝牙耳机凭借其卓越的音质表现、沉浸式的听音体验以及出色的降噪功能,成为了众多音乐爱好者和通勤人士的首选,随着技术的不断进步,西圣、声阔、QCY等知名品牌纷纷推出了各具魅力的头戴式蓝牙耳机产品,面对它们家的耳机&…

十进制与ip地址转换公式(EXCEL公式)

1、十进制转为ip地址公式 TEXT(INT(C2/16777216),“0”)&“.”&TEXT(INT((C2-INT(C2/16777216)*16777216)/65536),“0”)&“.”&TEXT(INT((C2-INT(C2/16777216)*16777216-INT((C2-INT(C2/16777216)*16777216)/65536)*65536)/256),“0”)&“.”&TEXT(MO…

城市空间设计对居民生活质量的影响:构建宜居城市的蓝图

在快节奏的现代生活中,城市不仅是经济活动的中心,更是人们生活、工作、休闲的综合载体。本文旨在深入探讨城市空间设计如何通过科学规划、人性化考量以及生态融合,为居民打造更加宜居、和谐的生活环境。 1. 促进社区互动与归属感 城市空间设…

揭秘FlashAttention:提升注意力计算的速度与内存效率

论文题目:FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 论文地址:https://arxiv.org/pdf/2205.14135 今天分享一篇论文《FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness》,…

The First项目报告:解读跨链互操作性平台Wormhole

在加密领域,随着公链种类越来越丰富,彼此之间的相对独立,犹如一座座孤悬海外的孤岛,不利于自身生态的发展,因此从资产跨链开始,越来越多的跨链技术被研发出来,多链成为当前区块链的主流概念&…

2024.9.26C++作业

1. 什么是虚函数,什么是纯虚函数? 1.虚函数在基类中声明,使用virtual关键字修饰成员函数,并且允许在派生类中重写。 2.在运行时,允许基类指针或者引用调用这个函数时,根据实际对象类型调用派生类&#xff…

安卓主板_MTK4G/5G音视频记录仪整机及方案定制

音视频记录仪方案,采用联发科MT6877平台八核2* A78 6* A55主频高达2.4GHz, 具有高能低耗特性,搭载Android 12.0智能操作系统,可选4GB32GB/6GB128GB内存,运行流畅。主板集成NFC、双摄像头、防抖以及多种无线数据连接,支…

YOLOv8改进,YOLOv8改进损失函数采用Powerful-IoU(2024年最新IOU),助力涨点

摘要 边界框回归(BBR)是目标检测中的核心任务之一,BBR损失函数显著影响其性能。然而,观察到现有基于IoU的损失函数存在不合理的惩罚因子,导致回归过程中锚框扩展,并显著减缓收敛速度。为了解决这个问题,深入分析了锚框扩展的原因。针对这个问题,提出了一种新的Powerfu…

【C++】类和对象<上>(类的定义,类域,实例化,this指针)

目录 一. 类的定义 【对比c】结构体和类的区别 1. 称呼:变量 or 对象? 2. 类型: 3. 访问限定: 4. c和c结构体使用 5. 相同点: 二. 类域 三. 实例化 1. 1对N 2. 计算大小只考虑成员变量 3. 到此一游 四. …

【深度学习】04-Cnn卷积神经网络-01- 卷积神经网络概述/卷积层/池化层/分类案例精讲

卷积神经网络(CNN,Convolutional Neural Network)是专门用于处理图像数据的神经网络。 图像的基本概念 图像其实是数组: ndarray -> [高,宽,3通道] --> uint8 每个值取值范围0-255,那么…

高空抛物AI检测算法:精准防控,技术革新守护城市安全

近年来,随着城市化进程的加速,高楼大厦如雨后春笋般涌现,但随之而来的高空抛物问题却成为城市管理的一大难题。高空抛物不仅严重威胁行人的安全,还可能引发法律纠纷和社会问题。为了有效预防和减少高空抛物事件的发生,…

pnpm依赖安装失败解决|pnpm项目从一个文件夹复制到另一个文件夹运行失败问题解决-以vbenAdmin项目为例

1 前言 最近在使用vben admin项目迁移时,从一个文件夹复制到另一个文件夹运行不起来,排查了一天,终于把问题排查出来了,特地记录一下,便于自己看也便于大家看。 使用项目安装包版本: v2.11.5 https://gi…

【产教融合】新媒体产业园携手高校,共育数字创意人才

在新媒体浪潮的推动下,数字创意产业正以前所未有的速度蓬勃发展。为了应对这一趋势,新媒体产业园积极响应“产教融合”的号召,携手国内多所顶尖高校,共同开启数字创意人才培养的新篇章。 树莓集团一直以来都在新媒体领域有着卓越的…

uni-app如果自定义tabbar实现底部样式有凸起效果,背景带圆角

想要实现的效果、 大部分可以参考这一篇文章 小程序弹出框是没办法遮挡住底部的tabbar的&#xff0c;解决的办法是使用自定义tabbar。。uni-app小程序如何自定义tabbar-CSDN博客 我们只要改下index.wxml和index. wxs的代码就行了 <view class"tab-bar"><b…

stm32 bootloader跳转程序设计

文章目录 1、bootloader跳转程序设计&#xff08;1&#xff09;跳转程序&#xff08;2&#xff09;、app程序中需要注意<1>、在keil中ROM起始地址和分配的空间大小<2>、在system_stm32f4xx.c中设置VECT_TAB_OFFSET为需要偏移的地址<3>、main函数中使能中断 总…

浅析 Keil 中的 sct 文件

目录 一、程序的存储与运行1、存储2、加载、运行 二、sct 分散加载文件1、简介2、文件格式2.1 加载域2.2 执行域2.3 输入节区描述 3、配置 sct 文件 一、程序的存储与运行 1、存储 程序编译后&#xff0c;应用程序中所有具有同一性质的数据(包括代码)被归到一个域&#xff0c…