I have a Geo SCADA 2019 server/client solution. The solution polls a RTU for numerous DNP3 points. There are a number of points that have their alarm redirection configured for SMS notification. The alarm redirection for these points are usually setup as follows.
1st redirection occurs after 1min delay. (Trigger: Unack Uncleared, Abort: Always)
2nd redirection occurs after 20min delay. (Trigger: Unack Uncleared, Abort: Always)
3rd redirection occurs after 400min delay. (Trigger: Unack Uncleared, Abort: Always)
This allows for basic alarm escalation to on call operators. I have three pager actions (SMS Action 1st Call, 2nd Call and 3rd Call) setup and three user rosters (WTP 1st Call, 2nd Call and 3rd Call) setup.
The above works great, however the client wants additional features.
Image attached has sample configuration.
Your help is appreciated.
Redirections are a little tricky.
You could add users to the usergroup at 'runtime'... there's really no difference between 'runtime' and not 'runtime' in the ViewX world... however it would require either that the users themselves have Configure permissions on the users in question (not great from a security perspective), or that you do the change via a Logic Routine in which case they just need permissions to execute the Logic Routine (but it's obviously a little trickier to configure).
As to the 'how to' of adding the user to the user group, the DB schema is your friend...
If you're interacting with the Geo SCADA / ClearSCADA system via an API (.NET API, Automation Interface, ViewX Scripting, SOAP) then you will need to reference the schema to see what objects have what methods / properties available to them.
If you are local to the server, then normally you can access it via
If you go here:
Then you can see that there is a UserGroupIds configuration field that is an Array of Reference (CDBUserGroup). You would just need to update this to include the User Group that you want them to be in.
I honestly can't remember if an Alarm Redirection is set to perform an action on a User Group if all the Users get the action happen to them. It wouldn't surprise me if this is a bit inconsistent. For example, I know for Reports all users receive the report if they are in the group. But I don't know if that applies to Pager Actions or Email Actions.
User Rosters can only ever have users assigned (never User groups). But you could possibly find other ways to do similar with Logic, Schedules and Calendars..
Redirection times are similar. They are configuration properties, so you could either grant people the Configure permissions on the items they would need to change the times on, or you could configure a Logic Routine that gives them permissions to do this. Again, I would recommend the Logic Routine for the flexibility / security it provides (i.e. you could do Min/Max limits, and other checks).
@BevanWeiss, thanks for the great reply.
For the record, I am a noob to the world of ClearSCADA/Geo SCADA. Could I push my luck further and ask if you have an example of how I can read/write to the DB schema via ViewX Scripting? Alternatily a pointer to documentation that would assist, as I was unable to find anything obvious.
The schema is kind of how the data is structured.
So you use the schema to identify what properties etc objects in your database have.
For the scripting reference, your best first point of searching is the help within the product.
If you go to Core Reference > Coding > Scripting > Server and ServerObject Functions and Properties
You'll come upon some stuff.
The process pretty much starts with obtaining a reference to the object you want to modify
Set obj = Server.FindObject("Object Name") OR Server.LookupObject( Object ID)
and then you can start to do things like
if obj.CheckAccess("CFG") then
obj.Interface.AlarmRedirectionList.Delay1 = 15
MsgBox "Bad dog.. no permissions"
Obviously this starts to stack up with complexity, i.e. my example writes to a fixed Alarm Redirection delay, but there are 10 such slots, and it might not always be the first that you care about.. and it writes a fixed value, and there's a whole different kettle of fish for getting values and validating values from users.
The language is either VBscript or JScript (the Active Scripting libraries from Microsoft), and is configured on mimics (the help has all these details).
For help on the ST logic, that can be found under
Core Reference > Coding > Logic ...
It's pretty much IEC61131 Structured Text, but with some enhancements to allow SQL queries (not recommended unless you know what you're doing)
I have recently done email redirections to a "User Group" instead of a specific User and it does work. I would think the same details below would be true for an SMS, aside from having a single user with group address to send the SMS to.
(For Email Redirections) One other thing that might be an option for spreading the email to everyone, is using a group email address that is handled through your email system. One email address that gets redistributed to many people (usually all in the same company). Using the "User Group" as a way to send the email to multiple people is the work around that I needed when not everyone works for the same company and needed the email to go to third parties.
(For me and the case of using Email Redirections) In the Alarm Redirection E-Mail Action, choose a user group instead of an individual user. All of the users will need to have their email address/phone number in the same contact slot, for me that was "Email Contact 1". Make sure that all of the users that need to get the email have an account with an email address in Email Contact 1, and also belong to the User Group.
Users can belong to one group, or they can belong to more than one Group. For instance they can be in ViewXLogin User Group, and they can be in the AfterHoursEmail User Group (both of which are just goofy names I am giving as examples).
There is another more complicated User Roster system that would allow you to send the redirection out to say, only people who aren't currently working, or a specific on call person(s).For me this option was way more complicated than what I needed.
Discuss challenges in energy and automation with 30,000+ experts and peers.
Find answers in 10,000+ support articles to help solve your product and business challenges.
Find peer based solutions to your questions. Provide answers for fellow community members!