Here’s what I have so far. It uses a get entities node. I’m using a wild card as I’ve named all of my doors starting with “binary_sensor.door_”, the windows “binary_sensor.window_” and the garage “binary_sensor.cover_”. Doing it this way I can configure the get entities node to grab everything that is a door, window or cover by using a wildcard.
Here’s how it looks right now -
Here's what one of the get entities nodes looks like -
I need to figure out how to make the notification dynamic so that it would override the standard notification telling me the alarm was armed. I have a few ideas but haven’t had the chance to implement it yet.
Mess around with it and let me know if you come up with a better way, I’d love to see it.
Here’s the code if you want to play around with it:
[{"id":"8673e30f.fb9b4","type":"tab","label":"test 3","disabled":false,"info":""},{"id":"3e41c959.5afd96","type":"ha-get-entities","z":"8673e30f.fb9b4","server":"26956a45.92d866","name":"","rules":[{"property":"entity_id","logic":"is","value":"binary_sensor.window","valueType":"re"},{"property":"state","logic":"is","value":"on","valueType":"str"}],"output_type":"split","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":590,"y":220,"wires":[["e807d8f6.4fe178"]]},{"id":"122d20b0.9e336f","type":"ha-get-entities","z":"8673e30f.fb9b4","server":"26956a45.92d866","name":"","rules":[{"property":"entity_id","logic":"is","value":"binary_sensor.door","valueType":"re"},{"property":"state","logic":"is","value":"on","valueType":"str"}],"output_type":"split","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":590,"y":280,"wires":[["e807d8f6.4fe178"]]},{"id":"8131455b.3a43e8","type":"ha-get-entities","z":"8673e30f.fb9b4","server":"26956a45.92d866","name":"","rules":[{"property":"entity_id","logic":"is","value":"cover.door_garage","valueType":"re"},{"property":"state","logic":"is","value":"on","valueType":"str"}],"output_type":"split","output_empty_results":false,"output_location_type":"msg","output_location":"payload","output_results_count":1,"x":590,"y":160,"wires":[["e807d8f6.4fe178"]]},{"id":"e807d8f6.4fe178","type":"template","z":"8673e30f.fb9b4","name":"Format Friendly Name","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"{{{payload.attributes.friendly_name}}}","output":"str","x":860,"y":220,"wires":[["c2849f57.a1e81"]]},{"id":"c2849f57.a1e81","type":"join","z":"8673e30f.fb9b4","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":", ","joinerType":"str","accumulate":false,"timeout":"","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1030,"y":220,"wires":[["c74c37db.d77dd8"]]},{"id":"c74c37db.d77dd8","type":"api-call-service","z":"8673e30f.fb9b4","name":"Notify","server":"26956a45.92d866","version":1,"service_domain":"telegram_bot","service":"send_message","entityId":"","data":"{\"message\":\"The alarm has been armed but these have been left open: {{{payload}}}.\"}","dataType":"json","mergecontext":"","output_location":"payload","output_location_type":"msg","mustacheAltTags":false,"x":1150,"y":220,"wires":[[]]},{"id":"fd192863.885678","type":"inject","z":"8673e30f.fb9b4","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":340,"y":220,"wires":[["8131455b.3a43e8","3e41c959.5afd96","122d20b0.9e336f"]]},{"id":"26956a45.92d866","type":"server","z":"","name":"Hass.io","legacy":false,"hassio":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true}]