Home Assistant HeartBeat - periodic Home Devices heartbeat with LLM summary

Generates an automatic, token-cheap summary of last changs in your smart home areas during a configurable look-back window (1 h – 24 h), to your favourite LLM (OpenAI, Anthropic, local Llama 2…) for a human-friendly digest then posts the result as a persistent notification.

View on GitHub
Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Features

  • Conveys a periodic pulse of “what’s up right now”
  • Time-window reports – 30 min → Daily
  • Token-aware prompt shortening
  • Area / domain / state filters
  • Raw or summary output modes
  • Works with any Conversation agent
  • Generates a professional summary of smart-home activity during the last X hours (default 24 h;).
  • Sends the result as a persistent notification.

Installation

  1. Copy the raw URL: https://raw.githubusercontent.com/Oshayr/ha-heartbeat-blueprint/refs/heads/main/automation/heartbeat.yaml

  2. In Home Assistant → Settings › Automations & Scenes › Blueprints › Import Blueprint → paste the URL.

  3. Create a new automation from the imported blueprint, adjust the settings, and you’re done.

Inputs explained

Title Description Default
Run every How often the report should run (30min, 1 hour, 3 hours, 6 hours, 12 hours, 24 hours) 24 hours
Look-back period (h) How many hours of activity to summarise (1 – 24) 24
Conversation agent Pick the Conversation / LLM agent that should receive the prompt chatgpt
Max prompt length (chars) Absolute ceiling for the size of the text sent to the LLM. 1 token ≈ 4 chars, so 4 096 chars ≈ 1 024 tokens 4096

Advanced settings

Title Description Default
extra_prompt Extra LLM instructions empty
Output mode summary → run the LLM and show its summary, raw → skip the LLM call and show the activity list verbatim summary
Message ID The message Id for the LLM chat and the notificatins HeartBeat
Skip notification Skip notification when nothing changed false

Filters

Title Description Default
Domains to ignore List of Domains to be ignored ‘sensor’, ‘automation’, ‘script’, ‘camera’
States to ignore List of States to be ignored ‘unavailable’, ‘unknown’, ‘’
Areas to ignore List of Areas to be ignored Empty
Entities to ignore List of Entities to be ignored Empty

This is only my second blueprint, please let me know of any improvments, fixes that can be done.

Awesome, sounds useful!

Would it be possible to post some screenshots and/or examples of the output and maybe a brief summary of how this would be helpful and a few use cases?

1 Like

Hi, The idea is to get an overall view of your devices state every few houes, for example when someone is at yor place, or simply as i headsup.
This is a current example. the prompt can be added to in the extra prompt section.