I had a working OH2 installation, then upgraded it to the latest.
Now the sitemap shows errors (does not load).
I’m confident that the syntax has become more restrictive but I cant for the life of me work it out.
can you see anything non-compliant with my code please?
when open in Smart Home Designer
DEFAULT.SITEMAP BELOW
sitemap default label="Savages Road"
//These switches are also used by RULEs. Rules are needed to allow arduino HMI to work correctly.
//Switch item=AllLightsSwitch icon="light" label="ALL LIGHTS [%d]" mappings=[OFF="All OFF",ON="All ON"]
//Switch item=AllKitchenLightsSwitch icon="light" label="KITCHEN [%d]" mappings=[OFF="All OFF",ON="All ON"]
{
Switch item=AllLightsSwitch icon="light" label="ALL LIGHTS"
Switch item=AllKitchenLightsSwitch icon="light" label="KITCHEN"
}
Group label="Kitchen"{
Switch item="KitchenLightSwitch1" icon="light" label="Kitchen Light 1"
Switch item="KitchenLightSwitch2" icon="light" label="Kitchen Light 2"
Switch item="KitchenLightSwitch3" icon="light" label="Kitchen Light 3"
}
Group label="Living Room"{
Switch item="LivingRoomLightSwitch1" icon="light" label="Living Room Light 1"
Switch item="PianoLightSwitch" icon="light" label="Piano"
}
Group label="Front Door"{
Switch item="FrontDoorInteriorLight1" icon="light" label="Front Door Interior Light 1"
Switch item="FrontDoorExteriorLight1" icon="light" label="Front Door Exterior Light 1"
Switch item="CraftTableLightSwitch" icon="light" label="Craft Table"
}
Group label="Pool"{
Switch item="PoolPumpSwitch1" icon="flow" label="Pool Pump"
}
DEFAULT.ITEMS BELOW
/* active groups */
Group:Switch:OR(ON, OFF) gAllLights "All Lights [(%d)]"
Group:Switch:OR(ON, OFF) gAllKitchenLights "All Kitchen Lights [(%d)]"
Switch TestLightSwitch1 "Test Light Switch 1"
{autoupdate="false" ,mqtt="
<[broker:myhome/test/light/switch/1/command:command:MAP(arduino.map)],
<[broker:myhome/test/light/switch/1/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard2/command:command:ON:A,1,1],
>[broker:myhome/switchboard/switchboard2/command:command:OFF:A,1,0],
<[broker:myhome/switchboard/switchboard2/shieldA/relay1/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard2/shieldA/relay1/state:state:MAP(switchboard.map)],"}
Switch TestLightSwitch2 "Test Light Switch 2"
{autoupdate="false" ,mqtt="
<[broker:myhome/test/light/switch/2/command:command:MAP(arduino.map)],
<[broker:myhome/test/light/switch/2/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard2/command:command:ON:A,2,1],
>[broker:myhome/switchboard/switchboard2/command:command:OFF:A,2,0],
<[broker:myhome/switchboard/switchboard2/shieldA/relay2/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard2/shieldA/relay2/state:state:MAP(switchboard.map)],"}
Switch KitchenLightSwitch1 "Kitchen 1" (gAllLights,gAllKitchenLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/kitchen/light/switch/row1/command:command:MAP(arduino.map)],
<[broker:myhome/kitchen/light/switch/row1/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,1,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,1,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay1/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay1/state:state:MAP(switchboard.map)],"}
Switch KitchenLightSwitch2 "Kitchen 2" (gAllLights,gAllKitchenLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/kitchen/light/switch/row2/command:command:MAP(arduino.map)],
<[broker:myhome/kitchen/light/switch/row2/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,2,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,2,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay2/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay2/state:state:MAP(switchboard.map)],"}
Switch KitchenLightSwitch3 "Kitchen 3" (gAllLights,gAllKitchenLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/kitchen/light/switch/row3/command:command:MAP(arduino.map)],
<[broker:myhome/kitchen/light/switch/row3/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,3,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,3,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay3/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay3/state:state:MAP(switchboard.map)],"}
Switch CraftTableLightSwitch "Craft Table" (gAllLights)
{mqtt="
<[broker:myhome/CraftTableLight/light/switch/command:command:MAP(arduino.map)],
<[broker:myhome/CraftTableLight/light/switch/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,4,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,4,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay4/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay4/state:state:MAP(switchboard.map)],"}
Switch PianoLightSwitch "Piano" (gAllLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/Piano/light/switch/command:command:MAP(arduino.map)],
<[broker:myhome/Piano/light/switch/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,5,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,5,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay5/state:state:MAP(switchboard.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay5/state:state:MAP(switchboard.map)],"}
Switch LivingRoomLightSwitch1 "Living Room Light 1" (gAllLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/livingroom/light/switch/tv/command:command:MAP(arduino.map)],
<[broker:myhome/livingroom/light/switch/tv/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,7,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,7,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay7/state:state:MAP(arduino.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay7/state:state:MAP(arduino.map)],"}
//Switch FrontDoorInteriorLight1 "Front Door Interior Light 1" (gAllLights)
Switch FrontDoorInteriorLight1 "Front Door Interior Light 1" (gAllLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/frontdoor/light/switch/interior/command:command:MAP(arduino.map)],
<[broker:myhome/frontdoor/light/switch/interior/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,6,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,6,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay6/state:state:MAP(arduino.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay6/state:state:MAP(arduino.map)],"}
//Switch FrontDoorExteriorLight1 "Front Door Exterior Light 1" (gAllLights)
Switch FrontDoorExteriorLight1 "Front Door Exterior Light 1" (gAllLights)
{autoupdate="false" ,mqtt="
<[broker:myhome/frontdoor/light/switch/exterior/command:command:MAP(arduino.map)],
<[broker:myhome/frontdoor/light/switch/exterior/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:B,1,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:B,1,0],
<[broker:myhome/switchboard/switchboard1/shieldB/relay1/state:state:MAP(arduino.map)],
<[broker:myhome/switchboard/switchboard1/shieldB/relay1/state:state:MAP(arduino.map)],"}
//Switch PoolPumpSwitch1 "Pool Pump" { autoupdate="false" }
Switch PoolPumpSwitch1 "Pool Pump"
{autoupdate="false" ,mqtt="
<[broker:myhome/pool/pump/switch/command:command:MAP(arduino.map)],
<[broker:myhome/pool/pump/switch/command:command:MAP(arduino.map)],
>[broker:myhome/switchboard/switchboard1/command:command:ON:A,8,1],
>[broker:myhome/switchboard/switchboard1/command:command:OFF:A,8,0],
<[broker:myhome/switchboard/switchboard1/shieldA/relay8/state:state:MAP(arduino.map)],
<[broker:myhome/switchboard/switchboard1/shieldA/relay8/state:state:MAP(arduino.map)],"}
// Dummy switch - Triggered by AllLights RULE
// When AllLights RULE exectues this switch so MQTT messages are received by arduinos to update HMI.
// When arduino sends command to toggle this switch, the RULL executes AllLights group switch.
Switch AllLightsSwitch "All Lights"
{autoupdate="false" ,mqtt="
<[broker:myhome/group/AllLights/switch/command:command:MAP(arduino.map)],
<[broker:myhome/group/AllLights/switch/command:command:MAP(arduino.map)],
>[broker:myhome/group/AllLights/switch/state:state:ON:1],
>[broker:myhome/group/AllLights/switch/state:state:OFF:0]"}
Switch AllKitchenLightsSwitch "All Kitchen Lights switch"
{autoupdate="false" ,mqtt="
<[broker:myhome/group/KitchenAllLights/switch/command:command:MAP(arduino.map)],
<[broker:myhome/group/KitchenAllLights/switch/command:command:MAP(arduino.map)],
>[broker:myhome/group/KitchenAllLights/switch/state:state:ON:1],
>[broker:myhome/group/KitchenAllLights/switch/state:state:OFF:0]"}
//Switch TestLight1 "test 1" (testswitch)
// {mqtt="
// <[broker:myhome/test/light/switch/command:command:MAP(arduino.map)],
// <[broker:myhome/test/light/switch/command:command:MAP(arduino.map)],
// >[broker:myhome/switchboard/switchboard2/command:command:ON:A,1,1],
// >[broker:myhome/switchboard/switchboard2/command:command:OFF:A,1,0],
// <[broker:myhome/switchboard/switchboard2/shieldA/relay1/state:state:MAP(switchboard.map)],
// <[broker:myhome/switchboard/switchboard2/shieldA/relay1/state:state:MAP(switchboard.map)],"}
```**strong text**