Hello
I am controlling a CCN (carrier) HVAC using Homeassistant. To stop short cycling of compressors, I write setpoints using the following automation. (Think of setpoint as thermostat temperature).
If Entering water temp (think room temp) is above 19, write 11 to holding register. (This switches on compressor and it slowly brings temp to 11).
The moment temp hits 11, write 19 to holding register (this stops the compressor as set temp is reached).
Worked very well. But i learnt the complexities of a chiller later on and ended up learning zm and szm (Its a multiple compressor unit). Long story - My approach of setting simple two setpoints is wrong. I need to “guide” the unit from 19 to 11 in steps - or it will switch on ALL the compressors (its a multi compressor unit). The unit can calculate this guide itself called sensor.setpoint- I just need to write this to register on frequent intervals when the unit is running.
So I need to do the following -
When the unit has started running (sensor.runstate=Running), do the following -
Write register 2 as a value which needs to be calculated as - sensor.setpoint+6
Do write this value every few seconds(say 10) till the sensor.runstate=Running.
My question -
How do I write to a register a calculated value (sensor.setpoint + 6)
How do I make sure this automation is in working state after reboot.
Do I make a combination of scene/automation/script?
Your automation will only trigger when the state of the runstate sensor changes to “Running” from something else, so it’ll need more work to get to the iterative process you want.
Perhaps look up wait…until in the script documentation, noting that an automation is simply a script with a trigger:
A trigger is an event. If the runstate does not change from “Running”, the automation will run once and stop until next time the runstate becomes “Running”.
If this chiller is dangerous, you will need to be very careful with your language. I believe you mean “while the runstate is Running” or “until the runstate is not Running”.