Counter


The counter integration allows one to count occurrences fired by automations.

Configuration

To add a counter to your installation, add the following to your configuration.yaml file:

# Example configuration.yaml entry
counter:
  my_custom_counter:
    initial: 30
    step: 1

Configuration Variables

[alias]

(map)(Required)

Alias for the counter. Multiple entries are allowed. alias should be replaced by the user for their actual value.

name

(string)(Optional)

Friendly name of the counter.

initial

(integer)(Optional)

Initial value when Home Assistant starts or the counter is reset.

Default value:

0

restore

(boolean)(Optional)

Try to restore the last known value when Home Assistant starts.

Default value:

true

step

(integer)(Optional)

Incremental/step value for the counter.

Default value:

1

minimum

(integer)(Optional)

Minimum value the counter will have

maximum

(integer)(Optional)

Maximum value the counter will have

icon

(icon)(Optional)

Icon to display for the counter.

Pick an icon that you can find on materialdesignicons.com to use for your input and prefix the name with mdi:. For example mdi:car, mdi:ambulance or mdi:motorbike.

Restore State

This integration will automatically restore the state it had prior to Home Assistant stopping as long as you your entity has restore set to true which is the default. To disable this feature, set restore to false.

If restore is set to false, the initial value will only be used when no previous state is found or when the counter is reset.

Services

Available services: increment, decrement, reset and configure.

Service counter.increment

Increments the counter with 1 or the given value for the steps.

Service data attribute Optional Description
entity_id no Name of the entity to take action, e.g., counter.my_custom_counter.

Service counter.decrement

Decrements the counter with 1 or the given value for the steps.

Service data attribute Optional Description
entity_id no Name of the entity to take action, e.g., counter.my_custom_counter.

Service counter.reset

With this service the counter is reset to its initial value.

Service data attribute Optional Description
entity_id no Name of the entity to take action, e.g., counter.my_custom_counter.

Service counter.configure

With this service the properties of the counter can be changed while running.

Service data attribute Optional Description
entity_id no Name of the entity to take action, e.g., counter.my_custom_counter.
minimum yes Set new value for minimum. None disables minimum.
maximum yes Set new value for maximum. None disables maximum.
step yes Set new value for step.
initial yes Set new value for initial.
value yes Set the counters state to the given value.

Use the service

Select the Services tab from within Developer Tools. Choose counter from the list of Domains, select the Service, enter something like the sample below into the Service Data field, and hit CALL SERVICE.

{
  "entity_id": "counter.my_custom_counter"
}

Examples

Counting Home Assistant errors

To use a counter to count errors as caught by Home Assistant, you need to add fire_event: true to your configuration.yaml, like so:

# Example configuration.yaml entry
system_log:
  fire_event: true

Error counting - example configuration

# Example configuration.yaml entry
automation:
- id: 'errorcounterautomation'
  alias: Error Counting Automation
  trigger:
    platform: event
    event_type: system_log_event
    event_data:
      level: ERROR
  action:
    service: counter.increment
    entity_id: counter.error_counter
    
counter:
  error_counter:
    name: Errors
    icon: mdi:alert