openapi: 3.0.0 info: title: EdgeX Onvif Device Service description: EdgeX Onvif Device Service REST APIs version: 3.0.0 servers: - url: http://localhost:59882 description: Local running instance of EdgeX - url: http://127.0.0.1:59882 description: Local running instance of EdgeX - url: http://0.0.0.0:59882 description: Local running instance of EdgeX tags: - name: Capabilities - name: Auto Discovery - name: Network Configuration - name: System Function - name: User Handling - name: Metadata Configuration - name: Video Streaming - name: Video Encoder Configuration - name: PTZ - name: PTZ - Capabilities - name: PTZ - Configuration - name: PTZ - Actuation - name: PTZ - PTZPreset - name: PTZ - Home Position - name: PTZ - Auxiliary - name: Event Handling - name: Analytics - name: Analytics - Profile Configuration - name: Analytics - Modules - name: Analytics - Rules - name: Custom description: >- Custom commands outside of the ONVIF spec handled by the device service directly. paths: /api/v3/device/name/{EDGEX_DEVICE_NAME}/Capabilities: get: tags: - Capabilities summary: 'Device: GetCapabilities' parameters: - name: jsonObject in: query schema: type: string example: '' description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "Category": [] } ``` **Field Descriptions:** - **Category** _[array]_
List of categories to retrieve capability information on. **Schema Reference:** [device_GetCapabilities](#device_GetCapabilities) - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetCapabilitiesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 001f4647-f047-445f-a632-57d22417760b deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: Capabilities origin: 1666391598771990000 readings: - id: 577e5335-44f0-4cdf-9413-b07bb2554d3c origin: 1666391598771990000 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: Capabilities profileName: onvif-camera valueType: Object value: '' objectValue: Capabilities: Analytics: AnalyticsModuleSupport: true RuleSupport: true XAddr: http://10.0.0.127:2020/onvif/service Device: Extension: '' IO: Extension: Auxiliary: false AuxiliaryCommands: '' Extension: '' InputConnectors: 0 RelayOutputs: 0 Network: DynDNS: false Extension: Dot11Configuration: true Extension: '' IPFilter: false IPVersion6: false ZeroConfiguration: false Security: AccessPolicyConfig: false Extension: Extension: Dot1X: false RemoteUserHandling: false SupportedEAPMethod: 0 TLS1_0: false KerberosToken: false OnboardKeyGeneration: false RELToken: false SAMLToken: false TLS1_1: false TLS1_2: false X_509Token: false System: DiscoveryBye: true DiscoveryResolve: false Extension: Extension: '' HttpFirmwareUpgrade: false HttpSupportInformation: false HttpSystemBackup: false HttpSystemLogging: false FirmwareUpgrade: false RemoteDiscovery: false SupportedVersions: Major: 20 Minor: 6 SystemBackup: false SystemLogging: false XAddr: http://10.0.0.127:2020/onvif/service Events: WSPausableSubscriptionManagerInterfaceSupport: false WSPullPointSupport: true WSSubscriptionPolicySupport: true XAddr: http://10.0.0.127:2020/onvif/service Extension: AnalyticsDevice: Extension: '' RuleSupport: false XAddr: '' DeviceIO: AudioOutputs: 0 AudioSources: 1 RelayOutputs: 0 VideoOutputs: 0 VideoSources: 0 XAddr: '' Display: FixedLayout: false XAddr: '' Extensions: '' Receiver: MaximumRTSPURILength: 0 RTP_Multicast: false RTP_RTSP_TCP: false RTP_TCP: false SupportedReceivers: 0 XAddr: '' Recording: DynamicRecordings: false DynamicTracks: false MaxStringLength: 0 MediaProfileSource: false ReceiverSource: false XAddr: '' Replay: XAddr: '' Search: MetadataSearch: false XAddr: '' Imaging: XAddr: http://10.0.0.127:2020/onvif/service Media: Extension: ProfileCapabilities: MaximumNumberOfProfiles: 0 StreamingCapabilities: Extension: '' RTPMulticast: false RTP_RTSP_TCP: true RTP_TCP: true XAddr: http://10.0.0.127:2020/onvif/service PTZ: XAddr: http://10.0.0.127:2020/onvif/service '400': &id001 description: Request is in an invalid state headers: X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: 400Example: $ref: '#/components/examples/400Example' '404': &id002 description: The requested resource does not exist headers: X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: 404Example: $ref: '#/components/examples/404Example' '423': &id003 description: The device is locked (AdminState) headers: X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: 423Example: $ref: '#/components/examples/423Example' '500': &id004 description: An unexpected error occurred on the server headers: X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: 500Example: $ref: '#/components/examples/500Example' '503': &id005 description: Service Unavailable headers: X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: 503Example: $ref: '#/components/examples/503Example' operationId: device_GetCapabilities externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetCapabilities description: |- This method has been replaced by the more generic GetServices method. For capabilities of individual services refer to the GetServiceCapabilities methods.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/DeviceCapabilities: get: tags: - Capabilities summary: 'Device: GetServiceCapabilities' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetServiceCapabilitiesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: d78a2e7d-7662-4ffe-9bcb-f51774e3f4b9 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: DeviceCapabilities origin: 1666391608703045000 readings: - id: 7f5cf13f-385d-4eb5-a492-facf47e5b1e8 origin: 1666391608703045000 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: DeviceCapabilities profileName: onvif-camera valueType: Object value: '' objectValue: Capabilities: Misc: AuxiliaryCommands: AttrList: Network: DHCPv6: false Dot11Configuration: true Dot1XConfigurations: 0 DynDNS: false HostnameFromDHCP: false IPFilter: false IPVersion6: false NTP: 1 ZeroConfiguration: false Security: AccessPolicyConfig: false DefaultAccessPolicy: false Dot1X: false HttpDigest: false KerberosToken: false MaxPasswordLength: 0 MaxUserNameLength: 0 MaxUsers: 0 OnboardKeyGeneration: false RELToken: false RemoteUserHandling: false SAMLToken: false SupportedEAPMethods: Types: TLS1_0: false TLS1_1: false TLS1_2: false UsernameToken: true X_509Token: false System: AutoGeo: AttrList: DiscoveryBye: false DiscoveryResolve: false FirmwareUpgrade: false GeoLocationEntries: 0 HttpFirmwareUpgrade: false HttpSupportInformation: false HttpSystemBackup: false HttpSystemLogging: false MaxStorageConfigurations: 0 RemoteDiscovery: false StorageConfiguration: false SystemBackup: false SystemLogging: false '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetServiceCapabilities externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetServiceCapabilities description: |- Returns the capabilities of the device service. The result is returned in a typed answer.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/MediaCapabilities: get: tags: - Capabilities summary: 'Media: GetServiceCapabilities' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetServiceCapabilitiesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 6d536924-265a-4f2d-b494-ccaa550af64f deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: MediaCapabilities origin: 1666391854866122800 readings: - id: 7d5788b9-f0c2-4d4a-be20-3256e9bd6368 origin: 1666391854866122800 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: MediaCapabilities profileName: onvif-camera valueType: Object value: '' objectValue: Capabilities: EXICompression: false OSD: true ProfileCapabilities: MaximumNumberOfProfiles: 10 Rotation: false SnapshotUri: false StreamingCapabilities: NoRTSPStreaming: true NonAggregateControl: true RTPMulticast: false RTP_RTSP_TCP: true RTP_TCP: true TemporaryOSDText: false VideoSourceMode: true '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetServiceCapabilities externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetServiceCapabilities description: |- Returns the capabilities of the media service. The result is returned in a typed answer.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZCapabilities: get: tags: - Capabilities summary: 'PTZ: GetServiceCapabilities' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetServiceCapabilitiesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: c9001dc2-902c-452f-9e9c-4822c86da942 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZCapabilities origin: 1666391880436591400 readings: - id: 5886858d-668d-4bc3-bc1d-2aa6555c09fc origin: 1666391880436591400 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZCapabilities profileName: onvif-camera valueType: Object value: '' objectValue: Capabilities: EFlip: true GetCompatibleConfigurations: true MoveStatus: false Reverse: true StatusPosition: false '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetServiceCapabilities externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetServiceCapabilities description: |- Returns the capabilities of the PTZ service. The result is returned in a typed answer.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/ImagingCapabilities: get: tags: - Capabilities summary: 'Imaging: GetServiceCapabilities' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: Successful response content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/imaging_GetServiceCapabilitiesResponse' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: imaging_GetServiceCapabilities externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/imaging/wsdl/imaging.wsdl#op.GetServiceCapabilities description: |- Returns the capabilities of the imaging service. The result is returned in a typed answer.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/EventCapabilities: get: tags: - Capabilities summary: 'Event: GetServiceCapabilities' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/event_GetServiceCapabilitiesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 746f8b0c-6ef7-4dc3-b32f-bef25790d2de deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: EventCapabilities origin: 1666391902948425000 readings: - id: 31c20970-a595-4689-8ac0-e16d258f8dba origin: 1666391902948425000 deviceName: tp-link-Tapo-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: EventCapabilities profileName: onvif-camera valueType: Object value: '' objectValue: Capabilities: MaxNotificationProducers: 10 MaxPullPoints: 10 PersistentNotificationStorage: false WSPausableSubscriptionManagerInterfaceSupport: false WSPullPointSupport: true WSSubscriptionPolicySupport: false '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: event_GetServiceCapabilities externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/events/wsdl/event.wsdl#op.GetServiceCapabilities description: |- Returns the capabilities of the event service. The result is returned in a typed answer.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/DiscoveryMode: get: tags: - Auto Discovery summary: 'Device: GetDiscoveryMode' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetDiscoveryModeResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 8155efce-41b5-412f-a25d-b63bed015d63 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: DiscoveryMode origin: 1659656339306907600 readings: - id: 099efd6b-d5fa-44a3-98f2-67eb72a1659f origin: 1659656339306907600 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: DiscoveryMode profileName: onvif-camera valueType: Object value: '' objectValue: DiscoveryMode: Discoverable '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetDiscoveryMode externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetDiscoveryMode description: |- This operation gets the discovery mode of a device. See Section 7.2 for the definition of the different device discovery modes. The device shall support retrieval of the discovery mode setting through the GetDiscoveryMode command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Auto Discovery summary: 'Device: SetDiscoveryMode' requestBody: content: application/json: schema: properties: DiscoveryMode: $ref: '#/components/schemas/device_SetDiscoveryMode' required: - DiscoveryMode type: object example: DiscoveryMode: DiscoveryMode: Discoverable parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': &id006 description: OK headers: X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' examples: 200Example: $ref: '#/components/examples/200Example' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetDiscoveryMode externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetDiscoveryMode description: |- This operation sets the discovery mode operation of a device. See Section 7.2 for the definition of the different device discovery modes. The device shall support configuration of the discovery mode setting through the SetDiscoveryMode command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AddDiscoveryScopes: put: tags: - Auto Discovery summary: 'Device: AddScopes' requestBody: content: application/json: schema: properties: AddDiscoveryScopes: $ref: '#/components/schemas/device_AddScopes' required: - AddDiscoveryScopes type: object example: AddDiscoveryScopes: ScopeItem: - http//:123 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_AddScopes externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.AddScopes description: |- This operation adds new configurable scope parameters to a device. The scope parameters are used in the device discovery to match a probe message. The device shall support addition of discovery scope parameters through the AddScopes command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/DiscoveryScopes: get: tags: - Auto Discovery summary: 'Device: GetScopes' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetScopesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 05f573f4-0836-45ad-b9ba-c393f9927586 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: DiscoveryScopes origin: 1659659228090509000 readings: - id: ea858652-cb16-432c-bf45-f9785cd00d85 origin: 1659659228090509000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: DiscoveryScopes profileName: onvif-camera valueType: Object value: '' objectValue: Scopes: - ScopeDef: Fixed ScopeItem: onvif://www.onvif.org/name/TP-IPC - ScopeDef: Fixed ScopeItem: onvif://www.onvif.org/hardware/MODEL - ScopeDef: Fixed ScopeItem: onvif://www.onvif.org/Profile/Streaming - ScopeDef: Fixed ScopeItem: onvif://www.onvif.org/location/ShenZhen - ScopeDef: Fixed ScopeItem: onvif://www.onvif.org/type/NetworkVideoTransmitter '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetScopes externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetScopes description: |- This operation requests the scope parameters of a device. The scope parameters are used in the device discovery to match a probe message, see Section 7. The Scope parameters are of two different types:
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Auto Discovery summary: 'Device: SetScopes' requestBody: content: application/json: schema: properties: DiscoveryScopes: $ref: '#/components/schemas/device_SetScopes' required: - DiscoveryScopes type: object example: DiscoveryScopes: Scopes: - http//:123 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetScopes externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetScopes description: |- This operation sets the scope parameters of a device. The scope parameters are used in the device discovery to match a probe message. This operation replaces all existing configurable scope parameters (not fixed parameters). If this shall be avoided, one should use the scope add command instead. The device shall support configuration of discovery scope parameters through the SetScopes command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/RemoveDiscoveryScopes: put: tags: - Auto Discovery summary: 'Device: RemoveScopes' requestBody: content: application/json: schema: properties: RemoveDiscoveryScopes: $ref: '#/components/schemas/device_RemoveScopes' required: - RemoveDiscoveryScopes type: object example: RemoveDiscoveryScopes: ScopeItem: - onvif://www.onvif.org/name/Geovision parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '500': description: Internal Server Error headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: type: object example: apiVersion: v3 message: >- request failed, status code: 500, err: {"apiVersion":"v3","message":"error writing DeviceResourece RemoveDiscoveryScopes for Intel-SimCamera-003caffe-6392-4bb2-a5a4-f027d2e89ee1 -\u003e failed to execute write command, \u003cnil\u003e -\u003e invalid request for the function 'RemoveDiscoveryScopes' of web service 'Device'. Onvif error: fault reason: Trying to Remove scope which does not exist, fault detail: , fault code: s:Sender ter:InvalidArgVal ter:NoScope","statusCode":500} statusCode: 500 '200': *id006 '400': *id001 '404': *id002 '423': *id003 '503': *id005 operationId: device_RemoveScopes externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.RemoveScopes description: |- This operation deletes scope-configurable scope parameters from a device. The scope parameters are used in the device discovery to match a probe message, see Section 7. The device shall support deletion of discovery scope parameters through the RemoveScopes command. Table
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/EndpointReference: get: tags: - Auto Discovery summary: 'Device: GetEndpointReference' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: Successful response content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetEndpointReferenceResponse' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetEndpointReference externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetEndpointReference description: |- A client can ask for the device service endpoint reference address property that can be used to derive the password equivalent for remote user operation. The device shall support the GetEndpointReference command returning the address property of the device service endpoint reference.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/Hostname: get: tags: - Network Configuration summary: 'Device: GetHostname' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetHostnameResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 6ad6d2d6-51af-4084-8a6a-952928942732 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: Hostname origin: 1659655574277981200 readings: - id: b8e4ba90-2aeb-4336-a5ca-923456cff383 origin: 1659655574277981200 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: Hostname profileName: onvif-camera valueType: Object value: '' objectValue: HostnameInformation: FromDHCP: false Name: hostname '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetHostname externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetHostname description: |- This operation is used by an endpoint to get the hostname from a device. The device shall return its hostname configurations through the GetHostname command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Network Configuration summary: 'Device: SetHostname' requestBody: content: application/json: schema: properties: Hostname: $ref: '#/components/schemas/device_SetHostname' required: - Hostname type: object example: Hostname: Name: localhost555 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetHostname externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetHostname description: |- This operation sets the hostname on a device. It shall be possible to set the device hostname configurations through the SetHostname command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/DNS: get: tags: - Network Configuration summary: 'Device: GetDNS' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetDNSResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: b45c64e4-1e1b-49c5-a1b9-d83f15e280b2 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: DNS origin: 1664265880674763500 readings: - id: 548e6841-0914-4e9c-935e-c58320a998a8 origin: 1664265880674763500 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: DNS profileName: onvif-camera valueType: Object value: '' objectValue: DNSInformation: DNSManual: IPv4Address: 223.5.5.5 Type: IPv4 FromDHCP: false '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetDNS externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetDNS description: |- This operation gets the DNS settings from a device. The device shall return its DNS configurations through the GetDNS command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Network Configuration summary: 'Device: SetDNS' requestBody: content: application/json: schema: properties: DNS: $ref: '#/components/schemas/device_SetDNS' required: - DNS type: object example: DNS: FromDHCP: true DNSManual: Type: IPv4 IPv4Address: 192.168.12.1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetDNS externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetDNS description: |- This operation sets the DNS settings on a device. It shall be possible to set the device DNS configurations through the SetDNS command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/NetworkInterfaces: get: tags: - Network Configuration summary: 'Device: GetNetworkInterfaces' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetNetworkInterfacesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: acc3a74d-852a-4c0c-bf31-dbc06d8a0782 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: NetworkInterfaces origin: 1659655709817960400 readings: - id: 74571fe4-731a-4925-99eb-7d4c317834f6 origin: 1659655709817960400 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: NetworkInterfaces profileName: onvif-camera valueType: Object value: '' objectValue: NetworkInterfaces: Enabled: true IPv4: Config: DHCP: false Manual: Address: 10.0.0.195 PrefixLength: 24 Enabled: true Info: HwAddress: 10:27:F5:EA:88:F4 MTU: 1500 Name: eth0 Token: eth0 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetNetworkInterfaces externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetNetworkInterfaces description: |- This operation gets the network interface configuration from a device. The device shall support return of network interface configuration settings as defined by the NetworkInterface type through the GetNetworkInterfaces command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Network Configuration summary: 'Device: SetNetworkInterfaces' requestBody: content: application/json: schema: properties: NetworkInterfaces: $ref: '#/components/schemas/device_SetNetworkInterfaces' required: - NetworkInterfaces type: object example: NetworkInterfaces: InterfaceToken: eth0 NetworkInterface: Enabled: true IPv4: DHCP: true parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetNetworkInterfaces externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetNetworkInterfaces description: |- This operation sets the network interface configuration on a device. The device shall support network configuration of supported network interfaces through the SetNetworkInterfaces command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/NetworkProtocols: get: tags: - Network Configuration summary: 'Device: GetNetworkProtocols' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetNetworkProtocolsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 193b3677-23c8-4d89-852e-73a1aabf445e deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: NetworkProtocols origin: 1659671976670370300 readings: - id: d3a47ec4-3b43-413a-9a67-42f54487cfa5 origin: 1659671976670370300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: NetworkProtocols profileName: onvif-camera valueType: Object value: '' objectValue: NetworkProtocols: - Enabled: true Name: HTTPS Port: 443 - Enabled: true Name: RTSP Port: 554 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetNetworkProtocols externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetNetworkProtocols description: |- This operation gets defined network protocols from a device. The device shall support the GetNetworkProtocols command returning configured network protocols.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Network Configuration summary: 'Device: SetNetworkProtocols' requestBody: content: application/json: schema: properties: NetworkProtocols: $ref: '#/components/schemas/device_SetNetworkProtocols' required: - NetworkProtocols type: object example: NetworkProtocols: NetworkProtocols: - Name: HTTP Enabled: true Port: 2020 - Name: HTTPS Enabled: false Port: 443 - Name: RTSP Enabled: true Port: 554 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetNetworkProtocols externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetNetworkProtocols description: |- This operation configures defined network protocols on a device. The device shall support configuration of defined network protocols through the SetNetworkProtocols command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/NetworkDefaultGateway: get: tags: - Network Configuration summary: 'Device: GetNetworkDefaultGateway' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetNetworkDefaultGatewayResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 66991bcb-ff04-4680-af91-aefe449d517c deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: NetworkDefaultGateway origin: 1664269765488074200 readings: - id: 4c8c2ca4-2c0c-49eb-8c8d-e21209813445 origin: 1664269765488074200 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: NetworkDefaultGateway profileName: onvif-camera valueType: Object value: '' objectValue: NetworkGateway: IPv4Address: 10.0.20.1 IPv6Address: '::' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetNetworkDefaultGateway externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetNetworkDefaultGateway description: |- This operation gets the default gateway settings from a device. The device shall support the GetNetworkDefaultGateway command returning configured default gateway address(es).
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Network Configuration summary: 'Device: SetNetworkDefaultGateway' requestBody: content: application/json: schema: properties: NetworkDefaultGateway: $ref: '#/components/schemas/device_SetNetworkDefaultGateway' required: - NetworkDefaultGateway type: object example: NetworkDefaultGateway: IPv4Address: 192.168.12.1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetNetworkDefaultGateway externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetNetworkDefaultGateway description: |- This operation sets the default gateway settings on a device. The device shall support configuration of default gateway through the SetNetworkDefaultGateway command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/NetworkConfiguration: get: tags: - Network Configuration summary: NetworkConfiguration description: >- Used to retrieve network resources for a device such as Hostname, DNS, NetworkInterfaces, NetworkProtocols and NetworkDefaultGateway. parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/BaseEventResponse' - properties: event: properties: readings: items: allOf: - $ref: '#/components/schemas/ObjectReading' - properties: resourceName: type: string enum: - Hostname - DNS - NetworkInterfaces - NetworkProtocols - NetworkDefaultGateway objectValue: oneOf: - $ref: '#/components/schemas/device_GetHostnameResponse' - $ref: '#/components/schemas/device_GetDNSResponse' - $ref: '#/components/schemas/device_GetNetworkInterfacesResponse' - $ref: '#/components/schemas/device_GetNetworkProtocolsResponse' - $ref: '#/components/schemas/device_GetNetworkDefaultGatewayResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: b34fe9d1-78f9-4b49-961b-80a252e084c4 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: NetworkConfiguration origin: 1659656577804929300 readings: - id: 67e318f5-4426-48ff-8235-4a2471e47baf origin: 1659656577804929300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: Hostname profileName: onvif-camera valueType: Object value: '' objectValue: HostnameInformation: FromDHCP: false Name: hostname - id: 76cfd2b5-f178-4d16-88d1-6b04f129a867 origin: 1659656577804929300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: DNS profileName: onvif-camera valueType: Object value: '' objectValue: DNSInformation: {} - id: 301b79ab-c92d-4a3f-9776-9a71f6c3c340 origin: 1659656577804929300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: NetworkInterfaces profileName: onvif-camera valueType: Object value: '' objectValue: NetworkInterfaces: Enabled: true IPv4: Config: DHCP: false Manual: Address: 10.0.0.188 PrefixLength: 24 Enabled: true Info: HwAddress: 10:27:F5:EA:88:F4 MTU: 1500 Name: eth0 Token: eth0 - id: cc1d5230-06a8-4515-822e-187ba07d0efc origin: 1659656577804929300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: NetworkProtocols profileName: onvif-camera valueType: Object value: '' objectValue: NetworkProtocols: - Enabled: true Name: HTTPS Port: 443 - Enabled: true Name: RTSP Port: 554 - id: 81f9c4e6-1cfd-487a-a05b-b8ea5b39ffcf origin: 1659656577804929300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: NetworkDefaultGateway profileName: onvif-camera valueType: Object value: '' objectValue: NetworkGateway: {} '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_GetNetworkConfiguration put: tags: - Network Configuration summary: NetworkConfiguration description: >- Used to configure network resources for a device such as Hostname, DNS, NetworkInterfaces, NetworkProtocols and NetworkDefaultGateway. requestBody: content: application/json: schema: properties: Hostname: $ref: '#/components/schemas/device_SetHostname' DNS: $ref: '#/components/schemas/device_SetDNS' NetworkInterfaces: $ref: '#/components/schemas/device_SetNetworkInterfaces' NetworkProtocols: $ref: '#/components/schemas/device_SetNetworkProtocols' NetworkDefaultGateway: $ref: '#/components/schemas/device_SetNetworkDefaultGateway' required: - Hostname - DNS - NetworkInterfaces - NetworkProtocols - NetworkDefaultGateway type: object example: Hostname: Name: localhost DNS: FromDHCP: false DNSManual: Type: IPv4 IPv4Address: 192.168.12.1 NetworkInterfaces: InterfaceToken: eth0 NetworkInterface: Enabled: true IPv4: DHCP: false NetworkProtocols: NetworkProtocols: - Name: HTTP Enabled: true Port: 80 NetworkDefaultGateway: IPv4Address: 192.168.12.1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetNetworkConfiguration /api/v3/device/name/{EDGEX_DEVICE_NAME}/DeviceInformation: get: tags: - System Function summary: 'Device: GetDeviceInformation' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetDeviceInformationResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: a025e1b1-7e2b-4db8-95b6-7dac978e9c97 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: DeviceInformation origin: 1659672857568971800 readings: - id: 3039ffbc-165a-46ef-849b-95c7df9aacfa origin: 1659672857568971800 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: DeviceInformation profileName: onvif-camera valueType: Object value: '' objectValue: FirmwareVersion: 1.1.16 Build 211209 Rel.37726n(4555) HardwareId: '1.0' Manufacturer: TP-Link Model: C200 SerialNumber: 00c20000 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetDeviceInformation externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetDeviceInformation description: |- This operation gets basic device information from the device.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/SystemDateAndTime: get: tags: - System Function summary: 'Device: GetSystemDateAndTime' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetSystemDateAndTimeResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: da6f552e-e4b3-4d75-a2ce-989745b8ef7b deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: SystemDateAndTime origin: 1659672865881317600 readings: - id: aa61a541-beb5-4be0-bb7a-625ce60a980e origin: 1659672865881317600 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: SystemDateAndTime profileName: onvif-camera valueType: Object value: '' objectValue: SystemDateAndTime: DateTimeType: NTP DaylightSavings: true Extension: '' LocalDateTime: Date: Month: '8' Year: '2022' Day: '11' Time: Hour: '21' Minute: '14' Second: '25' TimeZone: TZ: > GMT+08:00DST+07:00,M3.2.0/02:00:00,M11.1.0/02:00:00 UTCDateTime: Date: Month: '8' Year: '2022' Day: '11' Time: Hour: '4' Minute: '14' Second: '25' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetSystemDateAndTime externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetSystemDateAndTime description: |- 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.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - System Function summary: 'Device: SetSystemDateAndTime' requestBody: content: application/json: schema: properties: SystemDateAndTime: $ref: '#/components/schemas/device_SetSystemDateAndTime' required: - SystemDateAndTime type: object example: SystemDateAndTime: DateTimeType: Manual DaylightSavings: false UTCDateTime: Date: Month: 12 Year: 2021 Day: 11 Time: Hour: 5 Minute: 48 Second: 20 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetSystemDateAndTime externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetSystemDateAndTime description: |- 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.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | Tapo does not support setting the `DaylightSavings` field to `false`. Regardless of the setting, the camera will always use daylight savings time. | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/SystemFactoryDefault: put: tags: - System Function summary: 'Device: SetSystemFactoryDefault' requestBody: content: application/json: schema: properties: SystemFactoryDefault: $ref: '#/components/schemas/device_SetSystemFactoryDefault' required: - SystemFactoryDefault type: object example: SystemFactoryDefault: FactoryDefault: Soft parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetSystemFactoryDefault externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetSystemFactoryDefault description: |- This operation reloads the parameters on the device to their factory default values.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/RebootNeeded: get: tags: - System Function summary: RebootNeeded description: >- Indicates whether or not a reboot is required after configuration updates. parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/BoolEventResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: cb3b3a49-86e4-44e3-b2a0-426b08168ae1 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: RebootNeeded origin: 1659672882772484400 readings: - id: f56f48df-d664-4179-98d1-abcb496f07bc origin: 1659672882772484400 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: RebootNeeded profileName: onvif-camera valueType: Bool value: 'false' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_GetRebootNeeded /api/v3/device/name/{EDGEX_DEVICE_NAME}/SystemReboot: put: tags: - System Function summary: 'Device: SystemReboot' requestBody: content: application/json: schema: properties: SystemReboot: $ref: '#/components/schemas/device_SystemReboot' required: - SystemReboot type: object example: SystemReboot: {} parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SystemReboot externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SystemReboot description: |- This operation reboots the device.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/Users: get: tags: - User Handling summary: 'Device: GetUsers' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/device_GetUsersResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 8e524ecd-674d-4dd8-b728-de78b8245189 deviceName: Intel-SimCamera-003caffe-6392-4bb2-a5a4-f027d2e89ee1 profileName: onvif-camera sourceName: Users origin: 1664077238993899500 readings: - id: f5086b88-9876-4627-91d5-7ce39431652e origin: 1664077238993899500 deviceName: Intel-SimCamera-003caffe-6392-4bb2-a5a4-f027d2e89ee1 resourceName: Users profileName: onvif-camera valueType: Object value: '' objectValue: User: - UserLevel: Administrator Username: admin - UserLevel: User Username: user '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_GetUsers externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.GetUsers description: |- This operation lists the registered users and corresponding credentials on a device. The device shall support retrieval of registered device users and their credentials for the user token through the GetUsers command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | Tapo returns `200 OK` for all User Management commands, but none of them actually do anything. The only way to modify the users is through the Tapo app. | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - User Handling summary: 'Device: SetUser' requestBody: content: application/json: schema: properties: Users: $ref: '#/components/schemas/device_SetUser' required: - Users type: object example: Users: User: - Username: user1 Password: Password1! UserLevel: Administrator - Username: user2 Password: Password1! UserLevel: Operator parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_SetUser externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.SetUser description: |- This operation updates the settings for one or several users on a device for authentication purposes. The device shall support update of device users and their credentials through the SetUser command. Either all change requests are processed successfully or a fault message shall be returned and no change requests be processed.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | Tapo returns `200 OK` for all User Management commands, but none of them actually do anything. The only way to modify the users is through the Tapo app. | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/CreateUsers: put: tags: - User Handling summary: 'Device: CreateUsers' requestBody: content: application/json: schema: properties: CreateUsers: $ref: '#/components/schemas/device_CreateUsers' required: - CreateUsers type: object example: CreateUsers: User: - Username: user1 Password: Password1! UserLevel: User - Username: user2 Password: Password1! UserLevel: User parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_CreateUsers externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.CreateUsers description: |- This operation creates new device users and corresponding credentials on a device for authentication purposes. The device shall support creation of device users and their credentials through the CreateUsers command. Either all users are created successfully or a fault message shall be returned without creating any user.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | Tapo returns `200 OK` for all User Management commands, but none of them actually do anything. The only way to modify the users is through the Tapo app. | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/DeleteUsers: put: tags: - User Handling summary: 'Device: DeleteUsers' requestBody: content: application/json: schema: properties: DeleteUsers: $ref: '#/components/schemas/device_DeleteUsers' required: - DeleteUsers type: object example: DeleteUsers: Username: - user1 - user2 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: device_DeleteUsers externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl#op.DeleteUsers description: |- This operation deletes users on a device. The device shall support deletion of device users and their credentials through the DeleteUsers command. A device may have one or more fixed users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message shall be returned and no users be deleted.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | Tapo returns `200 OK` for all User Management commands, but none of them actually do anything. The only way to modify the users is through the Tapo app. | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/MetadataConfigurations: get: tags: - Metadata Configuration summary: 'Media: GetMetadataConfigurations' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetMetadataConfigurationsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 95eae089-a594-4af6-b827-c0cd689034e1 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: MetadataConfigurations origin: 1664272201400116500 readings: - id: 147f3297-6d21-4c9d-b0f9-241f1ca0528c origin: 1664272201400116500 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: MetadataConfigurations profileName: onvif-camera valueType: Object value: '' objectValue: Configurations: Analytics: false AnalyticsEngineConfiguration: {} Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 8864 TTL: 128 Name: metaData PTZStatus: Position: false Status: false SessionTimeout: PT5S Token: MetaDataToken '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetMetadataConfigurations externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetMetadataConfigurations description: |- This operation lists all existing metadata configurations. The client need not know anything apriori about the metadata in order to use the command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/MetadataConfiguration: get: tags: - Metadata Configuration summary: 'Media: GetMetadataConfiguration' parameters: - name: jsonObject in: query schema: type: string example: eyJDb25maWd1cmF0aW9uVG9rZW4iOiAiMSJ9 description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Token of the requested metadata configuration. **Schema Reference:** [media_GetMetadataConfiguration](#media_GetMetadataConfiguration) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ConfigurationToken": "1" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetMetadataConfigurationResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 239e1b98-d000-4bc5-8bd8-8287817b756f deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: MetadataConfiguration origin: 1664272513018240800 readings: - id: ab630702-05d5-4c97-98d0-fa23b16e72cc origin: 1664272513018240800 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: MetadataConfiguration profileName: onvif-camera valueType: Object value: '' objectValue: Configuration: Analytics: false AnalyticsEngineConfiguration: {} Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 8864 TTL: 128 Name: metaData PTZStatus: Position: false Status: false SessionTimeout: PT5S Token: MetaDataToken UseCount: 1 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetMetadataConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetMetadataConfiguration description: |- The GetMetadataConfiguration command fetches the metadata configuration if the metadata token is known.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Metadata Configuration summary: 'Media: SetMetadataConfiguration' requestBody: content: application/json: schema: properties: MetadataConfiguration: $ref: '#/components/schemas/media_SetMetadataConfiguration' required: - MetadataConfiguration type: object example: MetadataConfiguration: ForcePersistence: true Configuration: token: '1' Analytics: true parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_SetMetadataConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.SetMetadataConfiguration description: |- This operation modifies a metadata configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Changes in the Multicast settings shall always be persistent. Running streams using this configuration may be updated immediately according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected streams. NVC methods for changing a running stream are out of scope for this specification.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/CompatibleMetadataConfigurations: get: tags: - Metadata Configuration summary: 'Media: GetCompatibleMetadataConfigurations' parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEifQ== description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ProfileToken": "" } ``` **Field Descriptions:** - **ProfileToken** _[string]_
Contains the token of an existing media profile the configurations shall be compatible with. **Schema Reference:** [media_GetCompatibleMetadataConfigurations](#media_GetCompatibleMetadataConfigurations) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetCompatibleMetadataConfigurationsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 37a0130d-d555-44f2-ab9c-6214617eca32 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: CompatibleMetadataConfigurations origin: 1664272369409217800 readings: - id: 86fb41fc-48e7-455f-bb66-78c8f556a21e origin: 1664272369409217800 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: CompatibleMetadataConfigurations profileName: onvif-camera valueType: Object value: '' objectValue: Configurations: Analytics: false AnalyticsEngineConfiguration: {} Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 8864 TTL: 128 Name: metaData PTZStatus: Position: false Status: false SessionTimeout: PT5S Token: MetaDataToken UseCount: 1 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetCompatibleMetadataConfigurations externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetCompatibleMetadataConfigurations description: |- This operation requests all the metadata configurations of the device that are compatible with a certain media profile. Each of the returned configurations shall be a valid input parameter for the AddMetadataConfiguration command on the media profile. The result varies depending on the capabilities, configurations and settings in the device.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/MetadataConfigurationOptions: get: tags: - Metadata Configuration summary: 'Media: GetMetadataConfigurationOptions' parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEifQ== description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "", "ProfileToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Optional metadata configuration token that specifies an existing configuration that the options are intended for. - **ProfileToken** _[string]_
Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. **Schema Reference:** [media_GetMetadataConfigurationOptions](#media_GetMetadataConfigurationOptions) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetMetadataConfigurationOptionsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: e694b7a9-8a40-49c8-a5ed-a655b4342bb7 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: MetadataConfigurationOptions origin: 1664272709504749800 readings: - id: 9951b817-1f15-4dde-98fc-7fe7b5727008 origin: 1664272709504749800 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: MetadataConfigurationOptions profileName: onvif-camera valueType: Object value: '' objectValue: Options: PTZStatusFilterOptions: PanTiltPositionSupported: false PanTiltStatusSupported: false ZoomPositionSupported: false ZoomStatusSupported: false '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetMetadataConfigurationOptions externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetMetadataConfigurationOptions description: |- This operation returns the available options (supported values and ranges for metadata configuration parameters) for changing the metadata configuration.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AddMetadataConfiguration: put: tags: - Metadata Configuration summary: 'Media: AddMetadataConfiguration' requestBody: content: application/json: schema: properties: AddMetadataConfiguration: $ref: '#/components/schemas/media_AddMetadataConfiguration' required: - AddMetadataConfiguration type: object example: AddMetadataConfiguration: ProfileToken: profile_1 ConfigurationToken: '1' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_AddMetadataConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.AddMetadataConfiguration description: |- This operation adds a Metadata configuration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. Adding a MetadataConfiguration to a Profile means that streams using that profile contain metadata. Metadata can consist of events, PTZ status, and/or video analytics data.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/RemoveMetadataConfiguration: put: tags: - Metadata Configuration summary: 'Media: RemoveMetadataConfiguration' requestBody: content: application/json: schema: properties: RemoveMetadataConfiguration: $ref: '#/components/schemas/media_RemoveMetadataConfiguration' required: - RemoveMetadataConfiguration type: object example: RemoveMetadataConfiguration: ProfileToken: profile_1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_RemoveMetadataConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.RemoveMetadataConfiguration description: |- This operation removes a MetadataConfiguration from an existing media profile. If the media profile does not contain a MetadataConfiguration, the operation has no effect. The removal shall be persistent.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/MediaProfiles: get: tags: - Video Streaming summary: 'Media: GetProfiles' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetProfilesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: e6560b52-1952-4d66-9f53-3cf27d48b3c0 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: MediaProfiles origin: 1659656314715442700 readings: - id: 5c7bc03c-308f-4b2c-8bc9-2e59da7d6f65 origin: 1659656314715442700 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: MediaProfiles profileName: onvif-camera valueType: Object value: '' objectValue: Profiles: - AudioEncoderConfiguration: Bitrate: 131072 Encoding: G711 Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 0 TTL: 0 Name: AudioEncoder_1 SampleRate: 8000 SessionTimeout: PT0H1M5S Token: microphone UseCount: 2 AudioSourceConfiguration: Name: AudioSourceConfig SourceToken: raw_as1 Token: asconf UseCount: 2 Extension: Fixed: true MetadataConfiguration: Name: mainStream PTZConfiguration: DefaultAbsolutePantTiltPositionSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace DefaultContinuousPanTiltVelocitySpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace DefaultPTZSpeed: {} DefaultPTZTimeout: PT0H0M20S DefaultRelativePanTiltTranslationSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace PanTiltLimits: Range: URI: '' XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 Token: PTZConfiguration0 Token: profile_1 VideoAnalyticsConfiguration: AnalyticsEngineConfiguration: AnalyticsModule: - Name: MyCellMotionModule Parameters: ElementItem: - Name: Layout SimpleItem: - Name: Sensitivity Value: medium - Name: Enabled Value: off Type: tt:CellMotionEngine - Name: MyTamperDetecModule Parameters: SimpleItem: - Name: Sensitivity - Name: Enabled Type: tt:TamperEngine Name: VideoAnalyticsName RuleEngineConfiguration: Rule: Name: MyTamperDetectorRule Parameters: SimpleItem: - Name: ActiveCells Value: 0P8A8A== - Name: MinCount Value: '5' - Name: AlarmOnDelay Value: '1000' - Name: AlarmOffDelay Value: '1000' Type: tt:TamperDetector Token: VideoAnalyticsToken UseCount: 2 VideoEncoderConfiguration: Encoding: H264 H264: GovLength: 25 H264Profile: Main Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 0 TTL: 0 Name: VideoEncoder_1 Quality: 3 RateControl: BitrateLimit: 1024 EncodingInterval: 1 FrameRateLimit: 15 Resolution: Height: 1080 Width: 1920 SessionTimeout: PT0H1M5S Token: main UseCount: 1 VideoSourceConfiguration: Bounds: Height: 720 Width: 1280 X: 0 Y: 0 Extension: Name: VideoSourceConfig SourceToken: raw_vs1 Token: vsconf UseCount: 2 ViewMode: '' - AudioEncoderConfiguration: Bitrate: 131072 Encoding: G711 Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 0 TTL: 0 Name: AudioEncoder_1 SampleRate: 8000 SessionTimeout: PT0H1M5S Token: microphone UseCount: 2 AudioSourceConfiguration: Name: AudioSourceConfig SourceToken: raw_as1 Token: asconf UseCount: 2 Extension: Fixed: true MetadataConfiguration: Name: minorStream PTZConfiguration: DefaultAbsolutePantTiltPositionSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace DefaultContinuousPanTiltVelocitySpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace DefaultPTZSpeed: {} DefaultPTZTimeout: PT0H0M20S DefaultRelativePanTiltTranslationSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace PanTiltLimits: Range: URI: '' XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 Token: PTZConfiguration0 Token: profile_2 VideoAnalyticsConfiguration: AnalyticsEngineConfiguration: AnalyticsModule: - Name: MyCellMotionModule Parameters: ElementItem: - Name: Layout SimpleItem: - Name: Sensitivity Value: medium - Name: Enabled Value: off Type: tt:CellMotionEngine - Name: MyTamperDetecModule Parameters: SimpleItem: - Name: Sensitivity - Name: Enabled Type: tt:TamperEngine Name: VideoAnalyticsName RuleEngineConfiguration: Rule: Name: MyTamperDetectorRule Parameters: SimpleItem: - Name: ActiveCells Value: 0P8A8A== - Name: MinCount Value: '5' - Name: AlarmOnDelay Value: '1000' - Name: AlarmOffDelay Value: '1000' Type: tt:TamperDetector Token: VideoAnalyticsToken UseCount: 2 VideoEncoderConfiguration: Encoding: H264 H264: GovLength: 25 H264Profile: Main Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 0 TTL: 0 Name: VideoEncoder_2 Quality: 3 RateControl: BitrateLimit: 256 EncodingInterval: 1 FrameRateLimit: 15 Resolution: Height: 360 Width: 640 SessionTimeout: PT0H1M5S Token: minor UseCount: 1 VideoSourceConfiguration: Bounds: Height: 720 Width: 1280 X: 0 Y: 0 Extension: Name: VideoSourceConfig SourceToken: raw_vs1 Token: vsconf UseCount: 2 ViewMode: '' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetProfiles externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetProfiles description: |- Any endpoint can ask for the existing media profiles of a device using the GetProfiles command. Pre-configured or dynamically configured profiles can be retrieved using this command. This command lists all configured profiles in a device. The client does not need to know the media profile in order to use the command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/StreamUri: get: tags: - Video Streaming summary: 'Media: GetStreamUri' description: |- This operation requests a URI that can be used to initiate a live media stream using RTSP as the control protocol. The returned URI shall remain valid indefinitely even if the profile is changed. The ValidUntilConnect, ValidUntilReboot and Timeout Parameter shall be set accordingly (ValidUntilConnect=false, ValidUntilReboot=false, timeout=PT0S). The correct syntax for the StreamSetup element for these media stream setups defined in 5.1.1 of the streaming specification are as follows: RTP unicast over UDP: StreamType = "RTP_unicast", TransportProtocol = "UDP" RTP over RTSP over HTTP over TCP: StreamType = "RTP_unicast", TransportProtocol = "HTTP" RTP over RTSP over TCP: StreamType = "RTP_unicast", TransportProtocol = "RTSP" If a multicast stream is requested at least one of VideoEncoderConfiguration, AudioEncoderConfiguration and MetadataConfiguration shall have a valid multicast setting. For full compatibility with other ONVIF services a device should not generate Uris longer than 128 octets.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEiLCJTdHJlYW1TZXR1cCI6eyJTdHJlYW0iOiJSVFAtVW5pY2FzdCIsIlRyYW5zcG9ydCI6eyJQcm90b2NvbCI6IlJUU1AifX19 description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ProfileToken": "", "StreamSetup": { "Stream": "RTP-Unicast|RTP-Multicast", "Transport": { "Protocol": "UDP|TCP|RTSP|HTTP", "Tunnel": { $ref: onvif_Transport } } } } ``` **Field Descriptions:** - **ProfileToken** _[string]_
The ProfileToken element indicates the media profile to use and will define the configuration of the content of the stream. - **StreamSetup** _[object]_
Stream Setup that should be used with the uri - **Stream** _[string]_
Defines if a multicast or unicast stream is requested
_Enum: ['RTP-Unicast', 'RTP-Multicast']_ - **Transport** _[object]_ - **Protocol** _[string]_
Defines the network protocol for streaming, either UDP=RTP/UDP, RTSP=RTP/RTSP/TCP or HTTP=RTP/RTSP/HTTP/TCP
_Enum: ['UDP', 'TCP', 'RTSP', 'HTTP']_ - **Tunnel** _[Recursive object of type [onvif_Transport](#onvif_Transport)]_
Optional element to describe further tunnel options. This element is normally not needed **Schema Reference:** [media_GetStreamUri](#media_GetStreamUri) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1", "StreamSetup": { "Stream": "RTP-Unicast", "Transport": { "Protocol": "RTSP" } } } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetStreamUriResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 0ef64d9b-ba26-49a9-9a9f-5ec6f7b47190 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: StreamUri origin: 1659656323588827000 readings: - id: 255085ba-4399-489d-aa34-cab5e1379281 origin: 1659656323588827000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: StreamUri profileName: onvif-camera valueType: Object value: '' objectValue: MediaUri: InvalidAfterConnect: false InvalidAfterReboot: false Timeout: PT0H0M2S Uri: rtsp://10.0.0.188:554/stream1 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetStreamUri externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetStreamUri /api/v3/device/name/{EDGEX_DEVICE_NAME}/Snapshot: get: tags: - Video Streaming summary: Snapshot description: |- This request returns a snapshot of the video stream at the time the command is given. It is returned in a binary format.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | You must use `Digest Auth` or `Both` as the Auth-Mode in order for this to work. | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEifQ== description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ProfileToken": "" } ``` **Field Descriptions:** - **ProfileToken** _[string]_
The ProfileToken element indicates the media profile to use and will define the source and dimensions of the snapshot. **Schema Reference:** [media_GetSnapshotUri](#media_GetSnapshotUri) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/BinaryEventResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 5fdf593f-2a92-4a71-b08c-791d7a27fdff deviceName: Intel-SimCamera-003caffe-6392-4bb2-a5a4-f027d2e89ee1 profileName: onvif-camera sourceName: Snapshot origin: 1665415500727830500 readings: - id: d04a9dad-feb9-4099-a524-8a4b4cf2cc37 origin: 1665415500727830500 deviceName: Intel-SimCamera-003caffe-6392-4bb2-a5a4-f027d2e89ee1 resourceName: Snapshot profileName: onvif-camera valueType: Binary binaryValue: >- /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACAAKADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDzGwiBtoGx/wAs1/kK0BGPSotPH+g23/XFP5CreKxOyOwxVqTYuOlAWn7eKQFd1VQDtH3hUgtoz1QUsq/u2PoM1PikBCLWL+4KelkhOQSAOp3dKoX+sQWalVO+X0HasB9bumOfMP0oDmR2T6c/klt/4d/5VRvNOkhxvQrkcblH4/rmsaz8TT25bzP3qMCNp7Z9K3IvGcU0C211F5kROTnG4dOh7dKYXTMPysXeMV0MKgDpVC4+xTXiy2QkMXPDNuI4rRgGcUBYsqgFSgUiLUoFMmwzbU8a0wLzVmMAimMlij713+h2a2lhEpX52G5vxrj9Nthc3kUJGQx5HtXoUaYFBUELIgYZ2ivLviHKJ47tAoxDAyj8ia9TkkWGF5HOFUc15H4oJm03UZW5LQyH9DTiKo9DmdPQ/YbbH/PFP5CrgWoNNP8AxLbX/rin8hVwVIR2GBacFp4UU8LSAryL8hqrqF4LTTTICN54XNaEi/Ka5LXpi8kcfZF6e5oAxXcscmoy1KetMaqSMGLuGacGqIU8A02gNK0vWhTAJByDXX6bMLiFXXvXBxiur8NSMZBGx+X0rKRvTd3Y6VBUyjirM1uoCOg4bP5j/IqMJirTHKNhgFSxjmgJTo1IamSdL4Xh3X5fH3Vrs8Yrl/Csf7yZ/Yf1rqyKGaIyddlMemOF43naa8419c6HqJx/y7Sf+gmvQPExItIVHQuc/lXB6+MeH9SP/TtJ/wCgmtYGFU5jTVH9mWn/AFxT+Qq2FqjppP8AZ1qP+mKfyFaS9KxNI7ABTgKUCngDFICMjiuG1cEXsoPrXdtiuP8AEUW25V/7wNBMjnj1ptPbrTcc1Zix8MZedR2zzVuWEKpUDBBp1lDj5z+FWbiA7t46GspT1OmnT0uVbOHfLg9K9G0Lw8xtYLuAr5chYZZuflxk1wtpFtkz2r03w5K7aBdRXczrHbyRNGuBwH3A4+vH6UblU9GdHe2sP2Nx5iBtxK57np/9euaxTjfSSjBOBTQaqBdRp7CgU9Rg01aeOtUYnV+FjzN9BXUiuS8Ln/SWX1WuvUc0MtGJ4nQ/Z7Y44yf6VwfiEY8P6l/17Sf+gmvR/ESb9MiOORJ/MH/CvP8AxGn/ABT2pHt9lk/9BNbwOeocPp0MzWFqwdR+5T+Qq4ILr+8lJpqj+zbP/rhH/wCg1eVaxNY7FURXX95Kf9nu/wC+lWwKkAqWhmU7XKnBWsvWIxJYuzD5lwRXTyRFkIUZasPVrO5Ns6LBISeOmR+lAmjidhJp6QMx6VrLpk0Ry8R/KmPHtbGMVnKdg5CONdiYFWuGhwagqzEm5BWL1N4qxNZoN4wK9C1R/M0jSQEVWNth2A5faxVc/QAVwtpGVbPpXpviH+zrTR9Ks1niFxDHlgvcNz/P+daxYmjnIweKsqKbGqkDBzU6rWyMhB0p69aAlSpHVNEm1oD7L+L3OK7pBXnunnyriJ/Rga9CRuhpFplTWofM05sdVIavPfEq48Nap/16S/8AoBr064QTwPGf4gRXm/iZMeGtVyOlpLn/AL5NaQdkY1Fc4fTR/wASyz/64R/+gitFU4qrpUQ/sqyZ8qot48+v3RVpbiVFkiixhxg5QE/gSMj8KzNI7DguFLZGB1yRU9ncWRLLc7xgfK688+mPSs1oHbr+tK6i3i3NwPWpGaUVxam4wqMAOjMe/wBKW8vbSGM+dIq56AnrXPPeSSf8e2UTvIR/IUiwRiOS6nbeQPvSck0mxsklubedW8mVW9s1nOFOeBVS65BuYE8tg33R3FSRP5ihgeDUNDI3t1ZvkGCe1WLa3YcEVNboplBIq/GirIDjjvUuJdN62Io4SozViOEzq4X74rUisEnjPkgucZwAc04RQ2MrJEfMZ12yHHAPfFZ6nZaJjQve2hyrnGehGQa7BrcMsUsQIiliWQE+pHI/A5H4VkSxqyHI6dvSum0TbqPh2W3zmeyJdB3MZ64+h5/GtoHNWguhnhcdadkZ4pWpoHNanMWYeor0G1ffBG2eqivPYuldxob79PXnOKBo0+1cL42h8rQ9ZHrZyn/xw13ijNcj4/hx4c1WT1sZh+SGriRI820qEyaZp/p9mj/9BFX/ALKELEjHyk1Z0qK3g8M6bPMQo+yQkk+6CqNzJc3zYhR0i6Db94/X0qTSOxBcXKR/u41MkvoOg+pqolpNeEGYb8fgo/DvWpDpSR7TIM8Z254/+vV4g8jtxxQBhLZbPv8AJxj2rO1k+UkcC/Vh/KukkT94KwdcXzbmCJRl8HP41IGBGXkcKo9eKfYj9y6n7ytW9Y6X9nUtImZT+lZWwWepTQkYWTFS0ImgilyCBVxGYfeHNWEgCqAKUw07DLNrfvAwaGRo3HQqcVNJ4j1JeWuBKAc/vYlfH0yKzfLxUU/EJpWK5mbNv4kt7ydY9StIgrHDS267Hx/ujg/lWnaXn/CO67b3sJM9jJkpIoIEsZ4I+o9PUVwg4OeldZ4d1GC7h/si+ZVhIzDKesT+v0PQ/wD1qaQc76nS3doslst/asj28nQK2Sh9D+uKoVZ0OO7sdSksJ4d0E64kiZlyfQqSeTyDx1pLu0ksrh4ZR8ynGexHqKohjI+ldd4ZkzbyR+hBrkYq6Xw04W4ZP7woBHVKOK5vx9Hu8Fas392zm/8AQDXTAVheN03+BtcA6ixmP/jhoTJkeZeHLO717TtOjJKWsFtEq8dwgGa6+TSI7WFYoo8d/c1ifDS8M1ra2RXIS3VgfbA6/mK7u5T94D6AD880zWOxxU0Oxm44BqnIPmf6VuXsWC59WNY7rjf+FANFJxjrWNEq3XiBuMiPp9f8mtq6bylZj0GKo+H7cOs923LSNwfYf/XzQKxcljwM4rkNfQpepMBkcv3tyMRmuU1yJpIjjtzQFjT2DaCPTNMJpdOzLpcUjctt5PrSN1pNA0Rmqs/3TVo1Vn+6akCi9EZ/eDmnPUaffBpCO80u7l1fTWtnAluI1zbydHXH8Oe4PTnuRWvaX8eu2yQ3Mu27hG1JG4Dj0Y/ng/nWH4UMQdAW2kNuVj0Hrn/Pb61P4gtRo2us8OPKb54+OxP9Dx+FaDZfMTRMVdSpBxg1q6LKIr6LJwCcU2yceIbMTmBI5EGxpI3ySccbl9Kr2hMcqHuDQQeg1i+M/wDkR9e/7B8//otq2QQyhhyCMg1jeMv+RH1//sHT/wDotqhEyPK/BVzNptnZ6pAhkighjS6XuFIHP0+6fqK9ZiCXUMkqOGVgpUjuMZz+teWeE3XTH0l35tru0ijnB6cxjr7cg13VnIfDepCwlY/2bdHNu78+W3dCfx4qzaOwavCqwu4HaudnGE3Y9K7PVYF+zyrjI25FchIM24GOQcH8KCjn9dfZa3PbGz9RV7TrT7JYRRbcYHP1qjrdu1zfQQJ/y3Khh64P+Ga2ieKDMqXY+Suc1FC6sAOororr7hrHukySfagaZR0K7zpzI3WJsEexq64RvmQ9e1ZGiyiLUrq2b+Mfyz/jWq8TQZK8x9vagZC/ANUZjk1cnOY2+lZrNkVBJHIeaYpwaefmBpi9aQjc0q+e2ZSDxmuo1S5i1rTkjRv9Ig+aMqOq/wAQ/kR9CPSuDSUoKtW+rzWjAxvg1SYzsfD815YKZIbqAQvjzY2BLcfh/UVsEICrxNlHG9T/AD/XIrz2PV5RNuAVAeyjArqfD9691DJGzjMeHUH0PDY/Hb+tO4HpumS+bpsDbs8YNUPGX/Ij6/8A9g6f/wBFtS+HHLWTgn7r8UnjL/kR9f8A+wdP/wCi2oM5H//Z mediaType: image/jpeg value: '' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_GetSnapshot /api/v3/device/name/{EDGEX_DEVICE_NAME}/SnapshotUri: get: tags: - Video Streaming summary: 'Media: GetSnapshotUri' parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEifQ== description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ProfileToken": "" } ``` **Field Descriptions:** - **ProfileToken** _[string]_
The ProfileToken element indicates the media profile to use and will define the source and dimensions of the snapshot. **Schema Reference:** [media_GetSnapshotUri](#media_GetSnapshotUri) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetSnapshotUriResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 1a79ee51-c137-49b6-b884-a5450323850a deviceName: >- HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67 profileName: onvif-camera sourceName: SnapshotUri origin: 1683762930988014800 readings: - id: de3e7c40-d705-4303-987f-d0b0feeffd0f origin: 1683762930988014800 deviceName: >- HIKVISION-DS-2DE2A404IW-DE3-099f4000-4d50-11b4-82c8-c06ded544d67 resourceName: SnapshotUri profileName: onvif-camera valueType: Object value: '' objectValue: MediaUri: Uri: http://10.0.0.165/onvif-http/snapshot?Profile_1 InvalidAfterConnect: false InvalidAfterReboot: false Timeout: PT0S '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetSnapshotUri externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetSnapshotUri description: |- A client uses the GetSnapshotUri command to obtain a JPEG snapshot from the device. The returned URI shall remain valid indefinitely even if the profile is changed. The ValidUntilConnect, ValidUntilReboot and Timeout Parameter shall be set accordingly (ValidUntilConnect=false, ValidUntilReboot=false, timeout=PT0S). The URI can be used for acquiring a JPEG image through a HTTP GET operation. The image encoding will always be JPEG regardless of the encoding setting in the media profile. The Jpeg settings (like resolution or quality) may be taken from the profile if suitable. The provided image will be updated automatically and independent from calls to GetSnapshotUri. /api/v3/device/name/{EDGEX_DEVICE_NAME}/VideoEncoderConfigurations: get: tags: - Video Encoder Configuration summary: 'Media: GetVideoEncoderConfigurations' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetVideoEncoderConfigurationsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 1ee4ca7f-fb95-46b3-8e6d-8542b45b22d4 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: VideoEncoderConfigurations origin: 1659659203023412500 readings: - id: dd2b4e0e-9a62-49bc-a80b-071d4b1ed8e1 origin: 1659659203023412500 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: VideoEncoderConfigurations profileName: onvif-camera valueType: Object value: '' objectValue: Configurations: Encoding: H264 H264: GovLength: 25 H264Profile: Main Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 0 TTL: 0 Name: VideoEncoder_2 Quality: 3 RateControl: BitrateLimit: 256 EncodingInterval: 1 FrameRateLimit: 15 Resolution: Height: 360 Width: 640 SessionTimeout: PT0H1M5S Token: minor UseCount: 1 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetVideoEncoderConfigurations externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetVideoEncoderConfigurations description: |- This operation lists all existing video encoder configurations of a device. This command lists all configured video encoder configurations in a device. The client need not know anything apriori about the video encoder configurations in order to use the command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------|
/api/v3/device/name/{EDGEX_DEVICE_NAME}/VideoEncoderConfiguration: get: tags: - Video Encoder Configuration summary: 'Media: GetVideoEncoderConfiguration' parameters: - name: jsonObject in: query schema: type: string example: eyJDb25maWd1cmF0aW9uVG9rZW4iOiJtYWluIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Token of the requested video encoder configuration. **Schema Reference:** [media_GetVideoEncoderConfiguration](#media_GetVideoEncoderConfiguration) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ConfigurationToken": "main" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetVideoEncoderConfigurationResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 598079d0-d169-4385-86f3-cb7a106345a5 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: VideoEncoderConfiguration origin: 1659659207626081000 readings: - id: 86aed436-65cb-4162-b3e6-14def8e4e4d3 origin: 1659659207626081000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: VideoEncoderConfiguration profileName: onvif-camera valueType: Object value: '' objectValue: Configuration: Encoding: H264 H264: GovLength: 25 H264Profile: Main Multicast: Address: IPv4Address: 0.0.0.0 Type: IPv4 AutoStart: false Port: 0 TTL: 0 Name: VideoEncoder_1 Quality: 3 RateControl: BitrateLimit: 1024 EncodingInterval: 1 FrameRateLimit: 15 Resolution: Height: 1080 Width: 1920 SessionTimeout: PT0H1M5S Token: main UseCount: 1 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetVideoEncoderConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetVideoEncoderConfiguration description: |- If the video encoder configuration token is already known, the encoder configuration can be fetched through the GetVideoEncoderConfiguration command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - Video Encoder Configuration summary: 'Media: SetVideoEncoderConfiguration' requestBody: content: application/json: schema: properties: VideoEncoderConfiguration: $ref: '#/components/schemas/media_SetVideoEncoderConfiguration' required: - VideoEncoderConfiguration type: object example: VideoEncoderConfiguration: ForcePersistence: false Configuration: token: main Encoding: H264 Quality: 3 Resolution: Width: 1920 Height: 1080 Multicast: Address: Type: IPv4 IPv4Address: 0.0.0.0 Port: 8860 TTL: 1 AutoStart: false parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '500': description: Internal Server Error headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: type: object example: apiVersion: v3 message: >- request failed, status code: 500, err: {"apiVersion":"v3","message":"error writing DeviceResourece VideoEncoderConfiguration for TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 -\u003e failed to execute write command, \u003cnil\u003e -\u003e invalid request for the function 'SetVideoEncoderConfiguration' of web service 'Media'. Onvif error: fault reason: , fault detail: , fault code: SOAP-ENV:Sender ","statusCode":500} statusCode: 500 '200': *id006 '400': *id001 '404': *id002 '423': *id003 '503': *id005 operationId: media_SetVideoEncoderConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.SetVideoEncoderConfiguration description: |- This operation modifies a video encoder configuration. The ForcePersistence flag indicates if the changes shall remain after reboot of the device. Changes in the Multicast settings shall always be persistent. Running streams using this configuration may be immediately updated according to the new settings. The changes are not guaranteed to take effect unless the client requests a new stream URI and restarts any affected stream. NVC methods for changing a running stream are out of scope for this specification.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/VideoEncoderConfigurationOptions: get: tags: - Video Encoder Configuration summary: 'Media: GetVideoEncoderConfigurationOptions' parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEiLCJDb25maWd1cmF0aW9uVG9rZW4iOiJtYWluIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "", "ProfileToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Optional video encoder configuration token that specifies an existing configuration that the options are intended for. - **ProfileToken** _[string]_
Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. **Schema Reference:** [media_GetVideoEncoderConfigurationOptions](#media_GetVideoEncoderConfigurationOptions) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1", "ConfigurationToken": "main" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media_GetVideoEncoderConfigurationOptionsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 187b2e94-6efe-421f-b618-186a20fd41df deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: VideoEncoderConfigurationOptions origin: 1659659212171416600 readings: - id: 0b709715-f644-4cf0-a477-dcc3b5ef218c origin: 1659659212171416600 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: VideoEncoderConfigurationOptions profileName: onvif-camera valueType: Object value: '' objectValue: Options: Extension: H264: BitrateRange: Max: 1024 Min: 256 EncodingIntervalRange: Max: 1 Min: 1 FrameRateRange: Max: 15 Min: 1 GovLengthRange: Max: 25 Min: 25 H264ProfilesSupported: - Main ResolutionsAvailable: - Height: 1080 Width: 1920 - Height: 720 Width: 1280 - Height: 360 Width: 640 H264: EncodingIntervalRange: Max: 1 Min: 1 FrameRateRange: Max: 15 Min: 1 GovLengthRange: Max: 25 Min: 25 H264ProfilesSupported: - Main ResolutionsAvailable: - Height: 1080 Width: 1920 - Height: 720 Width: 1280 - Height: 360 Width: 640 QualityRange: Max: 5 Min: 1 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_GetVideoEncoderConfigurationOptions externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.GetVideoEncoderConfigurationOptions description: |- This operation returns the available options (supported values and ranges for video encoder configuration parameters) when the video encoder parameters are reconfigured.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ✔️ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ✔️ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZNodes: get: tags: - PTZ - Capabilities summary: 'PTZ: GetNodes' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetNodesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: dfe1b38e-1590-43c4-ab12-432ed5219476 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZNodes origin: 1659656363928092200 readings: - id: a47fe9e2-b007-4b5e-891b-3d50062b468f origin: 1659656363928092200 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZNodes profileName: onvif-camera valueType: Object value: '' objectValue: PTZNode: - HomeSupported: true Name: Node0 SupportedPTZSpaces: AbsolutePanTiltPositionSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 AbsoluteZoomPositionSpace: URI: '' XRange: Max: 0 Min: 0 ContinuousPanTiltVelocitySpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace XRange: Max: 1 Min: -1 YRange: Max: 1 Min: -1 ContinuousZoomVelocitySpace: URI: '' XRange: Max: 0 Min: 0 Extension: '' PanTiltSpeedSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace XRange: Max: 0 Min: 0 RelativePanTiltTranslationSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 RelativeZoomTranslationSpace: URI: '' XRange: Max: 0 Min: 0 ZoomSpeedSpace: URI: '' XRange: Max: 0 Min: 0 Token: Node0 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetNodes externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetNodes description: |- Get the descriptions of the available PTZ Nodes.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZNode: get: tags: - PTZ - Capabilities summary: 'PTZ: GetNode' parameters: - name: jsonObject in: query schema: type: string description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "NodeToken": "" } ``` **Field Descriptions:** - **NodeToken** _[string]_
Token of the requested PTZNode. **Schema Reference:** [ptz_GetNode](#ptz_GetNode) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "NodeToken": "Node0" } ``` example: eyJOb2RlVG9rZW4iOiAiTm9kZTAifQ== - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetNodeResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 713edf3b-f049-456b-8f3b-4a2dccca683f deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZNode origin: 1659656370279599600 readings: - id: 42af41ee-f72d-4f0c-95cf-0e8326f6d154 origin: 1659656370279599600 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZNode profileName: onvif-camera valueType: Object value: '' objectValue: PTZNode: HomeSupported: true Name: Node0 SupportedPTZSpaces: AbsolutePanTiltPositionSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 AbsoluteZoomPositionSpace: URI: '' XRange: Max: 0 Min: 0 ContinuousPanTiltVelocitySpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace XRange: Max: 1 Min: -1 YRange: Max: 1 Min: -1 ContinuousZoomVelocitySpace: URI: '' XRange: Max: 0 Min: 0 Extension: '' PanTiltSpeedSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace XRange: Max: 0 Min: 0 RelativePanTiltTranslationSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 RelativeZoomTranslationSpace: URI: '' XRange: Max: 0 Min: 0 ZoomSpeedSpace: URI: '' XRange: Max: 0 Min: 0 Token: Node0 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetNode externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetNode description: |- Get a specific PTZ Node identified by a reference token or a name.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZConfigurations: get: tags: - PTZ - Configuration summary: 'PTZ: GetConfigurations' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetConfigurationsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: b46d0e1e-f173-4bf0-8e35-984395952b09 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZConfigurations origin: 1659656376998679000 readings: - id: edf84087-d700-4967-bf5a-3e76e3c8ec18 origin: 1659656376998679000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZConfigurations profileName: onvif-camera valueType: Object value: '' objectValue: PTZConfiguration: - DefaultAbsolutePantTiltPositionSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace DefaultContinuousPanTiltVelocitySpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace DefaultPTZSpeed: {} DefaultPTZTimeout: PT0H0M20S DefaultRelativePanTiltTranslationSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace PanTiltLimits: Range: URI: '' XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 Token: PTZConfiguration0 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetConfigurations externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetConfigurations description: |- Get all the existing PTZConfigurations from the device.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZConfiguration: get: tags: - PTZ - Configuration summary: 'PTZ: GetConfiguration' parameters: - name: jsonObject in: query schema: type: string description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "PTZConfigurationToken": "" } ``` **Field Descriptions:** - **PTZConfigurationToken** _[string]_
Token of the requested PTZConfiguration. **Schema Reference:** [ptz_GetConfiguration](#ptz_GetConfiguration) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "PTZConfigurationToken": "PTZConfiguration0" } ``` example: eyJQVFpDb25maWd1cmF0aW9uVG9rZW4iOiAiUFRaQ29uZmlndXJhdGlvbjAifQ== - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetConfigurationResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 13f39ebb-cde4-4d99-bbc2-b207c4a40ca3 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZConfiguration origin: 1659656383599131400 readings: - id: 3a5e5c97-268a-4c84-ae79-f51ada66889e origin: 1659656383599131400 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZConfiguration profileName: onvif-camera valueType: Object value: '' objectValue: PTZConfiguration: DefaultAbsolutePantTiltPositionSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace DefaultContinuousPanTiltVelocitySpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace DefaultPTZSpeed: {} DefaultPTZTimeout: PT0H0M20S DefaultRelativePanTiltTranslationSpace: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace PanTiltLimits: Range: URI: '' XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 Token: PTZConfiguration0 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetConfiguration description: |- Get a specific PTZconfiguration from the device, identified by its reference token or name.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
put: tags: - PTZ - Configuration summary: 'PTZ: SetConfiguration' requestBody: content: application/json: schema: properties: PTZConfiguration: $ref: '#/components/schemas/ptz_SetConfiguration' required: - PTZConfiguration type: object example: PTZConfiguration: PTZConfiguration: Token: PROFILE_3263078452 NodeToken: PTZNODE_3 PanTiltLimits: Range: XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_SetConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.SetConfiguration description: |- Set/update a existing PTZConfiguration on the device.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZConfigurationOptions: get: tags: - PTZ - Configuration summary: 'PTZ: GetConfigurationOptions' parameters: - name: jsonObject in: query schema: type: string description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Token of an existing configuration that the options are intended for. **Schema Reference:** [ptz_GetConfigurationOptions](#ptz_GetConfigurationOptions) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ConfigurationToken": "PTZConfiguration0" } ``` example: eyJDb25maWd1cmF0aW9uVG9rZW4iOiAiUFRaQ29uZmlndXJhdGlvbjAifQ== - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetConfigurationOptionsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 418fbbf5-6628-4033-8d7b-0811968dcee8 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZConfigurationOptions origin: 1659671766926306000 readings: - id: 7ceb7891-b7af-4cfe-9bbb-2d0fb3bead14 origin: 1659671766926306000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZConfigurationOptions profileName: onvif-camera valueType: Object value: '' objectValue: PTZConfigurationOptions: PTZTimeout: Max: PT0H0M20S Min: PT0H0M20S Spaces: AbsolutePanTiltPositionSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 AbsoluteZoomPositionSpace: URI: '' XRange: Max: 0 Min: 0 ContinuousPanTiltVelocitySpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace XRange: Max: 1 Min: -1 YRange: Max: 1 Min: -1 ContinuousZoomVelocitySpace: URI: '' XRange: Max: 0 Min: 0 Extension: '' PanTiltSpeedSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/GenericSpeedSpace XRange: Max: 0 Min: 0 RelativePanTiltTranslationSpace: URI: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/TranslationGenericSpace XRange: Max: 170 Min: -170 YRange: Max: 35 Min: -32 RelativeZoomTranslationSpace: URI: '' XRange: Max: 0 Min: 0 ZoomSpeedSpace: URI: '' XRange: Max: 0 Min: 0 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetConfigurationOptions externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetConfigurationOptions description: |- List supported coordinate systems including their range limitations. Therefore, the options MAY differ depending on whether the PTZ Configuration is assigned to a Profile containing a Video Source Configuration. In that case, the options may additionally contain coordinate systems referring to the image coordinate system described by the Video Source Configuration. If the PTZ Node supports continuous movements, it shall return a Timeout Range within which Timeouts are accepted by the PTZ Node.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AddPTZConfiguration: put: tags: - PTZ - Configuration summary: 'Media: AddPTZConfiguration' requestBody: content: application/json: schema: properties: AddPTZConfiguration: $ref: '#/components/schemas/media_AddPTZConfiguration' required: - AddPTZConfiguration type: object example: AddPTZConfiguration: ProfileToken: profile_1 ConfigurationToken: PROFILE_3263078452 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_AddPTZConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.AddPTZConfiguration description: |- This operation adds a PTZConfiguration to an existing media profile. If a configuration exists in the media profile, it will be replaced. The change shall be persistent. Adding a PTZConfiguration to a media profile means that streams using that media profile can contain PTZ status (in the metadata), and that the media profile can be used for controlling PTZ movement.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/RemovePTZConfiguration: put: tags: - PTZ - Configuration summary: 'Media: RemovePTZConfiguration' requestBody: content: application/json: schema: properties: RemovePTZConfiguration: $ref: '#/components/schemas/media_RemovePTZConfiguration' required: - RemovePTZConfiguration type: object example: RemovePTZConfiguration: ProfileToken: PROFILE_3263078452 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media_RemovePTZConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/media/wsdl/media.wsdl#op.RemovePTZConfiguration description: |- This operation removes a PTZConfiguration from an existing media profile. If the media profile does not contain a PTZConfiguration, the operation has no effect. The removal shall be persistent.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZAbsoluteMove: put: tags: - PTZ - Actuation summary: 'PTZ: AbsoluteMove' requestBody: content: application/json: schema: properties: PTZAbsoluteMove: $ref: '#/components/schemas/ptz_AbsoluteMove' required: - PTZAbsoluteMove type: object example: PTZAbsoluteMove: ProfileToken: PROFILE_3263078452 Position: PanTilt: x: 0 y: 0 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_AbsoluteMove externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.AbsoluteMove description: |- Operation to move pan,tilt or zoom to a absolute destination.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZRelativeMove: put: tags: - PTZ - Actuation summary: 'PTZ: RelativeMove' requestBody: content: application/json: schema: properties: PTZRelativeMove: $ref: '#/components/schemas/ptz_RelativeMove' required: - PTZRelativeMove type: object example: PTZRelativeMove: ProfileToken: PROFILE_3263078452 Translation: PanTilt: x: 0 y: 0 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_RelativeMove externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.RelativeMove description: |- Operation for Relative Pan/Tilt and Zoom Move. The operation is supported if the PTZNode supports at least one relative Pan/Tilt or Zoom space.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZContinuousMove: put: tags: - PTZ - Actuation summary: 'PTZ: ContinuousMove' requestBody: content: application/json: schema: properties: PTZContinuousMove: $ref: '#/components/schemas/ptz_ContinuousMove' required: - PTZContinuousMove type: object example: PTZContinuousMove: ProfileToken: profile_1 Velocity: PanTilt: x: -1 y: -1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_ContinuousMove externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.ContinuousMove description: |- Operation for continuous Pan/Tilt and Zoom movements. The operation is supported if the PTZNode supports at least one continuous Pan/Tilt or Zoom space. If the space argument is omitted, the default space set by the PTZConfiguration will be used.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZStatus: get: tags: - PTZ - Actuation summary: 'PTZ: GetStatus' parameters: - name: jsonObject in: query schema: type: string description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ProfileToken": "" } ``` **Field Descriptions:** - **ProfileToken** _[string]_
A reference to the MediaProfile where the PTZStatus should be requested. **Schema Reference:** [ptz_GetStatus](#ptz_GetStatus) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "profile_1" } ``` example: eyJQcm9maWxlVG9rZW4iOiJwcm9maWxlXzEifQ== - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetStatusResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: c8ad64b4-db58-4c9b-9896-82fff02544c9 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZStatus origin: 1659659252963492000 readings: - id: 71444c1c-9e85-4852-9c1e-9bd9eba8d616 origin: 1659659252963492000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZStatus profileName: onvif-camera valueType: Object value: '' objectValue: PTZStatus: MoveStatus: PanTilt: IDLE Position: PanTilt: Space: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace X: 82 Y: -5 UtcTime: '2022-08-05T00:27:32Z' '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetStatus externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetStatus description: |- Operation to request PTZ status for the Node in the selected profile.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZStop: put: tags: - PTZ - Actuation summary: 'PTZ: Stop' requestBody: content: application/json: schema: properties: PTZStop: $ref: '#/components/schemas/ptz_Stop' required: - PTZStop type: object example: PTZStop: ProfileToken: profile_1 PanTilt: true parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_Stop externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.Stop description: |- Operation to stop ongoing pan, tilt and zoom movements of absolute relative and continuous type. If no stop argument for pan, tilt or zoom is set, the device will stop all ongoing pan, tilt and zoom movements.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZPreset: put: tags: - PTZ - PTZPreset summary: 'PTZ: SetPreset' requestBody: content: application/json: schema: properties: PTZPreset: $ref: '#/components/schemas/ptz_SetPreset' required: - PTZPreset type: object example: SetPreset: PresetName: Preset1 ProfileToken: PROFILE_3263078452 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_SetPreset externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.SetPreset description: |- The SetPreset command saves the current device position parameters so that the device can move to the saved preset position through the GotoPreset operation. In order to create a new preset, the SetPresetRequest contains no PresetToken. If creation is successful, the Response contains the PresetToken which uniquely identifies the Preset. An existing Preset can be overwritten by specifying the PresetToken of the corresponding Preset. In both cases (overwriting or creation) an optional PresetName can be specified. The operation fails if the PTZ device is moving during the SetPreset operation. The device MAY internally save additional states such as imaging properties in the PTZ Preset which then should be recalled in the GotoPreset operation.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZPresets: get: tags: - PTZ - PTZPreset summary: 'PTZ: GetPresets' parameters: - name: jsonObject in: query schema: type: string example: eyJQcm9maWxlVG9rZW4iOiAiUFJPRklMRV8zMzA1OTY3Nzk3In0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ProfileToken": "" } ``` **Field Descriptions:** - **ProfileToken** _[string]_
A reference to the MediaProfile where the operation should take place. **Schema Reference:** [ptz_GetPresets](#ptz_GetPresets) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "ProfileToken": "PROFILE_3305967797" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/ptz_GetPresetsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 79dde7e3-9730-4d33-aa9f-48e499b23207 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: PTZPresets origin: 1659659260936957200 readings: - id: 5816a933-ec39-4c58-b8cf-aa3fc8dcbd19 origin: 1659659260936957200 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: PTZPresets profileName: onvif-camera valueType: Object value: '' objectValue: Preset: - Name: Marked Position 2 PTZPosition: PanTilt: Space: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace X: 169 Y: -5 Token: Preset2 - Name: Marked Position 3 PTZPosition: PanTilt: Space: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace X: 115 Y: 13 Token: Preset3 - Name: preset4 PTZPosition: PanTilt: Space: >- http://www.onvif.org/ver10/tptz/PanTiltSpaces/PositionGenericSpace X: 134 Y: 13 Token: Preset4 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GetPresets externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GetPresets description: |- Operation to request all PTZ presets for the PTZNode in the selected profile. The operation is supported if there is support for at least on PTZ preset by the PTZNode.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZGotoPreset: put: tags: - PTZ - PTZPreset summary: 'PTZ: GotoPreset' requestBody: content: application/json: schema: properties: PTZGotoPreset: $ref: '#/components/schemas/ptz_GotoPreset' required: - PTZGotoPreset type: object example: PTZGotoPreset: ProfileToken: PROFILE_3263078452 PresetToken: Preset1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GotoPreset externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GotoPreset description: |- Operation to go to a saved preset position for the PTZNode in the selected profile. The operation is supported if there is support for at least on PTZ preset by the PTZNode.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZRemovePreset: put: tags: - PTZ - PTZPreset summary: 'PTZ: RemovePreset' requestBody: content: application/json: schema: properties: PTZRemovePreset: $ref: '#/components/schemas/ptz_RemovePreset' required: - PTZRemovePreset type: object example: PTZRemovePreset: ProfileToken: profile_1 PresetToken: Preset1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_RemovePreset externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.RemovePreset description: |- Operation to remove a PTZ preset for the Node in the selected profile. The operation is supported if the PresetPosition capability exists for teh Node in the selected profile.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ✔️ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZGotoHomePosition: put: tags: - PTZ - Home Position summary: 'PTZ: GotoHomePosition' description: |- Operation to move the PTZ device to it's "home" position. The operation is supported if the HomeSupported element in the PTZNode is true.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
requestBody: content: application/json: schema: properties: PTZGotoHomePosition: $ref: '#/components/schemas/ptz_GotoHomePosition' required: - PTZGotoHomePosition type: object example: PTZGotoHomePosition: ProfileToken: profile_1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_GotoHomePosition externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.GotoHomePosition /api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZHomePosition: put: tags: - PTZ - Home Position summary: 'PTZ: SetHomePosition' requestBody: content: application/json: schema: properties: PTZHomePosition: $ref: '#/components/schemas/ptz_SetHomePosition' required: - PTZHomePosition type: object example: PTZHomePosition: ProfileToken: profile_1 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_SetHomePosition externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.SetHomePosition description: |- Operation to save current position as the home position. The SetHomePosition command returns with a failure if the “home” position is fixed and cannot be overwritten. If the SetHomePosition is successful, it is possible to recall the Home Position with the GotoHomePosition command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/PTZSendAuxiliaryCommand: put: tags: - PTZ - Auxiliary summary: 'PTZ: SendAuxiliaryCommand' description: |- Manage auxiliary commands supported by a device, such as controlling an Infrared (IR) lamp, a heater or a wiper or a thermometer that is connected to the device. The supported commands can be retrieved via the AuxiliaryCommands capability. Although the name of the auxiliary commands can be freely defined, commands starting with the prefix tt: are reserved to define frequently used commands and these reserved commands shall all share the "tt:command|parameter" syntax. tt:Wiper|On – Request to start the wiper. tt:Wiper|Off – Request to stop the wiper. tt:Washer|On – Request to start the washer. tt:Washer|Off – Request to stop the washer. tt:WashingProcedure|On – Request to start the washing procedure. tt: WashingProcedure |Off – Request to stop the washing procedure. tt:IRLamp|On – Request to turn ON an IR illuminator attached to the unit. tt:IRLamp|Off – Request to turn OFF an IR illuminator attached to the unit. tt:IRLamp|Auto – Request to configure an IR illuminator attached to the unit so that it automatically turns ON and OFF. A device that indicates auxiliary service capability shall support this command.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
requestBody: content: application/json: schema: properties: PTZSendAuxiliaryCommand: $ref: '#/components/schemas/ptz_SendAuxiliaryCommand' required: - PTZSendAuxiliaryCommand type: object example: PTZSendAuxiliaryCommand: ProfileToken: profile_1 AuxiliaryData: '123' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: ptz_SendAuxiliaryCommand externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl#op.SendAuxiliaryCommand /api/v3/device/name/{EDGEX_DEVICE_NAME}/EventProperties: get: tags: - Event Handling summary: 'Event: GetEventProperties' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/event_GetEventPropertiesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 925ca37f-2ed6-43f9-b9e3-4c31849325b7 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: EventProperties origin: 1659659240585563600 readings: - id: dc1e5896-00d9-4e4d-85f7-2dbca9a4b8cb origin: 1659659240585563600 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: EventProperties profileName: onvif-camera valueType: Object value: '' objectValue: FixedTopicSet: true MessageContentFilterDialect: >- http://www.onvif.org/ver10/tev/messageContentFilter/ItemFilter MessageContentSchemaLocation: http://www.onvif.org/onvif/ver10/schema/onvif.xsd TopicExpressionDialect: >- http://docs.oasis-open.org/wsn/t-1/TopicExpression/Concrete TopicNamespaceLocation: http://www.onvif.org/onvif/ver10/topics/topicns.xml TopicSet: tns1:RuleEngine: '#seq': 0 CellMotionDetector: '#seq': 0 Motion: '#attr': wstop:topic: '#seq': 0 '#text': 'true' '#seq': 0 tt:MessageDescription: '#attr': IsProperty: '#seq': 0 '#text': 'true' '#seq': 0 tt:Data: '#seq': 1 tt:SimpleItemDescription: '#attr': Name: '#seq': 1 '#text': IsMotion Type: '#seq': 0 '#text': xsd:boolean '#seq': 0 tt:Source: '#seq': 0 tt:SimpleItemDescription: - '#attr': Name: '#seq': 1 '#text': VideoSourceConfigurationToken Type: '#seq': 0 '#text': tt:ReferenceToken '#seq': 0 - '#attr': Name: '#seq': 1 '#text': VideoAnalyticsConfigurationToken Type: '#seq': 0 '#text': tt:ReferenceToken '#seq': 1 - '#attr': Name: '#seq': 1 '#text': Rule Type: '#seq': 0 '#text': xsd:string '#seq': 2 TamperDetector: '#seq': 1 Tamper: '#attr': wstop:topic: '#seq': 0 '#text': 'true' '#seq': 0 tt:MessageDescription: '#attr': IsProperty: '#seq': 0 '#text': 'true' '#seq': 0 tt:Data: '#seq': 1 tt:SimpleItemDescription: '#attr': Name: '#seq': 1 '#text': IsTamper Type: '#seq': 0 '#text': xsd:boolean '#seq': 0 tt:Source: '#seq': 0 tt:SimpleItemDescription: - '#attr': Name: '#seq': 1 '#text': VideoSourceConfigurationToken Type: '#seq': 0 '#text': tt:ReferenceToken '#seq': 0 - '#attr': Name: '#seq': 1 '#text': VideoAnalyticsConfigurationToken Type: '#seq': 0 '#text': tt:ReferenceToken '#seq': 1 - '#attr': Name: '#seq': 1 '#text': Rule Type: '#seq': 0 '#text': xsd:string '#seq': 2 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: event_GetEventProperties externalDocs: description: Onvif Specification url: https://www.onvif.org/ver10/events/wsdl/event.wsdl#op.GetEventProperties description: |- The WS-BaseNotification specification defines a set of OPTIONAL WS-ResouceProperties. This specification does not require the implementation of the WS-ResourceProperty interface. Instead, the subsequent direct interface shall be implemented by an ONVIF compliant device in order to provide information about the FilterDialects, Schema files and topics supported by the device.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Tapo C200** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/BaseNotificationSubscription: put: tags: - Event Handling summary: BaseNotificationSubscription description: Create a subscription to subscribe the event from the camera requestBody: content: application/json: schema: properties: BaseNotificationSubscription: properties: InitialTerminationTime: $ref: '#/components/schemas/wsnt_AbsoluteOrRelativeTimeType' TopicFilter: type: string type: object required: - BaseNotificationSubscription type: object example: BaseNotificationSubscription: TopicFilter: tns1:RuleEngine/TamperDetector/Tamper InitialTerminationTime: PT180S parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetBaseNotificationSubscription /api/v3/device/name/{EDGEX_DEVICE_NAME}/PullPointSubscription: put: tags: - Event Handling summary: PullPointSubscription description: >- This method returns a PullPointSubscription that can be polled using PullMessages. This message contains the same elements as the SubscriptionRequest of the WS-BaseNotification without the ConsumerReference. If no Filter is specified the pullpoint notifies all occurring events to the client. This method is mandatory. requestBody: content: application/json: schema: properties: PullPointSubscription: properties: MessageContentFilter: type: string InitialTerminationTime: $ref: '#/components/schemas/wsnt_AbsoluteOrRelativeTimeType' MessageTimeout: $ref: '#/components/schemas/wsnt_AbsoluteOrRelativeTimeType' type: object required: - PullPointSubscription type: object example: PullPointSubscription: MessageContentFilter: boolean(//tt:SimpleItem[@Name="Rule"]) InitialTerminationTime: PT120S MessageTimeout: PT20S parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetPullPointSubscription /api/v3/device/name/{EDGEX_DEVICE_NAME}/UnsubscribeCameraEvent: put: tags: - Event Handling summary: UnsubscribeCameraEvent description: >- The device shall provide the following Unsubscribe command for all SubscriptionManager endpoints returned by the CreatePullPointSubscription command. This command shall terminate the lifetime of a pull point. requestBody: content: application/json: schema: properties: UnsubscribeCameraEvent: type: object required: - UnsubscribeCameraEvent type: object example: UnsubscribeCameraEvent: {} parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetUnsubscribeCameraEvent /api/v3/device/name/{EDGEX_DEVICE_NAME}/Media2Profiles: get: tags: - Analytics - Profile Configuration summary: 'Media2: GetProfiles' parameters: - name: jsonObject in: query schema: type: string example: '' description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "Token": "", "Type": [] } ``` **Field Descriptions:** - **Token** _[string]_
Optional token of the requested profile. - **Type** _[array]_
The types shall be provided as defined by tr2:ConfigurationEnumeration. **Schema Reference:** [media2_GetProfiles](#media2_GetProfiles) - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media2_GetProfilesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 100ae377-e811-4b88-bd81-f6f67c86cf61 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: Media2Profiles origin: 1664440520205892000 readings: - id: e6bf94fd-ebde-4b0a-a503-8b23f7a8aebb origin: 1664440520205892000 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: Media2Profiles profileName: onvif-camera valueType: Object value: '' objectValue: Profiles: - Fixed: true Name: mainStream Token: Profile_1 - Fixed: true Name: subStream Token: Profile_2 - Fixed: true Name: thirdStream Token: Profile_3 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media2_GetProfiles externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/media/wsdl/media.wsdl#op.GetProfiles description: |- Retrieve the profile with the specified token or all defined media profiles.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/Media2AnalyticsConfigurations: get: tags: - Analytics - Profile Configuration summary: 'Media2: GetAnalyticsConfigurations' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/media2_GetAnalyticsConfigurationsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 08db4d59-0991-4ace-bb6a-9103c54d38ea deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: Media2AnalyticsConfigurations origin: 1664440527648299300 readings: - id: 6e768a1a-a521-47c6-9d13-2337386768d1 origin: 1664440527648299300 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: Media2AnalyticsConfigurations profileName: onvif-camera valueType: Object value: '' objectValue: PTZConfigurations: - AnalyticsEngineConfiguration: AnalyticsModule: - Name: MyCellMotionModule Parameters: ElementItem: - Name: Layout SimpleItem: - Name: Sensitivity Value: '0' Type: tt:CellMotionEngine - Name: MyLineDetectorModule Parameters: ElementItem: - Name: Layout - Name: Field SimpleItem: - Name: Sensitivity Value: '50' Type: tt:LineDetectorEngine - Name: MyFieldDetectorModule Parameters: ElementItem: - Name: Layout - Name: Field SimpleItem: - Name: Sensitivity Value: '50' Type: tt:FieldDetectorEngine - Name: MyTamperDetecModule Parameters: ElementItem: - Name: Transformation - Name: Field SimpleItem: - Name: Sensitivity Value: '0' Type: hikxsd:TamperEngine Name: VideoAnalyticsName RuleEngineConfiguration: Rule: - Name: MyMotionDetectorRule Parameters: SimpleItem: - Name: MinCount Value: '5' - Name: AlarmOnDelay Value: '1000' - Name: AlarmOffDelay Value: '1000' - Name: ActiveCells Value: zwA= Type: tt:CellMotionDetector - Name: MyTamperDetectorRule Parameters: ElementItem: - Name: Field Type: hikxsd:TamperDetector Token: VideoAnalyticsToken UseCount: 3 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media2_GetAnalyticsConfigurations externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/media/wsdl/media.wsdl#op.GetAnalyticsConfigurations description: |- By default this operation lists all existing video analytics configurations for a device. Provide a profile token to list only configurations that are compatible with the profile. If a configuration token is provided only a single configuration will be returned.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ✔️ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/Media2AddConfiguration: put: tags: - Analytics - Profile Configuration summary: 'Media2: AddConfiguration' requestBody: content: application/json: schema: properties: Media2AddConfiguration: $ref: '#/components/schemas/media2_AddConfiguration' required: - Media2AddConfiguration type: object example: Media2AddConfiguration: ProfileToken: PROFILE_3263078452 Configuration: - Type: Analytics Token: VideoAnalyticsToken_3263078450 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media2_AddConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/media/wsdl/media.wsdl#op.AddConfiguration description: |- This operation adds one or more Configurations to an existing media profile. If a configuration exists in the media profile, it will be replaced. A device shall support adding a compatible Configuration to a Profile containing a VideoSourceConfiguration and shall support streaming video data of such a profile.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/Media2RemoveConfiguration: put: tags: - Analytics - Profile Configuration summary: 'Media2: RemoveConfiguration' requestBody: content: application/json: schema: properties: Media2RemoveConfiguration: $ref: '#/components/schemas/media2_RemoveConfiguration' required: - Media2RemoveConfiguration type: object example: Media2RemoveConfiguration: ProfileToken: PROFILE_3263078452 Configuration: - Type: Analytics Token: VideoAnalyticsToken_3263078450 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: media2_RemoveConfiguration externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/media/wsdl/media.wsdl#op.RemoveConfiguration description: |- This operation removes the listed configurations from an existing media profile. If the media profile does not contain one of the listed configurations that item shall be ignored.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/SupportedAnalyticsModules: get: tags: - Analytics - Modules summary: 'Analytics: GetSupportedAnalyticsModules' parameters: - name: jsonObject in: query schema: type: string example: '' description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Reference to an existing VideoAnalyticsConfiguration. **Schema Reference:** [analytics_GetSupportedAnalyticsModules](#analytics_GetSupportedAnalyticsModules) - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/analytics_GetSupportedAnalyticsModulesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 1caa5b4c-a2d1-403e-90a0-fc7d63a9538c deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: SupportedAnalyticsModules origin: 1664440535746008300 readings: - id: f9f5ddc4-10df-41a1-b50e-c12683683093 origin: 1664440535746008300 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: SupportedAnalyticsModules profileName: onvif-camera valueType: Object value: '' objectValue: SupportedAnalyticsModules: AnalyticsModuleContentSchemaLocation: http://www.w3.org/2001/XMLSchema AnalyticsModuleDescription: - Fixed: false MaxInstances: 1 Messages: Data: SimpleItemDescription: - Name: IsMotion Type: xs:boolean IsProperty: true ParentTopic: tns1:RuleEngine/CellMotionDetector/Motion Source: SimpleItemDescription: - Name: VideoSourceConfigurationToken Type: tt:ReferenceToken - Name: VideoAnalyticsConfigurationToken Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:CellMotionEngine Parameters: ElementItemDescription: - Name: Layout SimpleItemDescription: - Name: Sensitivity Type: xs:integer - Fixed: false MaxInstances: 4 Messages: Data: SimpleItemDescription: - Name: ObjectId Type: xs:integer ParentTopic: tns1:RuleEngine/LineDetector/Crossed Source: SimpleItemDescription: - Name: VideoSourceConfigurationToken Type: tt:ReferenceToken - Name: VideoAnalyticsConfigurationToken Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:LineDetectorEngine Parameters: ElementItemDescription: - Name: Transformation - Name: Field SimpleItemDescription: - Name: Sensitivity Type: xs:integer - Fixed: false MaxInstances: 4 Messages: Data: SimpleItemDescription: - Name: IsInside Type: xs:boolean IsProperty: true Key: SimpleItemDescription: - Name: ObjectId Type: xs:integer ParentTopic: tns1:RuleEngine/FieldDetector/ObjectsInside Source: SimpleItemDescription: - Name: VideoSourceConfigurationToken Type: tt:ReferenceToken - Name: VideoAnalyticsConfigurationToken Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:FieldDetectorEngine Parameters: ElementItemDescription: - Name: Transformation - Name: Field SimpleItemDescription: - Name: Sensitivity Type: xs:integer - Fixed: false MaxInstances: 1 Messages: Data: SimpleItemDescription: - Name: IsTamper Type: xs:boolean IsProperty: true ParentTopic: tns1:RuleEngine/TamperDetector/Tamper Source: SimpleItemDescription: - Name: VideoSourceConfigurationToken Type: tt:ReferenceToken - Name: VideoAnalyticsConfigurationToken Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: hikxsd:TamperEngine Parameters: ElementItemDescription: - Name: Transformation - Name: Field SimpleItemDescription: - Name: Sensitivity Type: xs:integer '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_GetSupportedAnalyticsModules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetSupportedAnalyticsModules description: |- List all analytics modules that are supported by the given VideoAnalyticsConfiguration.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsModules: get: tags: - Analytics - Modules summary: 'Analytics: GetAnalyticsModules' parameters: - name: jsonObject in: query schema: type: string example: eyJWaWRlb0FuYWx5dGljc1Rva2VuIjoiVmlkZW9BbmFseXRpY3NUb2tlbl8zMDEyNTA4MDYwIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Reference to an existing VideoAnalyticsConfiguration. **Schema Reference:** [analytics_GetAnalyticsModules](#analytics_GetAnalyticsModules) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "VideoAnalyticsToken": "VideoAnalyticsToken_3012508060" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/analytics_GetAnalyticsModulesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 09e8fab7-e43d-4ba3-adeb-6ca2d3a3b255 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c profileName: onvif-camera sourceName: AnalyticsModules origin: 1664440545266300000 readings: - id: c2bf2bfe-915f-48e5-bb4b-5cfdf5d9241a origin: 1664440545266300000 deviceName: >- HIKVISION-DS-2DC4223IW-DE-3bd4c000-b1b9-11b3-8202-4cf5dc64a22c resourceName: AnalyticsModules profileName: onvif-camera valueType: Object value: '' objectValue: AnalyticsModule: - Name: MyCellMotionModule Parameters: ElementItem: - Name: Layout SimpleItem: - Name: Sensitivity Value: '0' Type: tt:CellMotionEngine - Name: MyLineDetectorModule Parameters: ElementItem: - Name: Layout - Name: Field SimpleItem: - Name: Sensitivity Value: '50' Type: tt:LineDetectorEngine - Name: MyFieldDetectorModule Parameters: ElementItem: - Name: Layout - Name: Field SimpleItem: - Name: Sensitivity Value: '50' Type: tt:FieldDetectorEngine - Name: MyTamperDetecModule Parameters: ElementItem: - Name: Transformation - Name: Field SimpleItem: - Name: Sensitivity Value: '0' Type: hikxsd:TamperEngine '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_GetAnalyticsModules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetAnalyticsModules description: |- List the currently assigned set of analytics modules of a VideoAnalyticsConfiguration.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
put: tags: - Analytics - Modules summary: 'Analytics: ModifyAnalyticsModules' requestBody: content: application/json: schema: properties: AnalyticsModules: $ref: '#/components/schemas/analytics_ModifyAnalyticsModules' required: - AnalyticsModules type: object example: AnalyticsModules: ConfigurationToken: VideoAnalyticsToken_3263078450 AnalyticsModule: - Name: Viproc Type: tt:CellMotionEngine Parameters: SimpleItem: - Name: Sensitivity Value: '40' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_ModifyAnalyticsModules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.ModifyAnalyticsModules description: |- Modify the settings of one or more analytics modules of a VideoAnalyticsConfiguration. The modules are referenced by their names. It is allowed to pass only a subset to be modified.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/CreateAnalyticsModules: put: tags: - Analytics - Modules summary: 'Analytics: CreateAnalyticsModules' requestBody: content: application/json: schema: properties: CreateAnalyticsModules: $ref: '#/components/schemas/analytics_CreateAnalyticsModules' required: - CreateAnalyticsModules type: object example: CreateAnalyticsModules: ConfigurationToken: VideoAnalyticsToken_3263078450 AnalyticsModule: - Name: TestAnalyticsModule Type: tt:CellMotionEngine Parameters: SimpleItem: - Name: Sensitivity Value: '40' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_CreateAnalyticsModules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.CreateAnalyticsModules description: |- Add one or more analytics modules to an existing VideoAnalyticsConfiguration. The available supported types can be retrieved via
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/DeleteAnalyticsModules: put: tags: - Analytics - Modules summary: 'Analytics: DeleteAnalyticsModules' requestBody: content: application/json: schema: properties: DeleteAnalyticsModules: $ref: '#/components/schemas/analytics_DeleteAnalyticsModules' required: - DeleteAnalyticsModules type: object example: DeleteAnalyticsModules: ConfigurationToken: VideoAnalyticsToken_3263078450 AnalyticsModuleName: - TestAnalyticsModule parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_DeleteAnalyticsModules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.DeleteAnalyticsModules description: |- Remove one or more analytics modules from a VideoAnalyticsConfiguration referenced by their names.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ❌ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsModuleOptions: get: tags: - Analytics - Modules summary: 'Analytics: GetAnalyticsModuleOptions' parameters: - name: jsonObject in: query schema: type: string example: eyJWaWRlb0FuYWx5dGljc1Rva2VuIjoiVmlkZW9BbmFseXRpY3NUb2tlbl8zMDEyNTA4MDYwIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "", "Type": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Reference to an existing AnalyticsConfiguration. - **Type** _[string]_
Reference to an SupportedAnalyticsModule Type returned from GetSupportedAnalyticsModules. **Schema Reference:** [analytics_GetAnalyticsModuleOptions](#analytics_GetAnalyticsModuleOptions) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "VideoAnalyticsToken": "VideoAnalyticsToken_3012508060" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/analytics_GetAnalyticsModuleOptionsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 460b6e4f-88d7-476d-ab9c-d46c5f656124 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 profileName: onvif-camera sourceName: AnalyticsModuleOptions origin: 1665460132225688000 readings: - id: 42a9e19c-82f6-4552-9f1d-459bfc55600a origin: 1665460132225688000 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 resourceName: AnalyticsModuleOptions profileName: onvif-camera valueType: Object value: '' objectValue: Options: - IntRange: Max: 100 Min: 0 Name: Sensitivity Type: tt:IntRange '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_GetAnalyticsModuleOptions externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetAnalyticsModuleOptions description: |- Return the options for the supported analytics modules that specify an Option attribute.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsSupportedRules: get: tags: - Analytics - Rules summary: 'Analytics: GetSupportedRules' parameters: - name: jsonObject in: query schema: type: string example: eyJWaWRlb0FuYWx5dGljc1Rva2VuIjoiVmlkZW9BbmFseXRpY3NUb2tlbl8zMDEyNTA4MDYwIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
References an existing Video Analytics configuration. The list of available tokens can be obtained via the Media service GetVideoAnalyticsConfigurations method. **Schema Reference:** [analytics_GetSupportedRules](#analytics_GetSupportedRules) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "VideoAnalyticsToken": "VideoAnalyticsToken_3012508060" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/analytics_GetSupportedRulesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 4694424b-74bb-45ee-a014-ebb6d09855f9 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 profileName: onvif-camera sourceName: AnalyticsSupportedRules origin: 1665460098832568300 readings: - id: 155dc49e-caa7-492c-be74-0cf150ca2302 origin: 1665460098832568300 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 resourceName: AnalyticsSupportedRules profileName: onvif-camera valueType: Object value: '' objectValue: SupportedRules: RuleContentSchemaLocation: http://www.w3.org/2001/XMLSchema RuleDescription: - Fixed: false MaxInstances: 10 Messages: Data: SimpleItemDescription: - Name: IsMotion Type: xs:boolean IsProperty: true ParentTopic: tns1:RuleEngine/CellMotionDetector/Motion Source: SimpleItemDescription: - Name: VideoSourceConfigurationToken Type: tt:ReferenceToken - Name: VideoAnalyticsConfigurationToken Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:CellMotionDetector Parameters: SimpleItemDescription: - Name: MinCount Type: xs:integer - Name: AlarmOnDelay Type: xs:integer - Name: AlarmOffDelay Type: xs:integer - Name: ActiveCells Type: xs:base64Binary - Fixed: false MaxInstances: 10 Messages: Data: SimpleItemDescription: - Name: State Type: xs:boolean IsProperty: true ParentTopic: tns1:RuleEngine/MotionRegionDetector/Motion Source: SimpleItemDescription: - Name: VideoSource Type: tt:ReferenceToken - Name: RuleName Type: xs:string Name: tt:MotionRegionDetector Parameters: ElementItemDescription: - Name: MotionRegion - Fixed: false MaxInstances: 1 Messages: Data: ElementItemDescription: - Name: Image - Name: BoundingBox SimpleItemDescription: - Name: Likelihood Type: xs:float - Name: Label Type: xs:string - Name: ImageUri Type: xs:anyURI - Name: EnrollmentID Type: xs:string - Name: RefImageUri Type: xs:anyURI IsProperty: true ParentTopic: tns1:RuleEngine/Recognition/Face Source: SimpleItemDescription: - Name: VideoSource Type: tt:ReferenceToken - Name: AnalyticsConfiguration Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:FaceRecognition Parameters: SimpleItemDescription: - Name: IncludeImage Type: xs:string - Fixed: false MaxInstances: 1 Messages: Data: ElementItemDescription: - Name: BoundingBox - Name: Image - Name: LicensePlateInfo - Name: VehicleInfo - Name: VehicleImage SimpleItemDescription: - Name: Likelihood Type: xs:float - Name: Label Type: xs:string - Name: ImageUri Type: xs:anyURI - Name: VehicleImageURI Type: xs:anyURI IsProperty: true ParentTopic: tns1:RuleEngine/Recognition/LicensePlate Source: SimpleItemDescription: - Name: VideoSource Type: tt:ReferenceToken - Name: AnalyticsConfiguration Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:LicensePlateRecognition Parameters: ElementItemDescription: - Name: Region - Name: SnapLine SimpleItemDescription: - Name: IncludeImage Type: xs:string - Name: PlateLocation Type: xs:string - Fixed: false MaxInstances: 1 Messages: Data: SimpleItemDescription: - Name: Count Type: xs:int IsProperty: true ParentTopic: tns1:RuleEngine/CountAggregation/Counter Source: SimpleItemDescription: - Name: VideoSource Type: tt:ReferenceToken - Name: AnalyticsConfiguration Type: tt:ReferenceToken - Name: Rule Type: xs:string Name: tt:LineCounting Parameters: ElementItemDescription: - Name: Segments SimpleItemDescription: - Name: ReportTimeInterval Type: xs:duration - Name: ResetTime Type: xs:time - Name: Direction Type: tt:Direction - Name: PassAllPolylines Type: xs:boolean '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_GetSupportedRules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetSupportedRules description: |- List all rules that are supported by the given VideoAnalyticsConfiguration.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsRules: get: tags: - Analytics - Rules summary: 'Analytics: GetRules' parameters: - name: jsonObject in: query schema: type: string example: eyJWaWRlb0FuYWx5dGljc1Rva2VuIjoiVmlkZW9BbmFseXRpY3NUb2tlbl8zMDEyNTA4MDYwIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Reference to an existing VideoAnalyticsConfiguration. **Schema Reference:** [analytics_GetRules](#analytics_GetRules) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "VideoAnalyticsToken": "VideoAnalyticsToken_3012508060" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/analytics_GetRulesResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 16f84c82-ee09-41bb-a012-27b46cff27fe deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 profileName: onvif-camera sourceName: AnalyticsRules origin: 1665460089922944000 readings: - id: 2f46e1f1-6f39-449a-bd68-6387db6a1008 origin: 1665460089922944000 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 resourceName: AnalyticsRules profileName: onvif-camera valueType: Object value: '' objectValue: Rule: - Name: MyMotionDetectorRule Parameters: SimpleItem: - Name: MinCount Value: '5' - Name: AlarmOnDelay Value: '1000' - Name: AlarmOffDelay Value: '1000' - Name: ActiveCells Value: zwA= Type: tt:CellMotionDetector '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_GetRules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetRules description: |- List the currently assigned set of rules of a VideoAnalyticsConfiguration.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
put: tags: - Analytics - Rules summary: 'Analytics: ModifyRules' requestBody: content: application/json: schema: properties: AnalyticsRules: $ref: '#/components/schemas/analytics_ModifyRules' required: - AnalyticsRules type: object example: AnalyticsRules: ConfigurationToken: VideoAnalyticsToken_3263078450 Rule: - Name: MyMotionDetectorRule Type: tt:ObjectInField Parameters: SimpleItem: - Name: ClassFilter Value: ' Bike Car Truck' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_ModifyRules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.ModifyRules description: |- Modify one or more rules of a VideoAnalyticsConfiguration. The rules are referenced by their names.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsRuleOptions: get: tags: - Analytics - Rules summary: 'Analytics: GetRuleOptions' parameters: - name: jsonObject in: query schema: type: string example: eyJWaWRlb0FuYWx5dGljc1Rva2VuIjoiVmlkZW9BbmFseXRpY3NUb2tlbl8zMDEyNTA4MDYwIn0= description: | **Format:**
This field is a Base64 encoded json string. **JSON Schema:** ```yaml { "ConfigurationToken": "", "RuleType": "" } ``` **Field Descriptions:** - **ConfigurationToken** _[string]_
Reference to an existing analytics configuration. - **RuleType** _[string]_
Reference to an SupportedRule Type returned from GetSupportedRules. **Schema Reference:** [analytics_GetRuleOptions](#analytics_GetRuleOptions) **Example JSON:**
> _Note: This value must be encoded to base64!_ ```json { "VideoAnalyticsToken": "VideoAnalyticsToken_3012508060" } ``` - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: allOf: - $ref: '#/components/schemas/ObjectEventResponse' - properties: event: properties: readings: items: properties: objectValue: $ref: '#/components/schemas/analytics_GetRuleOptionsResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: bf7a5fc7-7523-4690-87b7-273b2a373ed3 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 profileName: onvif-camera sourceName: AnalyticsRuleOptions origin: 1665460126357157600 readings: - id: 2bdd1ff4-7d2a-441b-bbc3-dfa50c27b096 origin: 1665460126357157600 deviceName: Intel-SimCamera-001caffe-48ca-450d-bbd4-cb4f8630ef19 resourceName: AnalyticsRuleOptions profileName: onvif-camera valueType: Object value: '' objectValue: RuleOptions: - MotionRegionConfigOptions: DisarmSupport: false PolygonLimits: Max: 0 Min: 0 PolygonSupport: false Name: MotionRegion Type: axt:MotionRegionConfigOptions '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_GetRuleOptions externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.GetRuleOptions description: |- Return the options for the supported rules that specify an Option attribute.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsCreateRules: put: tags: - Analytics - Rules summary: 'Analytics: CreateRules' requestBody: content: application/json: schema: properties: AnalyticsCreateRules: $ref: '#/components/schemas/analytics_CreateRules' required: - AnalyticsCreateRules type: object example: AnalyticsCreateRules: ConfigurationToken: VideoAnalyticsToken_3263078450 Rule: - Name: Object Counting Type: tt:LineCounting Parameters: SimpleItem: - Name: Armed Value: 'true' ElementItem: - Name: Segments Polyline: Point: - x: '0.16' y: '0.5' - x: '0.16' y: '-0.5' parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_CreateRules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.CreateRules description: |- Add one or more rules to an existing VideoAnalyticsConfiguration. The available supported types can be retrieved via
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/AnalyticsDeleteRules: put: tags: - Analytics - Rules summary: 'Analytics: DeleteRules' requestBody: content: application/json: schema: properties: AnalyticsDeleteRules: $ref: '#/components/schemas/analytics_DeleteRules' required: - AnalyticsDeleteRules type: object example: AnalyticsDeleteRules: ConfigurationToken: VideoAnalyticsToken_3263078450 RuleName: - Object Counting parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: analytics_DeleteRules externalDocs: description: Onvif Specification url: https://www.onvif.org/ver20/analytics/wsdl/analytics.wsdl#op.DeleteRules description: |- Remove one or more rules from a VideoAnalyticsConfiguration.
Tested Camera Models Below is a list of camera models that this command has been tested against, and whether or not the command is supported. | Camera | Supported?    | Notes | |--------|:------------|-------| | **Hikvision DFI6256TE** | ❌ | | | **Tapo C200** | ❌ | | | **BOSCH DINION IP starlight 6000 HD** | ✔️ | | | **GeoVision GV-BX8700** | ❌ | | | **Hikvision DS-2DE2A404IW-DE3** | ❌ | |
/api/v3/device/name/{EDGEX_DEVICE_NAME}/MACAddress: get: tags: - Custom summary: MACAddress description: This command returns the MAC address associated with a device. parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/StringEventResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 92336908-8de3-458b-9f0c-3a0d5daaf721 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: MACAddress origin: 1659657259559177500 readings: - id: 6d54121c-2d9b-4d2f-ac14-29246fb15e31 origin: 1659657259559177500 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: MACAddress profileName: onvif-camera valueType: String value: 10:27:F5:EA:88:F4 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_GetMACAddress put: tags: - Custom summary: MACAddress description: >- MACAddress can also be set via Edgex device command. This is useful for setting the MAC Address for devices which do not contain the MAC Address in the Endpoint Reference Address, or have been added manually without a MAC Address. Since the MAC is used to map credentials for cameras, it is important to have this field filled out. > Note: When a camera successfully becomes `UpWithAuth`, the MAC Address is automatically queried and overridden by the system if available. Device resource MACAddress is used to set `MACAddress` of a camera. requestBody: content: application/json: schema: properties: MACAddress: type: string required: - MACAddress type: object example: MACAddress: 10-27-f5-ea-88-f4 parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetMACAddress /api/v3/device/name/{EDGEX_DEVICE_NAME}/FriendlyName: get: tags: - Custom summary: FriendlyName description: >- This operation is used by an endpoint to get the FriendlyName from a device. This is a name given to a device by a user to make the device more identifiable. parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/StringEventResponse' example: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 0505a28a-0fd9-41d4-8044-784cc089894b deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 profileName: onvif-camera sourceName: FriendlyName origin: 1659657288410588400 readings: - id: 2d0def92-9e38-46bd-a72f-b512be4d5345 origin: 1659657288410588400 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-1027f5ea88f4 resourceName: FriendlyName profileName: onvif-camera valueType: String value: TP-Link C200 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_GetFriendlyName put: tags: - Custom summary: FriendlyName description: >- This operation is used by an endpoint to set the FriendlyName of a device. This is a name given to a device by a user to make the device more identifiable. requestBody: content: application/json: schema: properties: FriendlyName: type: string required: - FriendlyName type: object example: FriendlyName: My Camera parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetFriendlyName /api/v3/device/name/{EDGEX_DEVICE_NAME}/CustomMetadata: get: tags: - Custom summary: CustomMetadata description: >- **Get Custom Metadata** Use this command to return all of the data in the CustomMetadata field. **Get Specific Custom Metadata** Pass the `CustomMetadata` resource a query to get specific field(s) in CustomMetadata. The query must be a base64 encoded json object with an array of fields you want to access. 1. Json object holding an array of fields you want to query. ```json '[ "Color", "Location" ]' ``` 2. Use this command to convert the json object to base64. ```shell echo '[ "Color", "Location" ]' | base64 ``` 3. The response converted to base64. ``` WwogICAgIkNvbG9yIiwKICAgICJMb2NhdGlvbiIKXQo= ``` 4. Use this command to query the fields you provided in the json object. ```shell curl http://localhost:59882/api/v3/device/name//CustomMetadata?jsonObject=WwogICAgIkNvbG9yIiwKICAgICJMb2NhdGlvbiIKXQo= | jq . ``` parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': description: OK headers: Content-Type: schema: type: string example: application/json X-Correlation-Id: $ref: '#/components/headers/correlatedResponseHeader' content: application/json: schema: $ref: '#/components/schemas/ObjectEventResponse' examples: example-0: summary: CustomMetadata value: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 6905a513-3aff-454b-981d-ea8e0c79f195 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-cc32e5000688 profileName: onvif-camera sourceName: CustomMetadata origin: 1663976147356099300 readings: - id: c90f88b6-7e2f-4e37-8fa7-b173a4d6ffec origin: 1663976147356099300 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-cc32e5000688 resourceName: CustomMetadata profileName: onvif-camera valueType: Object value: '' objectValue: Business: John's Grocery Store Install Date: 01/01/1970 Location: Front door example-1: summary: GetSpecificCustomMetadata-multipleFields Copy value: apiVersion: v3 statusCode: 200 event: apiVersion: v3 id: 0749ab9c-05b4-4515-a2b0-5d253aeb8be9 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-cc32e5000688 profileName: onvif-camera sourceName: CustomMetadata origin: 1663976177486172000 readings: - id: 295d2e23-ffae-4c7e-9440-6be14fc1c93e origin: 1663976177486172000 deviceName: TP-Link-C200-3fa1fe68-b915-4053-a3e1-cc32e5000688 resourceName: CustomMetadata profileName: onvif-camera valueType: Object value: '' objectValue: Business: John's Grocery Store Location: Front door '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_GetCustomMetadata put: tags: - Custom summary: CustomMetadata description: >- Use the CustomMetadata resource to set the fields of `CustomMetadata`. Choose the key/value pairs to represent your custom fields. requestBody: content: application/json: schema: properties: CustomMetadata: type: object additionalProperties: type: string required: - CustomMetadata type: object example: CustomMetadata: Location: Front door Business: John's Grocery Store Install Date: 01/01/1970 Color: White parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetCustomMetadata /api/v3/device/name/{EDGEX_DEVICE_NAME}/DeleteCustomMetadata: put: tags: - Custom summary: DeleteCustomMetadata description: >- Use the `DeleteCustomMetadata` resource to delete entries in custom metadata requestBody: content: application/json: schema: properties: DeleteCustomMetadata: type: array items: type: string required: - DeleteCustomMetadata type: object example: DeleteCustomMetadata: - Location - Color parameters: - $ref: '#/components/parameters/EDGEX_DEVICE_NAME' responses: '200': *id006 '400': *id001 '404': *id002 '423': *id003 '500': *id004 '503': *id005 operationId: edgex_SetDeleteCustomMetadata components: schemas: analytics_ConfigOptions: properties: AnalyticsModule: description: Optional name of the analytics module this constraint applies to. This option is only necessary in cases where different constraints for elements with the same Name exist. type: string Name: description: |- The Name of the SimpleItemDescription/ElementItemDescription the ConfigOptions applies to. type: string RuleType: description: The RuleType the ConfigOptions applies to if the Name attribute is ambiguous. type: string Type: description: |- Type of the Rule Options represented by a unique QName. The Type defines the element contained in this structure. This attribute is deprecated since its value must be identical to the embedded element. type: string maxOccurs: description: Maximum number of occurrences. Defaults to one. format: int32 type: integer minOccurs: description: Minimal number of occurrences. Defaults to one. format: int32 type: integer required: - Name type: object analytics_CreateAnalyticsModules: properties: AnalyticsModule: items: $ref: '#/components/schemas/onvif_Config' type: array ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string required: - ConfigurationToken - AnalyticsModule type: object analytics_CreateRules: properties: ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string Rule: items: $ref: '#/components/schemas/onvif_Config' type: array required: - ConfigurationToken - Rule type: object analytics_DeleteAnalyticsModules: properties: AnalyticsModuleName: description: Name of the AnalyticsModule to be deleted. items: type: string type: array ConfigurationToken: description: Reference to an existing Video Analytics configuration. maxLength: 64 type: string required: - ConfigurationToken - AnalyticsModuleName type: object analytics_DeleteRules: properties: ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string RuleName: description: References the specific rule to be deleted (e.g. "MyLineDetector"). items: type: string type: array required: - ConfigurationToken - RuleName type: object analytics_GetAnalyticsModuleOptions: properties: ConfigurationToken: description: Reference to an existing AnalyticsConfiguration. maxLength: 64 type: string Type: description: Reference to an SupportedAnalyticsModule Type returned from GetSupportedAnalyticsModules. type: string required: - ConfigurationToken type: object analytics_GetAnalyticsModuleOptionsResponse: properties: Options: description: List of options for the specified analytics module. The response Options shall not contain any RuleType attribute. items: $ref: '#/components/schemas/analytics_ConfigOptions' type: array type: object analytics_GetAnalyticsModules: properties: ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string required: - ConfigurationToken type: object analytics_GetAnalyticsModulesResponse: properties: AnalyticsModule: items: $ref: '#/components/schemas/onvif_Config' type: array type: object analytics_GetRuleOptions: properties: ConfigurationToken: description: Reference to an existing analytics configuration. maxLength: 64 type: string RuleType: description: Reference to an SupportedRule Type returned from GetSupportedRules. type: string required: - ConfigurationToken type: object analytics_GetRuleOptionsResponse: properties: RuleOptions: description: A device shall provide respective ConfigOptions.RuleType for each RuleOption if the request does not specify RuleType. The response Options shall not contain any AnalyticsModule attribute. items: $ref: '#/components/schemas/analytics_ConfigOptions' type: array type: object analytics_GetRules: properties: ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string required: - ConfigurationToken type: object analytics_GetRulesResponse: properties: Rule: items: $ref: '#/components/schemas/onvif_Config' type: array type: object analytics_GetSupportedAnalyticsModules: properties: ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string required: - ConfigurationToken type: object analytics_GetSupportedAnalyticsModulesResponse: properties: SupportedAnalyticsModules: $ref: '#/components/schemas/onvif_SupportedAnalyticsModules' required: - SupportedAnalyticsModules type: object analytics_GetSupportedRules: properties: ConfigurationToken: description: |- References an existing Video Analytics configuration. The list of available tokens can be obtained via the Media service GetVideoAnalyticsConfigurations method. maxLength: 64 type: string required: - ConfigurationToken type: object analytics_GetSupportedRulesResponse: properties: SupportedRules: $ref: '#/components/schemas/onvif_SupportedRules' required: - SupportedRules type: object analytics_ModifyAnalyticsModules: properties: AnalyticsModule: items: $ref: '#/components/schemas/onvif_Config' type: array ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string required: - ConfigurationToken - AnalyticsModule type: object analytics_ModifyRules: properties: ConfigurationToken: description: Reference to an existing VideoAnalyticsConfiguration. maxLength: 64 type: string Rule: items: $ref: '#/components/schemas/onvif_Config' type: array required: - ConfigurationToken - Rule type: object onvif_AnalyticsCapabilities: properties: AnalyticsModuleSupport: description: Indicates whether or not modules are supported. type: boolean RuleSupport: description: Indicates whether or not rules are supported. type: boolean XAddr: description: Analytics service URI. type: string required: - XAddr - RuleSupport - AnalyticsModuleSupport type: object onvif_AnalyticsDeviceCapabilities: properties: Extension: $ref: '#/components/schemas/onvif_AnalyticsDeviceExtension' RuleSupport: description: Obsolete property. type: boolean XAddr: type: string required: - XAddr type: object onvif_AnalyticsDeviceExtension: type: object onvif_AnalyticsEngineConfiguration: properties: AnalyticsModule: items: $ref: '#/components/schemas/onvif_Config' type: array Extension: $ref: '#/components/schemas/onvif_AnalyticsEngineConfigurationExtension' type: object onvif_AnalyticsEngineConfigurationExtension: type: object onvif_AudioDecoderConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - type: object description: |- The Audio Decoder Configuration does not contain any that parameter to configure the decoding .A decoder shall decode every data it receives (according to its capabilities). onvif_AudioEncoder2Configuration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: Bitrate: description: The output bitrate in kbps. format: int32 type: integer Encoding: description: Audio Media Subtype for the audio format. For definitions see tt:AudioEncodingMimeNames and type: string Multicast: allOf: - $ref: '#/components/schemas/onvif_MulticastConfiguration' - description: Optional multicast configuration of the audio stream. SampleRate: description: The output sample rate in kHz. format: int32 type: integer required: - Encoding - Bitrate - SampleRate type: object onvif_AudioEncoderConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: Bitrate: description: The output bitrate in kbps. format: int32 type: integer Encoding: allOf: - $ref: '#/components/schemas/onvif_AudioEncoding' - description: Audio codec used for encoding the audio input (either G.711, G.726 or AAC) Multicast: allOf: - $ref: '#/components/schemas/onvif_MulticastConfiguration' - description: Defines the multicast settings that could be used for video streaming. SampleRate: description: The output sample rate in kHz. format: int32 type: integer SessionTimeout: description: The rtsp session timeout for the related audio stream format: date-time type: string required: - Encoding - Bitrate - SampleRate - Multicast - SessionTimeout type: object onvif_AudioEncoding: enum: - G711 - G726 - AAC type: string onvif_AudioOutputConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: OutputLevel: description: Volume setting of the output. The applicable range is defined via the option AudioOutputOptions.OutputLevelRange. format: int32 type: integer OutputToken: description: Token of the phsycial Audio output. maxLength: 64 type: string SendPrimacy: description: |- An audio channel MAY support different types of audio transmission. While for full duplex operation no special handling is required, in half duplex operation the transmission direction needs to be switched. The optional SendPrimacy parameter inside the AudioOutputConfiguration indicates which direction is currently active. An NVC can switch between different modes by setting the AudioOutputConfiguration. type: string required: - OutputToken - OutputLevel type: object onvif_AudioSourceConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: SourceToken: description: Token of the Audio Source the configuration applies to maxLength: 64 type: string required: - SourceToken type: object onvif_Capabilities: properties: Analytics: allOf: - $ref: '#/components/schemas/onvif_AnalyticsCapabilities' - description: Analytics capabilities Device: allOf: - $ref: '#/components/schemas/onvif_DeviceCapabilities' - description: Device capabilities Events: allOf: - $ref: '#/components/schemas/onvif_EventCapabilities' - description: Event capabilities Extension: $ref: '#/components/schemas/onvif_CapabilitiesExtension' Imaging: allOf: - $ref: '#/components/schemas/onvif_ImagingCapabilities' - description: Imaging capabilities Media: allOf: - $ref: '#/components/schemas/onvif_MediaCapabilities' - description: Media capabilities PTZ: allOf: - $ref: '#/components/schemas/onvif_PTZCapabilities' - description: PTZ capabilities type: object onvif_CapabilitiesExtension: properties: AnalyticsDevice: $ref: '#/components/schemas/onvif_AnalyticsDeviceCapabilities' DeviceIO: $ref: '#/components/schemas/onvif_DeviceIOCapabilities' Display: $ref: '#/components/schemas/onvif_DisplayCapabilities' Extensions: $ref: '#/components/schemas/onvif_CapabilitiesExtension2' Receiver: $ref: '#/components/schemas/onvif_ReceiverCapabilities' Recording: $ref: '#/components/schemas/onvif_RecordingCapabilities' Replay: $ref: '#/components/schemas/onvif_ReplayCapabilities' Search: $ref: '#/components/schemas/onvif_SearchCapabilities' type: object onvif_CapabilitiesExtension2: type: object onvif_CapabilityCategory: enum: - All - Analytics - Device - Events - Imaging - Media - PTZ type: string onvif_Config: properties: Name: description: Name of the configuration. type: string Parameters: allOf: - $ref: '#/components/schemas/onvif_ItemList' - description: List of configuration parameters as defined in the corresponding description. Type: description: The Type attribute specifies the type of rule and shall be equal to value of one of Name attributes of ConfigDescription elements returned by GetSupportedRules and GetSupportedAnalyticsModules command. type: string required: - Name - Type - Parameters type: object onvif_ConfigDescription: properties: Extension: $ref: '#/components/schemas/onvif_ConfigDescriptionExtension' Messages: description: |- The analytics modules and rule engine produce Events, which must be listed within the Analytics Module Description. In order to do so the structure of the Message is defined and consists of three groups: Source, Key, and Data. It is recommended to use SimpleItemDescriptions wherever applicable. The name of all Items must be unique within all Items contained in any group of this Message. Depending on the component multiple parameters or none may be needed to identify the component uniquely. items: $ref: '#/components/schemas/onvif_Messages' type: array Name: description: The Name attribute (e.g. "tt::LineDetector") uniquely identifies the type of rule, not a type definition in a schema. type: string Parameters: allOf: - $ref: '#/components/schemas/onvif_ItemListDescription' - description: |- List describing the configuration parameters. The names of the parameters must be unique. If possible SimpleItems should be used to transport the information to ease parsing of dynamically defined messages by a client application. fixed: description: The fixed attribute signals that it is not allowed to add or remove this type of configuration. type: boolean maxInstances: description: The maxInstances attribute signals the maximum number of instances per configuration. format: int32 type: integer required: - Name - Parameters type: object onvif_ConfigDescriptionExtension: type: object onvif_ConfigurationEntity: description: Base type defining the common properties of a configuration. properties: Name: description: User readable name. Length up to 64 characters. maxLength: 64 type: string UseCount: description: Number of internal references currently using this configuration. format: int32 type: integer token: description: Token that uniquely references this configuration. Length up to 64 characters. maxLength: 64 type: string required: - token - Name - UseCount type: object onvif_DNSInformation: properties: DNSFromDHCP: description: List of DNS addresses received from DHCP. items: $ref: '#/components/schemas/onvif_IPAddress' type: array DNSManual: description: List of manually entered DNS addresses. items: $ref: '#/components/schemas/onvif_IPAddress' type: array Extension: $ref: '#/components/schemas/onvif_DNSInformationExtension' FromDHCP: description: Indicates whether or not DNS information is retrieved from DHCP. type: boolean SearchDomain: description: Search domain. items: type: string type: array required: - FromDHCP type: object onvif_DNSInformationExtension: type: object onvif_Date: properties: Day: description: Range is 1 to 31. format: int32 type: integer Month: description: Range is 1 to 12. format: int32 type: integer Year: format: int32 type: integer required: - Year - Month - Day type: object onvif_DateTime: properties: Date: $ref: '#/components/schemas/onvif_Date' Time: $ref: '#/components/schemas/onvif_Time' required: - Time - Date type: object onvif_DeviceCapabilities: properties: Extension: $ref: '#/components/schemas/onvif_DeviceCapabilitiesExtension' IO: allOf: - $ref: '#/components/schemas/onvif_IOCapabilities' - description: I/O capabilities. Network: allOf: - $ref: '#/components/schemas/onvif_NetworkCapabilities' - description: Network capabilities. Security: allOf: - $ref: '#/components/schemas/onvif_SecurityCapabilities' - description: Security capabilities. System: allOf: - $ref: '#/components/schemas/onvif_SystemCapabilities' - description: System capabilities. XAddr: description: Device service URI. type: string required: - XAddr type: object onvif_DeviceCapabilitiesExtension: type: object onvif_DeviceEntity: description: Base class for physical entities like inputs and outputs. properties: token: description: Unique identifier referencing the physical entity. maxLength: 64 type: string required: - token type: object onvif_DeviceIOCapabilities: properties: AudioOutputs: format: int32 type: integer AudioSources: format: int32 type: integer RelayOutputs: format: int32 type: integer VideoOutputs: format: int32 type: integer VideoSources: format: int32 type: integer XAddr: type: string required: - XAddr - VideoSources - VideoOutputs - AudioSources - AudioOutputs - RelayOutputs type: object onvif_DiscoveryMode: enum: - Discoverable - NonDiscoverable type: string onvif_DisplayCapabilities: properties: FixedLayout: description: Indication that the SetLayout command supports only predefined layouts. type: boolean XAddr: type: string required: - XAddr - FixedLayout type: object onvif_Dot11Cipher: enum: - CCMP - TKIP - Any - Extended type: string onvif_Dot11Configuration: properties: Alias: maxLength: 64 type: string Mode: $ref: '#/components/schemas/onvif_Dot11StationMode' Priority: format: int32 maximum: 31 minimum: 0 type: integer SSID: format: binary type: string Security: $ref: '#/components/schemas/onvif_Dot11SecurityConfiguration' required: - SSID - Mode - Alias - Priority - Security type: object onvif_Dot11PSKSet: properties: Extension: $ref: '#/components/schemas/onvif_Dot11PSKSetExtension' Key: description: According to IEEE802.11-2007 H.4.1 the RSNA PSK consists of 256 bits, or 64 octets when represented in hex format: binary type: string Passphrase: description: |- According to IEEE802.11-2007 H.4.1 a pass-phrase is a sequence of between 8 and 63 ASCII-encoded characters and each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal),inclusive. pattern: '[ -~]{8,63}' type: string type: object onvif_Dot11PSKSetExtension: type: object onvif_Dot11SecurityConfiguration: properties: Algorithm: $ref: '#/components/schemas/onvif_Dot11Cipher' Dot1X: maxLength: 64 type: string Extension: $ref: '#/components/schemas/onvif_Dot11SecurityConfigurationExtension' Mode: $ref: '#/components/schemas/onvif_Dot11SecurityMode' PSK: $ref: '#/components/schemas/onvif_Dot11PSKSet' required: - Mode type: object onvif_Dot11SecurityConfigurationExtension: type: object onvif_Dot11SecurityMode: enum: - None - WEP - PSK - Dot1X - Extended type: string onvif_Dot11StationMode: enum: - Ad-hoc - Infrastructure - Extended type: string onvif_Dot3Configuration: type: object onvif_Duplex: enum: - Full - Half type: string onvif_DurationRange: description: Range of duration greater equal Min duration and less equal Max duration. properties: Max: format: date-time type: string Min: format: date-time type: string required: - Min - Max type: object onvif_EFlip: properties: Mode: allOf: - $ref: '#/components/schemas/onvif_EFlipMode' - description: Parameter to enable/disable E-Flip feature. required: - Mode type: object onvif_EFlipMode: enum: - false - true - Extended type: string onvif_EFlipOptions: properties: Extension: $ref: '#/components/schemas/onvif_EFlipOptionsExtension' Mode: description: Options of EFlip mode parameter. items: $ref: '#/components/schemas/onvif_EFlipMode' type: array type: object onvif_EFlipOptionsExtension: type: object onvif_ElementItem: description: Complex value structure. properties: Name: description: Item name. type: string required: - Name type: object onvif_ElementItemDescription: description: Description of a complex type. The Type must reference a defined type. properties: Name: description: Item name. Must be unique within a list. type: string Type: description: The type of the item. The Type must reference a defined type. type: string required: - Name - Type type: object onvif_EventCapabilities: properties: WSPausableSubscriptionManagerInterfaceSupport: description: Indicates whether or not WS Pausable Subscription Manager Interface is supported. type: boolean WSPullPointSupport: description: Indicates whether or not WS Pull Point is supported. type: boolean WSSubscriptionPolicySupport: description: Indicates whether or not WS Subscription policy is supported. type: boolean XAddr: description: Event service URI. type: string required: - XAddr - WSSubscriptionPolicySupport - WSPullPointSupport - WSPausableSubscriptionManagerInterfaceSupport type: object onvif_EventSubscription: description: Subcription handling in the same way as base notification subscription. properties: Filter: $ref: '#/components/schemas/wsnt_FilterType' SubscriptionPolicy: $ref: '#/components/schemas/onvif_SubscriptionPolicy' type: object onvif_FactoryDefaultType: description: Enumeration describing the available factory default modes. enum: - Hard - Soft type: string onvif_FloatRange: description: Range of values greater equal Min value and less equal Max value. properties: Max: type: number Min: type: number required: - Min - Max type: object onvif_H264Configuration: properties: GovLength: description: Group of Video frames length. Determines typically the interval in which the I-Frames will be coded. An entry of 1 indicates I-Frames are continuously generated. An entry of 2 indicates that every 2nd image is an I-Frame, and 3 only every 3rd frame, etc. The frames in between are coded as P or B Frames. format: int32 type: integer H264Profile: allOf: - $ref: '#/components/schemas/onvif_H264Profile' - description: the H.264 profile, either baseline, main, extended or high required: - GovLength - H264Profile type: object onvif_H264Options: properties: EncodingIntervalRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported encoding interval range. The encoding interval corresponds to the number of frames devided by the encoded frames. An encoding interval value of "1" means that all frames are encoded. FrameRateRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported frame rate in fps (frames per second). GovLengthRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported group of Video frames length. This value typically corresponds to the I-Frame distance. H264ProfilesSupported: description: List of supported H.264 profiles. items: $ref: '#/components/schemas/onvif_H264Profile' type: array ResolutionsAvailable: description: List of supported image sizes. items: $ref: '#/components/schemas/onvif_VideoResolution' type: array required: - ResolutionsAvailable - GovLengthRange - FrameRateRange - EncodingIntervalRange - H264ProfilesSupported type: object onvif_H264Options2: allOf: - $ref: '#/components/schemas/onvif_H264Options' - properties: BitrateRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported range of encoded bitrate in kbps. required: - BitrateRange type: object onvif_H264Profile: enum: - Baseline - Main - Extended - High type: string onvif_HostnameInformation: properties: Extension: $ref: '#/components/schemas/onvif_HostnameInformationExtension' FromDHCP: description: Indicates whether the hostname is obtained from DHCP or not. type: boolean Name: description: Indicates the hostname. type: string required: - FromDHCP type: object onvif_HostnameInformationExtension: type: object onvif_IOCapabilities: properties: Extension: $ref: '#/components/schemas/onvif_IOCapabilitiesExtension' InputConnectors: description: Number of input connectors. format: int32 type: integer RelayOutputs: description: Number of relay outputs. format: int32 type: integer type: object onvif_IOCapabilitiesExtension: properties: Auxiliary: type: boolean AuxiliaryCommands: items: maxLength: 128 type: string type: array Extension: $ref: '#/components/schemas/onvif_IOCapabilitiesExtension2' required: - Extension type: object onvif_IOCapabilitiesExtension2: type: object onvif_IPAddress: properties: IPv4Address: description: IPv4 address. type: string IPv6Address: description: IPv6 address type: string Type: allOf: - $ref: '#/components/schemas/onvif_IPType' - description: Indicates if the address is an IPv4 or IPv6 address. required: - Type type: object onvif_IPType: enum: - IPv4 - IPv6 type: string onvif_IPv4Configuration: properties: DHCP: description: Indicates whether or not DHCP is used. type: boolean FromDHCP: allOf: - $ref: '#/components/schemas/onvif_PrefixedIPv4Address' - description: IPv4 address configured by using DHCP. LinkLocal: allOf: - $ref: '#/components/schemas/onvif_PrefixedIPv4Address' - description: Link local address. Manual: description: List of manually added IPv4 addresses. items: $ref: '#/components/schemas/onvif_PrefixedIPv4Address' type: array required: - DHCP type: object onvif_IPv4NetworkInterface: properties: Config: allOf: - $ref: '#/components/schemas/onvif_IPv4Configuration' - description: IPv4 configuration. Enabled: description: Indicates whether or not IPv4 is enabled. type: boolean required: - Enabled - Config type: object onvif_IPv4NetworkInterfaceSetConfiguration: properties: DHCP: description: Indicates whether or not DHCP is used. type: boolean Enabled: description: Indicates whether or not IPv4 is enabled. type: boolean Manual: description: List of manually added IPv4 addresses. items: $ref: '#/components/schemas/onvif_PrefixedIPv4Address' type: array type: object onvif_IPv6Configuration: properties: AcceptRouterAdvert: description: Indicates whether router advertisment is used. type: boolean DHCP: allOf: - $ref: '#/components/schemas/onvif_IPv6DHCPConfiguration' - description: DHCP configuration. Extension: $ref: '#/components/schemas/onvif_IPv6ConfigurationExtension' FromDHCP: description: List of IPv6 addresses configured by using DHCP. items: $ref: '#/components/schemas/onvif_PrefixedIPv6Address' type: array FromRA: description: List of IPv6 addresses configured by using router advertisment. items: $ref: '#/components/schemas/onvif_PrefixedIPv6Address' type: array LinkLocal: description: List of link local IPv6 addresses. items: $ref: '#/components/schemas/onvif_PrefixedIPv6Address' type: array Manual: description: List of manually entered IPv6 addresses. items: $ref: '#/components/schemas/onvif_PrefixedIPv6Address' type: array required: - DHCP type: object onvif_IPv6ConfigurationExtension: type: object onvif_IPv6DHCPConfiguration: enum: - Auto - Stateful - Stateless - false type: string onvif_IPv6NetworkInterface: properties: Config: allOf: - $ref: '#/components/schemas/onvif_IPv6Configuration' - description: IPv6 configuration. Enabled: description: Indicates whether or not IPv6 is enabled. type: boolean required: - Enabled type: object onvif_IPv6NetworkInterfaceSetConfiguration: properties: AcceptRouterAdvert: description: Indicates whether router advertisment is used. type: boolean DHCP: allOf: - $ref: '#/components/schemas/onvif_IPv6DHCPConfiguration' - description: DHCP configuration. Enabled: description: Indicates whether or not IPv6 is enabled. type: boolean Manual: description: List of manually added IPv6 addresses. items: $ref: '#/components/schemas/onvif_PrefixedIPv6Address' type: array type: object onvif_ImagingCapabilities: properties: XAddr: description: Imaging service URI. type: string required: - XAddr type: object onvif_IntRange: description: Range of values greater equal Min value and less equal Max value. properties: Max: format: int32 type: integer Min: format: int32 type: integer required: - Min - Max type: object onvif_IntRectangle: description: Rectangle defined by lower left corner position and size. Units are pixel. properties: height: format: int32 type: integer width: format: int32 type: integer x: format: int32 type: integer y: format: int32 type: integer required: - x - y - width - height type: object onvif_ItemList: properties: ElementItem: description: Complex value structure. items: $ref: '#/components/schemas/onvif_ElementItem' type: array Extension: $ref: '#/components/schemas/onvif_ItemListExtension' SimpleItem: description: Value name pair as defined by the corresponding description. items: $ref: '#/components/schemas/onvif_SimpleItem' type: array type: object onvif_ItemListDescription: description: |- Describes a list of items. Each item in the list shall have a unique name. The list is designed as linear structure without optional or unbounded elements. Use ElementItems only when complex structures are inevitable. properties: ElementItemDescription: description: Description of a complex type. The Type must reference a defined type. items: $ref: '#/components/schemas/onvif_ElementItemDescription' type: array Extension: $ref: '#/components/schemas/onvif_ItemListDescriptionExtension' SimpleItemDescription: description: Description of a simple item. The type must be of cathegory simpleType (xs:string, xs:integer, xs:float, ...). items: $ref: '#/components/schemas/onvif_SimpleItemDescription' type: array type: object onvif_ItemListDescriptionExtension: type: object onvif_ItemListExtension: type: object onvif_JpegOptions: properties: EncodingIntervalRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported encoding interval range. The encoding interval corresponds to the number of frames devided by the encoded frames. An encoding interval value of "1" means that all frames are encoded. FrameRateRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported frame rate in fps (frames per second). ResolutionsAvailable: description: List of supported image sizes. items: $ref: '#/components/schemas/onvif_VideoResolution' type: array required: - ResolutionsAvailable - FrameRateRange - EncodingIntervalRange type: object onvif_JpegOptions2: allOf: - $ref: '#/components/schemas/onvif_JpegOptions' - properties: BitrateRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported range of encoded bitrate in kbps. required: - BitrateRange type: object onvif_LensDescription: properties: FocalLength: description: Optional focal length of the optical system. type: number Offset: allOf: - $ref: '#/components/schemas/onvif_LensOffset' - description: Offset of the lens center to the imager center in normalized coordinates. Projection: description: |- Radial description of the projection characteristics. The resulting curve is defined by the B-Spline interpolation over the given elements. The element for Radius zero shall not be provided. The projection points shall be ordered with ascending Radius. Items outside the last projection Radius shall be assumed to be invisible (black). items: $ref: '#/components/schemas/onvif_LensProjection' type: array XFactor: description: Compensation of the x coordinate needed for the ONVIF normalized coordinate system. type: number required: - Offset - Projection - XFactor type: object onvif_LensOffset: properties: x: description: Optional horizontal offset of the lens center in normalized coordinates. type: number y: description: Optional vertical offset of the lens center in normalized coordinates. type: number type: object onvif_LensProjection: properties: Angle: description: Angle of incidence. type: number Radius: description: Mapping radius as a consequence of the emergent angle. type: number Transmittance: description: Optional ray absorption at the given angle due to vignetting. A value of one means no absorption. type: number required: - Angle - Radius type: object onvif_MediaCapabilities: properties: Extension: $ref: '#/components/schemas/onvif_MediaCapabilitiesExtension' StreamingCapabilities: allOf: - $ref: '#/components/schemas/onvif_RealTimeStreamingCapabilities' - description: Streaming capabilities. XAddr: description: Media service URI. type: string required: - XAddr - StreamingCapabilities type: object onvif_MediaCapabilitiesExtension: properties: ProfileCapabilities: $ref: '#/components/schemas/onvif_ProfileCapabilities' required: - ProfileCapabilities type: object onvif_MediaUri: properties: InvalidAfterConnect: description: Indicates if the Uri is only valid until the connection is established. The value shall be set to "false". type: boolean InvalidAfterReboot: description: Indicates if the Uri is invalid after a reboot of the device. The value shall be set to "false". type: boolean Timeout: description: Duration how long the Uri is valid. This parameter shall be set to PT0S to indicate that this stream URI is indefinitely valid even if the profile changes format: date-time type: string Uri: description: Stable Uri to be used for requesting the media stream type: string required: - Uri - InvalidAfterConnect - InvalidAfterReboot - Timeout type: object onvif_MessageDescription: properties: Data: allOf: - $ref: '#/components/schemas/onvif_ItemListDescription' - description: Describes the payload of the message. Extension: $ref: '#/components/schemas/onvif_MessageDescriptionExtension' IsProperty: description: Must be set to true when the described Message relates to a property. An alternative term of "property" is a "state" in contrast to a pure event, which contains relevant information for only a single point in time. type: boolean Key: allOf: - $ref: '#/components/schemas/onvif_ItemListDescription' - description: Describes optional message payload parameters that may be used as key. E.g. object IDs of tracked objects are conveyed as key. Source: allOf: - $ref: '#/components/schemas/onvif_ItemListDescription' - description: |- Set of tokens producing this message. The list may only contain SimpleItemDescription items. The set of tokens identify the component within the WS-Endpoint, which is responsible for the producing the message. type: object onvif_MessageDescriptionExtension: type: object onvif_Messages: allOf: - $ref: '#/components/schemas/onvif_MessageDescription' - properties: ParentTopic: description: The topic of the message. For historical reason the element is named ParentTopic, but the full topic is expected. type: string required: - ParentTopic type: object description: |- The analytics modules and rule engine produce Events, which must be listed within the Analytics Module Description. In order to do so the structure of the Message is defined and consists of three groups: Source, Key, and Data. It is recommended to use SimpleItemDescriptions wherever applicable. The name of all Items must be unique within all Items contained in any group of this Message. Depending on the component multiple parameters or none may be needed to identify the component uniquely. onvif_MetadataConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: Analytics: description: Defines whether the streamed metadata will include metadata from the analytics engines (video, cell motion, audio etc.) type: boolean AnalyticsEngineConfiguration: allOf: - $ref: '#/components/schemas/onvif_AnalyticsEngineConfiguration' - description: |- Indication which AnalyticsModules shall output metadata. Note that the streaming behavior is undefined if the list includes items that are not part of the associated AnalyticsConfiguration. CompressionType: description: Optional parameter to configure compression type of Metadata payload. Use values from enumeration MetadataCompressionType. type: string Events: allOf: - $ref: '#/components/schemas/onvif_EventSubscription' - description: |- Optional element to configure the streaming of events. A client might be interested in receiving all, none or some of the events produced by the device: Extension: $ref: '#/components/schemas/onvif_MetadataConfigurationExtension' GeoLocation: description: Optional parameter to configure if the metadata stream shall contain the Geo Location coordinates of each target. type: boolean Multicast: allOf: - $ref: '#/components/schemas/onvif_MulticastConfiguration' - description: Defines the multicast settings that could be used for video streaming. PTZStatus: allOf: - $ref: '#/components/schemas/onvif_PTZFilter' - description: optional element to configure which PTZ related data is to include in the metadata stream SessionTimeout: description: The rtsp session timeout for the related audio stream (when using Media2 Service, this value is deprecated and ignored) format: date-time type: string ShapePolygon: description: Optional parameter to configure if the generated metadata stream should contain shape information as polygon. type: boolean required: - Multicast - SessionTimeout type: object onvif_MetadataConfigurationExtension: type: object onvif_MetadataConfigurationOptions: properties: Extension: $ref: '#/components/schemas/onvif_MetadataConfigurationOptionsExtension' GeoLocation: description: True if the device is able to stream the Geo Located positions of each target. type: boolean MaxContentFilterSize: description: A device signalling support for content filtering shall support expressions with the provided expression size. format: int32 type: integer PTZStatusFilterOptions: $ref: '#/components/schemas/onvif_PTZStatusFilterOptions' required: - PTZStatusFilterOptions type: object onvif_MetadataConfigurationOptionsExtension: properties: CompressionType: description: List of supported metadata compression type. Its options shall be chosen from tt:MetadataCompressionType. items: type: string type: array Extension: $ref: '#/components/schemas/onvif_MetadataConfigurationOptionsExtension2' type: object onvif_MetadataConfigurationOptionsExtension2: type: object onvif_MoveStatus: enum: - IDLE - MOVING - UNKNOWN type: string onvif_Mpeg4Configuration: properties: GovLength: description: Determines the interval in which the I-Frames will be coded. An entry of 1 indicates I-Frames are continuously generated. An entry of 2 indicates that every 2nd image is an I-Frame, and 3 only every 3rd frame, etc. The frames in between are coded as P or B Frames. format: int32 type: integer Mpeg4Profile: allOf: - $ref: '#/components/schemas/onvif_Mpeg4Profile' - description: the Mpeg4 profile, either simple profile (SP) or advanced simple profile (ASP) required: - GovLength - Mpeg4Profile type: object onvif_Mpeg4Options: properties: EncodingIntervalRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported encoding interval range. The encoding interval corresponds to the number of frames devided by the encoded frames. An encoding interval value of "1" means that all frames are encoded. FrameRateRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported frame rate in fps (frames per second). GovLengthRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported group of Video frames length. This value typically corresponds to the I-Frame distance. Mpeg4ProfilesSupported: description: List of supported MPEG-4 profiles. items: $ref: '#/components/schemas/onvif_Mpeg4Profile' type: array ResolutionsAvailable: description: List of supported image sizes. items: $ref: '#/components/schemas/onvif_VideoResolution' type: array required: - ResolutionsAvailable - GovLengthRange - FrameRateRange - EncodingIntervalRange - Mpeg4ProfilesSupported type: object onvif_Mpeg4Options2: allOf: - $ref: '#/components/schemas/onvif_Mpeg4Options' - properties: BitrateRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Supported range of encoded bitrate in kbps. required: - BitrateRange type: object onvif_Mpeg4Profile: enum: - SP - ASP type: string onvif_MulticastConfiguration: properties: Address: allOf: - $ref: '#/components/schemas/onvif_IPAddress' - description: The multicast address (if this address is set to 0 no multicast streaming is enaled) AutoStart: description: Read only property signalling that streaming is persistant. Use the methods StartMulticastStreaming and StopMulticastStreaming to switch its state. type: boolean Port: description: The RTP mutlicast destination port. A device may support RTCP. In this case the port value shall be even to allow the corresponding RTCP stream to be mapped to the next higher (odd) destination port number as defined in the RTSP specification. format: int32 type: integer TTL: description: In case of IPv6 the TTL value is assumed as the hop limit. Note that for IPV6 and administratively scoped IPv4 multicast the primary use for hop limit / TTL is to prevent packets from (endlessly) circulating and not limiting scope. In these cases the address contains the scope. format: int32 type: integer required: - Address - Port - TTL - AutoStart type: object onvif_NetworkCapabilities: properties: DynDNS: description: Indicates whether or not is supported. type: boolean Extension: $ref: '#/components/schemas/onvif_NetworkCapabilitiesExtension' IPFilter: description: Indicates whether or not IP filtering is supported. type: boolean IPVersion6: description: Indicates whether or not IPv6 is supported. type: boolean ZeroConfiguration: description: Indicates whether or not zeroconf is supported. type: boolean type: object onvif_NetworkCapabilitiesExtension: properties: Dot11Configuration: type: boolean Extension: $ref: '#/components/schemas/onvif_NetworkCapabilitiesExtension2' type: object onvif_NetworkCapabilitiesExtension2: type: object onvif_NetworkGateway: properties: IPv4Address: description: IPv4 address string. items: type: string type: array IPv6Address: description: IPv6 address string. items: type: string type: array type: object onvif_NetworkInterface: allOf: - $ref: '#/components/schemas/onvif_DeviceEntity' - properties: Enabled: description: Indicates whether or not an interface is enabled. type: boolean Extension: $ref: '#/components/schemas/onvif_NetworkInterfaceExtension' IPv4: allOf: - $ref: '#/components/schemas/onvif_IPv4NetworkInterface' - description: IPv4 network interface configuration. IPv6: allOf: - $ref: '#/components/schemas/onvif_IPv6NetworkInterface' - description: IPv6 network interface configuration. Info: allOf: - $ref: '#/components/schemas/onvif_NetworkInterfaceInfo' - description: Network interface information Link: allOf: - $ref: '#/components/schemas/onvif_NetworkInterfaceLink' - description: Link configuration. required: - Enabled type: object onvif_NetworkInterfaceConnectionSetting: properties: AutoNegotiation: description: Auto negotiation on/off. type: boolean Duplex: allOf: - $ref: '#/components/schemas/onvif_Duplex' - description: Duplex type, Half or Full. Speed: description: Speed. format: int32 type: integer required: - AutoNegotiation - Speed - Duplex type: object onvif_NetworkInterfaceExtension: properties: Dot11: items: $ref: '#/components/schemas/onvif_Dot11Configuration' type: array Dot3: description: Extension point prepared for future 802.3 configuration. items: $ref: '#/components/schemas/onvif_Dot3Configuration' type: array Extension: $ref: '#/components/schemas/onvif_NetworkInterfaceExtension2' InterfaceType: format: int32 type: integer required: - InterfaceType type: object onvif_NetworkInterfaceExtension2: type: object onvif_NetworkInterfaceInfo: properties: HwAddress: description: Network interface MAC address. type: string MTU: description: Maximum transmission unit. format: int32 type: integer Name: description: Network interface name, for example eth0. type: string required: - HwAddress type: object onvif_NetworkInterfaceLink: properties: AdminSettings: allOf: - $ref: '#/components/schemas/onvif_NetworkInterfaceConnectionSetting' - description: Configured link settings. InterfaceType: description: 'Integer indicating interface type, for example: 6 is ethernet.' format: int32 type: integer OperSettings: allOf: - $ref: '#/components/schemas/onvif_NetworkInterfaceConnectionSetting' - description: Current active link settings. required: - AdminSettings - OperSettings - InterfaceType type: object onvif_NetworkInterfaceSetConfiguration: properties: Enabled: description: Indicates whether or not an interface is enabled. type: boolean Extension: $ref: '#/components/schemas/onvif_NetworkInterfaceSetConfigurationExtension' IPv4: allOf: - $ref: '#/components/schemas/onvif_IPv4NetworkInterfaceSetConfiguration' - description: IPv4 network interface configuration. IPv6: allOf: - $ref: '#/components/schemas/onvif_IPv6NetworkInterfaceSetConfiguration' - description: IPv6 network interface configuration. Link: allOf: - $ref: '#/components/schemas/onvif_NetworkInterfaceConnectionSetting' - description: Link configuration. MTU: description: Maximum transmission unit. format: int32 type: integer type: object onvif_NetworkInterfaceSetConfigurationExtension: properties: Dot11: items: $ref: '#/components/schemas/onvif_Dot11Configuration' type: array Dot3: items: $ref: '#/components/schemas/onvif_Dot3Configuration' type: array Extension: $ref: '#/components/schemas/onvif_NetworkInterfaceSetConfigurationExtension2' type: object onvif_NetworkInterfaceSetConfigurationExtension2: type: object onvif_NetworkProtocol: properties: Enabled: description: Indicates if the protocol is enabled or not. type: boolean Extension: $ref: '#/components/schemas/onvif_NetworkProtocolExtension' Name: allOf: - $ref: '#/components/schemas/onvif_NetworkProtocolType' - description: Network protocol type string. Port: description: The port that is used by the protocol. items: format: int32 type: integer type: array required: - Name - Enabled - Port type: object onvif_NetworkProtocolExtension: type: object onvif_NetworkProtocolType: enum: - HTTP - HTTPS - RTSP type: string onvif_NetworkZeroConfiguration: properties: Addresses: description: The zero-configuration IPv4 address(es) items: type: string type: array Enabled: description: Indicates whether the zero-configuration is enabled or not. type: boolean Extension: $ref: '#/components/schemas/onvif_NetworkZeroConfigurationExtension' InterfaceToken: description: Unique identifier of network interface. maxLength: 64 type: string required: - InterfaceToken - Enabled type: object onvif_NetworkZeroConfigurationExtension: properties: Additional: description: Optional array holding the configuration for the second and possibly further interfaces. items: $ref: '#/components/schemas/onvif_NetworkZeroConfiguration' type: array Extension: $ref: '#/components/schemas/onvif_NetworkZeroConfigurationExtension2' type: object onvif_NetworkZeroConfigurationExtension2: type: object onvif_OnvifVersion: properties: Major: description: Major version number. format: int32 type: integer Minor: description: |- Two digit minor version number. If major version number is less than "16", X.0.1 maps to "01" and X.2.1 maps to "21" where X stands for Major version number. Otherwise, minor number is month of release, such as "06" for June. format: int32 type: integer required: - Major - Minor type: object onvif_PTControlDirection: properties: EFlip: allOf: - $ref: '#/components/schemas/onvif_EFlip' - description: Optional element to configure related parameters for E-Flip. Extension: $ref: '#/components/schemas/onvif_PTControlDirectionExtension' Reverse: allOf: - $ref: '#/components/schemas/onvif_Reverse' - description: Optional element to configure related parameters for reversing of PT Control Direction. type: object onvif_PTControlDirectionExtension: type: object onvif_PTControlDirectionOptions: properties: EFlip: allOf: - $ref: '#/components/schemas/onvif_EFlipOptions' - description: Supported options for EFlip feature. Extension: $ref: '#/components/schemas/onvif_PTControlDirectionOptionsExtension' Reverse: allOf: - $ref: '#/components/schemas/onvif_ReverseOptions' - description: Supported options for Reverse feature. type: object onvif_PTControlDirectionOptionsExtension: type: object onvif_PTZCapabilities: properties: XAddr: description: PTZ service URI. type: string required: - XAddr type: object onvif_PTZConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: DefaultAbsolutePantTiltPositionSpace: description: If the PTZ Node supports absolute Pan/Tilt movements, it shall specify one Absolute Pan/Tilt Position Space as default. type: string DefaultAbsoluteZoomPositionSpace: description: If the PTZ Node supports absolute zoom movements, it shall specify one Absolute Zoom Position Space as default. type: string DefaultContinuousPanTiltVelocitySpace: description: If the PTZ Node supports continuous Pan/Tilt movements, it shall specify one Continuous Pan/Tilt Velocity Space as default. type: string DefaultContinuousZoomVelocitySpace: description: If the PTZ Node supports continuous zoom movements, it shall specify one Continuous Zoom Velocity Space as default. type: string DefaultPTZSpeed: allOf: - $ref: '#/components/schemas/onvif_PTZSpeed' - description: If the PTZ Node supports absolute or relative PTZ movements, it shall specify corresponding default Pan/Tilt and Zoom speeds. DefaultPTZTimeout: description: If the PTZ Node supports continuous movements, it shall specify a default timeout, after which the movement stops. format: date-time type: string DefaultRelativePanTiltTranslationSpace: description: If the PTZ Node supports relative Pan/Tilt movements, it shall specify one RelativePan/Tilt Translation Space as default. type: string DefaultRelativeZoomTranslationSpace: description: If the PTZ Node supports relative zoom movements, it shall specify one Relative Zoom Translation Space as default. type: string Extension: $ref: '#/components/schemas/onvif_PTZConfigurationExtension' MoveRamp: description: The optional acceleration ramp used by the device when moving. format: int32 type: integer NodeToken: description: A mandatory reference to the PTZ Node that the PTZ Configuration belongs to. maxLength: 64 type: string PanTiltLimits: allOf: - $ref: '#/components/schemas/onvif_PanTiltLimits' - description: The Pan/Tilt limits element should be present for a PTZ Node that supports an absolute Pan/Tilt. If the element is present it signals the support for configurable Pan/Tilt limits. If limits are enabled, the Pan/Tilt movements shall always stay within the specified range. The Pan/Tilt limits are disabled by setting the limits to –INF or +INF. PresetRamp: description: The optional acceleration ramp used by the device when recalling presets. format: int32 type: integer PresetTourRamp: description: The optional acceleration ramp used by the device when executing PresetTours. format: int32 type: integer ZoomLimits: allOf: - $ref: '#/components/schemas/onvif_ZoomLimits' - description: The Zoom limits element should be present for a PTZ Node that supports absolute zoom. If the element is present it signals the supports for configurable Zoom limits. If limits are enabled the zoom movements shall always stay within the specified range. The Zoom limits are disabled by settings the limits to -INF and +INF. required: - NodeToken type: object onvif_PTZConfigurationExtension: properties: Extension: $ref: '#/components/schemas/onvif_PTZConfigurationExtension2' PTControlDirection: allOf: - $ref: '#/components/schemas/onvif_PTControlDirection' - description: Optional element to configure PT Control Direction related features. type: object onvif_PTZConfigurationExtension2: type: object onvif_PTZConfigurationOptions: properties: Extension: $ref: '#/components/schemas/onvif_PTZConfigurationOptions2' PTControlDirection: allOf: - $ref: '#/components/schemas/onvif_PTControlDirectionOptions' - description: Supported options for PT Direction Control. PTZRamps: description: |- The list of acceleration ramps supported by the device. The smallest acceleration value corresponds to the minimal index, the highest acceleration corresponds to the maximum index. format: int32 type: integer PTZTimeout: allOf: - $ref: '#/components/schemas/onvif_DurationRange' - description: A timeout Range within which Timeouts are accepted by the PTZ Node. Spaces: allOf: - $ref: '#/components/schemas/onvif_PTZSpaces' - description: A list of supported coordinate systems including their range limitations. required: - Spaces - PTZTimeout type: object onvif_PTZConfigurationOptions2: type: object onvif_PTZFilter: properties: Position: description: True if the metadata stream shall contain the PTZ position type: boolean Status: description: True if the metadata stream shall contain the PTZ status (IDLE, MOVING or UNKNOWN) type: boolean required: - Status - Position type: object onvif_PTZMoveStatus: properties: PanTilt: $ref: '#/components/schemas/onvif_MoveStatus' Zoom: $ref: '#/components/schemas/onvif_MoveStatus' type: object onvif_PTZNode: allOf: - $ref: '#/components/schemas/onvif_DeviceEntity' - properties: AuxiliaryCommands: description: A list of supported Auxiliary commands. If the list is not empty, the Auxiliary Operations MUST be available for this PTZ Node. items: maxLength: 128 type: string type: array Extension: $ref: '#/components/schemas/onvif_PTZNodeExtension' FixedHomePosition: description: Indication whether the HomePosition of a Node is fixed or it can be changed via the SetHomePosition command. type: boolean GeoMove: description: Indication whether the Node supports the geo-referenced move command. type: boolean HomeSupported: description: A boolean operator specifying the availability of a home position. If set to true, the Home Position Operations MUST be available for this PTZ Node. type: boolean MaximumNumberOfPresets: description: All preset operations MUST be available for this PTZ Node if one preset is supported. format: int32 type: integer Name: description: A unique identifier that is used to reference PTZ Nodes. maxLength: 64 type: string SupportedPTZSpaces: allOf: - $ref: '#/components/schemas/onvif_PTZSpaces' - description: A list of Coordinate Systems available for the PTZ Node. For each Coordinate System, the PTZ Node MUST specify its allowed range. required: - SupportedPTZSpaces - MaximumNumberOfPresets - HomeSupported type: object onvif_PTZNodeExtension: properties: Extension: $ref: '#/components/schemas/onvif_PTZNodeExtension2' SupportedPresetTour: allOf: - $ref: '#/components/schemas/onvif_PTZPresetTourSupported' - description: Detail of supported Preset Tour feature. type: object onvif_PTZNodeExtension2: type: object onvif_PTZPreset: properties: Name: description: A list of preset position name. maxLength: 64 type: string PTZPosition: allOf: - $ref: '#/components/schemas/onvif_PTZVector' - description: A list of preset position. token: maxLength: 64 type: string type: object onvif_PTZPresetTourOperation: enum: - Start - Stop - Pause - Extended type: string onvif_PTZPresetTourSupported: properties: Extension: $ref: '#/components/schemas/onvif_PTZPresetTourSupportedExtension' MaximumNumberOfPresetTours: description: Indicates number of preset tours that can be created. Required preset tour operations shall be available for this PTZ Node if one or more preset tour is supported. format: int32 type: integer PTZPresetTourOperation: description: Indicates which preset tour operations are available for this PTZ Node. items: $ref: '#/components/schemas/onvif_PTZPresetTourOperation' type: array required: - MaximumNumberOfPresetTours type: object onvif_PTZPresetTourSupportedExtension: type: object onvif_PTZSpaces: properties: AbsolutePanTiltPositionSpace: description: |- The Generic Pan/Tilt Position space is provided by every PTZ node that supports absolute Pan/Tilt, since it does not relate to a specific physical range. Instead, the range should be defined as the full range of the PTZ unit normalized to the range -1 to 1 resulting in the following space description. items: $ref: '#/components/schemas/onvif_Space2DDescription' type: array AbsoluteZoomPositionSpace: description: |- The Generic Zoom Position Space is provided by every PTZ node that supports absolute Zoom, since it does not relate to a specific physical range. Instead, the range should be defined as the full range of the Zoom normalized to the range 0 (wide) to 1 (tele). There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension. items: $ref: '#/components/schemas/onvif_Space1DDescription' type: array ContinuousPanTiltVelocitySpace: description: |- The generic Pan/Tilt velocity space shall be provided by every PTZ node, since it does not relate to a specific physical range. Instead, the range should be defined as a range of the PTZ unit’s speed normalized to the range -1 to 1, where a positive velocity would map to clockwise rotation or movement in the right/up direction. A signed speed can be independently specified for the pan and tilt component resulting in the following space description. items: $ref: '#/components/schemas/onvif_Space2DDescription' type: array ContinuousZoomVelocitySpace: description: |- The generic zoom velocity space specifies a zoom factor velocity without knowing the underlying physical model. The range should be normalized from -1 to 1, where a positive velocity would map to TELE direction. A generic zoom velocity space description resembles the following. items: $ref: '#/components/schemas/onvif_Space1DDescription' type: array Extension: $ref: '#/components/schemas/onvif_PTZSpacesExtension' PanTiltSpeedSpace: description: |- The speed space specifies the speed for a Pan/Tilt movement when moving to an absolute position or to a relative translation. In contrast to the velocity spaces, speed spaces do not contain any directional information. The speed of a combined Pan/Tilt movement is represented by a single non-negative scalar value. items: $ref: '#/components/schemas/onvif_Space1DDescription' type: array RelativePanTiltTranslationSpace: description: |- The Generic Pan/Tilt translation space is provided by every PTZ node that supports relative Pan/Tilt, since it does not relate to a specific physical range. Instead, the range should be defined as the full positive and negative translation range of the PTZ unit normalized to the range -1 to 1, where positive translation would mean clockwise rotation or movement in right/up direction resulting in the following space description. items: $ref: '#/components/schemas/onvif_Space2DDescription' type: array RelativeZoomTranslationSpace: description: |- The Generic Zoom Translation Space is provided by every PTZ node that supports relative Zoom, since it does not relate to a specific physical range. Instead, the corresponding absolute range should be defined as the full positive and negative translation range of the Zoom normalized to the range -1 to1, where a positive translation maps to a movement in TELE direction. The translation is signed to indicate direction (negative is to wide, positive is to tele). There is no assumption about how the generic zoom range is mapped to magnification, FOV or other physical zoom dimension. This results in the following space description. items: $ref: '#/components/schemas/onvif_Space1DDescription' type: array ZoomSpeedSpace: description: |- The speed space specifies the speed for a Zoom movement when moving to an absolute position or to a relative translation. In contrast to the velocity spaces, speed spaces do not contain any directional information. items: $ref: '#/components/schemas/onvif_Space1DDescription' type: array type: object onvif_PTZSpacesExtension: type: object onvif_PTZSpeed: properties: PanTilt: allOf: - $ref: '#/components/schemas/onvif_Vector2D' - description: Pan and tilt speed. The x component corresponds to pan and the y component to tilt. If omitted in a request, the current (if any) PanTilt movement should not be affected. Zoom: allOf: - $ref: '#/components/schemas/onvif_Vector1D' - description: A zoom speed. If omitted in a request, the current (if any) Zoom movement should not be affected. type: object onvif_PTZStatus: properties: Error: description: States a current PTZ error. type: string MoveStatus: allOf: - $ref: '#/components/schemas/onvif_PTZMoveStatus' - description: Indicates if the Pan/Tilt/Zoom device unit is currently moving, idle or in an unknown state. Position: allOf: - $ref: '#/components/schemas/onvif_PTZVector' - description: Specifies the absolute position of the PTZ unit together with the Space references. The default absolute spaces of the corresponding PTZ configuration MUST be referenced within the Position element. UtcTime: description: Specifies the UTC time when this status was generated. format: date-time type: string required: - UtcTime type: object onvif_PTZStatusFilterOptions: properties: Extension: $ref: '#/components/schemas/onvif_PTZStatusFilterOptionsExtension' PanTiltPositionSupported: description: True if the device is able to stream the pan or tilt position. type: boolean PanTiltStatusSupported: description: True if the device is able to stream pan or tilt status information. type: boolean ZoomPositionSupported: description: True if the device is able to stream zoom position information. type: boolean ZoomStatusSupported: description: True if the device is able to stream zoom status inforamtion. type: boolean required: - PanTiltStatusSupported - ZoomStatusSupported type: object onvif_PTZStatusFilterOptionsExtension: type: object onvif_PTZVector: properties: PanTilt: allOf: - $ref: '#/components/schemas/onvif_Vector2D' - description: Pan and tilt position. The x component corresponds to pan and the y component to tilt. Zoom: allOf: - $ref: '#/components/schemas/onvif_Vector1D' - description: A zoom position. type: object onvif_PanTiltLimits: properties: Range: allOf: - $ref: '#/components/schemas/onvif_Space2DDescription' - description: A range of pan tilt limits. required: - Range type: object onvif_PrefixedIPv4Address: properties: Address: description: IPv4 address type: string PrefixLength: description: Prefix/submask length format: int32 type: integer required: - Address - PrefixLength type: object onvif_PrefixedIPv6Address: properties: Address: description: IPv6 address type: string PrefixLength: description: Prefix/submask length format: int32 type: integer required: - Address - PrefixLength type: object onvif_Profile: description: |- A media profile consists of a set of media configurations. Media profiles are used by a client to configure properties of a media stream from an NVT. properties: AudioEncoderConfiguration: allOf: - $ref: '#/components/schemas/onvif_AudioEncoderConfiguration' - description: Optional configuration of the Audio encoder. AudioSourceConfiguration: allOf: - $ref: '#/components/schemas/onvif_AudioSourceConfiguration' - description: Optional configuration of the Audio input. Extension: allOf: - $ref: '#/components/schemas/onvif_ProfileExtension' - description: Extensions defined in ONVIF 2.0 MetadataConfiguration: allOf: - $ref: '#/components/schemas/onvif_MetadataConfiguration' - description: Optional configuration of the metadata stream. Name: description: User readable name of the profile. maxLength: 64 type: string PTZConfiguration: allOf: - $ref: '#/components/schemas/onvif_PTZConfiguration' - description: Optional configuration of the pan tilt zoom unit. VideoAnalyticsConfiguration: allOf: - $ref: '#/components/schemas/onvif_VideoAnalyticsConfiguration' - description: Optional configuration of the video analytics module and rule engine. VideoEncoderConfiguration: allOf: - $ref: '#/components/schemas/onvif_VideoEncoderConfiguration' - description: Optional configuration of the Video encoder. VideoSourceConfiguration: allOf: - $ref: '#/components/schemas/onvif_VideoSourceConfiguration' - description: Optional configuration of the Video input. fixed: description: A value of true signals that the profile cannot be deleted. Default is false. type: boolean token: description: Unique identifier of the profile. maxLength: 64 type: string required: - token - Name type: object onvif_ProfileCapabilities: properties: MaximumNumberOfProfiles: description: Maximum number of profiles. format: int32 type: integer required: - MaximumNumberOfProfiles type: object onvif_ProfileExtension: properties: AudioDecoderConfiguration: allOf: - $ref: '#/components/schemas/onvif_AudioDecoderConfiguration' - description: Optional configuration of the Audio decoder. AudioOutputConfiguration: allOf: - $ref: '#/components/schemas/onvif_AudioOutputConfiguration' - description: Optional configuration of the Audio output. Extension: $ref: '#/components/schemas/onvif_ProfileExtension2' type: object onvif_ProfileExtension2: type: object onvif_RealTimeStreamingCapabilities: properties: Extension: $ref: '#/components/schemas/onvif_RealTimeStreamingCapabilitiesExtension' RTPMulticast: description: Indicates whether or not RTP multicast is supported. type: boolean RTP_RTSP_TCP: description: Indicates whether or not RTP/RTSP/TCP is supported. type: boolean RTP_TCP: description: Indicates whether or not RTP over TCP is supported. type: boolean type: object onvif_RealTimeStreamingCapabilitiesExtension: type: object onvif_ReceiverCapabilities: properties: MaximumRTSPURILength: description: The maximum allowed length for RTSP URIs. format: int32 type: integer RTP_Multicast: description: Indicates whether the device can receive RTP multicast streams. type: boolean RTP_RTSP_TCP: description: Indicates whether the device can receive RTP/RTSP/TCP streams. type: boolean RTP_TCP: description: Indicates whether the device can receive RTP/TCP streams type: boolean SupportedReceivers: description: The maximum number of receivers supported by the device. format: int32 type: integer XAddr: description: The address of the receiver service. type: string required: - XAddr - RTP_Multicast - RTP_TCP - RTP_RTSP_TCP - SupportedReceivers - MaximumRTSPURILength type: object onvif_ReceiverConfiguration: description: Describes the configuration of a receiver. properties: MediaUri: description: Details of the URI to which the receiver should connect. type: string Mode: allOf: - $ref: '#/components/schemas/onvif_ReceiverMode' - description: 'The following connection modes are defined:' StreamSetup: allOf: - $ref: '#/components/schemas/onvif_StreamSetup' - description: Stream connection parameters. required: - Mode - MediaUri - StreamSetup type: object onvif_ReceiverMode: description: Specifies a receiver connection mode. enum: - AutoConnect - AlwaysConnect - NeverConnect - Unknown type: string onvif_RecordingCapabilities: properties: DynamicRecordings: type: boolean DynamicTracks: type: boolean MaxStringLength: format: int32 type: integer MediaProfileSource: type: boolean ReceiverSource: type: boolean XAddr: type: string required: - XAddr - ReceiverSource - MediaProfileSource - DynamicRecordings - DynamicTracks - MaxStringLength type: object onvif_ReplayCapabilities: properties: XAddr: description: The address of the replay service. type: string required: - XAddr type: object onvif_Reverse: properties: Mode: allOf: - $ref: '#/components/schemas/onvif_ReverseMode' - description: Parameter to enable/disable Reverse feature. required: - Mode type: object onvif_ReverseMode: enum: - false - true - AUTO - Extended type: string onvif_ReverseOptions: properties: Extension: $ref: '#/components/schemas/onvif_ReverseOptionsExtension' Mode: description: Options of Reverse mode parameter. items: $ref: '#/components/schemas/onvif_ReverseMode' type: array type: object onvif_ReverseOptionsExtension: type: object onvif_Rotate: properties: Degree: description: Optional parameter to configure how much degree of clockwise rotation of image for On mode. Omitting this parameter for On mode means 180 degree rotation. format: int32 type: integer Extension: $ref: '#/components/schemas/onvif_RotateExtension' Mode: allOf: - $ref: '#/components/schemas/onvif_RotateMode' - description: Parameter to enable/disable Rotation feature. required: - Mode type: object onvif_RotateExtension: type: object onvif_RotateMode: enum: - false - true - AUTO type: string onvif_RuleEngineConfiguration: properties: Extension: $ref: '#/components/schemas/onvif_RuleEngineConfigurationExtension' Rule: items: $ref: '#/components/schemas/onvif_Config' type: array type: object onvif_RuleEngineConfigurationExtension: type: object onvif_SceneOrientation: properties: Mode: allOf: - $ref: '#/components/schemas/onvif_SceneOrientationMode' - description: Parameter to assign the way the camera determines the scene orientation. Orientation: description: |- Assigned or determined scene orientation based on the Mode. When assigning the Mode to AUTO, this field is optional and will be ignored by the device. When assigning the Mode to MANUAL, this field is required and the device will return an InvalidArgs fault if missing. type: string required: - Mode type: object onvif_SceneOrientationMode: enum: - MANUAL - AUTO type: string onvif_Scope: properties: ScopeDef: allOf: - $ref: '#/components/schemas/onvif_ScopeDefinition' - description: Indicates if the scope is fixed or configurable. ScopeItem: description: Scope item URI. type: string required: - ScopeDef - ScopeItem type: object onvif_ScopeDefinition: enum: - Fixed - Configurable type: string onvif_SearchCapabilities: properties: MetadataSearch: type: boolean XAddr: type: string required: - XAddr - MetadataSearch type: object onvif_SecurityCapabilities: properties: AccessPolicyConfig: description: Indicates whether or not access policy configuration is supported. type: boolean Extension: $ref: '#/components/schemas/onvif_SecurityCapabilitiesExtension' KerberosToken: description: Indicates whether or not WS-Security Kerberos token is supported. type: boolean OnboardKeyGeneration: description: Indicates whether or not onboard key generation is supported. type: boolean RELToken: description: Indicates whether or not WS-Security REL token is supported. type: boolean SAMLToken: description: Indicates whether or not WS-Security SAML token is supported. type: boolean TLS1.1: description: Indicates whether or not TLS 1.1 is supported. type: boolean TLS1.2: description: Indicates whether or not TLS 1.2 is supported. type: boolean X.509Token: description: Indicates whether or not WS-Security X.509 token is supported. type: boolean required: - TLS1.1 - TLS1.2 - OnboardKeyGeneration - AccessPolicyConfig - X.509Token - SAMLToken - KerberosToken - RELToken type: object onvif_SecurityCapabilitiesExtension: properties: Extension: $ref: '#/components/schemas/onvif_SecurityCapabilitiesExtension2' TLS1.0: type: boolean required: - TLS1.0 type: object onvif_SecurityCapabilitiesExtension2: properties: Dot1X: type: boolean RemoteUserHandling: type: boolean SupportedEAPMethod: description: EAP Methods supported by the device. The int values refer to the items: format: int32 type: integer type: array required: - Dot1X - RemoteUserHandling type: object onvif_SetDateTimeType: enum: - Manual - NTP type: string onvif_SimpleItem: description: Value name pair as defined by the corresponding description. properties: Name: description: Item name. type: string Value: description: Item value. The type is defined in the corresponding description. type: string required: - Name - Value type: object onvif_SimpleItemDescription: description: Description of a simple item. The type must be of cathegory simpleType (xs:string, xs:integer, xs:float, ...). properties: Name: description: Item name. Must be unique within a list. type: string Type: type: string required: - Name - Type type: object onvif_Space1DDescription: properties: URI: description: A URI of coordinate systems. type: string XRange: allOf: - $ref: '#/components/schemas/onvif_FloatRange' - description: A range of x-axis. required: - URI - XRange type: object onvif_Space2DDescription: properties: URI: description: A URI of coordinate systems. type: string XRange: allOf: - $ref: '#/components/schemas/onvif_FloatRange' - description: A range of x-axis. YRange: allOf: - $ref: '#/components/schemas/onvif_FloatRange' - description: A range of y-axis. required: - URI - XRange - YRange type: object onvif_StreamSetup: properties: Stream: allOf: - $ref: '#/components/schemas/onvif_StreamType' - description: Defines if a multicast or unicast stream is requested Transport: $ref: '#/components/schemas/onvif_Transport' required: - Stream - Transport type: object onvif_StreamType: enum: - RTP-Unicast - RTP-Multicast type: string onvif_SubscriptionPolicy: type: object onvif_SupportedAnalyticsModules: properties: AnalyticsModuleContentSchemaLocation: description: |- It optionally contains a list of URLs that provide the location of schema files. These schema files describe the types and elements used in the analytics module descriptions. Analytics module descriptions that reference types or elements imported from any ONVIF defined schema files need not explicitly list those schema files. items: type: string type: array AnalyticsModuleDescription: items: $ref: '#/components/schemas/onvif_ConfigDescription' type: array Extension: $ref: '#/components/schemas/onvif_SupportedAnalyticsModulesExtension' Limit: description: Maximum number of concurrent instances. format: int32 type: integer type: object onvif_SupportedAnalyticsModulesExtension: type: object onvif_SupportedRules: properties: Extension: $ref: '#/components/schemas/onvif_SupportedRulesExtension' Limit: description: Maximum number of concurrent instances. format: int32 type: integer RuleContentSchemaLocation: description: Lists the location of all schemas that are referenced in the rules. items: type: string type: array RuleDescription: description: List of rules supported by the Video Analytics configuration.. items: $ref: '#/components/schemas/onvif_ConfigDescription' type: array type: object onvif_SupportedRulesExtension: type: object onvif_SystemCapabilities: properties: DiscoveryBye: description: Indicates whether or not WS-Discovery Bye is supported. type: boolean DiscoveryResolve: description: Indicates whether or not WS Discovery resolve requests are supported. type: boolean Extension: $ref: '#/components/schemas/onvif_SystemCapabilitiesExtension' FirmwareUpgrade: description: Indicates whether or not firmware upgrade is supported. type: boolean RemoteDiscovery: description: Indicates whether or not remote discovery is supported. type: boolean SupportedVersions: description: Indicates supported ONVIF version(s). items: $ref: '#/components/schemas/onvif_OnvifVersion' type: array SystemBackup: description: Indicates whether or not system backup is supported. type: boolean SystemLogging: description: Indicates whether or not system logging is supported. type: boolean required: - DiscoveryResolve - DiscoveryBye - RemoteDiscovery - SystemBackup - SystemLogging - FirmwareUpgrade - SupportedVersions type: object onvif_SystemCapabilitiesExtension: properties: Extension: $ref: '#/components/schemas/onvif_SystemCapabilitiesExtension2' HttpFirmwareUpgrade: type: boolean HttpSupportInformation: type: boolean HttpSystemBackup: type: boolean HttpSystemLogging: type: boolean type: object onvif_SystemCapabilitiesExtension2: type: object onvif_SystemDateTime: description: General date time inforamtion returned by the GetSystemDateTime method. properties: DateTimeType: allOf: - $ref: '#/components/schemas/onvif_SetDateTimeType' - description: Indicates if the time is set manully or through NTP. DaylightSavings: description: Informative indicator whether daylight savings is currently on/off. type: boolean Extension: $ref: '#/components/schemas/onvif_SystemDateTimeExtension' LocalDateTime: allOf: - $ref: '#/components/schemas/onvif_DateTime' - description: Date and time in local format. TimeZone: allOf: - $ref: '#/components/schemas/onvif_TimeZone' - description: Timezone information in Posix format. UTCDateTime: allOf: - $ref: '#/components/schemas/onvif_DateTime' - description: Current system date and time in UTC format. This field is mandatory since version 2.0. required: - DateTimeType - DaylightSavings type: object onvif_SystemDateTimeExtension: type: object onvif_Time: properties: Hour: description: Range is 0 to 23. format: int32 type: integer Minute: description: Range is 0 to 59. format: int32 type: integer Second: description: Range is 0 to 61 (typically 59). format: int32 type: integer required: - Hour - Minute - Second type: object onvif_TimeZone: description: The TZ format is specified by POSIX, please refer to POSIX 1003.1 section 8.3 properties: TZ: description: Posix timezone string. type: string required: - TZ type: object onvif_Transport: properties: Protocol: allOf: - $ref: '#/components/schemas/onvif_TransportProtocol' - description: Defines the network protocol for streaming, either UDP=RTP/UDP, RTSP=RTP/RTSP/TCP or HTTP=RTP/RTSP/HTTP/TCP Tunnel: allOf: - $ref: '#/components/schemas/onvif_Transport' - description: Optional element to describe further tunnel options. This element is normally not needed required: - Protocol type: object onvif_TransportProtocol: enum: - UDP - TCP - RTSP - HTTP type: string onvif_User: properties: Extension: $ref: '#/components/schemas/onvif_UserExtension' Password: description: Password string. type: string UserLevel: allOf: - $ref: '#/components/schemas/onvif_UserLevel' - description: User level string. Username: description: Username string. type: string required: - Username - UserLevel type: object onvif_UserExtension: type: object onvif_UserLevel: enum: - Administrator - Operator - User - Anonymous - Extended type: string onvif_Vector1D: properties: space: description: 'Zoom coordinate space selector. The following options are defined:' type: string x: type: number required: - x type: object onvif_Vector2D: properties: space: description: 'Pan/tilt coordinate space selector. The following options are defined:' type: string x: type: number y: type: number required: - x - y type: object onvif_VideoAnalyticsConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: AnalyticsEngineConfiguration: $ref: '#/components/schemas/onvif_AnalyticsEngineConfiguration' RuleEngineConfiguration: $ref: '#/components/schemas/onvif_RuleEngineConfiguration' required: - AnalyticsEngineConfiguration - RuleEngineConfiguration type: object onvif_VideoEncoder2Configuration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: Encoding: description: Video Media Subtype for the video format. For definitions see tt:VideoEncodingMimeNames and type: string GovLength: description: Group of Video frames length. Determines typically the interval in which the I-Frames will be coded. An entry of 1 indicates I-Frames are continuously generated. An entry of 2 indicates that every 2nd image is an I-Frame, and 3 only every 3rd frame, etc. The frames in between are coded as P or B Frames. format: int32 type: integer GuaranteedFrameRate: description: |- A value of true indicates that frame rate is a fixed value rather than an upper limit, and that the video encoder shall prioritize frame rate over all other adaptable configuration values such as bitrate. Default is false. type: boolean Multicast: allOf: - $ref: '#/components/schemas/onvif_MulticastConfiguration' - description: Defines the multicast settings that could be used for video streaming. Profile: description: The encoder profile as defined in tt:VideoEncodingProfiles. type: string Quality: description: Relative value for the video quantizers and the quality of the video. A high value within supported quality range means higher quality type: number RateControl: allOf: - $ref: '#/components/schemas/onvif_VideoRateControl2' - description: Optional element to configure rate control related parameters. Resolution: allOf: - $ref: '#/components/schemas/onvif_VideoResolution2' - description: Configured video resolution required: - Encoding - Resolution - Quality type: object onvif_VideoEncoderConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: Encoding: allOf: - $ref: '#/components/schemas/onvif_VideoEncoding' - description: Used video codec, either Jpeg, H.264 or Mpeg4 GuaranteedFrameRate: description: |- A value of true indicates that frame rate is a fixed value rather than an upper limit, and that the video encoder shall prioritize frame rate over all other adaptable configuration values such as bitrate. Default is false. type: boolean H264: allOf: - $ref: '#/components/schemas/onvif_H264Configuration' - description: Optional element to configure H.264 related parameters. MPEG4: allOf: - $ref: '#/components/schemas/onvif_Mpeg4Configuration' - description: Optional element to configure Mpeg4 related parameters. Multicast: allOf: - $ref: '#/components/schemas/onvif_MulticastConfiguration' - description: Defines the multicast settings that could be used for video streaming. Quality: description: Relative value for the video quantizers and the quality of the video. A high value within supported quality range means higher quality type: number RateControl: allOf: - $ref: '#/components/schemas/onvif_VideoRateControl' - description: Optional element to configure rate control related parameters. Resolution: allOf: - $ref: '#/components/schemas/onvif_VideoResolution' - description: Configured video resolution SessionTimeout: description: The rtsp session timeout for the related video stream format: date-time type: string required: - Encoding - Resolution - Quality - Multicast - SessionTimeout type: object onvif_VideoEncoderConfigurationOptions: properties: Extension: $ref: '#/components/schemas/onvif_VideoEncoderOptionsExtension' GuaranteedFrameRateSupported: description: Indicates the support for the GuaranteedFrameRate attribute on the VideoEncoderConfiguration element. type: boolean H264: allOf: - $ref: '#/components/schemas/onvif_H264Options' - description: Optional H.264 encoder settings ranges (See also Extension element). JPEG: allOf: - $ref: '#/components/schemas/onvif_JpegOptions' - description: Optional JPEG encoder settings ranges (See also Extension element). MPEG4: allOf: - $ref: '#/components/schemas/onvif_Mpeg4Options' - description: Optional MPEG-4 encoder settings ranges (See also Extension element). QualityRange: allOf: - $ref: '#/components/schemas/onvif_IntRange' - description: Range of the quality values. A high value means higher quality. required: - QualityRange type: object onvif_VideoEncoderOptionsExtension: properties: Extension: $ref: '#/components/schemas/onvif_VideoEncoderOptionsExtension2' H264: allOf: - $ref: '#/components/schemas/onvif_H264Options2' - description: Optional H.264 encoder settings ranges. JPEG: allOf: - $ref: '#/components/schemas/onvif_JpegOptions2' - description: Optional JPEG encoder settings ranges. MPEG4: allOf: - $ref: '#/components/schemas/onvif_Mpeg4Options2' - description: Optional MPEG-4 encoder settings ranges. type: object onvif_VideoEncoderOptionsExtension2: type: object onvif_VideoEncoding: enum: - JPEG - MPEG4 - H264 type: string onvif_VideoRateControl: properties: BitrateLimit: description: the maximum output bitrate in kbps format: int32 type: integer EncodingInterval: description: Interval at which images are encoded and transmitted. (A value of 1 means that every frame is encoded, a value of 2 means that every 2nd frame is encoded ...) format: int32 type: integer FrameRateLimit: description: Maximum output framerate in fps. If an EncodingInterval is provided the resulting encoded framerate will be reduced by the given factor. format: int32 type: integer required: - FrameRateLimit - EncodingInterval - BitrateLimit type: object onvif_VideoRateControl2: properties: BitrateLimit: description: the maximum output bitrate in kbps format: int32 type: integer ConstantBitRate: description: Enforce constant bitrate. type: boolean FrameRateLimit: description: Desired frame rate in fps. The actual rate may be lower due to e.g. performance limitations. type: number required: - FrameRateLimit - BitrateLimit type: object onvif_VideoResolution: properties: Height: description: Number of the lines of the Video image. format: int32 type: integer Width: description: Number of the columns of the Video image. format: int32 type: integer required: - Width - Height type: object onvif_VideoResolution2: properties: Height: description: Number of the lines of the Video image. format: int32 type: integer Width: description: Number of the columns of the Video image. format: int32 type: integer required: - Width - Height type: object onvif_VideoSourceConfiguration: allOf: - $ref: '#/components/schemas/onvif_ConfigurationEntity' - properties: Bounds: allOf: - $ref: '#/components/schemas/onvif_IntRectangle' - description: Rectangle specifying the Video capturing area. The capturing area shall not be larger than the whole Video source area. Extension: $ref: '#/components/schemas/onvif_VideoSourceConfigurationExtension' SourceToken: description: Reference to the physical input. maxLength: 64 type: string ViewMode: description: Readonly parameter signalling Source configuration's view mode, for devices supporting different view modes as defined in tt:viewModes. type: string required: - SourceToken - Bounds type: object onvif_VideoSourceConfigurationExtension: properties: Extension: $ref: '#/components/schemas/onvif_VideoSourceConfigurationExtension2' Rotate: allOf: - $ref: '#/components/schemas/onvif_Rotate' - description: |- Optional element to configure rotation of captured image. What resolutions a device supports shall be unaffected by the Rotate parameters. type: object onvif_VideoSourceConfigurationExtension2: properties: LensDescription: description: Optional element describing the geometric lens distortion. Multiple instances for future variable lens support. items: $ref: '#/components/schemas/onvif_LensDescription' type: array SceneOrientation: allOf: - $ref: '#/components/schemas/onvif_SceneOrientation' - description: Optional element describing the scene orientation in the camera’s field of view. type: object onvif_ZoomLimits: properties: Range: allOf: - $ref: '#/components/schemas/onvif_Space1DDescription' - description: A range of zoom limit required: - Range type: object soapenv_subcode: properties: Subcode: $ref: '#/components/schemas/soapenv_subcode' Value: type: string required: - Value type: object wsnt_AbsoluteOrRelativeTimeType: oneOf: - type: string - type: string wsnt_FilterType: type: object wstop_Documentation: type: object wstop_ExtensibleDocumented: properties: documentation: $ref: '#/components/schemas/wstop_Documentation' type: object wstop_TopicSetType: allOf: - $ref: '#/components/schemas/wstop_ExtensibleDocumented' - type: object device_AddScopes: properties: ScopeItem: description: Contains a list of new configurable scope parameters that will be added to the existing configurable scope. items: type: string type: array required: - ScopeItem type: object device_CreateUsers: properties: User: description: 'Creates new device users and corresponding credentials. Each user entry includes: username, password and user level. Either all users are created successfully or a fault message MUST be returned without creating any user. If trying to create several users with exactly the same username the request is rejected and no users are created. If password is missing, then fault message Too weak password is returned.' items: $ref: '#/components/schemas/onvif_User' type: array required: - User type: object device_DeleteUsers: properties: Username: description: Deletes users on an device and there may exist users that cannot be deleted to ensure access to the unit. Either all users are deleted successfully or a fault message MUST be returned and no users be deleted. If a username exists multiple times in the request, then a fault message is returned. items: type: string type: array required: - Username type: object device_DeviceServiceCapabilities: properties: Misc: allOf: - $ref: '#/components/schemas/device_MiscCapabilities' - description: Capabilities that do not fit in any of the other categories. Network: allOf: - $ref: '#/components/schemas/device_NetworkCapabilities' - description: Network capabilities. Security: allOf: - $ref: '#/components/schemas/device_SecurityCapabilities' - description: Security capabilities. System: allOf: - $ref: '#/components/schemas/device_SystemCapabilities' - description: System capabilities. required: - Network - Security - System type: object device_GetCapabilities: properties: Category: description: List of categories to retrieve capability information on. items: $ref: '#/components/schemas/onvif_CapabilityCategory' type: array type: object device_GetCapabilitiesResponse: properties: Capabilities: allOf: - $ref: '#/components/schemas/onvif_Capabilities' - description: Capability information. required: - Capabilities type: object device_GetDNS: type: object device_GetDNSResponse: properties: DNSInformation: allOf: - $ref: '#/components/schemas/onvif_DNSInformation' - description: DNS information. required: - DNSInformation type: object device_GetDeviceInformation: type: object device_GetDeviceInformationResponse: properties: FirmwareVersion: description: The firmware version in the device. type: string HardwareId: description: The hardware ID of the device. type: string Manufacturer: description: The manufactor of the device. type: string Model: description: The device model. type: string SerialNumber: description: The serial number of the device. type: string required: - Manufacturer - Model - FirmwareVersion - SerialNumber - HardwareId type: object device_GetDiscoveryMode: type: object device_GetDiscoveryModeResponse: properties: DiscoveryMode: allOf: - $ref: '#/components/schemas/onvif_DiscoveryMode' - description: 'Indicator of discovery mode: Discoverable, NonDiscoverable.' required: - DiscoveryMode type: object device_GetEndpointReference: type: object device_GetEndpointReferenceResponse: properties: GUID: type: string required: - GUID type: object device_GetHostname: type: object device_GetHostnameResponse: properties: HostnameInformation: allOf: - $ref: '#/components/schemas/onvif_HostnameInformation' - description: Contains the hostname information. required: - HostnameInformation type: object device_GetNetworkDefaultGateway: type: object device_GetNetworkDefaultGatewayResponse: properties: NetworkGateway: allOf: - $ref: '#/components/schemas/onvif_NetworkGateway' - description: Gets the default IPv4 and IPv6 gateway settings from the device. required: - NetworkGateway type: object device_GetNetworkInterfaces: type: object device_GetNetworkInterfacesResponse: properties: NetworkInterfaces: description: List of network interfaces. items: $ref: '#/components/schemas/onvif_NetworkInterface' type: array required: - NetworkInterfaces type: object device_GetNetworkProtocols: type: object device_GetNetworkProtocolsResponse: properties: NetworkProtocols: description: 'Contains an array of defined protocols supported by the device. There are three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be retrieved for each protocol: port and enable/disable.' items: $ref: '#/components/schemas/onvif_NetworkProtocol' type: array type: object device_GetScopes: type: object device_GetScopesResponse: properties: Scopes: description: 'Contains a list of URI definining the device scopes. Scope parameters can be of two types: fixed and configurable. Fixed parameters can not be altered.' items: $ref: '#/components/schemas/onvif_Scope' type: array required: - Scopes type: object device_GetServiceCapabilities: type: object device_GetServiceCapabilitiesResponse: properties: Capabilities: allOf: - $ref: '#/components/schemas/device_DeviceServiceCapabilities' - description: The capabilities for the device service is returned in the Capabilities element. required: - Capabilities type: object device_GetSystemDateAndTime: type: object device_GetSystemDateAndTimeResponse: properties: SystemDateAndTime: allOf: - $ref: '#/components/schemas/onvif_SystemDateTime' - description: Contains information whether system date and time are set manually or by NTP, daylight savings is on or off, time zone in POSIX 1003.1 format and system date and time in UTC and also local system date and time. required: - SystemDateAndTime type: object device_GetUsers: type: object device_GetUsersResponse: properties: User: description: 'Contains a list of the onvif users and following information is included in each entry: username and user level.' items: $ref: '#/components/schemas/onvif_User' type: array type: object device_MiscCapabilities: properties: AuxiliaryCommands: description: Lists of commands supported by SendAuxiliaryCommand. type: string type: object device_NetworkCapabilities: properties: DHCPv6: description: Indicates support for Stateful IPv6 DHCP. type: boolean Dot11Configuration: description: Indicates support for IEEE 802.11 configuration. type: boolean Dot1XConfigurations: description: Indicates the maximum number of Dot1X configurations supported by the device format: int32 type: integer DynDNS: description: Indicates support for dynamic DNS configuration. type: boolean HostnameFromDHCP: description: Indicates support for retrieval of hostname from DHCP. type: boolean IPFilter: description: Indicates support for IP filtering. type: boolean IPVersion6: description: Indicates support for IPv6. type: boolean NTP: description: Maximum number of NTP servers supported by the devices SetNTP command. format: int32 type: integer ZeroConfiguration: description: Indicates support for zeroconf. type: boolean type: object device_RemoveScopes: properties: ScopeItem: description: Contains a list of URIs that should be removed from the device scope. items: type: string type: array required: - ScopeItem type: object device_SecurityCapabilities: properties: AccessPolicyConfig: description: Indicates support for access policy configuration. type: boolean DefaultAccessPolicy: description: Indicates support for the ONVIF default access policy. type: boolean Dot1X: description: Indicates support for IEEE 802.1X configuration. type: boolean HttpDigest: description: Indicates support for WS over HTTP digest authenticated communication layer. type: boolean KerberosToken: description: Indicates support for WS-Security Kerberos token. type: boolean MaxPasswordHistory: description: Maximum number of passwords that the device can remember for each user format: int32 type: integer MaxPasswordLength: description: Maximum number of characters supported for the password by CreateUsers and SetUser. format: int32 type: integer MaxUserNameLength: description: Maximum number of characters supported for the username by CreateUsers. format: int32 type: integer MaxUsers: description: The maximum number of users that the device supports. format: int32 type: integer OnboardKeyGeneration: description: Indicates support for onboard key generation. type: boolean RELToken: description: Indicates support for WS-Security REL token. type: boolean RemoteUserHandling: description: Indicates support for remote user configuration. Used when accessing another device. type: boolean SAMLToken: description: Indicates support for WS-Security SAML token. type: boolean SecurityPolicies: description: 'Indicates which security policies are supported. Options are: ModifyPassword, PasswordComplexity, AuthFailureWarnings' type: string SupportedEAPMethods: description: EAP Methods supported by the device. The int values refer to the format: int32 type: integer TLS1.0: description: Indicates support for TLS 1.0. type: boolean TLS1.1: description: Indicates support for TLS 1.1. type: boolean TLS1.2: description: Indicates support for TLS 1.2. type: boolean UsernameToken: description: Indicates support for WS-Security Username token. type: boolean X.509Token: description: Indicates support for WS-Security X.509 token. type: boolean type: object device_SetDNS: properties: DNSManual: description: DNS address(es) set manually. items: $ref: '#/components/schemas/onvif_IPAddress' type: array FromDHCP: description: Indicate if the DNS address is to be retrieved using DHCP. type: boolean SearchDomain: description: DNS search domain. items: type: string type: array required: - FromDHCP type: object device_SetDiscoveryMode: properties: DiscoveryMode: allOf: - $ref: '#/components/schemas/onvif_DiscoveryMode' - description: 'Indicator of discovery mode: Discoverable, NonDiscoverable.' required: - DiscoveryMode type: object device_SetHostname: properties: Name: description: The hostname to set. type: string required: - Name type: object device_SetNetworkDefaultGateway: properties: IPv4Address: description: Sets IPv4 gateway address used as default setting. items: type: string type: array IPv6Address: description: Sets IPv6 gateway address used as default setting. items: type: string type: array type: object device_SetNetworkInterfaces: properties: InterfaceToken: description: Symbolic network interface name. maxLength: 64 type: string NetworkInterface: allOf: - $ref: '#/components/schemas/onvif_NetworkInterfaceSetConfiguration' - description: Network interface name. required: - InterfaceToken - NetworkInterface type: object device_SetNetworkProtocols: properties: NetworkProtocols: description: 'Configures one or more defined network protocols supported by the device. There are currently three protocols defined; HTTP, HTTPS and RTSP. The following parameters can be set for each protocol: port and enable/disable.' items: $ref: '#/components/schemas/onvif_NetworkProtocol' type: array required: - NetworkProtocols type: object device_SetScopes: properties: Scopes: description: Contains a list of scope parameters that will replace all existing configurable scope parameters. items: type: string type: array required: - Scopes type: object device_SetSystemDateAndTime: properties: DateTimeType: allOf: - $ref: '#/components/schemas/onvif_SetDateTimeType' - description: Defines if the date and time is set via NTP or manually. DaylightSavings: description: Automatically adjust Daylight savings if defined in TimeZone. type: boolean TimeZone: allOf: - $ref: '#/components/schemas/onvif_TimeZone' - description: The time zone in POSIX 1003.1 format UTCDateTime: allOf: - $ref: '#/components/schemas/onvif_DateTime' - description: Date and time in UTC. If time is obtained via NTP, UTCDateTime has no meaning required: - DateTimeType - DaylightSavings type: object device_SetSystemFactoryDefault: properties: FactoryDefault: allOf: - $ref: '#/components/schemas/onvif_FactoryDefaultType' - description: Specifies the factory default action type. required: - FactoryDefault type: object device_SetUser: properties: User: description: Updates the credentials for one or several users on an device. Either all change requests are processed successfully or a fault message MUST be returned. If the request contains the same username multiple times, a fault message is returned. items: $ref: '#/components/schemas/onvif_User' type: array required: - User type: object device_SystemCapabilities: properties: Addons: description: List of supported Addons by the device. type: string AutoGeo: description: List of supported automatic GeoLocation adjustment supported by the device. Valid items are defined by tds:AutoGeoMode. type: string DiscoveryBye: description: Indicates support for WS-Discovery Bye. type: boolean DiscoveryNotSupported: description: Indicates no support for network discovery. type: boolean DiscoveryResolve: description: Indicates support for WS Discovery resolve requests. type: boolean FirmwareUpgrade: description: Indicates support for firmware upgrade through MTOM. type: boolean GeoLocationEntries: description: If present signals support for geo location. The value signals the supported number of entries. format: int32 type: integer HttpFirmwareUpgrade: description: Indicates support for firmware upgrade through HTTP. type: boolean HttpSupportInformation: description: Indicates support for retrieving support information through HTTP. type: boolean HttpSystemBackup: description: Indicates support for system backup through HTTP. type: boolean HttpSystemLogging: description: Indicates support for retrieval of system logging through HTTP. type: boolean MaxStorageConfigurations: description: Indicates maximum number of storage configurations supported. format: int32 type: integer NetworkConfigNotSupported: description: Indicates no support for network configuration. type: boolean RemoteDiscovery: description: Indicates support for remote discovery. type: boolean StorageConfiguration: description: Indicates support for storage configuration interfaces. type: boolean StorageTypesSupported: description: Enumerates the supported StorageTypes, see tds:StorageType. type: string SystemBackup: description: Indicates support for system backup through MTOM. type: boolean SystemLogging: description: Indicates support for retrieval of system logging through MTOM. type: boolean UserConfigNotSupported: description: Indicates no support for user configuration. type: boolean type: object device_SystemReboot: type: object event_Capabilities: properties: EventBrokerProtocols: description: A space separated list of supported event broker protocols as defined by the tev:EventBrokerProtocol datatype. type: string MaxEventBrokers: description: Maxiumum number of event broker configurations that can be added to the device. format: int32 type: integer MaxNotificationProducers: description: Maximum number of supported notification producers as defined by WS-BaseNotification. format: int32 type: integer MaxPullPoints: description: Maximum supported number of notification pull points. format: int32 type: integer MetadataOverMQTT: description: Indicates that metadata streaming over MQTT is supported type: boolean PersistentNotificationStorage: description: Indication if the device supports persistent notification storage. type: boolean WSPausableSubscriptionManagerInterfaceSupport: description: Indicates that the WS Pausable Subscription Manager Interface is supported. type: boolean WSPullPointSupport: description: Indicates that the WS Pull Point is supported. type: boolean WSSubscriptionPolicySupport: description: Indicates that the WS Subscription policy is supported. type: boolean type: object event_GetEventProperties: type: object event_GetEventPropertiesResponse: properties: FixedTopicSet: description: True when topicset is fixed for all times. type: boolean MessageContentFilterDialect: description: Defines the XPath function set supported for message content filtering. items: type: string type: array MessageContentSchemaLocation: description: |- The Message Content Description Language allows referencing of vendor-specific types. In order to ease the integration of such types into a client application, the GetEventPropertiesResponse shall list all URI locations to schema files whose types are used in the description of notifications, with MessageContentSchemaLocation elements. items: type: string type: array ProducerPropertiesFilterDialect: description: Optional ProducerPropertiesDialects. Refer to items: type: string type: array TopicExpressionDialect: description: Defines the XPath expression syntax supported for matching topic expressions. items: type: string type: array TopicNamespaceLocation: description: List of topic namespaces supported. items: type: string type: array TopicSet: allOf: - $ref: '#/components/schemas/wstop_TopicSetType' - description: Set of topics supported. required: - TopicNamespaceLocation - FixedTopicSet - TopicSet - TopicExpressionDialect - MessageContentFilterDialect - MessageContentSchemaLocation type: object event_GetServiceCapabilities: type: object event_GetServiceCapabilitiesResponse: properties: Capabilities: allOf: - $ref: '#/components/schemas/event_Capabilities' - description: The capabilities for the event service is returned in the Capabilities element. required: - Capabilities type: object imaging_Capabilities: properties: AdaptablePreset: description: Indicates whether or not imaging preset settings can be updated. type: boolean ImageStabilization: description: |- Indicates whether or not Image Stabilization feature is supported. The use of this capability is deprecated, a client should use GetOption to find out if image stabilization is supported. type: boolean Presets: description: Indicates whether or not Imaging Presets feature is supported. type: boolean type: object imaging_GetServiceCapabilities: type: object imaging_GetServiceCapabilitiesResponse: properties: Capabilities: allOf: - $ref: '#/components/schemas/imaging_Capabilities' - description: The capabilities for the imaging service is returned in the Capabilities element. required: - Capabilities type: object media_AddMetadataConfiguration: properties: ConfigurationToken: description: Contains a reference to the MetadataConfiguration to add maxLength: 64 type: string ProfileToken: description: Reference to the profile where the configuration should be added maxLength: 64 type: string required: - ProfileToken - ConfigurationToken type: object media_AddPTZConfiguration: properties: ConfigurationToken: description: Contains a reference to the PTZConfiguration to add maxLength: 64 type: string ProfileToken: description: Reference to the profile where the configuration should be added maxLength: 64 type: string required: - ProfileToken - ConfigurationToken type: object media_Capabilities: properties: EXICompression: description: Indicates the support for the Efficient XML Interchange (EXI) binary XML format. type: boolean OSD: description: Indicates if OSD is supported. type: boolean ProfileCapabilities: allOf: - $ref: '#/components/schemas/media_ProfileCapabilities' - description: Media profile capabilities. Rotation: description: Indicates whether or not Rotation feature is supported. type: boolean SnapshotUri: description: Indicates if GetSnapshotUri is supported. type: boolean StreamingCapabilities: allOf: - $ref: '#/components/schemas/media_StreamingCapabilities' - description: Streaming capabilities. TemporaryOSDText: description: Indicates the support for temporary osd text configuration. type: boolean VideoSourceMode: description: Indicates the support for changing video source mode. type: boolean required: - ProfileCapabilities - StreamingCapabilities type: object media_GetCompatibleMetadataConfigurations: properties: ProfileToken: description: Contains the token of an existing media profile the configurations shall be compatible with. maxLength: 64 type: string required: - ProfileToken type: object media_GetCompatibleMetadataConfigurationsResponse: properties: Configurations: description: Contains a list of metadata configurations that are compatible with the specified media profile. items: $ref: '#/components/schemas/onvif_MetadataConfiguration' type: array type: object media_GetMetadataConfiguration: properties: ConfigurationToken: description: Token of the requested metadata configuration. maxLength: 64 type: string required: - ConfigurationToken type: object media_GetMetadataConfigurationOptions: properties: ConfigurationToken: description: Optional metadata configuration token that specifies an existing configuration that the options are intended for. maxLength: 64 type: string ProfileToken: description: Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. maxLength: 64 type: string type: object media_GetMetadataConfigurationOptionsResponse: properties: Options: allOf: - $ref: '#/components/schemas/onvif_MetadataConfigurationOptions' - description: This message contains the metadata configuration options. If a metadata configuration is specified, the options shall concern that particular configuration. If a media profile is specified, the options shall be compatible with that media profile. If no tokens are specified, the options shall be considered generic for the device. required: - Options type: object media_GetMetadataConfigurationResponse: properties: Configuration: allOf: - $ref: '#/components/schemas/onvif_MetadataConfiguration' - description: The requested metadata configuration. required: - Configuration type: object media_GetMetadataConfigurations: type: object media_GetMetadataConfigurationsResponse: properties: Configurations: description: This element contains a list of metadata configurations items: $ref: '#/components/schemas/onvif_MetadataConfiguration' type: array type: object media_GetProfiles: type: object media_GetProfilesResponse: properties: Profiles: description: lists all profiles that exist in the media service items: $ref: '#/components/schemas/onvif_Profile' type: array type: object media_GetServiceCapabilities: type: object media_GetServiceCapabilitiesResponse: properties: Capabilities: allOf: - $ref: '#/components/schemas/media_Capabilities' - description: The capabilities for the media service is returned in the Capabilities element. required: - Capabilities type: object media_GetSnapshotUri: properties: ProfileToken: description: The ProfileToken element indicates the media profile to use and will define the source and dimensions of the snapshot. maxLength: 64 type: string required: - ProfileToken type: object media_GetSnapshotUriResponse: properties: MediaUri: $ref: '#/components/schemas/onvif_MediaUri' required: - MediaUri type: object media_GetStreamUri: properties: ProfileToken: description: The ProfileToken element indicates the media profile to use and will define the configuration of the content of the stream. maxLength: 64 type: string StreamSetup: allOf: - $ref: '#/components/schemas/onvif_StreamSetup' - description: Stream Setup that should be used with the uri required: - StreamSetup - ProfileToken type: object media_GetStreamUriResponse: properties: MediaUri: $ref: '#/components/schemas/onvif_MediaUri' required: - MediaUri type: object media_GetVideoEncoderConfiguration: properties: ConfigurationToken: description: Token of the requested video encoder configuration. maxLength: 64 type: string required: - ConfigurationToken type: object media_GetVideoEncoderConfigurationOptions: properties: ConfigurationToken: description: Optional video encoder configuration token that specifies an existing configuration that the options are intended for. maxLength: 64 type: string ProfileToken: description: Optional ProfileToken that specifies an existing media profile that the options shall be compatible with. maxLength: 64 type: string type: object media_GetVideoEncoderConfigurationOptionsResponse: properties: Options: $ref: '#/components/schemas/onvif_VideoEncoderConfigurationOptions' required: - Options type: object media_GetVideoEncoderConfigurationResponse: properties: Configuration: allOf: - $ref: '#/components/schemas/onvif_VideoEncoderConfiguration' - description: The requested video encoder configuration. required: - Configuration type: object media_GetVideoEncoderConfigurations: type: object media_GetVideoEncoderConfigurationsResponse: properties: Configurations: description: This element contains a list of video encoder configurations. items: $ref: '#/components/schemas/onvif_VideoEncoderConfiguration' type: array type: object media_ProfileCapabilities: properties: MaximumNumberOfProfiles: description: Maximum number of profiles supported. format: int32 type: integer type: object media_RemoveMetadataConfiguration: properties: ProfileToken: description: |- Contains a reference to the media profile from which the MetadataConfiguration shall be removed. maxLength: 64 type: string required: - ProfileToken type: object media_RemovePTZConfiguration: properties: ProfileToken: description: |- Contains a reference to the media profile from which the PTZConfiguration shall be removed. maxLength: 64 type: string required: - ProfileToken type: object media_SetMetadataConfiguration: properties: Configuration: allOf: - $ref: '#/components/schemas/onvif_MetadataConfiguration' - description: Contains the modified metadata configuration. The configuration shall exist in the device. ForcePersistence: description: The ForcePersistence element is obsolete and should always be assumed to be true. type: boolean required: - Configuration - ForcePersistence type: object media_SetVideoEncoderConfiguration: properties: Configuration: allOf: - $ref: '#/components/schemas/onvif_VideoEncoderConfiguration' - description: Contains the modified video encoder configuration. The configuration shall exist in the device. ForcePersistence: description: The ForcePersistence element is obsolete and should always be assumed to be true. type: boolean required: - Configuration - ForcePersistence type: object media_StreamingCapabilities: properties: NoRTSPStreaming: description: Indicates the device does not support live media streaming via RTSP. type: boolean NonAggregateControl: description: Indicates support for non aggregate RTSP control. type: boolean RTPMulticast: description: Indicates support for RTP multicast. type: boolean RTP_RTSP_TCP: description: Indicates support for RTP/RTSP/TCP. type: boolean RTP_TCP: description: Indicates support for RTP over TCP. type: boolean type: object media2_AddConfiguration: properties: Configuration: description: List of configurations to be added. The types shall be provided in the order defined by tr2:ConfigurationEnumeration. List entries with tr2:ConfigurationEnumeration value "All" shall be ignored. items: $ref: '#/components/schemas/media2_ConfigurationRef' type: array Name: description: Optional item. If present updates the Name property of the profile. maxLength: 64 type: string ProfileToken: description: Reference to the profile where the configuration should be added maxLength: 64 type: string required: - ProfileToken type: object media2_ConfigurationRef: properties: Token: description: |- Reference token of an existing configuration. Token shall be included in the AddConfiguration request along with the type. Token shall be included in the CreateProfile request when Configuration elements are included and type is selected. Token is optional for RemoveConfiguration request. If no token is provided in RemoveConfiguration request, device shall remove the configuration of the type included in the profile. maxLength: 64 type: string Type: description: Type of the configuration as defined by tr2:ConfigurationEnumeration. type: string required: - Type type: object media2_ConfigurationSet: description: A set of media configurations. properties: Analytics: allOf: - $ref: '#/components/schemas/onvif_VideoAnalyticsConfiguration' - description: Optional configuration of the analytics module and rule engine. AudioDecoder: allOf: - $ref: '#/components/schemas/onvif_AudioDecoderConfiguration' - description: Optional configuration of the Audio decoder. AudioEncoder: allOf: - $ref: '#/components/schemas/onvif_AudioEncoder2Configuration' - description: Optional configuration of the Audio encoder. AudioOutput: allOf: - $ref: '#/components/schemas/onvif_AudioOutputConfiguration' - description: Optional configuration of the Audio output. AudioSource: allOf: - $ref: '#/components/schemas/onvif_AudioSourceConfiguration' - description: Optional configuration of the Audio input. Metadata: allOf: - $ref: '#/components/schemas/onvif_MetadataConfiguration' - description: Optional configuration of the metadata stream. PTZ: allOf: - $ref: '#/components/schemas/onvif_PTZConfiguration' - description: Optional configuration of the pan tilt zoom unit. Receiver: allOf: - $ref: '#/components/schemas/media2_ReceiverConfiguration' - description: Optional configuration of the Receiver. VideoEncoder: allOf: - $ref: '#/components/schemas/onvif_VideoEncoder2Configuration' - description: Optional configuration of the Video encoder. VideoSource: allOf: - $ref: '#/components/schemas/onvif_VideoSourceConfiguration' - description: Optional configuration of the Video input. type: object media2_GetAnalyticsConfigurationsResponse: properties: Configurations: description: This element contains a list of Analytics configurations. items: $ref: '#/components/schemas/onvif_VideoAnalyticsConfiguration' type: array type: object media2_GetProfiles: properties: Token: description: Optional token of the requested profile. maxLength: 64 type: string Type: description: The types shall be provided as defined by tr2:ConfigurationEnumeration. items: type: string type: array type: object media2_GetProfilesResponse: properties: Profiles: description: |- Lists all profiles that exist in the media service. The response provides the requested types of Configurations as far as available. If a profile doesn't contain a type no error shall be provided. items: $ref: '#/components/schemas/media2_MediaProfile' type: array type: object media2_MediaProfile: description: A media profile consists of a set of media configurations. properties: Configurations: allOf: - $ref: '#/components/schemas/media2_ConfigurationSet' - description: The configurations assigned to the profile. Name: description: User readable name of the profile. maxLength: 64 type: string fixed: description: A value of true signals that the profile cannot be deleted. Default is false. type: boolean token: description: Unique identifier of the profile. maxLength: 64 type: string required: - token - Name type: object media2_ReceiverConfiguration: allOf: - $ref: '#/components/schemas/onvif_ReceiverConfiguration' - properties: token: maxLength: 64 type: string type: object media2_RemoveConfiguration: properties: Configuration: description: List of configurations to be removed. The types shall be provided in the order defined by tr2:ConfigurationEnumeration. Tokens appearing in the configuration list shall be ignored. Presence of the "All" type shall result in an empty profile. items: $ref: '#/components/schemas/media2_ConfigurationRef' type: array ProfileToken: description: This element contains a reference to the media profile from which the AudioDecoderConfiguration shall be removed. maxLength: 64 type: string required: - ProfileToken - Configuration type: object ptz_AbsoluteMove: properties: Position: allOf: - $ref: '#/components/schemas/onvif_PTZVector' - description: A Position vector specifying the absolute target position. ProfileToken: description: A reference to the MediaProfile. maxLength: 64 type: string Speed: allOf: - $ref: '#/components/schemas/onvif_PTZSpeed' - description: An optional Speed. required: - ProfileToken - Position type: object ptz_Capabilities: properties: EFlip: description: Indicates whether or not EFlip is supported. type: boolean GetCompatibleConfigurations: description: Indicates support for the GetCompatibleConfigurations command. type: boolean MoveAndTrack: description: Indication of the methods of MoveAndTrack that are supported, acceptable values are defined in tt:MoveAndTrackMethod. type: string MoveStatus: description: Indicates that the PTZStatus includes MoveStatus information. type: boolean Reverse: description: Indicates whether or not reversing of PT control direction is supported. type: boolean StatusPosition: description: Indicates that the PTZStatus includes Position information. type: boolean type: object ptz_ContinuousMove: properties: ProfileToken: description: A reference to the MediaProfile. maxLength: 64 type: string Timeout: description: An optional Timeout parameter. format: date-time type: string Velocity: allOf: - $ref: '#/components/schemas/onvif_PTZSpeed' - description: A Velocity vector specifying the velocity of pan, tilt and zoom. required: - ProfileToken - Velocity type: object ptz_GetConfiguration: properties: PTZConfigurationToken: description: Token of the requested PTZConfiguration. maxLength: 64 type: string required: - PTZConfigurationToken type: object ptz_GetConfigurationOptions: properties: ConfigurationToken: description: Token of an existing configuration that the options are intended for. maxLength: 64 type: string required: - ConfigurationToken type: object ptz_GetConfigurationOptionsResponse: properties: PTZConfigurationOptions: allOf: - $ref: '#/components/schemas/onvif_PTZConfigurationOptions' - description: The requested PTZ configuration options. required: - PTZConfigurationOptions type: object ptz_GetConfigurationResponse: properties: PTZConfiguration: allOf: - $ref: '#/components/schemas/onvif_PTZConfiguration' - description: A requested PTZConfiguration. required: - PTZConfiguration type: object ptz_GetConfigurations: type: object ptz_GetConfigurationsResponse: properties: PTZConfiguration: description: A list of all existing PTZConfigurations on the device. items: $ref: '#/components/schemas/onvif_PTZConfiguration' type: array type: object ptz_GetNode: properties: NodeToken: description: Token of the requested PTZNode. maxLength: 64 type: string required: - NodeToken type: object ptz_GetNodeResponse: properties: PTZNode: allOf: - $ref: '#/components/schemas/onvif_PTZNode' - description: A requested PTZNode. required: - PTZNode type: object ptz_GetNodes: type: object ptz_GetNodesResponse: properties: PTZNode: description: A list of the existing PTZ Nodes on the device. items: $ref: '#/components/schemas/onvif_PTZNode' type: array type: object ptz_GetPresets: properties: ProfileToken: description: A reference to the MediaProfile where the operation should take place. maxLength: 64 type: string required: - ProfileToken type: object ptz_GetPresetsResponse: properties: Preset: description: A list of presets which are available for the requested MediaProfile. items: $ref: '#/components/schemas/onvif_PTZPreset' type: array type: object ptz_GetServiceCapabilities: type: object ptz_GetServiceCapabilitiesResponse: properties: Capabilities: allOf: - $ref: '#/components/schemas/ptz_Capabilities' - description: The capabilities for the PTZ service is returned in the Capabilities element. required: - Capabilities type: object ptz_GetStatus: properties: ProfileToken: description: A reference to the MediaProfile where the PTZStatus should be requested. maxLength: 64 type: string required: - ProfileToken type: object ptz_GetStatusResponse: properties: PTZStatus: allOf: - $ref: '#/components/schemas/onvif_PTZStatus' - description: The PTZStatus for the requested MediaProfile. required: - PTZStatus type: object ptz_GotoHomePosition: properties: ProfileToken: description: A reference to the MediaProfile where the operation should take place. maxLength: 64 type: string Speed: allOf: - $ref: '#/components/schemas/onvif_PTZSpeed' - description: A requested speed.The speed parameter can only be specified when Speed Spaces are available for the PTZ Node. required: - ProfileToken type: object ptz_GotoPreset: properties: PresetToken: description: A requested preset token. maxLength: 64 type: string ProfileToken: description: A reference to the MediaProfile where the operation should take place. maxLength: 64 type: string Speed: allOf: - $ref: '#/components/schemas/onvif_PTZSpeed' - description: A requested speed.The speed parameter can only be specified when Speed Spaces are available for the PTZ Node. required: - ProfileToken - PresetToken type: object ptz_RelativeMove: properties: ProfileToken: description: A reference to the MediaProfile. maxLength: 64 type: string Speed: allOf: - $ref: '#/components/schemas/onvif_PTZSpeed' - description: An optional Speed parameter. Translation: allOf: - $ref: '#/components/schemas/onvif_PTZVector' - description: A positional Translation relative to the current position required: - ProfileToken - Translation type: object ptz_RemovePreset: properties: PresetToken: description: A requested preset token. maxLength: 64 type: string ProfileToken: description: A reference to the MediaProfile where the operation should take place. maxLength: 64 type: string required: - ProfileToken - PresetToken type: object ptz_SendAuxiliaryCommand: properties: AuxiliaryData: description: The Auxiliary request data. maxLength: 128 type: string ProfileToken: description: A reference to the MediaProfile where the operation should take place. maxLength: 64 type: string required: - ProfileToken - AuxiliaryData type: object ptz_SetConfiguration: properties: ForcePersistence: description: 'Flag that makes configuration persistent. Example: User wants the configuration to exist after reboot.' type: boolean PTZConfiguration: $ref: '#/components/schemas/onvif_PTZConfiguration' required: - PTZConfiguration - ForcePersistence type: object ptz_SetHomePosition: properties: ProfileToken: description: A reference to the MediaProfile where the home position should be set. maxLength: 64 type: string required: - ProfileToken type: object ptz_SetPreset: properties: PresetName: description: A requested preset name. type: string PresetToken: description: A requested preset token. maxLength: 64 type: string ProfileToken: description: A reference to the MediaProfile where the operation should take place. maxLength: 64 type: string required: - ProfileToken type: object ptz_Stop: properties: PanTilt: description: Set true when we want to stop ongoing pan and tilt movements.If PanTilt arguments are not present, this command stops these movements. type: boolean ProfileToken: description: A reference to the MediaProfile that indicate what should be stopped. maxLength: 64 type: string Zoom: description: Set true when we want to stop ongoing zoom movement.If Zoom arguments are not present, this command stops ongoing zoom movement. type: boolean required: - ProfileToken type: object Event: description: A discrete event containing one or more readings properties: apiVersion: description: A version number shows the API version in DTOs. type: string id: description: The unique identifier for the event type: string format: uuid deviceName: description: The name of the device from which the event originated type: string profileName: description: The name of the device profile from which the event originated type: string sourceName: description: The name of the source device resource or command from which the event originated type: string origin: description: A Unix timestamp indicating when the event was originated at the source device (can support nanoseconds) type: integer readings: description: One or more readings captured at the time of the event type: array items: $ref: '#/components/schemas/BaseReading' required: - apiVersion - id - deviceName - profileName - sourceName - origin - readings BaseEventResponse: allOf: - $ref: '#/components/schemas/BaseResponse' - properties: event: $ref: '#/components/schemas/Event' description: A response type for returning an Event to the caller. ObjectEventResponse: allOf: - $ref: '#/components/schemas/BaseEventResponse' - properties: event: properties: readings: items: $ref: '#/components/schemas/ObjectReading' BinaryEventResponse: allOf: - $ref: '#/components/schemas/BaseEventResponse' - properties: event: properties: readings: items: $ref: '#/components/schemas/BinaryReading' StringEventResponse: allOf: - $ref: '#/components/schemas/BaseEventResponse' - properties: event: properties: readings: items: $ref: '#/components/schemas/StringReading' BoolEventResponse: allOf: - $ref: '#/components/schemas/BaseEventResponse' - properties: event: properties: readings: items: $ref: '#/components/schemas/BoolReading' BaseResponse: description: Defines basic properties which all use-case specific response DTO instances should support type: object properties: apiVersion: description: A version number shows the API version in DTOs. type: string example: v3 statusCode: description: A numeric code signifying the operational status of the response. type: integer BaseReading: description: A base reading type containing common properties from which more specific reading types inherit. This definition should not be implemented but is used elsewhere to indicate support for a mixed list of simple/binary readings in a single event. type: object properties: id: description: The unique identifier for the reading type: string format: uuid origin: description: A Unix timestamp indicating when the reading was originated at the source device (can support nanoseconds) type: integer deviceName: description: The name of the device from which the reading originated type: string resourceName: description: The device resource name for the reading type: string profileName: description: The device profile name for the reading type: string valueType: description: Indicates the datatype of the value property type: string enum: - Bool - String - Object - Binary required: - apiVersion - deviceName - resourceName - profileName - origin - valueType BoolReading: description: An event reading for a bool data type allOf: - $ref: '#/components/schemas/BaseReading' - type: object properties: valueType: example: Bool value: description: A string representation of the reading's value type: string enum: - 'true' - 'false' required: - value StringReading: description: An event reading for a string data type allOf: - $ref: '#/components/schemas/BaseReading' - type: object properties: valueType: example: String value: description: A string representation of the reading's value type: string required: - value ObjectReading: description: An event reading for an object data type allOf: - $ref: '#/components/schemas/BaseReading' - type: object properties: valueType: example: Object value: description: Use objectValue instead. type: string example: '' objectValue: description: Object representation of the reading's value type: object required: - objectValue BinaryReading: description: An event reading for a binary data type allOf: - $ref: '#/components/schemas/BaseReading' - type: object properties: valueType: description: Indicates the datatype of the value property type: string example: Binary enum: - Binary binaryValue: description: If the value of the reading is binary, it will be found in this property as a base64 string type: string format: base64 mediaType: description: E.g. MIME Type, indicates what the content type of the binaryValue property is if it's populated. type: string example: image/jpeg value: description: Use binaryValue instead. type: string example: '' required: - binaryValue - mediaType ErrorResponse: allOf: - $ref: '#/components/schemas/BaseResponse' - properties: message: description: A field that can contain a free-form message, such as an error message. type: string description: A response type for returning a generic error to the caller. type: object SuccessResponse: allOf: - $ref: '#/components/schemas/BaseResponse' - properties: statusCode: example: 200 headers: correlatedResponseHeader: description: A response header that returns the unique correlation ID used to initiate the request. schema: type: string format: uuid example: 14a42ea6-c394-41c3-8bcd-a29b9f5e6835 examples: 200Example: value: apiVersion: v3 statusCode: 200 400Example: value: apiVersion: v3 statusCode: 400 message: Bad Request 404Example: value: apiVersion: v3 statusCode: 404 message: The requested resource does not exist 416Example: value: apiVersion: v3 statusCode: 416 message: Range Not Satisfiable 423Example: value: apiVersion: v3 statusCode: 423 message: The device is locked (AdminState) 500Example: value: apiVersion: v3 statusCode: 500 message: Internal Server Error 503Example: value: apiVersion: v3 statusCode: 503 message: HTTP request timeout parameters: EDGEX_DEVICE_NAME: name: EDGEX_DEVICE_NAME in: path schema: type: string required: true example: Camera001 description: | This is the device name associated with the camera. It was either assigned via the auto-discovery function, or manually defined when you created the device.