Dashboard Object Model with Properties


I'm gradually improving my knowledge of CSS for advanced customisation and have looked through the community and the various posts that have provided a lot of help.

I can't help thinking this work would be a lot easier if there was a published Object/Class model with their properties for all elements of the dashboard, including any hierarchy. I have contacted Support but for some strange reason, they think that the community is a better place for documentation about an App that is embedded within the core Hubitat application.

I would have anticipated that in the process of creating the Dashboard App, the Hubitat developers would have needed this form of documentation and had hoped that the sharing of this information would not have been considered an IPR issue but...

As a result, I thought it would be useful if a thread was created where people could attempt to reverse engineer this documentation from their experience.

Your best bet would probably be any of the people involved with the creation of Smartly. However, for unrelated reasons, many of them are no longer on this forum, but you can find links to places for further discussion in that thread. I still do not know that they've actually documented what they've found, but clearly they've figured out enough about how it works to make what they do work with it. Hubitat, to my knowledge, has not published any such information, and my guess is that they are unlikely to, both because as far as we know the original primary developer of Hubitat Dashboard no longer works for them (not that others aren't maintaining it now) and because they likely don't want to guarantee specific behavior about the app's internal workings should it change in future versions.

A related question that you didn't ask but that does come up from time to time: it's possible to write your own dashboard. An app can serve HTML (and similar render-able--or not--content) from an HTTP(S) endpoint, locally or via the cloud, which is more or less just what Dashboard is doing. If you have a super-involved idea in mind, doing it yourself so you do know exactly how it works might be a better idea--engineering instead of (trying to put something on top of) reverse-engineering. :slight_smile: