给热水器装上“电量显示”:用 Shelly Gen4 脚本实现零改装水量预测 思路#把”电量”翻译成”水量”传统的解决办法是拆机加传感器但这不仅破坏保修还有漏水风险。Shelly 方案的巧妙之处在于利用 Gen4 芯片的本地脚本能力构建一个虚拟传感器。注意Shelly 2PM Gen4 不仅能预测热水量还支持远程开关控制和实时能耗计量。Gen4 设备更支持Matter 协议和 Zigbee可与 HomeKit、Google Home、Alexa 等主流智能家居平台无缝联动。原理很简单升温模型脚本监测实时功率。只要功率达到阈值就说明热水器在加热根据物理公式计算注入的热量实时增加水量百分比。损耗模拟即使不使用热水器也会散热。脚本会根据时间自动扣除热散失导致的百分比下降。本地 UI所有的计算都在 Shelly 内部完成并直接在手机 App 上生成一个像手机电量一样的百分比进度条。实现原理#硬件安装#安装过程非常简单断电操作首先关闭家庭配电箱中热水器对应的断路器串联安装将 Shelly 2PM Gen4 串联在热水器的火线上接线规范火线进线L连接到 Shelly 的 1 脚火线出线连接到 Shelly 的 2 脚输出至热水器零线N直接连接到热水器恢复供电确认接线无误后合上断路器安全提示如果对电气操作不熟悉建议请专业电工协助安装。功率限制提醒Shelly 2PM Gen4 的额定负载为2400W单路/ 3840W总路。安装前务必核对热水器铭牌功率——部分大容量或即热式热水器功率可能高达 3000W~6000W严禁超限使用否则存在过热甚至火灾风险。如热水器功率超出限制请选择更高规格的 Shelly 设备或仅用于控制回路。智能算法#我们开发了一段运行在继电器里的脚本核心原理如下1. 功率监测#// 获取实时功率 let status Shelly.getComponentStatus(switch:0); let power status.apower; // 单位瓦特2. 状态判断#加热状态当实时功率 额定功率 × 70% 时判定为加热中保温状态当功率低于阈值时判定为保温或关机状态3. 热水量计算#// 加热时按时间比例累加 let add_percent (delta_s / expected_time_s) * 100; water_percent water_percent add_percent; // 保温时模拟热散失 let drop_percent cool_per_sec * delta_s; water_percent water_percent - drop_percent;4. 状态持久化#使用 Shelly 的虚拟组件Virtual Component存储热水量百分比即使设备重启也不会丢失数据。实际效果#创建脚本#在 Shelly App 中进入脚本功能模块点击创建新脚本。将我们的智能预测脚本粘贴进去保存并运行。运行监控#脚本运行后会自动创建一个名为预测热水量的虚拟组件。可以实时看到热水量百分比的变化。实时数据#