[SUPPORT] Appdaemon & HADashboard - CorneliousJD Repo


Recommended Posts

AppDaemon is an execution environment for writing automation apps for Home Assistant home automation software.

It also provides a configurable dashboard (HADashboard) suitable for wall mounted tablets.

For full instructions on installation and use check out the AppDaemon Project Documentation.

 

I did not create Appdaemon or HADashboard, I simply created the template for unRAID because I wanted to share Appdaemon and HADashboard with the unRAID community.

This docker container REQUIRES Home Assistant as well.

A docker container for Home Assistant already exists, just search "HomeAssistant" in the apps tab!

 

The variables you need to set when setting up this container for the first time are as follows.

 

HA_URL: This is the URL to your Home Assistant installation.

Example: http://192.168.1.100:8123

Make sure you do NOT add a trailing / at the end, this will break AppDaemon and prevent it from connecting to HomeAssistant.

 

TOKEN: This is a LLAT (Long Lived Access Token) from HomeAssistant.

 

DASH_URL: This is a hidden paramater and can be left alone, you can change it if you know what you're doing though.

 

Note that the first time you launch this container it will fail and exit. This is because it created an example appdaemon.yaml in /mnt/user/appdata/appdaemon/

Go ahead and edit that file (I use nano via the terminal to do so personally) and add a few lines that are required. In particular for the current release you need to add time_zone, latitutde, longitude, and elevation in order to get Appdaemon to actually run in the container without crashing.

 

Here's a base example config, please change to suit your own timezone, latitude, longitude, and elevation.

Note that your HA_URL, Token, and Dash URL will automatically all be filled in.

 

appdaemon:
  time_zone: America/Detroit
  latitude: 0
  longitude: 0
  elevation: 0
  plugins:
    HASS:
      type: hass
      ha_url: http://X.X.X.X:8123
      token: REMOVED FOR SECURITY
http:
  url: http://$HOSTNAME:5050
admin:
api:
hadashboard:

 

Edited by CorneliousJD
Updated documentation.
Link to comment
  • 2 weeks later...

thought I would give this a whirl but doesn't seem to work I get this in the log any ideas?

 

Thanks

 

Stuart

 

****

 

 

2018-06-19 12:08:12.673504 INFO AppDaemon Version 3.0.1 starting
2018-06-19 12:08:12.673636 INFO Configuration read from: /conf/appdaemon.yaml
2018-06-19 12:08:12.674797 INFO AppDaemon: Starting Apps
2018-06-19 12:08:12.676213 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2018-06-19 12:08:12.682130 INFO AppDaemon: HASS: HASS Plugin Initializing
2018-06-19 12:08:12.682307 INFO AppDaemon: HASS: HASS Plugin initialization complete
2018-06-19 12:08:12.682411 INFO Dashboards are disabled
2018-06-19 12:08:12.682469 INFO API is disabled
2018-06-19 12:08:15.793762 WARNING AppDaemon: HASS: Disconnected from Home Assistant, retrying in 5 seconds
2018-06-19 12:08:23.857760 WARNING AppDaemon: HASS: Disconnected from Home Assistant, retrying in 5 seconds
2018-06-19 12:08:31.921764 WARNING AppDaemon: HASS: Disconnected from Home Assistant, retrying in 5 seconds
2018-06-19 12:08:39.985723 WARNING AppDaemon: HASS: Disconnected from Home Assistant, retrying in 5 seconds
2018-06-19 12:08:48.049772 WARNING AppDaemon: HASS: Disconnected from Home Assistant, retrying in 5 seconds
 

Link to comment

 

2 hours ago, schford said:

To answer my own question on this you cannot mix and match bridge dockers with dockers with their own IP, so if you want dockers to be able to talk to each other they either both have to be bridge or both have their own IP addresses.

 

This is not strictly true. But you do need to have an extra NIC to place the custom docker network on and let it talk to the bridge/unRAID.

Link to comment
  • 3 months later...

The logs say the docker has started but the web ui does not launch.

 

2018-09-22 16:17:11.963238 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2018-09-22 16:17:12.025949 INFO AppDaemon: HASS: HASS Plugin Initializing
2018-09-22 16:17:12.027045 INFO AppDaemon: HASS: HASS Plugin initialization complete
2018-09-22 16:17:12.027933 INFO Dashboards are disabled
2018-09-22 16:17:12.028271 INFO API is disabled
2018-09-22 16:17:12.139871 INFO AppDaemon: HASS: Connected to Home Assistant 0.78.2
2018-09-22 16:17:13.477726 INFO AppDaemon: Got initial state from namespace default
2018-09-22 16:17:14.411105 INFO AppDaemon: Reading config
2018-09-22 16:17:14.421794 INFO AppDaemon: /conf/apps/apps.yaml added or modified
2018-09-22 16:17:14.422239 INFO AppDaemon: /conf/apps/apps.yaml added or modified
2018-09-22 16:17:14.422697 INFO AppDaemon: App 'hello_world' added
2018-09-22 16:17:14.424687 INFO AppDaemon: Adding /conf/apps to module import path
2018-09-22 16:17:14.427733 INFO AppDaemon: Loading App Module: /conf/apps/hello.py
2018-09-22 16:17:14.474109 INFO AppDaemon: Initializing app hello_world using class HelloWorld from module hello
2018-09-22 16:17:14.760391 INFO hello_world: Hello from AppDaemon
2018-09-22 16:17:14.763923 INFO hello_world: You are now ready to run Apps!
2018-09-22 16:17:14.765986 INFO AppDaemon: App initialization complete

Link to comment
On 9/22/2018 at 12:21 PM, rlust said:

The logs say the docker has started but the web ui does not launch.

 


2018-09-22 16:17:12.027933 INFO Dashboards are disabled
2018-09-22 16:17:12.139871 INFO AppDaemon: HASS: Connected to Home Assistant 0.78.2
2018-09-22 16:17:14.760391 INFO hello_world: Hello from AppDaemon
2018-09-22 16:17:14.763923 INFO hello_world: You are now ready to run Apps!
2018-09-22 16:17:14.765986 INFO AppDaemon: App initialization complete

 

The first line I left there is most important, your config doesn't have dashboards enabled. Please see the AppDaemon/HADashboard website, but it bascially boils down to adding something like this to your appdaemon.yaml file in /config/

 

hadashboard:
  dash_url: http://UNRAIDIP:5050

This should enable dashboards for you to use.

Link to comment
  • 3 weeks later...

Hi CorneliousJD.

 

Since a Home Assistant have user authentication method is it possible to change the Appdaemon authentication from API password to something else (according to HA docs API authentication method will be dropped in next releases)?

Edited by w^w
Link to comment
On 10/14/2018 at 9:11 AM, w^w said:

Hi CorneliousJD.

 

Since a Home Assistant have user authentication method is it possible to change the Appdaemon authentication from API password to something else (according to HA docs API authentication method will be dropped in next releases)?

 

Hi there, I don't actually run this docker itself, this is the official HADashboard/Appdaemon docker but I just created the template for it, and published it for unRAID. That being said it should be just a matter of the creator of Appdaemon/HADashboard updating this and then the docker will update for everyone as well after that. Right now it would be something you'd have to reach out to them for (ACockburn) to see if/when they plan to update.

 

Thanks!

Link to comment
  • 3 weeks later...

everything seems to install ok but when i run it i get

Quote

2018-11-02 13:46:24.280795 INFO AppDaemon Version 3.0.2 starting
2018-11-02 13:46:24.281283 INFO Configuration read from: /conf/appdaemon.yaml
2018-11-02 13:46:24.287485 INFO AppDaemon: Starting Apps
2018-11-02 13:46:24.295084 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2018-11-02 13:46:24.449111 INFO AppDaemon: HASS: HASS Plugin Initializing
2018-11-02 13:46:24.449863 INFO AppDaemon: HASS: HASS Plugin initialization complete
2018-11-02 13:46:24.450441 INFO Starting Dashboards
2018-11-02 13:46:24.450899 WARNING ------------------------------------------------------------
2018-11-02 13:46:24.451130 WARNING Unexpected error during run()
2018-11-02 13:46:24.451293 WARNING ------------------------------------------------------------
2018-11-02 13:46:24.453445 WARNING Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/appdaemon/admain.py", line 82, in run
self.rundash = rundash.RunDash(self.AD, loop, self.logger, self.access, **hadashboard)
File "/usr/local/lib/python3.6/site-packages/appdaemon/rundash.py", line 130, in __init__
dash_net = url.netloc.split(":")
TypeError: a bytes-like object is required, not 'str'

2018-11-02 13:46:24.453750 WARNING ------------------------------------------------------------
2018-11-02 13:46:24.453986 INFO AppDeamon Exited

anyone have any ideas what i did wrong?

Link to comment
On 10/14/2018 at 9:11 AM, w^w said:

Hi CorneliousJD.

 

Since a Home Assistant have user authentication method is it possible to change the Appdaemon authentication from API password to something else (according to HA docs API authentication method will be dropped in next releases)?

ha_key can now be replaced with token -- fore more information on how to create a token see here: https://appdaemon.readthedocs.io/en/latest/CONFIGURE.html

Link to comment
8 minutes ago, wyleekiot said:

everything seems to install ok but when i run it i get

anyone have any ideas what i did wrong?

Did you try to configure your dashboards before hand? Try removing any dashboard and config other than getting it to connect to HA -- it should show you either successfully connecting to HA or give you a reason for the failure. If there's a failure you can then use that to troubleshoot why, if it DOES connect then you can add your dashboards back one by one to see where the issue lies perhaps? 

Link to comment
  • 2 weeks later...

While setting up a Docker for Appdaemon I'm getting the exact same error as @wyleekiot:

 

File "/usr/local/lib/python3.6/site-packages/appdaemon/admain.py", line 82, in run
self.rundash = rundash.RunDash(self.AD, loop, self.logger, self.access, **hadashboard)
File "/usr/local/lib/python3.6/site-packages/appdaemon/rundash.py", line 130, in __init__
dash_net = url.netloc.split(":")
TypeError: a bytes-like object is required, not 'str'

 

No dashboards or config set, just trying to connect to HA. Anyone have an idea what might fix this?

Link to comment
10 hours ago, dopray said:

While setting up a Docker for Appdaemon I'm getting the exact same error as @wyleekiot:

dash_net = url.netloc.split(":")

TypeError: a bytes-like object is required, not 'str'

 

No dashboards or config set, just trying to connect to HA. Anyone have an idea what might fix this?

Inside the configuration.yaml file, your "dash_url" is blank.  Makes you wonder what other trivial errors you will see if it can't handle that happening.

 

Even if you remove the dash_url, it will generate a different error.  Remove the entire "hadashboard" section so the dashboard will be disabled, and the Docker should start up.

 

#hadashboard:
#  dash_url:

 

  • Like 1
Link to comment
17 hours ago, thespooler said:

Inside the configuration.yaml file, your "dash_url" is blank.  Makes you wonder what other trivial errors you will see if it can't handle that happening.

Thank you! I looked inside the appdaemon.yaml file and first tried commenting it out like you suggested. This made the docker launch like you said.

After manually adding [myhostip]:5050 to dash_url in appdaemon.yaml I could launch the WebUI as well.

Link to comment
  • 4 months later...

RESOLVED!
Evening all, Any idea why all my squares on my dashboard have become blank in IOS 9? Seems to be working fine on android / PC,

having the same problem in IE11, but working in chrome and edge.

 

TIA.

 

Karl

20190407_003855.jpg

 

2019-04-07 18:31:31.243829 INFO Compiling dashboard '- Downstairs'
2019-04-07 18:31:31.397454 INFO Loading custom widget 'climate_select.yaml'
2019-04-07 18:31:31.397601 INFO Loading custom widget 'media_select.yaml'
2019-04-07 18:31:31.397667 INFO Loading custom widget 'media_with_volume.yaml'
2019-04-07 18:31:31.397723 INFO Loading custom widget 'baseclimateselect'
2019-04-07 18:31:31.398216 INFO Loading custom widget 'basemediaselect'
2019-04-07 18:31:31.398715 INFO Loading custom widget 'base_media_with_volume'
2019-04-07 18:31:31.399072 INFO Loading custom widget 'base_light_with_colorpicker'
2019-04-07 18:31:31.399378 INFO Loading custom widget 'light_with_colorpicker.yaml'
2019-04-07 18:31:31.399436 INFO Loading custom widget 'baseslider_new'
2019-04-07 18:31:31.399742 INFO Loading custom widget 'new_input_slider.yaml'
2019-04-07 18:31:31.399803 INFO Loading custom widget 'light_with_brightness.yaml'
2019-04-07 18:31:31.399864 INFO Loading custom widget 'base_light_with_brightness'
2019-04-07 18:31:31.400168 INFO Loading custom widget 'baseiconsensor'
2019-04-07 18:31:31.400462 INFO Loading custom widget 'baseiframe'
2019-04-07 18:31:31.400759 INFO Loading custom widget 'baseradial'
2019-04-07 18:31:31.401053 INFO Loading custom widget 'baseselect'
2019-04-07 18:31:31.401344 INFO Loading custom widget 'baseslider_vertical'
2019-04-07 18:31:31.401637 INFO Loading custom widget 'basetemperature'
2019-04-07 18:31:31.402099 INFO Loading custom widget 'camera.yaml'
2019-04-07 18:31:31.402178 INFO Loading custom widget 'heater.yaml'
2019-04-07 18:31:31.402235 INFO Loading custom widget 'iconsensor.yaml'
2019-04-07 18:31:31.402289 INFO Loading custom widget 'input_select.yaml'
2019-04-07 18:31:31.402340 INFO Loading custom widget 'radial.yaml'
2019-04-07 18:31:31.402397 INFO Loading custom widget 'readme.md'
2019-04-07 18:31:31.402454 INFO Loading custom widget 'temperature.yaml'
2019-04-07 18:31:31.402509 INFO Loading custom widget 'vertical_input_slider.yaml'
2019-04-07 18:31:31.402562 INFO Loading custom widget 'swipe_light.yaml'
2019-04-07 18:31:31.402605 INFO Loading custom widget 'baseswipe_light'
2019-04-07 18:31:31.402937 INFO Loading custom widget 'baseheater'
2019-04-07 18:31:31.467830 INFO function [get_dashboard] finished in 224 ms

This issue turned out to be related to "baseswipe_light" All Sorted now.

Edited by karldonteljames
Added Image
Link to comment
  • 7 months later...

i am now getting this error. is there something i need to fix?

 

 

2019-11-26 17:38:32.630108 INFO AppDaemon Version 3.0.5 starting
2019-11-26 17:38:32.630249 INFO Configuration read from: /conf/appdaemon.yaml
2019-11-26 17:38:32.631356 INFO AppDaemon: Starting Apps
2019-11-26 17:38:32.633425 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2019-11-26 17:38:32.711857 INFO AppDaemon: HASS: HASS Plugin Initializing
2019-11-26 17:38:32.712072 INFO AppDaemon: HASS: HASS Plugin initialization complete
2019-11-26 17:38:32.712225 INFO Starting Dashboards
2019-11-26 17:38:32.712337 WARNING ------------------------------------------------------------
2019-11-26 17:38:32.712393 WARNING Unexpected error during run()
2019-11-26 17:38:32.712447 WARNING ------------------------------------------------------------
2019-11-26 17:38:32.712884 WARNING Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/appdaemon/admain.py", line 82, in run
self.rundash = rundash.RunDash(self.AD, loop, self.logger, self.access, **hadashboard)
File "/usr/local/lib/python3.6/site-packages/appdaemon/rundash.py", line 130, in __init__
dash_net = url.netloc.split(":")
TypeError: a bytes-like object is required, not 'str'

2019-11-26 17:38:32.712939 WARNING ------------------------------------------------------------
2019-11-26 17:38:32.713005 INFO AppDeamon Exited

 

Link to comment
  • 3 months later...

Hi guys, I managed to install and run Appdaemon and it's working just fine.

But I'm having trouble installing pycurl through requirements.txt for an app that needs it.

Anyone have any tips on if this is even possible? 

Edited by Notrial
Link to comment
  • 5 weeks later...

 

2020-04-19 02:28:33.795643 INFO AppDaemon: Using 'ws' for event stream
2020-04-19 02:28:33.802227 INFO AppDaemon: Starting API
2020-04-19 02:28:33.804382 INFO AppDaemon: Starting Admin Interface
2020-04-19 02:28:33.804592 INFO AppDaemon: Starting Dashboards
2020-04-19 02:28:33.808940 WARNING HASS: Disconnected from Home Assistant, retrying in 5 seconds
2020-04-19 02:28:33.813033 INFO AppDaemon: App 'hello_world' added
2020-04-19 02:28:33.813425 INFO AppDaemon: Found 1 total apps
2020-04-19 02:28:33.813638 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
2020-04-19 02:28:33.814114 INFO AppDaemon: Running on port 5050
2020-04-19 02:28:38.812162 WARNING HASS: Disconnected from Home Assistant, retrying in 5 seconds
appdaemon:
  plugins:
    HASS:
      type: hass
      ha_url: 192.168.1.200:8123
      token: ***********
  latitude: *********
  longitude: ******
  elevation: 1.0
  time_zone: *********
http:
  url: http://192.168.1.200:5050 
#  trusted_proxies: 127.0.0.1
admin:
api:
hadashboard:
  dash_url: http://192.168.1.200:5050

 

any idea how to fix the disconnected from home assistant loop?

Link to comment
9 hours ago, BryanSeah said:

any idea how to fix the disconnected from home assistant loop?

I admittedly haven't used this container myself in a long while, HADashbord stopped being useful to me with newer, cleaner lovelace elements so I stopped using it. I'll see if I can fire it back up on a new instance and troubleshoot though and see what I come up with. May need to update the container template as well since I think a lot of things have changed since I stopped using it.

 

I'm busy this weekend but will hopefully have some time over the next week to look into it more.

Link to comment
3 hours ago, CorneliousJD said:

I admittedly haven't used this container myself in a long while, HADashbord stopped being useful to me with newer, cleaner lovelace elements so I stopped using it. I'll see if I can fire it back up on a new instance and troubleshoot though and see what I come up with. May need to update the container template as well since I think a lot of things have changed since I stopped using it.

 

I'm busy this weekend but will hopefully have some time over the next week to look into it more.

That would be awesome :) Much appreciated

Link to comment
  • 3 weeks later...
On 4/19/2020 at 3:23 AM, Notrial said:

That would be awesome :) Much appreciated

Ok sorry this took way longer than I expected to get around to looking at this.

 

I know part of the issue here is just the old api/secret key vs the new LLAT (long lived access token) that's needed, but replacing that still causes the container to crash after starting for some reason. 

 

I am strill trying to figure out why but it's not really showing me much and the container doesn't stay running long enough for me to look into it. Will continue to plug away at this as I get time. In the meantime if anyone else has any input let me know - I can easily fix and update the template once I get it working so others can redeploy. 

 

2020-05-07 17:07:29.630378 INFO AppDaemon: AppDaemon Version 4.0.3 starting
2020-05-07 17:07:29.630537 INFO AppDaemon: Python version is 3.8.2
2020-05-07 17:07:29.630632 INFO AppDaemon: Configuration read from: /conf/appdaemon.yaml
2020-05-07 17:07:29.630742 INFO AppDaemon: Added log: AppDaemon
2020-05-07 17:07:29.630878 INFO AppDaemon: Added log: Error
2020-05-07 17:07:29.630988 INFO AppDaemon: Added log: Access
2020-05-07 17:07:29.631109 INFO AppDaemon: Added log: Diag
2020-05-07 17:07:29.631223 ERROR AppDaemon: time_zone not specified in appdaemon.cfg
2020-05-07 17:07:29.631346 ERROR AppDaemon: latitude not specified in appdaemon.cfg
2020-05-07 17:07:29.631444 ERROR AppDaemon: longitude not specified in appdaemon.cfg
2020-05-07 17:07:29.631553 ERROR AppDaemon: elevation not specified in appdaemon.cfg

 

Link to comment
On 4/19/2020 at 3:23 AM, Notrial said:

That would be awesome :) Much appreciated

Ok, I got her up and running again! The auto-generated config does not do enough, and you must manually modify it.

 

Here's my log of it connecting - I'll work to modify the template and add some context to the sample config and re-post in a bit. 

 

EDIT: Removed annoying log, see next post/page for final template info.

Edited by CorneliousJD
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.