- alias: 'Counter: Increment {{ item.id }}' description: '' trigger: - platform: time at: 00:00:00 condition: [] action: - service: counter.increment metadata: {} data: {} target: entity_id: counter.days_since_{{ item.id }} mode: single - alias: 'Counter: Reset {{ item.id }}' description: '' trigger: - platform: state entity_id: - input_button.reset_days_since_{{ item.id }} condition: [] action: - service: counter.reset metadata: {} data: {} target: entity_id: counter.days_since_{{ item.id }} mode: single - alias: 'Counter: Update last_non_zero_days_since_{{ item.id }}' description: '' trigger: - platform: state entity_id: - counter.days_since_{{ item.id }} condition: - condition: numeric_state entity_id: counter.days_since_{{ item.id }} above: 0 action: - service: counter.increment metadata: {} data: {} target: entity_id: counter.last_non_zero_days_since_{{ item.id }} mode: single - alias: 'Counter: Reset last_non_zero_days_since_{{ item.id }}' description: '' trigger: - platform: numeric_state entity_id: - counter.days_since_{{ item.id }} above: 0 below: 2 condition: [] action: - service: counter.reset metadata: {} data: {} target: entity_id: counter.last_non_zero_days_since_{{ item.id }} - service: counter.increment metadata: {} data: {} target: entity_id: counter.last_non_zero_days_since_{{ item.id }} mode: single - alias: 'Counter: Undo Reset {{ item.id }}' description: '' trigger: - platform: state entity_id: - input_button.undo_reset_days_since_{{ item.id }} condition: - condition: numeric_state entity_id: counter.days_since_{{ item.id }} below: 1 action: - service: counter.set_value metadata: {} data: value: "{{ '{{' }} int(states('counter.last_non_zero_days_since_{{ item.id }}')) {{ '}}' }}" target: entity_id: counter.days_since_{{ item.id }} - service: counter.decrement metadata: {} data: {} target: entity_id: counter.last_non_zero_days_since_{{ item.id }} mode: single