NEWS
deConz Adapter Gruppe on falsch
-
Hallo Community,
ich teste nun schon eine Weile den deConz Adapter und mir gefällt die Umsetzung des Adapters an sich sehr gut.
Allerdings gibt es eine Unstimmigkeit, der Datenobjekte zwischen der REST-Api und dem Adapter, welche mir Probleme bereiten.Ich toggle meine Lichter im Wohnzimmer über ein Skript:
on({id: 'mqtt.0.shellies.shelly1-24CA34.relay.0', change: "ne"}, function (obj) { log("change update mqtt = " + getState('mqtt.0.shellies.shelly1-24CA34.relay.0').val) log("schalter wurde gedrückt, state = "+getState('deconz.0.Groups.2.on').val) if(getState('deconz.0.Groups.2.on').val) { log("if") setState('deconz.0.Groups.2.on', false); } else { log("else") setState('deconz.0.Groups.2.Scene_2.recall', true) } });Nach einer Weile wird allerdings der State "on" in der Group falsch repräsentiert. Alle Lampen im Wohnzimmer leuchten gerade die Datestruktur im Objektbaum zeigt aber auch nach mehrmaligem "refresh" folgendes:

Ich hab mir die REST-Api von deConz nun angsehen um zu sehen ob hier der Status eventuell falsch gemeldet wird. Dabei habe ich gesehen das es in der API mittlerweile neue Attribute gibt. Zum einen wäre hier "state" mit "all_on" und "any_on" die zeigen allerdings die richtigen Werte des aktuellen Zustands an.
Außerdem gibt es das Attribute "scene" welches die aktuelle Szenen-Id (bzw null wenn keine Szene in der Gruppe vorhanden sind) zeigt.
"2": { "action": { "bri": 127, "colormode": "hs", "ct": 0, "effect": "none", "hue": 0, "on": false, "sat": 127, "scene": "3", "xy": [ 0, 0 ] }, "devicemembership": [], "etag": "6091b88a452f58c8fd0e601b28c1ec23", "id": "2", "lights": [ "1", "3", "4", "10", "9", "6", "8", "7", "5", "13", "2", "14", "15" ], "name": "Wohnzimmer", "scenes": [ { "id": "1", "lightcount": 9, "name": "Entspannen", "transitiontime": 10 }, { "id": "2", "lightcount": 9, "name": "Deckenlicht ein", "transitiontime": 10 }, { "id": "3", "lightcount": 8, "name": "Nordlicht", "transitiontime": 10 } ], "state": { "all_on": true, "any_on": true }, "type": "LightGroup" }Durch das oben beschriebene Problem kann ich teilweise mein Licht nicht mehr mit dem Schalter ausschalten das im Skript immer der falsch Wert zurück geliefert wird.
Ich würde mich freuen wenn sich jemand das mal kurz ansehen könnte.
LG Greiler21
-
Hallo Community,
ich teste nun schon eine Weile den deConz Adapter und mir gefällt die Umsetzung des Adapters an sich sehr gut.
Allerdings gibt es eine Unstimmigkeit, der Datenobjekte zwischen der REST-Api und dem Adapter, welche mir Probleme bereiten.Ich toggle meine Lichter im Wohnzimmer über ein Skript:
on({id: 'mqtt.0.shellies.shelly1-24CA34.relay.0', change: "ne"}, function (obj) { log("change update mqtt = " + getState('mqtt.0.shellies.shelly1-24CA34.relay.0').val) log("schalter wurde gedrückt, state = "+getState('deconz.0.Groups.2.on').val) if(getState('deconz.0.Groups.2.on').val) { log("if") setState('deconz.0.Groups.2.on', false); } else { log("else") setState('deconz.0.Groups.2.Scene_2.recall', true) } });Nach einer Weile wird allerdings der State "on" in der Group falsch repräsentiert. Alle Lampen im Wohnzimmer leuchten gerade die Datestruktur im Objektbaum zeigt aber auch nach mehrmaligem "refresh" folgendes:

Ich hab mir die REST-Api von deConz nun angsehen um zu sehen ob hier der Status eventuell falsch gemeldet wird. Dabei habe ich gesehen das es in der API mittlerweile neue Attribute gibt. Zum einen wäre hier "state" mit "all_on" und "any_on" die zeigen allerdings die richtigen Werte des aktuellen Zustands an.
Außerdem gibt es das Attribute "scene" welches die aktuelle Szenen-Id (bzw null wenn keine Szene in der Gruppe vorhanden sind) zeigt.
"2": { "action": { "bri": 127, "colormode": "hs", "ct": 0, "effect": "none", "hue": 0, "on": false, "sat": 127, "scene": "3", "xy": [ 0, 0 ] }, "devicemembership": [], "etag": "6091b88a452f58c8fd0e601b28c1ec23", "id": "2", "lights": [ "1", "3", "4", "10", "9", "6", "8", "7", "5", "13", "2", "14", "15" ], "name": "Wohnzimmer", "scenes": [ { "id": "1", "lightcount": 9, "name": "Entspannen", "transitiontime": 10 }, { "id": "2", "lightcount": 9, "name": "Deckenlicht ein", "transitiontime": 10 }, { "id": "3", "lightcount": 8, "name": "Nordlicht", "transitiontime": 10 } ], "state": { "all_on": true, "any_on": true }, "type": "LightGroup" }Durch das oben beschriebene Problem kann ich teilweise mein Licht nicht mehr mit dem Schalter ausschalten das im Skript immer der falsch Wert zurück geliefert wird.
Ich würde mich freuen wenn sich jemand das mal kurz ansehen könnte.
LG Greiler21
@Greiler21 sagte in Test Adapter deConz v1.1.x GitHub:
Allerdings gibt es eine Unstimmigkeit, der Datenobjekte zwischen der REST-Api und dem Adapter, welche mir Probleme bereiten.
Sehe ich nicht, laut der API Antwort ist "on" auf false. Das bedeutet es wird von deConz dieser Wert geliefert und der Adapter setzt das auch Korrekt um. Da für das Objekt "on" direkt der Wert aus der API geschrieben wird wäre es auch sehr Unwahrscheinlich das er falsch ist.
@Greiler21 sagte in Test Adapter deConz v1.1.x GitHub:
Zum einen wäre hier "state" mit "all_on" und "any_on" die zeigen allerdings die richtigen Werte des aktuellen Zustands an.
Außerdem gibt es das Attribute "scene" welches die aktuelle Szenen-Id (bzw null wenn keine Szene in der Gruppe vorhanden sind) zeigt.Das werde ich hinzufügen.
-
@Jey-Cee
Stimmt natürlich, hier habe ich mich falsch ausgedrückt. Ich meinte damit das der State der Gruppe schon von der API falsch gesetzt wird bzw. weiß ich nicht was dieser aussagen soll. Wenn alle Lampen der Gruppe leuchten der Wert von "on" aber false ist, hat dieses Attribut für mich eine falsche Bedeutung.Sobald die anderen Attribute aber ergänzt wurden, werde ich diese im Skript verwenden können.
Thema ist für mich also gelöst. Danke
LG Greiler21
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden