Python error in migration from appdaemon 2 to 3

I wanted to use the widget type “input_select” in HA dashboard but realized that I was running the stable version 2.1.12. So, I uninstalled it and installed 3.0.0b3. I then had to update my yaml files to accommodate the changes. I may have not gotten all of the updates right. Here is what I have:

/home/homeassistant/conf/appdaemon.yaml:

log:
  accessfile: /var/log/appdaemon/access.log
  errorfile: /var/log/appdaemon/error.log
  logfile: /var/log/appdaemon/appdaemon.log
  log_generations: 3
  log_size: 1000000
appdaemon:
  threads: 10
  disable_apps: 1
  plugins:
    HASS:
      type: hass
      ha_url: http://localhost:8123
    hadashboard:
      dash_url: http://localhost:5050

I created an empty directory under /home/homeassistant/conf called apps and I created a /var/log/appdaemon folder. All are owned by root.

When I start appdaemon, I get:

$ sudo appdaemon -c /home/homeassistant/conf
Traceback (most recent call last):
  File "/usr/local/bin/appdaemon", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py", line 365, in main
    admain.main()
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py", line 361, in main
    self.run(appdaemon, hadashboard)
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py", line 60, in run
    self.AD = ad.AppDaemon(self.logger, self.error, self.diag, loop, **appdaemon)
  File "/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py", line 252, in __init__
    basename = self.plugins[name]["type"]
KeyError: 'type'

What should the file ownership be for an ideal installation? Is there anything I’ve missed in migrating from version 2 to version 3?

Thanks

Is this the right place to report this issue? For now, should I go back to the latest stable release?

I made some progress on this. I figured out that the hadashboard section was in the wrong place and changed by appdaemon.yaml file to this:

log:
  accessfile: /var/log/appdaemon/access.log
  errorfile: /var/log/appdaemon/error.log
  logfile: /var/log/appdaemon/appdaemon.log
  log_generations: 3
  log_size: 1024
appdaemon:
  api_port: 5000
  threads: 10
  disable_apps: 1
  plugins:
    HASS:
      type: hass
      ha_url: http://localhost:8123
hadashboard:
  dash_url: http://localhost:5050

That got me past that python error and on to this one:
‘’’
Traceback (most recent call last):
File “/usr/local/bin/appdaemon”, line 11, in
sys.exit(main())
File “/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py”, line 365, in main
admain.main()
File “/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py”, line 361, in main
self.run(appdaemon, hadashboard)
File “/usr/local/lib/python3.5/dist-packages/appdaemon/admain.py”, line 80, in run
loop.run_until_complete(asyncio.gather(*pending))
File “/usr/lib/python3.5/asyncio/base_events.py”, line 466, in run_until_complete
return future.result()
File “/usr/lib/python3.5/asyncio/futures.py”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/asyncio/tasks.py”, line 239, in _step
result = coro.send(None)
File “/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py”, line 1292, in utility
await utils.run_in_executor(self.loop, self.executor, self.check_app_updates, True)
File “/usr/local/lib/python3.5/dist-packages/appdaemon/utils.py”, line 121, in run_in_executor
response = list(completed)[0].result()
File “/usr/lib/python3.5/asyncio/futures.py”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/concurrent/futures/thread.py”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/local/lib/python3.5/dist-packages/appdaemon/appdaemon.py”, line 1753, in check_app_updates
if apps[“term”]:
TypeError: ‘NoneType’ object is not subscriptable

In reading the installation notes again, I decided to add the hello.py example app as described and thought maybe that the problem was linked to that.  I removed the apps.yaml and hello.py files from the apps directory but that did not change the error I was getting.