Where should my plugin reside

I am in the process of developing a plugin to poll cameras for their fire alarm status.

Initially I’ve developed this plugin for the XProtect Smart Client. However, I now realise that this may not be the best place to put it as there are several potential issues:

  1. If no Smart Client is running at the time of the alarm then the alarm could be missed and won’t be added to the milestone alarm list

  2. Each smart client will poll the cameras so it could be possible that multiple clients poll the same camera and raise alarms for the same event. This also makes scalability an issue.

I’m sure there are other issues too but these seem serious enough to ask the question…where should I host the plugin.

Could I host it on the event server and raise alarms directly to that. These alarms would then be picked up by the relevant smart client(s) that are monitoring the relevant camera(s). I’d therefore only need to deploy the plugin to the event server (or servers in a distributed system?).

Thanks in advance - David

My recommendation is that you create your own service that is running always.

But it could also be an Event Server plugin.

I do not know what mechanism you have currently but my recommendation would be to transfer the fire alarms to analytics events on the XProtect system. I would like to recommend this document..

http://download.milestonesys.com/MIPSDK/Samples/TriggerAlarmFromExternal-ConceptSolution.pdf

Maybe the document answers your questions, but probably you will have new questions.. Let me know what you think.

Thanks @Bo Ellegård Andersen (Milestone Systems)​. I’ve created a Event Server plugin and had already setup the alarms to be analytics events. It all seems to be working quite well and I like the logging feature available for debugging (previously I’d been using message boxes that get in the way of a realtime solution!).