Dashboard - Entwicklungen / Fehler / etc.

Hallo,

Ich habe erst vor einer Woche mit der Installation von Gladys v4 begonnen. In den letzten beiden Tagen, nach der Integration des MQTT-Dienstes (vollständige Hausautomatisierung mit Arduino(s)) und der großen Hilfe von @AlexTrovato, habe ich etwa 50 Räume für mein hier vorgestelltes Projekt erstellt: https://community.gladysassistant.com/t/interrogation-sur-les-possibilites-et-exposition-dun-projet-en-cours-avec-mqtt/2215.
Ich konnte daher drei meiner Kameras im Dashboard einrichten (funktionieren sehr gut, es ist besser, die Zugriffe zu begrenzen, eingestellt auf 2 Sekunden: Der Rasp Pi 4 ist mehrmals abgestürzt - ich nutze Debian) sowie einige Geräte durch Senden von Arduino per MQTT.

@pierre-gilles, ich wende mich an dich, weil du das Problem bereits in der v3 gelöst hattest ^^, ich habe versucht, diese im Dashboard anzuzeigen, aber leider sind wir in derselben Situation wie in der v3 vor meiner Anfrage, nur die ersten 20 Räume werden angezeigt:

Screenshots der Räume im Dashboard

Außerdem werden sie in alphabetischer Reihenfolge unabhängig von den Häusern angezeigt. Wäre es also möglich, die Änderung vorzunehmen, um dieselbe Liste wie im MQTT-Dienst zu erhalten:

Screenshots der Räume im MQTT-Dienst

Ich nehme an, dass man den Aufruf « http://adresse-ip/api/v1/house?expand=rooms&order_dir=asc » anstelle von « http://adresse-ip/api/v1/room » verwenden muss

Das heißt:

GET /api/v1/house?expand=rooms&order_dir=asc HTTP/1.1
Host: "adresse-ip"
Connection: keep-alive
Accept: application/json, text/plain, */*
authorization: Bearer "[AUTH Bearer]"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Referer: http://adresse-ip/dashboard
Accept-Encoding: gzip, deflate
Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
If-None-Match: W/"[...]"

statt:

GET /api/v1/room HTTP/1.1
Host: "adresse-ip"
Connection: keep-alive
Accept: application/json, text/plain, */*
authorization: Bearer "AUTH Bearer"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36
Referer: http://adresse-ip/dashboard
Accept-Encoding: gzip, deflate
Accept-Language: fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7
If-None-Match: W/"[...]"

Derzeit sieht das Dashboard also so aus:

Ich habe in einigen Beiträgen gesehen, dass einige Beiträge vielleicht hierher gehören würden: insbesondere die Beiträge um 539 des Themas Parlons de Gladys V4 - #544 par Boimb.

Oh je, schon wieder dieser berüchtigte Bug, kannst du mir eine Issue im Gladys-Repo erstellen? :slight_smile: Danke!

Gute Idee, kannst du mir eine GitHub-Issue erstellen? :slight_smile:

Die Kameras sehen toll auf deinem Dashboard aus!

Vielen Dank für dein super Feedback übrigens, es ist nicht jeden Tag, dass man große Installationen hat und man testet nicht immer mit so vielen Räumen/Geräten ^^

Issue auf Github erstellt: Bug „Bearbeitung“ des Dashboards #656

Hallo @pierre-gilles,

Ich habe dir auf Slack geantwortet, aber es ist genauso gut, es auch hier zu speichern!! Nochmals danke für diesen PR, es funktioniert perfekt ^^

Erledigt ebenfalls!! Es funktioniert perfekt ^^

Gerne, zögere nicht, falls nötig, ich kann die Fernwartung freischalten, damit du bei Bedarf einige Tests durchführen kannst ^^

Neue Punkte:

  1. Nach einer vollständigen Neuinstallation nach den BD-Bugs, die nach der neuen MQTT-Dienst-Integration aufgetreten sind, stelle ich fest, dass das Dashboard bei der Aktualisierung der Zustände fehlerhaft ist:
Startpunkt - Zustand der Beleuchtung im Erdgeschoss Garage aus

Aktion - Einschalten der Beleuchtung im Erdgeschoss Garage - Anzeige für 2 Sekunden nach der Aktion

Keine Aktion - Anzeige nach 2 Sekunden nach der Aktion Einschalten der Beleuchtung im Erdgeschoss Garage - bleibt so

Aktion - Einschalten der Beleuchtung im Obergeschoss Garage - Anzeige wie in den beiden vorherigen Schritten

Daher habe ich keinen Zugriff mehr auf den globalen Ausschaltbefehl für die Garage. Wenn ich darauf drücke, wechselt der Schalter zu 1 und stellt sich dann wieder auf 0.
Der einzige Weg, ihn auf 1 erscheinen zu lassen, ist ein Neuladen der Seite.
Daher dasselbe beim Ausschalten für die drei Befehle. Wenn ich global ausschalte, wechselt der Befehl tatsächlich auf 0, aber die beiden anderen bleiben auf 1, bis ich die Seite neu lade. Wenn ich eine der Beleuchtungen ausschalte, bleibt alles auf 1, bis zum manuellen Neuladen.

  1. Ich hatte in einem anderen Thema gelesen, und wir hatten in einem Gespräch darüber gesprochen, das Dashboard der Boxen zu überarbeiten, um die Namen der Geräte und Funktionen für eine bessere Organisation zu verwenden. Wie sieht es damit aus und kann man dabei helfen? Wie?

Vielen Dank im Voraus für die Rückmeldung!!

Ich habe ein Issue erstellt, um dies zu untersuchen, aber im Moment sehe ich das nicht.

Wir haben nur darüber gesprochen, die Standardnamen zu ändern, danach bleibt es genauso anpassbar wie bisher!

Soweit ich weiß, ist noch nichts gemacht worden.

Nach der Untersuchung kann ich den Fehler nicht reproduzieren! Du musst herausfinden, was bei dir wirklich passiert. Ein Gerät, das Informationen zurücksendet?

Gut, ich kann das Ding auch nicht mehr reproduzieren, seit deinem Update … ^^ Zum Glück!! Entschuldige für die Umstände!!

Details der Funktionen des Garagentor-Geräts mit 2 Schaltern

Darstellung der Funktionen des Garagentors auf dem Dashboard

Übrigens gibt es das Problem der globalen Ausschaltung der Beleuchtung!! Also, ich nehme an, dass, wie wir besprochen hatten, man Feature-Typen für Garagentore oder auch für Schranken (mit der Möglichkeit eines Stopp, um offen zu lassen) erstellen muss. Aber bedeutet das, dass es auf dem Dashboard ein Fenster pro Raum pro Feature-Typ geben wird?
Wäre es möglich, in diesem Zusammenhang die Möglichkeit einer Suchleiste oben im Fenster in Betracht zu ziehen, um schnell auf den gewünschten Raum zuzugreifen? Denn es ist bereits schwierig, einen Raum in einer Windows-Navigation mit 3 Spalten zu finden. Mit 20 Geräten + 4 Kameras. Aber auf dem Dashboard des Telefons über Gladys Plus ist es noch komplizierter. Ich muss enorm viel hoch und runter scrollen, um das zu finden, was ich brauche ^^
Natürlich ist das keine Priorität, aber denkst du, dass das berücksichtigt werden sollte?

Ich habe das Issue erstellt =>

Bestätigst du, was ich in der Karte beschrieben habe?

Ich verstehe deine Frage nicht ^^

Ich verstehe, das ist nicht einfach für dich, der so viele Boxen hat :smiley:

Ich denke, was dir helfen wird, sind die mehreren Dashboards ( Multiple dashboards and public dashboards · Issue #723 · GladysAssistant/Gladys · GitHub ), aber das ist definitiv nicht für jetzt. Die Suche, warum nicht, aber ich denke auch nicht, dass das sofort kommen wird, es ist eine Entwicklung und ich habe viel zu tun :slight_smile:

Hallo @pierre-gilles
Also, ich denke, es ist komplizierter, als es scheint. Nach meiner Erfahrung ist mein wöchentlicher Gebrauch wie folgt:

Für die Schranke:

  • Befehle:
    1. Impuls Öffnung 2 Flügel, dann automatisches Schließen (von der Schranke aus),
    2. Impuls Öffnung 1 Flügel, wenn Fußgänger, dann automatisches Schließen,
    3. Öffnung blockiert 2 Flügel,
    4. Öffnung blockiert 1 Flügel,
    5. Schließen,
    6. Blockiert geschlossen (ich verwende diesen Modus bei längerer Abwesenheit),
    7. Entblockieren / Entriegeln.
  • Zustände:
    1. 1 Flügel offen / Halb geöffnet,
    2. 2 Flügel offen / Geöffnet,
    3. Geschlossen,
    4. Blockiert.

Und für das Garagentor:

  • Befehle:
    1.1. Impuls Öffnung,
    1.2. Impuls Schließen,
    1.3. Impuls Stop.
    Oder
    2.1. Impuls Öffnung, dann diesen Befehl zurücksetzen, um ihn zu stoppen,
    2.2. Impuls Schließen, dann diesen Befehl zurücksetzen, um ihn zu stoppen.
  • Zustände:
    1. Geöffnet,
    2. Geschlossen,
    3. Zwischenstellung.

Wäre es möglich oder denkst du, dass die Idee nicht gut ist, ein Status-Symbol in der Kopfzeile zu setzen und die Befehle darunter in Form von Druckknöpfen anzubringen?

^^ Vergiss es, entschuldige, ich habe es nicht ausprobiert, ich dachte, wenn du den Hauptschalter eines Raumes einschaltest, schaltest du auch die Feature-Schalter ein, insbesondere die « Garagentor Öffnen / Schließen ». Aber nach dem Test sehe ich, dass das nicht der Fall ist. Entschuldige!!

Gibt es dazu etwas Geplantes? Denn wie du siehst, wird auf den Schaltern nur der Name des Geräts angezeigt und nicht der der Feature!!

Danke für deine Antworten in jedem Fall, und ja:

Genau das wird mir mehr Übersichtlichkeit bringen. Aber es war auch mein Ziel, ein grafisches Dashboard zu haben!!

Ja, das weiß ich. Und es ist schon eine sehr gute Sache, dass es notiert ist ^^

Viel Erfolg!!

Oh Mann, dein Ding ist ja ein Wahnsinnsaufwand :smiley: Ich habe nicht viel verstanden. Lass uns das vereinfachen, denn so ist es definitiv nicht benutzerfreundlich.

Kannst du mir deine Anwendungsfälle beschreiben, ohne zu erklären, wie du es aktuell machst?

Ich möchte vom Bedarf ausgehen, nicht von der Technik. Ich werde eine einfache und benutzerfreundliche Lösung finden, denn im Moment habe ich das Gefühl, dass der Hersteller deiner Barriere kein UX-Designer war ^^

Du kannst mir sagen:

  • « Morgens gehe ich mit dem Auto einkaufen, ich öffne die Barriere (2 Türen) und sie schließt sich dann automatisch. »
  • « Abends gehe ich zu Fuß, ich öffne die Barriere (1 Tür) »

Wir werden sicherstellen, dass Gladys deine Anwendungsfälle erfüllt, aber wir werden wahrscheinlich eine andere Modellierung finden als die, die deine aktuellen Befehle verwendet hat.

Ich verstehe dein Problem, aber diese Lösung wird nicht für jeden passen. Ich habe ein GitHub-Issue erstellt =>

Ich erkläre dir das Problem: Dein Problem kommt daher, dass du Geräte mit vielen Funktionen hast, insbesondere doppelte Binärfunktionen.

Die meisten Integrationen haben dieses Problem nicht, und daher haben die Leute nicht einmal die Möglichkeit, die Funktionsnamen zu ändern (Fall von Philips Hue zum Beispiel).

Wir müssen eine hybride Lösung finden, die aber nicht « mystisch » ist. Das muss man in Ruhe überlegen :slight_smile:

Nichts Kompliziertes, und ich habe es nach meinen Bedürfnissen angepasst - Alle Tore funktionieren gleich :slight_smile: Grundsätzlich gibt es:

  • Befehl zum Öffnen eines Flügels (oder teilweise für Schienentore),
  • Befehl zum Öffnen beider Flügel (oder vollständig für Schienentore),
  • Schließen,
  • Mögliche Verzögerung des Schließens nach x Sekunden.

Dann gibt es auf der Elektronikkarte verfügbare Kontakte für dieselben Funktionen, zusätzlich:

  • Stop.

Ich habe also alle diese Kontakte an einen Arduino angeschlossen, für den folgenden Bedarf:

  • Ich erwarte ein Paket am Morgen oder Nachmittag, ich mache eine blockierte Öffnung, der Arduino sendet den Öffnungsbefehl, und nach x Sekunden (Öffnungszeit des Tores) aktiviere ich das Relais „Stop“, um es in dieser Position zu blockieren. Sobald der Lieferant vorbeigekommen ist oder nach einer gewissen Zeit, deaktiviere ich die blockierte Öffnung oder gebe einen Schließbefehl, um den Stop zu deaktivieren und den Schließvorgang zu starten,
  • Gleiches, wenn ich Besuch bekomme, das erspart mir, jedes Mal wieder öffnen zu müssen ^^
  • Wenn meine Partnerin arbeitet, startet ein Szenario „Anfang der Orthophonie“ oder „Anfang der Hippotherapie“, das mit den Modi „Arbeit Orthophonie“ oder „Arbeit Hippotherapie“ verbunden ist, das Einschalten der Beleuchtung der benötigten Räume je nach Helligkeit sowie die blockierte Öffnung des Tores für die Ankunft der Patienten. Wenn sie diese beiden Modi verlässt oder in den Modus „Rückkehr nach Hause“ wechselt, wird das Tor entblockiert und geschlossen.
  • Gleiches gilt für unseren Mieter mit dem Modus „Arbeit Psychomotorik“, der zusätzlich die Aufteilung der Gemeinkosten für die Gemeinschaftsräume ermöglicht.
  • Für die blockierte Schließung, wie ich bereits sagte, ist dies eine zusätzliche Sicherheit im Falle einer längeren Abwesenheit.
  • Für den Rest verwende ich die normalen Funktionen Öffnen / Öffnen eines Flügels / Schließen je nach Fall:
    • Ich habe ein NFC-Tag am Armaturenbrett + Tasker. Wenn ich rausgehe oder reinkomme, lege ich mein Telefon auf das Armaturenbrett und der Befehl wird ausgeführt,
    • Ich habe einen Überraschungsgast, ich nehme das erste Ding, das ich zur Hand habe, entweder die Fernbedienung oder das Telefon und öffne.
  • Das Tor ist aufgrund eines Fehlers oder anderer Ursachen offen geblieben, ich verwende entweder die Fernbedienung oder das Telefon und schließe.
    Ich verwende das Tor nicht automatisch

Das ist so ziemlich alles. Wie du siehst, ist nichts davon schließlich kompliziert, ich habe nur die Nutzungsmöglichkeiten detailliert beschrieben, die sich auf diese Anzahl belaufen. Klar, ich verwende alle diese Punkte ständig.

An diesem Punkt verstehe ich nicht. Genau genommen, wenn man das Beispiel von Philips Hue nimmt, wird im Dashboard derzeit nur das Einschalten der Lampe übernommen. Aber wir sind uns einig, dass wir später auch die Möglichkeit haben werden, die Farbe, die Helligkeit und die Temperatur zu steuern. Wird das direkt in derselben Box wie die Beleuchtung sein? Wenn das der Fall ist, werden wir den Feature-Namen und nicht den Gerätenamen übernehmen.
Ein anderes Beispiel: Derzeit habe ich ein Gerät zum Speichern der „Durchschnittsspannung und Gesamtstrom des Hauses“ mit einem Feature „Durchschnittsspannung Haus“ und einem anderen „Gesamtstrom Haus“. Ebenfalls ein Gerät für jede Phase (Dreiphasig) der Leistungs-/Energiedaten mit jeweils 3 Features: „Leistung Phase 2 Haus“, „Energie Phase 2 Haus“, „Gesamte Energie Phase 2 Haus“

Im Bild


Und im Dashboard werden die Feature-Namen und nicht die Gerätenamen übernommen.

Im Bild

Das Gleiche gilt für eine Steckdose oder für ein Gerät, das mehrere Aktionen und daher mehrere Features enthält. Zum Beispiel eine Steckdose mit Verbrauchsmessung. Egal was passiert, wenn ein Gerät mit einem einzigen Schalter konfiguriert ist, ändert sich nichts daran, dass wir seinen Gerätenamen übernehmen oder dass der Feature-Name derselbe ist wie sein Gerätename. Vielleicht habe ich eine verzerrte Sicht, weil ich hauptsächlich den Arduino für meine Hausautomation verwende. Aber ich versuche, mich mit allen Arten von Geräten auszustatten, um eine globale Sicht zu haben.

In der Tat ^^ Vielleicht wäre das Einfachste, damit sich alle zurechtfinden und die größte Offenheit haben, ein Knopf auf der Gerätekarte hinzuzufügen, um auszuwählen, ob man den Gerätenamen oder den Feature-Namen für die störenden Fälle verwenden möchte?

Ich habe einen Link zu deiner Nachricht auf der GitHub-Karte hinzugefügt:

Wir sind uns einig, dass du im Moment ohne Probleme im MQTT-Dienst diese Funktion nutzen kannst, ohne einen nativen « Garagentor »-Typ zu haben?

Was ich sagen wollte, ist, dass Philips Hue nur ein Feature pro Gerätetyp hat. Eine Lampe hat nur einen einzigen « binären » Wert, nur eine einzige « Farbe », nur eine einzige « Intensität ».

Das ist nicht gesagt!

Zum Beispiel, so funktioniert die Philips Hue-App:

Ich habe die Liste der Glühbirnen, und wenn ich darauf klicke, erscheint ein Farbauswahlwerkzeug, das ich ändern kann.

  • Ist die Philips Hue-App klar und einfach zu bedienen? Ja.
  • Hat der Entwickler der Philips Hue-App beschlossen, jede Funktion jeder Hue zu benennen? Nein.

Man muss an die Benutzererfahrung denken.

Jede Funktion zu benennen macht nicht überall Sinn, am einfachsten ist es am besten. Es gibt eine echte hochwertige Überlegung, die wir bei jeder Implementierung anstellen werden, eine Überlegung, die wir ohne einen einzigen Gedanken an die Technik machen müssen: wie es unter der Haube funktioniert, das ist dem Benutzer egal :slight_smile:

Der « binary »-Typ wird aufgrund der Philips Hue-Integration anders als die anderen Feature-Typen behandelt.

Tatsächlich wurde der binäre Typ nicht dafür gedacht, mehrmals in einem Gerät verwendet zu werden, aber das ist nicht festgeschrieben.

Mal sehen, ich denke, ein spezieller Fall für MQTT-Geräte ist nicht « störend ». Ich denke, dass eine Fall-für-Fall-Integration pro Integration der beste Weg ist, um eine feine Integration zu haben.

Ich habe eine Karte erstellt:

Hallo @pierre-gilles und danke für deine Rückmeldung,

Ja, das habe ich heute Morgen gemacht, aber ich habe den Code und das Create übernommen, um ein Gerät pro Befehl (Schalter) zu erstellen. Daher ist es auf der Seite Integration/MQTT/Gerät/Merkmal nicht praktisch und lesbar (aber mit der Suchleiste findet man sich zurecht), aber auf der Dashboard-Seite ist es deutlich besser.

Integration/MQTT/Gerät

Dashboard

Ja, ich bin völlig deiner Meinung. Letztendlich ist es eine völlig andere Nutzung, und tatsächlich, zumindest im Moment, werden wir dieses „Problem“, das keines ist, nur auf der MQTT-Seite haben, oder zumindest bei den selbstgemachten Geräten oder denen, die eine besondere Funktionsweise haben.

Genau :slight_smile: !! Und ja, ich sprach tatsächlich ausschließlich für die MQTT-Integration.

Super!! Danke!!

@Terdious Du hattest einige Probleme mit Gladys Plus, ich habe nachgeforscht und das Problem gefunden: Es gab ein Caching-Problem mit einer Schlüsseldatei von Gladys Plus (dem serviceWorker, sw.js), und dadurch wurden einige Dateien nicht richtig aktualisiert. (Die betreffende Datei: https://plus.gladysassistant.com/sw.js)

Gladys Plus ist eine Progressive Web App, die vollständig lokal und offline funktioniert und dadurch sehr schnell startet. Damit sie sich aktualisieren kann, hat die Datei sw.js absichtlich keine eindeutige ID und darf nicht vom Browser zwischengespeichert werden.

Allerdings hat diese Datei standardmäßig auf Netlify eine Cache-Richtlinie von 10 Tagen.

Ich habe das Problem behoben, die Datei wird nicht mehr zwischengespeichert und normalerweise sollte das Frontend-Aktualisierungssystem wieder funktionieren.

Zum Testen könntest du den Cache deines Browsers auf der Seite « plus.gladysassistant.com » leeren und die Seite neu laden? Normalerweise sollte das einige « mysteriöse » Fehler beheben, die nur auf dieses Problem zurückzuführen waren :slight_smile:

Hallo @pierre-gilles,

Vielen Dank für die Untersuchung. Ich hoffe, dass es nicht nur für mich Zeitverschwendung war und dass es auch anderen helfen wird.

Ich habe den Browser gerade neu gestartet, es funktioniert gut. Ich werde hier wieder vorbeischauen, falls ich etwas wieder auftauchen sehe, aber du hast das Problem offensichtlich gut erkannt, also kein Grund zur Sorge ^^

Das hat mich Zeit gekostet, aber du warst nicht der Einzige, soweit ich weiß, also mach dir keine Sorgen, das wird allen helfen :smiley:

Hallo zusammen
Ich weiß nicht, ob ich am richtigen Ort bin, aber Gladys 4 trennt sich manchmal von selbst
Dann sagt sie mir, dass mein Dashboard nicht konfiguriert ist:


Das Problem ist, dass der einzige Weg, den ich gefunden habe, ist, die Installation neu zu starten…
Es muss doch einen einfacheren Weg geben, oder?
Danke für eure Ratschläge

Diesen Screenshot sehe ich eher:

Danke

Mmm, es könnte ein Problem mit der Stabilität deines Netzwerks oder deines Pi sein.

Als du sagtest:

Was meinst du damit?

Wenn du auf Gladys lokal zugreifst (über die IP-Adresse deines Pi), funktioniert dann alles?

Es ist vielleicht eine dumme Frage, aber hast du Boxen auf deinem Dashboard konfiguriert?