NEWS
Zigbee ConBee II und Ikea Tradfri Dimmer klein
-
@amathebest Ja, kann man einbinden.
-
Ich habe mir den Conbee II neu zugelegt und 4 Lampen und die Tradfri Fernbedienung in der Phoscon-App angelegt. Schaltung über die Fernbedienung funktioniert, Schaltung über den Deconz-Adapter funktioniert auch. Allerdings kommen die States nicht bei Schaltung über die Fernbedienung im ioBroker an. Kann man das ändern, wenn ja wie?
-
Jemand eine Idee?
-
@DennisMenger Hast du die Fernbedienung mit dem congee II gepaired und einzelnen Lampen zugeordnet, oder hast du die FB direkt mit den Lampen gepaired ?
A.
-
@Asgothian über den Conbee in der Phoscon-App direkt die Lampen der Fernbedienung zugeordnet
-
@DennisMenger Dann müsste die FB im "Sensoren" Baum im ioBroker auftauchen.
A.
-
@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>