Auxiliary

This section describes how the driver manages auxiliary commands, such as an infrared (IR) lamp, a heater, a wiper or a washer. There are two possible options for using Aux commands – Aux Commands in the Device Service and Aux Commands in the PTZ Service.


  <GetServicesResponse xmlns="http://www.onvif.org/ver10/device/wsdl">
    <Service>
      <Namespace>http://www.onvif.org/ver10/device/wsdl</Namespace>
      <XAddr>http://172.32.1.12:1081/onvif/device_service</XAddr>
      <Capabilities>
        <Capabilities>
          <Network ZeroConfiguration="true" NTP="1"/>
          <Security HttpDigest="true" MaxUserNameLength="60" MaxPasswordLength="20"/>
          <System DiscoveryBye="true"/>
  
            <Misc AuxiliaryCommands="tt:Wiper|On tt:Wiper|Off tt:Washer|On tt:Washer|Off tt:WashingProcedure|On tt:WashingProcedure|Off tt:IRLamp|On tt:IRLamp|Off tt:IRLamp|Auto"/>
  
        </Capabilities>
      </Capabilities>
      ...
    </Service>
    ...
  </GetServicesResponse>
Aux Commands in the Device Service are retrieved using the commands GetServices or GetServiceCapabilities.

When Aux Commands are detected in the Device Service capabilities, they are sent using the SendAuxiliaryCommand on user request.

Note: Aux Commands from the Device Service are supported in the ONVIF driver since Device Pack 10.3.

Note: Aux Commands in the PTZ Service have higher priority. This means that if the device has PTZ Service, Aux commands will be used from that service.

For PTZ Aux commands to be recognized by the driver, the PTZ must be enabled in the Management Client. On the first PTZ command no matter which one, the GetNode request is sent to the device. The Response contains all auxiliary commands that are supported by the device.


  <env:Body>
    <tptz:GetNodeResponse>
      <tptz:PTZNode token="PTZNODETOKEN">
        ...
        <tt:AuxiliaryCommands>tt:Wiper|On</tt:AuxiliaryCommands>
        <tt:AuxiliaryCommands>tt:Wiper|Off</tt:AuxiliaryCommands>
      </tptz:PTZNode>
    </tptz:GetNodeResponse>
  </env:Body>

The maximum auxiliary commands that the driver can support are 8. For each auxiliary there are three buttons assigned – “Aux N on”, “Aux N off” and “Aux N on while pressing”. In the example above, “Wiper|On” and “Wiper|Off” will be assigned to Aux 1 On button and Aux 1 Off button in the Smart Client and are counted as one auxiliary command.

Types of commands that the driver accepts are assigned to the Aux buttons in the Smart Client:

Auxiliary commands

Example

AuxiliaryData | On

Wiper|On

Button -> Aux 1 on

Button -> Aux 1 off

Button -> Aux 1 on while pressing

Wiper|On

Wiper|Off

Wiper|On and Wiper|Off

AuxiliaryData | Off

Wiper|Off

Button -> Aux 1 on

Button -> Aux 1 off

Button -> Aux 1 on while pressing

Wiper|On

Wiper|Off

Wiper|On and Wiper|Off

AuxiliaryData

Defog

Button -> Aux 1 on

Button -> Aux 1 on while pressing

Defog

Defog

AuxiliaryData | Auto

Wiper|Auto

Button -> Aux 1 on

Button -> Aux 1 on while pressing

Wiper|Auto

Wiper|Auto

If command contains symbol “|” followed by “On” or “Off” (e.g., “Wiper|On” or e.g. “Wiper|Off”) 2 buttons will be mapped (“Aux 1 On” and “Aux 1 Off”)

If command does not contain symbol “|” (e.g., “Defog”) only one button will be mapped (“Aux 1 On”). The Aux Off button will not be mapped.

If command contains symbol “|” and something different than “On” and “Off” (e.g., “Wiper|Auto”) only one button will be mapped (“Aux 1 On”). The Aux Off button will not be mapped.

Buttons that are not mapped (e.g., “Aux 1 Off” when Auxiliary command is “Wiper|Auto”), when pressed will not send command to the device.