NEWS
Szenen Adapter, virtuelle Gruppe, State false nicht möglich
-
Ich habe eine virtuelle Gruppe erstellt um mehrere ZigBee-Leuchtmittel gleichzeitig ansteuern zu können. Ansteuern möchte ich sie aus einer Szene. Mit State TRUE funktioniert das auch, aber wenn ich versuche auf FALSE zu setzen passiert nichts. Was mache ich falsch?
-
jetzt habe ich mir das mal genauer angesehen und finde im Log dazu das:
zigbee.0 2023-01-29 09:32:03.857 info State value to set for "zigbee.0.00158d0006f030f6.state" has to be type "boolean" but received type "string"
Diese Einträge habe ich zwar sowohl für AN als auch AUS, es ist also noch nicht vollständig eine Erklärung warum ich mit der virtuellen Gruppe nur AN aber nicht AUS schalten kann, aber trotzdem würde ich das gerne lösen.
Wenn ich jetzt aber wie hier die virtuelle Gruppe in einer anderen Szene nutze, habe ich dort keine Möglichkeit einen Boolean-Wert zu setzen, weil ich dort nur ein Textfeld habe um den zu setzenden Wert einzutragen. Vorschläge wie das geht?
-
Moin,
ich versuche das mal mit meinen Worten wiederzugeben.
Du hast eine Virtuelle Szene, in welcher Du die Leuchtmittel, inkludiert hast, welche Du schalten möchtest.
Mein Beispiel, ich nutze zwei Thermostate, nur als Beispiel:
Dann erstellst Du dir eine Szene, die die Virtuelle Szene Schalten soll?
Passend zu meinem Beispiel:
So kann ich Schalten und Verwalten wie ich will es passiert genau so, egal aus welcher Richtung ich die Thermostate Ein-, oder Ausschalte, der Status wird überall korrekt übernommen.
Zur Info:
[iobroker@arch-iob iobroker]$ iob update Used repository: beta <---------- Achtung Adapter "admin" : 6.3.5 , installed 6.3.5 Controller "js-controller": 4.0.24 , installed 4.0.24 Adapter "scenes" : 2.3.9 , installed 2.3.9
VG
Bernd -
@dp20eic ganz genau so habe ich das gemacht
-
Kann ja irgendwie nicht sein, denn in deinem Zweiten Bild
Bei mir:
In meinem Beispiel sieht der Datenpunkt (DP) hinter der
Virtuellen - Szene
so aus:{ "common": { "name": "Heizung Aus", "type": "mixed", "role": "scene.state", "desc": "Dachgeschoss die Heizung ausschalten", "enabled": true, "read": true, "write": true, "def": false, "engine": "system.adapter.scenes.0" }, "native": { "onTrue": { "trigger": {}, "cron": null, "astro": null }, "onFalse": { "enabled": false, "trigger": {}, "cron": null, "astro": null }, "easy": true, "burstInterval": 0, "virtualGroup": true, "members": [ { "id": "meross.0.1911084120365426280348e1e91141bc.01008C27.switch", "setIfTrue": true, "setIfFalse": null, "stopAllDelays": true, "desc": null, "disabled": false, "delay": 0 }, { "id": "meross.0.1911084120365426280348e1e91141bc.01008C35.switch", "setIfTrue": true, "setIfFalse": null, "stopAllDelays": true, "desc": null, "disabled": false, "delay": 0 } ] }, "type": "state", "_id": "scene.0.Virtuelle_Szenen.Heizung_Aus", "from": "system.adapter.admin.0", "user": "system.user.admin_iob", "ts": 1674991603094, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin_iob", "ownerGroup": "system.group.administrator" } }
Und bei der
Steuer - Szene
dann so:{ "common": { "name": "scene0", "type": "mixed", "role": "scene.state", "desc": "Ausloeser für Virtuelle Szene", "enabled": true, "read": true, "write": true, "def": false, "engine": "system.adapter.scenes.0" }, "native": { "onTrue": { "trigger": { "id": "scene.0.Virtuelle_Szenen.scene0", "condition": "==", "value": "true" }, "cron": null, "astro": null }, "onFalse": { "enabled": true, "trigger": { "id": "scene.0.Virtuelle_Szenen.scene0", "condition": "==", "value": "false" }, "cron": null, "astro": null }, "easy": false, "burstInterval": 0, "virtualGroup": false, "aggregation": "uncertain", "members": [ { "id": "scene.0.Virtuelle_Szenen.Heizung_Aus", "setIfTrue": "true", "setIfFalse": "false", "stopAllDelays": true, "desc": null, "disabled": false, "delay": 0, "doNotOverwrite": true } ] }, "type": "state", "_id": "scene.0.scene0", "from": "system.adapter.admin.0", "user": "system.user.admin_iob", "ts": 1674992283689, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin_iob", "ownerGroup": "system.group.administrator" } }
VG
Bernd -
@dp20eic stimmt, is mir in dem Screenshot gar nicht aufgefallen, allerdings aktuell sind diese zwei Buttons schon da:
Aber auch wenn ich den "TRUE TESTEN" drücke (der ja diese Szene aktiviert, die dann in der virtuellen Gruppe "false" setzen soll), greift das nicht.
Die Fehlermeldung dass er statt Boolean einen String bekommt würde für mich ja schon Sinn ergeben, ich muss ja auch den zu setzenden Wert von Hand tippen. Wenn das ein Boolean-Wert ist, müsste ja eher ein Auswahl-Feld an der Stelle sein.
-
@littleno sagte in Szenen Adapter, virtuelle Gruppe, State false nicht möglich:
@dp20eic stimmt, is mir in dem Screenshot gar nicht aufgefallen, allerdings aktuell sind diese zwei Buttons schon da:
Aber auch wenn ich den "TRUE TESTEN" drücke (der ja diese Szene aktiviert, die dann in der virtuellen Gruppe "false" setzen soll), greift das nicht.
Ich verstehe anscheinen Deine Anforderung noch nicht
EinSzenen-Schalter
den ich auftrue
setze soll dievirtuellen-Schalter
auf false setzen?Es gibt doch da zwei Einträge, einmal für
true
und fürfalse
, siehe
Dafür solltest Du mal auch das Zeigen was dort steht:
VG
Bernd -
@dp20eic da siehts so aus (den rechten Teil bitte ignorieren, ich behelfe mir da aktuell indem ich die Devices direkt schalte anstatt über die virtuelle Gruppe):
Korrekt, in der speziellen Szene sind zwei Gruppen von Leuchtmitteln die dabei aus sein sollen.
-
@littleno sagte in Szenen Adapter, virtuelle Gruppe, State false nicht möglich:
@dp20eic da siehts so aus (den rechten Teil bitte ignorieren, ich behelfe mir da aktuell indem ich die Devices direkt schalte anstatt über die virtuelle Gruppe):
Korrekt, in der speziellen Szene sind zwei Gruppen von Leuchtmitteln die dabei aus sein sollen.
Moin,
kann ich mir das in etwa so vorstellen, das Du eine art Wechselschaltung hast?Virtuelle Szene
VirtuelleGruppe1 == True
VirtuelleGruppe2 == FalseWenn Du dann die
Szene -> Kueche.5Aus
schaltest, sollVirtuelleGruppe1
ausgehen undVirtuelleGruppe2
an?Oder
Virtuelle Szene
VirtuelleGruppe1 == True / False
VirtuelleGruppe2 == immer FalseWenn Du dann die
Szene -> Kueche.5Aus
schaltest, sollVirtuelleGruppe1
aus/an gehen undVirtuelleGruppe2
immer Aus?Nicht Ändern
ist ja nicht gerade boolean zudem mit UmlautAber um ehrlich zu sein, ich habe Deine Anforderung nicht verstanden, sorry dann kann ich Dir leider nicht helfen.
VG
Bernd -
@dp20eic Vielleicht denkst du zu kompliziert, es ist eigentlich banal einfach: Ich habe eine Leuchte mit 3 ZigBee-Leuchtmitteln die als eine Einheit genutzt werden. Die virtuelle Gruppe brauche ich einfach um nicht in jeder Szene jedes einzelne Leuchtmittel aufführen zu müssen, sondern alle drei gemeinsam steuern zu können. Und da es eben auch Szenen gibt in denen diese Gruppe aus drei Leuchtmitteln aus sein soll, muss ich ihnen auch den State false setzen können
-
Moin,
das kann schon sein
Ich habe auch mal in meiner produktivenioBroker
Installation denSzenen - Adapter
installiert, da hier auch alle Zigbee Leuchtmittel vorhanden sind. Sobald ich anfange dort mit demSzenen - Adapter
zu spielen, bekomme ich auch die Meldungen im Log, die Du im zweiten Post auch gemeldet hast.Mea culpa.
Mal schauen wann ich Zeit finde, dem auf den Grund zu gehen, vielleicht ist da ja ein Fehler in einem der Adapter? Dann sollten wir ein PN auf Github aufmachen.
VG
Bernd -
@dp20eic ich habe das gleiche Problem. Entweder verstehe ich die virtuelle Gruppe nicht oder es ist ein Fehler drin.
Was ich gemacht habe: In einer VG-Szene vier Lampen zusammengefasst. Im Test kann ich true oder false setzen und die vier gehen an oder aus.
Dann eine "normale" Szene erstellt, die true übergibt und eine "normale" Szene erstellt, die false übergibt. Ergebnis: es sind immer alle vier Lampen an. Der übergebene Wert, der händisch einzugeben ist, wird ignoriert.Meine Intention war, verschiedene Szenen zu erstellen, mit denen mal zwei, mal drei, mal eine oder alle eingeschaltet und nach 5 Minuten wieder ausgeschaltet werden. Auch dafür habe ich VG-Szenen definiert.
Die "normalen" Szenen wollte ich aus den jeweiligen VG-Szenen zusammensetzen.
Ausschalten wollte ich über die VG-Szene in dem ich den Status "false" übergebe.Also so:
- Aufruf VG-Szene "Zwei Lampen an" mit True
- nach 300000ms aufruf der VG-Szene "Alle an oder aus" mit false
Ergebnis: alle vier Lampen sind an.
VG-Szene um alle vier Lampen ein- bzw. auszuschalten:
Zusammengebaute Szene, die die VG-Szenen wie oben beschrieben, aufrufen:
Mir scheint als würde bei der Verwendung einer VG-Szene in einer "normalen" Szene nicht der übergebene Wert verwendet, sondern der, der in der VG-Szene steht, wenn man das Häkchen in "Virtuelle Gruppe" entfernt. Hier jetzt "False" -> jetzt werden immer alle ausgeschaltet.