We have a plugin that defines some actions to be used by the event rules system in XProtect. Recently we wanted to be able to trigger an alarm every time one of our actions has been performed so when ExecuteAction is called we create a new analytic event, add the camera FQID to the reference list and send the message to the Event Server.
Very similar to the below post, the functionality all works without issue and we see no errors in our plugin or other areas of the system. However the Event Server logs the following exception. (I’ve omitted the stack trace for brevity)
"2023-08-02 10:59:05 AM UTC+09:00 Error XPCORuleSystemManager Failed to trigger events against the rule system
Exception details:
VideoOS.Management.VmoClient.RecordingServerCommunicationException: The system could not communicate with the recording server. —> System.ServiceModel.FaultException`1[VideoOS.Management.Common.VMOExceptionDetail]: VMO61021: The system could not communicate with the recording server."
Potential Relation: https://developer.milestonesys.com/s/question/0D50O00004MBOwgSAH/sending-an-event-from-plugin-i-get-sometimes-an-error-in-event-server-log
Some additional information:
- The event rule, analytic event, and alarm definition are all defined in the Management Client as expected.
- The reason we add the camera as a reference instead of as the source of the event is because we want to be able to match alarms on our plugin elements as the source.
- I tried to send the same event from Milestone’s AnalyticEventTriggerViaLibrary component example and the same error was not logged.
- At first I thought maybe sending an event while an action is being executed caused the issue but moving the event to a separate thread didn’t seem to resolve the issue.
- Sending the same event without adding the camera to the reference list results in no exception in the ES logs.
Any hints are greatly appreciated! Thank you in advance.