Hi everyone,
I’m running into a persistent issue where services registered by AppDaemon apps are not appearing or callable in Home Assistant, despite AppDaemon logging indicate successful registration. I’d appreciate any insights or suggestions.
My Environment:
- Home Assistant: Home Assistant OS 15.2 (running in a VM on an Ubuntu Server)
- HA Core: 2025.4.3
- HA Supervisor: 2025.04.0
- AppDaemon: Tried both the official Add-on and now running separately in Docker (image
acockburn/appdaemon:dev
which resolved to v4.5.0) directly on the Ubuntu host.
The Problem:
I have created several simple test apps in AppDaemon (including minimal examples based on documentation) that use self.register_service("domain/service_name", callback)
.
- AppDaemon logs consistently show successful registration: For example,
INFO OfficialServiceTest: Successfully registered service: official_test_app/log_message
. No errors related to registration appear in the AppDaemon logs. - Services NOT visible in HA: The registered services (e.g.,
official_test_app.log_message
) never appear in the list under Developer Tools → Services. - Services NOT callable manually: When I try to call the service manually by typing its name (e.g.,
official_test_app.log_message
) in Developer Tools → Services (with correctly formatted data), Home Assistant returns an “Unable to find service…” error. This confirms the service is unavailable to HA Core.
Troubleshooting Steps Taken:
- Started with AppDaemon Add-on:
- Encountered issues getting
app_dir
changes in the UI config to stick (logs kept showing/config/apps
was being used). - Resolved initial app file loading issues by ensuring correct relative paths in Python code.
- Reset the Add-on configuration to default.
- Completely reinstalled the AppDaemon Add-on.
- Performed multiple restarts of both the Add-on and Home Assistant Core after each change.
- The service visibility/call issue persisted throughout.
- Switched to Separate Docker Container:
- Set up AppDaemon v4.5.0 in a Docker container directly on the Ubuntu host server (using
docker-compose
). - Configured
appdaemon.yaml
with the correctha_url
(using the HA OS VM’s IP) and a Long-Lived Access Token. - Verified AppDaemon starts correctly, connects successfully to Home Assistant (
INFO HASS: Connected to Home Assistant...
), loads the minimal test app (official_test.py
), and logs successful service registration (INFO OfficialServiceTest: Successfully registered service...
). - Performed Home Assistant Core restarts after AppDaemon was running and connected.
- The problem remains exactly the same: Service registration succeeds according to AppDaemon, but the service is completely unavailable (not listed, not callable) in Home Assistant.
- Other Checks:
- Verified correct service name format (
domain/service_name
) is used inregister_service
. - Confirmed Python scripts execute correctly and
initialize()
completes. - Tested with different minimal apps, all showing the same behaviour.
- Investigated HA Core / Supervisor / Host logs, but found no obvious errors related to service registration failures or communication problems with AppDaemon (though diagnosing this fully is difficult).
Question:
Given that AppDaemon (both as Add-on and separate Docker v4.5.0) successfully connects to HA and logs successful service registration internally, but HA Core consistently fails to see or allow calls to these services, what could be the cause?
- Is this a known bug in HA Core 2025.4.3 / Supervisor 2025.04.0 / OS 15.2 related to service registration via the API/WebSocket?
- Are there any deeper diagnostic steps I can take within HA Core or Supervisor to trace the service registration process?
- Could there be any other configuration aspect I’m missing?
Any help or pointers would be greatly appreciated! Thanks.
Log:
appdaemon_standalone | 2025-04-22 11:26:28.294791 INFO AppDaemon: ------------------------------------------------------------
appdaemon_standalone | 2025-04-22 11:26:28.295107 INFO AppDaemon: AppDaemon Version 4.5.0 starting
appdaemon_standalone | 2025-04-22 11:26:28.295194 INFO AppDaemon: Additional version info: dev-branch
appdaemon_standalone | 2025-04-22 11:26:28.295258 INFO AppDaemon: ------------------------------------------------------------
appdaemon_standalone | 2025-04-22 11:26:28.295322 INFO AppDaemon: Python version is 3.12.10
appdaemon_standalone | 2025-04-22 11:26:28.295540 INFO AppDaemon: Configuration read from: /conf/appdaemon.yaml
appdaemon_standalone | 2025-04-22 11:26:28.295653 INFO AppDaemon: Added log: AppDaemon
appdaemon_standalone | 2025-04-22 11:26:28.295720 INFO AppDaemon: Added log: Error
appdaemon_standalone | 2025-04-22 11:26:28.295778 INFO AppDaemon: Added log: Access
appdaemon_standalone | 2025-04-22 11:26:28.295833 INFO AppDaemon: Added log: Diag
appdaemon_standalone | 2025-04-22 11:26:28.296274 INFO AppDaemon: Using /app as app_dir
appdaemon_standalone | 2025-04-22 11:26:28.297792 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module appdaemon.plugins.hass.hassplugin
appdaemon_standalone | 2025-04-22 11:26:28.297956 INFO HASS: HASS Plugin initialization complete
appdaemon_standalone | 2025-04-22 11:26:28.301289 INFO AppDaemon: HTTP is disabled
appdaemon_standalone | 2025-04-22 11:26:28.304310 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
appdaemon_standalone | 2025-04-22 11:26:28.304605 INFO AppDaemon: Waiting for plugins to be ready
appdaemon_standalone | 2025-04-22 11:26:28.307288 INFO HASS: Connected to Home Assistant 2025.4.3 with aiohttp websocket
appdaemon_standalone | 2025-04-22 11:26:28.308206 INFO HASS: Authenticated to Home Assistant 2025.4.3
appdaemon_standalone | 2025-04-22 11:26:28.309200 INFO HASS: Waiting for Home Assistant to start
appdaemon_standalone | 2025-04-22 11:26:28.310450 INFO AppDaemon: All plugins ready
appdaemon_standalone | 2025-04-22 11:26:28.310806 INFO AppDaemon: Scheduler running in realtime
appdaemon_standalone | 2025-04-22 11:26:28.321888 INFO AppDaemon: New app config: official_test_app
appdaemon_standalone | 2025-04-22 11:26:28.323679 INFO AppDaemon: Starting apps: {'official_test_app'}
appdaemon_standalone | 2025-04-22 11:26:28.324767 INFO AppDaemon: Calling initialize() for official_test_app
appdaemon_standalone | 2025-04-22 11:26:28.339195 INFO HASS: Completed initialization in 38ms
appdaemon_standalone | 2025-04-22 11:26:28.365315 INFO official_test_app: OfficialServiceTest Initializing.
appdaemon_standalone | 2025-04-22 11:26:28.365749 INFO official_test_app: Attempting to register service: official_test_app/log_message
appdaemon_standalone | 2025-04-22 11:26:28.366191 INFO official_test_app: Successfully registered service: official_test_app/log_message
appdaemon_standalone | 2025-04-22 11:26:28.366572 INFO official_test_app: OfficialServiceTest Initialization Complete.
appdaemon_standalone | 2025-04-22 11:26:28.367116 INFO AppDaemon: App initialization complete