msa
(Michael)
August 27, 2017, 4:11pm
1
Hi
I’d like to count number of lights, which are switched on in a group. The group consists out of switches and dimmer.
I look to something similar like
{{(itemsInGroup('gLightsLiving') | filter:{state:'ON'}).length}}
Code above would work for switch items but not for dimmer.
Any tip for me?
1 Like
jjones
(Jason Jones)
August 27, 2017, 4:46pm
2
A dimmer would be considered on when it is set to a value other than 0. You can use separate filters based on each item type and add the counts.
{{(itemsInGroup('gLightsLiving') | filter:{type:'Switch', state:'ON'}).length + (itemsInGroup('gLightsLiving') | filter:{type:'Dimmer', state:'!0'}).length}}
msa
(Michael)
August 27, 2017, 4:55pm
3
jjones:
A dimmer would be considered on when it is set to a value other than 0. You can use separate filters based on each item type and add the counts.
{{(itemsInGroup(‘gLightsLiving’) | filter:{type:‘Switch’, state:‘ON’}).length + (itemsInGroup(‘gLightsLiving’) | filter:{type:‘Dimmer’, state:‘!0’}).length}}
Cool stuff by having two filters. This solves my issue partly.
But the Dimmer Filter is only working, if the state dos not contain a “0”. I tried it out:
state = 25 is counted as “On”, but state 0, 10, 20, 30, 40, … , 90 ,100 is counted as “Off”, due to the fact, that the state is transformed in a string and filter is checking if no “0” is in… grrrr
jjones
(Jason Jones)
August 27, 2017, 5:41pm
4
That is an oversight on my part. The filter needs to be set to strict comparison. Please try this version.
{{(itemsInGroup('gLightsLiving') | filter:{type:'Switch', state:'ON'}).length + (itemsInGroup('gLightsLiving') | filter:{type:'Dimmer', state:'!0'}:true).length}}
4 Likes
msa
(Michael)
August 27, 2017, 5:54pm
5
Works great! Thanks a lot! You made my evening
SCa
(SCa)
September 24, 2020, 2:37am
6
I am interested in storing this same scenario in a variable on a rule. How can I accomplish this? I copied and pasted the solution post however got some errors, I did change my groups like this.
Group:Switch gL_LucesSwitches
Group:Dimmer gL_LucesDimmers
That helped me too. Thanks.
But what about color light…? I tried 0,0,0. But the lights only change the last part to 0.
Is it possible to write something like , ,0?
Greetings