zwaveJS: FGMS001-Funktionen hinzugefügt

Rauchmelder :open_mouth:

Könntest du mir bitte die „Debug Info“ deiner anderen Fibaro Eyes schicken?
Mich würde zum Beispiel die Debug Info von Node 4 und die von Node 50 interessieren.

Danke

FGMS001 ID4

{
  "id": 4,
  "name": "4 - Fibargroup Motion Sensor FGMS001",
  "loc": "Eingang",
  "values": [
    {
      "id": "4-32-0-currentValue",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 32,
      "commandClassName": "Basic",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Aktueller Wert",
      "stateless": false,
      "commandClassVersion": 0,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 0,
      "isCurrentValue": true,
      "lastUpdate": 1737538911140,
      "newValue": 0
    },
    {
      "id": "4-48-0-Any",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Any",
      "propertyName": "Any",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Sensorzustand (Any)",
      "ccSpecific": {
        "sensorType": 255
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1736673265417,
      "newValue": false
    },
    {
      "id": "4-48-0-General Purpose",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "General Purpose",
      "propertyName": "General Purpose",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Sensorzustand (General Purpose)",
      "ccSpecific": {
        "sensorType": 1
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1737538911121,
      "newValue": false
    },
    {
      "id": "4-49-0-Air temperature",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Air temperature",
      "propertyName": "Air temperature",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Lufttemperatur",
      "ccSpecific": {
        "sensorType": 1,
        "scale": 0
      },
      "stateless": false,
      "commandClassVersion": 5,
      "unit": "°C",
      "list": false,
      "value": 20.1,
      "lastUpdate": 1737538844015,
      "newValue": 20.1
    },
    {
      "id": "4-49-0-Illuminance",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Illuminance",
      "propertyName": "Illuminance",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Beleuchtungsstärke",
      "ccSpecific": {
        "sensorType": 3,
        "scale": 1
      },
      "stateless": false,
      "commandClassVersion": 5,
      "unit": "Lux",
      "list": false,
      "value": 0,
      "lastUpdate": 1737401481841,
      "newValue": 0
    },
    {
      "id": "4-112-0-1",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 1,
      "propertyName": "Motion Sensor Sensitivity",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Je niedriger der Wert, desto empfindlicher ist der PIR-Sensor.",
      "label": "Bewegungssensor-Empfindlichkeit",
      "default": 10,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 8,
      "max": 255,
      "list": false,
      "value": 10,
      "lastUpdate": 1736436684771,
      "newValue": 10
    },
    {
      "id": "4-112-0-4",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 4,
      "propertyName": "Motion Window Time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Die Zeit, in der die im Parameter #3 festgelegten Bewegungen stattfinden müssen,
      "label": "Bewegungsfensterzeit",
      "default": 10,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 1,
      "max": 255,
      "list": false,
      "value": 10,
      "lastUpdate": 1736436684771,
      "newValue": 10
    }
  ]
}

FGMS001 ID50

{
  "id": 50,
  "name": "50 - Fibargroup Motion Sensor FGMS001",
  "loc": "1. Stockwerk",
  "values": [
    {
      "id": "50-32-0-currentValue",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 32,
      "commandClassName": "Basic",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Aktueller Wert",
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 99,
      "list": false,
      "value": 0,
      "isCurrentValue": true,
      "targetValue": "32-0-targetValue",
      "lastUpdate": 1737538948645,
      "newValue": 0
    },
    {
      "id": "50-32-0-targetValue",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 32,
      "commandClassName": "Basic",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "number",
      "readable": true,
      "writeable": true,
      "label": "Zielwert",
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 255,
      "list": false,
      "lastUpdate": 1737408216512
    },
    {
      "id": "50-32-0-duration",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 32,
      "commandClassName": "Basic",
      "endpoint": 0,
      "property": "duration",
      "propertyName": "duration",
      "type": "duration",
      "readable": true,
      "writeable": false,
      "label": "Verbleibende Dauer",
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": {
        "unit": "seconds"
      },
      "lastUpdate": 1737408216512,
      "newValue": {
        "unit": "seconds"
      }
    },
    {
      "id": "50-32-0-restorePrevious",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 32,
      "commandClassName": "Basic",
      "endpoint": 0,
      "property": "restorePrevious",
      "propertyName": "restorePrevious",
      "type": "boolean",
      "readable": false,
      "writeable": true,
      "label": "Vorherigen Wert wiederherstellen",
      "stateless": false,
      "commandClassVersion": 1,
      "list": true,
      "states": [
        {
          "text": "Wiederherstellen",
          "value": true
        }
      ],
      "lastUpdate": 1737408216512
    },
    {
      "id": "50-48-0-Any",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Any",
      "propertyName": "Any",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Sensorzustand (Any)",
      "ccSpecific": {
        "sensorType": 255
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1736505053910,
      "newValue": false
    },
    {
      "id": "50-48-0-General Purpose",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "General Purpose",
      "propertyName": "General Purpose",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Sensorzustand (Allgemein)",
      "ccSpecific": {
        "sensorType": 1
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1737538948591,
      "newValue": false
    },
    {
      "id": "50-49-0-Air temperature",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Air temperature",
      "propertyName": "Air temperature",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Lufttemperatur",
      "ccSpecific": {
        "sensorType": 1,
        "scale": 0
      },
      "stateless": false,
      "commandClassVersion": 5,
      "unit": "°C",
      "list": false,
      "value": 21.3,
      "lastUpdate": 1737536566206,
      "newValue": 21.3
    },
    {
      "id": "50-49-0-Illuminance",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 49,
      "commandClassName": "Multilevel Sensor",
      "endpoint": 0,
      "property": "Illuminance",
      "propertyName": "Illuminance",
      "type": "number",
      "readable": true,
      "writeable": false,
      "label": "Beleuchtungsstärke",
      "ccSpecific": {
        "sensorType": 3,
        "scale": 1
      },
      "stateless": false,
      "commandClassVersion": 5,
      "unit": "Lux",
      "list": false,
      "value": 23,
      "lastUpdate": 1737535417991,
      "newValue": 23
    },
    {
      "id": "50-112-0-1",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 1,
      "propertyName": "Motion Sensor Sensitivity",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Je niedriger der Wert, desto empfindlicher ist der PIR-Sensor.",
      "label": "Empfindlichkeit des Bewegungsmelders",
      "default": 10,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 8,
      "max": 255,
      "list": false,
      "value": 10,
      "lastUpdate": 1736421354669,
      "newValue": 10
    },
    {
      "id": "50-112-0-2",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 2,
      "propertyName": "After Motion Blind Time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Zeitraum, in dem der PIR-Sensor \"blind\" ist.",
      "label": "Blindzeit nach Bewegung",
      "default": 15,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 15,
      "list": false,
      "value": 15,
      "lastUpdate": 1736421354841,
      "newValue": 15
    },
    {
      "id": "50-112-0-3",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 3,
      "propertyName": "Motion Pulses Required",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Legt die Anzahl der Bewegungen fest, die für die Meldung einer Bewegung durch den PIR-Sensor erforderlich sind. Je höher der Wert, desto weniger empfindlich ist er.",
      "label": "Benötigte Bewegungsimpulse",
      "default": 1,
      "stateless": false,
      "commandClassVersion": 1,
      "min": 0,
      "max": 3,
      "list": true,
      "allowManualEntry": false,
      "states": [
        {
          "text": "1 Bewegung",
          "value": 0
        },
        {
          "text": "2 Bewegungen",
          "value": 1
        },
        {
          "text": "3 Bewegungen",
          "value": 2
        },
        {
          "text": "4 Bewegungen",
          "value": 3
        }
      ],
      "value": 1,
      "lastUpdate": 1736421355019,
      "newValue": 1
    },
    {
      "id": "50-112-0-4",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 112,
      "commandClassName": "Configuration",
      "endpoint": 0,
      "property": 4,
      "propertyName": "Motion Window Time",
      "type": "number",
      "readable": true,
      "writeable": true,
      "description": "Die Zeitspanne, in der die in Parameter #3 angegebenen Bewegungen stattfinden müssen","lastUpdate": 1736421355191,
      "newValue": 10
    }
  ]
}

Danke @mutmut, sehr hilfreich!

Ich verstehe nicht, wie man zwei unterschiedliche Dinge haben kann, obwohl es offensichtlich dieselben Informationen sind. Es gibt zwei Fälle: Binary Sensor und Alarm Sensor.

Binary Sensor:
Knoten 4:

{
      "id": "4-48-0-Any",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Any",
      "propertyName": "Any",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Sensor state (Any)",
      "ccSpecific": {
        "sensorType": 255
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1736673265417,
      "newValue": false
    },

Knoten 50:

{
      "id": "50-48-0-Any",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 48,
      "commandClassName": "Binary Sensor",
      "endpoint": 0,
      "property": "Any",
      "propertyName": "Any",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Sensor state (Any)",
      "ccSpecific": {
        "sensorType": 255
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1736505053910,
      "newValue": false
    },

Alarm Sensor:
Knoten 4:

{
      "id": "4-156-0-state-0",
      "nodeId": 4,
      "toUpdate": false,
      "commandClass": 156,
      "commandClassName": "Alarm Sensor",
      "endpoint": 0,
      "property": "state",
      "propertyName": "state",
      "propertyKey": 0,
      "propertyKeyName": "0",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "description": "Whether the alarm is active",
      "label": "General Purpose state",
      "ccSpecific": {
        "sensorType": 0
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1737401509546,
      "newValue": false
    },

Knoten 50:

{
      "id": "50-156-0-state-0",
      "nodeId": 50,
      "toUpdate": false,
      "commandClass": 156,
      "commandClassName": "Alarm Sensor",
      "endpoint": 0,
      "property": "state",
      "propertyName": "state",
      "propertyKey": 0,
      "propertyKeyName": "0",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "description": "Whether the alarm is active",
      "label": "General Purpose state",
      "ccSpecific": {
        "sensorType": 0
      },
      "stateless": false,
      "commandClassVersion": 1,
      "list": false,
      "value": false,
      "lastUpdate": 1736686587142,
      "newValue": false
    },

Ich habe Schwierigkeiten, zu erklären, wie man zwei unterschiedliche Funktionen haben kann.
Ich gehe davon aus, dass die Reihenfolge beibehalten wird: Das Problem liegt also beim Alarm Sensor…
Ich werde das weiter untersuchen (aber nicht vor Montag, sorry)

Danke für die Informationen

Hallo!

Ich habe gerade eine neue Version des PRs gepusht. Der Docker-Build ist aktualisiert, um einen Test durchzuführen.
Ich bin immer noch sehr verwirrt, warum wir in diese Situation geraten sind (der Rauchmelder…). Selbst nach dem Hinzufügen deiner Geräte zu den Unit-Tests erhielt ich nicht diese Ergebnisse… aber egal.

Dank deiner Logs konnte ich feststellen, dass bei deinen 3 FGMS001 zwei unterschiedliche Verhaltensweisen beobachtet werden. Eines davon (Knoten 41) stellt nicht die gleichen Werte (Funktionen im Sinne von zWave) wie die anderen beiden bereit.

Ich war gezwungen, spezifische Maßnahmen zu ergreifen, da die Geräte schließlich nicht gleich reagieren. Das ist sehr erstaunlich, da ich keinen Unterscheidungsfaktor in den Versionsnummern sehe… vielleicht eine Frage der Konfiguration.

Kurz gesagt! Ich habe eine neue Version gepusht, in der ich spezifische Maßnahmen ergreife, wenn auf das Fibaro Eye gestoßen wird. Das sollte einige Dinge bereinigen, aber ich bezweifle, dass wir alle Funktionen abdecken.

Gehen wir Schritt für Schritt vor. Wenn das schon in Ordnung ist, ist das eine gute Sache, dann sehen wir weiter.

@mutmut @pierre-gilles

Cool @Sescandell!

Immer noch auf sescandell/gladys-test:zjs-battery?

@mutmut, gib uns Feedback, sobald der Build durchgelaufen ist (die Builds dauern in der Regel etwa 50 Minuten).

Ja, immer noch dasselbe Tag

Danke @Sescandell für das Update, aber ich habe ein Problem beim Aktualisieren von Docker, es wird mir nichts Neues vorgeschlagen (ich bin auf Synology für diesen Test, also nicht viele Funktionen im Terminal, nur über die grafische Oberfläche).

EDIT: Ich habe einen Portainer, der auf dem Syno läuft, und ich sehe, dass ich die 2 Bilder heruntergeladen habe, aber ich stecke fest, wie ich das alte durch das neue ersetzen soll :frowning:

EDIT 2: Über Portainer habe ich den Container mit dieser Option neu erstellt und es funktioniert mit der neuesten Version des Bildes, ich teste

EDIT 3: Okay, ich glaube, ich muss alle Daten löschen und von vorne beginnen, denn es scheint, als hätte sich nichts geändert, wenn ich nur das Bild wechsle.

@Sescandell @pierre-gilles Hier meine Rückmeldungen:

Muss ich etwas Besonderes tun?

Es ist durchaus möglich, dass einer der drei nicht dieselben Einstellungen (Schwellenwert für Helligkeit, Temperatur und Ende der Anwesenheit) hat, aber normalerweise sollten sie identisch sein.

Es ist erstaunlich, dass du nicht einmal die Batteriewerte abrufst.
Dafür teste ich das auf einem echten Gerät auf meiner Seite und es funktioniert…

Ich schaue, ob ich etwas übersehe.

Danke

Tatsächlich hat 1 der FGMS001 eine Besonderheit, nämlich der NodeID 4. Ich habe gerade in zwaveJS nachgeschaut:



@mutmut

Ich hatte tatsächlich vergessen, das General Purpose-Update zu behandeln. Aber Any und der Rest sollten sich aktualisieren. Ich habe gerade ein Docker-Image-Update gepusht.

Kannst du auch überprüfen, ob deine Konfiguration in Ordnung ist?

Du solltest die MQTT-Logs hier sehen:

Bist du in diesem Modus bei zWaveJs UI:

Falls deine Konfiguration in Ordnung ist, könntest du mir bitte die Gladys-Logs zur Verfügung stellen, um herauszufinden, was blockiert? Ich möchte sicherstellen, dass du die Daten korrekt erhältst. Die Gladys-Logs sollten mir den Hinweis geben, wo ich einen Fehler mache (es muss ein Detail sein…)

Danke

Ich aktualisiere und komme gleich wieder.
In der Zwischenzeit ist die MQTT-Konfiguration von zwaveJSui in Ordnung, aber nicht die von Gateway, ich ändere das alles.


Und hier ist meine zwaveJS-Konfiguration:

zwave-js-ui: 9.20.0.bf3bdc3
zwave-js: 13.3.1

EDIT: und ein Beispiel für node_value_updated nach Änderung von Gateway

{"data":[{"id":41,"inited":true,"name":"41 - Fibargroup Motion Sensor FGMS001","location":"Wohnzimmer","status":1,"isControllerNode":false,"interviewStage":5,"deviceClass":{"basic":"Routing End Node","generic":"Binary Sensor","specific":"Routing Binary Sensor"},"ready":true,"isListening":false,"isFrequentListening":false,"canSleep":true,"isRouting":true,"supportedDataRates":[40000],"maxDataRate":40000,"supportsSecurity":false,"isSecure":false,"supportsBeaming":true,"protocolVersion":3,"firmwareVersion":"2.7","manufacturerId":271,"manufacturer":"Fibargroup","productId":4097,"productDescription":"Motion Sensor","productType":2048,"productLabel":"FGMS001","deviceDatabaseUrl":"https://devices.zwave-js.io/?jumpTo=0x010f:0x0800:0x1001:2.7","keepAwake":false,"protocol":0},{"commandClassName":"Basic","commandClass":32,"property":"currentValue","endpoint":0,"newValue":255,"prevValue":255,"propertyName":"currentValue"}]}

naja, keine Änderung mit dem neuen Bild und einem Jungfräulichen Gladys :frowning:

Bei den Logs werde ich mich führen lassen müssen, da ich keinen Zugriff auf ein Terminal in diesem Testbild habe, nur die Synology Docker-UI und Portainer (unten):

Vielleicht eine dumme Frage, aber hat mein zwaveJS den richtigen Pfad in MQTT Explorer (deiner ist anders als meiner, der von Jeedom kommt)?

Der Code hört explizit auf diesem Thema zu:

Das wird hier in zWave konfiguriert:

(aber ich denke, du würdest die Geräte überhaupt nicht erhalten, wenn es nicht in Ordnung wäre… im Zweifel versuchen wir es trotzdem, sie sind nicht wirklich am gleichen Ort: _CLIENT vs _EVENTS…)

Danke @Sescandell für diese Info, ich habe gerade zwave-js-ui in MQTT Name geändert, da ich jeedom hatte, und beginne, einige Rückmeldungen zu erhalten:


Ich werde alles ein wenig arbeiten lassen, um zu sehen, ob die 3 Module alle Informationen korrekt zurückmelden.
Ich habe auch mit MQTT Explorer aufgeräumt, um die von jeedom stammenden Topics zu löschen und zu sehen, wie es sich verhält.

Um auf deine Frage einzugehen, tatsächlich hatte ich alle meine Module mit der ersten Konfiguration (also mit einer falschen Konfiguration) zurückerhalten.
Und was tatsächlich seltsam war, war, dass ich den Wert eines Qubino ZMNHJD-Funksteckermoduls auf meinem Gladys-Produktionssystem steuern, aber nicht abrufen konnte.

Ein Punkt, den ich anmerke, ist, dass jeedom die ValueID Topics verwendet und Gladys die Named Topics in zwaveJS.


Und wenn ich bei ValueID bin, kann ich über jeedom steuern, aber nicht über Gladys, und umgekehrt bei den Named. (nicht vollständig, siehe EDIT 2)
Allerdings erhalte ich die Informationen auf beiden Systemen unabhängig vom Typ des Topics.

Kurz gesagt, das wird nicht einfach werden, denn ich habe viele Geräte in zwave, der Wechsel wird lang und mühsam, das spüre ich schon :frowning:

EDIT: Weißt du, auf welchem Typ von Topic HA basiert?
EDIT 2: Ein weiterer Punkt, bei Named Topics kann ich meine ZMNHJD nicht mehr steuern :frowning:
Nach Tests kann ich meine Funksteckermodule weder bei Named noch bei ValueID mehr steuern :weary:
EDIT 3: Ich führe die Tests fort und bin gerade wieder auf ValueID Topics in zwaveJS umgestiegen, und meine FGMS001 melden mir die Informationen in Gladys-Test zurück… Jetzt bin ich bei den Konfigurationen verloren und verstehe nichts mehr… Da ich anscheinend nichts mehr von Gladys aus steuern kann, werde ich bei ValueID bleiben und kann vorerst von jeedom aus steuern.

Hallo,

Weißt du, auf welcher Art von Topic HA basiert?

Ich bin mir nicht 100% sicher, aber ich glaube, sie nutzen nicht den grundlegenden MQTT-Teil… direkt über Websocket.

Ein weiterer Punkt, in Named Topics kann ich meine ZMNHJD nicht mehr steuern :frowning:
Nach Tests kann ich meine Fil-Piloten-Module weder über Named noch über ValueID mehr steuern :weary:

Ich glaube nicht, dass dieses Gerät von Gladys unterstützt wird. Zeig mir die Debug-Infos des Geräts, dann sehe ich, was fehlt (für einen zukünftigen PR).

Die Wahl zwischen Named Topics und ValueID ist eine Entscheidung, die zu Beginn der Integration von zWaveJs getroffen wurde. Tatsächlich, wenn Jeedom auf ValueID basiert: sind die beiden nicht kompatibel. Einerseits kann man eine Entwicklung in Betracht ziehen, um den Namen des Topics dynamisch zu gestalten (der Teil zwave-js-ui). Andererseits ist das Format strukturierend. Das kann man in Betracht ziehen, aber das ist eine andere, fast strategische Überlegung.

Also, das wird nicht einfach für mich, denn ich habe Leute in zwave, der Wechsel wird lang und mühsam, ich spüre es :frowning:

Das ist sicher. Die gute Nachricht ist, dass es sich hier nur um eine Frage der « Neukonfiguration » in Gladys handelt. Was ich damit sagen will, ist, dass du nicht alles neu verknüpfen musst usw. Das wird von ZwaveJs verwaltet. Allerdings hast du wahrscheinlich Geräte, die in Gladys nicht unterstützt werden… und da müssen wir zusammenarbeiten, damit du mir die Debug-Infos der nicht unterstützten Geräte gibst, die Anwendungsfälle und was das zum Beispiel heute in Jeedom ergibt.

In deinem Screenshot hast du eine schöne Liste von Geräten, das ist also eher cool. Ich bin neugierig zu sehen, was fehlt. Die gute Nachricht ist, dass Sensoren relativ schnell zu integrieren sind. Wo es länger dauert, ist, sobald man Aktionen ausführen kann. Aber eigentlich klappt das ganz gut.

Lass uns das FGMS regeln, und danach kümmern wir uns um den ZMNHJD, wenn du willst :wink:

Nach 24 Stunden Ruhezeit hier die Rückmeldungen der FGMS001 in Gladys:


Allerdings weiß ich nicht, warum 4 und 50 keine Batterieinformationen zurückgemeldet haben.