Skip to content
Aivi is not live yet. Join the waitlist to be the first to get access!

Live Activity support for Home Assistant

Aivi ❤️ Home Assistant!

This guide shows you how to connect your Home Assistant automations to Live Activities on your iPhone. Once set up, your automations can push real-time updates to your lock screen and Dynamic Island - perfect for monitoring long-running tasks like laundry cycles, vacuum cleaners, or anything else you automate.

The integration works through Aivi’s API, so it is compatible with any Home Assistant installation. No custom components required.

Setting Up Live Activities for Home Assistant

Section titled “Setting Up Live Activities for Home Assistant”
  1. Download Aivi from the App Store and create an account. You will receive an API token that allows you to access the Aivi API that you will be using to post Live Activities to the devices.

  2. Add a RESTful command to your Home Assistant configuration. Edit configuration.yaml and add the following snippet:

    rest_command:
    update_live_activity:
    url: 'https://api.getaivi.app/activity/{{ slug }}'
    method: PATCH
    headers:
    content-type: application/json
    authorization: Token [token]
    payload: '{{ payload }}'
  3. Start with the quick-start blueprint to create a working automation in a few clicks.

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

    The blueprint watches your sensors and calls rest_command.update_live_activity with Aivi’s generic template whenever any value changes.

    If any of the entities exposed by the device you want to integrate are not compatible with the blueprint inputs, it is recommended to use helpers to adapt them. For example, if your device does not expose a binary “running” state, you can create a Template Binary Sensor helper that adapts a device state (for example, a text value) and transforms it into a binary sensor.

  4. That is it! Whenever your automation runs, you will get a Live Activity showing progress in real-time.

If you want full control over the automation logic, create the automation manually:

  • Add triggers for each entity you reference (running state, progress, etc). This keeps the Live Activity updated whenever any value changes.
  • Set up an action that posts the activity state to Aivi:
- action: rest_command.update_live_activity
response_variable: aivi_response
data:
slug: dishwasher
payload: >-
{% set running = is_state("binary_sensor.dishwasher_running", "on") %}
{
"state": "{{ 'ONGOING' if running else 'IDLE' }}",
"content": {
"template": "generic",
"state": "{{ states('sensor.dishwasher_cycle_status') }}",
"remaining_time": {{ states('sensor.dishwasher_eta_seconds') }},
"progress": {{ states('sensor.dishwasher_progress') }},
"icon": "washer"
}
}

The example above is specific to a dishwasher, but you can adapt it for any device in Home Assistant:

  • Change the slug to match your device (e.g., washing_machine, robot_vacuum, 3d_printer)
  • Update the sensor names to match your Home Assistant entities
  • Adjust the state logic to fit your device’s behavior (running, idle, paused, etc.)
  • Pick a different icon from SF Symbols that matches your device

You can track multiple devices simultaneously by creating separate automations with different slugs. Check out the Templates page to learn more about customization options like progress bars, timers, and custom states.

Can I track multiple devices at once? Yes! Just create separate automations with different slugs for each device.

Do I need to keep the Aivi app open? No. Live Activities work even when the app is closed.

How is this different from the Home Assistant companion app? The companion app sends regular push notifications that disappear. Live Activities stay visible on your lock screen until the task completes, and they update in real-time without opening any app.