I highly recommend that you look at using a Python Script for this kind of automation – it’ll change your life as to how you write automations with complex logic!
I posted a sample Automation and linked Python Script here:
The logic needed, the control over the custom message you want, etc. are all reasons that this is a really good case for use of a Python Script to drive the automation . . . you still have your automation, but the action can just call the python script which can have far more advanced logic! And it’s really not that hard to work with once you get the hang of it, because you do NOT have to re-start HASS to see the changes, you just save the file and try the automation again!
This shows the use of a single Automation that delegates all logic into the script, and shows how variables, and various element can work. You can retrieve the state or attribute of any entity and use that to drive your logic. You can also pass data dynamically from the Automation, but for most use cases it’s more simple to just query Hass for the latest entity state/attribute needed.
The sample linked also shows how you can use a Notify and pass any custom dynamic message… I use them to help debug the script by pushing the values via Pushover notifications (much easier than having to try and look at log outputs).
I hope this helps, and it will likely change your life in how you write automations!