To get the most out of the Home Assistant companion app, you should enable location permissions (preferably “Always Allow”), notification permissions with the app’s notification channels set to your preference, and background app refresh. These settings allow the app to track your presence for automations, send alerts, and update sensor data reliably. Below is a detailed guide on each permission and notification option, why it matters, and how to configure it for both Android and iOS.
Why Permissions Matter in Home Assistant
Home Assistant’s companion app uses permissions to bridge your phone’s sensors with your smart home. Location permission is the most important: it powers presence detection (e.g., turning on lights when you arrive home) and geofencing automations. Notification permission is required for any alert, from a door left open to a camera detecting motion. Background app refresh and battery optimization settings determine whether the app can update sensors and receive notifications when the app is not in the foreground. Without these, the app becomes a manual remote control rather than an automatic assistant.
Location Permissions: Always Allow vs. While Using
Location permission is the most impactful setting. On both Android and iOS, you have three choices: Allow all the time, Allow while using, and Deny. For Home Assistant to work as a presence sensor and trigger location-based automations, you need “Allow all the time” (Android) or “Always” (iOS). If you choose “While Using,” the app only knows your location when it is open, so automations like “arrive home” will not trigger reliably.
On iOS, you also have the option of “Precise Location” – keep it enabled for room-level accuracy. If you only need zone-level detection (e.g., home vs. away), you could disable precise location to save battery, but then you lose the granularity needed for some automations.
Notification Permissions and Channels
Notifications are essential for alerts, but they can be overwhelming. On Android, the app creates several notification channels (e.g., “Home Assistant”, “Critical”, “Updates”) that you can manage individually. In the Android system settings, you can enable or disable each channel, set importance levels, and choose sound/vibration. For critical alerts (like a smoke detector), set the channel to “Urgent” so it bypasses Do Not Disturb. On iOS, you can enable or disable notifications entirely, and within the app’s settings, choose which notification categories you want to receive (e.g., security, climate, general).
To receive notifications, you must also allow the app to send notifications in the OS settings. On iOS, you can choose between “Alerts” (banners and sounds), “Badges”, and “Sounds”. For time-sensitive alerts like a leak detector, enable “Critical Alerts” if the app supports it (requires special entitlement).
Background App Refresh and Battery Optimization
For the app to update sensors (like battery level, next alarm, or location) and receive push notifications promptly, it needs to run in the background. On iOS, enable Background App Refresh for the Home Assistant app in Settings > General > Background App Refresh. On Android, you may need to disable battery optimization for the app: go to Settings > Apps > Home Assistant > Battery > “Unrestricted” (or “Don’t optimize”). This prevents the OS from killing the app’s background processes, which would delay notifications and sensor updates.
However, disabling battery optimization can increase battery drain. A good compromise is to use “Optimized” on Android and rely on push notifications (which do not require the app to be running) for alerts, while accepting that sensor updates may be delayed.
Sensor Permissions: What They Do and Which to Enable
The companion app can expose many phone sensors to Home Assistant: battery level, charging state, network SSID, light sensor, step counter, and more. These require various permissions:
- Battery sensor – no special permission, but requires background refresh to update.
- Network SSID – requires location permission (on Android 10+ and iOS 13+) to read Wi-Fi name.
- Light sensor – requires no special permission, but may be restricted on iOS.
- Step counter – requires motion & fitness permission on iOS, and activity recognition on Android.
- Notification sensor – requires notification access on Android to read incoming notifications.
Enable only the sensors you need. Each sensor that updates frequently can drain battery. For example, the light sensor updating every second can be useful for automations, but you can set a minimum update interval in the app’s sensor settings.
How to Configure on Android
On Android, the setup is straightforward but varies slightly by manufacturer. The core steps:
- Install the Home Assistant app from the Play Store and log in.
- When first opening, the app will ask for location and notification permissions. Grant them.
- Go to Android Settings > Apps > Home Assistant > Permissions and ensure Location is “Allow all the time” and Notifications is “Allowed”.
- In the same menu, tap “Battery” and select “Unrestricted” to prevent the OS from killing the app.
- Open the Home Assistant app, go to Settings > Companion App > Manage Sensors, and enable the sensors you want.
- For notification channels, go to Android Settings > Apps > Home Assistant > Notifications and adjust each channel’s importance.
If you have a Xiaomi, Huawei, or other OEM with aggressive battery management, you may also need to add the app to the “Autostart” or “Protected apps” list in the phone’s security app.
How to Configure on iOS
On iOS, the process is more uniform:
- Install the app from the App Store and log in.
- When prompted, allow notifications and location. If you denied, go to Settings > Home Assistant > Location and set to “Always”.
- In the same settings page, enable “Background App Refresh”.
- Open the app, go to Settings > Companion App > Sensors and enable the sensors you want.
- For notification categories, go to Settings > Home Assistant > Notifications and customize alert style, sounds, and badges.
Note that iOS may still delay background updates if the phone is in Low Power Mode. Also, the “Always” location permission will show a blue indicator when the app accesses location in the background – that’s normal.
Common Problems and Troubleshooting
If you are not receiving notifications or automations are not triggering, check the following:
- Location not updating: Ensure the app has “Always” location permission and that your phone’s power saving mode is not restricting it. On Android, check that the app is not in “Sleep” or “Deep sleep” in the battery settings.
- Notifications not arriving: On Android, verify the notification channel is not muted and that the app is not blocked by Do Not Disturb. On iOS, check that notifications are enabled for the app and that the phone is not in a Focus mode that suppresses them.
- Sensor data stale: Increase the update frequency in the app’s sensor settings, or trigger a manual update by opening the app.
- Battery drain: Disable sensors you don’t need, and set a reasonable update interval (e.g., 5 minutes for location).
Frequently Asked Questions
Do I need to enable location permission if I don’t use presence detection?
No, but it is recommended because some sensors (like Wi-Fi SSID) require location permission to read the network name. If you never use location-based automations, you can set location to “While Using” to save battery, but then SSID sensor will not work in the background.
Can I get notifications without enabling location permission?
Yes, notifications work independently of location. However, some notifications (like geofence alerts) require location. Basic notifications like a door sensor alert will work fine without location permission.
Why is my phone battery draining faster after enabling these permissions?
The app is likely updating sensors too frequently or location is being accessed constantly. Reduce the update interval for location (e.g., from every 1 minute to every 5 minutes) and disable sensors you don’t need. Also, on Android, consider using “Optimized” battery mode instead of “Unrestricted” if you don’t need real-time updates.
Should I enable the notification sensor?
Only if you want to trigger automations based on notifications from other apps (e.g., turn on a light when you get a text). This requires notification access on Android, which has privacy implications. On iOS, this is not available.
Does the app work if I deny all permissions?
Yes, but it becomes a manual remote control. You can still control devices and view states, but presence detection, sensors, and notifications will not work. For a full experience, at least enable notifications and location.
How do I reset permissions if I changed my mind?
On Android, go to Settings > Apps > Home Assistant > Permissions and tap “Reset permissions” or manually change each. On iOS, go to Settings > Home Assistant and toggle each permission. Then restart the app.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- Fix Device Manager Not Opening in Windows 11
- How to Pause Snapchat Location
- System Restore Points Missing in Windows? Fixes
- Loop Nature Ambience Videos with FFmpeg on Ubuntu
- Install League of Legends on Linux: Full Guide
- Fix Error 0x80070001: Causes & Solutions