I'm fully aware of the software options for analyzing video that work with indigo to provide motion status of cameras and such.... What I'd like is a NVR tie in that would work. I have this operational now in a couple different ways, but I thought I'd open this up for discussion to see if there is a better solution, a plugin option, etc.
Most Dahua NVRs (this covers Lorex, Amcrest, Q-See and many more brands) have two ways of obtaining events (video motion, video loss, video blind, etc.).
1) Selecting "Alarm Center" on the NVR to transmit to an "Alarm Center" server.
2) Polling the device
The Amcrest, Dahua and Hikvision manuals describe "Alarm Center" https://dahuawiki.com/Alarm_Center as using the "Alarm Center Protocol" which ,I think, is another word for the "Contact ID Protocol". Here you select an IP and Port number to broadcast the message to. Since I haven't figured out how to receive that broadcast, I haven't been able to bounce it off the Ademco Protocol to interpret the message. Something I found that defines the protocol: http://www.voip-sip-sdk.com/p_583-ademco-contact-id-protocol-standard-for-alarm-system-communication-voip.html , https://li0r.wordpress.com/contact-id-protocol/
Tinkering with the HDDPd plugin and also tinkering with the Node-Red HTTP-in node got me nowhere. (Not saying a solution isn't in there, just pointing out my limitations of understanding)
What I have gotten to work:
NVR Control: The Dahua line of NVRs are scriptable to the point of managing what is displayed on the screen, trigger an alarm-in (for tagging saved video clips), etc using their API.
Indigo Control: I used the SMTPd plugin to add cameras to indigo. (Now my NVR and each camera send motion emails to the Indigo SMTP plugin which sets off triggers to activate virtual camera devices.
Indigo Control (Part2 - Node Red): Another working solution I found is through Node-Red and the Dahua Node. The node can be set up using digest authentication to poll a Dahua line of NVR (I'm using an Amcrest NVR now) and then communicate that to indigo. The node is written in .js and I have no idea if it could be converted into something to run solely on indigo as a plugin (seriously I have zero plugin skills). https://github.com/inwaar/node-red-contrib-dahua-device. But it does work if anyone else wants a drag & drop node red solution for their NVR.
What might??? work:
Ademco Node: There is an Ademco Node, https://flows.nodered.org/node/node-red-node-ademco but like most other stuff, it receives the Contact ID protocol message via a direct connection (USB/Serial), I don't think it will work via HTTP (Alarm Center option in NVR).
Raspberry Pi: I was looking to see if one of the Alarm Center raspberry pi builds (which appear to be python based) could be modified into a plugin? https://github.com/scudre/alarm-central-station-receiver. <-- this one I think is written in python.... so maybe closer for integrating directly into Indigo?
Other "Alarm Center" Approaches that could be indigo-able?: https://github.com/schmupu/ioBroker.contactid
Existing Alarm Plugin: IF NVRs are using the same communication protocol as industry standard alarms "Contact ID Protocol", then could an existing plugin be copied/modified/adapted to receive the NVR messages. (I haven't touched this approach yet because I'm freaked out that I will screw up my rock-solid DSC Alarm plugin)
Anyone else make any headway with NVR-Indigo integration?