本地温控规则
2026-10-04 软件候选与参数表单已实现,来源准入、表单及14项温控运行回归已在主机通过,完整候选仍待统一验证。设备接线、继电器触点、真实温度校准与连续运行尚未验收;不据此启用危险负载。
先保存并启用本地摄氏温度采集规则,再在外设执行表单选择温控动作。来源须为唯一、固定参数的本地生产者,单位明确为摄氏度;不能从任意Modbus/UART数值猜测温度。输出也须已保存并启用,仅允许专用原生数字输出、低电平吸合、上电HIGH,无反相、蜂鸣器或扩展器。确认电气条件后才能安排现场启用。
表单提供制热/制冷、停止阈值、回差、最小开启/关闭秒数、样本最大年龄,以及启动、故障和恢复策略。可用范围与默认值随设备描述加载;没有取得匹配描述时保留旧参数并阻止保存,不自行猜测缺省。阈值与回差还须满足组合范围,所有字段由设备最终校验。
当前开发候选还会核对已保存外设的实际驱动和采样通道。DHT湿度、压力、加速度或注册驱动的电压原始通道不能仅改成摄氏标签后用作温控;DHT表单切换温度/湿度时同步固定单位。DS18B20、NTC及驱动明确提供的温度通道可以使用;analog、voltage、current 的温度工程转换仍须由使用者确认标定。4–20mA动作还须明确启用 mapToEngineering: true(兼容 engineeringMapping: true),并填写正确的温度范围和摄氏单位,未映射的电流值不能作为温度来源。
属性名称与实际通道不同的场景按真实通道判断。同一实际缓存来源有两个保存的采集动作时拒绝温控:无论它们位于同一规则还是不同规则,停用规则里的第二个动作也计入。注册I2C驱动未显式填写 channelField 时,先尝试把 dataField 解析为有效通道;缺省或仅为物模型别名时,再使用当前模式的默认通道。DS18B20、NTC等单值动作未填写通道或数据字段时仍保留外设ID作为缓存后缀,不能假定所有来源都以 _temperature 结尾。倍率和偏移若显式提供,须为可保持有限值的数字;遗漏时沿用1和0。这些修复已获本地回归证据,尚未更新现场设备。
“设置独立温控触发”仅准备一条停用的草稿:单动作、每1秒检查,不混合脚本、其它动作、动作延时或接收值替换。保存草稿不等于输出已启用,手动运行温控动作也只读取持续控制器状态,不重新启动控制器或解除故障。
制热在温度小于或等于“停止阈值减回差”时请求开启,大于或等于停止阈值时请求关闭;制冷在温度大于或等于“停止阈值加回差”时请求开启,小于或等于停止阈值时请求关闭。正常切换遵守最小开启/关闭时间。首次启动须先确认关闭,再取得会话开始后的有效新样本并等足最小关闭时间。失鲜、无效、未来时间戳、单位错误或来源变化会请求关闭,不能把缺失样本当成零度。
人工恢复策略保持关闭,须检查后停用再启用;新鲜样本恢复仅用于可恢复的数据或内存故障,还需新样本和最小关闭时间。输出失败和来源修改不会自动恢复。外设配置变化也可能保守锁定关闭。关闭/释放失败时保留故障状态并继续尝试安全关闭,不显示为已成功停用。
状态中的引脚确认只表示MCU引脚读回,不等于触点或负载反馈。现场验收须分别检查传感器断线、参数变更、资源压力、关闭失败、真实极性、触点及低风险负载,再完成连续运行测试。危险负载必须具备独立硬件保护。

