I can’t wrap my head around this Jinja stuff. No matter what I try I get no value in the sensor. Here’s what I’m trying to accomplish: I have an alarm for every day of the week. Before I go to bed I have a goodnight scene that uses tts to tell me what time I have the alarm set for in the morning. So this sensor should in theory figure out the day and then look up that day’s alarm value. I do have one extra thing in there, if I go to bed before midnight, it looks up the alarm for the next day, if it’s after midnight, it would find the value of that day. Anyways, I don’t think I’m too far off, but I can’t get any value. Any ideas?
next_alarm_time:
friendly_name: Next Alarm Time
entity_id:
- sensor.alarmtime_sun
- sensor.alarmtime_mon
- sensor.alarmtime_tue
- sensor.alarmtime_wed
- sensor.alarmtime_thu
- sensor.alarmtime_fri
- sensor.alarmtime_sat
- sensor.alarmtime_all
value_template: >
{%- macro settype() -%}
{%- if states.input_boolean.alarm_clock_all.state == "true" -%}
{% set alarmTime = states.sensor.alarmtime_all.state %}
{%- else -%}
{% set currentHour = now().strftime("%H") | int %}
{%- macro setday() -%}
{%- if currentHour > 11 -%}
{% set currentDay = (now.weekday() | int) + 1 %}
{%- else -%}
{% set currentDay = now.weekday() | int %}
{%- endif -%}
{%- endmacro -%}
{%- macro setalarmtime() -%}
{%- if currentDay == 6 -%}
{% set alarmTime = states.sensor.alarmtime_sun.state %}
{%- elif currentDay == 0 -%}
{% set alarmTime = states.sensor.alarmtime_mon.state %}
{%- elif currentDay == 1 -%}
{% set alarmTime = states.sensor.alarmtime_tue.state %}
{%- elif currentDay == 2 -%}
{% set alarmTime = states.sensor.alarmtime_wed.state %}
{%- elif currentDay == 3 -%}
{% set alarmTime = states.sensor.alarmtime_thu.state %}
{%- elif currentDay == 4 -%}
{% set alarmTime = states.sensor.alarmtime_fri.state %}
{%- elif currentDay == 5 -%}
{% set alarmTime = states.sensor.alarmtime_sat.state %}
{%- endif -%}
{%- endmacro -%}
{%- endif -%}
{{alarmTime}}
{%- endmacro -%}