Saltar al contenido

Contador en Home Assistant: guía completa y ejemplos

17/02/2022

El ayudante Counter de Home Assistant guarda un número entero que puedes aumentar, disminuir, reiniciar o fijar desde automatizaciones y el panel. Es la opción indicada para contabilizar eventos: aperturas de una puerta, ciclos de un electrodoméstico, avisos enviados o tareas completadas.

Qué es Counter y cuándo usarlo

Counter mantiene un valor que cambia mediante acciones. No analiza el pasado: registra el valor actual y puede restaurarlo tras reiniciar Home Assistant. Para calcular cuánto tiempo ha estado una entidad encendida o cuántas veces coincidió con un estado dentro de un período, utiliza History Stats.

Crear un contador desde la interfaz

  1. Abre Ajustes > Dispositivos y servicios > Ayudantes.
  2. Pulsa Crear ayudante y elige Contador.
  3. Indica nombre, valor inicial, mínimo, máximo, paso e icono.
  4. Guarda y usa la nueva entidad counter.nombre en paneles o automatizaciones.

La interfaz es la opción recomendada. Si no aparecen los ayudantes, comprueba que default_config: siga presente en configuration.yaml.

Opciones: inicial, límites, paso y restauración

  • Valor inicial: se usa al reiniciar el contador o cuando no existe un estado anterior.
  • Mínimo y máximo: delimitan el rango permitido.
  • Step: cantidad que suma o resta cada acción; por defecto es 1.
  • Restore: activo por defecto, recupera el último valor al arrancar Home Assistant.

Configuración YAML

counter:
  ciclos_lavavajillas:
    name: Ciclos del lavavajillas
    initial: 0
    minimum: 0
    maximum: 999
    step: 1
    restore: true
    icon: mdi:dishwasher

Tras editar YAML, reinicia Home Assistant. Para nuevos ayudantes, la interfaz resulta más cómoda.

Acciones y disparadores actuales

En el editor de automatizaciones busca acciones, no “servicios”: counter.increment, counter.decrement, counter.reset y counter.set_value. También puedes disparar automatizaciones cuando un contador se incrementa, disminuye, se reinicia o alcanza el mínimo o máximo; la condición counter.is_value permite comparar su valor.

Ejemplos prácticos

Contar aperturas de una puerta

alias: Contar aperturas de la puerta
triggers:
  - trigger: state
    entity_id: binary_sensor.puerta_entrada
    to: "on"
actions:
  - action: counter.increment
    target:
      entity_id: counter.aperturas_puerta

Reiniciar un objetivo diario

alias: Reiniciar contador cada medianoche
triggers:
  - trigger: time
    at: "00:00:00"
actions:
  - action: counter.reset
    target:
      entity_id: counter.aperturas_puerta

Counter o History Stats: cuál necesito

Elige Counter si quieres un número que aumente o disminuya por acciones o eventos. Elige History Stats si quieres analizar el historial de una entidad durante hoy, una semana o cualquier período: horas encendida, porcentaje de tiempo o coincidencias de estado.

Errores habituales

Si el valor no se conserva, revisa que restore esté activo. Si nunca llega al límite, comprueba el máximo, el paso y que la automatización use la entidad correcta. Si necesitas datos históricos, no sustituyas History Stats por un contador: son herramientas con objetivos distintos.

Consulta también la documentación oficial de Counter.

Dos casos en los que Counter encaja bien

Avisar al alcanzar un máximo

Un contador puede registrar tareas pendientes y lanzar un aviso al llegar al límite. El trigger counter.maximum_reached evita tener que comparar manualmente el estado en cada automatización.

alias: Avisar al llegar a cinco recordatorios
triggers:
  - trigger: counter.maximum_reached
    target:
      entity_id: counter.recordatorios
actions:
  - action: notify.send_message
    target:
      entity_id: notify.movil
    data:
      message: "Has alcanzado el límite de recordatorios"
  - action: counter.reset
    target:
      entity_id: counter.recordatorios

Fijar un valor desde una automatización

counter.set_value es útil para sincronizar el contador con un punto de partida conocido, por ejemplo al comenzar una nueva tanda. Respeta los límites configurados.

Cuándo no usar Counter

Counter no deduce información de estados pasados ni mide tiempo físico de funcionamiento. No lo uses para saber las horas de una bomba, el porcentaje de un día que una luz estuvo encendida o los eventos ya registrados antes de crear el ayudante: esas preguntas corresponden a History Stats. Tampoco sustituye un valor decimal editable; para ese caso usa input_number.

Continúa leyendo

Siguiente guía relacionada · 1 min de lectura

input_number en Home Assistant: guía completa y ejemplos

input_number guarda un valor numérico que la persona puede cambiar desde el dashboard o una automatización. Es adecuado para una temperatura objetivo, volumen, umbral…

Continuar con este artículo