We have two issues in this scenario.
-
Using GetAlarmManager().AddAlarmListener() - is not sending any alarm events for this configuration(Remote ignition nodes causing alarms)
-
Acknowledging an Ignition Alarm on the Ignition gateway Hub via: AlarmEvent.Acknowledge does not ack downstream to the the source alarm on the remote ignition hub. I've noticed the alarm event Id is different for the gateway alarm and its remote source alarm.
Does anyone have any ideas if this can be fixed via configuration or work around at the API level?
Many thanks in advance!
1 Like
it seems that alarms from remote tag provider are not collected:
With this filter, I only receive alarms from gateway local providers
QualifiedPath qualifiedPath = new QualifiedPath.Builder().build();
gatewayContext.getAlarmManager().addListener(qualifiedPath , myAlarmListenerBlock)
I've tried to build a qualifiedPath filter with explicit remote provider like that:
qpListener = new QualifiedPath.Builder().setProvider("my-remote-prov").setTag("*").setAlarm("*").build();
But the listener doesn't receive any remote alarms whereas remote alarms are well displayed in the Alarm Status Table.
In Both gateway:
Perhaps @PGriffith will be able to enlighten us if this is a bug or the expected behavior ?
I was seeing the same issue when using the same QualifiedPath with the remote provider specified. However, I found success in finding the alarm by building a QualifiedPath with the Provider set to the name of the alarm's Provider defined on Remote Gateway. Not the name of the defined Remote Provider on the Local Gateway.
Can you give that a try and see if you find any success with this approach on your end?
In my use case the remote provider as the same name as the provider on the remote gateway (io-test)
I've tried with:
qpListener = new QualifiedPath.Builder().build();
or
qpListener = new QualifiedPath.Builder().setProvider("io-test").build();
But in both case, I don't receive any notification from alarms of tags from the remote provider whereas alarms are well displayed in Alarms Status Table.
Both gateway are in version 8.1.38
If you can give us somes clarification about how you are able to collect remote alarms : with only setProvider(), or use of wilcards "*" ?
Is there any Service Security or other settings to check ?
Thanks for your patience on this. By specifying the specific remote provider, it should return the remote alarms. Could you try setting a Tag to the path like the example below?
qpListener = new QualifiedPath.Builder().setProvider("io-test").setTag("*").build();
I did some further investigation and I found that wildcards don't seem to work with remote providers with a specific syntax. From the other forum post, it was found that using a wildcard in a qualified path with the syntax of prov*:*:tag:{TagPath}
works where as prov:*:tag:{TagPath}
doesn't.
So for some reason, the additional *
after prov
is needed to return results from a remote provider while using wildcards. What's more unfortunate is using setProvider("*")
will return a qualified path without the additional *
which I couldn't find a way around. I'll write a ticket for this issue. Let me know if adding a Tag to the Qualified Path fixes what you're seeing @mazeyrat
1 Like