View Source ExOnvif.Devices (ExOnvif v0.7.1)

Interface for making requests to the Onvif devices service

https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl

Summary

Functions

This operation gets basic device information from the device.

This operation is used by an endpoint to get the hostname from a device.

This operation gets the network interface configuration from a device.

This operation gets defined network protocols from a device.

This operation gets the NTP settings from a device.

This operation requests the scope parameters of a device.

Returns the capabilities of the device service.

Returns information about services on the device.

This operation gets the device system date and time. The device shall support the return of the daylight saving setting and of the manual system date and time (if applicable) or indication of NTP time (if applicable) through the GetSystemDateAndTime command.

This operation configures defined network protocols on a device.

This operation sets the NTP settings on a device. If the device supports NTP, it shall be possible to set the NTP server settings through the SetNTP command.

This operation sets the device system date and time. The device shall support the configuration of the daylight saving setting and of the manual system date and time (if applicable) or indication of NTP time (if applicable) through the SetSystemDateAndTime command.

This operation reboots the device.

Functions

get_device_information(device)

@spec get_device_information(ExOnvif.Device.t()) ::
  {:ok, ExOnvif.Devices.DeviceInformation.t()} | {:error, any()}

This operation gets basic device information from the device.

get_hostname(device)

@spec get_hostname(ExOnvif.Device.t()) ::
  {:ok, ExOnvif.Devices.HostnameInformation.t()} | {:error, any()}

This operation is used by an endpoint to get the hostname from a device.

get_network_interfaces(device)

@spec get_network_interfaces(ExOnvif.Device.t()) ::
  {:ok, [ExOnvif.Devices.NetworkInterface.t()]} | {:error, any()}

This operation gets the network interface configuration from a device.

get_network_protocols(device)

@spec get_network_protocols(ExOnvif.Device.t()) ::
  {:ok, [ExOnvif.Devices.NetworkProtocol.t()]} | {:error, any()}

This operation gets defined network protocols from a device.

get_ntp(device)

@spec get_ntp(ExOnvif.Device.t()) :: {:ok, ExOnvif.Devices.NTP.t()} | {:error, any()}

This operation gets the NTP settings from a device.

get_scopes(device)

@spec get_scopes(ExOnvif.Device.t()) ::
  {:ok, [ExOnvif.Devices.Scope.t()]} | {:error, any()}

This operation requests the scope parameters of a device.

The scope parameters are used in the device discovery to match a probe message. The Scope parameters are of two different types:

  • Fixed
  • Configurable

Fixed scope parameters are permanent device characteristics and cannot be removed through the device management interface. The scope type is indicated in the scope list returned in the get scope parameters response. A device shall support retrieval of discovery scope parameters through the GetScopes command.

As some scope parameters are mandatory, the device shall return a non-empty scope list in the response.

get_service_capabilities(device)

@spec get_service_capabilities(ExOnvif.Device.t()) ::
  {:ok, ExOnvif.Devices.ServiceCapabilities.t()} | {:error, any()}

Returns the capabilities of the device service.

get_services(device)

@spec get_services(ExOnvif.Device.t()) ::
  {:ok, [ExOnvif.Devices.Service.t()]} | {:error, any()}

Returns information about services on the device.

get_system_date_and_time(device)

@spec get_system_date_and_time(ExOnvif.Device.t()) ::
  {:ok, ExOnvif.Devices.SystemDateAndTime.t()} | {:error, any()}

This operation gets the device system date and time. The device shall support the return of the daylight saving setting and of the manual system date and time (if applicable) or indication of NTP time (if applicable) through the GetSystemDateAndTime command.

set_network_protocols(device, network_protocols)

@spec set_network_protocols(
  ExOnvif.Device.t(),
  ExOnvif.Devices.NetworkProtocol.t() | [ExOnvif.Devices.NetworkProtocol.t()]
) :: :ok | {:error, any()}

This operation configures defined network protocols on a device.

set_ntp(device, ntp)

@spec set_ntp(ExOnvif.Device.t(), ExOnvif.Devices.NTP.t()) :: :ok | {:error, any()}

This operation sets the NTP settings on a device. If the device supports NTP, it shall be possible to set the NTP server settings through the SetNTP command.

A device shall accept string formated according to RFC 1123 section 2.1 or alternatively to RFC 952, other string shall be considered as invalid strings.

Changes to the NTP server list will not affect the clock mode DateTimeType. Use SetSystemDateAndTime to activate NTP operation.

set_system_date_and_time(device, date_and_time)

@spec set_system_date_and_time(
  ExOnvif.Device.t(),
  ExOnvif.Devices.SystemDateAndTime.t()
) ::
  :ok | {:error, any()}

This operation sets the device system date and time. The device shall support the configuration of the daylight saving setting and of the manual system date and time (if applicable) or indication of NTP time (if applicable) through the SetSystemDateAndTime command.

If system time and date are set manually, the client shall include UTCDateTime in the request.

A TimeZone token which is not formed according to the rules of IEEE 1003.1 section 8.3 is considered as invalid timezone.

The DayLightSavings flag should be set to true to activate any DST settings of the TimeZone string. Clear the DayLightSavings flag if the DST portion of the TimeZone settings should be ignored.

system_reboot(device)

@spec system_reboot(ExOnvif.Device.t()) ::
  {:ok, %{message: String.t()}} | {:error, any()}

This operation reboots the device.