[RELEASE] IKEA Zigbee drivers

I was able to pair a "Tradfri Remote Control (E1810)" and assign the correct driver, but I cannot seem to make anything happen on a C7 box running 2.3.9.201. The logs show... lotsa nuthin. Can't get a single button press seen in the logs.

dev:6962025-01-04 12:10:41.846 PMinfoHome Button ⏲️ Automatically reverting log level to "Info"
dev:6962025-01-04 12:00:00.105 PMinfoHome Button health status is unknown [physical]
dev:6962025-01-04 12:00:00.101 PMdebugHome Button ⏲️ Automatically running health check
dev:6962025-01-04 11:45:15.094 AMdebugHome Button ◀ Sending Zigbee messages: [he raw 0xB21B 0x01 0x01 0x0019 {09 01 00 03 64 FFFF FFFF FFFF FFFF}]
dev:6962025-01-04 11:45:15.091 AMinfoHome Button looking for firmware updates ...
dev:6962025-01-04 11:40:46.235 AMdebugHome Button ◀ Sending Zigbee messages: [he raw 0xB21B 1 0x01 0x0001 {10 00 00 21 00}, delay 1000, he raw 0xB21B 0x00 0x00 0x0033 {57 00} {0x0000}]
dev:6962025-01-04 11:40:46.228 AMinfoHome Button 🎬 Refreshing device state ...
dev:6962025-01-04 11:40:41.843 AMinfoHome Button 🛠️ logLevel = Debug
dev:6962025-01-04 11:40:41.802 AMinfoHome Button 🎬 Saving preferences ...
dev:6962025-01-04 11:40:33.304 AMinfoHome Button did not sent any messages since it was last configured
dev:6962025-01-04 11:40:28.281 AMdebugHome Button 🎬 Ping command sent to the device; we'll wait 5 seconds for a reply ...
dev:6962025-01-04 11:40:28.277 AMdebugHome Button ◀ Sending Zigbee messages: [he raw 0xB21B 1 0x01 0x0000 {10 00 00 00 00}]
dev:6962025-01-04 11:40:28.273 AMwarnHome Button ping ...
dev:6962025-01-04 11:39:37.758 AMdebugHome Button ◀ Sending Zigbee messages: [he raw 0xB21B 0x01 0x01 0x0003 {014300 3C00}, delay 1000, zdo bind 0xB21B 0x01 0x01 0x0005 {D0CF5EFFFE1D777D} {}, delay 1000, zdo bind 0xB21B 0x01 0x01 0x0006 {D0CF5EFFFE1D777D} {}, delay 1000, zdo bind 0xB21B 0x01 0x01 0x0008 {D0CF5EFFFE1D777D} {}, delay 1000, zdo bind 0xB21B 0x01 0x01 0x0001 {D0CF5EFFFE1D777D} {}, delay 1000, he cr 0xB21B 0x01 0x0001 0x0021 0x20 0x0000 0x4650 {02} {}, delay 1000, he raw 0xB21B 1 0x01 0x0000 {10 00 00 07 00}, delay 1000, he raw 0xB21B 1 0x01 0x0000 {10 00 00 01 00 03 00 04 00 00 40}, delay 1000, he raw 0xB21B 1 0x01 0x0000 {10 00 00 05 00}, delay 1000, he raw 0xB21B 1 0x01 0x0000 {10 00 00 0A 00}, delay 1000, he raw 0xB21B 0x01 0x01 0x0003 {014300 0000}]
dev:6962025-01-04 11:39:37.688 AMinfoHome Button 🛠️ logLevel = Debug
dev:6962025-01-04 11:39:37.564 AMinfoHome Button 🎬 Saving preferences (auto) ...
dev:6962025-01-04 11:39:37.561 AMinfoHome Button ⚙️ Finishing device configuration ...
dev:6962025-01-04 11:39:33.492 AMwarnHome Button ⚙️ Configuring device ...
1 Like

Here's a couple of things you can try:

  • Pair the device really close (5cm / 2in) to the hub; give it a couple of tries if it does not work. We want to make sure the remote talks directly to the hub, not via a close-by repeater.

  • Update the device firmware as old versions do not register button clicks. Follow closely the steps from here, just clicking the "Update firmware" button does not always work with battery powered devices: [GUIDE] IKEA Firmware Updates

Hope this helps!

1 Like

I simply can't get any reply from the Tradfri 5-button, aside from this, showing that the hub gets enough communications to register it as a valid and paired zigbee device:

deviceJoin New Zigbee device joined 696 1/04/2025 8:38:05.200 am

"696" is the correct device, but subsequent log entries, even with debug mode on, only show the hub sending things to the button, it never shows any responses from the button. All I can do is go get a fresh battery and hope it is not half dead "on the shelf", as so many tend to be, despite the packaging, and that a fully-charged (rather than 30%) battery will make the difference.

I hate paying full price only to get batteries that start out at "50%" when the Hubitat reports the battery status, and button-cell batteries are the worst offenders. I guess I should take a volt-ohm meter to the store, and puncture plastic packages with the probes to check them before I buy...

1 Like

As far as I know, the 1810 has been discontinued a good while ago, and replaced with Rodret/Somrig. How come you were able to buy it now?

I've had it in my box of "useless items to be perhaps scavenged for components" for years. I am a bit of a pack-rat, I guess, unable to toss out something that contains circuitry, buttons, and a case that might be reused "someday". When I die, someone else can throw it all away, but I have at least properly labeled the box! :wink:

2 Likes

Is there a safe maximum number of concurrent firmware updates? I mean, other than "do one at a time"? :slight_smile:

1 Like

A firmware file is about 250KB. A single Zigbee message usually can carry about 80 bytes of data. So it will take some 3000 messages to transfer one firmware file from the hub, to the device.

I believe the update process really puts a strain on the mesh (and also on battery powered devices). I would stick to one, or two at a time. But you do you :smile:

2 Likes

I put battery-powered devices next to the hub when updating them, and 3 concurrent seems to be fine. Haven't tried more yet.

I started updating 2 mains-powered devices as well, so a total of 5 updates are running. They are all reporting progress normally, as expected. Update time seems to be within the range mentioned by other posters.

Thank you so much for all your hard work with these drivers, and with the update process. You make the world a better place!

Edit: Just realized Dan has a BuyMeACoffee link on the drivers page, but he has been too modest to promote the link himself. So here it is from me instead. Get this man some well earned coffee! :slight_smile:

3 Likes

Released version 5.4.0 with the following small changes:

Added

  • Add "Toggle state" option for the Power On Behavior preference - @SplatMan
  • LYWSD03MMC: Add support for pvvx/ZigbeeTLc firmware - @swinokur

Note: You don't need to upgrade to this version if not interested in the new and very specific changes.

@SplatMan - I tested the new "Toggle state" option with an Inspelning plug, and it works, but it requires to cut the the power for more than 500ms (like you wanted), so not sure how useful this is for your use case.

Have fun!

My Tradfri reported this unusual log entry:

[Tradfri] Detected that this device is not properly configured for this driver version (lastCx != 5.3.0)

Not sure what this means, but apparently, just letting the tradfri sit next to the hub for a day resulted in the tradfri at last responding to the hub, and making periodic reports like "last battery report time is Mon Jan 06 06:17:08 EST 2025 [physical]" and " current group bindings: None"

1 Like

After giving up on the effort for a bit, and leaving the Tradfri 5-button remote sitting near the Hubitat hub, the Tradfri started reporting "last battery update" messages to the log. This was encouraging, as it was the first reply from the button to ANY of the entreaties from the hub.
So, I tried update firmware, and after a long while, it gave me a "10% updated" log entry, and eventually completely updated the firmware. So, it is now working, and my pack-rat tendency has given me an old but new-to-me, and very useful device with all the buttons working. So, when an Ikea device is not behaving, just letting it sit near the hub for several days seems to be a valid approach to fixing whatever ails it.

1 Like

Like tea and chili and lasagna.

1 Like

What fixes it is really the firmware update.

I had a lot of older IKEA devices (early TRÅDFRI days), which I had given up on. Now, with Dan's drivers + a firmware update, they all work flawlessly. But not a single one of them would do anything useful without the update. They'd report battery status (all over the place, jumping between 80% - 20%) and not respond correctly when activated. I suspect the very first versions of TRÅDFRI software was produced by a team of drunk interns.

Dan saved the day, and Hubitat's built-in ability to update firmwares is a total kick-■■■ feature. I even even succeeded updating an old Ledvance ("Osram") SMART+ lumiere that was misbehaving.

With the firmware updates and Dan's drivers, the IKEA devices are really good value. Cheap, stable, versatile.

The general advice is to only update firmware if you're trying to fix a specific problem. That has NOT been my experience.

In my experience, any manufacturer of Zigbee firmwares will only ever release one if there is something seriously broken. Otherwise it seems they won't spend time on it. Always pushing the newest possible firmware to devices reduces the amount of daily upkeep and grief I have with home automation. Often, problems with finnicky devices are hard to diagnose because they're intermittent and random. For example I had a wonky sensor misbehaving, and the "solution" was to replace a totally different device that was screwing up routing in the mesh. I see less of these annoying issues when firmware are the most recent version possible.

In my personal view: always update, no matter what. Nobody - absolutely nobody - releases a new Zigbee firmware unless they really really had to. Which means you need it!

2 Likes

@dandanache : I will see if I can find the software to reprogram the old home controller. Or get help from the devops-wife who reset it and programmed it when we moved in.

The scenario is essentially this:

The system, called "IHC", is designed around a central PLC-like controller on a DIN rail. See picture below.

Outlets and wiring in ceiling roses (are they called that in newer houses as well?) are connected to either a relay or a dimmer. All physical switches are low-voltage, connected to the controller (through input modules). Configuration of switches and outlets is done with software. So any switch in the house can be configured to do ... pretty much anything. Including simple automation. It can be extended with wireless devices on 868 MHz (Wavenis).

Sadly, this system is not open, and has no formal endpoints. It also is devoid of anything visionary. There are some unofficial integrations made to this system, on Home Assistant. I tried using it, and it's pretty terrible to work with. I had to learn the hard war just how terrible "long polling" really is to work with.

It is rock-stable though, having the design paradigm of a PLC. So it can be used in large buildings, and in scenarios where nobody would accept a Hubitat (or similar) as a controller. So it's widely used, at least around these parts of the world (Scandinavia).

Ripping out all out is a lot of work. As a result, my entire setup is always of balancing what should be controlled by IHC and what should be on Hubitat. Both systems are competing, and all switches in the house, being low-voltage and connected to IHC, will do little more than turn power on/off.

As you realize, turning power off robs me of controlling the connected device with anything else.

Enter the Toggle option. I can program the IHC to stop cutting power permanently. So pressing a switch will cut and then reinstate power after n milliseconds. This way the device will respond "correctly" when the low-voltage switch is operated: it will enter the reverse power state. But power won't be cut, so I can ALSO control the device with Hubitat. That's really a game changer.

The only real question is how bad the latency will be. I can tell that 80 ms. latency is quite noticeable. So obviously, it might not be a good user experience if I have to bump the power cycle significantly past 500 ms. Users will be confused if pressing the switch does not produce a "somewhat immediate" response. Which would be the case if an IKEA bulb was off, and I wanted to turn it on using the "Toggle-trick."

I'll share my findings when we're done testing. As I said in another post: if this works, there could be a lot of people just waiting for this. No other solution, for now at least, enables peaceful coexistence of IHC and modern Home automation/Zigbee ecosystems.

Marrying IKEA TRÅDFRI with IHC should a vey easy sell.

1 Like

Hi @SplatMan and @dandanache, I have some old Tradfri E1524 remote controls. Did you get a chance to collect some experiences with this device. I believe it is a predecessor of the E1860.
I tried to connect to hubitat long time ago but without any success. Never tried again.

1 Like

There was some requests to bake an auto-update feature into the drivers; while this is technically possible, I am a bit reluctant to do it just yet.

I think you can test the bulbs without reprogramming the PLC (find a way to manually cut the power for a short while), so you can see if it makes sense to put in the effort.

Looking forward to your updates on this :slight_smile:

I believe the E1524 and E1810 share the same firmware, the E1810 is the water-proof version. Put in a fresh battery, pair it very close to the hub, and start the firmware update process (click the remote buttons to make sure the remote is "awake" when the update firmware command is issued). The update process takes about 100 minutes.

On the other thread, I see you already tried a while ago, but without success.

2 Likes

Yes, I have one of those. Works fine AFTER the firmware update. :slight_smile: It can be a little hard to initiate the update on battery powered devices though. Perhaps that's the problem? Here is what I do:

1.) Ensure the device is newly paired. That way your mesh won't make odd assumptions about its route. Re-pair it if in doubt. It needs to be paired very close to the hub. After pairing it probably won't do anything useful.

2.) Open the Hubitat device page on a mobile device that you can operate right next to your Hub, and click the firmware update button. Yes. Press the button, don't wait.

3.) Hubitat presents a warning box, and won't actually attempt the firmware update until you "accept the risk". This is the actual button you have to use for your timing, not the firmware button itself.

4.) Wake the device by clicking it, then click the accept button after about half a second. Don't click it immediately and don't wait many seconds.

5.) Leave the device close to the hub, within a couple of feet/meters so the update won't have to traverse your mesh.

Other instructions will tell you which logs to look in, for progress.

This is almost the same as the "official" instructions, but with a few added details for timing. I have not had problems updating any IKEAS device with this method. But getting the timing right after waking the device is important. And having a newly/recently paired device may also be important to ensure reliable communication.

Good luck.

2 Likes

@dandanache thanks again for all your great work on these drivers. It's very much the reason I've been using the IKEA bulbs.

These color GU10s are new I think. They are full color and just a few bucks more than the standard Tradfri GU10 bulbs I've been using. They are 1/5 the price of the HUE GU10 color bulbs.

Device Data

Application 01
Firmware MT 117C-2805-01000038
Hw Version 01
Manufacturer IKEA of Sweden
Model TRADFRI bulb GU10 CWS 380lm
Software Build 1.0.38
Type LED2110R3NA

I'm just using the IKEA RGB only driver which seems to work ok. Just throwing this up here in case you see an opportunity for a driver update.

1 Like

Did you first try the Color White Spectrum Light driver? The RGB-Only Light driver is for some bulbs that don't have physical white LEDs, probably to make them cheaper.

Do you mean to add the fingerprint so that the driver is automatically selected, or is there some funtionality that is missing?

I'm just referring to a fingerprint, yes :slight_smile:

I switched over to the Generic Zigbee RGBW driver which looks to work ok. Not sure if there are any features missing or not. This makes it a bit easier to choose the light characteristics by color temp only. I'm trying to sync them up HUE LED light strips for the correct temp etc. for my editing suite ambient lighting.