We have the alarm status on popups for the different devices. The alarm status table is in a tab strip container, as an embedded view. One of the params that is passed to the alarm view is the tag to filter on in the table. We are using the filters.active.conditions.source to filter the alarms.
What is happening is when the tab containing the alarm view is clicked, all the active alarms are shown, and then the filter is applied. Is this supposed to be happening that way? Any way we can get it to apply the filter when it is shown on the first update of the alarms?
We are in development on this stuff so there isn’t a ton of alarms but for the future site this could be a big deal.
It will read this value upon initialization and then proceed to listen for changes to the property. Setting a binding to persistent is the recommend way to ensure that the value is saved with the component config and loaded upon component initialization.
You could try using the new filterAlarm extension function that is available for both alarm tables, but I’m not sure how useful that would be since there seems to be a delay between when the filter is updated via params.
I’d might suggest adjusting the refreshRate of the alarm table to decrease the delay and improve the experience. Changing the refreshRate changes the interval in which the backend of the component queries alarms. When a difference is detected between the previous data set, the backend will send the data to the front end to process and display.
That’s what I would assume it would do as well @nminchin.
By making props.filters.active.conditions.source and props.filters.active.conditions.provider to persistent as @ynejati suggests it does help. My situation is that those are dynamic based on the popup, so I’ve set them to be something very unusual and set for persistent. So now the alarm list is empty until a refreshEvent happens.
Same as me re popups. That sounds like the best solution at the moment, rather than showing all alarms briefly and then filtering. Ill give it a go, cheers!
If you come up with a better solution let me know. This is the best that we can do right now. It is annoying because I’ve got it in a tab container, so everytime the tab is switched off the alarm tab and then back it re-does the filtering. Again not as clean as Vision but better than showing 100s of alarms.
When I click the button the table immediately refreshes with the filter. But, running this in a change script or onStartup script doesn’t seem to have any effect. I know the script is working as I’m printing to console.
I feel refreshing would be a good workaround, if it worked correctly. Clicking the button obviously isn’t a solution. Any suggestions on getting the refresh binding to work besides in a button?
I encountered the same issue on v8.1.37 using the alarm status table in perspective. Most of the time when switching to the alarm tab on a device popup the filter is not being applied (works sometimes after flipping tabs repeatedly). I worked around this by using the extension function mentioned. In my script self.view.custom.tag is the tag path for the device to use in filtering the alarm source.