What would be a right component to implement a virtual switch which executing complex action during on - off

Hello

The following logic I need to implement in home assistant:

  1. I need it to represent heating loop’s as a virtual switches or something like that what is possible to turn on and off
  2. For the turn on action spin up the pumps, turn on one of the Furness according to sensor states….
  3. For the turn off action turn off the heating if all the other loop is off, and wait 2 minutes and turn off this loop also, other vice just turn off the loop…

I am wonder what would be the right component to implement this logic

I am thinking:

  1. using input boolean with switch template
  2. switch template were in the value_template i am checking several switch states (like if one of the heater and the loop pump is on it is on)

I am new to home assistant so i am not sure what would be the best approach for this problem?

Thank you.

You are on the right track. Switch Templates and Input Booleans I use a lot of. Also like to have an input boolean that controls whether the logic runs at all - this was you can turn off control.

Also, I find that building complex automations like this requires a bunch of testing and debugging before you get it right. Rather than hacking on my running system, I setup a separate HA instance on docker, create a bunch of switch templates to represent the real equipment (e,g, simulator) and then do the testing.

One of the keys with heating control is making sure you don’t leave it on indefinitely and dealing with use case of temperature sensor failing. I believe the new thermostat templates has built in capability for sensor health.

I know that’s a lot.

1 Like

Thank you very much for your good advice. I defiantly going to use them.

As for thermostat’s i am using a average function for multiply termostat so i hope it would be less frequently happening indefinite state, but could still heppen :frowning:

I wonder if you can able to share me an example of code regarding this. Thank you.