Analytics
Home Assistant allows users to share their usage data via the analytics integration. The aggregated data is available at https://analytics.home-assistant.io. It is used to influence Home Assistant development priorities and to convince manufacturers to add local control and privacy-focused features.
Data collection
The information sent depends on what options you opt-in to. You can opt-in during onboarding and by going to Settings > System > Analytics .
When enabled, data will be sent 15 minutes after each start, and every 24h after startup. Sent data is printed to your log.
Basic analytics
This includes:
- Unique identifier for your system (to ensure each installation is counted once)
- Home Assistant version
- Home Assistant installation type
- Your country-code (derived server-side from your IP-address), example:
"NO"
for Norway.- If you live in the US this will also include the region (state) code, example:
"CO"
will be used if you live in Colorado.
- If you live in the US this will also include the region (state) code, example:
If your system includes the Supervisor, this will also contain:
- If your installation is supported
- If your installation is healthy
- The architecture of your installation
If you are running Home Assistant Operating System, this will also contain:
- The board type you are using
- The version of the Operating System
Example payload
{
"uuid": "12a3456bc78d90123ef4567g789012h3",
"version": "2024.11.0",
"installation_type": "Home Assistant OS",
"supervisor": {
"healthy": true,
"supported": true,
"arch": "amd64"
},
"operating_system": {
"board": "odroid-n2",
"version": "13.2"
}
}
Usage analytics
Requires basic analytics to be enabled.
This includes:
- The names of all your core integrations
- The names and versions of all your custom integrations if you have any
- The name and version of the engine used in the recorder integration
- Boolean to indicate that the energy integration is configured
- Boolean to indicate that HTTP certificate is configured
If your system includes the Supervisor, this will also contain:
- For each add-on
- Name
- Version
- If protection mode is enabled
- If auto update is enabled
Example payload
{
"uuid": "12a3456bc78d90123ef4567g789012h3",
"version": "2024.11.0",
"installation_type": "Home Assistant OS",
"supervisor": {
"healthy": true,
"supported": true,
"arch": "amd64"
},
"operating_system": {
"board": "odroid-n2",
"version": "13.2"
},
"integrations": ["awesome_integration"],
"addons": [
{
"slug": "awesome_addon",
"protected": true,
"version": "1.0.0",
"auto_update": false
}
],
"energy": {
"configured": true
},
"recorder": {
"engine": "sqlite",
"version": "123"
},
"certificate": false
}
Statistics
Requires basic analytics to be enabled.
This includes:
- Number of integrations
- Number of users
- Number of entities
- Number of automations
If your system includes the Supervisor, this will also contain:
- Number of installed add-ons
Example payload
{
"uuid": "12a3456bc78d90123ef4567g789012h3",
"version": "2024.11.0",
"installation_type": "Home Assistant OS",
"supervisor": {
"healthy": true,
"supported": true,
"arch": "amd64"
},
"operating_system": {
"board": "odroid-n2",
"version": "13.2"
},
"state_count": 1,
"automation_count": 2,
"integration_count": 3,
"addon_count": 4,
"user_count": 5
}
Diagnostics
If enabled, a crash report will be collected when an unexpected error occurs and uploaded to Sentry
Crash reports are only visible to the Home Assistant Core developers. This feature is currently limited to the Supervisor and OS-Agent
Data storage & processing
All data is received and processed by the Home Assistant Analytics Receiver (source
When your installation sends a payload, that payload includes a unique identifier. This identifier is used to make sure that your installation is only counted once.
Your data is securely stored in Cloudflare’s Key-Value store
This is an example of how the information is stored: