允许您在没有供应商网桥或网关的情况下使用 Zigbee 设备。
它桥接事件并允许您通过 MQTT 控制 Zigbee 设备。通过这种方式,您可以将 Zigbee 设备与您正在使用的任何智能家居基础设施集成。
该文档为您提供了启动和运行所需的所有信息!如果这是您第一次访问,请确保不要跳过某些部分,因为其中可能有重要的详细信息。
如果您不熟悉Zigbee术语,请务必阅读本文以帮助您解决问题。
Zigbee2MQTT 与(几乎)每个家庭自动化解决方案都能很好地集成,因为它使用 MQTT。然而,以下集成值得一提:
Zigbee2MQTT 由三个模块组成,每个模块都在自己的 Github 项目中开发。从硬件(适配器)开始,向上移动; zigbee-herdsman 连接到您的 Zigbee 适配器,并使 API 可供更高级别的堆栈使用。例如,对于 Texas Instruments 硬件,zigbee-herdsman 使用 TI zStack 监控和测试 API 与适配器进行通信。 Zigbee-herdsman 处理核心 Zigbee 通信。 zigbee-herdsman-converters 模块处理从单个设备模型到它们支持的 Zigbee 集群的映射。 Zigbee 集群是基本协议之上的 Zigbee 协议层,定义了诸如灯、传感器和交换机如何通过 Zigbee 网络相互通信等内容。最后,Zigbee2MQTT模块驱动zigbee-herdsman并将zigbee消息映射到MQTT消息。 Zigbee2MQTT 还跟踪系统的状态。它使用database.db
文件来存储这个状态;包含连接设备及其功能的 JSON 数据库的文本文件。 Zigbee2MQTT 提供基于 Web 的界面,允许监控和配置。
Zigbee2MQTT 使用 TypeScript(目前部分使用)。因此,在对lib/
目录中的文件进行更改后,您需要重新编译 Zigbee2MQTT。这可以通过执行npm run build
来完成。为了更快地开发,您可以在另一个终端会话中运行npm run build
npm run build-watch
,这将在您更改文件时重新编译。在第一次构建之前,您需要运行npm install --include=dev
在提交更改之前运行npm run test-with-coverage
、 npm run pretty:check
和npm run eslint
请参阅支持的设备以检查您的设备是否受支持。列表相当广泛,包括来自小米、宜家、飞利浦、欧司朗等供应商的设备。
如果它未在支持的设备中列出,则可以(相当)轻松地添加支持,请参阅如何支持新设备。
如果您需要帮助,可以检查未解决的问题。当您能够修复问题或添加新设备或只是在社交媒体上分享爱时,请随时帮助处理拉取请求。