Konflikt beim Hinzufügen eines Z2M-Geräts

Hallo,

Ich brauche etwas Hilfe, ich habe eine Ablehnung beim Hinzufügen eines in Z2M registrierten Geräts zu Gladys. Zur Info, ich verwende ein Raspios Buster-Image mit installiertem Docker auf einem Pi4 über eine SSD.

Beim Hinzufügen des Geräts wird mir eine Fehlermeldung angezeigt «  », keine Meldung in den Gladys-Logs und in der Konsole meines Browsers habe ich dies:

Nach dieser Meldung bin ich gegangen, um alle meine Geräte in jeder Integration zu löschen (nur um sicherzugehen) und habe versucht, es erneut hinzuzufügen, immer das gleiche Problem.

Dann bin ich über die API gegangen, um alle vorhandenen Geräte zu überprüfen und nichts, was denselben Namen tragen könnte.

Ich bin auch über DBeaver gegangen, um mit der SQLite-Datenbank zu interagieren, und auch nichts Besonderes.

Haben Sie eine andere Idee? (Das Gerät ist ein Präsenzsensor von Xiaomi, der gut in Z2M integriert ist)

Hallo, ich wette, dass das Feature „dezimale Helligkeit“ einen Konflikt verursacht…
Man müsste den JSON-Inhalt dieses Geräts abrufen, das kannst du über die Browserkonsole, Registerkarte Netzwerk, wenn du auf die Entdeckungsseite zugreifst.

Hier ist die JSON-Datei, die dem Gerät zugeordnet ist, wenn ich auf „Zu Gladys hinzufügen“ klicke:

{
  "name": "Bureau Capteur_presence",
  "model": "RTCGQ11LM",
  "external_id": "zigbee2mqtt:Bureau Capteur_presence",
  "features": [
    {
      "name": "Batterie",
      "read_only": true,
      "has_feedback": false,
      "min": 0,
      "max": 100,
      "category": "battery",
      "type": "integer",
      "unit": "percent",
      "external_id": "zigbee2mqtt:Bureau Capteur_presence:battery:integer:battery",
      "selector": "zigbee2mqtt-bureau-capteur-presence-battery-integer-battery"
    },
    {
      "name": "Bewegungserkennung Ja/Nein",
      "read_only": true,
      "has_feedback": false,
      "category": "motion-sensor",
      "type": "binary",
      "min": 0,
      "max": 1,
      "unit": null,
      "external_id": "zigbee2mqtt:Bureau Capteur_presence:motion-sensor:binary:occupancy",
      "selector": "zigbee2mqtt-bureau-capteur-presence-motion-sensor-binary-occupancy"
    },
    {
      "name": "Temperatur",
      "read_only": true,
      "has_feedback": false,
      "min": -100,
      "max": 150,
      "category": "temperature-sensor",
      "type": "decimal",
      "unit": "celsius",
      "external_id": "zigbee2mqtt:Bureau Capteur_presence:temperature-sensor:decimal:temperature",
      "selector": "zigbee2mqtt-bureau-capteur-presence-temperature-sensor-decimal-temperature"
    },
    {
      "name": "Durchschnittsspannung",
      "read_only": true,
      "has_feedback": false,
      "min": 0,
      "max": 10000,
      "category": "switch",
      "type": "voltage",
      "unit": "millivolt",
      "external_id": "zigbee2mqtt:Bureau Capteur_presence:switch:voltage:voltage",
      "selector": "zigbee2mqtt-bureau-capteur-presence-switch-voltage-voltage"
    },
    {
      "name": "Helligkeit (dezimal)",
      "read_only": true,
      "has_feedback": false,
      "min": 0,
      "max": 100000,
      "category": "light-sensor",
      "type": "decimal",
      "unit": "lux",
      "external_id": "zigbee2mqtt:Bureau Capteur_presence:light-sensor:decimal:illuminance",
      "selector": "zigbee2mqtt-bureau-capteur-presence-light-sensor-decimal-illuminance"
    },
    {
      "name": "Helligkeit (dezimal)",
      "read_only": true,
      "has_feedback": false,
      "min": 0,
      "max": 100000,
      "category": "light-sensor",
      "type": "decimal",
      "unit": null,
      "external_id": "zigbee2mqtt:Bureau Capteur_presence:light-sensor:decimal:illuminance",
      "selector": "zigbee2mqtt-bureau-capteur-presence-light-sensor-decimal-illuminance"
    }
  ],
  "should_poll": false,
  "service_id": "515a15a0-d9e5-4d2b-89bf-80aca56106f7",
  "room_id": "c571780a-4da5-4801-8731-8735a8e2c5a2"
}

Liegt das daran, dass dasselbe Feature doppelt vorhanden ist oder daran, dass die Einheit für eines der beiden null ist?

Das Gerät wäre nicht das RTCGQ11LM. Ich habe das gleiche Problem.

Bearbeitung:

Hier ist, was ich in der Konsole gefunden habe, nachdem ich sie inspiziert habe

{
    "status": 409,
    "code": "CONFLICT",
    "error": {
        "message": "external_id muss eindeutig sein",
        "attribute": "external_id",
        "value": "zigbee2mqtt:Detecteur Alban:light-sensor:decimal:illuminance",
        "type": "unique violation"
    }
}

Ja, wenn es sich um dasselbe Gerät handelt, dann ist es so, weil in diesem Fall die Helligkeit doppelt so hoch ist :smiley:

@AlexTrovato Mir scheint, dass früher die Zigbee-ID im externen ID (0x00583685937) verwendet wurde. Ist das etwas, das sich geändert hat?

Ganz im Gegenteil, das war schon immer der freundliche Name…
Aber das Problem mit dem Konflikt liegt an der doppelten identischen Funktion. Ist es normal, dass dieses Gerät zwei Helligkeitssensoren hat?

nein, es gibt nur einen Helligkeitssensor.

allerdings Achtung, es gibt Variablen:
illuminance_precision und illuminance_lux_precision, zwei Dezimalvariablen. Könnte das Problem nicht von dort kommen?

[edit] ich habe versucht, es zu testen, indem ich eine der beiden Variablen blockiert habe, aber ohne Erfolg. Tatsächlich haben wir für dieses Gerät zweimal dieselbe Eigenschaft

Es sollte möglich sein, ein Feature beim Hinzufügen eines Geräts in Gladys zu löschen, das könnte dieses Duplikat beheben, aber auch die interne Temperatur der Geräte löschen, die in die Berechnung der Durchschnittstemperatur eines Raums einbezogen werden und den Wert für den Raum verfälschen. (ich spreche von diesem Thema hier)

Du kannst die Funktion « temperature » daran hindern, übertragen zu werden, indem du unter Gladys auf Port 8080, auf dem Gerät, unter dem Reiter « Parameter » den Punkt « Gefilterte Attribute » aufrufst und dort « temperature » eingibst.

Vielleicht ist das Feature „Präzision“ nicht notwendig, wenn ich das richtig verstehe, ist es eher eine Einstellung als etwas anderes.

Okay, ich habe gerade im Github von zigbee2mqtt nachgeschaut.
Oft werden zwei Funktionen « illuminance » und « illuminance_lux » für ein Gerät mit einem Helligkeitssensor bereitgestellt.
Allerdings ist « illuminance » nur ein Kalibrierungs-/Empfindlichkeitsindikator, während « illuminance_lux » der tatsächliche Sensorwert ist.
Ich werde einen Patch erstellen, um nur « illuminance_lux » zu verwalten.

Ah danke, ich werde das mal testen!

Hallo und ein frohes neues Jahr an alle!

Ich komme gerade aus dem Urlaub zurück und habe soeben dein PR @AlexTrovato gesehen :slight_smile:

Ich schaue mir das alles morgen an :slight_smile:

Ich habe gerade den PR in master gemerged, danke @AlexTrovato für den Fix! :pray:

Fix in Gladys Assistant v4.7.2 veröffentlicht!

Ich bestätige, das Problem ist behoben!

Hallo,

Entschuldigung, dass ich ein altes Thema wieder aufgreife, aber es scheint, dass das Problem wieder aufgetreten ist. Auf dem gleichen Gerät AQARA
RTCGQ11LM
.

Ich versuche, es zu meiner Installation hinzuzufügen, und stoße auf die gleichen Fehler, die gleichen Analysen. Doppelte Eigenschaft, Fehler bei der external_id, und so weiter.

Gibt es hierzu Fortschritte (ohne schlechten Wortspiel) gegeben?

Danke,

Ich glaube, er sollte sich nicht mehr daran erinnern, aber das Feature wurde mit diesem PR erneut hinzugefügt, aufgrund einer Anfrage im EN-Forum

https://en-community.gladysassistant.com/t/gladys-assistant-4-31-tag-filter-mqtt-in-scenes/147

@Sescandell @Will_71 Ich finde das Thema nicht mehr, aber ich glaube, @cicoub13 ist zu Zigbee2mqtt gegangen, um ein Issue zu erstellen und herauszufinden, warum bestimmte Geräte die Beleuchtungsstärke unter zwei verschiedenen Attributen doppelt anzeigen?

Die Lösung, nur « illuminance_lux » zu behalten, funktioniert nicht, da einige Geräte nur « illuminance » anzeigen

2 Optionen:

  • Entweder liegt das Problem bei Zigbee2mqtt
  • Oder wir erstellen auf unserer Seite einen « Sonderfall » für Geräte, die beide haben, und entfernen die Doppelte in diesem Fall