Heating the pool to a target temperature at a target time

Ah, yes, that makes sense. That bracket must have made its way into that sensor sometime after it was working, and is definitely not in my operating configuration.yaml. Unfortunately, that sensor is not the one I’m having issues with, it’s the one below it.

However, knowing about this tool definitely would have saved me a lot of effort, long before I started working on this automation. THANKS!

Still no luck on the pool_heater_start_time syntax, though. I’m trying to work through this thread and this one to see if I can extract anything I can use.

I’m currently here:

      pool_heater_start_time:
        value_template: > 
          {% set swim_time = states.input_datetime.pool_target_temp_time | float %}
          {% set offset = states.sensor.pool_heating_interval * 3600 %}
          {% set start_time = (swim_time - offset) | float %}
          {{ (start_time) }}

…and getting this: TypeError: unsupported operand type(s) for *: 'TemplateState' and 'int', but I really didn’t expect that to work without more tweaking.

EDIT: this:

      pool_heater_start_time:
        value_template: > 
          {% set swim_time = states.input_datetime.pool_target_temp_time | float %}
          {% set offset = states.sensor.pool_heating_interval | float %}
          {% set start_time = (swim_time - (offset * 3600)) | float %}
          {{ (start_time) }}

passes muster in the template debugger, but returns 0.0 and this message:

This template does not listen for any events and will not update automatically.

…which is weird. I’m looking for a timestamp to be returned, and I expected the template to update when input_datetime.pool_target_temp_time changes.