Zigbee2MQTT多控网关开发专题:【第一篇】系统配置与初始化

01 前言

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

02 概述

基于NodeRed的Zigbee2MQTT多功能多控网关开发专题正式开贴,上一篇文章中已经对该项目开发目的、规划进行过详细介绍,有兴趣的朋友可以通过以下链接访问阅读《Zigbee2MQTT应用开发:实现多控、区域、场景、定时控制与云接入》。

03 项目功能概要

图片

04 本章主题:系统配置和初始化

本章是项目的核心内容,也是该流程中唯一需要自定义数据的部分,只要在这个环节完成数据定义,后续只需要加入各个功能模块即可。以下是系统配置与初始化部分的流程图。

图片

本流程附带了三个小工具

1.流程中存在的变量名称:可以显示当前流程页面中存在的变量名称;

2.删除流程中的所有变量:可以对当前流程页面中存在的变量全部删除;

3.输出配置数据内容:即输出系统的配置信息以供检查;

下面就针对关键节点数据定义”节点进行详细说明,该节点的作用是对Zigbee2MQTT的数据进行定义,为简化操作和方便排错,我制作了一个Excel表以供编写定义:表格分成了如下6个部分:

1.基础信息设置;

2.分组、分区、场景;

3.HA自动发现;

4.涂鸦云;

5.定时;

6.数据合并。

本章只涉及基础信息部分,故暂只对该部分进行说明,样表如下图所示,可在文章末尾网盘中进行下载。

图片

id:为每个开关回路或者设备序号,需保持唯一不可重复;

FN:即FriendName对应Zigbee2MQTT中“昵称”值;

Notes:为每个开关回路或者设备的名称,根据自己喜好自信设置,如果使用HA自动发现,则改值为HA中实体的中文名称;

CH:该选项主要是为多路开关进行设置,例如四路开关1~4路分别为L1、L2、L3、L4,以此来定义每路开关,单路开关则留空或者删除该项;

CMD:定义控制命令,默认为/set,无特殊需要此项可删除不设置;

MC:Master_Control,意为主控,即该回路直接连接的灯具或回路;

DevClass:设备类型,需按照HA定义的设备类型进行设置;

当按照家庭具体开关灯具配置完成后基础配置也就完成,这时可以在表格“合并数据”当内容复制到“数据定义”节点中替换成预设数据,这是可以通过附带的小工工具“输出配置数据内容”查看配置情况,如下图所示:

图片

通过以上设置后,可以设置MQTT节点:“主动查询Z2m设备状态”和“动态订阅Z2m设备主题”,这两个节点设置为Zigbee2MQTT所连接MQTT服务器。

主动查询Z2m设备状态”的作用是通过“设备注册及初始化”节点自动生成查询Zigbee2MQTT的设备状态指令即时输出设备状态,以便快速构建设备信息序列;

动态订阅Z2m设备主题“的作用是通过“设备注册及初始化”节点自动生成动态订阅MQTT服务主题并接收订阅主题信息发送给“主题转换提取”节点生成MQTT状态主题。

完成设置后可以通过Debug节点输出结果如下:

图片

至此,基础设置就已经完成,以后功能定义就极为简单,根据需要适当调整即可,后续更新会不断的添加功能模块,逐步实现预期的功能。

05 结束语

此流程开发编写不易,还望朋友们理解和支持!

请大家点赞、转发以便更多的朋友能够读到本文章,感谢大家的支持与厚爱!

流程代码及配置文档工具请在公众号获取:智能家居NodeRed和HomeAssistant 

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

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

相关文章

Linux shellcheck工具

安装工具 通过linux yum源下载,可能因为yum源的问题找不到软件包,或者下载的软件包版本太旧。 ShellCheck的源代码托管在GitHub上(推荐下载方式): GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts 对下…

VSCode搭建C/C++开发环境【Windows】

VSCode搭建C/C开发环境 1. 配置C/C开发环境1.1 下载和配置MinGW-w64编译器套件1.2 安装C/C插件 2. 在VSCode上编写C语言代码,并编译执行2.1 先打开一个文件夹,写一份C语言代码2.2 设置C/C编译的选项:c_cpp_properties.json2.3 创建执行任务&a…

Unity MVC框架1-2 实战分析

该课程资源来源于唐老狮,吃水不忘打井人,不胜感激 Unity MVC框架演示 1-1 理论分析-CSDN博客 首先你需要知道什么mvc框架,并且对三个层级有个比较清晰的认识,当然不清楚也好,下面例子中将会十分细心地让你理解&#x…

光控资本:牛市一般维持多长时间?牛市的轮涨顺序是什么?

牛市继续多长时间没有一个统一标准,我们是无法判断牛市什么时候到来,什么时候结束的。以A股牛市前史为例,继续时间从几十天到几年的情况都有,是没有规则可循的,现在A股继续最久的一次牛市是862天。 纵观A股前史&#…

【路径规划】创建末端执行器的路径,导入URDF模型,使用逆向运动学进行路径规划

摘要 本文通过路径规划为机器人末端执行器生成运动路径,采用URDF(Unified Robot Description Format)导入机器人模型,并结合逆向运动学进行路径规划和控制。使用Matlab进行建模和仿真,以确保执行器沿预定路径顺利运动…

API调用comfyui工作流,做一个自己的app,chatgpt给我写的前端,一键创建自己的卡通形象,附源码

前言 工具介绍 首先 comfyui你是少不了的,这个是工作流的后端支持,用这个去调试工作流和生成API可调用文件 前端我们就用很流行的gradio吧,什么你一时半会没有学gradio的计划,没事,笔者也没系统学过,我干…

Ubuntu18.04安装cuda11.1(出现c++版本问题)

一、概述 需要使用到ubuntu18.04进行cuda的配置,最新版本的cuda跟pytorch的版本不太适配,所以为了能够复现,我选择了一些老版本的cuda11,其使用的范围更加广泛。将自己 二、具体操作 (一)安装流程 1.官网…

[Linux#62][TCP] 首位长度:封装与分用 | 序号:可靠性原理 | 滑动窗口:流量控制

目录 一. 认识TCP协议的报头 1.TCP头部格式 2. TCP协议的特点 二. TCP如何封装与分用 TCP 报文封装与解包 如何封装解包,如何分用 分离有效载荷 隐含问题:TCP 与 UDP 报头的区别 封装和解包的逆向过程 如何分用 TCP 报文 如何通过端口号找到绑…

帝国CMS系统开启https后,无法登陆后台的原因和解决方法

今天本地配置好了帝国CMS7.5,传去服务器后,使用http访问一切正常。但是当开启了https(SSL)后,后台竟然无法登陆进去了。 输入账号密码后,点击登陆,跳转到/e/admin/ecmsadmin.php就变成页面一片…

多线程会在一个事务里面吗?

目录 多线程会在一个事务里面吗? 多线程、数据库事务以及数据库连接之间的关系 Spring的事务管理​​​​​​​ 声明式事务Transactional的实现原理 声明式事务Transactional的失效场景 Transactional注解的方法不是public为什么会失效 Spring AOP的代理机制…

【C++】——继承(下)

【C】——继承(下) 5 继承与友元6 继承与静态成员7 多继承7.1 继承模型7.2 菱形继承的问题7.3 虚继承7.4 多继承中的指针偏移问题 8 组合与继承 5 继承与友元 友元关系不能被继承。即一个函数是父类的友元函数,但不是子类的友元函数。也就是说…

【C++】用红黑树模拟实现set与map

目录 一、红黑树的完善: 1、红黑树节点模版的修改: 2、仿函数在模拟实现中的应用: 3、新增迭代器: 4、红黑树中的迭代器实现: 二、set与map的模拟实现: 1、insert: 2、map的[ ]: 三、测…

HTML的介绍

HTML HTML是一种超文本标记语言,超文本是指,除了文本之外,还可能包含图片,音频,或者评注等的 文本形式,比文本强大,通过链接和交互方式来组织和呈现信息.标记语言是指,由标签构成的语言.HTML定义了多种不同的标签,用来表示不同的内容. 标签的介绍: 1.<h3> 三级 </h3&…

如何彻底掌握 JavaScript 23种设计模式

设计模式是解决特定问题的常用解决方案&#xff0c;它们可以帮助开发者编写更清晰、可维护、可扩展的代码。在 JavaScript 中&#xff0c;常见的设计模式可以分为三大类&#xff1a;创建型模式、结构型模式 和 行为型模式。本文将全面介绍 JavaScript 中常见的设计模式&#xf…

云计算第四阶段 CLOUD2周目 01-03

国庆假期前&#xff0c;给小伙伴们更行完了云计算CLOUD第一周目的内容&#xff0c;现在为大家更行云计算CLOUD二周目内容&#xff0c;内容涉及K8S组件的添加与使用&#xff0c;K8S集群的搭建。最重要的主体还是资源文件的编写。 (*^▽^*) 环境准备&#xff1a; 主机清单 主机…

【D3.js in Action 3 精译_033】4.1.0 DIY 实战:如何通过学习 d3.autoType 函数深度参与 D3 生态建设

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

基于YOLO11/v10/v8/v5深度学习的安检X光危险品检测与识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

Microsoft Visual Studio安装gtest

1. 参考【Windows Visual Studio下安装和使用google test&#xff08;gtest&#xff09;】 https://blog.csdn.net/Bule_Zst/article/details/78420894 2. 编译gtest使用Win32模式。 3. 配置属性&#xff0c;C/C&#xff0c;常规&#xff0c;附加包含目录 …

Zilliz获Forrester报告全球第一;OB支持向量能力;Azure发布DiskANN;阿里云PG发布内置分析引擎

重要更新 1. Azure发布PostgreSQL向量索引扩展DiskANN&#xff0c;声称在构建HNSW/IVFFlat索引上&#xff0c;速度、精准度都超越pg_vector&#xff0c;并解决了pg_vector长期存在的偶发性返回错误结果的问题( [1] )。 2. 阿里云RDS PostgreSQL 发布AP加速引擎&#xff08;rds…

《Programming from the Ground Up》读后感

之所以看这本书&#xff0c;是想了解一些跟汇编相关的知识&#xff0c;打开这本书后就被作者的观点——“If you don’t understand something the first time, reread it. If you still don’t understand it, it is sometimes best to take it by faith and come back to it …