Adding functions to the UI

I just discovered Gladys through a post on Reddit; I’d never heard of this project before.

I’ve been on Home Assistant for years, both as a user and as a developer. I left the project for various reasons, but mainly because I really don’t like the direction Home Assistant’s development is taking.

I like Gladys’s UI; it’s understated and modern. It’s very nice. But at first glance (I admit I haven’t dug very deep), it seems to me that the charts/visualizations of historical data are fairly limited. This feature is part of my main use of a home automation system.

So before investing more time and starting to dig into the developer docs and the source code, I wanted to know what the possibilities are for extending/adding custom UI elements on Gladys. Is there a stable API between the server/backend and the client/frontend that would allow me to easily add elements?

For reference, I developed a historical data exploration system on Home Assistant. The idea would be to migrate it to another platform eventually.

Thanks!

3 Likes

Hi @alexarch and welcome to Gladys! :blush:

We agree!

We have several threads on the forum where we’ve discussed possible improvements. :slightly_smiling_face:

For example, to improve the « Graphs » widget:

What you’re proposing is pretty close to another project we have in mind:

Add a button on that graph widget to open a dedicated screen, offering advanced analysis options: filtering by specific dates, CSV export, etc.

Gladys is an all-in-one, unified product. There is no extension system, and that’s intentional: the goal is to provide a coherent and optimized experience for all users. :slightly_smiling_face:

Gladys’s philosophy is different from Home Assistant’s. The ambition is to have a turnkey product once installed, usable by the whole family, and not just by a « developer » audience.

If you want to contribute to improving Gladys, the best approach is to submit a pull request (PR). I’m very responsive to feedback and available to help you set up your development environment if needed!

:open_book: An article to help you get started:

:television: I’ve also done quite a bit of live coding on YouTube; it might give you some inspiration:

https://www.youtube.com/live/XhizKv8KNLQ?si=kLIIkCTwpuzeLlJo\u0026t=102

In any case, don’t hesitate if you have questions, and again welcome to the community :slight_smile:

5 Likes

Hi, thanks for the quick and friendly reply :blush:

Okay. So I’m not really sure whether Gladys is the kind of project I’m looking for. I like the UI and the « simplicity » is very appealing compared to Home Assistant, which has become an unmanageable, over-engineered monster whose mere maintenance is almost a full-time job since the APIs/configs/etc change all the time. But the total lack of customization is a real problem. Even though I understand the choice.

I took a quick look at GitHub, and I see that there is indeed (as expected) a backend/frontend REST API (and a small websocket sketch). This API is well documented and fairly complete, so could we use it to create custom UI elements on the client side? Without replacing the whole frontend, but by integrating new elements into the existing UI.

Now, I understand that this isn’t really Gladys’ intended purpose.

It’s up to you depending on what you’re looking for! :smiley:

Indeed, Gladys is not intended to be another Home Assistant. The idea is to offer a consumer-oriented application, well designed and easy to use.

Could you be more specific about what you have in mind?

I’m not sure I understand what you mean by "custom UI elements on the client side ".

Also, rather than making a modification solely for your personal use, feel free to propose your improvements so they can benefit all users.
I’d be happy to support you if you want to help us with development! :blush: