-
-
Notifications
You must be signed in to change notification settings - Fork 20
Intent Launcher
The Android Intent Executor allows you to remotely execute Android Intents from Home Assistant, opening apps or system settings on the Ava device.
The Intent Launcher exposes a service in Home Assistant that can execute Android Intents remotely. This lets you open apps, launch system settings, or trigger any intent-based action from HA automations.
What It Does:
- Execute Android Intents from Home Assistant automations
- Open apps with custom URI schemes
- Launch system settings pages
- Trigger deep links in apps
- Control device behavior through intent actions
Why Use Intent Launcher:
- Automate app launching based on time, sensors, or voice commands
- Create custom dashboards that launch specific apps
- Integrate third-party apps into your smart home workflows
- Remote control of Ava device without physical interaction
- Go to Settings -> Device Controls -> Diagnostic Sensors
- Turn on Android Intent Executor
- Enable Show in Home Assistant to expose the service
action: esphome.device_name_launch_intent
data:
intent_uri: "spotify://"intent_uri: "spotify://com.spotify.music"
intent_uri: "intent:#Intent;action=android.settings.SETTINGS;end"
| Intent | Description |
|---|---|
spotify:// |
Open Spotify |
youtube:// |
Open YouTube |
intent:#Intent;action=android.settings.WIFI_SETTINGS;end |
Open WiFi settings |
intent:#Intent;action=android.settings.BLUETOOTH_SETTINGS;end |
Open Bluetooth settings |
intent:#Intent;action=android.settings.DISPLAY_SETTINGS;end |
Open display settings |
Scenario: Start your day with personalized apps and settings
automation:
- alias: "Morning Device Setup"
trigger:
- platform: time
at: "07:00:00"
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "spotify://"
- delay: "00:00:05"
- service: esphome.ava_launch_intent
data:
intent_uri: "intent:#Intent;action=android.settings.DISPLAY_SETTINGS;end"Scenario: Use voice commands to launch specific apps
automation:
- alias: "Launch Netflix by Voice"
trigger:
- platform: conversation
command: "launch netflix"
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "netflix://"
- service: tts.speak
data:
message: "Launching Netflix"Scenario: Automatically configure device for guests
automation:
- alias: "Activate Guest Mode"
trigger:
- platform: input_boolean
entity_id: input_boolean.guest_mode
to: "on"
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "intent:#Intent;action=android.settings.WIFI_SETTINGS;end"
- service: esphome.ava_launch_intent
data:
intent_uri: "kiosk://com.example.kiosk"Scenario: Launch emergency apps or contacts
automation:
- alias: "Emergency Call"
trigger:
- platform: event
event_type: emergency_triggered
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "tel:911"
- service: esphome.ava_launch_intent
data:
intent_uri: "com.google.android.apps.maps"Scenario: Control media apps based on presence or time
automation:
- alias: "Evening Music"
trigger:
- platform: sun
event: sunset
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "spotify://playlist/37i9dQZF1DXcBWIGoYBM5M"| App | Intent URI | Use Case |
|---|---|---|
| Spotify | spotify:// |
Launch music player |
| Netflix | netflix:// |
Open streaming service |
| YouTube | youtube:// |
Launch video platform |
| Plex | plex:// |
Open media server |
| VLC | vlc:// |
Launch media player |
| App | Intent URI | Use Case |
|---|---|---|
whatsapp:// |
Open messaging | |
| Telegram | tg:// |
Launch chat app |
| Discord | discord:// |
Open communication |
| Zoom | zoomus:// |
Start video call |
| App | Intent URI | Use Case |
|---|---|---|
| Google Maps | com.google.android.apps.maps:// |
Open navigation |
| Chrome | googlechrome:// |
Launch browser |
| Calculator | calculator:// |
Open calculator |
| Camera | camera:// |
Launch camera |
# Launch specific activity
action: esphome.ava_launch_intent
data:
intent_uri: "intent:#Intent;component=com.spotify.music/.MainActivity;end"
# Pass extra data
action: esphome.ava_launch_intent
data:
intent_uri: "intent:#Intent;action=android.intent.action.VIEW;data=https://example.com;end"automation:
- alias: "Smart App Launcher"
trigger:
- platform: state
entity_id: sensor.time_of_day
action:
- choose:
- conditions:
- condition: state
entity_id: sensor.time_of_day
state: "morning"
sequence:
- service: esphome.ava_launch_intent
data:
intent_uri: "spotify://playlist/morning"
- conditions:
- condition: state
entity_id: sensor.time_of_day
state: "evening"
sequence:
- service: esphome.ava_launch_intent
data:
intent_uri: "netflix://"- App Documentation: Check app's developer documentation
- Android Logcat: Monitor logs when opening apps manually
- Third-party Tools: Use tools like "Intent Interceptor"
- Community Resources: Search HA community forums
- Trial and Error: Test common patterns (appname://, com.package.name)
Common system settings intents:
-
android.settings.SETTINGS- Main settings -
android.settings.WIFI_SETTINGS- WiFi settings -
android.settings.BLUETOOTH_SETTINGS- Bluetooth settings -
android.settings.DISPLAY_SETTINGS- Display settings -
android.settings.SOUND_SETTINGS- Sound settings -
android.settings.APPLICATION_DETAILS_SETTINGS- App info
Create sequences of app launches for complex routines:
automation:
- alias: "Work Mode Setup"
trigger:
- platform: time
at: "09:00:00"
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "slack://"
- delay: "00:00:03"
- service: esphome.ava_launch_intent
data:
intent_uri: "calendar://"
- delay: "00:00:03"
- service: esphome.ava_launch_intent
data:
intent_uri: "gmail://"Launch apps based on sensor data:
automation:
- alias: "Weather-Appropriate Entertainment"
trigger:
- platform: state
entity_id: sensor.weather_condition
action:
- choose:
- conditions:
- condition: state
entity_id: sensor.weather_condition
state: "rainy"
sequence:
- service: esphome.ava_launch_intent
data:
intent_uri: "netflix://"
- conditions:
- condition: state
entity_id: sensor.weather_condition
state: "sunny"
sequence:
- service: esphome.ava_launch_intent
data:
intent_uri: "spotify://playlist/outdoor"Combine with Ava voice commands:
automation:
- alias: "Voice App Launcher"
trigger:
- platform: conversation
command: "open {{ app_name }}"
action:
- service: esphome.ava_launch_intent
data_template:
intent_uri: "{{ app_name }}://"Use Intent Launcher as the bridge between Home Assistant and Tasker's powerful Android automation capabilities. While Tasker handles complex device-level operations like sensor monitoring, file operations, and advanced system interactions, Intent Launcher provides the smart home context and remote access that Tasker lacks.
Example Integration: Create a Tasker profile that monitors battery level and triggers a Home Assistant automation via Intent Launcher to launch a specific app when battery drops below 20%, while HA simultaneously adjusts smart home lighting to indicate charging status.
Automate excels at complex flow-based Android automation but operates in isolation from your smart home. Use Intent Launcher to inject real-world context into Automate flows - trigger Automate flows based on HA sensor states, or have Automate execute actions that launch specific apps through HA automations.
Example Integration: Set up an Automate flow that controls device brightness based on ambient light sensors, then use Intent Launcher to launch different entertainment apps based on the time of day detected by Home Assistant's sun sensor.
Android Shortcuts provide convenient manual access but lack automation intelligence. Use Intent Launcher to transform static shortcuts into dynamic, context-aware launchers that adapt to your current situation, location, and smart home state.
Example Integration: Create a "Movie Time" shortcut that normally launches Netflix, but through Intent Launcher and HA automation, it launches Disney+ when kids are detected home, or launches Prime Video when it's raining outside.
sensor.your_device_name_intent_launcher_status
service: esphome.ava_launch_intent
data:
intent_uri: "app://"automation:
- alias: "Open Spotify in the morning"
trigger:
- platform: time
at: "07:00:00"
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "spotify://"automation:
- alias: "Launch entertainment when presence detected"
trigger:
- platform: state
entity_id: binary_sensor.living_room_presence
to: "on"
action:
- service: esphome.ava_launch_intent
data:
intent_uri: "netflix://"automation:
- alias: "Voice app launcher"
trigger:
- platform: conversation
command: "launch {{ app }}"
action:
- service: esphome.ava_launch_intent
data_template:
intent_uri: "{{ app }}://"- Check if Intent Launcher is enabled
- Verify Show in Home Assistant is enabled
- Confirm intent URI format is correct
- Check if target app is installed
- Ensure app is installed on the device
- Verify correct intent URI for the app
- Some apps use different URI schemes
- Check if app supports intent launching
- Restart Ava voice satellite
- Check HA log for errors
- Verify device is online
- Re-enable Intent Launcher
- Check Logs: Monitor HA logs for intent execution errors
- Test Manually: Try launching apps manually first
- Use Simple Intents: Start with basic app URIs
- Verify App Installation: Confirm apps are installed
- Check Permissions: Ensure Ava has necessary permissions
- Test Intents: Always test intent URIs before adding to automations
- Use Delays: Add delays between multiple app launches
- Error Handling: Include fallback actions in automations
- Document URIs: Keep a list of working intent URIs
- Monitor Status: Use the status entity to verify execution
- Version Compatibility: Check app updates don't break intent URIs
Back to Home
- Quick-Start
- System-Requirements
- Voice-Control
- Chorus-Wake
- ESPHome-Encryption
- HA-Direct-Connection
- Browser
- Screensaver
- Floating-Windows
- Home-Launcher
- Home-Screen-Widgets
- Notification-Scenes
- Quick-Entity
- Sensors
- Backup
- Sendspin
- Bluetooth
- Voice-Messages-Calls
- Music-Playback
- Camera
- Screen-Control
- Intent-Launcher
- ADB-Commands
- Mod-Store
- Ava-Fleet