I am looking for a way to display a summary of devices that are low on battery in a widget. Presently, I’m using a group, and when one or more devices are low on battery that group aggregate goes “ON” and changes the icon and color of the widget:
So far so good.
I wanted to provide the number of devices that are low on battery in the widget, and I can’t figure out how to use a filter and/or reduce it as a formula in the subtitle or footer property.
Do I need to use an item to hold the number of “battery low” devices or is there a way to create the formula directly in the widget?
There is a group aggregation function COUNT
Good pointe, I know there is, but as far as I know you can’t use that with a group of Switch items (battery low is ON or OFF). Futhermore in OH3, I can’t assign the COUNT aggregation on anything.
Counting switches is exactly the intended use of COUNT. You’d need a Number subtype Group to hold the count in its state, and it might seem alarming to have a Number type Group with Switch type members, but it is quite legitimate.
In the OH3 UI I can’t select the COUNT aggregation function on a group with a members basetype of numbers. In fact, none of the members basetypes allow me to select the COUNT aggregation function.
What am I doing wrong: I created a group with the member basetype of numbers and I see AVG, MAX, MIN and SUM, but no COUNT.
You’re not doing anything wrong, apart from not doing it by text. It’s a UI limitation at the moment.
Are there other ways of achiving a COUNT like function and or script…
umm, you have to look at the link @hmerk gave you. Click on it.
Ahhh… I didn’t see his comments, sorry!
Cool solution. How did you build the formular that displays the number of empties vs. fully-charged?
It is not my solution but it is all in the link. OP is using three groups, one for OFF and one for ON, the third is a sum of both :
This essentially adds two groups where one counts for empty and another count for good batteries.
A third group simply sums up the both which provides me the total number of batteries:
NumOfEmptyBatts + NumOfGoodBatts = TotalNumOfBatts
All BatteryLow-items belong to both count-groups - that’s it
I get the point about the groups and in the UI I can see the correct counts, but how do I get that reflected in a label cell in the Subtitle or Footer properties with the combined count? I see how I can use the state on the group to display the number of empties, but how do I combine the total with the empties in one of the above properties?
You can define the text like
footer: =gLowBat.state + „off“ + gBattetiesTotal.state + „batteries need to be changed“
Funny, I was expecting the formula to be much more complicated… Thanks a lot!
Hi Hans, I cant seem to get this to print the members of the group
footer: =gMiners.state + „OFF“ + gMiners.state + ' „Some text'“
I’m trying to print the state of the items in the group and their item name…
My fault, coy and paste error, should be
footer: ' =gMiners.state + "OFF" + gMiners.state + "Some text" '
But why would you print the same state twice ???
That doesnt work either Is there any clear documentation on how this is supposed to work?
What do you see and what do you expect to see ?
Dumb me, sorry, my fault again, needs to be
footer: =items.gMiners.state + "OFF" + items.gMiners.state + "Some text"
You can always check expressions with the developer tools