Webcore/Smartthings Control Ikea Shades with Button


I finally got my Ikea Fyrtur shades delivered this week. I have four of them that I want operating in sync for blocking light where the TV is situated. I spent some time poking around on here and other places online to put this together. In my setup, I do not have a tradfri gateway, and I wanted it to run through the Smartthings Hub and, ideally, be usable on by voice command from Alexa/Echo devices.

The native function of the button, when paired to the tradfri repeater and the shades directly is really nice. You can lower or raise the shades completely (or to a preset) with one touch. You can also lower or raise to any point by holding and releasing when you are where you want to stop. There is no lag with this setup, but you cannot integrate it into Smartthings this way without the Ikea gateway device.

Smartthings has native handlers for the shades, repeaters, and buttons. You can pair the shades directly to the Smartthings hub via the new Smartthings App by searching for your device by brand, then holding the two buttons on the shade to put it in pairing mode. You similarly pair the button to Smartthings by making your button discoverable with a four-press reset which initializes the device and makes it discoverable. You now have good controls on your phone for the shades, and you can program the button here if you only want open and close functionality from the button. For a better button, do nothing here and head over to WebCore.

Attached is my piston to make the button open and close the shades, but additionally poll the button for another press while they are moving so you can stop them in place. This works pretty well, but the shades are not as well synced as they are in native control mode (first world problems). I apologize for not commenting my script, and I welcome thoughts on ways to make this better. Mostly, I wanted to share this so others can setup multiple Ikea shades and make use of the nice button that comes with them.

You now have some spare ZigBee repeaters for your house if you need them. And some extra buttons you can program for other stuff! I also have great control of my shades with HomeKit and my iOS devices as well. The Alexa support is not very good though, relying on scenes being setup in the Smartthings App for the shades. The button appears to not be supported at all by Alexa.

[Edit: My ignorance on sharing pistons perhaps, as everything is anonymized to the point of not being very useful. The button in the two main if blocks are the Up and Down button assignments given to the button when registered in Webcore from the Smartthings Webcore smart app. All of the Dimmer’s are the shades, labeled simply Shade 1, Shade 2, etc. in my setup.]


Use the Green snapshot button and copy the image that comes up.

Here is my blind control piston.

The Button I use has up, middle, down options, case 1, 2 and 3.

FYI, with Ikea blinds, sending an open or close command whilst they are moving stops the blind anyway. Level changed in the past 3 seconds is not very reliable either.

Are you selecting a button number in your example, should show in the screenshot.


Ok, it was a Safari browser issue. Chrome gets a more usable anonymized snapshot, below. My button only has an up and down, no middle button. I used the 3s delay based on the logging times for percent open I was seeing in the log. On my device, a new open or close command during operation will open or close the shade, not pause it. Perhaps there are differences in firmware on our devices? These are US purchased devices as well.

For webcore, I was unable to get operations to occur when I used “button #1” and “button #2” on the Ikea button device. Webcore also registers each button as a separate device, and I used those instead, hence separate “Keypad” id’s in the piston.


ok, I’m using an older custom handler, not the native one.

I threw the Ikea button controller in a drawer somewhere… as i could never get it to pair haha.

I really like the OSRAM Smart+ Mini Switch, but not sure if they are a UK / EU only thing or not.