I was afraid of that. So, basically, I need to flatten out my ontology and duplicate that information. I was really hoping we could use relations to build a group on the fly. Going with groups, or tags, I would need an extra piece of information for each level.
In my locations groups below, it would be nice to be able to pull out Gf_H, and all decedents, and whatever shows up as a light in that group, to turn it on.
a subset of my lights:
Group Gf_F_FourierLight "Fourier Lights" <light> (Gf_F_Fourier) ["Lightbulb"]
Dimmer LightFourierInner "Fourier inner cans" <light> (Gf_F_FourierLight) ["Setpoint", "Light"] {channel="zwave:device:e8358de4:node11:switch_dimmer", autoupdate="true"}
Dimmer LightFourierOuter "Fourier outer cans" <light> (Gf_F_FourierLight) ["Setpoint", "Light"] {channel="zwave:device:e8358de4:node10:switch_dimmer", autoupdate="true"}
my locations:
Group Gf "Ground Floor" <groundfloor> ["GroundFloor"]
Group Gf_F "Front Area" <groundfloor> (Gf) ["GroundFloor"]
Group Gf_F_Fourier "Fourier" <groundfloor> (Gf_F) ["Entry"]
Group Gf_F_Vestibule "Vestibule" <groundfloor> (Gf_F) ["Room"]
Group Gf_F_MenBR "Front Mens BR" <groundfloor> (Gf_F) ["Bathroom"]
Group Gf_F_WomenBR "Front Womens BR" <groundfloor> (Gf_F) ["Bathroom"]
Group Gf_H "Hall" <groundfloor> (Gf) ["GroundFloor"]
Group Gf_H_Stage "Stage" <groundfloor> (Gf_H) ["Room"]
Group Gf_H_DanceFloor "DanceFloor" <groundfloor> (Gf_H) ["Room"]
Group Gf_H_NWing "North Wing" <groundfloor> (Gf_H) ["Room"]
Group Gf_H_SWing "South Wing" <groundfloor> (Gf_H) ["Room"]
Group Gf_H_MenBR "Hall Mens BR" <groundfloor> (Gf_H) ["Bathroom"]
Group Gf_H_WomenBR "Hall Womens BR" <groundfloor> (Gf_H) ["Bathroom"]
Group Gf_H_Bar "Hall Bar" <groundfloor> (Gf_H) ["Room"]
Group Gf_B "Back Area" <groundfloor> (Gf) ["GroundFloor"]
Group Gf_B_Concourse "Concourse" <groundfloor> (Gf_B) ["Room"]
Group Gf_B_A "Alley" <groundfloor> (Gf_B) ["Room"]
Group Gf_B_A_Consoles "Consoles" <groundfloor> (Gf_B_A) ["Room"]
Group Gf_B_A_Lanes "Lanes" <groundfloor> (Gf_B_A) ["Room"]
Group Gf_B_A_Mechanical "Mechanical" <groundfloor> (Gf_B_A) ["Room"]
Group Gf_B_Kitchen "Kitchen" <groundfloor> (Gf_B) ["Kitchen"]
Group Gf_B_Locker "Locker" <groundfloor> (Gf_B) ["Room"]
Group Gf_B_MenBR "Concourse Mens BR" <groundfloor> (Gf_B) ["Bathroom"]
Group Gf_B_WomenBR "Concourse Womens BR" <groundfloor> (Gf_B) ["Bathroom"]
Group Gf_B_ElevatorRoom "ElevatorRoom" <groundfloor> (Gf_B) ["Room"]
Group Gf_B_MainStairs "MainStairs" <groundfloor> (Gf_B) ["Corridor"]
Group Gf_B_StairsToAlley "StairsToAlley" <groundfloor> (Gf_B) ["Corridor"]
Group Gf_B_StairsToBasement "StairsToBasement" <groundfloor> (Gf_B) ["Corridor"]
Group Gf_B_StairsToChoir "StairsToChoir" <groundfloor> (Gf_B) ["Corridor"]
Group Gf_B_Janitor "Concourse Janitor" <groundfloor> (Gf_B) ["Room"]
Group Sf "Second Floor" <firstfloor> ["SecondFloor"]
Group Sf_Patio "Patio" <firstfloor> (Sf) ["Patio"]
Group Sf_Choir "Choir" <firstfloor> (Sf) ["Room"]
Group Sf_Kitchen "Choir Kitchen" <firstfloor> (Sf) ["Kitchen"]
Group Sf_Janitor "Choir Janitor" <firstfloor> (Sf) ["Room"]
Group Sf_Vorstand "Vorstand" <firstfloor> (Sf) ["Room"]
Group Sf_MenBR "Choir Mens BR" <firstfloor> (Sf) ["Bathroom"]
Group Sf_womenBR "Choir Womens BR" <firstfloor> (Sf) ["Bathroom"]
Group Bf "Basement" <cellar> ["Basement"]
Group Bf_Storage "Basement Storage" <cellar> (Bf) ["Cellar"]
Group Bf_office "Basement Office" <cellar> (Bf) ["Office"]
Group Bf_unfinished "Basement unfinished" <cellar> (Bf) ["Cellar"]