Using a script to enable/disable alarm notification profiles

Got kind of an usual situation here and my Googling/AI hasn't yielded anything very helpful.

I have a Perspective App running on Ignition Edge. Paired with that, I have a (nearly) identical app running on Cloud Edition. We're using the EAM to keep things sychronized as well as inherited projects to manage the cloud app (the Edge-compatible project is the "Master" while the actual cloud app inherits from that and adds a few cloud-only features).

On both apps, I have alarm notifications set up. Before anyone says "that's a bad idea," this was by specific customer request, so I have to do it. It's not that they want double notifications. They want the user to select between the two. The Cloud notifications are the "default" but they also want the Edge to be able to notify in case the Cloud server goes down. It's not mission-critical in the sense of life and limb, but rather in the sense of millions of dollars could be at stake if someone doesn't get notified.

I've got notifications working on both sides, but what I'm trying to figure out is how I'm going to "switch" between the two. Whichever "end" is not notifying, I need to be able to disable just the alarm notifications (not the alarms themselves), presumably with some kind of scripting. Notifications on the edge are the basic one-way email notifications. In the Cloud they're the normal email notifications (Long story, but it needs to be). Edge and Cloud notifications both work.

Like I said, I'm assuming the method would be enabling or disabling the appropriate Alarm notification profile, depending on if it's Cloud or Edge. But I can't find anything on how to do that. Whenever I look up disabling or enabling alarms, it looks like I have to do it BY TAG. I have literally hundreds of alarms and I'd REALLY rather avoid having to do that.

I'm not sure if Edge can do this, but I'd use a scripted roster. Have the script check server status to determine whether to return a particular list.

That might be the way I have to go, unfortunately.

I know in Edge you can edit a notification roster with a script. Maybe I could clear out all the email addresses of every user somehow, but store that data somewhere they could edit it later, and then move it all back in with another script if they enable it. I'd have to store that data in tags since Edge doesn't talk to external databases, but it could work. Not as "clean" as I'd like, but it might be what I have to do.

Ewww! No. Just use a scripted roster. Return a real roster when appropriate, or a dummy/empty roster to not send notifications. Don't change any rosters.

I'd have to do that in Pipelines, correct? Edge doesn't have alarm pipelines.

Ah. OK. :frowning:

Yeah. On the Cloud side all I'd really have to do is an expression block, point it to a tag and on whatever condition continue on with the Pipeline. No such luck with Edge though. :frowning: