[Matter] COV-Verwaltung hinzufügen

Beschreibung

Verwaltung der VOC-Sensoren in der Matter-Integration


Nur zur Info: Ich bin dran!

@mutmut, soll ich diese Dyson-Skala verwenden? Wann denkst du?

:slight_smile:

Die VOCs scheinen beim Dyson ohne Einheiten zu sein, aber in µg/m³ oder kPa für andere Websites, und das hängt vom Typ der VOCs ab, die man analysiert.
Ich würde sagen, wir gehen vom Dyson-Standard aus, mangels eines globalen offiziellen Standards.

Ja, er verwendet keine Einheit und matterbridge verwendet das Attribut LevelValue und es gibt eine Aufzählung in matter.js mit low, medium, high und critical. Ich werde die Entsprechung in Gladys für die Anzeige der Farben finden.

@Nagromdark ist das PR nicht endgültig, nehme ich an?

Achtung, ich glaube, du änderst ein Verhalten, das wir in Gladys haben:

Falls der Dyson tatsächlich nicht den VOC-Wert zurückgibt, sondern nur eine VOC-Skala, erstelle eine neue Funktion speziell dafür :slight_smile:

Ich bin nicht ganz deiner Meinung :blush:
Es gibt bereits eine Funktion VOC_SENSOR, mit der du eine Maßeinheit hast (wenn du dir die MQTT-Geräte ansiehst zum Beispiel)
Und die Funktion VOC_INDEX_SENSOR, wie der Name schon sagt, ist ein Index, also keine Einheit, daher war getVocIndexColor komisch. Vielleicht sollten wir herausfinden, in welchem Zusammenhang das hinzugefügt wurde.

Wenn man sich ansieht, wo die Funktion « VOC_INDEX_SENSOR » verwendet wird, sieht man, dass sie von Zigbee2mqtt über das Feature « voc_index » verwendet wird, das von diesem Gerät genutzt wird:

Ich habe es zu Hause und es sendet einen VOC-Wert zwischen 1 und 500, was dem Sensirion’s VOC Index entspricht, der ein etwas anderer Index als ein Rohwert der Konzentration ist:

Es ist also etwas Definiertes und unterscheidet sich von einem klassischen VOC-Wert.

Ich denke, wir müssen ein drittes Feature erstellen :grinning_face_with_smiling_eyes:

Oh Mist, wie soll ich das nennen, VOC_INDEX_SENSOR_2 lol​:joy:

Ich denke, dein Fall ist so spezifisch, dass man das ruhig VOC_DYSON_INDEX_SENSOR nennen könnte ^^

Oder ist das etwas mit Matter verbunden? Ist das mit Matter oder Dyson verbunden?

Das ist eher mit matter verbunden, denn es ist eine Enum.

Tatsächlich hat die featureMap im Fall von Dyson „numericMeasurement: false“, also handelt es sich wirklich nur um eine Skala, die speziell für Matter ist. Man sollte trotzdem in der Matter-Spezifikation nachschauen, ob es sich um eine Standard-Skala handelt oder ob sie sich das einfach ausgedacht haben :smiley:

Falls es sich wirklich um eine nicht standardmäßige Matter-Funktion handelt, kannst du „MATTER“ in den Namen der Funktion aufnehmen, das stört mich nicht.

Ich habe erneut gepusht, sag mir, ob es jetzt funktioniert

Danke!

Frage: Ist „LevelValue“ ein generischer Matter-Wert, der potenziell für andere Sensoren verwendet wird? Ist das spezifisch für VOC?

Andere Frage: Warum wird die Zahl aus Matter im Badge angezeigt? Das sagt dem Nutzer nichts.

Meiner Meinung nach sollte ein Text angezeigt werden, wie es für Folgendes gemacht wird:

const BADGE_VALUE_CONVERTERS = {
  [DEVICE_FEATURE_CATEGORIES.RISK]: {
    0: 'kein-risiko',
    1: 'geringes-risiko',
    2: 'mittleres-risiko',
    3: 'hohes-risiko'
  }
};

Übrigens könnte man diese Funktionsweise wiederverwenden.

Nein, das ist nicht spezifisch für VOC, es wird auch für NO2 verwendet.

Ich schaue, wie man das generischer machen kann und auch für den anzuzeigenden Text.

Okay, aber ich möchte, dass die Kategorie spezifisch für VOC bleibt, damit Gladys „weiß“, dass es um VOC geht. Das ist nützlich für spätere Integrationen und für Gladys’ KI. :slight_smile:

Ist das besser?

Für den Funktionsnamen bin ich mir nicht sicher:

Ja, das ist viel besser :slight_smile:

Aber woher kommt die Übersetzung „schwach“? Ich sehe sie nicht im PR-Code.

Ich bin mir nicht sicher, ob der Benutzer wissen muss, dass es sich um einen speziellen Matter-Index handelt.

Wir könnten ihm einen einfachen Namen geben, z. B. „COV-Index“, und den anderen Index umbenennen, um ihn z. B. „COV-Index Sensirion“ / „Sensirion VOC Index“ zu nennen, um die Realität besser darzustellen.

Was denkst du?