Thanks for the reply. I implemented this as below, and it’s correctly outputting true/false depending on the 3 states.
My issue now, is that it’s not triggering sleep mode based on the true/false output from the switch. My flow export is below. Am I doing something wrong with the logic?
[{"id":"216685ea.a3fe1a","type":"tab","label":"Sleep Mode","disabled":false,"info":""},{"id":"f724c4c0.4872c","type":"api-call-service","z":"216685ea.a3fe1a","name":"Turn On Sleep Mode","server":"8ffc691d.25e1f8","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_on","entityId":"input_boolean.sleep_mode","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":840,"y":260,"wires":[[]]},{"id":"6d8898f5.672e5","type":"api-call-service","z":"216685ea.a3fe1a","name":"Turn Off Sleep Mode","server":"8ffc691d.25e1f8","version":1,"debugenabled":false,"service_domain":"input_boolean","service":"turn_off","entityId":"input_boolean.sleep_mode","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":840,"y":320,"wires":[[]]},{"id":"cc5656d0.ddb55","type":"server-state-changed","z":"216685ea.a3fe1a","name":"Occupied mode on","server":"8ffc691d.25e1f8","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.occupied_mode","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":130,"y":220,"wires":[["53d0b7f1.f97a5"],["557a8ab.a60adf4"]]},{"id":"955434f4.0d808","type":"server-state-changed","z":"216685ea.a3fe1a","name":"Night Mode on","server":"8ffc691d.25e1f8","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.night_mode","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":140,"y":300,"wires":[["85f83077.f58898"],["59ba28d7.16fb9"]]},{"id":"19175da4.bc7d0a","type":"server-state-changed","z":"216685ea.a3fe1a","name":"Armed Mode on","server":"8ffc691d.25e1f8","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_boolean.armed_mode","entityidfiltertype":"exact","outputinitially":true,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"x":140,"y":380,"wires":[["5b889e01.ed3af8"],["15e8d6be.dd1629"]]},{"id":"85f83077.f58898","type":"change","z":"216685ea.a3fe1a","name":"True","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"topic","pt":"msg","to":"night","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":280,"wires":[["808b4dfe.b02aa8"]]},{"id":"53d0b7f1.f97a5","type":"change","z":"216685ea.a3fe1a","name":"True","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"topic","pt":"msg","to":"occupied","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":200,"wires":[["808b4dfe.b02aa8"]]},{"id":"5b889e01.ed3af8","type":"change","z":"216685ea.a3fe1a","name":"True","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"},{"t":"set","p":"topic","pt":"msg","to":"armed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":360,"wires":[["808b4dfe.b02aa8"]]},{"id":"557a8ab.a60adf4","type":"change","z":"216685ea.a3fe1a","name":"False","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"},{"t":"set","p":"topic","pt":"msg","to":"occupied","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":240,"wires":[["808b4dfe.b02aa8"]]},{"id":"59ba28d7.16fb9","type":"change","z":"216685ea.a3fe1a","name":"False","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"},{"t":"set","p":"topic","pt":"msg","to":"night","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":320,"wires":[["808b4dfe.b02aa8"]]},{"id":"15e8d6be.dd1629","type":"change","z":"216685ea.a3fe1a","name":"False","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"},{"t":"set","p":"topic","pt":"msg","to":"armed","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":400,"wires":[["808b4dfe.b02aa8"]]},{"id":"960a7b7a.5dfb98","type":"debug","z":"216685ea.a3fe1a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":690,"y":200,"wires":[]},{"id":"808b4dfe.b02aa8","type":"BooleanLogicUltimate","z":"216685ea.a3fe1a","name":"","filtertrue":"both","persist":true,"sInitializeWith":"WaitForPayload","triggertopic":"trigger","outputtriggeredby":"all","inputCount":"3","topic":"result","x":480,"y":300,"wires":[["ee1dfa3e.e2ed58","960a7b7a.5dfb98"],[],[]]},{"id":"ee1dfa3e.e2ed58","type":"switch","z":"216685ea.a3fe1a","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"true","vt":"str"},{"t":"eq","v":"false","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":650,"y":300,"wires":[["f724c4c0.4872c"],["6d8898f5.672e5"]]},{"id":"8ffc691d.25e1f8","type":"server","z":"","name":"Home Assistant","addon":true}]
EDIT: Got it working! The switch needs to read direct True/False, not a string.