Previous Topic

Next Topic

Book Contents

Book Index

Managing Cameras via HDM (Deprecated)

This document reveals the Cameras Module functionality for integration of camera devices into the Home Device Manager (HDM) system.

Required Bundles

You can easily install all of the required bundles for integration of the camera devices into the Home Device Manager (HDM) by using an install script for the Kit Manager:

Protocol Information

This section provides detailed information on the protocol adapter supported by the HDM for controlling home devices in the management system.

Protocol Name

To be able to manage camera devices, the Cameras Protocol Adapter exports its devices under the Cameras() name. The protocol adapter describes to the Home Device Manager, and the management applications its support for:

Protocol Operations

HDM uses OSGi Event Admin service to generate events when adding/removing home devices, changing of home device properties, changing of DCO properties, etc.

Protocol Properties

The device properties related to the underlying protocol are described in the following table:

Property

Allowed Values*/Default Value

Access

Description

Resolution

address

127.0.0.1

Read/Write

Address of the camera. The value of this property should consist of all the information needed to address the camera and establish a connection. The format of this property for IP cameras must be [<HTTP_protocol>://]<host>[:<port>] and for USB cameras must be <vendor_ID>:<product_ID>

Optional

camera.type

[IP, USB]

Read

The type of the camera. It can be either IP or USB.

Optional

driver

[AXIS(VAPIX v2), MOBOTIX(Camera Integration SDK 1.0.1), Panasonic(CGI Interface v4.3)]

Read

Represents the driver info for creating a new camera. Its value is constructed from its vendor concatenated with the version placed in brackets.

Mandatory

password

-

Read/Write

The user's password for the camera.

Optional

rtsp.port

554

Read/Write

RTSP port of the camera allocated for accepted requests. It must be a number between 1 and 65535.

Optional

user

anonymous

Read/Write

The default user of the camera.

Optional

authorization

-

Read/Write

Property name for ONVIF camera authorization. Specifies ONVIF authorization method.

Optional

available.drivers

[Axis(VAPIX v2),Mobotix(Camera Integration SDK 1.0.1), Panasonic(CGI Interface v4.3), Generic(1.0), IPCAM(CGI SDK 2.1), ONVIF(v1.02), SerComm(CGI Interface v1.36), ZyXEL(CGI Interface v1.4), UDP(NVC HTTP API v1.06.07), UDP(IPX/IPN V1.3.0), Compro(IP Camera SDK v0.97c), D-Link(Nipca 1.9.5)]

Read

Property for the available camera drivers. Read only property.

Optional

camera.id

-

Read

Property for a camera ID. Read only property.

Optional

camera.name

-

Read/Write

Property for a camera friendly name.

Optional

controller.id

-

Read

Specifies controller identifier.

Optional

firmware.vendor

-

Read

Firmware vendor of the camera.

Optional

firmware.version

-

Read

Firmware version of the camera.

Optional

generic.image.format

-

Read/Write

Property for a camera image format. Used in camera Generic driver. Value has to be a format of camera image. Example: jpeg.

Optional

generic.image.protocol

-

Read/Write

Property name for camera image protocol. Used in camera Generic driver. Value has to be image protocol of the camera. Example: http.

Optional

generic.image.resolution

-

Read/Write

Property for a camera image resolution. Used in camera Generic driver. Example: <with>x<hight>.

Optional

generic.image.url

-

Read/Write

Property for a camera image url. Used in camera Generic driver. Value has to be url to image. Example: /image.jpeg.

Optional

generic.ptz.down.url

-

Read/Write

Property for a camera move down url. Used in camera Generic driver. Value has to be a url to camera move down command. Example: /move.cgi?direction=down.

Optional

generic.ptz.in.url

-

Read/Write

Property for camera ZOOM IN url. Used in camera Generic driver. Value has to be url to camera zoom in command. Example: /zoom.cgi?direction=in.

Optional

generic.ptz.left.url

-

Read/Write

Property for a camera MOVE LEFT url. Used in camera Generic driver. Value has to be url to camera move left command. Example: /move.cgi?direction=left.

Optional

generic.ptz.out.url

-

Read/Write

Property name for camera ZOOM OUT url. Used in camera Generic driver. Value has to be url to camera zoom out command. Example: /zoom.cgi?direction=out.

Optional

generic.ptz.right.url

-

Read/Write

Property for camera move right url. Used in camera Generic driver. Value has to be url to camera move right command. Example: /move.cgi?direction=right.

Optional

generic.ptz.up.url

-

Read/Write

Property for camera move up url. Used in camera Generic driver. Value has to be url to camera move up command. Example: /move.cgi?direction=up.

Optional

generic.video.format

-

Read/Write

Property for the camera video format. Used in camera Generic driver. Value has to be the format of the video from the camera.

Optional

generic.video.protocol

-

Read/Write

Property name for camera video protocol. Used in camera Generic driver. Value has to be video protocol of the camera. Example: http or rtsp.

Optional

generic.video.resolution

-

Read/Write

Property for camera video resolution. Used in camera Generic driver. Format of value: <with>x<hight> Example: 480x320.

Optional

generic.video.url

-

Read/Write

Property for camera video url. Used in camera Generic driver. Value has to be url to video. Example: /video.mjpeg.

Optional

hardware.vendor

-

Read

Property name for camera hardware vendor. Value is automatically obtained from the camera if property is not set. Example: D-Link.

Optional

hardware.version

-

Read

Property name for camera hardware version. Value is automatically obtained from the camera if property is not set. Example: DCS-942L.

Optional

model

-

Read

Property for the camera model.

Optional

nvr.channel

-

Read/Write

Constant for NVR channel id.

Optional

* The allowed values are useful when you have to add a new device and setting some value for each adapter property. The allowed value of a property is either a String or a String[]. If the default value is a String[], you must pick one of the elements of this array as the actual value.

Properties required by the camera protocol adapter - You can retrieve the list of the properties for the adapter by using the getProperties or getPropertyMetadata method of the corresponding ProtocolAdapterInfoobject. If a property is mandatory, its ProtocolAdapter.META_INFO_PROPERTY_RESOLUTION metadata property will be ProtocolAdapter.META_INFO_PROPERTY_RESOLUTION_MANDATORY.

Polling

The Cameras protocol adapter maintains the minimal time period over which polling a device class property can be executed. The default interval is 10000 milliseconds.

Cameras-to-HDM Mapping

For each physical camera device, an HDM home device is created. The camera device has device class objects corresponding to the controls that the driver supports for it.

The mapping between the Cameras controls and the device classes is as follows:

Control

Device Class

Move

Move Actuator

Zoom

Zoom Actuator

Record

Record Actuator

Still Image

Image Provider

Video

Video Provider

Presets

Presets Provider (custom)

HTTP Control

Basic HTTP Control (custom)

Profiles

Profiles Provider (custom)

The Java classes of the Cameras HDM device classes are grouped in the and packages of the HDM API.

The Cameras-specific (custom) device classes are grouped in the com.prosyst.mbs.services.cameras.hdm.deviceclasses package exported by the Cameras HDM Adapter bundle.

For more detailed information on device classes, refer to the "Devices" document of the Device Access Module.