Zigbee Button + Groups - Alpha Test

I have taken the edge driver for zigbee buttons and customised it to work with groups, for now I have only added the remote controls that I know for sure support the group functionality. All other functionality of the driver is the same as samsungs zigbee button drivers.

So the changes are

  • Some remotes removed (see above)
  • Group functionality added to the remaining remotes

The remotes currently supported by the driver are

  • Ikea on/off 2 button (tested and working by @lmullineux )
  • Ikea open/close 2 button (un tested - presumed working)
  • Ikea 5 button remote control (tested and working by @lmullineux)
  • EcoSmart Remote Control 4 button (Tested not working by @milandjurovic71 )
  • Added: Ikea Styrbar (Tested writing - by @lmullineux)

Unfortunately I don’t own all of these devices so I haven’t been able to test them all - this is where you come in. If you own these devices and want to test them with group functionality then please give the driver a try. It is available in my alpha channel here - SmartThings. Add a little smartness to your things.

The code is here, so you can compare what I have changed vs samsung provided edge drivers GitHub - lrmulli/SmartThingsEdgeDrivers

Please let me know if they work or not.

@veonua @milandjurovic71 @Mariano_Colmenarejo

Update: Added support for direct binding 03/02/2022 - Zigbee Button + Groups - Alpha Test - #29 by lmullineux

4 Likes

A bit about the 3 different ways this driver can be used - although if you are using Option 1, you may as well stick to the official implementation from Samsung

Option 1. Smartthings In control

  • Configure each button press in smartthings to do something e.g turn on a light
  • You configure the button presses on the main screen of the driver, or within automations
  • You can control any kind of device zigbee, lan virtual etc etc
  • You don’t need use the group preference in settings, just ignore that it exists
  • It operates locally on your hub, if the device you are controlling is also local
  • When you press a button, the remote sends a message to your hub, the hub then executes what ever automations are set to trigger

Option 2. Group Bindings

  • Configure each remote control and light within the same group by using the settings
  • You can only control zigbee devices that also support the group feature (see @Mariano_Colmenarejo lightbulb driver above)
  • You put your lights and remote in the same group
  • It operates locally (in fact when using groups they will continue to work even when the hub gets turned off)
  • When you press a button, the remote sends a message directly to your light, the light has to know how to understand that message (it also sends the same message to the hub)
  • You have less flexibility because not all button presses will trigger actions on the bulb
  • You get native dimming capability (this is impossible locally on smartthings using opt 1)
  • Groups can support multiple lights - So I have mine control a set of 5 GU10 lights in my ceiling - the lights are controlled in unison as a group so they come on, go off, dim and brighten as a group

Option 3. Best Of Both

  • You can combine option 1 and 2 because messages go to both the group and the hub
  • This would allow you to have dimmer controls going directly to the bulb using groups, but left and right controls triggering automations within ST
  • It is possible to also perform action on the on/off or held commands within smartthings whilst also bound to a group (an example would be you want dimming capability for you main light, but an on click to turn on the main light and a plug in lamp) This should work but I haven’t tried it.
4 Likes

A tip for anybody using the group capability, adding the remote to a group doesn’t always work. This is often because the remote has gone to sleep.

A way to help make sure your change does work is the following

  • Go into preferences and make your change - but don’t click save
  • Press a button on your remote control - any is fine
  • Immediately hit save

Pressing the button wakes the remote from sleep and increases your chances of the group binding happening

2 Likes

How do you determine what Group your bulb is in? use Mariano’s custom driver?

1 Like

Yes - Or any other driver that supports groups (i’m not sure how many there is yet)

I think @veonua might have a driver for ikea windows blinds that uses groups too

Great work! I’m sure many people will appreciate this!

One note about implementation…a few device manufacturers ship their devices with a Zigbee group already assigned—but don’t give you any way to change it. These are typically the ones sold as a set of handheld remote and bulb, no hub required.

This means that all of their smart bulbs and all of their remotes are assigned to the same group. So if you buy a second remote, it still controls all the bulbs from the first group and both remotes control all the bulbs. Which may not be what you wanted. :thinking:

So if you run into a situation where the first button/remote does what you want, but new buttons or new bulbs seems to “have a mind of their own,” it probably means they had a pre assigned group.

Whether you can change it or not just depends on the model.

@Automated_House @Mariano_Colmenarejo @veonua

2 Likes

@JDRoberts @lmullineux @Mariano_Colmenarejo
Yes, I have those Ecosmart Lights and Remotes. I had to factory reset them in the past to break group, to be able to use them with SmartThings.

Unfortunately I just tried to group them back together using zigbee group drivers for Remote and Bulb, and it’s not working :frowning:
Both drivers are from two different devs, and I think it will be hard to resolve this issue.

Out of the box they are connected to individual remote. There was a sale for a couple days $2.50 each set. I have more than 30 of this. If i wanted to control multiple bulbs I had to unpair them from original remote and pair to single one. That tells me that they were different groups. Can those groups be changed with hub, I am not sure.

I can still bind them to remote, but then remote start to control all the bulbs, not just those that is linked to.

1 Like

Now I am thinking, maybe I should try to TouchLink them again. They might keep group assigned by driver?

I think touchlink and groups are different concepts

1 Like

at least for Ikea , the touch link on remote creates a new (random) group and binds lights to it.

1 Like

yes, the group binding shines in “dim or closure while button held” scenarios .
when network responsiveness is important .

on the negative side you can’t edit scenarios without buying a new remote

This will vary by brand/model.

I have updated the driver with the following

  • Amended settings so you now specify group to add, and group to remove - you should set these to 0 when not using them to do a binding
  • A new setting to enable verbose logging - what this does is on every button press it will fetch the binding table and write logs, and also put an entry in the history tab with your group memberships (the group number is the bit inside the brackets). Don’t leave this setting on all the time, only when you are debugging group issues This will hopefully help the message be received as the button press should mean the device is not sleeping
  • A new setting to aggressively attempt group binding on any button press - what this does is on every button press it will attempt to do any group bindings and un-bindings you have specified in settings Don’t leave this setting on all the time, only when you are joining a group or removing a group This will hopefully help the message be received as the button press should mean the device is not sleeping.

This could take up to 24 hrs to land on your hub, or you can force it with an install on the cli.

Your hub may need a reboot after install as the device profile has changed.

1 Like

Added Support for Styrbar remote, merging from my other driver as Group capability is more advanced on this one

1 Like

The best way to bind and unbind to groups now is to set your settings and turn both toggles on. Then press the buttons on your remote

You should see entries in your history like so that will tell you the bind to the specified group was successful

Important don’t forget to return your settings back once you are happily setup

2 Likes

And for those who wonder why…

  1. verbose logging uses a lot of power and can kill battery life if you leave it on

  2. verbose logging can also flood your network, causing other messages to be delayed or even lost.

2 Likes

@lmullineux @Mariano_Colmenarejo

I’m writing in this topic as presume my idea have to do with button driver, but we’ll see.

Anyway, here is an idea and you will let me know if it is even possible to create: for example, you have 3 groups of lights in one room, meaning you have 3 separate electrical circuits, and you made them all smart, either having smart bulbs/LED drivers/luminaires (and hoping nobody in your household will push wall switch and make them dumb again :sweat_smile: ), or by setting smart switch/dimmer for that group of lights. If all of them work fine with Mariano’s light driver, and you have button/remote that works fine with Imullineux button driver, basically you just have to set groups and your button and lights are ready to use.
But what if you have, for example Ikea 5-button remote, and would like to control those 3 groups of lights, all with same 5-button remote, but all 3 separately?
So functions of button would be:
upper button (dim up)
down button (dim down)
left and right button would scroll through light groups
main button would toggle on/off.
Basic idea is to press left or right button to define which group you would like to control, and then use upper or down button to dim that group. That way you could have one button/remote that could control all lights in that room (or few of them doing same thing fot that matter), and only problem is that you could not know to what group is set at the moment.

Is this even possible to create?
When I look at grouping options of button driver, I think it is not possible because you have to define group for this button, but anyway, Imullineux will say if it is or not.

Thank you

Hi @Vex

What you describe is not possible with the current driver and groups. It could be re-coded to work that way but I don’t think it would be very reliable. It would require each button press to first unbind the remote from its current group and then bind you to group 2. Battery powered remotes go to sleep and won’t receive all of those messages.

If you weren’t too concerned about dimming you could simulate this with rules and automations at the hub without using groups.

Doing your suggestion might be more doable at the lightbulb ( keep the be remote in a single group, but change which bulbs are in the group on button presses) if the driver was updated to support this, as the bulbs never sleep being mains powered. It’s still probably not advisable as I don’t think this is the intended use of groups.

I currently use my 5 button remote to control the main lights in the room (Gu10 spots in the ceiling), and then the left/right scene buttons I use as on/off toggles for the side lights.

1 Like

It could mess up routing. Zigbee Groups are intended to have membership changed as an administrative function, typically when a new device is added. If you are trying to change it on the fly while other traffic is happening on the network it could get messy. :thinking:

1 Like

Yes, doesn’t seem like a good idea to be flipping groups all the time

1 Like