Dear XProtect Support Team,
We are implementing an audio event detection system and need to integrate it with the XProtect platform. The goal is to raise alarms based on the type and source of detected audio events. However, we face challenges with managing user-defined events at scale.
Given the potential scale of deployment (e.g., 100 to 1,000 devices), creating separate user-defined events for each device and event type is not practical. We are looking for a solution that simplifies the creation and management of alarms while still supporting dynamic event types and device-specific configurations.
Our requirements are:
- Alarm Definition: We need a method to programmatically create alarm definitions and dynamically associate them with cameras and maps based on the audio event’s source and type.
- Modification of Related Cameras and Maps: We would like to modify existing alarms to update the associated cameras and maps without extensive manual configuration.
From the provided SDK samples, we found examples for listing alarms but not for creating or modifying them to meet our needs. Could you guide us on:
- Whether it’s possible to programmatically create and manage alarm definitions through the SDK or other means?
- How we can dynamically associate cameras and maps with alarms?
Your assistance in simplifying the alarm configuration process will significantly enhance the usability of our solution within the XProtect system.
This is how we currently managed to trigger the alarm:
private void SendUserDefinedEvent(ConnectPro.Models.AudioAnalytics.AudioEventDetected audioEvent, Item item)
{
try
{
EnvironmentManager.Instance.PostMessage(
new VideoOS.Platform.Messaging.Message(
VideoOS.Platform.Messaging.MessageId.Control.TriggerCommand), item.FQID);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
//Audio Event Definition
public class AudioEventDetected
{
/// <summary> </summary>
public string FromDirno { get; set; }
/// <summary> </summary>
public string FromName { get; set; }
/// <summary> </summary>
public string EventType { get; set; }
/// <summary></summary>
public string Probability { get; set; }
public DateTime Time { get; set; }
}
Thank you in advance for your support!
Best regards,
Toni Gregov