Hello everyone,
Merry Christmas and Happy New Year!
I'm looking for assistance with the Rule Machine to control EU/UK type boiler switch based on thermostatic radiator valves heat setpoints and their reported temperature.
Test Setup:
- Hubitat Elevation 2.3.0.121 C-7
- Rule Machine 5.1.1
- Thermostat Scheduler 1.3.2
- Mode Manager 1.1.5
- 2x Thermostatic Radiator Valves: Virtual Thermostat (A & B) allowing to set heat setpoints and reporting temperatures
- 1x Boiler: Virtual Switch
Real setup:
- Hubitat Elevation 2.3.0.121 C-7
- Rule Machine 5.1.1
- Thermostat Scheduler 1.3.2
- Mode Manager 1.1.5
- 12x Z-Wave Thermostatic Radiator Valves: Fibaro Radiator Thermostat and Temperature Sensor (FIBEFGT-001 also known as FGT-001 and FGBRS-001 sensor)
- 1x Z-Wave Secure Boiler Receiver HRT Gen5 SSR303 (one channel)
In EU and UK many boilers are not connected to thermostatic valves and you need to turn the boiler on/off whenever you need. Thermostatic radiator valves (TRV) have a heat setpoint setting and their own temperature sensor (embedded, or as a separate sensor looking like a button in my case). Whenever the temperature of a sensor drops below it's heat setpoint, the valve opens. When the temperature of a sensor reaches it's heat setpoint, the valve closes.
The heat setpoints are changed by a built-in Thermostat Scheduler Hubitat application basing on Modes set by a built-in Mode Manager Hubitat application (Morning/Day/Evening/Night/Away/etc.). The Scheduler and the Mode manager work fine, as far as I can observe.
The logic I program is to turn the boiler on when the temperature in any room drops below the heat setpoint of the TRV in the same room, and turn the boiler off when the temperature in all rooms is above the heat setpoints in corresponding rooms.
System state: Boiler is off, heat setpoints are at 22C, temperature is 19C.
RM Rule: Test Boiler ON controller
Define Required Expression
Boiler switch(off) is off(T) [TRUE]
Select Trigger Events
Heat setpoint of Thermostat Room A(22) reports >= Thermostat Room A(19)
OR
Heat setpoint of Thermostat Room B(22) reports >= Thermostat Room B(19)
Select Actions to Run
On: Boiler switch
Event Subscriptions: switch for Boiler switch with stHandler and Filter=true, heatingSetpoint and temperatureMeasurement for TRVs A & B with allHandler and Filter=true.
Logging is enabled for Events, Triggers, Actions
RM Rule: Test Boiler OFF controller
Define Required Expression
Boiler switch(off) is on(F) [TRUE] AND
( Heat setpoint of Thermostat Room A(22) is < Thermostat Room A(19)(F)
Heat setpoint of Thermostat Room B(22) is < Thermostat Room B(19)(F)
) [FALSE]
Select Trigger Events
Heat setpoint of Thermostat Room A(22) reports < Thermostat Room A(19)
OR
Heat setpoint of Thermostat Room B(22) reports < Thermostat Room B(19)
Select Actions to Run
Off: Boiler switch
Event Subscriptions: switch for Boiler switch with stHandler and Filter=true, heatingSetpoint and temperatureMeasurement for TRV A with stHandlerA and Filter=true, heatingSetpoint and temperatureMeasurement for TRV B with stHandler and Filter=true (I can't explain the difference in handlers here and in "Test Boiler ON controller" - it is what was programmed by Web-UI).
Logging is enabled for Events, Triggers, Actions
Actual results: Setting the temperature on the virtual thermostat in room A to 19C (below heat setpoint 22C) does not trigger the rule to run and the Rule Machine application does not log anything.
Expected results: Setting the temperature on the virtual thermostat in room A to 19C (below heat setpoint 22C) triggers the rule to run (turns the boiler switch on) and the Rule Machine application logs events/triggers/actions.
Could someone please explain me what is wrong in setup here and how to get it work properly?
Thank you.