Sharing Java Script Dashboards?

Okay so i got into Java script dashboards a while back to escape yaml/lovlace limiting design and functionality. Im fairly pleased with he results, its a dashboard to monitor all my smart outlets in my home as well as con-ed meter data via op power (con-ed op power is not working the devs have to fix their integration). What the dashboard can do, completely modular user can add room and outlet entities and save them much like a Lovelace dashboard, double click a card brings up a graph with more details, custom analytics, etc.

The issue i face is i want other users to see why im in love with java script dashboards but when it come to sharing them i dont know how.


Issues

  1. Home assistant caches JavaScript dashboards
#(on my config.yaml)

#Custom Panels
panel_custom:
  - name: outlets-panel
    sidebar_title: Outlets
    sidebar_icon: mdi:power-socket-us
    url_path: outlets
    module_url: /local/custom-panels/outlets-panel/outlets-panel.js?=19
    require_admin: false
#Custom Panels End

Unless i put the line " module_url: /local/custom-panels/outlets-panel/outlets-panel.js?=19" and change the number at the end (17,18,19,20) home assistant does not load the latest/current cache of my dashboard, its pain while developing & i don’t want to share a dashboard if user must put up with this. There needs to be a way to force no cache or to load the latest version of dashboard so users dont have to keep updating config yaml.

  1. No system setup for sharing js dashbaords
    There’s means of sharing Lovelace cards, dashboards, integration, blueprints, but no means of sharing js dashboards. Yes, i can upload to github with instruction for use but there needs to be at least a forum section just for this as there is for blueprints. In all the feature is highly underrated and underexplored. Just as important as how we automate is how we display our data, javascript is leading language for displaying user interfaces for a reason!

:slight_smile:


Screenshots of the dashboard





How it appears on wall tablet

1 Like

For the caching issue, if you have HACS installed (several users that use customisations have it installed), you can get advantage of one of the features of the hacsfiles endpoint:

  • The /hacsfiles endpoint does not cache anything; it will instruct your browser to fetch a new version on each load.

For sharing the best is to use Github. You can also add it as a HACS plugin (then the previous point will be automatically covered) and in the installations instructions you can instruct users what is the code that they need to add to the configuration.yaml to get the custom panel working. And you can use the section Share your Projects! > Dashboards & Frontend to share your project, this kind of project fits perfectly in that section.

thank you very much! im gonna look at all of these and report back see what works, maybe even ask hacs to make this a feature in their app to share java dashboards to eliminate even adding stuff manually to config yaml, should be a way since integrations that use panels dont need manual config yaml input. Another theory could be to make the custom dashboards integrations that auto register the dashabords idk lol just allot of ideas floating

1 Like

Okay so something dawned on me, i had automation that checked all my outlet power readings and played a warning message when an outlets usage got to high, but while developing another dashboard for cameras i was able to implement calling a tts service and set volume service call from the dashboard (so a user can quickly send a message to the cameras speaker or nearby speaker)

But… i then questioned if i can avoid do service calls what about avoiding automations all together and embed them in dashboard, answer is yes. But the trade off is the panel must be running, so if i make panels as an integration the panels can have embedded automation that run server side no need for clunky automations. I didnt know this was possible and totally changed my perspective. I want to get a working demo out and possible change the way we share dashbaords :slight_smile:


what this would do is make it so dashboard aren’t just for simply displaying information or toggling entity states but controlling them in new ways with integrated automation and advance logic (python no more yaml :slight_smile: ). Like a true smart dashbaord

1 Like