This is a specific example that exceeds the minimum duty cycle.
With a cycle rate of 3 per hour (so 1,200 seconds per cycle):
Code:
20:13:44.331 || BDR:888888 | HGI:000730 | RP | relay_demand | 0026 || {'relay_demand': 0.19}
20:13:44.376 || BDR:888888 | HGI:000730 | RP | actuator_cycle | 0004B... || {'actuator_enabled': False, 'actuator_countdown': 972, 'cycle_countdown': 1200}
... a demand of 19% results in a actuator_countdown of 972/1200 = 0.81, or 81% disabled (False) -> 19% enabled
Code:
20:49:47.236 || BDR:888888 | HGI:000730 | RP | actuator_cycle | 0000E... || {'actuator_enabled': False, 'actuator_countdown': 9, 'cycle_countdown': 237}
20:50:02.229 || BDR:888888 | HGI:000730 | RP | actuator_cycle | 0000D... || {'actuator_enabled': True, 'actuator_countdown': 222, 'cycle_countdown': 222}
... and between 237 and 222 it switches from False to True, as expected for a relay_demand of 19% (19% of 1200 is 228).
Here, I changed the setpoint on Zone 4 via the controller:
Code:
21:23:25.185 || CTL:123456 | | I | setpoint | 0408CA || [{'zone_idx': '04', 'setpoint': 22.5}]
21:23:35.083 || BDR:888888 | HGI:000730 | RP | relay_demand | 0000 || {'relay_demand': 0.0}
21:23:35.125 || BDR:888888 | HGI:000730 | RP | actuator_cycle | 00026... || {'actuator_enabled': False, 'actuator_countdown': 611, 'cycle_countdown': 611}
21:24:44.228 || CTL:123456 | | I | system_sync | FF073F || {'remaining_seconds': 185.5, '_next_sync': '21:27:49'}
21:24:44.274 || CTL:123456 | | I | setpoint | 00083... || [{'zone_idx': '00', 'setpoint': 21.0}, {'zone_idx': '01', 'setpoint': 21.0}, {'zone_idx': '02', 'setpoint': 21.0}, {'zone_idx': '03', 'setpoint': 21.0}, {'zone_idx': '04', 'setpoint': 22.5}, {'zone_idx': '05', 'setpoint': 21.0}, {'zone_idx': '06', 'setpoint': 21.0}]
21:24:44.275 || CTL:123456 | | I | temperature | 00098... || [{'zone_idx': '00', 'temperature': 24.44}, {'zone_idx': '01', 'temperature': 21.45}, {'zone_idx': '02', 'temperature': 22.21}, {'zone_idx': '03', 'temperature': 19.91}, {'zone_idx': '04', 'temperature': 20.64}, {'zone_idx': '05', 'temperature': 21.25}, {'zone_idx': '06', 'temperature': 21.65}]
Not much happened, whihc we might expect in the middle of a TPI cycle:
Code:
21:25:05.062 || BDR:888888 | HGI:000730 | RP | relay_demand | 0000 || {'relay_demand': 0.0}
21:25:05.109 || BDR:888888 | HGI:000730 | RP | actuator_cycle | 00020... || {'actuator_enabled': False, 'actuator_countdown': 521, 'cycle_countdown': 521}
However, the demand jumps a shortly after:
Code:
21:25:07.228 || CTL:123456 | | I | relay_demand | F9C8 || {'domain_id': 'F9', 'relay_demand': 1.0}
21:25:07.738 || BDR:123123 | | I | actuator_state | 00C8FF || {'actuator_enabled': True}
21:25:08.243 || CTL:123456 | | I | relay_demand | FCC8 || {'domain_id': 'FC', 'relay_demand': 1.0}
21:25:08.244 || CTL:123456 | | I | heat_demand | FCC8 || {'domain_id': 'FC', 'heat_demand': 1.0}
21:25:08.658 || BDR:888888 | | I | actuator_state | 00C8FF || {'actuator_enabled': True}
And there we go - the actuator state can go from off to on in the middle of an actuator_cycle:
Code:
21:25:20.066 || BDR:888888 | HGI:000730 | RP | relay_demand | 00C8 || {'relay_demand': 1.0}
21:25:20.112 || BDR:888888 | HGI:000730 | RP | actuator_cycle | 0001F... || {'actuator_enabled': True, 'actuator_countdown': 506, 'cycle_countdown': 506}