Appdaemon new config location issue

With the appdaemon v15 update, like other users I lost the ability to work on my apps because the addon_configs mount is not visible in a terminal.

I am aware of some of the solutions given, including the File Editor setting (that turns base config dir only setting off) and some related to the VSCode add-on.

The Samba server add-on allows me to mount the addon_configs dir locally on a client computer I’m working from.

However, none of these solutions solve the problem for me. I have created several python app modules with specialized logic, and frequently make enhancements and changes. I mostly work on them remotely out on the road using ssh to my two HA instances, reaching them using a domain name I own. I am not sure if I can use Samba remotely, but even if I could it is not nearly as secure as ssh in Emacs, which is how I work on everything; I don’t use other editors. I also don’t want to set up a VPN just for this purpose.

What I’d like to do is permanently mount and link addon_configs locally somewhere in same FS as my HA yaml config files- or, alternatively just be able to access that volume directly via SSH. Really hoping there’s a way to do this, otherwise I’m going to have to go back to a backup and be stuck using v14 permanently.

Anyone know if this is possible?

When I wrote my post I wasn’t aware that it was possible to keep all my appdaemon implementation including log files in their original location by changing the paths in appdaemon.yaml in the addon_configs dir via VSCode- so I moved it all back, with the exception of appdaemon.yaml itself.

So far, everything seems to be working ok.

It’s possible I have spoken too soon- I updated appdaemon to 16.3, and now have a new problem.

Appdaemon won’t complete initialization, and is spinning in a loop that slows down all of HA to make it barely responsive. I had to wait 7 minutes just for the appdaemon screen to refresh so I could click ‘Stop’ to shut it down.

I removed all apps except hello.py from apps.yaml and tried restarting. Same thing, had to wait a long time again just to be able to shut it down. It’s definitely appdaemon-with it shut down everything becomes responsive again. Can’t see anything in my config that would cause unexpected behavior, and obviously the original hello.py isn’t suspect.

This is at the end of appdaemon.log after I stopped it:

2024-01-18 22:37:42.399778 INFO AppDaemon: App initialization complete
2024-01-18 22:37:57.413406 WARNING AppDaemon: Excessive time spent in utility loop: 2611.0ms, 2440.0ms in check_app_updates(), 171.0ms in other
2024-01-18 22:38:01.194722 WARNING AppDaemon: Excessive time spent in utility loop: 2416.0ms, 2415.0ms in check_app_updates(), 1.0ms in other
2024-01-18 22:38:22.301241 INFO AppDaemon: SIGTERM Received
2024-01-18 22:38:22.320479 INFO AppDaemon: AppDaemon is shutting down
2024-01-18 22:38:22.340152 INFO HASS: Disconnecting from Home Assistant
2024-01-18 22:38:22.343530 INFO AppDaemon: Shutting down webserver
2024-01-18 22:38:22.962472 INFO AppDaemon: Saving all namespaces
2024-01-18 22:38:22.964233 INFO AppDaemon: AppDaemon is stopped.

so it seems could be related to check_app_updates()?

This is my appdaemon.yaml in addon_configs:

secrets: /homeassistant/secrets.yaml
appdaemon:
  latitude: xxxx
  longitude: xxxx
  elevation: 2
  time_zone: xxxxx
  plugins:
    HASS:
      type: hass
http:
  url: http://127.0.0.1:5050
admin:
api:
hadashboard:

app_dir: /homeassistant/appdaemon/apps/

logs:
  main_log:
    filename: /homeassistant/appdaemon/logs/appdaemon.log
  access_log:
    filename: /homeassistant/appdaemon/logs/access.log
  error_log:
    filename: /homeassistant/appdaemon/logs/error.log
  diag_log:
    filename: /homeassistant/appdaemon/logs/diag.log
    log_generations: 5
    log_size: 1024
    format: "{asctime} {levelname:<8} {appname:<10}: {message}"

I think your issue is because of a small misconfiguration with your appdaemon.yaml file. app_dir needs to be part of the appdaemon portion, not out on its own.

Your appdaemon.yaml should look something like this:

appdaemon:
  latitude: xxxx
  longitude: xxxx
  elevation: 2
  time_zone: xxxxx
  app_dir: /homeassistant/appdaemon/apps/
  plugins:
    HASS:
      type: hass
http:
  url: http://127.0.0.1:5050
admin:
api:
hadashboard:

hopefully that helps?

Reference in case you wanted to see where I got this from