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
{
"uuid": "12a3456bc78d90123ef4567g789012h3",
"version": "2023.10.1",
"installation_type": "Home Assistant OS",
"supervisor": {
"healthy": true,
"supported": true,
"arch": "amd64"
},
"operating_system": {
"board": "odroid-n2",
"version": "10.5"
}
}
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
{
"uuid": "12a3456bc78d90123ef4567g789012h3",
"version": "2023.10.1",
"installation_type": "Home Assistant OS",
"supervisor": {
"healthy": true,
"supported": true,
"arch": "amd64"
},
"operating_system": {
"board": "odroid-n2",
"version": "10.5"
},
"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
{
"uuid": "12a3456bc78d90123ef4567g789012h3",
"version": "2023.10.1",
"installation_type": "Home Assistant OS",
"supervisor": {
"healthy": true,
"supported": true,
"arch": "amd64"
},
"operating_system": {
"board": "odroid-n2",
"version": "10.5"
},
"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. These reports will help fix bugs and improve performance and stability.
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. It will be stored for a maximum of 60 days since the last update. Only aggregated data is made publicly available.
This is an example of how the information is stored: