Funktionen zur Benutzeroberfläche hinzufügen

Ich habe Gladys gerade durch einen Post auf Reddit entdeckt, davon hatte ich vorher noch nie gehört.

Ich nutze Home Assistant schon seit Jahren, sowohl als Nutzer als auch als Entwickler. Ich habe das Projekt aus verschiedenen Gründen verlassen, vor allem aber, weil mir die Richtung, in die sich die Entwicklung von Home Assistant bewegt, überhaupt nicht gefällt.

Ich mag das UI von Gladys, es ist schlicht und modern. Das ist wirklich toll. Aber auf den ersten Blick (ich gebe zu, ich habe nicht besonders tief gegraben), scheint mir, dass die Grafiken / Visualisierungen historischer Daten recht begrenzt sind. Diese Funktion ist ein zentraler Bestandteil meiner Nutzung eines Smart-Home-Systems.

Bevor ich mich also weiter einlasse und anfange, in die Entwicklerdokumentation und den Quellcode einzutauchen, wollte ich wissen, welche Möglichkeiten es gibt, Gladys durch Erweiterungen / benutzerdefinierte UI-Elemente zu erweitern. Gibt es eine stabile API zwischen dem Backend und dem Frontend, die es mir ermöglichen würde, Elemente einfach hinzuzufügen?

Zum Vergleich: Ich hatte ein System zur Erforschung historischer Daten in Home Assistant entwickelt. Die Idee wäre, es irgendwann auf eine andere Plattform zu migrieren.

https://github.com/alexarch21/history-explorer-card

Danke!

Hallo @alexarch und willkommen bei Gladys! :blush:

Da sind wir uns einig!

Wir haben mehrere Themen im Forum, in denen wir über mögliche Verbesserungen diskutiert haben. :slightly_smiling_face:

Zum Beispiel, um das Widget „Diagramme“ zu verbessern:

Was du vorschlägst, ist ziemlich nah an einem anderen Projekt, das wir im Kopf haben:

Ein Button auf diesem Diagramm-Widget, der es ermöglicht, einen dedizierten Bildschirm anzuzeigen, der erweiterte Analyseoptionen bietet: Filterung nach bestimmten Daten, CSV-Export usw.

Gladys ist ein „All-in-One“-Produkt, ein einheitliches System. Es gibt kein Erweiterungssystem, und das ist beabsichtigt: Das Ziel ist es, eine kohärente und optimierte Erfahrung für alle Benutzer zu bieten. :slightly_smiling_face:

Die Philosophie von Gladys unterscheidet sich von der von Home Assistant. Das Ziel ist es, ein fertiges Produkt zu haben, das nach der Installation von der ganzen Familie genutzt werden kann, und nicht nur von einem „Entwickler“-Publikum.

Wenn du zur Verbesserung von Gladys beitragen möchtest, ist der beste Weg, einen Pull Request zu erstellen. Ich reagiere sehr schnell auf Feedback und bin bereit, dir zu helfen, deine Entwicklungsumgebung einzurichten, falls nötig!

:open_book: Ein Artikel, um dir den Einstieg zu erleichtern:

:television: Ich habe auch viel Live-Coding auf YouTube gemacht, das dir Inspiration geben kann:

Auf jeden Fall zögere nicht, wenn du Fragen hast, und nochmals willkommen in der Community :slight_smile:

Hallo, danke für die schnelle und nette Antwort :blush:

Okay. Ich bin mir also nicht ganz sicher, ob Gladys wirklich das Projekt ist, das ich suche. Ich mag das UI und die „Einfachheit“ ist sehr attraktiv im Vergleich zu Home Assistant, das zu einem unüberschaubaren, überengineerten Monster geworden ist, dessen einfacher Unterhalt fast ein Vollzeitjob ist, da sich die APIs/Configs/etc. ständig ändern. Aber der totale Mangel an Anpassungsmöglichkeiten ist ein echtes Problem. Auch wenn ich die Entscheidung verstehe.

Ich habe mir schnell das Github angeschaut und sehe, dass es tatsächlich (notgedrungen) eine REST-Backend-/Frontend-API (und einen kleinen WebSocket-Entwurf) gibt. Diese API ist gut dokumentiert und recht umfassend, also könnte man sie verwenden, um benutzerdefinierte UI-Elemente auf der Client-Seite zu erstellen? Ohne das gesamte Frontend zu ersetzen, sondern indem man neue Elemente in das bestehende UI integriert.

Jetzt habe ich verstanden, dass das nicht wirklich das angestrebte Ziel von Gladys ist.

Das liegt an dir, je nachdem, was du suchst! :smiley:

Tatsächlich ist Gladys nicht dazu gedacht, ein weiterer Home Assistant zu sein. Die Idee ist es, eine benutzerfreundliche, gut gestaltete und einfache Software für die breite Masse anzubieten.

Könntest du genauer beschreiben, was du dir vorstellst?

Ich bin mir nicht sicher, was du mit « benutzerdefinierte UI-Elemente auf der Client-Seite » meinst.

Übrigens, anstatt eine Änderung nur für deinen persönlichen Gebrauch vorzunehmen, zögere nicht, deine Verbesserungen vorzuschlagen, damit alle Nutzer davon profitieren können.
Ich würde mich freuen, dich zu unterstützen, wenn du uns bei der Entwicklung helfen möchtest! :blush: