I’m a NodeRed person so I think that way, but currently at home crook as a dog so apologies if this is not quite lucid…
Set up a Boolean helper for each shade. That will be shaded or sunny, 1 or 0, whatever you like. Those are fed by the sensor you already have set up.
Also set up four Booleans “Open Shady Shades” “Close Shady Shades”, “Open Sunny Shades” and “Close Sunny Shades”.
Set up four automations in Google. When you say open or close the shady shades it will trigger the Boolean listed above to go to ON.
Now to individually control the curtains have State Node checking the status of those four Booleans and looking for a change.
Your Open Shady Shades Boolean has just changed state based on your command to GH.
Your State Node detects this and sends a command to a Current State Node of which you have one set up for each shade. If the Current State Node for the Kitchen Shade says it is shady based on the Boolean for that shade, it will pass on the signal to open the curtain. If it is not, it will not so there will be no change.
The State Node will send the same command off to all the other Shades via their Current State Node.
Once the commands have gone through you will need to reset the Booleans that you have used to trigger it (“Open Shady Shades” “Close Shady Shades”, “Open Sunny Shades” and “Open Sunny Shades”.) back to OFF.
I use a Wait Node off the State Node set for 5 seconds, this feeds into a Call Service Node to reset the State Node back to OFF.
You will need one flow for each of the Google command Booleans, and they will each feed to each o the curtains.
Its not the neatest, but it should work, and I am sure it could be trimmed back a bit or done using Templates.