Group string value in sitemap shows -

I can’t seem to get this done, and the docs are a bit vague about it.
This is my garadget.items

Group Garadget
Group UI

String name               "Garage Door [%s]"              <rollershutter> (Garadget,UI) { garadget="<[xxx#name]" }

// A Contact item supports open and closed, but a Garadget doorStatus_status can be: 
// closed, open, closing, opening, stopped
// (as documented here: https://github.com/Garadget/firmware#door-states-status)
String doorStatus_status  "Status [%s]"                      <garagedoor> (Garadget,UI) { garadget="<[xxx#doorStatus_status]" }

and this is my sitemap

Group item=Garadget label="Garage [%s]" icon="garagedoor"

But for some reason in basic ui its shows as
group_garadget
What am i doing wrong, or what’s missing?

Click on the “arrow” on your sitemap and you will see the 2 items in the Garaget group

That i know :stuck_out_tongue:
But why isn’t the label showing the [%s] part?

Because the group garaget doesn’t have a value

So, how do i set the value then?
Docs just say:
In addition, Item groups may be configured to hold a value, just as with normal items. Please refer to the documentation on Item groups for details.
Example:
Group item=gTemperature label="Room Temperatures [%.1f °C]"
Asumming gTemperature is a group.
So i tried Group:String Garadget "Garage [%s]"
But that didn’t work either.

You can set the value in a rule just like any other item.

On my phone but

rule "garaget" 
when
    Garage_Door_Status changed
then
    Garaget.postUpdate(Garage_DoorStatus.state.toString)
end

Thank you very much!

If you don’t care what Garage’s state is on the sitemap, then just remove the [%s] part of the label. Typically one only cares what the state of a Group is because it is an aggregation of all the members of the Group. This is a little harder in this situation and beware of sending a command or posting an update to a Group because the update or command will also be sent to all the Group’s members.

I’m not entirely sure what you are trying to accomplish but you could get something a little more meaningful with something like:

Text item=doorStatus_status label="Garage [%s]" {
    Frame {
        Text item=name
        Text item=doorStatus_status
    }
}

I forgot about that! Whoopsie

Yeah, basicly that, but i thought you could do it like that with a group too, but thats just numbers i guess?

You have to set an aggregation function to give the Group a state based on its members. But none of the aggregation functions really make sense for String Items. Depending on what the value of name is, you might be able to use MAX or MIN. But really, I think the Text/Frame solution above is probably the better approach over all.

Yeah, i guess so, thank you both.