NEWS
Mit Ikea Tradfri Fernbedienung Shelly oder Hue steuern?
-
Hallo
aktuell habe ich bei mir eine Philips Hue Bridge installiert, eine Alexa und den IOBroker auf einem Pi mit Zigbee Adapter. Von Ikea habe ich noch 3 Tradfri Fernbedienungen rumliegen die ich sehr gerne benutzen würde um das Rollo mit einem bereits verbauten Shelly zu steuern. Gibt es eine Möglichkeit diese Tradfris mit dem Shelly zu koppeln? Was wäre die Alternative? Shelly Switch 1?
Danke euch
-
@silent_bob über deine bevorzugte Logikmaschine Blockly, JavaScript oder Node Red kannst Du alles über ioBroker miteinander verbinden. Dafür ist er ja da. . Also einfach mit den entsprechenden Adaptern die Geräte anbinden und loslegen. Ich würde erst mal die FB anbinden und dann mit Shelly loslegen, da das soweit ich gehört habe, einfacher ist, als die HUE-Anbindung. Da hab ich auch weniger Ahnung.
Ich nutze als Fernbedienung zum Beispiel den Xiaomi Cube, wenn Du nach Alternativen fragst, da kann man noch mehr mit steuern
-
hab es nun geschafft einen Tradfri über zigbee in den iobroker zu bekommen, aber ich steh völlig auf dem Schlauch wie ich nun Buttons mit einer Aktion verbinden kann bzw google nach dem verkehrten Begriff. Hat jemand einen Tipp für mich.
Danke euch
-
@silent_bob Nun dann musst Du doch Datenpunkte unter Deiner zigbee instanz haben. Wenn Du das was änderst dann wird das Kommando doch an das Gerät geschickt.
-
Ist nicht der eleganteste Code, aber hiermit steuere ich zwei Lampen (Shelly 2.5 im Dualmode) und Rollläden (Shelly 2.5 im Shuttermode) an
Viele Grüße
var Remotes = ['deconz.0.Sensors.30.buttonpressed','deconz.0.Sensors.31.buttonpressed']; on({id: Remotes, change: 'ne'},(obj) => { //setState('sonoff.0.StatusDisplay.POWER',true) var value = obj.state.val; //log ("Fernbedienung Button Pressed: " + value); //1002: On Off - beide Lampen an / aus //2002: heller - Rollladen hoch //2003: Long Press 2003 //3002: dunkler - Rollladen runter //3003: Long Press 3002 //4002: links - Linke (hintere) Lampe an aus //5002: rechts - Rechte Lampe an aus var value = obj.state.val; var objArr = obj.id.match(/(^.+)\.(.+)\.(.+)$/, ""); //Aufteilung in Pfad + Device + CMD var DeviceID=objArr[1]+"."+objArr[2]; var DeviceName=getObject(DeviceID).common.name; // console.log("Devicename: "+getObject(DeviceID).common.name); /*console.log("Trigger: " + objArr[0]); console.log("Pfad: " + objArr[1]); console.log("Devicename: " + getObject(DeviceID).common.name); // Geräte-Name); console.log("localDeviceID:"+DeviceID);*/ switch (value) { case 1002: log ("Fernbedienung: " + DeviceName + " - 1002"); if ((getState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch').val) != (getState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch').val)) { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch',false); setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch',false); } else { if (getState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch').val == true) { setState('shelly.0.SHSW-25#XXXXXX2436B#1.Relay0.Switch',false); } else { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch',true); } if (getState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch').val == true) { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch',false); } else { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch',true); } } break; case 2002: //Rollladen hoch + 10% log ("Fernbedienung: " + DeviceName + " - 2002"); setState('shelly.0.SHSW-25#X69E#1.Shutter.Position', getState('shelly.0.SHSW-25#X69E#1.Shutter.Position').val + 10); break; case 2003: //Rollladen komplett hoch log ("Fernbedienung: " + DeviceName + " - 2003"); setState('shelly.0.SHSW-25#X69E#1.Shutter.Position',100); break; case 3002: //Rollladen runter - 10% log ("Fernbedienung: " + DeviceName + " - 3002"); setState('shelly.0.SHSW-25#X69E#1.Shutter.Position', getState('shelly.0.SHSW-25#X69E#1.Shutter.Position').val -10); break; case 3003: //Rollladen komplett runter log ("Fernbedienung: " + DeviceName + " - 3003"); setState('shelly.0.SHSW-25#X69E#1.Shutter.Position',0); break; case 4002: log ("Fernbedienung: " + DeviceName + " - 4002"); if (getState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch').val == true) { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch',false); } else { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay1.Switch',true); } break; case 5002: log ("Fernbedienung: " + DeviceName + " - 5002"); if (getState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch').val == true) { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch',false); } else { setState('shelly.0.SHSW-25#XXXXX2436B#1.Relay0.Switch',true); } break; } });