How to configure dynamic query in OMI Alarm App (Historical Alarms)

Hi, I'm trying to configure the OMI Alarm App to follow context in historical alarm mode. If anyone have knowledge or examples to share it is highly appreciated.

Version 2023 P01.

Parents
  • Hi Kristan,

    In the 'Situational Awareness Library' we have two graphics name "SA_Alarm_HistoryPage" and "SA_Alarm_RuntimePage" these graphics has all the configuration scripted including creating queries. You can use it as example (to be able to edit them, duplicate them first).

    Below I extracted the pieces that make it, you need both to make it work

    'Creating Queries'


    'NOTE: gAlarmClient is the AlarmClient'

    dim all_Alarms = gAlarmClient.QueryFilters.DefaultFilter.Clone();
    all_Alarms.FilterName ="All_Alarms";
    all_Alarms.FilterCriteria = "(Provider = 'Galaxy')";
    gAlarmClient.QueryFilters.FavoriteFilters.AddFilter(all_Alarms);


    'Configure the query and selecting it'

    Dim _areaName as String;
    _areaName = "Area_001";

    'NOTE: User1 is the severity'

    gAlarmClient.QueryFilters.GetFilterByName("All_Alarms").FilterCriteria = "((Provider = 'Galaxy' AND Group = '" + _areaName + "') AND (User1 != '0'))";
    gAlarmClient.Favorite = "All_Alarms";

Reply
  • Hi Kristan,

    In the 'Situational Awareness Library' we have two graphics name "SA_Alarm_HistoryPage" and "SA_Alarm_RuntimePage" these graphics has all the configuration scripted including creating queries. You can use it as example (to be able to edit them, duplicate them first).

    Below I extracted the pieces that make it, you need both to make it work

    'Creating Queries'


    'NOTE: gAlarmClient is the AlarmClient'

    dim all_Alarms = gAlarmClient.QueryFilters.DefaultFilter.Clone();
    all_Alarms.FilterName ="All_Alarms";
    all_Alarms.FilterCriteria = "(Provider = 'Galaxy')";
    gAlarmClient.QueryFilters.FavoriteFilters.AddFilter(all_Alarms);


    'Configure the query and selecting it'

    Dim _areaName as String;
    _areaName = "Area_001";

    'NOTE: User1 is the severity'

    gAlarmClient.QueryFilters.GetFilterByName("All_Alarms").FilterCriteria = "((Provider = 'Galaxy' AND Group = '" + _areaName + "') AND (User1 != '0'))";
    gAlarmClient.Favorite = "All_Alarms";

Children
  • Hi Ido,

    Thank you for your answer. I managed to get this to work in this way:

    1. Preconfigured the OMI alarm app with a empty query named "FollowContext".

    2. Added a event script in the layout containing the alarm app:

    But shouldn't this be possible to solve by using the "Alarm Query" property in the alarm app?  The "Widgets, Apps and Controls" document indicates that it should, but I can't figure out how the syntax must be in historical mode.