Anzeige der Sensorenkurven im Dashboard

Hallo zusammen!

Es ist Montag, zurück zur Arbeit :slight_smile:

Ich bin dabei, alle Änderungen abzuschließen, über die wir hier gesprochen haben:

  • Korrektur KW → kW
  • Anzeige der Variation für alle Intervalltypen
  • Anzeige mehrerer Funktionen in derselben Kurve (das ist der komplexeste Punkt)

Genau dieser letzte Punkt ist der komplexeste!

Hier ist der Stand der Dinge:

Anzeige einer Funktion

Grundzustand, Anzeige einer einzelnen Funktion:

Auswahl mehrerer Funktionen

Ich habe die Auswahl des Raums entfernt, jetzt suchen wir in ganz Gladys mit einem Mehrfachauswahl-Tool:

Die Farben

Das ist die große Debatte: welche Farben anbieten?

Was haltet ihr davon, wenn ich eine Farbliste vorschlage, die den verschiedenen Sensoren zugewiesen wird? (Keine Möglichkeit zur Auswahl)
Oder ist es wirklich entscheidend, manuell eine Farbe für jedes Gerät auswählen zu können?

Bisher sieht es so aus:

Ich habe eine etwas pastellfarbene Palette auf https://colorhunt.co/ gefunden

Falls jemand besseren Geschmack hat als ich, bin ich für alle Rückmeldungen offen, um bessere Farbsätze zu finden, mit der Einschränkung, dass die Farben eine gute Balance zwischen auffällig und zu schlicht sein müssen.

Berechnung der Variation und des angezeigten Wertes in Fett

Derzeit ist der in Fett angezeigte Wert der Durchschnitt aller letzten Werte jeder Reihe.

Die Variation ist die durchschnittliche Variation aller Reihen.

Was haltet ihr davon?

Hallo,

Bei den Farben muss man vielleicht auf einen Punkt achten (bei mir ist das nicht der Fall), aber: In **Frankreich** beträgt der Anteil der **Farbfehlsichtigen** etwa 8 % bei den Männern

Deshalb muss man entweder die Farben auswählen oder Farben, die für Farbfehlsichtige gut sind. Bei der Arbeit habe ich Leute, die bei der PR-Review nichts sehen können :smiley:

Jedenfalls sieht das Ergebnis wirklich toll aus! :slight_smile:

Ach ja, stimmt! Sind die hier ausgewählten Farben in Ordnung? Kannst du sie erkennen?

Ich bin nicht farbenblind, bei mir ist alles super, aber ich hatte den Fall bei der Arbeit, deshalb gebe ich die Info weiter. Entweder haben wir einen Typen, der farbenblind ist und uns helfen kann, oder wir müssen uns Artikel durchlesen, um zu wissen, was das Beste ist :smiley:

Da es mehrere Ebenen gibt, wäre es am besten, wenn eine farbenblinde Person uns zur Hand geht und ihren Rat gibt. (Sind deine Kollegen bereit? :smiley: )

ich habe Tests mit einem Simulator gemacht, es ist zwar nicht so sichtbar wie bei den Farben, aber ich finde es trotzdem lesbar:

AMHA sollte diese Ansicht, wie du es so gut gesagt hast, vollständig, aber so einfach wie möglich sein. Es wäre sehr gut, sogar notwendig, die Farben auf einer dedizierten Ansicht auswählen zu können. Aber im Dashboard ist es nur eine schnelle Information, die wir wünschen. Kein Bedarf, die Wahl zu lassen, meiner Meinung nach. Wenn es einfach zu programmieren ist und die Farben mit der Auswahlreihenfolge verknüpft sind, warum nicht. Ansonsten sehe ich keinen Nutzen darin.

Sehr gut für mich die Pastellfarben

Möglichkeit, ein Kontrollkästchen für die Anzeige oder Nicht-Anzeige des Wertes und der Variation zu haben? In manchen Fällen ist es nützlich, in anderen viel weniger:

    1. Fall: Ich möchte die Durchschnittstemperatur der Etage, ich zeige alles und den Durchschnitt sowie die Variation an: Interessant :white_check_mark:
    1. Fall: Ich bin dreiphasig, ich zeige die Leistungen (ebenso für den Gesamtenergieverbrauch) meiner 3 Phasen an, um einen direkten Überblick zu haben, das ist der kumulierte Wert, den ich benötige, der Durchschnitt und die Variation dieses Durchschnitts interessieren mich nicht.

Daher wäre es das Beste, die Möglichkeit zu haben, den Durchschnitt, die Summe oder keine Anzeige auszuwählen!!

Gut gesehen @damalgos für die Farbenblinden!!

Bearbeitung - Kleine Links zum Thema (vor allem die Kombination mit Grün zu vermeiden):

Ich bin einverstanden :+1: Danke für die schnelle Rückmeldung :slight_smile:

Das ist möglich!

Ach ja, ich vergaß, @Terdious, ich habe temporäre Logs hinzugefügt, damit man bei dir sehen kann, was in den Anfragen Zeit in Anspruch nimmt, um zu versuchen, zu optimieren, wenn möglich :slight_smile:

Sobald ich eine neue Version pushe, sage ich dir Bescheid, @Terdious, und du wirst bei jeder Anfrage eine vollständige Details aller Schritte eines GET in den Logs sehen:

Alles klar, ich werde fragen :slight_smile:

Zur Information, ich habe gerade einen neuen Build auf dem Tag :chart gemacht, genau wie bei den vorherigen Builds!

Ich bin offen für euer Feedback!

@Terdious Du insbesondere, ich wäre interessiert an deinen Server-Logs, wenn du dein Dashboard lädst :slight_smile: Das Ziel ist es, mögliche Performance-Verbesserungen zu sehen!

Und hier sind sie… ^^

Logs beim Anzeigen
2021-10-11T13:34:56+0200 <info> device.calculateAggregate.js:105 (ChildProcess.<anonymous>) device.calculateAggregate: Verarbeitung für Intervall täglich abgeschlossen
2021-10-11T13:34:56+0200 <info> device.calculateAggregate.js:38 (DeviceManager.calculateAggregate) Berechnung der Aggregation der Gerätefunktionszustände für Intervall monatlich
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(puissance-phase-1-centre-equitherapie): 3.76ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 546.242ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.065ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.029ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(puissance-phase-3-centre-equitherapie): 16.096ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-phase-2-centre-equitherapie): 17.111ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-phase-3-centre-equitherapie): 22.345ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(puissance-phase-2-centre-equitherapie): 25.22ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-phase-1-centre-equitherapie): 27.017ms
2021-10-11T13:34:57+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram-Abfragefehler, Code = ETELEGRAM, Nachricht = ETELEGRAM: 409 Konflikt: durch andere getUpdates-Anfrage beendet; stellen Sie sicher, dass nur eine Bot-Instanz läuft
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-3-centre-equitherapie): 1.533s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-3-centre-equitherapie): 0.064ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-3-centre-equitherapie): 0.042ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-2-centre-equitherapie): 1.612s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-2-centre-equitherapie): 0.064ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-2-centre-equitherapie): 0.045ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-totale-phase-1-centre-equitherapie): 1.609s
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 1.614s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.035ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.045ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-2-centre-equitherapie): 1.625s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-2-centre-equitherapie): 0.041ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-2-centre-equitherapie): 0.045ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-3-centre-equitherapie): 1.627s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-3-centre-equitherapie): 0.046ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-3-centre-equitherapie): 0.028ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 540.866ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.066ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.027ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-totale-phase-2-centre-equitherapie): 12.678ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-phase-1-centre-equitherapie): 16.289ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-totale-phase-3-centre-equitherapie): 101.751ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 91.539ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.045ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.028ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-2-centre-equitherapie): 627.045ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-2-centre-equitherapie): 0.067ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-2-centre-equitherapie): 0.03ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(puissance-phase-1-centre-equitherapie): 625.273ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-totale-phase-1-centre-equitherapie): 968.222ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-3-centre-equitherapie): 2.072s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-3-centre-equitherapie): 0.087ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-3-centre-equitherapie): 0.031ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 1.551s
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.077ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.079ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 1.111s
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.086ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.033ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-phase-1-centre-equitherapie): 541.133ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 105.614ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.047ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.03ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(puissance-phase-1-centre-equitherapie): 23.194ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 584.53ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.078ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.055ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-totale-phase-1-centre-equitherapie): 592.441ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-phase-1-centre-equitherapie): 533.246ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 539.664ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.077ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.063ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-phase-1-centre-equitherapie): 111.254ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-phase-1-centre-equitherapie): 0.06ms
getDeviceFeaturesAggregates.downsamplingData(energie-phase-1-centre-equitherapie): 0.037ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(puissance-phase-1-centre-equitherapie): 10.362ms
getDeviceFeaturesAggregates.findingDeviceFeatureInDb(energie-totale-phase-1-centre-equitherapie): 564.358ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(puissance-phase-1-centre-equitherapie): 564.743ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(puissance-phase-1-centre-equitherapie): 0.066ms
getDeviceFeaturesAggregates.downsamplingData(puissance-phase-1-centre-equitherapie): 0.029ms
getDeviceFeaturesAggregates.gettingRowsFromLiveDb(energie-totale-phase-1-centre-equitherapie): 507.625ms
getDeviceFeaturesAggregates.buildingDownsamplingArray(energie-totale-phase-1-centre-equitherapie): 0.072ms
getDeviceFeaturesAggregates.downsamplingData(energie-totale-phase-1-centre-equitherapie): 0.042ms

Magnifique! Ich gebe dir in der Woche Feedback und versuche zu sehen, welche Verbesserungen möglich sind :+1:

Ich habe immer noch ein Anzeigeproblem in den Aufgaben. Aber es könnten auch alte Benachrichtigungen sein :thinking:
@Terdious hast du das Gleiche festgestellt?

Auf der Grafikseite kann ich endlich die Daten der Öffnungs- oder Bewegungssensoren anzeigen. Allerdings habe ich noch keine Daten. Wird die Berechnung also durchgeführt, wenn ich ein Diagramm erstelle?

Mit dem letzten Update scheint das Problem mit NaN behoben zu sein.

Zum Teil der Anzeige der Binärdaten (Türöffnung + Bewegungssensor) habe ich einige Anmerkungen.

  1. Das Diagramm funktioniert nicht, wenn ich die Achsen nicht anzeige (möglicher Rückschritt?), siehe das letzte Diagramm « BEWEGUNG EINGANG ».


  1. Die Anzeige der Achsen ermöglicht die Anzeige des Diagramms im Balkenmodus.


  1. Der angezeigte Wert über 24h, 7 Tage usw. ergibt keinen Sinn (ich denke, ein Durchschnitt der Werte). Vielleicht wäre es besser, die Gesamtzahl der empfangenen Werte 1 zu berechnen.
    Zum Beispiel ist es interessanter zu wissen, dass die Tür im Durchschnitt 9x pro Tag geöffnet wurde, anstatt den Wert « 0,75 », der keine Logik zu haben scheint.

Danke, dass du es getestet hast!

Okay, das muss ein UI-Bug sein, der nur bei deinen Daten auftritt, ich werde es mir ansehen. Hast du einen Fehler in der Browserkonsole, der mir weiterhelfen könnte?

Genau das habe ich mir gedacht, die Anzeige der Binärsensoren hat in dieser grafischen Ansicht keinen Sinn.

Ich gebe zu, dass ich die Binärsensoren aktiviert habe, um dir eine Freude zu machen und zu sehen, wie es bei dir aussieht, aber das ist eindeutig nicht dafür gemacht.

Was du beschreibst, ist eine eigenständige Entwicklung, die außerhalb des Umfangs dieser liegt. Sollen wir eine spezifische Feature-Anfrage erstellen? :slight_smile:

Ich werde die Anzeige der Binärsensoren in dieser Ansicht wieder deaktivieren :slight_smile:

An sich finde ich, dass das über 24 Stunden Sinn ergibt, da es sich um Rohdaten handelt. Aber die Aggregation ergibt keinen Sinn, es sollte stattdessen eine Summe pro Periode gebildet werden.
Glaubst du, dass es zu viele Änderungen sind, um die Funktion anzupassen, und dass eine dedizierte Funktion benötigt wird?

Klar, ich denke, das Ideal wäre es, eine Ansicht ähnlich wie bei Home Assistant zu haben:

Dort ist es wenigstens dafür gemacht :slight_smile:

Diese Entwicklung ist nicht für binäre Sensoren gedacht, das gesamte interne Funktionieren basiert auf Sampling, was für Temperaturwerte sinnvoll ist, aber für binäre Werte keinen Sinn ergibt: wie du sagtest, es bringt nichts, einen Wert von 0,75 für einen Türöffnungssensor zu haben.

Ich denke, für binäre Sensoren müssen wir uns an einen Tisch setzen, die Anforderungen analysieren, eine Lösung finden und dann entwickeln. Das ist ein großes Projekt, und ich glaube nicht, dass wir mit dem, was dort gemacht wurde (was ein ganz anderes Projekt ist), etwas Zufriedenstellendes erreichen werden.

Also, nach dem, was wir besprochen haben @lmilcent, habe ich die Grafiken für die folgenden Geräte wieder deaktiviert:

  • Binär
  • Push
  • Kamera
  • Farbe

Für Binär/Push werden wir eine spezifische, gut gemachte Entwicklung durchführen. Ich weiß, dass es frustrierend ist, die Funktion nicht sofort zu haben, aber die Philosophie der v4 ist es, Dinge richtig zu machen, anstatt einfach überall Klebeband draufzukleben :slight_smile:

@lmilcent Kannst du uns eine Funktionsanfrage erstellen?

Übrigens bin ich immer noch an deinen Browser-Logs interessiert :stuck_out_tongue: (Ich habe den Fehler nicht bei mir)

Kleines Feedback mit HA-Vergleich

  • Ich finde, es fehlt an Kontrast (dicker / keine Strichlinien?)

  • Wenn mehrere Features angezeigt werden, ist eine Legende ein nicht zu vernachlässigender Pluspunkt, da die Infobubble nicht hilft

  • Bei mehreren Kurven + Variation, wie wird diese Variation berechnet? Denn beim „Mouse over“ über einer der Kurven ändert sich die Variation nicht.


Ich spiele weiter herum, aber es fängt an, gut auszusehen :slight_smile: