IKEA Tradri Roller Blind via openhab

Hello,
I have now one IKEA Kadrilj roller blind. From IKEA App I can open and close the blind.
Does anybody have an idea how to include this in openhab?
I tried to include like a dimmable bulb, but it is not working. Also there are only all bulbs in my inbox.
Maybe anybody have an idea.
Thanks.

This is not Supported by the Binding at this Time ā€¦

With Deconz it should work.

Hi, itā€™s possible to control your Tradfri blinds with zigbee2mqtt and OpenHAB. Iā€™ve got mine working some days ago. If you need further information let me know.

1 Like

Hey thanks for your reply. It would be nice, if you can give me some more information.

I found in Github, that someone has added the blinds to the tradfri binding. But I donā€™t know, how I can use the modification.

That PR is not yet merged, so until it is, you can not use it.

First of all, you need a CC2531 stick and the TI flashing tool to get zigbee2mqtt running. (Amazon: fast shipping, expensive // Aliexpress: slow shipping, very cheap). https://www.zigbee2mqtt.io/ describes all steps to setup the stick and zigbee2mqtt very well. - Currently you need to switch to the DEV branch: https://www.zigbee2mqtt.io/how_tos/how-to-switch-to-dev-branch.html

mqtt.things

Bridge  mqtt:broker:mosquitto "Mosquitto" [ host="localhost", secure=false, username="USERNAME", password="PASSWORD", clientID="openHAB2"  ]
{
        // TRADFRI FYRTUR
        Thing topic sz_rollo_klein "Kleines Rollo" @ "Schlafzimmer" {
                Channels:
                Type string : position "Position" [ stateTopic="zigbee2mqtt/sz_rollo_klein", transformationPattern="JSONPATH:$.position", commandTopic="zigbee2mqtt/sz_rollo_klein/set"]
                Type number : battery "Batterie" [ stateTopic="zigbee2mqtt/sz_rollo_klein", transformationPattern="JSONPATH:$.battery"]
                Type number : linkquality "LinkqualitƤt" [ stateTopic="zigbee2mqtt/sz_rollo_klein", transformationPattern="JSONPATH:$.linkquality"]
        }
}

mqtt.items

// TRADFRI FYRTUR
String sz_rollo_klein "Aktion" <blinds> (gSZ, gZigbee) { channel="mqtt:topic:mosquitto:sz_rollo_klein:position" }
Number sz_rollo_klein_rssi "RSSI [%.1f %%] " <batterylevel> (gRSSI, gSZ, gZigbee) {channel="mqtt:topic:mosquitto:sz_rollo_klein:linkquality"}
Number sz_rollo_klein_batterie "Batterie [%.1f %%]" <batterylevel> (gTemp, gSZ, gZigbee) { channel="mqtt:topic:mosquitto:sz_rollo_klein:battery" }

In the rule:

val newValue = '{"position": 28}'
sz_rollo_klein.sendCommand(newValue)

Currently transformationPatternOut isnā€™t availabe in OpenHAB 2.4. The rules part isnā€™t very nice but it does the job :slight_smile:

1 Like

Since the 2.5.2 release we have rollerblind control in the TrƄdfri binding.
It works, but I have a delay of about 20 seconds from sending a command to the binding, until the roller blind starts moving. (openhab running on Ubuntu 16.04/X86/Celeron)
Does anyone else use the tradfri binding for the Fyrtur blinds?
Is it normal with a 20 second delay?
I have not yet looked any deeper into this, just wanted to check if this delay is what to expect.

I do. For me they react instantly. Maybe max. 1-2 seconds delay.

Ok. Thanks for the feedback.

Do you change your rule with openhab 2.5 release? or may be use - formatBeforePublish?

No, i didnā€™t change the rules. Everything is running fine. :slight_smile:

Iā€™ve planned to update the rules because of transformationPatternOut in near future.

How have you solved using the remote you get with the rollerblind?
Would be great if you showed your whole rules bas I have hard time understanding the ā€œpositionā€ number.
How do you change it?

I just made a simple rule myself but it takes not in account if I just want to stop the blinds if its already running.

Blockquote
rule ā€œikea blinds closeā€
when
Item ikea1remote_click received update OPEN
then
val newValue1 = ā€˜{ā€œpositionā€: 100}ā€™
ikea1fyrturaction.sendCommand(newValue1)
logInfo(ā€œikearuleā€, ā€œrule openā€)
end
rule ā€œikea blinds openā€
when
Item ikea1remote_click received update CLOSED
then
val newValue2 = ā€˜{ā€œpositionā€: 0}ā€™
ikea1fyrturaction.sendCommand(newValue2)
logInfo(ā€œikearuleā€, ā€œrule closeā€)
end

Iā€™m very sorry but iā€™ve switched my smarthome to ioBroker some month ago because of the very complicated DSL and Next Generation Rule Engine. ioBroker is an amazing system with Blockly and / or pure Javascript.

The migration of my 4500 lines of OH rules was done in 7 days.

FHEM -> OpenHAB: 6 month
OpenHAB -> ioBroker (90% Blockly): 7 days incl. bugfixing.