[RELEASE] IKEA Zigbee drivers

My Vallhorn model is E2134.

Maybe you have a routing device really close to the hub that broadcasts a stronger radio message?

You can try to clear the hub Zigbee cache:

  1. Shutdown the hub: Settings -> Shutdown
  2. Wait until the screen says is safe now to unplug the hub
  3. Unplug the hub for 1 minute
  4. Plug hub back in, wait until it boots up
  5. Retry to pair the sensor

As a last resort, I believe you can try to use the Zigbee Pairing Helper, but I'm reluctant to recommend this as it is overly complicated/cumbersome to use. It can temporarily stop all other devices in your mesh to be "pair-able" so the sensor can pair only through the hub.

To Prestage or Not to Prestage - that is the question! And it's been forming in my mind for a while now, though I'm not sure if I can express myself well enough.

I'm LOVING the prestaging. It's awesome. and I'd like to set it everywhere.... however;

I have a number of rules/pistons with SET level X over Y duration.
Using built-in Advanced drivers, with the switch OFF, the effect is to have the bulb TURN ON, at level 1, and brighten to X level, over Y seconds.
With your IKEA driver, and pre-staging ON, the bulb doesn't illuminate unless there is a TURN ON first, in which case it begins at the existing (sometimes VERY bright) LEVEL, meaning it's a SET LEVEL 1, TURN ON, SET LEVEL TO X over Y ( to also be compatible with other bulb drivers in the same group)

Do we feel this is the best method -
or
A case for PRE- command(s) (PRE-LEVEL, maybe PRE-COLOUR TEMP, PRE-COLOUR) in the IKEA Driver?
or
Is there a better way that I'm too tired to see?

I've a lot of rules/pistons, and wanted to get some opinions before I end up rewriting them multiple times.

I could go on, but I'll post now, and await the replies. :slight_smile:

1 Like

When you turn ON a light, it will transition from 0 to the last known brightness level using the transition time from the "Brightness transition time" preference. So it does not start directly with the final level, unless the "Brightness transition time" preference is set to "Instant". You don't really need to use SET LEVEL TO X over Y command when you turn ON the light, the hardware is doing it for you.

You are right that the lights are behaving weirdly when pre-staging is enabled. If the light is already turned OFF, and you change level to 100% (light stays OFF), and then you turn ON the light, it will jump directly to 100% brightness. This is wrong. Subsequent ON/OFF transitions are obeying the "Brightness transition time" preference, but the first turn ON event is bugged (firmware implementation).

There is a possible hack/workaround that we can implement in the driver to overcome this behavior, but it is messy :slight_smile:

Simply to have the debate - in the initial use case, it was mentioned

"Pre-staging that works for level, temperature and color: I have rules that say "on sunrise, set bulbs brightness to 100% and use cold white (to wake up)", "on sunset, change level to 70% and use warm white (to prepare for sleep)" and "at midnight, set brightness to 1% and warmest white (if I go to the bathroom)". Right now, my rules turn the bulbs on, wait 5 seconds, change the level and white tone, wait 5 seconds, then turn the bulbs back off (if they were off, otherwise keep them on); my wife hates lights turning on and off by themselves"

If you removed level prestaging from the catchall 'colour/white spectrum/level' toggle - and add a preset Level command, (like in the generic Advanced Zigbee CT Driver) , then you'd have

Ability to change colours/temps without turning on the bulb - new wowness :slight_smile:
Ability to change the level without turning on, which also matches existing methods and expectations set by other drivers.
Regain ability to set level/brightness in transition time and over programmed period (?)

Not a demand, just trying to get my head around what may be bad logic/lazy programming on my part - Currently, SET COLOUR includes a TURN ON. Maybe I should add a TURN ON, and let the hub ignore the command if not needed by that device.

I feel there are far less re coding/mixed manufacturer/driver problems if you separate the pre-stage level command, as the cost of decent colour bulbs restricts the scale. I have hundreds of LEVEL rules/pistons. I have a handful of SET colour/temp rules.

But then you build the drivers primarily for your use case.

Hmmm, more coffee.

Noticed the verbose logging (everything) is still turned on in the 5.0.0 driver - not sure if that's for 30 mins, on forever...?

Hi guys, is there a driver for the Ormanas LED strip does anyone have experience of this product? EDIT, I've just read that the generic rgbw driver works

Also, the older Tradfri outlets are £5

1 Like

There is a driver in this suite that was tested with Ormanas LED strip: IKEA Color White Spectrum Light. If you already have the "IKEA Zigbee drivers" package installed via HPM, use the "Modify" option in HPM to install additional drivers from the package.

1 Like

Just got one of these "Older" £5 outlets (E1704) but it's not listed amongst Dan's drivers, which seems a little odd. Feel like I'm missing something here as a Newbie to Hubitat especially as I couldn't find any other posts about the E1704 - do you just add them as a 1603?

1 Like

Try the Hubitat IKEA TRADFRI CONTROL OUTLET driver. Press configure after pairing. I've had zero problems after 3 years usage

1 Like

OK. Thanks.
I think that is the name used for the E1603 in the documentation.

1 Like


Is it this outlet? If so, the driver in my post above will work perfectly

1 Like

This device should work with the "IKEA Tradfri Control Outlet (E1603)" driver in this package. The device seems to have different names for different plug types: E1603 (EU/German Schuko), E1706 (US), E1704 (GB), etc.

Like @stueyhughes instructed, you can of course use the "Ikea TRADFRI Control Outlet" built-in driver (provided by the Hubitat staff) if you have no need of the "healthStatus" attribute, the "On With Timed Off" command or the "Power On behaviour" preference.

2 Likes

Yes, looks identical. Have downloaded the "Outlet" (E1603) driver already, but not got round to setting up the device yet.
Thanks. :slightly_smiling_face:

1 Like

Thanks Dan, I actually thought Stuey was pointing me at your driver, I hadn't found the other one. Reassuring to know it's really the same device under the hood, just different plug types.
Might be worth adding this info to the documentation for the benefit for others if you have a moment.
P.S. My thanks in general for your contribution - I also bought some of the other Tradfri devices at the same time.

1 Like

Hi, Can I use TRETAKT build-in toggle button to trigger actions in hubitat? for example to start countdown timer to turn off the switch. I would like to avoid additional battery powered remote for that.

1 Like

If this is the scenario you are describing, it is really easy to setup an automation like:

  1. Push the button on the TRETAKT outlet -> this will turn on the outlet's switch and power whatever device is plugged in (e.g. floor lamp, radio, fan, phone-charger, etc.)
  2. Automatically start a countdown timer (5 minutes, 5 hours, etc.) when the outlet's switch is turned on
  3. After the countdown timer reaches zero, automatically turn off the outlet's switch -> this will power off the device that is plugged in

If this is not the scenario you had in mind, please elaborate more on what you are trying to achieve.

1 Like

Yes, this is the scenario, I want to use with coffee grinder (maybe extract electronic from the ikea switch and move it inside the grinder), to turn it for 30s, further improvements would be 2-3 quick button press (within first 3s from the first press) to extend that countdown timer. If at least first scenario is possible, then I will buy Tretakt to play with it. I am new to the hubitat rule machine, and I was thinking how if that rule could be triggered in case of button event is not sent to the HE or it will be delayed because of needed some switch state polling.

This is how to implement the first scenario using the new "Visual Rules Builder" built-in app:

This is how to do it using the "Rule Machine" built-in app:

A small advantage of the RM implementation is that is is calling the "onWithTimedOff()" custom command that will start the countdown timer directly on the Tretakt hardware.

I don't think the other scenario (with multiple quick pushes) is possible as each button switch immediately toggles the state of the outlet's switch (on -> off -> on) and we cannot disable this.

There is no polling involved, Tretakt pushes the on/off events to Hubitat.

But you are right though, if Hubitat is offline when you push the button, the auto off behavior will not trigger.

2 Likes

Thank you Dan, so comprehensive answer. I will try for sure scenario 1 :coffee:
I already have few basic rules, but I did not know about "visual rules builder". For scenario 2, seems like I would need some other device, maybe something like sonoff ZBMINI-L2 ? aqara relay? I think there is higher chance that button there could sent event to HE, or just tradfri remote (yet another battery to replace...).

I would advise against this, unless you really know what you're doing :slight_smile: Nevertheless, if you are bent on putting stuff inside the grinder, the relays that go behind wall switches are a much safer and easier alternative. I've only played with Aqara Dual Relay Module T2, but I'm sure that there are also other devices that can do better (the T2 is also quite big in size).

Alternative to altering your grinder is to have a smart outlet (like TRETAKT) and a battery-powered remote (IKEA has quite a few to chose from: RODRET, SOMRIG, SYMFONISK, STYRBAR) to control it.

I guess that best thing to get more ideas, would be to start a forum thread where you specify clearly what you want to achieve, and I'm sure folks here will come up with creative solutions :slight_smile:

2 Likes