Hass.io and HADashboard setup - Java error

Yes, using HASS.IO is indeed the problem here, and I know HADashboard works well because I had it up in running before I made the switch to hass.io. (thanks @aimc for all your hard work on this, it is much appreciated) I decided to move to hass.io as I had to too many issues updating stuff on hassbian, I had to reinstall several times, etc. Hass.io just seems to work, I’ve been through several upgrades without issue…which it great

That said, I just need to figure out how to get HADashboard to look for homeassistant on port 3030 instead of port 80, OR obviously better yet, forward all port 80 requests to port 3030. Supposedly NGIX can do this… I just can’t get configured correctly. If anyone knows how to get HASS.IO to forward requests on port 80 to 3030 I’ll be golden!

I will be taking a look at this when I get back from my business trip - it seems to be tripping a lot of people up - If I can make it easier with some simple changes and writing some docs I will :slight_smile:

4 Likes

awesome! Looking forward to it. I’d be willing to test anything you have if needed.

Thanks @aimc. I assure you it certainly WILL make the life of many much much easier…

Ps: I’m another one who’s scratching his head to get it working

Does anyone know if there has been any progress on this?

I made the jump from a manual install over to HASS.io. I’ve really liked it so far but am starting to have regrets as HADashboard is such an integral component of my setup.

i heard of no change.
still regularly people with hassio problems and outdated AD version not working.

I got it working by changing port in appdaemon setup and domain to hassios ip.

also changed dash_url to hassios ip adresse.
and set dash_force_compile to 1

3 Likes

It did the trick for me too!

cool :wink: not bad for a carpenter (me) that dont kow muich coding :slight_smile:

1 Like

I’ve been hit by the this problem as well and have done some research.

The “error getting state, check java console for details” occur when you are using SSL proxying, and is caused by mixed content (both https and http). I.e. the states (sensors, devices etc.) are loaded as "http://<host>:<port>/state/..."and the javascripts are loaded as "src=javascript/...."

This will expand them to urls starting with “http://…” and that will fail when proxied through a SSL proxy.

I’ve tried to hardcode this to https, changing the conf.base_url in appdash.py to:
conf.base_url = "https://{}".format(conf.dash_host)
and changing all javascript in dashboard.jinja2 to:
src="https:<host>/javascript/....

And then it works when connecting through an SLL proxy. Unfortunately hardcoding this will break normal http access so it is not a permanent solution, more like a proof of concept.

What needs to be done is to change both the appdash.py conf.base_url logic and the javascript loading to something that will dynamically appear as https:// or http:// depending on how you connect. This should be fairly easy for those who know what they are doing (I do not :wink: : )

@aimc knows what he is doing :wink:
i think he will look at this.

Thanks for the investigation - i’ll add this to the list - the relative javascript paths might be a problem though.

Seeing how WPA2 might not be that safe by itself, having the possibility to use SSL would be nice, even on your home network.

As of now I’m using my patched appdash.py and dashboard.jinja2 with nginx SSL proxy to access the dashboards with https both on my local network and from the internet. Seems to be working just fine.

One of the reasons I moved to relative paths was to help with Docker - this would probably break that so some care is needed …

Hi all. I hope this post is related enough to be placed here. I’ve been struggling to get the + and - icons for the input_number widget in the dashboard.

I’ve now managed to get them working by adding fa-plus and fa-minus to the icon_up and icon_down part of the hadash_init.js file in the javascript folder within compiled. I’m just a bit surprised that the baseslider entities aren’t already setup. There isn’t anything populated for the style either and so the widget is displayed with a grey background. I’m confident I can adjust the file to get it working as I’d like but could someone tell me how these files are meant to work please? I get the feeling that I’m missing something in a different file that would cause these entities to be auto populated.

Thanks for your help already @ReneTode, I didn’t want to hijack your post any further so I headed over here.

i think that the release was a little to fast to get support for those who follow HA releases.
in the skinfiles the variables are still called input_slider instead of input_number.

i guess i thought a bit to simple and i said to @aimc that all he had to do was what he has changed.
Andrew the variables.yaml are not updated to input_number :wink: sorry for that.

I did the good-old ctrl-f replace to rename the input_slider to input_number in the variables file. I’m guessing the hadash_init.js file is generated from the variables file? I’m not going to do this now as I’ve got it working just as I’d like but, if I deleted the hadash_init.js file would it be re-generated when I loaded the dashboard? I’m just thinking that could be a solution if anyone else is trying to get the input_number widget configured i.e. rename input_slider to input_number in the variables file, then delete hadash_init.js then restart appdaemon in hass?

I haven’t got a clue how all this hass magic works. Maybe I’ll leave problem solving to you and Andrew :wink:

everything in the compiled dir is created automaticly.
and depending on your settings it gets recreated if you change something in your dashboards, or when you restart, or if the dashboard is loaded.

so yeah, only replacing in variables.yaml makes it right.
it has also to be changed in every custom skin by people using custom skins.

I have a few TPLINK (5x HS200, 1x HS105 and 1xHS110) and I had the same issue but now they work very well. . However to fix this, in your config file, ensure that the name of the device match the definition in the Kasa app.

And make sure your reserved the IP in your router.

Mine look like this

switch:
  - platform: tplink
    host: 192.168.3.104
    name: "HS110"
  - platform: tplink
    host: 192.168.3.103
    name: "HS105"

@aherbjornsen… Hi…
I am also stuck at the same point with java error while getting state. Can you please explain the path of the appdash.py file and the changes so that I can get it working as a workaround as of now.

and I think that @aimc will provide an update version of hadashboard soon!!! :slight_smile: :slight_smile:

Please do share the details for the workaround.