Alert profile does not exist

Hello,

I am running Ignition 7.6.2 on an openSUSE 12.3 desktop. Really having fun with learning here.

In the extras I downloaded the “Example Project” and opened it up, first a client, and then in the designer. When I have it open in the designer, I keep getting the recurring error, “Error Executing expression binding on AlarmScreen.Root Container.Alarms.AlarmTable.data”.

The details of this message are as follows:

[code]Exception: Error executing expression binding on
AlarmScreen.Root Container.Alarms.AlarmTable.data
caused by ExpressionException: Error executing script for runScript() expression:app.alert.alertHistory(‘Alert’, ‘2013-08-09 16:37:48’, ‘2013-08-10 16:37:49’, 1)
caused by Traceback (most recent call last):
File “expression:runScript”, line 1, in
File “module:app.alert”, line 7, in alertHistory
com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: Alert storage profile “Alert” does not exist.

caused by GatewayException: Alert storage profile "Alert" does not exist.
caused by IllegalArgumentException: Alert storage profile "Alert" does not exist.

Ignition v7.6.2 (b2368)
Java: Oracle Corporation 1.7.0_40
[/code]

Now this is where I am a little confused. The script that is causing a problem from the AlarmTable.Data is this:

[code]runScript(“app.alert.alertHistory(’”

  • {Root Container.Alarms.AlarmTable.profile} +
    “’, '”
  • {Root Container.Alarms.Options.StartDate.dateStr} +
    “’, '”
  • {Root Container.Alarms.Options.EndDate.dateStr} +
    "’, "
  • if({Root Container.Alarms.Options.HideCleared.selected}, 0, 1) +
    “)”, 10000)[/code]

So you can see that there is an AlarmTable.profile property. It is one of the custom properties in the alarm table, followed by selectedFlags, selectedPath, selectedStateName, and selectedSystem.

But since the error says that the ‘Alert storage profile “Alert” does not exist,’ what is the difference between that and the AlarmTable.profile property? And also, how do I create the "Alert storage profile ‘Alert’ " so that it does exist and I cease to get this continuous error?

I might also mention that there is a script module under Configuration.Script Modules.app.alert called “alert”, and these are the contents below. I don’t know if this makes a difference. Could it be that this has a lower case “a” in “alert” but the procedure above is calling for one with a capital “A” as in “Alert”? I don’t think that’s it because I added it in with the capital A and it still gives me the error.

[code]def activeAlerts():
import system
return system.alert.queryAlertStatus(activeAndUnacked=1).rowCount

def alertHistory(profile, startDate, endDate, showCleared):
import system
return system.alert.queryAlertHistory(profile, startDate, endDate, activeAndUnacked=1, activeAndAcked=1, clearAndUnacked=showCleared, clearAndAcked=showCleared)[/code]

Thanks for your patience with the new guy.

neramdaman, Good catch! The script is using legacy (7.5.x and earlier) Alerting system functions. For Ignition 7.6 you will need system.alarm.* functions instead. So, use system.alarm.queryStatus() instead of systemsystem.alert.queryAlertStatus() and system.alarm.queryStatus() instead of system.alert.queryAlertHistory().

You can read more here: http://www.inductiveautomation.com/support/usermanuals/ignition/index.html?system_alarm_querystatus.htm
and here: http://www.inductiveautomation.com/support/usermanuals/ignition/index.html?system_alarm_queryjournal.htm