IKEA Traadfri Groups - Not always turning all lights off

Hey all,

I’m having a problem that occurs from time to time with my IKEA Traadfri 0220 Bulbs.
When I power on my Bulbs it often happens that one of the bulbs doesn’t seem to get the command. Also if my Xiaomi Human Motion Pir detects Motion it often only turns some of the lights on, but in most cases its when the pir finishes its timer when sending the off command it doesn’t seem to turn all bulbs off.

.items file

Switch Hobbyroom_LED1_switch "Hobbyrum LED1 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED1:brightness" }
Dimmer Hobbyroom_LED1_dimmer "Hobbyrum LED1 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED1:brightness" }
Dimmer Hobbyroom_LED1_color "Hobbyrum LED1 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED1:color_temperature" }

Switch Hobbyroom_LED2_switch "Hobbyrum LED2 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED2:brightness" }
Dimmer Hobbyroom_LED2_dimmer "Hobbyrum LED2 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED2:brightness" }
Dimmer Hobbyroom_LED2_color "Hobbyrum LED2 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED2:color_temperature" }

Switch Hobbyroom_LED3_switch "Hobbyrum LED3 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED3:brightness" }
Dimmer Hobbyroom_LED3_dimmer "Hobbyrum LED3 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED3:brightness" }
Dimmer Hobbyroom_LED3_color "Hobbyrum LED3 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED3:color_temperature" }

Switch Hobbyroom_LED4_switch "Hobbyrum LED4 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED4:brightness" }
Dimmer Hobbyroom_LED4_dimmer "Hobbyrum LED4 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED4:brightness" }
Dimmer Hobbyroom_LED4_color "Hobbyrum LED4 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED4:color_temperature" }

Switch Hobbyroom_LED5_switch "Hobbyrum LED5 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED5:brightness" }
Dimmer Hobbyroom_LED5_dimmer "Hobbyrum LED5 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED5:brightness" }
Dimmer Hobbyroom_LED5_color "Hobbyrum LED5 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED5:color_temperature" }

Switch Hobbyroom_LED6_switch "Hobbyrum LED6 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED6:brightness" }
Dimmer Hobbyroom_LED6_dimmer "Hobbyrum LED6 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED6:brightness" }
Dimmer Hobbyroom_LED6_color "Hobbyrum LED6 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED6:color_temperature" }

Switch Hobbyroom_LED7_switch "Hobbyrum LED7 Switch" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED7:brightness" }
Dimmer Hobbyroom_LED7_dimmer "Hobbyrum LED7 Brightness" (gHobbyroom,gHobbyroom_dimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED7:brightness" }
Dimmer Hobbyroom_LED7_color "Hobbyrum LED7 Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED7:color_temperature" }

Number Scenario (gHobbyroom)

// Grouped Bulbs

Dimmer Hobbyroom_All_LED_dimmer "Spot Loft Dimmer" (gHobbyroom,gHobbyroom_dimmer,gDimmer) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED1:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED2:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED3:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED4:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED5:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED6:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED7:brightness" }
Switch Hobbyroom_All_LED_switch "Spot Loft" (gHobbyroom,gHobbyroom_switch,gSwitch) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED1:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED2:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED3:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED4:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED5:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED6:brightness", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED7:brightness" }
Dimmer Hobbyroom_All_LED_color "Spot Loft Color" (gHobbyroom,gHobbyroom_color) { channel="tradfri:0220:mygateway:Hobbyroom_Color_LED1:color_temperature", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED2:color_temperature", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED3:color_temperature", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED4:color_temperature", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED5:color_temperature", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED6:color_temperature", channel="tradfri:0220:mygateway:Hobbyroom_Color_LED7:color_temperature" }

As you can see, I’ve created my Switch / Dimmer and Color Dimmer as a group by calling all my Bulbs and the feature I need.

.rules file

rule "Hobbyroom Xiaomi Motion Sensor"
when
    Item Hobbyroom_MotionSensor_MotionStatus changed
then
    if (Hobbyroom_MotionSensor_MotionStatus.state == ON) {
        Hobbyroom_All_LED_switch.sendCommand(ON)
    } else {
        Hobbyroom_All_LED_switch.sendCommand(OFF)
    }
end

So when Motion in the room is detected I call the Group Switch I created for all my 7 Bulbs and it then sets the Switch to (ON)… and then after 1 minute (I think it is default by the Xiaomi Pir) it turns the Bulbs off again - but sometimes one or two it stuck at (ON).

I’ve seen other people split it up in their rules. So they just send the command directly to one or two bulbs and then they through a small delay and then the next two, small delay and finally the last ones…

Do any of you have an idea of why I experience this or perhaps can agree that I should do the same thing to my rules file that I’ve seen others do?

Thanks!

Hi!
What version of OpenHAB are you currently using? There were some recent changes to the TRADFRI binding that may have solved this issue.

I’m on latest snapshot and something definitely happened on the latest version.
I have a group with 12 GU10 Tradfri bulbs and they now take 4-5s to turn all on or off.
Sometimes 1-2 bulbs don’t change state.

Hi @hreichert I still run the openHAB 2.1.0-1 (Release Build) version.

@OMR Hey Morten (fellow dane I guess :wink: ) Do you Group your Bulbs together as I do above or do you use use

Group qHobbyroom_Switch

Norwegian ‘hvis jeg må be’ :slight_smile: Follow Scandinavian none the less.

.items

// Kjellerstue
// Lampe 1
Switch BulbGU10_1_State            (kjellerstueLamper, kjellerstueLampe1)             { channel = "tradfri:0220:gwb072bf25aee1:65547:brightness" }
Dimmer BulbGU10_1_Bright           (kjellerstueLamperDimm, kjellerstueLampe1Dimm, kjellerblinker1)     { channel = "tradfri:0220:gwb072bf25aee1:65547:brightness" }
Dimmer BulbGU10_1_ColorTemp        (kjellerstueLamperColor, kjellerstueLampe1Color)   { channel = "tradfri:0220:gwb072bf25aee1:65547:color_temperature" }
 x12

.items

Group kjellerstueLamper 
Group kjellerstueLampe1  (kjellerstueLamper)
Group kjellerstueLampe2  (kjellerstueLamper) 
Group kjellerstueLamperDimm 
Group kjellerstueLampe1Dimm  (kjellerstueLamperDimm)
Group kjellerstueLampe2Dimm  (kjellerstueLamperDimm) 
Group kjellerstueLamperColor 
Group kjellerstueLampe1Color  (kjellerstueLamperColor)
Group kjellerstueLampe2Color  (kjellerstueLamperColor)

.rules:

  switch swState {
        case 1.0: {logInfo(name, "Rule: Button1 SingleClick " + swState) 
        	sendCommand(DenLights, if (DenLights.state==OFF) ON else OFF)
        	sendCommand(kjellerstueLamperDimm, if (DenLights.state==OFF) 45 else 0)

Just remembered that I also recently switch from using the Switch group to the Dimmer group.
That could also be a factor. Anyway, the dimmer group is sloooow.

@OMR Jamen det er da Bra ;)!

But you do also call a “standard” group of your bulbs… no delays at all right?

But you do also experience the same as me even with the latest snapshot? That some of the bulbs does not turn off when turning off!?

Hi

in you items file you can use something like:

Group:Dimmer gHobbyroom_dimmer "Dimm everything" <light> [ "Lighting" ]

This works fine for me with 4 IKEA Tradfri lights (with the IKEA Gateway).

Greetings

chrisyyy

@chrisyyy so I should change my current groupings so it matches yours.

Do you also have a switch or do you only use dimmer so when you turn off the light you just set dimmer (0)?

Do you have some rules as examples?

Hi,

I have only dimmers - OH-documentation say‘s: Item dimmer can also ON and OFF … and Amazon Echo (over HueEmulation) did everything right. The other question: Did I have rules? Yes but in combination with Astro and other things/items.
And i do not say: Use my way. Just for me it works. Of course all IT topics have a lot of ways! :yum:

And the way calling adresses two or three times for one item seems not so good for me.

Add: What logic do you need for your rules?

Greetings

chrisyyy

Hi all,

I don’t know if I can help you but I want to point out one of the latest changes in the binding which effects the way how the commands are sent to the Tradfri gateway. The change introduced a scheduled and queued approach using a little delay between any sended command. This should prevent the following situation - if you send 2 commands (one for brightness and one for color temperature) in a short time (less than a second) the second command is ignored by the bulb no matter if the first command actually change anything.

I am currently not sure if there is only one queue for all commands or a different queue for each bulb. Let’s check it out.

// EDIT: Each bulb has its own command queue.

1 Like

The delay is only needed if the two commands go to the same bulb/panel as described here.
Using the Ikea phone App have no delay dimming 6 bulbs in a group.

Also in my case, I don’t do anything else than Turning the bulbs off. So it is only a matter of one command to each bulb but of course tied together as one switch. It could be the fact that I grouped them together as I did. I can of course go ahead and try it the way @chrisyyy did. I’m guessing you can use both ON and Off in a sendCommand as well as I can use 0 or 100 (brightness level)!?

We have to distinguish two cases here:

  • The IKEA app can use native groups - so there is no delay, as this is handled “in hardware”
  • The TRADFRI binding can not make use of native groups (yet!), so every item in a group gets one command

@hreichert, so in my case you would recommend sending the sendCommand to each bulb if I want to turn them OFF or ON or change brightness and so on?

No delays in between?

Well, that happens already if you send the command (ON, OFF, or a PercentType) to a OpenHAB group with Dimmer items in it:
All Dimmer items in the group will receive one command each.
So you have two options:

  • Send command to the group - each items received the command - the TRADFRI binding sends the commands to the gateway. Sometimes the gateway can’t handle this, and some bulbs do not change. That’s sadly a limitation in the gateway.
  • Send commands in a rule to every bulb, WITH a delay - higher chance that every bulb does what you want, but you have delays…

As the native group support is not ready yet, there is currently no other possibility, I think.

All good things come to those who wait … :slight_smile:

Have you tried using combined channel information in the items Definitions ??
I was using rules for tradfri and always had at least some small delays.

Now I use combined channel information and everything is fine. (OH2.4M7)

Look here

1 Like