Saltar al contenido

Contar tiempo Home Assistant: Guía completa 2026

28/08/2021

Actualizado el 18 de abril de 2026

Saber cuánto tiempo está en funcionamiento un dispositivo en nuestro hogar es un dato fundamental, no solo por curiosidad, sino para tomar decisiones informadas sobre el consumo energético, la eficiencia de nuestros electrodomésticos o incluso para planificar su mantenimiento. En 2026, con las herramientas que nos ofrece Home Assistant, realizar este seguimiento es más sencillo y potente que nunca. En este tutorial definitivo, vamos a explorar el método más robusto para contar tiempo en Home Assistant, actualizando técnicas pasadas y llevándolas al siguiente nivel.

Aunque en el pasado exploramos cómo hacerlo con un ayudante de tipo interruptor (input_boolean), hoy vamos a utilizar una combinación más versátil: un ayudante de menú desplegable (`input_select`) junto con el potente sensor de estadísticas históricas.

OFERTAS · TIENDA OFICIAL

Descuentos en domótica SONOFF

Interruptores WiFi, relés, sensores, tiras LED y más. Las promociones cambian con frecuencia en la tienda oficial.

Cupón: TECNOYFOTO (10% de descuento al pagar)

Ver ofertas oficiales Enlace de afiliado · Tienda Sonoff

Paso 1: Crear un Ayudante para Rastrear el Estado

El primer paso en nuestra configuración de Home Assistant es crear una entidad que represente el estado del dispositivo que queremos monitorizar. Un input select home assistant es perfecto para esto, ya que nos permite definir estados personalizados. En nuestro ejemplo, mediremos el tiempo de funcionamiento de un ventilador del baño, que tiene dos estados claros: «Funcionando» y «Parado».

Para crearlo desde la interfaz de Home Assistant:

  1. Ve a Ajustes > Dispositivos y Servicios.
  2. Selecciona la pestaña Ayudantes.
  3. Haz clic en + Crear Ayudante y elige Menú Desplegable.
  4. Configúralo con las siguientes opciones:
    • Nombre: Estado Ventilador Baño
    • Icono: mdi:fan
    • Opciones:
      • Parado
      • Funcionando
  5. Haz clic en Crear. Esto generará una nueva entidad, probablemente input_select.estado_ventilador_bano.

Paso 2: Automatizaciones para Actualizar el Estado del Ayudante

Ahora necesitamos que nuestro ayudante refleje el estado real del ventilador. Para ello, crearemos un par de automatizaciones en Home Assistant. Estas se dispararán cuando el consumo energético del ventilador, medido por un enchufe o relé inteligente como un Shelly, cruce un umbral determinado.

En mi caso, el ventilador consume más de 20W cuando está encendido. Usaré ese valor como disparador.

Automatización: Ventilador ON

Esta automatización cambiará el estado del `input_select` a «Funcionando» cuando el consumo supere los 20W.

- id: '1626856817645'
  alias: 'Ventilador Baño ON - Actualizar Estado'
  description: 'Pone el input_select en Funcionando cuando el consumo es alto'
  trigger:
  - platform: numeric_state
    entity_id: sensor.shellyswitch25_40f520003677_channel_2_power
    above: 20
  condition: []
  action:
  - service: input_select.select_option
    target:
      entity_id: input_select.estado_ventilador_bano
    data:
      option: Funcionando
  mode: single

Automatización: Ventilador OFF

Esta otra hará lo contrario, estableciendo el estado a «Parado» cuando el consumo baje de 20W.

- id: '1626856889645'
  alias: 'Ventilador Baño OFF - Actualizar Estado'
  description: 'Pone el input_select en Parado cuando el consumo es bajo'
  trigger:
  - platform: numeric_state
    entity_id: sensor.shellyswitch25_40f520003677_channel_2_power
    below: 20
  condition: []
  action:
  - service: input_select.select_option
    target:
      entity_id: input_select.estado_ventilador_bano
    data:
      option: Parado
  mode: single

Con estas dos automatizaciones, nuestro input_select.estado_ventilador_bano ya es un espejo fiel del funcionamiento real del dispositivo.

Paso 3: El Sensor de Conteo con `history_stats`

Aquí es donde ocurre la magia. Usaremos la integración History Stats para crear sensores que midan cuánto tiempo ha estado nuestro `input_select` en el estado «Funcionando». El history stats sensor es una herramienta nativa de Home Assistant increíblemente útil para este propósito.

Añade el siguiente código a tu archivo configuration.yaml o en un archivo separado si usas paquetes. Este código creará tres sensores: para el día de hoy, la semana actual y los últimos 30 días.

sensor:
  - platform: history_stats
    name: Tiempo Ventilador Baño Hoy
    entity_id: input_select.estado_ventilador_bano
    state: "Funcionando"
    type: time
    start: "{{ now().replace(hour=0, minute=0, second=0) }}"
    end: "{{ now() }}"

  - platform: history_stats
    name: Tiempo Ventilador Baño Semana
    entity_id: input_select.estado_ventilador_bano
    state: "Funcionando"
    type: time
    start: "{{ as_timestamp(now().replace(hour=0, minute=0, second=0)) - now().weekday() * 86400 }}"
    end: "{{ now() }}"

  - platform: history_stats
    name: Tiempo Ventilador Baño Últimos 30 días
    entity_id: input_select.estado_ventilador_bano
    state: "Funcionando"
    type: time
    end: "{{ now() }}"
    duration:
      days: 30

Tras reiniciar Home Assistant, tendrás tres nuevas entidades (sensor.tiempo_ventilador_bano_hoy, etc.) cuyo estado será el número de horas de funcionamiento en el periodo correspondiente. ¡Ya lo tienes!

Paso 4: Visualización en el Dashboard

Tener los datos es solo la mitad del camino; visualizarlos de forma clara es fundamental. Puedes añadir estos nuevos sensores a tu dashboard de varias maneras:

  • Tarjeta de Entidades: La forma más simple. Muestra el nombre del sensor y su estado (las horas de funcionamiento).
  • Tarjeta de Medidor (Gauge): Ideal para una vista rápida. Puedes configurar un máximo para ver el porcentaje de uso diario. Por ejemplo, un máximo de 2 horas.
  • Tarjeta de Gráfico de Historial: Para analizar la evolución del tiempo de uso a lo largo de los días.

Para visualizaciones más avanzadas, te recomiendo explorar tarjetas personalizadas disponibles en HACS, como mini-graph-card o apexcharts-card, que te permitirán crear gráficos espectaculares.

Ejemplo Avanzado: Calcular el Coste Energético

Vamos un paso más allá. Si conocemos el tiempo de funcionamiento y la potencia media del dispositivo, podemos calcular su coste eléctrico. Para ello, necesitamos:

  1. El sensor sensor.tiempo_ventilador_bano_hoy que ya hemos creado.
  2. La potencia media del dispositivo en vatios (W). En mi caso, son 50W.
  3. Un sensor con el precio de la electricidad (€/kWh). Puedes usar la integración oficial de tu distribuidora o un input_number si tienes una tarifa fija.

Con estos datos, creamos una plantilla de sensor en Home Assistant para calcular el coste. Desde finales de 2025, es importante usar la nueva sintaxis de plantillas. Si aún usas la antigua, te recomiendo leer esta guía para migrar plantillas legacy.

Añade esto a tu configuration.yaml:

template:
  - sensor:
      - name: "Coste diario ventilador baño"
        unique_id: coste_diario_ventilador_bano
        unit_of_measurement: "€"
        icon: mdi:currency-eur
        state: >
          {% set tiempo_h = states('sensor.tiempo_ventilador_bano_hoy') | float(0) %}
          {% set potencia_w = 50 %}
          {% set potencia_kw = potencia_w / 1000 %}
          {# Reemplaza 'sensor.precio_luz' por tu sensor de precio de energía #}
          {% set precio_kwh = states('sensor.precio_luz') | float(0.15) %}
          {{ (tiempo_h * potencia_kw * precio_kwh) | round(2) }}

Ahora tendrás un sensor sensor.coste_diario_ventilador_bano que te dirá exactamente cuánto has gastado hoy en mantener ese ventilador en marcha.

Alternativa Profesional: Usar un `binary_sensor` de Plantilla

Aunque el método con input_select es muy visual y fácil de entender, la solución técnicamente más elegante es usar un binary_sensor de plantilla. Este sensor estará directamente en estado `on` u `off` según el consumo, eliminando la necesidad de un ayudante intermedio y dos automatizaciones.

La configuración sería mucho más limpia. Añadirías esto a tu configuration.yaml:

template:
  - binary_sensor:
      - name: "Ventilador Baño Funcionando"
        unique_id: ventilador_bano_funcionando_bs
        device_class: running
        state: >
          {{ states('sensor.shellyswitch25_40f520003677_channel_2_power') | float(0) > 20 }}

Y luego, simplemente ajustarías tus sensores de history_stats para que apunten a esta nueva entidad (binary_sensor.ventilador_bano_funcionando) y rastreen el estado `’on’`. Es una solución más directa y eficiente, ideal para configuraciones más complejas.

Con estas técnicas, tienes el control total para medir, visualizar y analizar el tiempo de uso de cualquier dispositivo en tu hogar. Ya sea para ahorrar en la factura de la luz, optimizar tus rutinas o simplemente por el placer de tener el dato, Home Assistant te proporciona las herramientas definitivas para lograrlo en 2026.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *