NEWS
Zigbee ConBee II und Ikea Tradfri Dimmer klein
-
@Asgothian Jup da ist sie drin. Und nun?
-
@DennisMenger
starte bitte den deconz adapter mal neu, und prüfe dann ob die Datenpunkte angepasst werden wenn du die knöpfe der FB drückst.A,
-
@Asgothian Ja, lastupdated und buttonevent werden geändert
-
@DennisMenger
Ok.. dann verstehe ich die Frage nicht. Was kommt denn nun nicht im ioBroker an ?A.
-
@Asgothian Die States bei den Lichtern (Bereich Lights) werden nicht angepasst. Und die brauche ich für meine Vis.
-
@DennisMenger
OK, jetzt hab ich es verstanden. Das ist aber normal - du solltest wenn du die Taster mit Gruppen nutzt auch die Gruppen als Status in der Vis nutzen, da bei Zigbee Anpassungen an den Gruppen nicht zwangsweise dazu führen das der Status der einzelnen Lampen aktualisiert wird.A.
-
@Asgothian Ok danke. Das muss ich mir dann noch mal anschauen.
-
Wenn ich heute Abend daheim bin kann ich mein Script posten, wie ich Tradfri im ioBroker nutze. Funktioniert alles wie im "original" (an, aus, heller/dunkler/Farbwechsel sowohl mit Click als mit gedrückt halten). Auch hab ich den Bug umgangen wenn eine IKEA LED angesteuert werden soll. Da lässt sich die Farbtemperatur ja aktuell nicht richtig setzen.
Man kann mit der Tradfri Fernbedienung mittels ioBroker dann natürlich auch andere Dinge machen als nur Lampen steuern. Das Teil ist echt eine sehr günstige Allround Lösung zum steuern verschiedenster Anwendungsfälle.
-
@Thomas-Winkler das würde mich auch freuen.
Gerade das mit dem Farbwechsel. Ist der Bug, dass sich der Wert für den Farbwechseln in den Objekten nicht korrekt verändert, bzw. gesetzt bleibt? -
Jupp. Genau das. Setzen funktioniert, aber er ändert sich halt nicht so dass man den Umweg über ne eigene Hilfsvariable gehen muss. Ich bin heute Abend noch unterwegs, ich versuche daran zu denken es hier noch zu posten wenn ich daheim bin. Ansonsten morgen Abend.
-
Also das hier ist mein Blocky für die Tradfri Bedienung:
var buttonpressed, Intervall3, Intervall4, Intervall, Intervall2; on({id: "deconz.0.Sensors.5.buttonpressed"/*WZ Fernbedienung buttonpressed*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; buttonpressed = parseFloat(getState("deconz.0.Sensors.5.buttonpressed").val); if (buttonpressed == 1002) { setState("deconz.0.Lights.2.on"/*WZ Stehlampe on*/, (!getState("deconz.0.Lights.2.on").val)); } else if (buttonpressed == 2002) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 75); setState("deconz.0.Lights.2.dimup"/*WZ Stehlampe dimup*/, true); } else if (buttonpressed == 3002) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 75); setState("deconz.0.Lights.2.dimdown"/*WZ Stehlampe dimdown*/, true); } else if (buttonpressed == 4002) { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) - 90), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); } else if (buttonpressed == 5002) { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) + 90), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); } else if (buttonpressed == 2001) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 20); Intervall = setInterval(function () { setState("deconz.0.Lights.2.dimup"/*WZ Stehlampe dimup*/, true); }, 1000); } else if (buttonpressed == 2003) { (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } else if (buttonpressed == 3001) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 20); Intervall2 = setInterval(function () { setState("deconz.0.Lights.2.dimdown"/*WZ Stehlampe dimdown*/, true); }, 1000); } else if (buttonpressed == 3003) { (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})(); } else if (buttonpressed == 4001) { Intervall3 = setInterval(function () { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) - 25), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); }, 500); } else if (buttonpressed == 4003) { (function () {if (Intervall3) {clearInterval(Intervall3); Intervall3 = null;}})(); } else if (buttonpressed == 5001) { Intervall4 = setInterval(function () { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) + 25), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); }, 500); } else if (buttonpressed == 5003) { (function () {if (Intervall4) {clearInterval(Intervall4); Intervall4 = null;}})(); } }); false && false;
WZ Stehlampe ct fake ist die Hilfsvariable (mußt initial mit nen vernünftigen Wert füllen wie z.B. "100". Der Rest sind alles Verweise auf die Tradfri Bedienung und eine Tradfri LED.
-
Hallo,
@lobomau said in Zigbee ConBee II und Ikea Tradfri Dimmer klein:
@ebu soweit bin ich noch nicht. Wie lerne ich ihn an Phoscon an?
Welches Gerät wählt man aus? Schalter -> Neuen Schalter auswählen -> Andere? Dann 10s auf Pairing Knopf?
So hatte ich es gemacht, Dimmer hat sich aber mit einer Birne gekoppelt.
Edit: hab es hinbekommen. Ich war schon auf dem richtigen Weg... nur zu weit weg vom Gateway.Darf ich da nochmal nachhaken:
Was meinst Du mit "auf dem richtigen Weg"?Ich sitze hier auch von einem der kleinen quadratischen Tradfri-Dimmer und versuche ihn mit phoscon zu pairen. (Direkt, kein IKEA-Gateway).
Geht nicht.
Weder über "neuer Schalter" -> IKEA noch "anderer Schalter" noch als Sensor.
Und das Ding liegt keine 10cm vom Conbee-Stick entfernt.Ich drücke jeweils großzügige 10 Sek auf den Knopf, aber da tut sich nichts.
Stattdessen hat sich der Dimmer mal eben die Tradfri-Birne, die ich schon mit phoscon gepaired hatte, gekrallt, obwohl die gar nicht im pairing-Modus war - an sich funktionieren tut er also, nur nicht mit phoscon.Funktioniert der Dimmer nun direkt mit phoscon oder nur wenn man ein IKEA-Gateway hat?
Vielen Dank und Grüße,
Jan -
@jan_ funktioniert direkt. Ich habe kein Ikea tradfri gateway.
-
@Thomas-Winkler said in Zigbee ConBee II und Ikea Tradfri Dimmer klein:
var buttonpressed, Intervall3, Intervall4, Intervall, Intervall2;
leider kann ich das Skript nicht importieren sind evtl noch manuelle Vorarbeiten nötig?:
Error: textToDom was unable to parse: <xml xmlns="http://www.w3.org/1999/xhtml">var buttonpressed, Intervall3, Intervall4, Intervall, Intervall2; on({id: "deconz.0.Sensors.5.buttonpressed"/*WZ Fernbedienung buttonpressed*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; buttonpressed = parseFloat(getState("deconz.0.Sensors.5.buttonpressed").val); if (buttonpressed == 1002) { setState("deconz.0.Lights.2.on"/*WZ Stehlampe on*/, (!getState("deconz.0.Lights.2.on").val)); } else if (buttonpressed == 2002) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 75); setState("deconz.0.Lights.2.dimup"/*WZ Stehlampe dimup*/, true); } else if (buttonpressed == 3002) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 75); setState("deconz.0.Lights.2.dimdown"/*WZ Stehlampe dimdown*/, true); } else if (buttonpressed == 4002) { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) - 90), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); } else if (buttonpressed == 5002) { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) + 90), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); } else if (buttonpressed == 2001) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 20); Intervall = setInterval(function () { setState("deconz.0.Lights.2.dimup"/*WZ Stehlampe dimup*/, true); }, 1000); } else if (buttonpressed == 2003) { (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})(); } else if (buttonpressed == 3001) { setState("deconz.0.Lights.2.dimspeed"/*WZ Stehlampe dimspeed*/, 20); Intervall2 = setInterval(function () { setState("deconz.0.Lights.2.dimdown"/*WZ Stehlampe dimdown*/, true); }, 1000); } else if (buttonpressed == 3003) { (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})(); } else if (buttonpressed == 4001) { Intervall3 = setInterval(function () { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) - 25), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); }, 500); } else if (buttonpressed == 4003) { (function () {if (Intervall3) {clearInterval(Intervall3); Intervall3 = null;}})(); } else if (buttonpressed == 5001) { Intervall4 = setInterval(function () { setState("0_userdata.0.WZ_Stehlampe_ct_fake"/*WZ Stehlampe ct fake*/, (parseFloat(getState("0_userdata.0.WZ_Stehlampe_ct_fake").val) + 25), true); setState("deconz.0.Lights.2.ct"/*WZ Stehlampe ct*/, getState("0_userdata.0.WZ_Stehlampe_ct_fake").val); }, 500); } else if (buttonpressed == 5003) { (function () {if (Intervall4) {clearInterval(Intervall4); Intervall4 = null;}})(); }}); false && false;</xml>
-
@jan_
Wenn es so wie bei mir war, sind die Dinger gepaired, nur Phoscon zeigt sie nicht an.
Versuch mal folgendes:
In Phoscon guck mal unter "Hilfe" -> alte Web-Version -> wireless Light Control öffnen(2016).
Dann kommt man zu der alten Software, welche dir die Dimmer anzeigen sollte und du Gruppen anlegen kannst, um diese zu steuern.Bei mir hat das zumindest so funktioniert, warum auch immer.
Gruß,
io_laurent -
Das Script funktioniert so nicht mehr bzw. man kann den Fernbedienung jetzt besser steuern im ioBroker. Da sind neue Datenpunkte hinzu gekommen. Und ich kann jetzt auch die Farbtemperatur problemlos ohne Hilfsvariable steuern. Der Bug scheint also auch behoben. Am besten ist es den deconz Adapter zu deaktivieren, alle deconz Datenpunkte zu löschen und den Adapter dann wieder zu aktivieren. Aktuell schaut mein Script so aus (gedrückt halten passiert aktuell noch nichts, dass habe ich noch nicht implementiert).
var Helligkeit, Wei_C3_9Fwert; Helligkeit = 10; Wei_C3_9Fwert = 50; // An/Aus on({id: "deconz.0.Sensors.5.buttonevent.1.release_press"/*Release after press*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; getState("deconz.0.Groups.5.on", function (err, state) { setState("deconz.0.Groups.5.on"/*Wohnzimmer on*/, state ? !state.val : true); }); }); // Heller on({id: "deconz.0.Sensors.5.buttonevent.2.release_press"/*Release after press*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("deconz.0.Groups.5.level"/*Wohnzimmer level*/, (getState("deconz.0.Groups.5.level").val + Helligkeit)); }); // Dunkler on({id: "deconz.0.Sensors.5.buttonevent.3.release_press"/*Release after press*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("deconz.0.Groups.5.level"/*Wohnzimmer level*/, (getState("deconz.0.Groups.5.level").val - Helligkeit)); }); // Farbton Gelber on({id: "deconz.0.Sensors.5.buttonevent.5.release_press"/*Release after press*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("deconz.0.Groups.5.ct"/*Wohnzimmer ct*/, (getState("deconz.0.Groups.5.ct").val - Wei_C3_9Fwert)); }); // Farbton Weißer on({id: "deconz.0.Sensors.5.buttonevent.4.release_press"/*Release after press*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("deconz.0.Groups.5.ct"/*Wohnzimmer ct*/, (getState("deconz.0.Groups.5.ct").val + Wei_C3_9Fwert)); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIydmclNUVPJTVCRFZXJTdDRyUyNXJ4dSF2cSUzRHVwJTIyJTNFSGVsbGlna2VpdCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmVLMEchXyUyQ0olNUVlITVIMERyOTIlMkYzJTIyJTNFV2VpJUMzJTlGd2VydCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyWCU1RW0lMkNtJTNGRyUzRkNifmIhdkpic1l4ZSUyMiUyMHglM0QlMjItMTIlMjIlMjB5JTNEJTIyLTE0MTIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnZnJTVFTyU1QkRWVyU3Q0clMjVyeHUhdnElM0R1cCUyMiUzRUhlbGxpZ2tlaXQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmh2SihWJTNBakpRMzZ6dmxpJTNGQWt5MiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTEwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlJBJTI0YSUzQkRqJTVEZiUyQmlONjYlMkIlMkNBRTdpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJlSzBHIV8lMkNKJTVFZSE1SDBEcjkyJTJGMyUyMiUzRVdlaSVDMyU5RndlcnQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMm9KJTNBJTdETkJoM1IlM0Y1bnNrQiUyNEFwdFElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U1MCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyWnlrYXlqbCU3RGVWTiUyQyU2MGclMkZCJTNCLiUzQlMlMjIlMjB4JTNEJTIyLTEyJTIyJTIweSUzRCUyMi0xMzEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUFuJTJGQXVzJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMiUzRkMlM0IwY0RYLWYlNURBVmdMVWhhTXJQJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjAuU2Vuc29ycy41LmJ1dHRvbmV2ZW50LjEucmVsZWFzZV9wcmVzcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFdHJ1ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRvZ2dsZSUyMiUyMGlkJTNEJTIyQ09CJTI1JTI0d2VzcyU2MHEtbFklNDBhJTVELXghJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjAuR3JvdXBzLjUub24lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMjZwJTVCa2I4JTNBJTI1bmslN0NydTUlN0N4an42SSUyMiUyMHglM0QlMjIxNyUyMiUyMHklM0QlMjItMTEwNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VIZWxsZXIlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIyMyh4bDBQbF8lMkY2TXVna29oaTclNUIlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMC5TZW5zb3JzLjUuYnV0dG9uZXZlbnQuMi5yZWxlYXNlX3ByZXNzJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyKlVRcHMqbGk0Ty53UlNiZnB4MFUlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMC5Hcm91cHMuNS5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfYXJpdGhtZXRpYyUyMiUyMGlkJTNEJTIyVCUyNEx1JTI1azBHViFPUSUzQW8xbiUyQmlDLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQUREJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJMdTklN0JacygyQlEuMnJJNylFckslMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMC5Hcm91cHMuNS5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJhdENoWClOTmglMjMlMjMzQiUyNGslMkN+fi1kJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ2ZyU1RU8lNUJEVlclN0NHJTI1cnh1IXZxJTNEdXAlMjIlM0VIZWxsaWdrZWl0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJpcyUyQ2ElN0QlM0YlNDA5KElfJTVEKG8qSG0lN0RmdSUyMiUyMHglM0QlMjIxMyUyMiUyMHklM0QlMjItODYyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUR1bmtsZXIlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIyc1ElMkYlMkJmLkhCd19mbWJhaSghaSUzREglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMC5TZW5zb3JzLjUuYnV0dG9uZXZlbnQuMy5yZWxlYXNlX3ByZXNzJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyUWdsJTNEaUg2YkZVKXF+JTVCcEdxaU0lMjQlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMC5Hcm91cHMuNS5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfYXJpdGhtZXRpYyUyMiUyMGlkJTNEJTIyJTVCZiUzQmVXVmNYVipYJTdEJTdEfk10eGdaTCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTUlOVVMlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiglMjVCTFVyMnAlMkYoLiU2MG9XaTgyNDNtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjAuR3JvdXBzLjUubGV2ZWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyV0gtaUQwR2ElN0NuJTYwQiU2MCU1REdRN3glMjVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJ2ZyU1RU8lNUJEVlclN0NHJTI1cnh1IXZxJTNEdXAlMjIlM0VIZWxsaWdrZWl0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIuQiUzQSUyNEY1T3RNMjRwXyU3RHB2VlhKaSUyMiUyMHglM0QlMjIxMyUyMiUyMHklM0QlMjItNjEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUZhcmJ0b24lMjBHZWxiZXIlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIySTRscCUzRikpUkZ+SSUyNFRoN2UlM0F1ITElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMC5TZW5zb3JzLjUuYnV0dG9uZXZlbnQuNS5yZWxlYXNlX3ByZXNzJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyKVVmMSUzRnN3T3d1JTI1JTJDR0RZJTIzJTI1ZyFuJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjAuR3JvdXBzLjUuY3QlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMi5iUEVxLnIqd3EzJTJGKDdISjZHJTIzJTdDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyRzYlNURzKH5xVWZWWSUyQkN+a2VzaSFjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjAuR3JvdXBzLjUuY3QlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTVEblo0JTdDJTVEKXEtY09aKSU2MCUyNSU3QyUzRFolMjR+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJlSzBHIV8lMkNKJTVFZSE1SDBEcjkyJTJGMyUyMiUzRVdlaSVDMyU5RndlcnQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMjdUdVhCOG1KZXMlMjUlMjVpa3QlN0RLSSU1QkYlMjIlMjB4JTNEJTIyMTMlMjIlMjB5JTNEJTIyLTM2MiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VGYXJidG9uJTIwV2VpJUMzJTlGZXIlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbiUyMiUyMGlkJTNEJTIycFF3SkU4QiU0MCUyQiU3QmN4cWglMjRyT3clN0RlJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjAuU2Vuc29ycy41LmJ1dHRvbmV2ZW50LjQucmVsZWFzZV9wcmVzcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFdHJ1ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiU1RFB0TXclMjM2blAlMjRmJTdDZSU2MHkubGRrNyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWRlY29uei4wLkdyb3Vwcy41LmN0JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJKfjd6JTQwaWIlMkJlKlh6cCFiY3FEJTdEKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQUREJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ+d2woQyU3Q1olN0JKMkNGKUslNDAoRmhIKCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWRlY29uei4wLkdyb3Vwcy41LmN0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlAlNUJPU0dmTSFRJTVCJTVFSiU3Q0tvJTVEYVVrYyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyZUswRyFfJTJDSiU1RWUhNUgwRHI5MiUyRjMlMjIlM0VXZWklQzMlOUZ3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
-
@Thomas-Winkler said in Zigbee ConBee II und Ikea Tradfri Dimmer klein:
(gedrückt halten passiert aktuell noch nichts, dass habe ich noch nicht implementiert).
Genau diese Implementierung würde mich interessieren, denn sie wird bei den Ikea Dimmern ja offenbar mit sehr schnell wechselnden Schaltzuständen realisiert. Ich habe die Symfonisk Remote bei der die Bewegung am Drehrad sehr schnelle Wechsel im "buttonpressed" Datenpunkt zwischen 2001 und 2003 verursacht für lauter und zwischen 3001 und 3003 für leiser. Man müsste also die Anzahl dieser Wechsel auswerten um dann ableiten zu können wie weit gedreht wurde um z.B. Licht oder Lautstärke zu regeln. Ich denke mal bei dem kleinen Tradfri Dimmer ist es ähnlich.
-
Hallo zusammen
Ich habe zwar keinen ConBee aber hier meine Umsetzung mit Blockly:<xml xmlns="https://developers.google.com/blockly/xml"> <block type="on_ext" id="a1Q3HHsTup+o~i=fr=dJ" x="163" y="38"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="piZa*86g(asq]$O96ZYX"> <field name="oid">zigbee.0.680ae2fffe37a1d2.button_play_pause</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="wrjr,?;Va!wM/W/`$c(."> <field name="oid">zigbee.0.680ae2fffe37a1d2.rotate_right</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="hVlCLQL_2$]NRL0?T+N#"> <field name="oid">zigbee.0.680ae2fffe37a1d2.rotate_left</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="Elv|FTB`f4.bI/,NnjM?"> <field name="COMMENT">Play_Stop</field> <next> <block type="controls_if" id="r0J$7Oy7^*tX5UEreok`"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="tp):LULx(fN|s!hzN]Q." inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="H5]]5)BY)i6y=a./_l$J"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="}=L[F40q^n(:Q8._0;X2"> <field name="ATTR">val</field> <field name="OID">zigbee.0.680ae2fffe37a1d2.button_play_pause</field> </block> </value> <value name="B"> <block type="logic_boolean" id="ntOMfCJ-dgSKRjDI.*J$"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="1~tbHCZC+xlr47+%1*U@"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="p,N=P+Y7iCiRhbN1nwht"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Variablen.Sonos.WZ_Sound_Play</field> </block> </value> <value name="B"> <block type="logic_boolean" id="v(2SAoe{8cgZ|ggLNp_?"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="kx2Fw*mAz/;tOva^_0,i"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="U~Yb^VLW%vm5)^N,Vvm("> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="@qPDUsV5B@9B-f.4[u=#"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.state</field> </block> </value> <value name="B"> <block type="text" id="_e3#f6,2m`*xdDkw.3Wg"> <field name="TEXT">play</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="{/YdA]^k.rXPJs4xDFuc"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">scene.Sonos_Andy</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="D9U$h/k{;:q0S.)@V1|#"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="3U5{^}xv07.X;mtK+h@%"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">scene.Sonos_Andy</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="P@%OuJb7q{W:,@H9J_s]"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <value name="IF1"> <block type="logic_operation" id=".R{-$_Oz`36cpv`QdEZ*" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="pE$*?i*okb0fTQQHnTiL"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="}.+W[@d35FIdmkE,;F}v"> <field name="ATTR">val</field> <field name="OID">zigbee.0.680ae2fffe37a1d2.button_play_pause</field> </block> </value> <value name="B"> <block type="logic_boolean" id="CV74%CTSAwuZr;@v9R*N"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="XS`404}=[9#DjSQQCeT:"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="kiapP:Y-H^I0YW9(sr8k"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Variablen.Sonos.WZ_Sound_Play</field> </block> </value> <value name="B"> <block type="logic_boolean" id="9xi7:L+4?|E;_4**T;h9"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="controls_if" id="u7O$Tu4xgsSGh.gZYA#m"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id=";3sw)CRC{NvZmDU4,Naq"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="P~#Bg+XKD2,J!E`INmt,"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.state</field> </block> </value> <value name="B"> <block type="text" id="kI]`z`$bVB~Y%k.kLq+-"> <field name="TEXT">play</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="sZr5i(+VY`}IN~mrTqaJ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">scene.Sonos-Gruppe_UG</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="^YqT%A5+9;EldQ;zc%Xt"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="control" id="yy^Dr(a2h;:.ab~t|vtP"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">scene.Sonos-Gruppe_UG</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="R1HLTiDjp8LIZW1voVFc"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id=")`x`.{XbIbPXqO[fi-^W"> <field name="COMMENT">Lautstärke_lauter</field> <next> <block type="controls_if" id="]Gd04K]GrdP_]MPThL_6"> <value name="IF0"> <block type="logic_operation" id="Mz^|B0B@TJf`,cpKDW;j" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="F?VtM,6u%{h5mi*T`~:2"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="3GH-PLVVct*@lj2rS%/M"> <field name="ATTR">val</field> <field name="OID">zigbee.0.680ae2fffe37a1d2.rotate_right</field> </block> </value> <value name="B"> <block type="logic_boolean" id="+IS$1;El~+mU)5-T.5tl"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="=${M243,rT3]r__XTmfE"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="(/[E,.dBp@dQ}y3qmUVx"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.state</field> </block> </value> <value name="B"> <block type="text" id="sds.1?Z#Wt$nMZ-]p9g:"> <field name="TEXT">play</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="1N84P}5i`ci9,V4}PQ!;"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_1_157.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id=",f_Vi/!v]ndVnss7|OB)"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="9h7+;VtZXH:!MgGZ;S-4"> <field name="NUM">1</field> </shadow> <block type="get_value" id="]TLX}Dro79_hc~h:a7t0"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="D8^3O=]61i7y%+Pyg!80"> <field name="NUM">4</field> </shadow> </value> </block> </value> </block> </statement> <next> <block type="comment" id="@m6s@bjSYsS@:iDzOxeL"> <field name="COMMENT">Lautstärke_leiser</field> <next> <block type="controls_if" id="IV4Dp_;TFRG?jrdw1M4R"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id="4Q-UQx8,Q8-bU_.UKav?" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="iPY.kcfn+xxKT*D,N_+D" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="5@?:(u)#V0`{sU%wMGt;"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="--~gj1nFU}iYehNr)u|!"> <field name="ATTR">val</field> <field name="OID">zigbee.0.680ae2fffe37a1d2.rotate_left</field> </block> </value> <value name="B"> <block type="logic_boolean" id="3N.;CRP!w-ZRy@h2DT_p"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="WE4jSCKp+W0W_oigIaHJ"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="LZOFNwc3_/.`,9LWw.vU"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.state</field> </block> </value> <value name="B"> <block type="text" id="}[-+w_,3r{aU8q:+$e$7"> <field name="TEXT">play</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Rrvl15Y=6x-}]Y5A^Da^"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="h7!}Y(j,W=@a=DxXVIkr"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.volume</field> </block> </value> <value name="B"> <block type="math_number" id="V/*PK!Q;KLWMc9]Nmwtm"> <field name="NUM">4</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="PD|:2h5/-J}T]kYL1#fV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_1_157.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="}ngNV@2!?X8X.L1F8]IX"> <field name="NUM">3</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_operation" id="H?4,TlVVyV6HIG~zN8}%" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="7u8a-6f/F=Oone-a9lb0" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="aq+fk0.sWc.}#M5TLT/T"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="_Wgx;w$s5u+$W1.`HAAk"> <field name="ATTR">val</field> <field name="OID">zigbee.0.680ae2fffe37a1d2.rotate_left</field> </block> </value> <value name="B"> <block type="logic_boolean" id="1:E)-t$C63~51,p3%/P}"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="NG[^(s2`}bXf%6-POJtN"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="BT_7L+8d|+XNs-ucD~f]"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.state</field> </block> </value> <value name="B"> <block type="text" id="X;$q%Gr5gb5ztAZ{O7FP"> <field name="TEXT">play</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="^213@9L=-|E,+[~/~,M6"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="N[Jk[rYs3st5Cr^CyRNp"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.volume</field> </block> </value> <value name="B"> <block type="math_number" id="3SG3USa#{+S:=@.BEiyD"> <field name="NUM">4</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="control" id="b{@qdKGAJl6X2;nP.BK)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_1_157.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="K@psN$+lrCD.LNU3KRN{"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number"> <field name="NUM">1</field> </shadow> <block type="get_value" id="RJzED8HlSf4:[6}+XA#^"> <field name="ATTR">val</field> <field name="OID">sonos.0.root.192_168_1_157.volume</field> </block> </value> <value name="B"> <shadow type="math_number" id="3+6K6?eF^1[DfLR%}[dZ"> <field name="NUM">4</field> </shadow> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Vielleicht hilft das etwas...