Tie two Lutron Caseta switches logically together

I’m not really sold on the Caseta solution. I had Insteon before and was able to tie switches together to act as a 3-way without wiring them together. I have the same situation in my new house but since Insteon looks like its going out of business I need to choose a new product. I believe I can solve this issue with HA using Node-Red. I would prefer something that doesn’t rely on a raspberry pi to work but I’ll take what I can get.

The scenario: I have two Caseta light switches. One controls half of the living room lights, the other controls the other half. I would like to tie them together so whatever happens on one happens on the other. On/Off/Dimming. I created a simple flow but realized it isn’t going to work for dimming. Any help would be appreciated.

Hi,

I have such kind of setup with nodered (dimming ZWave device wich control brightness of some Zigbee lights)

  • Create a node events: state with one of your switches as entity to “monitor”
  • Link it to a call service node and use light.turn_on to the other switch with data : {"brightness":"{{data.new_state.attributes.brightness}}"}
    This will change the brightness of the second light to the same brightness of the first one.

You can for sure do it in the other way to get a “full sync thing”

PS : This assumes that your entities are lights with a brightness attribute !

Edit : adding screenshots.

Edit 2 : That nickname sends me back in time lol, welcome onboard :slight_smile:

Thanks @SNoof85. I’ll give this a try. I’m doing something similar with some sonoff stuff but when I tried here I got some weird stuff. See the screen shot but when I turn on one of the switches it turns on the other but then creates a state change and goes in an infinite loop.

Kinda makes sense that you end in an infinite loop. You could probably get rid of it on the events: states node whith the option Ignore state change event when: Current state equals previous state.

image

I think that you would need to temporarily halt the trigger of the opposite switch. I also think you need to have a separate flow for on/off and brightness. See if this will work for you.

[{"id":"cd8170d948c6d6eb","type":"server-state-changed","z":"f80b6c338afd5483","name":"switch 1","server":"","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.entrance","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"$number($entity().attributes.brightness)","valueType":"jsonata"}],"x":280,"y":4380,"wires":[["59d4cf77e1df147b"]]},{"id":"59d4cf77e1df147b","type":"traffic","z":"f80b6c338afd5483","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"stop","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":810,"y":4380,"wires":[["e86abd00d257d5e1","5c21cd7ba44bbc9a"]]},{"id":"816f9c11253127b9","type":"traffic","z":"f80b6c338afd5483","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"stop","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":810,"y":4580,"wires":[["724d15f45999dd4c","0d8355e0eeecf50a"]]},{"id":"e86abd00d257d5e1","type":"trigger","z":"f80b6c338afd5483","name":"","op1":"stop","op2":"allow","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":4460,"wires":[["816f9c11253127b9"]]},{"id":"724d15f45999dd4c","type":"trigger","z":"f80b6c338afd5483","name":"","op1":"stop","op2":"allow","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":4520,"wires":[["59d4cf77e1df147b"]]},{"id":"5c21cd7ba44bbc9a","type":"api-call-service","z":"f80b6c338afd5483","name":"switch 2","server":"","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lefty"],"data":"{\"brightness\" : \"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1040,"y":4380,"wires":[[]]},{"id":"2dd60249da23c5fd","type":"server-state-changed","z":"f80b6c338afd5483","name":"switch 2","server":"","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.entrance","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"$number($entity().attributes.brightness)","valueType":"jsonata"}],"x":280,"y":4580,"wires":[["816f9c11253127b9"]]},{"id":"0d8355e0eeecf50a","type":"api-call-service","z":"f80b6c338afd5483","name":"switch 1","server":"","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lefty"],"data":"{\"brightness\" : \"{{payload}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1040,"y":4580,"wires":[[]]},{"id":"81f2371a5d5e044d","type":"server-state-changed","z":"f80b6c338afd5483","name":"switch 1","server":"","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.entrance","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"$number($entity().attributes.brightness)","valueType":"jsonata"}],"x":280,"y":4720,"wires":[["bf1b140e990e1665"],["bf1b140e990e1665"]]},{"id":"bf1b140e990e1665","type":"traffic","z":"f80b6c338afd5483","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"stop","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":810,"y":4720,"wires":[["60997de069d272c0","46662b116688aba4"]]},{"id":"8b1713065d49516c","type":"traffic","z":"f80b6c338afd5483","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"stop","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":810,"y":4920,"wires":[["9415d94c1cacc672","580c7103296d0771"]]},{"id":"60997de069d272c0","type":"trigger","z":"f80b6c338afd5483","name":"","op1":"stop","op2":"allow","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":4800,"wires":[["8b1713065d49516c"]]},{"id":"9415d94c1cacc672","type":"trigger","z":"f80b6c338afd5483","name":"","op1":"stop","op2":"allow","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":4860,"wires":[["bf1b140e990e1665"]]},{"id":"46662b116688aba4","type":"api-call-service","z":"f80b6c338afd5483","name":"toggle switch 2","server":"","version":5,"debugenabled":false,"domain":"light","service":"toggle","areaId":[],"deviceId":[],"entityId":["light.lefty"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1060,"y":4720,"wires":[[]]},{"id":"8df3f29a6b9d7b50","type":"server-state-changed","z":"f80b6c338afd5483","name":"switch 2","server":"","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.entrance","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"on","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"$number($entity().attributes.brightness)","valueType":"jsonata"}],"x":280,"y":4920,"wires":[["8b1713065d49516c"],["8b1713065d49516c"]]},{"id":"580c7103296d0771","type":"api-call-service","z":"f80b6c338afd5483","name":"toggle switch 1","server":"","version":5,"debugenabled":false,"domain":"light","service":"toggle","areaId":[],"deviceId":[],"entityId":["light.lefty"],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1060,"y":4920,"wires":[[]]}]

Edit: I don’t think the brightness in the above will work well, this is probably better

[{"id":"59d4cf77e1df147b","type":"traffic","z":"f80b6c338afd5483","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"stop","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":810,"y":4380,"wires":[["e86abd00d257d5e1","5c21cd7ba44bbc9a"]]},{"id":"816f9c11253127b9","type":"traffic","z":"f80b6c338afd5483","name":"","property_allow":"payload","filter_allow":"allow","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"stop","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":810,"y":4580,"wires":[["724d15f45999dd4c","0d8355e0eeecf50a"]]},{"id":"e86abd00d257d5e1","type":"trigger","z":"f80b6c338afd5483","name":"","op1":"stop","op2":"allow","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":4460,"wires":[["816f9c11253127b9"]]},{"id":"724d15f45999dd4c","type":"trigger","z":"f80b6c338afd5483","name":"","op1":"stop","op2":"allow","op1type":"str","op2type":"str","duration":"1","extend":false,"overrideDelay":false,"units":"s","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":560,"y":4520,"wires":[["59d4cf77e1df147b"]]},{"id":"5c21cd7ba44bbc9a","type":"api-call-service","z":"f80b6c338afd5483","name":"switch 2","server":"","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lefty"],"data":"{\"brightness\" : \"{{data.new_state.attributes.brightness}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1040,"y":4380,"wires":[[]]},{"id":"0d8355e0eeecf50a","type":"api-call-service","z":"f80b6c338afd5483","name":"switch 1","server":"","version":5,"debugenabled":false,"domain":"light","service":"turn_on","areaId":[],"deviceId":[],"entityId":["light.lefty"],"data":"{\"brightness\" : \"{{data.new_state.attributes.brightness}}\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1040,"y":4580,"wires":[[]]},{"id":"a45fdc2ae270eef7","type":"trigger-state","z":"f80b6c338afd5483","name":"","server":"","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityid":"light.lefty","entityidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","propertyType":"property","propertyValue":"new_state.attributes.brightness","comparatorType":"is_not","comparatorValueDatatype":"entity","comparatorValue":"old_state.attributes.brightness"}],"inputs":0,"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"str","enableInput":false,"x":260,"y":4380,"wires":[["59d4cf77e1df147b"],[]]},{"id":"fe29acd78c621d8c","type":"trigger-state","z":"f80b6c338afd5483","name":"","server":"","version":2,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityid":"light.lefty","entityidfiltertype":"exact","debugenabled":false,"constraints":[{"targetType":"this_entity","targetValue":"","propertyType":"property","propertyValue":"new_state.attributes.brightness","comparatorType":"is_not","comparatorValueDatatype":"entity","comparatorValue":"old_state.attributes.brightness"}],"inputs":0,"outputs":2,"customoutputs":[],"outputinitially":false,"state_type":"str","enableInput":false,"x":260,"y":4580,"wires":[["816f9c11253127b9"],[]]}]

You might need a conditional check.

If your devices only have light data as its attributes, then it will work, because once you have set one set of lights, then the other sets will be activated in your flow and when they are set, then the first set will not change its attributes and the flow will stop.

If your devices have extra data in the attributes, like a timestamp for last update, then that will change with every command you fire at it even though all the other attributes about the light settings are the same and that will then trigger the other device update and it will keep going.

If your devices are of the last kind, then you need to make the conditional check yourself.
So before the switch node pull first the entity data from east and store it in like msg.east and then pull the entity data from west and store it in msg.west and finally make a compare node so when the data are the same, then let the flow go no further.

Here is an example of a double conditional check on payload and brightness.

[{"id":"0fa5b5566ae28af5","type":"server-state-changed","z":"cdc76bc692859217","name":"trigger on west","server":"541ade28.b4a62","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"media_player.snapcast_group_3fb5ee37_aa0c_0101_e33b_24fac36e0bd1","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":185,"y":435,"wires":[["d48ad60dd2c6b07e"]]},{"id":"0efc553d865291f5","type":"server-state-changed","z":"cdc76bc692859217","name":"trigger on east","server":"541ade28.b4a62","version":4,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"media_player.snapcast_group_3fb5ee37_aa0c_0101_e33b_24fac36e0bd1","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":"0","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"eventData"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"x":175,"y":375,"wires":[["d48ad60dd2c6b07e"]]},{"id":"d48ad60dd2c6b07e","type":"api-current-state","z":"cdc76bc692859217","name":"pull east ","server":"541ade28.b4a62","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":405,"y":375,"wires":[["9165af4472652590"]]},{"id":"9165af4472652590","type":"change","z":"cdc76bc692859217","name":"move east brightness","rules":[{"t":"move","p":"payload","pt":"msg","to":"east_payload","tot":"msg"},{"t":"move","p":"brightness","pt":"msg","to":"east_brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":595,"y":375,"wires":[["795639f7c06e6d15"]]},{"id":"795639f7c06e6d15","type":"api-current-state","z":"cdc76bc692859217","name":"pull west","server":"541ade28.b4a62","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":405,"y":435,"wires":[["e4b297db99551786"]]},{"id":"e4b297db99551786","type":"change","z":"cdc76bc692859217","name":"move west brightness","rules":[{"t":"move","p":"payload","pt":"msg","to":"west_payload","tot":"msg"},{"t":"move","p":"brightness","pt":"msg","to":"west_brightness","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":595,"y":435,"wires":[["1c2f1b051a320741"]]},{"id":"1c2f1b051a320741","type":"switch","z":"cdc76bc692859217","name":"compare payload (probably state of on/off)","property":"east_payload","propertyType":"msg","rules":[{"t":"neq","v":"west_payload","vt":"msg"},{"t":"eq","v":"west_payload","vt":"msg"}],"checkall":"true","repair":false,"outputs":2,"x":955,"y":375,"wires":[["b89dd90e8dc4dea9"],["724812b35422233a"]]},{"id":"b89dd90e8dc4dea9","type":"switch","z":"cdc76bc692859217","name":"switch from original flow","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1360,"y":420,"wires":[[]]},{"id":"724812b35422233a","type":"switch","z":"cdc76bc692859217","name":"compare brightness","property":"east_brightness","propertyType":"msg","rules":[{"t":"neq","v":"west_brightness","vt":"msg"},{"t":"eq","v":"west_brightness","vt":"msg"}],"checkall":"true","repair":false,"outputs":2,"x":885,"y":435,"wires":[["b89dd90e8dc4dea9"],[]]},{"id":"541ade28.b4a62","type":"server","name":"Home Assistant","version":2,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"","connectionDelay":false,"cacheJson":false,"heartbeat":false,"heartbeatInterval":""}]

Thanks for the suggestions. I am going to tinker with these and see what happens. I really wish you could just do this natively with the product like I did with my Insteon setup.

Well as expected I can’t get it working. Here is what I have so far. Basically only the east will control the lights but they do synchronize. Testing the lights sometimes take several seconds to sync. Any help would be greatly appreciated. I have a feeling a lot of my issues are how messy this is.

[{"id":"d48ad60dd2c6b07e","type":"api-current-state","z":"31fcc95b.d94566","name":"pull east ","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_east_lights","state_type":"str","state_location":"east_payload","override_payload":"msg","entity_location":"east_data","override_data":"msg","blockInputOverrides":false,"x":542.9999961853027,"y":792.0000219345093,"wires":[["4d1af654.d59298","ed0bbb0.c5d1448"]]},{"id":"795639f7c06e6d15","type":"api-current-state","z":"31fcc95b.d94566","name":"pull west","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_west_lights","state_type":"str","state_location":"west_payload","override_payload":"msg","entity_location":"west_data","override_data":"msg","blockInputOverrides":false,"x":542.9999961853027,"y":852.0000219345093,"wires":[["b52195c6.3f58a8","f7b8c4a9.5dcd38"]]},{"id":"724812b35422233a","type":"switch","z":"31fcc95b.d94566","name":"compare brightness","property":"east_brightness","propertyType":"msg","rules":[{"t":"neq","v":"west_brightness","vt":"msg"},{"t":"eq","v":"west_brightness","vt":"msg"}],"checkall":"true","repair":false,"outputs":2,"x":990,"y":800,"wires":[["fe452215.1d42b","faa68899.256868"],[]]},{"id":"17e925ba.3a950a","type":"server-state-changed","z":"31fcc95b.d94566","name":"East_Light_State","server":"5d58f757.de5418","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.living_room_east_lights","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":322.99999618530273,"y":792.0000219345093,"wires":[["d48ad60dd2c6b07e","795639f7c06e6d15"]]},{"id":"9fae602a.01857","type":"api-call-service","z":"31fcc95b.d94566","name":"West_lights_on","server":"5d58f757.de5418","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.living_room_west_lights","data":"{\"brightness\": {{east_brightness}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1500,"y":860,"wires":[[]]},{"id":"8a7bec9b.7b46a","type":"server-state-changed","z":"31fcc95b.d94566","name":"West_Light_State","server":"5d58f757.de5418","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.living_room_west_lights","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":322.99999618530273,"y":852.0000219345093,"wires":[["795639f7c06e6d15","d48ad60dd2c6b07e"]]},{"id":"2ea5633d.6755ac","type":"api-call-service","z":"31fcc95b.d94566","name":"East_lights_on","server":"5d58f757.de5418","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.living_room_east_lights","data":"{\"brightness\": {{west_brightness}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1500,"y":800,"wires":[[]]},{"id":"27c37868.bcb2b8","type":"debug","z":"31fcc95b.d94566","name":"East Switch","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1430,"y":700,"wires":[]},{"id":"54ace19.545922","type":"server-events","z":"31fcc95b.d94566","name":"","server":"5d58f757.de5418","event_type":"","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"x":654.0001106262207,"y":1035.6667156219482,"wires":[[]]},{"id":"4d1af654.d59298","type":"debug","z":"31fcc95b.d94566","name":"pull east msg","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":622.9999961853027,"y":692.0000219345093,"wires":[]},{"id":"b52195c6.3f58a8","type":"debug","z":"31fcc95b.d94566","name":"pull west msg","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":662.9999961853027,"y":952.0000219345093,"wires":[]},{"id":"88abc2a7.fcd8d","type":"debug","z":"31fcc95b.d94566","name":"West Switch","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1430,"y":960,"wires":[]},{"id":"fe452215.1d42b","type":"switch","z":"31fcc95b.d94566","name":"compare changed","property":"east_changed","propertyType":"msg","rules":[{"t":"gt","v":"west_changed","vt":"str"},{"t":"lt","v":"west_changed","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1230,"y":820,"wires":[["27c37868.bcb2b8","2ea5633d.6755ac"],["88abc2a7.fcd8d","9fae602a.01857"]]},{"id":"faa68899.256868","type":"debug","z":"31fcc95b.d94566","name":"compare brightness","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1200,"y":720,"wires":[]},{"id":"ed0bbb0.c5d1448","type":"change","z":"31fcc95b.d94566","name":"east change data","rules":[{"t":"move","p":"east_data.attributes.brightness","pt":"msg","to":"east_brightness","tot":"msg"},{"t":"move","p":"east_data.last_changed","pt":"msg","to":"east_changed","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":760,"wires":[["724812b35422233a","360fe086.6ed0c"]]},{"id":"f7b8c4a9.5dcd38","type":"change","z":"31fcc95b.d94566","name":"west change data","rules":[{"t":"move","p":"west_data.attributes.brightness","pt":"msg","to":"west_brightness","tot":"msg"},{"t":"move","p":"west_data.last_changed","pt":"msg","to":"west_changed","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":860,"wires":[["724812b35422233a","360fe086.6ed0c"]]},{"id":"360fe086.6ed0c","type":"debug","z":"31fcc95b.d94566","name":"change data","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1000,"y":680,"wires":[]},{"id":"5d58f757.de5418","type":"server","name":"Home Assistant","addon":true}][{"id":"d48ad60dd2c6b07e","type":"api-current-state","z":"31fcc95b.d94566","name":"pull east ","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_east_lights","state_type":"str","state_location":"east_payload","override_payload":"msg","entity_location":"east_data","override_data":"msg","blockInputOverrides":false,"x":542.9999961853027,"y":792.0000219345093,"wires":[["4d1af654.d59298","ed0bbb0.c5d1448"]]},{"id":"795639f7c06e6d15","type":"api-current-state","z":"31fcc95b.d94566","name":"pull west","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_west_lights","state_type":"str","state_location":"west_payload","override_payload":"msg","entity_location":"west_data","override_data":"msg","blockInputOverrides":false,"x":542.9999961853027,"y":852.0000219345093,"wires":[["b52195c6.3f58a8","f7b8c4a9.5dcd38"]]},{"id":"724812b35422233a","type":"switch","z":"31fcc95b.d94566","name":"compare brightness","property":"east_brightness","propertyType":"msg","rules":[{"t":"neq","v":"west_brightness","vt":"msg"},{"t":"eq","v":"west_brightness","vt":"msg"}],"checkall":"true","repair":false,"outputs":2,"x":990,"y":800,"wires":[["fe452215.1d42b","faa68899.256868"],[]]},{"id":"17e925ba.3a950a","type":"server-state-changed","z":"31fcc95b.d94566","name":"East_Light_State","server":"5d58f757.de5418","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.living_room_east_lights","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":322.99999618530273,"y":792.0000219345093,"wires":[["d48ad60dd2c6b07e","795639f7c06e6d15"]]},{"id":"9fae602a.01857","type":"api-call-service","z":"31fcc95b.d94566","name":"West_lights_on","server":"5d58f757.de5418","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.living_room_west_lights","data":"{\"brightness\": {{east_brightness}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1500,"y":860,"wires":[[]]},{"id":"8a7bec9b.7b46a","type":"server-state-changed","z":"31fcc95b.d94566","name":"West_Light_State","server":"5d58f757.de5418","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.living_room_west_lights","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":322.99999618530273,"y":852.0000219345093,"wires":[["795639f7c06e6d15","d48ad60dd2c6b07e"]]},{"id":"2ea5633d.6755ac","type":"api-call-service","z":"31fcc95b.d94566","name":"East_lights_on","server":"5d58f757.de5418","version":1,"debugenabled":false,"service_domain":"light","service":"turn_on","entityId":"light.living_room_east_lights","data":"{\"brightness\": {{west_brightness}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1500,"y":800,"wires":[[]]},{"id":"27c37868.bcb2b8","type":"debug","z":"31fcc95b.d94566","name":"East Switch","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1430,"y":700,"wires":[]},{"id":"54ace19.545922","type":"server-events","z":"31fcc95b.d94566","name":"","server":"5d58f757.de5418","event_type":"","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"waitForRunning":true,"x":654.0001106262207,"y":1035.6667156219482,"wires":[[]]},{"id":"4d1af654.d59298","type":"debug","z":"31fcc95b.d94566","name":"pull east msg","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":622.9999961853027,"y":692.0000219345093,"wires":[]},{"id":"b52195c6.3f58a8","type":"debug","z":"31fcc95b.d94566","name":"pull west msg","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":662.9999961853027,"y":952.0000219345093,"wires":[]},{"id":"88abc2a7.fcd8d","type":"debug","z":"31fcc95b.d94566","name":"West Switch","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1430,"y":960,"wires":[]},{"id":"fe452215.1d42b","type":"switch","z":"31fcc95b.d94566","name":"compare changed","property":"east_changed","propertyType":"msg","rules":[{"t":"gt","v":"west_changed","vt":"str"},{"t":"lt","v":"west_changed","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1230,"y":820,"wires":[["27c37868.bcb2b8","2ea5633d.6755ac"],["88abc2a7.fcd8d","9fae602a.01857"]]},{"id":"faa68899.256868","type":"debug","z":"31fcc95b.d94566","name":"compare brightness","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1200,"y":720,"wires":[]},{"id":"ed0bbb0.c5d1448","type":"change","z":"31fcc95b.d94566","name":"east change data","rules":[{"t":"move","p":"east_data.attributes.brightness","pt":"msg","to":"east_brightness","tot":"msg"},{"t":"move","p":"east_data.last_changed","pt":"msg","to":"east_changed","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":760,"wires":[["724812b35422233a","360fe086.6ed0c"]]},{"id":"f7b8c4a9.5dcd38","type":"change","z":"31fcc95b.d94566","name":"west change data","rules":[{"t":"move","p":"west_data.attributes.brightness","pt":"msg","to":"west_brightness","tot":"msg"},{"t":"move","p":"west_data.last_changed","pt":"msg","to":"west_changed","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":750,"y":860,"wires":[["724812b35422233a","360fe086.6ed0c"]]},{"id":"360fe086.6ed0c","type":"debug","z":"31fcc95b.d94566","name":"change data","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1000,"y":680,"wires":[]},{"id":"5d58f757.de5418","type":"server","name":"Home Assistant","addon":true}]

Here is the layout.

I will have a look at it when I get back from work in like 12 hours or so, but the nodes with yellow text indicate nodes that need to be updated, because the schema has changed.
That means the format internally in NR have changed and they now do not follow the standard of NR anymore, so the end result might not be the expected one.
Updating the nodes can often be done by clicking an “updating schema” button in the top of NR, which will update all nodes in all flows.
Alternatively it can be done manually also by opening all nodes with yellow text and then saving it again.
Remember to deploy flows after the updating is done.

And I guess you have a misunderstanding of splitting and combining flows too.
If a node have more output lines, then it will send the same info through each of the output lines.
If a node have multiple input flows, then it will get data input from each of the input lines, but not at the same time. Each input line will be handled separately, so in your flow here the compare brightness node will first see the top or the bottom line input, then handle that a send it forward, then it will get the other the data from the other input line and handle that and send it forward.

If you want to use data from both lines in, then you need to use a combine node, but this node can be a two-edgded sword. It might combine your two input lines correctly, but if for some reason only one line sends data, then it might just hold that data and wait for the next data and it does not care which line it comes on. There are ways to handle this, but you need to have a good understanding of all the possible combinations of data flowing through the lines.

Thanks for the reply. You are right, I do not have a great understanding of most of these “nodes”. I believe I am beginning to understand a bit better though. It sounds like timing is very important in NR and I need to shift my mindset if I want to get this to work well. I will take another crack at this knowing the information you provided. Thanks again.

Well I seem to have got it to work. I basically just split it up into two flows. One for the east switch and one for the west switch. The issue now appears to be the response time. I’m not sure if I can do anything about that. if I make the adjustment from an API like my phone of Alexa then its pretty instant. If I do it from the switch itself it takes from .5 second to 3 seconds. I’m not really happy with that. Any ideas?

[{"id":"17e925ba.3a950a","type":"server-state-changed","z":"31fcc95b.d94566","name":"West_Light_State","server":"5d58f757.de5418","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.living_room_west_lights","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":200,"y":500,"wires":[["512c98e2.023118","136c8d52.e957f3"]]},{"id":"512c98e2.023118","type":"debug","z":"31fcc95b.d94566","name":"west light raw output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":480,"y":340,"wires":[]},{"id":"63e81f71.8ba18","type":"api-current-state","z":"31fcc95b.d94566","name":"pull west","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_west_lights","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":660,"y":500,"wires":[["6fab9810.4063d8","a351d89.008b928"]]},{"id":"a351d89.008b928","type":"api-call-service","z":"31fcc95b.d94566","name":"East_lights_on","server":"5d58f757.de5418","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.living_room_east_lights","data":"{\"brightness\": {{data.attributes.brightness}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":900,"y":500,"wires":[["5e0b8ba1.5fc464"]]},{"id":"136c8d52.e957f3","type":"switch","z":"31fcc95b.d94566","name":"On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":500,"wires":[["63e81f71.8ba18"],["44954cfa.7b32c4"]]},{"id":"5e0b8ba1.5fc464","type":"debug","z":"31fcc95b.d94566","name":"East Switch","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1210,"y":480,"wires":[]},{"id":"6fab9810.4063d8","type":"debug","z":"31fcc95b.d94566","name":"west pull data","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":820,"y":380,"wires":[]},{"id":"22ee2b48.21c6b4","type":"server-state-changed","z":"31fcc95b.d94566","name":"East_Light_State","server":"5d58f757.de5418","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"light.living_room_east_lights","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":false,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":180,"y":840,"wires":[["cbe9f57.ee8a308","865ea86a.369558"]]},{"id":"cbe9f57.ee8a308","type":"debug","z":"31fcc95b.d94566","name":"east light raw output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":460,"y":680,"wires":[]},{"id":"124a4079.237c4","type":"api-current-state","z":"31fcc95b.d94566","name":"pull east ","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_east_lights","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":620,"y":840,"wires":[["288518d2.cb91c8","a0cacb7c.db6b88"]]},{"id":"a0cacb7c.db6b88","type":"api-call-service","z":"31fcc95b.d94566","name":"West_lights_on","server":"5d58f757.de5418","version":1,"debugenabled":true,"service_domain":"light","service":"turn_on","entityId":"light.living_room_west_lights","data":"{\"brightness\": {{data.attributes.brightness}}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":880,"y":840,"wires":[["c6219bc1.a5b5d8"]]},{"id":"865ea86a.369558","type":"switch","z":"31fcc95b.d94566","name":"On/Off","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"on","vt":"str"},{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":410,"y":840,"wires":[["124a4079.237c4"],["1a519636.fe9fca"]]},{"id":"c6219bc1.a5b5d8","type":"debug","z":"31fcc95b.d94566","name":"West Switch","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1190,"y":820,"wires":[]},{"id":"288518d2.cb91c8","type":"debug","z":"31fcc95b.d94566","name":"east pull data","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":790,"y":720,"wires":[]},{"id":"44954cfa.7b32c4","type":"api-current-state","z":"31fcc95b.d94566","name":"pull west","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_west_lights","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":660,"y":560,"wires":[["5a27b4b5.d5d7dc"]]},{"id":"5a27b4b5.d5d7dc","type":"api-call-service","z":"31fcc95b.d94566","name":"East_lights_off","server":"5d58f757.de5418","version":1,"debugenabled":true,"service_domain":"light","service":"turn_off","entityId":"light.living_room_east_lights","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":900,"y":560,"wires":[[]]},{"id":"1a519636.fe9fca","type":"api-current-state","z":"31fcc95b.d94566","name":"pull east ","server":"5d58f757.de5418","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"light.living_room_east_lights","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":620,"y":900,"wires":[["747ac06b.2dddc"]]},{"id":"747ac06b.2dddc","type":"api-call-service","z":"31fcc95b.d94566","name":"West_lights_off","server":"5d58f757.de5418","version":1,"debugenabled":true,"service_domain":"light","service":"turn_off","entityId":"light.living_room_west_lights","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":880,"y":900,"wires":[[]]},{"id":"5d58f757.de5418","type":"server","name":"Home Assistant","addon":true}]

Not exactly sure why that happens, but you still have nodes with yellow text, which indicate an update waiting. It could be the reason.

Events all are kinda a last resort node, when nothing else can catch the event that’s when they are used. Events all is resource heavy.

Events state is more than capable. Uncheck the box that says state=state. It will output on all attribute changes.

The get state is redundant all that info can be output through the event state. Look at the jsonata in my example.

E: I see they are events states, I was on my phone. The current state is still redundant.

Hello Mikefila. I will make this change and see if that helps. What I’m realizing is that since one light is connected to one switch and the other is connected to the other switch that I don’t every believe they would come on at the same time. Electrically the light connected to the switch I’m turning on will be on before the smart hub receives the message and HA can process it.

I am thinking about trying to tie the lights together or moving the loads to something like a shelly device. That way the devices connected to the load get the signal at the same time.

If these are non smart switches with smart bulbs, when you switch it off the bulb the connection is lost. If this is the case the delay is likely the time that it takes for the bulb to reconnect to your network.

E. I should mention I have caseta pico’s not the wired switches with the standard hub, the events from them are pretty much instantaneous.

I have two caseta switches and two of the pico remotes and the hub. The pico remote does control them very well. I just don’t understand why I can’t get the regular switches to behave the same way.