Template time pattern not triggered

Hello,

this code in templates.yaml is never triggered after 15 minutes…
I would like to run this code every 15 minutes, to take the highest value.

  - trigger:
    - platform: time_pattern
      minutes: "/15"
    sensor:
      - name: electricity_delivery_power_daily_15m_max
        state: >
          {% if is_number(states('sensor.electricity_delivery_power_daily_15m_max')) %}
            {% if ((now().hour == 0) and (now().minute < 15)) %}
              {{ states('sensor.electricity_delivery_power_15m') | float }}
            {% else %}
              {% if ((states('sensor.electricity_delivery_power_daily_15m_max') | float) < (states('sensor.electricity_delivery_power_15m')) | float) %}
                {{ states('sensor.electricity_delivery_power_15m') or 0 | float }}
              {% else %}
                {{ states('sensor.electricity_delivery_power_daily_15m_max') | float }} 
              {% endif %}
            {% endif %}
          {% else %}
            0
          {% endif %}
        unit_of_measurement: 'kW'
      - name: electricity_delivery_power_monthly_15m_max
        state: >
          {% if is_number(states('sensor.electricity_delivery_power_monthly_15m_max')) %}
            {% if ((now().day == 1) and (now().hour == 0) and (now().minute < 15)) %}
              {{ states('sensor.electricity_delivery_power_15m') | float }}
            {% else %}
              {% if ((states('sensor.electricity_delivery_power_monthly_15m_max') | float) < (states('sensor.electricity_delivery_power_15m')) | float) %}
                {{ states('sensor.electricity_delivery_power_15m') or 0 | float }}
              {% else %}
                {{ states('sensor.electricity_delivery_power_monthly_15m_max') | float }} 
              {% endif %}
            {% endif %}
          {% else %}
            0
          {% endif %}
        unit_of_measurement: 'kW'

Could you please spot the issue?
Thanks!

Can you share the configuration for the source sensor.electricity_delivery_power_15m? It may also be the source of your suspected triggering issue.

If that isn’t the cause, consider simplifying you template. Using variables can make your templates more legible, efficient, and reliable.

  - trigger:
      - platform: time_pattern
        minutes: "/15"
    sensor:
      - name: electricity_delivery_power_daily_15m_max
        state: >
          {% set current = this.state | float(0) %}
          {% set source = states('sensor.electricity_delivery_power_15m') | float(0) %}
          {% if ((now().hour == 0) and (now().minute < 15)) %}
            {{ source }}
          {% else %}
            {{ [source, current] | max }}
          {% endif %}
        unit_of_measurement: 'kW'
      - name: electricity_delivery_power_monthly_15m_max
        state: >
          {% set current = this.state | float(0) %}
          {% set source = states('sensor.electricity_delivery_power_15m') | float(0) %}
          {% if ((now().day == 1) and (now().hour == 0) and (now().minute < 15)) %}
            {{ source }}
          {% else %}
            {{ [source, current] | max }}
          {% endif %}
        unit_of_measurement: 'kW'

Of course.

in configuration.yaml 
utility_meter:
  electricity_delivery_15m:
     source: sensor.electricity_delivery
     cron: "*/15 * * * *"

In templates.yaml
- sensor:
    - name: electricity_delivery
      unit_of_measurement: "kWh"
      #state: "{{ ( states('sensor.esphome1pmeter_energy_delivered_tariff_1') | float ) + ( states('sensor.esphome1pmeter_energy_delivered_tariff_2') | float ) }}"
      state: "{{ ( states('sensor.esphome1pmeter_power_consumed') | float ) }}"
      
- sensor:
   - name: electricity_delivery_power_15m
     unit_of_measurement: "kW"
     state: "{{ (states('sensor.electricity_delivery_15m') | float(0)) * 4 | float }}"  
    


Hello,
I figured out the problem :slight_smile:
The trigger platform has been replaced by state on sensor.electricity_delivery_power_15m…
Now working perfectly.

thanks!

Hello Tommy,

Could you share your code that is working? I"m still stuck with the trigger platform.

      
  - sensor:
    - name: electricity_delivery_power_15m
      unit_of_measurement: "kW"
      state: "{{ (states('sensor.electricity_delivery_15m') | float(0)) * 4 | float }}"  
    

  - trigger:
    - platform: state
      entity_id: sensor.electricity_delivery_power_15m
    sensor:
      - name: electricity_delivery_power_daily_15m_max
        state: >
          {% if is_number(states('sensor.electricity_delivery_power_daily_15m_max')) %}
            {% if ((now().hour == 0) and (now().minute < 15)) %}
              {{ states('sensor.electricity_delivery_power_15m') | float }}
            {% else %}
              {% if ((states('sensor.electricity_delivery_power_daily_15m_max') | float) < (states('sensor.electricity_delivery_power_15m')) | float) %}
                {{ states('sensor.electricity_delivery_power_15m') or 0 | float }}
              {% else %}
                {{ states('sensor.electricity_delivery_power_daily_15m_max') | float }} 
              {% endif %}
            {% endif %}
          {% else %}
            0
          {% endif %}
        unit_of_measurement: 'kW'
      - name: electricity_delivery_power_monthly_15m_max
        state: >
          {% if is_number(states('sensor.electricity_delivery_power_monthly_15m_max')) %}
            {% if ((now().day == 1) and (now().hour == 0) and (now().minute < 15)) %}
              {{ states('sensor.electricity_delivery_power_15m') | float }}
            {% else %}
              {% if ((states('sensor.electricity_delivery_power_monthly_15m_max') | float) < (states('sensor.electricity_delivery_power_15m')) | float) %}
                {{ states('sensor.electricity_delivery_power_15m') or 0 | float }}
              {% else %}
                {{ states('sensor.electricity_delivery_power_monthly_15m_max') | float }} 
              {% endif %}
            {% endif %}
          {% else %}
            0
          {% endif %}
        unit_of_measurement: 'kW'