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.]