Right I'm looking to use indigo to install approx 10 zones of principally radiator controlled heating. All of the Zones will be run automatically using Jay's plugin to schedule temperatures, some of them will also have separate wall thermostats to allow manual adjustments (or else the Wife will never go for it).
So I'm looking to have a Stella-Z on every radiator, Secure Thermostats and the double Relay Secure Boiler Actuator.
The plan:
1. Rather than just using setpoints on the radiator valves (which makes it hard to know if a radiator valve is open or closed) or looking at the actual Thermostats, I'm intending to set up each room with its own Setpoint and Current Temperature variable. The Thermostats (for the rooms that have them) will control the Setpoint variable (but the Thermostats will in turn be controlled by the indigo schedule) and report the Current Temperature variable. For rooms without thermostats the Stella-Zs will report the Current Temperature and the Setpoint will be wholly set by indigo (through schedules and later iDevice).
2. There will then be triggers set up each time a room's Setpoint or Current Temperature changes which will compare the two and flag a "Call for Heat" variable for that room if the Setpoint is higher than Current Temperature. If a room's "Call for Heat" gets flagged that will also trigger all of its radiator valves opening up (by setting the Stella-Z to 30C setpoint) with them all closing if the flag comes off (by setting to 5C).
3. There will then be another trigger to fire every time one of the room "Call for Heat" variables changes which will look at whether or not 1 or more of them is flagged and put the Boiler on if it is.
4. Finally I'll have a scheduled test of the Boiler trigger every 30 minutes as the Boiler controller is set to default off if it doesn't hear anything for an hour.
The way I figure it that means I need a little bit of Python scripting for an "if" "or" "or" "or" etc. "else" check on the "Call for Heat" variables and an "if" "else" for the rooms themselves to set that variable.
Does that sound feasible? Does it sound like too many calls on indigo if its constantly setting off scripts every time a room moves by a degree?
Presumably I'm best learning a little more about the Python scripting so that 2 all happens on a single test (if Setpoint > Temperature [flag "Call for Heat" and open radiator valves] else [unflag "Call for Heat" and close radiator valves]) rather than if I run a separate trigger to open or close the valves based on the "Call for Heat" changing?
Cheers all for any thoughts.