TileBoard - New dashboard for Homeassistant

ta, i’ll have a play

cheers

Hi, just want to clarify how I should host this…

My HA is exposed to the internet through the standard duckdns set up - can I just follow your instructions using prompt and save and be safe? Or do I need nginx?

Would I then be able to access this externally as well as within my network?

Hi @freekeys, I’m using duckdns and nginx, and I can access TB externally.
Setting up nginx let’s you easily access HA from your duckdns domain, and also locally via IP address, which is very convenient when developing. I’d suggest you give it a try.
I’ve set up a directory called ‘tb’ under the www directory for HA, and I can access TB externally via:
domain.duckdns.org/local/tb/index.html’.
Trying to access the directory (e.g. ‘domain.duckdns.org/local/tb/’ gives me ‘403: forbidden’, but that can be got around, so don’t embed any passwords or other secure info in your code.

Awesome - and could I replace ‘alarm.home.state’ in your syntax with any HA entity?

1 Like

Even if you don’t store password in plain text I would still recommend using Nginx to host TileBoard if it is being exposed to the internet. While attacker can not access your HA instance, he can read the config file and get idea as to what hardware you have.

You absolutely must do it :slight_smile:

@frank451, did you create ‘custom.css’ in the ‘styles’ folder? It will need to be there to get picked up.

Thanks @resoai and @JoRoCoBo - is there a guide on how to set this up with nginx? Totally new for me…

Hopefully you’re using hass.io, and you added duckdns as a hass.io addon.
https://www.home-assistant.io/addons/
If you have, then adding nginx is quite simple. Just set is up in the ADD-ON store (found in the HASS-IO tab of your HA), and follow the instructions to change your configuration.yaml file and port forwarding rules for your router. The only config change you will need for nginx is to change “home.example.com” to your duckdns domain.

It’s on my list of things to do/work out how to do lol

Is there scope to create a secure docker container with everything setup (Nginx, TileBoard etc)? As I run HA and not HASS this would be a better solution for me. Also for those who run HASS maybe @frenck could put an add on together… because he’s not busy enough :grin:

TileBoard is cool - seems like the thing for my tablet on the wall. Thanks for the time and effort expended building such a thing, and for allowing it to escape into the wild, where it provokes endless questions :slight_smile:

My suggestion to those trying to use it - you need to be a little comfortable with the relevant technology. In this case, how to write simple javascript, well… mostly the JSON data expression subset of it. It’s a very similar problem to getting some comfort with YAML used in home assistant (and many other places). The specific indentation isn’t magic - it’s just a way to define a data structure. Think about what the data structure needs to look like, and then map it to a way to express it in various languages (YAML, JSON) as appropriate. It’s not magic once you get a feel for the structure that’s expected.

I think there’s room for stuff like TIleBoard which requires a bit more of a learning curve if you’re not already familiar with the common technology it’s based on. Really, my problem seems to be lack of any sense of design - I’ve managed to make ugly dashboards in HADashboard, Home Assistant and now TileBoard. That must be some evidence of Turing completeness and equivalency or something.

@resoai - thanks again for sharing this, just in time for that 8" Amazon Fire Tablet I picked up on sale - perfect timing! It really is quite amazing what you can do with just Javascript in the browser without any new server-side code needed.

3 Likes

I think you are doing a job to subvert our perception of the dashboard. I have already used this fast-running dashboard. for this reason, I think I need to log in to express my thanks to you. subversive work should be commended.

Thanks! I am using hass.io thankfully :slight_smile:

Can you check the steps below please? Is this correct? The port forwarding stuff I’m particularly unsure of…

  1. leave the official nginx settings as they are but update “domain” to be my duckdns url (without port?)

  2. update my HASS config with these instructions from the nginx addon - “in the http section of the configuration.yaml file remove ssl_certificate and ssl_key and don’t enter the port in the base_url to avoid an HTTP 502 error.“

  3. Leave the current forwarding of port 443 to 8123 in place

  4. Start forwarding port 80 to 443??

  5. Then I leave my duckdns addon in place and don’t change anything?

I’m not an expert on security, so buyer beware. But the only other change I had to make was to modify step 3 to forward port 443 to 443 (instead of 8123).

Thanks @JoRoCoBo !

@resoai is there no way of running TileBoard safely on a HA instance that is using duckdns without doing all of this?

Please understand that TileBoard is just a HTML page. You can host it anywhere you like, even tablet itself.

Very cool. I think I must have my darksky sensor configured differently from yours because the weekly forecast is not showing correctly for me. Can you share your sensor config?

Thanks - and do you still then put the TileBoard files in the www directory?

EDIT sorry reread your post that it should go in www/tb

Doesn’t your HA api password have to be in the TB config though?