更新 - 1 月 12, 2023
对于加热控制,当温度低于设定温度时开启,当达到设定温度时关闭,两个数值通道都会向壁挂式恒温器发出请求。
返回值将写入一个变量。
然后将两个变量值进行比较,并根据结果执行所需的操作。
- 安装硬件
- Homematic 4 折式继电器模块 HM-LC-Sw4-WM
- Homematic 壁式恒温器 HM-TC-IT-WM-W-EU
该计划:

剧本
real Var_SV_IT_set;
real Var_SV_IT_actual;
var SV_IT_set;
var SV_IT_actual;
Var_SV_IT_set = dom.GetObject("BidCos-RF.MEQ1576103:2.SET_TEMPERATURE").Value();
WriteLine("Var_SV_IT_set");WriteLine(Var_SV_IT_set);
dom.GetObject("SV_IT_set").State(Var_SV_IT_set);
Var_SV_IT_actual = dom.GetObject("BidCos-RF.MEQ1576103:1.TEMPERATURE").Value();
WriteLine("Var_SV_IT_actual");WriteLine(Var_SV_IT_actual);
dom.GetObject("SV_IT_actual").State(Var_SV_IT_actual);
如果 (Var_SV_IT_set > Var_SV_IT_actual)
{
dom.GetObject('SV_IT').State(0);
WriteLine("Var_SV_IT_actual");WriteLine("smaller Var_SV_IT_set");
}
不然
{
dom.GetObject('SV_IT').State(1);
WriteLine("Var_SV_IT_actual");WriteLine("greater Var_SV_IT_set");
}
脚本的输出(如果行 WriteLine(" ... ") 未注释):
变量_SV_IT_set
23.000000
变量_SV_IT_实际
22.300000
变量_SV_IT_实际
较小的 Var_SV_IT_set
例如,这里的目标温度为 23 °C。实际温度为 22.3 °C,因此低于设定温度。因此未达到设定温度,查询结果为 "不正确",这也是开启加热的原因。
该行代码以 dom.GetObject然后是设备类型"BidCos-RF."用于非 IP 设备
dom.GetObject("BidCos-RF.IEQ0101895:1.STATE").State(1);
将指定地址的开关执行机构"IEQ0101895"在他的频道"1.STATE"的状态为 "1",表示 "开启"。
如果达到设定温度,则查询结果为 "true",同时关闭加热装置。
在 CCU 历史学家 (统计附加条款),那么规定就会是这样:

曲线顶部两部分显示了两个继电器的状态,它们分别以 500 W 和 1 000 W 的功率切换加热线圈(1 = ON,0 = OFF)。
第三部分是与现有 ALDE 恒温器并联的继电器,用于切换泵。
第四部分用蓝色曲线表示壁挂式恒温器设定的温度,用紫色曲线表示测量到的实际温度。
控制惯性为 0.2 °C,启动精度为 0.1 °C。
第五部分显示室外温度的变化情况。
第六部分显示的是连续耗电量。小幅下降代表冰箱关闭和打开的时间段,而峰值则代表咖啡机或吸尘器等的临时耗电量。