如何通过Shelly LoRa Add-on传输虚拟组件数据

概述
本方案说明如何通过长距离LoRa无线电将一个BT Home / 虚拟组件 从一个Shelly设备(发送端)的状态传输到另一个(接收端)设备。通过附加一个Shelly LoRa Add-on对于每个 Gen 3 / Gen 4 设备,您可以在空旷区域内将虚拟的“开/关”、“开/关”或数值推送到最远 5 公里,即使 Wi-Fi 或 BLE 无法覆盖的地方也能实现。
发送端上的Shelly Script监控一个虚拟组件,每当其数值发生变化时,会加密新的状态并通过LoRa进行广播。
接收端的一个辅助脚本会解密数据包,并更新本地虚拟组件(或触发您选择的其他逻辑)。
此设置允许通过LoRa将虚拟组件的状态安全地从一个Shelly设备发送到另一个Shelly设备,模拟传感器数据传输,例如使用自定义虚拟组件和Shelly脚本实现门/窗状态的传递。
先决条件
2× Shelly LoRa扩展模块(一个用于发送端,一个用于接收端)
2× 支持LoRa扩展模块的Shelly设备
逐步操作指南
1. 在发送端设备上创建虚拟组件
打开发送端设备的本地网页界面。
导航至组件。
创建所需的BTHome / 虚拟组件并附加相关的报告传感器。
示例:如果您正在模拟 Shelly BLU Door/Window 传感器,状态通常为“打开”和“关闭”。
2. 设置虚拟组件的值
使用以下函数设置虚拟组件的状态:
Virtual.prototype.setValue(new_value);
3. 安装并修改发送端脚本
使用此处提供的脚本:
修改脚本:
添加Shelly.addStatusHandler()以监控来自传感器的变化。
指定正确的组件ID以准确跟踪更新。您可以在本地网页界面的相应组件详情中找到此ID。
4. 安装并修改接收端脚本
使用此处提供的脚本:
编辑接收端脚本中的以下行以处理并记录接收到的传感器状态:
console.log("Message received: ", decryptedMessage);
此输出将反映虚拟组件的当前状态(例如,“open”或“closed”)。
我们重视您的反馈!
感谢您抽出时间阅读我们的文章!内容是否对您有帮助或有趣?
您的见解能帮助我们改进。我们非常感谢任何反馈。如果您有时间,
请通过以下邮箱与我们分享: