Does anyone know why this automation never runs? I clicked on the paper clip for automation.check_garage_door and Last Triggered is Never. Thanks in advance.
states are always strings. you can’t add a number 4 to a string and get the answer you think you will. you have to convert the string to a number first using “int”.
And you can’t compare the two strings and get the result you expect either for the same reason.
And as VDRainer said, your syntax for the states is wrong.
using your original format the template should look like:
value_template: '{{ states.sensor.dark_sky_apparent_temperature.state | int + 4 > states.sensor.garage_temperature.state | int }}'
And again as VDRainer said it’s best to use the alternative syntax which is less prone to errors (remembering to also change the type of quotation marks):
value_template: "{{ states('sensor.dark_sky_apparent_temperature') | int + 4 > states('sensor.garage_temperature') | int }}"