I do have this app:
However, the current version doesn't support reporting the status of switches. I plan to add lots of "custom" types, including switches, in the next release. It might do what you're looking for then.
Back to your question, I don't think you need variables at all to do this, unless you want to access these values outside the rule (e.g., maybe you have an app to help you use Echo Speaks and you don't want to do it in a rule). If you do need variables, I'd avoid global variables (part of Rule Machine Legacy) and start using Hub Variables (new in 2.2.8 and accessible under Settings) instead. But I'm not sure you do. Unfortunately, writing rules like this gets messy fast if you have lots of devices--that's the reason I wrote a custom app.
But as you can see in that thread above, here is how I wrote the rule before I wrote this app to replace it. You could do something similar for your switches--just use that instead of the locks and contact sensors I'm using:
