This guide helps diagnose and fix issues when the Home Assistant plugin doesn't appear in AndrOBD's Plugin Manager.
If the plugin isn't showing up in AndrOBD, verify these items:
- Plugin APK is installed on the device
- AndrOBD is installed and up to date (v2.0.0 or higher)
- Both apps have been launched at least once
- Device is running Android 4.0.3 (API 15) or higher
- Device has been rebooted since installation (sometimes helps)
Check that the plugin APK is actually installed:
adb shell pm list packages | grep homeassistantExpected output:
package:com.fr3ts0n.androbd.plugin.homeassistant
If not present, install the plugin:
adb install -r AndrOBD-Plugin-Home-Assistant.apkCheck AndrOBD is installed:
adb shell pm list packages | grep androbdExpected output should include:
package:com.fr3ts0n.ecu.gui.androbd
package:com.fr3ts0n.androbd.plugin.homeassistant
If AndrOBD is not installed, get it from:
- F-Droid: https://f-droid.org/packages/com.fr3ts0n.ecu.gui.androbd/
- GitHub: https://github.com/fr3ts0n/AndrOBD/releases
Verify the plugin's BroadcastReceiver is properly declared:
adb shell dumpsys package com.fr3ts0n.androbd.plugin.homeassistant | grep -A 20 "Receiver"Look for output showing the receiver with the IDENTIFY intent filter:
Receiver #0:
...
com.fr3ts0n.androbd.plugin.homeassistant.HomeAssistantPluginReceiver
...
Action: "com.fr3ts0n.androbd.plugin.IDENTIFY"
Category: "com.fr3ts0n.androbd.plugin.REQUEST"
Manually send an IDENTIFY broadcast to test if the plugin responds:
# Clear logs
adb logcat -c
# Send IDENTIFY broadcast
adb shell am broadcast \
-a com.fr3ts0n.androbd.plugin.IDENTIFY \
-n com.fr3ts0n.androbd.plugin.homeassistant/.HomeAssistantPluginReceiver
# Check logs for response
adb logcat -d | grep -i "identify\|homeassistant\|plugin"Expected log output should show:
- Receiver getting the broadcast
- Service being started
- IDENTIFY response being sent back
Example successful output:
HomeAssistantPluginReceiver: Broadcast received: Intent { act=com.fr3ts0n.androbd.plugin.IDENTIFY ... }
HomeAssistantPlugin: <IDENTIFY: Intent { ... }
HomeAssistantPlugin: >IDENTIFY: Intent { act=com.fr3ts0n.androbd.plugin.IDENTIFY cat=[com.fr3ts0n.androbd.plugin.RESPONSE] ... }
Android 11 (API 30) and higher have package visibility restrictions that can affect plugin discovery.
Check Android version:
adb shell getprop ro.build.version.sdkVersion codes:
- 29 = Android 10
- 30 = Android 11
- 31 = Android 12
- 33 = Android 13
- 34 = Android 14
If API 30+, verify AndrOBD has proper <queries> declaration. AndrOBD should have been updated to handle this, but if using an old version, update to the latest.
Verify the plugin service is exported and enabled:
adb shell dumpsys package com.fr3ts0n.androbd.plugin.homeassistant | grep -A 10 "Service"Look for:
Service #0:
...
exported=true
enabled=true
Try starting the plugin service directly:
adb shell am startservice \
-n com.fr3ts0n.androbd.plugin.homeassistant/.HomeAssistantPlugin \
-a com.fr3ts0n.androbd.plugin.IDENTIFYCheck logs:
adb logcat -d | grep HomeAssistantIf this fails, there may be an issue with the service implementation.
Sometimes installation issues can cause problems. Try a clean reinstall:
# Uninstall both apps
adb uninstall com.fr3ts0n.androbd.plugin.homeassistant
adb uninstall com.fr3ts0n.ecu.gui.androbd
# Reboot device
adb reboot
# Wait for reboot to complete...
# Reinstall AndrOBD first
adb install AndrOBD-v2.x.x.apk
# Then install plugin
adb install AndrOBD-Plugin-Home-Assistant.apk
# Launch AndrOBD
adb shell am start -n com.fr3ts0n.ecu.gui.androbd/.ActivityAfter installation, open AndrOBD and navigate to the Plugin Manager:
- Open AndrOBD
- Tap the menu (three dots or bars)
- Go to Settings → Extensions or Plugin extensions or Plugin Manager
- The exact menu name varies by AndrOBD version
- Look for Home Assistant or Home Assistant Publisher
If not visible, try:
- Pull down to refresh the list
- Go back and re-enter the plugin manager
- Restart AndrOBD
Watch AndrOBD's plugin discovery process in real-time:
# Clear logs
adb logcat -c
# Start logging
adb logcat | grep -i "plugin\|identify" &
# Open AndrOBD and go to Plugin Manager
# You should see IDENTIFY broadcasts being sent and responses receivedLook for patterns like:
PluginHandler: >IDENTIFY: Intent { act=com.fr3ts0n.androbd.plugin.IDENTIFY ... }
PluginHandler: Plugin identified: com.fr3ts0n.androbd.plugin.homeassistant.HomeAssistantPlugin
Possible Causes:
- AndrOBD needs to be restarted
- Plugin Manager cache needs refresh
- Android 11+ visibility restrictions
Solutions:
- Force stop AndrOBD:
adb shell am force-stop com.fr3ts0n.ecu.gui.androbd
- Clear AndrOBD's cache:
Note: This will reset AndrOBD settings!
adb shell pm clear com.fr3ts0n.ecu.gui.androbd
- Restart the device
- Update AndrOBD to the latest version
Possible Causes:
- Receiver not properly registered in manifest
- Plugin service fails to start
- Permission issues
Solutions:
- Verify manifest (see Step 3 above)
- Check service logs when broadcast is sent
- Ensure
android:exported="true"on both receiver and service - Rebuild and reinstall the plugin APK
Possible Causes:
- Plugin doesn't implement getPluginInfo() correctly
- Error in plugin initialization
- Missing required plugin metadata
Solutions:
- Check plugin logs for errors:
adb logcat | grep -i error - Verify PluginInfo is correctly configured in HomeAssistantPlugin.java
- Check that all required interfaces are implemented
Cause: Package visibility restrictions in Android 11 (API 30) and higher.
Solution:
AndrOBD must declare a <queries> element to see plugins. This should be in AndrOBD's manifest, not the plugin's. Update AndrOBD to the latest version which should include this fix.
If developing AndrOBD, add to its AndroidManifest.xml:
<queries>
<intent>
<action android:name="com.fr3ts0n.androbd.plugin.IDENTIFY" />
</intent>
</queries>Possible Causes:
- APK signature issues
- Build configuration problems
Solutions:
- Check build.gradle has proper signing config
- Use debug build for testing:
./gradlew assembleDebug
- For release, ensure proper signing:
./gradlew assembleRelease
Get maximum log output:
# Set log level to verbose
adb shell setprop log.tag.PluginHandler VERBOSE
adb shell setprop log.tag.PluginReceiver VERBOSE
adb shell setprop log.tag.HomeAssistantPlugin VERBOSE
# Then run your testsCapture everything for detailed analysis:
# Clear logs
adb logcat -c
# Start logging to file
adb logcat > plugin-debug.log &
LOGPID=$!
# Perform your tests:
# 1. Open AndrOBD
# 2. Go to Plugin Manager
# 3. Try to enable plugin
# Wait 30 seconds
sleep 30
# Stop logging
kill $LOGPID
# Analyze log
grep -i "identify\|plugin\|homeassistant\|error\|exception" plugin-debug.logVerify APK is properly built:
# List contents
unzip -l AndrOBD-Plugin-Home-Assistant.apk | grep -i manifest
# Extract and read manifest (requires apktool)
apktool d AndrOBD-Plugin-Home-Assistant.apk
cat AndrOBD-Plugin-Home-Assistant/AndroidManifest.xmlSimulate complete plugin discovery flow:
# 1. Send IDENTIFY request
adb shell am broadcast \
-a com.fr3ts0n.androbd.plugin.IDENTIFY \
-n com.fr3ts0n.androbd.plugin.homeassistant/.HomeAssistantPluginReceiver
# 2. Watch for response in logs
adb logcat -d | grep -A 5 ">IDENTIFY"
# 3. Test CONFIGURE intent
adb shell am startservice \
-n com.fr3ts0n.androbd.plugin.homeassistant/.HomeAssistantPlugin \
-a com.fr3ts0n.androbd.plugin.CONFIGURE
# 4. Test DATA intent
adb shell am startservice \
-n com.fr3ts0n.androbd.plugin.homeassistant/.HomeAssistantPlugin \
-a com.fr3ts0n.androbd.plugin.DATA \
--es com.fr3ts0n.androbd.plugin.extra.DATA "ENGINE_RPM=2500"If you've tried all these steps and the plugin still doesn't appear:
-
Gather Information:
# Device info adb shell getprop ro.build.version.release # Android version adb shell getprop ro.build.version.sdk # API level # Package versions adb shell dumpsys package com.fr3ts0n.ecu.gui.androbd | grep version adb shell dumpsys package com.fr3ts0n.androbd.plugin.homeassistant | grep version
-
Capture Logs:
- Follow "Capture Complete Log Session" above
- Include the complete log file when reporting issues
-
Report Issue:
- GitHub Issues: https://github.com/ian-morgan99/AndrOBD-Plugin-Home-Assistant/issues
- Include:
- Device model and Android version
- AndrOBD version
- Plugin version
- Complete logs
- Steps taken so far
-
Community Support:
- AndrOBD Telegram: https://t.me/joinchat/G60ltQv5CCEQ94BZ5yWQbg
- AndrOBD Matrix: https://matrix.to/#/#AndrOBD:matrix.org
- AndrOBD Plugin Development
- Android Package Visibility
- Android BroadcastReceiver Guide
- TESTING_WITHOUT_OBD.md - Testing with emulators
When everything is working correctly, you should see:
-
In Plugin Manager:
- "Home Assistant" or "Home Assistant Publisher" listed
- Can tap to enable/disable
- Shows description: "Send OBD data to Home Assistant"
-
In Logs:
PluginHandler: >IDENTIFY: Intent { act=com.fr3ts0n.androbd.plugin.IDENTIFY ... } HomeAssistantPluginReceiver: Broadcast received HomeAssistantPlugin: <IDENTIFY: Intent { ... } HomeAssistantPlugin: >IDENTIFY: Intent { cat=[...RESPONSE] ... } PluginHandler: Plugin identified: com.fr3ts0n.androbd.plugin.homeassistant.HomeAssistantPlugin -
When Enabled:
- Plugin service stays running
- Receives data updates from AndrOBD
- Shows notification (if configured)
- Sends data to Home Assistant
If you see all of these, your plugin is successfully integrated!