*** INTERNAL USE ***
Product
exacqVision Server > Onvif plugin
Steps to Reproduce
- Ensure motion detection is enabled within the camera.
- Add the Onvif camera to the exacqVision Server. If motion was enabled in the camera after being added to the system, toggle the Enable checkbox beside the camera on the Add IP Cameras page so exacqVision queries the camera for the updated settings.
- Configure motion settings within exacqVision.
- Trigger motion, ensuring a motion boarder appears around the image and/or motion recording is indicated on the search timeline.
Expected Results
The motion alert is triggered and video is recorded.
Actual Results
No motion alert is displayed and/or no motion recording occurs.
Solution
In some instances you may alter the Onvif JSON file if there is an element missing.
The onvifnvcpi.json file is organized into blocks by manufacturer. Nested within each manufacturer are action types and within those are “topics”, which define the name and state of these types. Some brands may appear more than once depending on changes in labeling, and tome topics may include several names for the same activity, such as motion, depending on the many iterations of naming conventions that manufacturer has used.
Discovering and Adding Topics
IMPORTANT: Always create a backup of the onvifnvcpi.json file prior to attempting any manual changes.
Onvif Device Manager is a free software application that can display the topics provided by the camera device.
- Connect to the camera using Onvif Device Manager. The below example uses a Geovision GV-TBL8810, although the topics for this already exist in the JSON file, this provides a good example.<br><br>
- After connecting the camera, select the Metadata link beside the video source with the camera thumbnail.
<br><br> - Expand the Metadata details near the top.
<br><br> - The topic name you will be looking for will vary between manufacturers and even firmware versions. In this example, we find a topic with “Motion” in the name. The device used in this example shows:
tns1:RuleEngine/CellMotionDetector/Motion
Then see that nested below it includes a Data field holding an attribute titled “IsMotion”. This is what we’re looking for.
<br><br> - A quick search reveals that GeoVision already exists in the json file, there’s actually two entries with different attributes in this file. But if GeoVision did not already exist, you would need to enter a new block, replicating the same nested formatting and being sure to enter it in the same level as the other camera “blocks” within the json format. With so many nested levels this may be difficult, Notepad++ can help display, collapse, and expand json files to make them easier to work with. All camera manufacturer blocks are within a list named “items”, which begins near the top of the document.<br><br>
- The first attribute within this block is the “manufacturer”, listed here as “GeoVision_2”.
<br><br> - Beneath this is the “motion” block, containing a list of any motion attributes. Notice, that this entry contains multiple motion attributes due to the manufacturer using multiple methods in different models and firmware versions. But you can see the first one matches the line discovered in Onvif Device Manager earlier.
“RuleEngine/CellMotionDetector/Motion“
If you were adding a new entry, you would use this as the “name” attribute under “topic”.<br><br> - Nested below is the “data” attribute, which matches the “Data” item listed in Onvif Device Manager. First, enter the name.
When entering these, they must match EXACTLY as listed by Onvif Device Manager.<br><br> - Then enter the “on” and “off” states. In this example, the camera sends a status of “true” or “false”. Other cameras or firmware versions may state “0” or “1”. While both are boolean values in terms of programming, these must be entered exactly as the camera provides them.<br><br>
- Once all values have been entered and the proper closing brackets are applied so that the json file is formatted correctly, save the file.<br><br>
- Restart the exacqVision Server service and test your changes. If you do not see results, you may need to go back and check your json formatting, or the entries used.
IMPORTANT: Manual changes to the onvifnvcpi.json file are not retained during exacqVision Server software updates. If you have made manual changes to this file, you must make a copy of it prior to updating the software, then place it back in the Server directory after updating.
<br>