Rauchmelder ![]()
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
Rauchmelder ![]()
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.
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 ![]()
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
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.
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"}]}
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:
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.
ValueID bin, kann ich über jeedom steuern, aber nicht über Gladys, und umgekehrt bei den Named. (nicht vollständig, siehe EDIT 2)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 ![]()
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 ![]()
Nach Tests kann ich meine Funksteckermodule weder bei Named noch bei ValueID mehr steuern ![]()
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 Topicskann ich meine ZMNHJD nicht mehr steuern
Nach Tests kann ich meine Fil-Piloten-Module weder über Named noch über ValueID mehr steuern
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
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 ![]()