Is there an easier way to do this?

I have several doors and windows that open out to our pool. Code requires that these be alarmed to notify if someone is entering the pool area unattended. It's easy enough to build an HSM Custom Alert to monitor these, but this will be disabled whenever there are (adults) present in the pool area. When I go to be at night (and at other times during the day), I'd like to do a quick check to verify that all the doors and windows are closed. So, I've created a virtual switch that I can ask Alexa to turn on ("Alexa, are all the pool doors and windows closed?"), which runs a Rule (triggered by the switch) that checks all of the doors & windows, and then (using Echo Speaks) tells me which windows/doors are still open (if any).

The code at present is:

It would be so much easier/cleaner if I could simply set a Variable to the Names of the device(s) are are open, either as a list, or as a string concatenated with ", " between each device.

Does any such capability exist in RM, or do I have to go the custom Groovy app to accomplish this?

Or, is there another way to accomplish this in a simpler fashion? Because next I want an open check for ALL the exterior doors and windows, and that's more than 25 different contact sensors plus 3 locks...


1 Like

I'm paying attention to the answer, because I have a similar notification done using a webCoRE piston in ST that I'd like to convert to RM when I bring those devices over to Hubitat, and I'd like to do it without repeating all that text in the rule.

This sends a notification like "ALERT: Basement Sliding Door is open while Main Floor HVAC is heating on Tue, Feb 2 2021 @ 5:20:51 PM EST". If multiple devices match, they are separated with 'and' IIRC.

(this piston as written has some glitches, but it is sufficient for the job)

(also, all my window ZIgbee contact sensors are the last set of devices I have to move over; in fact, I've moved most of the doors contacts to Hubitat and the piston is still using them because I sent them back to ST via Hubconnect)

I have a rule that looks exactly the same to find out what windows or doors are open. Especially useful on summer evenings when going to bed to ensure no doors (or windows in my case) are left open.

I’ll also be interested to hear of other options to do this. :smiley:

1 Like

What comes to mind is more rules! :joy:

I’m a Rube Goldberg type of user, not a developer. You could use zones like alarm systems do. Make a rule that turns on a virtual switch when any in that zone are open. Name the virtual switches with the Zone name. So then just monitor what’s in the Zone.

Doesn’t give you the exact window but if you know it’s in the zone it’s not that hard to figure out which is open. Having it tell me precisely which window is open seems more a cool factor than a necessity.

I feel like I’ve seen some community apps that will do something like this? I can’t think of their names.. I want to say something by @bptworld and/or @bertabcd1234

Edit: Device Check Plus by bptworld
Edit 2: Device Status Announcer by bertabcd1234

(Sorry for the tags, ended up finding what I was thinking of)