How to implement Digital Input (ET01)
Warning! This is an implementation hint article. Read this first.
Calling sequence
For ONVIF digital input function, the calling sequence of Genius Vision NVR can be summerized as follows:
- This sequence only applies when Event.Template (explained here) is set to ET01.
- Calls <device>GetDigitalInputs to obtain number of input and their tokens. If failed, NVR will try to call <ver10/deviceio>GetDigitalInputs.
- Engage event notification sequence.
Reflecting digital input state change
Event definition in spec
ONVIF-DeviceIo-Service-Spec-v221.pdf
Message XML example
<wsnt:NotificationMessage> <wsnt:Topic Dialect="http://www.onvif.org/ver10/tev/topicExpression/ConcreteSet"> tns1:Device/Trigger/DigitalInput </wsnt:Topic> <wsnt:Message> <tt:Message UtcTime="2008-10-10T12:24:57.321Z"> <tt:Source> <tt:SimpleItem Name="InputToken" Value="[digitalInputToken]" /> </tt:Source> <tt:Data> <tt:SimpleItem Name="LogicalState" Value="[digitalInputState]" /> </tt:Data> </tt:Message> </wsnt:Message> </wsnt:NotificationMessage> |
- [digitalInputToken]: Must match one of the tokens returned by <device>GetDigitalInputs or <ver10/deviceio>GetDigitalInputs.
- [digitalInputState]: true if ON, false if OFF.
See also