System.alarm.acknowledge not accepting three arguments

Nick gave a good general explanation. Here’s some specifics about this particular function and why it’s different in the Client and Gateway…

When you run system.alarm.acknowledge from anywhere except the Gateway (ie Project > Event Scripts (Gateway) ), it’s using the Client scope. Because there’s a user logged in to the client (or designer, if that’s where you’re trying it out), the system doesn’t need a user argument – it uses the currently logged in user.

Gateway scripts, because they run on the Gateway (even though you write them in a screen on the Designer), need to know what user to associate with the acknowledgement. After all, there could be zero, one, or many users logged in to clients at the time. So the Gateway version needs a user parameter.

Hope that helps.