[Edge] IKEA RODRET, SOMRIG and SYMFONISK Gen 2 Button Edge Driver

Thank you so much for this! I can’t remember them either, so this will be really helpful.

2 Likes

Hi thank you so much for creating this custom driver. I just picked up a SYMFONISK Gen 2 remote from IKEA the other day and set it up tonight. This is the first custom edge driver channel I joined. I have it mostly working the way I want, even the Play Favorites feature.

In the settings, at the very top is the “MAIN” Butto which has Pressed, Held, and Double pressed options. What is the “MAIN” button? All the buttons are labeled as Play, Next, Prev, Plus, Minus etc. What’s “Main”?

Thanks!

Now to figure out how to do real volume control with plus and minus!

1 Like

Main is a SmartThings convention you’ll find in every button no matter the driver or brand and serves as a catch-all button (it will trigger when any button is triggered).

Most of the time you’ll ignore it but it’s useful when you just want to know if something was pressed or released but don’t care about which button was.

Is it Sonos speakers you’re controlling? If so this is the solution I use which works well:

How to execute the Sonos volumeUp command in a routine? - SmartApps & Automations - SmartThings Community

My guide in post 4 is a bit out of date, you can now upload rules via my.smartthings.com/advanced which is a bit easier

1 Like

Hi thanks for explaining this. I’ve left it empty and it’s working correctly. I didn’t know about a default button convention but that makes sense.

1 Like

Hi, thanks for linking this. After I posted I was able to figure the volume control out and I am sure I used part or all of your tutorial. I had to figure out some things myself but it wasn’t too hard. I appreciate you taking the time to post it originally and link to it in this thread.

Edit: I was still using the old third party site that required an API key. I can’t see where in Samsung account to upload rules. Can you point me in the right direction? Oh wait, do you mean in the /rules/add page? I tried doing that but it wouldn’t accept my code or take an upload. But the other page accepted the JSON just fine. Weird.

1 Like

I’m sad to report that this is happening with another Somrig I have as well. I tried various combinations of settings (including “on release” option) and it’s still going on.

@mocelet Is there any way to see actual raw communications coming from the device? Or do I just have devices with bad FW version?..

That would be the logcat using the SmartThings command line utility (CLI).

By the way, I had some questions about when that happens that had no answer since apparently it started working fine again (edit: reading it again, looks like it did not work but just considered the button faulty).

What are the buttons firmware versions?

Mine is 1.0.20 which is the included in most retail units unless it’s very very recent (there’s a 1.0.21 released three months ago).

Mine is 1.0.20 too (according Samsung account it’s 01000020).

Thank you for the pointer towards logs! I’m attaching log file of double activation here. If you have any pointers – please lmk.

I’ve also tried triggering FW update but it did nothing (not sure what’s the right procedure for that).

That’s an interesting log…

Guess 1: Do you happen to have a congested Zigbee network or a hub which is too busy to process things? (like a lot of devices, drivers, low on memory, etc.?).

Guess 2: Are you using the recommended 1.2V rechargeable batteries (like the Ladda AAA, I use those in all my buttons). New ikea stuff doesn’t play well with 1.5V alkalines.

Guess 3: If it’s not the hub or the network or the batteries it has to be the buttons, do they belong to the same batch / manufacturing date? (you can check that in the box, it’s a four digit code like 23xx or 24xx, 23 or 24 being the year and xx the week).

The duplicate sequence is actually weird. First because it happens after 7 seconds, so it’s not a debouncing issue, unless it’s not really 7 seconds and that’s the hub going slow logging (been there). On top of that, for a “pushed” there are two commands in somrig, the 0x01 when you just pressed the button and the 0x03 when it confirms it’s a push and not a double or held. For a normal pushed the time difference between 0x01 and 0x03 is around 1 second. In the duplicate it’s 3 seconds, that makes no sense at all from the protocol perspective and what leads me to believe that there’s some congestion somewhere.

By the way, for future logs, could you paste it as preformatted text (the </> icon in the post editor) here instead of a screenshot? There are interesting parts after the screenshot ends and it’s also easier to search for the text if needed.

Thank you for taking a look!

I am using 1.2V rechargeable batteries (tried with 1.5V non-rech and it didn’t work at all).
I have ~ 20ish Zigbee lights and 3 motion sensors. Let me do an experiment tonight and unplug most of the lights to see if it makes a difference congestion wise.

Unfortunately, I do not have boxes anymore so can’t check dates.

Also, my wifi router is somewhat close to the hub. Could that be causing issues?

Okay… :slight_smile: I feel a bit dumb posting it but I’ve noticed that my smartthings hub was turned towards the wall. I don’t know if they have directional antennas or something inside, but I’ve turned it back and button started to work. I’ll keep monitoring it but I suspect @mocelet you were right that issue is caused either by interference (from nearby wifi router) or congestion in the network.

1 Like

Thank you for your work on these drivers. You legend.

I have just got a Rodret button working with an Ikea smart plug hooked up to a lamp. Thanks.

One possible bug. Button 0 is set to turn off the plug. However, when clicked it turns the socket off and straight back on again. Has anyone else had this issue? Do I have a faulty Rodret?

I have managed to get around this issue by having a 1 second delay on the action. Am I getting bounced on the microswitch in the Rodret?
I guess it could be a faulty switch, as when I test the off routine in the app, which states it will ignore the delay for the test, it works and turns the lamp off.

Thoughts anyone?

1 Like

I don’t get it, if the action is turn off, why would it turn on? Looks like a problem with the automation (maybe there are more automations running for the same button so it is running more things than you thought, you can check those in the routines tab).

To discard an issue with the driver or the button, when you press the button once, what do you see in the button history? (you should see only two events, one for main and another for the button). By default the driver just emit the events that it receives from the button.

Edit: Or maybe you set the On action to Main instead of Button (I). It happens a lot. Mind that Main will run when any button is pressed, so you usually don’t want to assign actions to Main.

1 Like

I am a moron. I used the main button! User error.
Thanks for your help.

2 Likes

No problem! Happens to me all the time, they could actually improve the user interface of the SmartThings app, it’s so easy to assign stuff to Main when you don’t want to.

2 Likes

I was trying to use smart things in addition to home assistant, but when the Smart Things integration loads in hom asisstant, I only get the battery level in home assistant, the button actions don’t seem to make it through.

Any ideas?

This driver exposes the buttons as a device with standard SmartThings button capabilities and the usual multi-component approach, the “main” component and a component for each individual button.

How HA handles that is probably a question for the HA forum, but I’ll give you some pointers. In the official HA site for the ST integration they mention the event smartthings.button that you’ll have to use in your automations in HA, and you’ll need the component_id. You can find the component ID for each individual button in the SmartThings advanced website, under Devices - (your device) - Attributes.

Another option to use IKEA buttons in multiple ecosystems is using the Dirigera hub which now supports Matter bridging of buttons (the specific events exposed may vary). Then of course the button will belong to the Dirigera and you won’t be able to use this driver and its extra features but the integration with all the ecosystems will be local thanks to Matter and not cloud-based. If you have lots of ikea devices or don’t want to add a zigbee coordinator to HA, I would consider it.

2 Likes