Using the JSON-RPC protocol allows you to remotely access devices and zones over HTTP connection.
The JSON-RPC distribution provider maps the RPC method calls to the Java methods of the HDM remote handler. Then the handler uses the HDM API to carry out the requests.
List of methods for accessing and controlling devices and for setting up protocol adapters
Methods for accessing and controlling devices.
Method
|
Return Value
|
Parameters
|
Parameter Description
|
HDAccess/getHomeDevices
|
HomeDevice[] - null can be returned if no devices are found against the filter. Error will be returned if the filter is incorrect.
|
|
- filter: string - The LDAP filter for the needed devices. If it is null or empty string all devices are returned. The filter keys are case insensitive and can be: uid, name, vendor, version, type, tags, device.classes, status, adapter, parent.uid, additional device property or device class object property (combination of device class name, dot and device class property).
|
HDAccess/getHomeDevices
|
HomeDevice[] - null can be returned if no devices are found against filter for the specified protocol adapter. Error will be returned if the adapterName is incorrect or filter is incorrect.
|
- adapterName: string
- filter: string
|
- adapterName: string - The name of the protocol adapter.
- filter: string - The LDAP filter for the needed devices. If it is null or empty string all devices are returned. The filter keys are case insensitive and can be: uid, name, vendor, version, type, tags, device.classes, status, adapter, parent.uid, additional device property or device class object property (combination of device class name, dot and device class property).
|
HDAccess/getHomeDevice
|
HomeDevice - Error if the uid is invalid.
|
|
- uid: string - The ID of the device.
|
HDAccess/getDeviceClassObject
|
DeviceClassObject - Error if uid or deviceClass for this UID are invalid.
|
- uid: string
- deviceClass: string
- dcoMetadataFlag: boolean
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- dcoMetadataFlag: boolean - If false then metadata for device class objects' properties and operations is not included. Otherwise it is included.
|
HDAccess/getDeviceClassObjects
|
DeviceClassObject[] - Error if UID is invalid. null is returned if the device does not have device class objects.
|
- uid: string
- dcoMetadataFlag: boolean
|
- uid: string - The ID of the device.
- dcoMetadataFlag: boolean - If false then metadata for device class objects' properties and operations is not included. Otherwise it is included.
|
HDAccess/getDCOProperty
|
Supported JSON Types. Error if uid, deviceClass or propertyName are invalid. Error if property cannot be read for some reason such as a network error.
|
- uid: string
- deviceClass: string
- propertyName: string
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- propertyName: string - The name of the property to be retrieved.
|
HDAccess/getDCOProperties
|
Supported JSON Types []. Error if uid or deviceClass are invalid. If some of the properties cannot be read the related element in the array will be null.
|
- uid: string
- deviceClass: string
- propertyNames: string[]
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- propertyNames: string[] - The name of the properties to be retrieved.
|
HDAccess/setDCOProperty
|
Error if uid, deviceClass, propertyName or propertyValue are invalid. Error if the property cannot be set for some reason such as a network error.
|
- uid: string
- deviceClass: string
- propertyName: string
- propertyValue: Supported JSON Types
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- propertyName: string - The name of the property to be set.
- propertyValue: Supported JSON Types - The value that needs to be set to the specified property. String can be used in value to represent number and boolean.
|
HDAccess/setDCOProperties
|
Object. Key is property name and value is boolean. If the property is set, value is true else value is false. Error if uid, deviceClass, property names or property values are invalid.
|
- uid: string
- deviceClass: string
- properties: object
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- properties: object - A set of (key, value) pairs. The key is the name of the property to be set and the value is the value of the property. The key must be a string and value must be Supported JSON Types. String can be used in values to represent number and boolean. The key cannot be some of the following properties : deviceClass, propertyNames, operationNames, type.
|
HDAccess/invokeDCOOperation
|
Supported JSON Types. Error if uid, deviceClass, operationName or params are invalid. Error if DCO operation cannot be executed for some reason as network error.
|
- uid: string
- deviceClass: string
- operationName: string
- params: object
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- operationName: string - The name of the operation.
- params: object - A set of (key, value) pairs. The keys are IN1, IN2, etc. and values are Supported JSON Types. Can be null if there are no params. String can be used in values to represent number and boolean.
|
HDAccess/refreshDCO
|
Error if uid, deviceClass or propertyName are invalid.
|
- uid: string
- deviceClass: string
- propertyName: string
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- propertyName: string - The property name. Can be also null or empty string. In this case all properties are refreshed.
|
HDAccess/refreshHomeDevice
|
Error if uid is invalid.
|
|
- uid: string - The ID of the device.
|
Method
|
Return Value
|
Parameters
|
Parameter Description
|
HDAdmin/getProtocolAdapterInfo
|
ProtocolAdapterInfo. Error if adapterName is invalid.
|
|
- adapterName: string - The name of the protocol adapter.
|
HDAdmin/getProtocolAdapterInfos
|
ProtocolAdapterInfo[]. null can be returned if no protocol adapters.
|
|
|
HDAdmin/addHomeDevice
|
HomeDevice. Null is returned if there is no HomeDevicePermission.GET for the added home device. Error if adapterName or deviceProperties are invalid. Error if operation cannot be executed. Example: Protocol adapter does not support the operation.
|
- adapterName: string
- deviceProperties: object
|
- adapterName: string - The name of the protocol adapter.
- deviceProperties: object - The device properties. A set of (key, value) pairs. The key is the name of the property to be set and the value is the value of the property. The key and the value must be String. If the parameter is null, the device will be added with no properties. The key can be: UID, parent.UID, device.classes, name, vendor, version, type, additional properties that are required from the protocol adapter and additional properties that are not required by protocol adapter.
|
HDAdmin/removeHomeDevice
|
Boolean. The result is true, when the home device is removed. Error if the operation cannot be executed. For example, when the protocol adapter does not support the operation.
|
|
- uid: string - The ID of the device.
|
HDAdmin/removeHomeDevice
|
Boolean. Result is true, when device is removed. Error if operation cannot be executed. For example, when the protocol adapter does not support device removal with operation arguments.
|
- uid: string
- operationArguments: int
|
- uid: string - The ID of the device.
- operationArguments: int - The operation arguments. Can be one of the following:
- 1 - for reset remove operation
- 2 - for forcing the remove operation
- 4 - for postponing the remove operation until the device is again available in the network
- a custom specific value, or a bitmask of the supported remove operation arguments.
|
HDAdmin/cancelRemoveHomeDevice
|
Error if uid is invalid. Error if the operation cancel device remove cannot be executed. For example, the home device remove operation cannot be canceled.
|
|
- uid: string - The ID of the device.
|
HDAdmin/searchHomeDevices
|
Error if adapterName is invalid.
|
- adapterName: string
- searchProperties: object
|
- adapterName: string - The name of the protocol adapter. It must be null or empty string if the search operation has to be performed on all home protocol adapters.
- searchProperties: object - A set of (key, value) pairs to define the search operation. It can be null. The key search properties are vendor, version or specific protocol adapter property like device network address.
|
HDAdmin/searchHomeDevices
|
Error if adapterName is invalid. Error if operation can not be executed. For example, when protocol adapter does not support devices search with operation arguments.
|
- adapterName: string
- searchProperties: object
- operationArguments: int
|
- adapterName: string - Name of the protocol adapter. It must be null or empty string if search operation has to be performed on all home protocol adapters.
- searchProperties: object - A set of (key, value) pairs to define the search operation. Can be null. The key search properties are vendor, version or a specific protocol adapter property like device network address
- operationArguments: int - The operation supported arguments. Can be one of the arguments or a bitwise mask of the supported search operation arguments.
|
HDAdmin/setHomeDeviceName
|
String. Actual device name. Error if uid is invalid.
|
|
- uid: string - The ID of the device.
- name: string - The friendly name of the device. Also accepts null and empty string.
|
HDAdmin/setHomeDeviceVendor
|
String. Actual device vendor. Error if uid is invalid.
|
- uid: string
- vendor: string
|
- uid: string - The ID of the device.
- vendor: string - The hardware vendor of the device. Also accepts null and empty string.
|
HDAdmin/setHomeDeviceVersion
|
String. Actual device version. Error if uid is invalid.
|
- uid: string
- version: string
|
- uid: string - The ID of the device.
- version: string - The hardware version of the device. Also accepts null and empty string.
|
HDAdmin/setHomeDeviceType
|
String. Actual device type. Error if UID is invalid.
|
|
- uid: string - The ID of the device.
- type: string - The type of the device. Also accepts null and empty string.
|
HDAdmin/setHomeDeviceProperty
|
Error if uid or propertyName are invalid. Error if property cannot be set. Example: Adapter does not allow setting the selected property.
|
- uid: string
- propertyName: string
- propertyValue: string
|
- uid: string - The ID of the device.
- propertyName: string - The name of the property to be set.
- propertyValue: string - The value that needs to be given to the selected property.
|
HDAdmin/setHomeDeviceProperties
|
Error if uid is invalid. Error if properties cannot be set. Example: Adapter does not allow setting a property.
|
- uid: string
- properties: object
|
- uid: string - The ID of the device.
- properties: object - A set of (key, value) pairs. The key is the name of the property to be set and the value is the value of the property. Key and value are both of type string. The keys can be properties supported by protocol adapter and custom properties. The key can not be specific properties: UID, name, vendor, version, type, device.classes, parent.UID, adapter, status, timestamp.added, error.code, error.message.
|
HDAdmin/setHomeDeviceUID
|
String. The device UID. Error if oldUID or newUID are invalid.
|
- oldUID: string
- newUID: string
|
- oldUID: string - The ID of the device for which to change the UID.
- newUID: string - The new UID that needs to be set. Can also be null or empty string. In this case the initially generated UID will be used.
|
HDAdmin/setDCOPollingInterval
|
Error if uid, deviceClass or pollingInterval are invalid. Polling interval cannot be less than the minimal one requested by adapter.
|
- uid: string
- deviceClass: string
- pollingInterval: int
- propertyName: string
|
- uid: string - The ID of the device.
- deviceClass: string - The device class name.
- pollingInterval: int - The polling interval to be set or 0 to stop the polling mechanism for the specified property.
- propertyName: string - The property name. Can be null or empty string to change the polling interval for all device class object properties.
|
Method
|
Return Value
|
Parameters
|
Parameter Description
|
HZAccess/getSystemHomeZone
|
HomeZone. null if there is no HomeZonePermission.GET for the home zone.
|
|
|
HZAccess/getHomeZone
|
HomeZone. Error if zone UID is invalid.
|
|
- zoneUID: string - The UID of the home zone.
|
HZAccess/getHomeZones
|
HomeZone[]. null can be return if no zones match the filter. Error if the filter is invalid.
|
|
- zoneFilter: string - An LDAP filter to select the return zones. Can be also null or empty string. In this case all zones are returned. The filter keys are case insensitive and can be: UID, name, type, internal, parents, devices or additional zone property.
|
HZAccess/getDeviceHomeZones
|
HomeZone[]. null can be returned if the device is not present in any zone of the specified type. Error if device UID is invalid.
|
- deviceUID: string
- type: string
|
- deviceUID: string - The UID of the device.
- type: string - The type of the zones to be returned. Can be null or empty string to return all zones that contain the device
|
HZAccess/getHomeZonesDevices
|
HomeDevice[]. null can be returned if no devices match the filter. Error if the filter is invalid.
|
- zoneFilter: string
- includeChildZones: boolean
|
- zoneFilter: string - An LDAP filter to select from which zones to return devices. Can also be null or empty string. In this case all devices are returned. The filter keys are case insensitive and can be: UID, name, type, internal, parents, devices or additional zone property.
- includeChildZones: boolean - Flag that specify to include also devices from child zones
|
HZAccess/getParents
|
HomeZone[]. null will be return for System zone. Error if zone UID is invalid.
|
|
- zoneUID: string - The ID of the zone.
|
HZAccess/getDevices
|
HomeDevice[]. null can be returned if no devices match against the filter. Error if zone UID or filter are invalid.
|
- zoneUID: string
- filter: string
- includeChildZones: boolean
|
- zoneUID: string - The ID of the zone.
- filter: string - An LDAP filter to select return devices. Can be also null or empty string. In this case all devices in zone are returned. The filter keys are case insensitive and can be: uid, name, vendor, version, type, device.classes, status, adapter, parent.uid, additional device property or device class object property (combination of device class name, dot and device class property).
- includeChildZones: boolean - A flag the indicates whether devices from child zones should also be returned.
|
HZAccess/getChildZones
|
HomeZone[]. null can be returned if no zones match against the filter. Error if the zone UID or filter are invalid.
|
- zoneUID: string
- filter: string
|
- zoneUID: string - The ID of the zone.
- filter: string - An LDAP filter to select the return zones. Can be also null or empty string. In this case all child zones are returned. The filter keys are case insensitive and can be: uid, name, type, internal, parents, devices or additional zone property.
|
HZAccess/setDCOProperty
|
Error if zone UID, device class name, property name or property value are invalid.
|
- zoneUID: string
- deviceClass: string
- propertyName: string
- propertyValue: Supported JSON Types
- includeChildZones: boolean
|
- zoneUID: string - The ID of the zone.
- deviceClass: string - The device class name.
- propertyName: string - The name of property.
- propertyValue: Supported JSON Types - The property value. A String can be used for the value to represent a number and boolean.
- includeChildZones: boolean - A flag that indicates whether the devices from the child zones should also be included in the operation.
|
HZAccess/invokeDCOOperation
|
Error if zone UID, device class name, operation name or operation parameters are invalid.
|
- zoneUID: string
- deviceClass: string
- operaitonName: string
- operationParams: object
- includeChildZones: boolean
|
- zoneUID: string - The ID of the zone.
- deviceClass: string - The device class name.
- operaitonName: string - The operation name.
- operationParams: object - The operation parameters. A set of "key=value" pairs. The keys are "IN1", "IN2", etc. and values are Supported JSON Types. Can be null if there are no parameters. A string can be used for values to represent a number and boolean.
- includeChildZones: boolean - A flag that specify to include also devices from child zones.
|
Method
|
Return Value
|
Parameters
|
Parameter Description
|
HZAdmin/addHomeZone
|
HomeZone. null if there is no HomeZonePermission.GET for the added home zone. Error if the zone UID or zone properties are invalid.
|
- zoneUID: string
- zoneProperties: object
|
- zoneUID: string - The ID of the zone. If null or empty string is specified, then HDM will assign the zone UID.
- zoneProperties: object - Properties for the new zone. Can be null.
|
HZAdmin/removeHomeZone
|
Error if the zone UID is invalid. Error if you tried to remove the System home zone.
|
|
- zoneUID: string - The ID of the zone that should be removed.
|
HZAdmin/addChildZone
|
Error if the parent zone UID or child zone UID are invalid. Error if the parent zone UID or child zone UID is System home zone.
|
- parentZoneUID: string
- childZoneUID: string
|
- parentZoneUID: string - The ID of the zone to which the child zone should be added.
- childZoneUID: string - The ID of the newly created zone.
|
HZAdmin/removeChildZone
|
Error if the parent zone UID or child zone UID are invalid. Error if the parent zone UID or child zone UID is System home zone.
|
- parentZoneUID: string
- childZoneUID: string
|
- parentZoneUID: string - The ID of the zone from which the child zone should be removed.
- childZoneUID: string - The ID of the zone that should be removed as a child.
|
HZAdmin/setName
|
Error if the zone UID is invalid.
|
- zoneUID: string
- newName: string
|
- zoneUID: string - The ID of the zone.
- newName: string - The new name of the zone. If null the zone will be with no name.
|
HZAdmin/setTypes
|
Error if the zone UID is invalid.
|
- zoneUID: string
- types: string[]
|
- zoneUID: string - The ID of the zone.
- types: string[] - The new types of the zone. null or empty string array can be set to remove the types.
|
HZAdmin/setProperty
|
Error if zone UID or property name are invalid.
|
- zoneUID: string
- propertyName: string
- propertyValue: string
|
- zoneUID: string - The ID of the zone.
- propertyName: string - The name of the property to be set.
- propertyValue: string - The value that will be set to the property.
|
HZAdmin/setProperties
|
Error if the zone UID or zone properties are invalid.
|
- zoneUID: string
- props: object
|
- zoneUID: string - The ID of the zone.
- props: object - The new properties of the zone. Pass null to remove all additional properties.
|
HZAdmin/removeDevice
|
Error if the zone UID or device UID are invalid. Error if the zone UID is System home zone.
|
- zoneUID: string
- deviceUID: string
|
- zoneUID: string - The ID of the zone.
- deviceUID: string - The ID of the device.
|
HZAdmin/addDevice
|
Error if the zone UID or device UID are invalid. Error if the zone UID is System home zone.
|
- zoneUID: string
- deviceUID: string
|
- zoneUID: string - The ID of the zone.
- deviceUID: string - The ID of the device.
|
Utility methods.
Methods for the asynchronous utility.
Method
|
Return Value
|
Parameters
|
Parameter Description
|
HDMUtil/asyncGetDCOProperty
|
GetDCOPropertyAsyncRequest. Error if callerID, requestID, deviceUID, deviceClass or propertyName are invalid. Error if there is a waiting request with the same ID and the same caller ID. Error if timeToLive is negative.
|
- callerID: string
- requestID: string
- deviceUID: string
- deviceClass: string
- propertyName: string
- timeToLive: long
|
- callerID: string - The ID of the caller.
- requestID: string - The ID of the request.
- deviceUID: string - The ID of the device.
- deviceClass: string - The device class name.
- propertyName: string - The device class object property name.
- timeToLive: long - The time-to-live of the request. Value 0 means that the request execution time is not restricted.
|
HDMUtil/asyncSetDCOProperty
|
SetDCOPropertyAsyncRequest. Error if callerID, requestID, deviceUID, deviceClass or propertyName are invalid. Error if there is a waiting request with the same ID and the same caller ID. Error if timeToLive is negative.
|
- callerID: string
- requestID: string
- deviceUID: string
- deviceClass: string
- propertyName: string
- propertyValue: Supported JSON Types
- timeToLive: long
|
- callerID: string - The ID of the caller.
- requestID: string - The ID of the request.
- deviceUID: string - The ID of the device.
- deviceClass: string - The device class name.
- propertyName: string - The device class object property name.
- propertyValue: Supported JSON Types - The device class object property value.
- timeToLive: long - The time-to-live of the request. Value "0" means that the request execution time is not restricted.
|
HDMUtil/asyncInvokeDCOOperation
|
DCOOperationAsyncRequest. Error if callerID, requestID, deviceUID, deviceClass or operationName are invalid. Error if there is a waiting request with the same ID and same caller ID. Error if timeToLive is negative.
|
- callerID: string
- requestID: string
- deviceUID: string
- deviceClass: string
- operationName: string
- params: object
- timeToLive: long
|
- callerID: string - The ID of the caller.
- requestID: string - The ID of the request.
- deviceUID: string - The ID of the device.
- deviceClass: string - The device class name.
- operationName: string - The device class object operation name.
- params: object - A set of "key=value" pairs. The keys are "IN1", "IN2", etc. and values are Supported JSON Types. Can be null if there are no params. String can be used in values to represent a number and boolean.
- timeToLive: long - The time-to-live of the request. Value "0" means that the request execution time is not restricted.
|
HDMUtil/asyncSetZoneDCOProperty
|
SetZoneDCOPropertyAsyncRequest. Error if callerID, requestID, zoneUID, deviceClass or propertyName are invalid. Error if there is a waiting request with the same ID and same caller ID. Error if timeToLive is negative.
|
- callerID: string
- requestID: string
- zoneUID: string
- deviceClass: string
- propertyName: string
- propertyValue: Supported JSON Types
- timeToLive: long
- includeChildZones: boolean
|
- callerID: string - The ID of the caller.
- requestID: string - The ID of the request.
- zoneUID: string - The ID of the zone.
- deviceClass: string - The device class name.
- propertyName: string - The device class object property name.
- propertyValue: Supported JSON Types - The device class object property value.
- timeToLive: long - The time-to-live of the request. Value "0" means that the request execution time is not restricted.
- includeChildZones: boolean - A flag that indicates that the devices from the child zones should also be included.
|
HDMUtil/asyncInvokeZoneDCOOperation
|
ZoneDCOOperationAsyncRequest. Error if callerID, requestID, deviceUID, deviceClass or operationName are invalid. Error if there is a waiting request with the same ID and same caller ID. Error if timeToLive is negative.
|
- callerID: string
- requestID: string
- zoneUID: string
- deviceClass: string
- operationName: string
- params: object
- timeToLive: long
- includeChildZones: boolean
|
- callerID: string - The ID of the caller.
- requestID: string - The ID of the request.
- zoneUID: string - The ID of the zone.
- deviceClass: string - The device class name.
- operationName: string - The device class object operation name.
- params: object - A set of "key=value" pairs. The keys are "IN1", "IN2", etc. and values are Supported JSON Types. Can be null if there are no parameters. String can be used in values to represent a number and boolean.
- timeToLive: long - The time-to-live of the request. Value "0 " means that the request execution time is not restricted.
- includeChildZones: boolean - A flag that indicates whether the devices from the child zones should also be included.
|
HDMUtil/getAsyncRequests
|
String[]. Error if callerID is null.
|
|
- callerID: string - The ID of the caller.
|
HDMUtil/getAsyncRequest
|
Returns one of the following: GetDCOPropertyAsyncRequest, SetDCOPropertyAsyncRequest, DCOOperationAsyncRequest, SetZoneDCOPropertyAsyncRequest, ZoneDCOOperationAsyncRequest. Error if callerID or requestID is null.
|
- requestID: string
- callerID: string
|
- requestID: string - The ID of the request.
- callerID: string - The ID of the caller.
|
HDMUtil/removeAsyncRequest
|
Error if callerID or requestID is null.
|
- callerID: string
- requestID: string
|
- callerID: string - The ID of the caller.
- requestID: string - The ID of the request.
|
HDMUtil/removeAsyncRequests
|
Error if callerID is null.
|
|
- callerID: string - The ID of the caller.
|
Topic
|
Event Properties
|
Description
|
com/prosyst/mbs/services/hdm/remote/async_get
|
- event.caller.id: string
- event.request.id: string
- event.request.result: Supported JSON Types
- event.request.exception:string
- event.request.remove.code:int
- timestamp: long
|
- event.caller.id: string - The ID of the caller.
- event.request.id: string - The ID of the request.
- event.request.result: Supported JSON Types - The device class object property value if the get request is succeeded. It is optional.
- event.request.exception:string - The exception message if the get request fails. It is optional.
- event.request.remove.code:int - The reason because of which the request is removed. CODE_REQUESTS_LIMIT_REACHED has value "1". CODE_REQUEST_CANCELLED has value "2". CODE_REQUEST_TIMEOUT has value "3". CODE_ASYNC_UTILITY_NOT_ACTIVE has value "4". CODE_HOME_DEVICE_REMOVED has value "5". It is optional.
- timestamp: long - The time when the event occurred.
|
com/prosyst/mbs/services/hdm/remote/async_set
|
- event.caller.id: string
- event.request.id: string
- event.request.exception:string
- event.request.remove.code:int
- timestamp: long
|
- event.caller.id: string - The ID of the caller.
- event.request.id: string - The ID of the request.
- event.request.exception:string - The exception message if the get request fails. It is optional.
- event.request.remove.code:int - The reason because of which the request is removed. CODE_REQUESTS_LIMIT_REACHED has value "1". CODE_REQUEST_CANCELLED has value "2". CODE_REQUEST_TIMEOUT has value "3". CODE_ASYNC_UTILITY_NOT_ACTIVE has value "4". CODE_HOME_DEVICE_REMOVED has value "5". It is optional.
- timestamp: long - The time when the event occurred.
|
com/prosyst/mbs/services/hdm/remote/async_operation
|
- event.caller.id: string
- event.request.id: string
- event.request.result: Supported JSON Types
- event.request.exception:string
- event.request.remove.code:int
- timestamp: long
|
- event.caller.id: string - The ID of the caller.
- event.request.id: string - The ID of the request.
- event.request.result: Supported JSON Types - The device class object property value if the get request is succeeded. It is optional.
- event.request.exception:string - The exception message if the get request fails. It is optional.
- event.request.remove.code:int - The reason because of which the request is removed. CODE_REQUESTS_LIMIT_REACHED has value "1". CODE_REQUEST_CANCELLED has value "2". CODE_REQUEST_TIMEOUT has value "3". CODE_ASYNC_UTILITY_NOT_ACTIVE has value "4". CODE_HOME_DEVICE_REMOVED has value "5". It is optional.
- timestamp: long - The time when the event occurred.
|
com/prosyst/mbs/services/hdm/remote/async_zone_set
|
- event.caller.id: string
- event.request.id: string
- event.request.remove.code:int
- timestamp: long
|
- event.caller.id: string - The ID of the caller.
- event.request.id: string - The ID of the request.
- event.request.remove.code:int - The reason because of which the request is removed. CODE_REQUESTS_LIMIT_REACHED has value "1". CODE_REQUEST_CANCELLED has value "2". CODE_REQUEST_TIMEOUT has value "3". CODE_ASYNC_UTILITY_NOT_ACTIVE has value "4". CODE_HOME_DEVICE_REMOVED has value "5". It is optional.
- timestamp: long - The time when the event occurred.
|
com/prosyst/mbs/services/hdm/remote/async_zone_operation
|
- event.caller.id: string
- event.request.id: string
- event.request.remove.code:int
- timestamp: long
|
- event.caller.id: string - The ID of the caller.
- event.request.id: string - The ID of the request.
- event.request.remove.code:int - The reason because of which the request is removed. CODE_REQUESTS_LIMIT_REACHED has value "1". CODE_REQUEST_CANCELLED has value "2". CODE_REQUEST_TIMEOUT has value "3". CODE_ASYNC_UTILITY_NOT_ACTIVE has value "4". CODE_HOME_DEVICE_REMOVED has value "5". It is optional.
- timestamp: long - The time when the event occurred.
|
Method
|
Return Value
|
Parameters
|
Parameter Description
|
HDMUtil/setChildZones
|
Error if zone UID or child zones UIDs are invalid. Error if zone UID is System home zone.
|
- zoneUID: string
- childZoneUIDs: string[]
|
- zoneUID: string - The ID of the zone.
- childZoneUIDs: string[] - The IDs of the zones, that should be added as children. null can be set to remove all child zones.
|
HDMUtil/setDevices
|
Error if zone UID or device UIDs are invalid. Error if zone UID is System home zone.
|
- zoneUID: string
- deviceUIDs: string[]
|
- zoneUID: string - The ID of the zone.
- deviceUIDs: string[] - The IDs of the devices, that should be added to the zone. null can be set to remove all devices from the zone.
|
HDMUtil/removeHomeZones
|
Error if zone UIDs are invalid. Error if System home zone is tried to be removed.
|
|
- zoneUIDs: string[] - The IDs of the zones, that should be removed.
|
HDMUtil/getDeviceClasses
|
String[]. The device classes of all devices in this zone. null can be returned. Error if zone UID is invalid.
|
- zoneUID: string
- includeChildZones: boolean
|
- zoneUID: string - The ID of the zone.
- includeChildZones: boolean - A flag that indicates whether device classes from child zones should also be included.
|
HDMUtil/getDCOWProperties
|
DCOProperty[]. The device class object properties that has access W of the device class in this zone. null can be returned. Error if zoneUID or deviceClass is invalid.
|
- zoneUID: string
- deviceClass: string
- dcoMetadataFlag: boolean
- includeChildZones: boolean
|
- zoneUID: string - The ID of the zone.
- deviceClass: string - The device class name.
- dcoMetadataFlag: boolean - If false then metadata for device class objects' properties will not be included. Otherwise it is included.
- includeChildZones: boolean - A flag that indicates whether device class object properties from child zones should also be included.
|
HDMUtil/getDCOOperations
|
DCOOperation[]. The device class object operations of the device class in this zone. null can be returned. Error if zone UID, device class are invalid.
|
- zoneUID: string
- deviceClass: string
- dcoMetadataFlag: boolean
- includeChildZones: boolean
|
- zoneUID: string - The ID of the zone.
- deviceClass: string - The device class name.
- dcoMetadataFlag: boolean - If false then metadata for device class objects' operations will not be included. Otherwise it is included.
- includeChildZones: boolean - A flag that indicates whether device class object operations from child zones should also be included.
|
HDMUtil/getDeviceClassMetaData
|
DCMetaData. Error if deviceClass is null.
|
- deviceClass: string
- includePropertiesOperations: boolean
|
- deviceClass: string - The device class name.
- includePropertiesOperations: boolean - Set true only if default properties and operations metadata have to be included in the result.
|
HDMUtil/getDeviceClassMetaData
|
DCMetaData. Error if deviceClass is null.
|
- deviceClass: string
- dcType: string
- includePropertiesOperations: boolean
|
- deviceClass: string - The device class name.
- dcType: string - The device class type. Can be null or empty string.
- includePropertiesOperations: boolean - Set true only if default properties and operations metadata have to be included in the result.
|
HDMUtil/matchHomeDevice
|
Boolean. Error if uid or filter is invalid.
|
- uid: string
- filter: string
|
- uid: string - The ID of the device.
- filter: string - An LDAP filter. If it is null or empty string, true is returned. The filter keys are case insensitive and can be: uid, name, vendor, version, type, device.classes, status, adapter, parent.uid, additional device property or device class object property (combination of device class name and device class property joined with a period).
|
HDMUtil/filterHomeDevices
|
String[]. Error if uids or filter is invalid. Error if any uid is incorrect.
|
- uids: string[]
- filter: string
|
- uids: string[] - The IDs of the devices. If it is null or empty array, empty array is returned.
- filter: string - An LDAP filter for the needed devices. If it is null or empty string, all uids are returned. The filter keys are case insensitive and can be: uid, name, vendor, version, type, device.classes, status, adapter, parent.uid, additional device property or device class object property (combination of device class name and a device class property joined with a period).
|
JSON Objects that are returned when the methods are called.
Object
|
Field
|
Field Description
|
Supported JSON Types
|
No
|
- string, number, object, array, true, false, null. We use boolean when boolean can be return. Number can be used to represent int and double.
|
HomeDevice
|
- Status: int
- UID: string
- ParentUID: string
- ChildUIDs: string[]
- ProtocolAdapterName: string
- Name: string
- Vendor: string
- Version: string
- TimestampAdded: long
- Type: string
- Properties: object
- DeviceClasses: string []
- Error: HomeDeviceError
|
- Status: int - The Device status. Status NOT_INITIALIZED has value "0". Status OFFLINE has value "1". Status ONLINE has value "2". Status INITIALIZING has value "5". Status NOT_CONFIGURED has value "6". Status REMOVING has value "7". Status REMOVED has value "-1". Status FIRMWARE_UPDATING has value "8".
- UID: string - The device UID
- ParentUID: string - The parent UID. It is optional.
- ChildUIDs: string[] - The children UIDs. It is optional.
- ProtocolAdapterName: string - The Protocol Adapter Name. It is possible the protocol adapter to be removed and this field is optional.
- Name: string - The Home Device friendly name. It will be empty string if it is not set.
- Vendor: string - The hardware vendor name. It will be empty string if it is not set.
- Version: string - The hardware version. It will be empty string if it is not set.
- TimestampAdded: long - The time stamp when device is added.
- Type: string - The device type. It will be empty string if it is not set.
- Properties: object - Additional home device properties. It is optional. The specific properties are reserved and must not be used as additional properties: UID, name, vendor, version, type, device.classes, parent.UID, adapter, status, error.code, error.message, timestamp.added.
- DeviceClasses: string [] - The device class object names. It is optional. It is possible to have a home device without device class objects.
- Error: HomeDeviceError - The home device error. It is optional.
|
HomeDeviceError
|
|
- Code: int - The home device error code. Code DEVICE_NOT_ACCESSIBLE has value "2002". Code DEVICE_BROKEN has value "2004". Code DEVICE_DATA_INSUFFICIENT has value "2006". Code DEVICE_COMMUNICATION_ERROR has value "2007". Code NO_PROTOCOL_ADAPTER has value "2008". Code IN_DUTY_CYCLE has value "2009". Code CONFIGURATION_NOT_APPLIED has value "2011". Code CONFIGURATION_NOT_VALID has value "2013". Additional error codes are possible to be provided by home protocol adapter.
- Message: string - The home device error message. It is optional.
|
DeviceClassObject
|
- DeviceClass: string
- DeviceClassType: string
- Type: string
- HomeDeviceUID: string
- Properties: DCOProperty[]
- Operations: DCOOperation[]
|
- DeviceClass: string - This is the name of device class that is supported by this device class object. For example, com.vendor.hdm.deviceclasses.Color
- DeviceClassType: string - This is the device class type. It may be sensor, actuator or both. It is optional.
- Type: string - This is the device class object type. It may be gas, water, window, etc. It is optional.
- HomeDeviceUID: The UID of the home device containing this DeviceClassObject.
- Properties: DCOProperty[] - The device class object properties. It is optional.
- Operations: DCOOperation[] - The device class object operations. It is optional.
|
DCOProperty
|
- Name: string
- Value: Supported JSON Type
- Polling: int
- Metadata: object
|
- Name: string - The name of the property.
- Value: Supported JSON Type - The value of the property. It is optional
- Polling: int - The polling interval for this property.
- Metadata: object - The metadata for the property. A set of (key, value) pairs. The key is the name of the metadata property and the value is the actual metadata. The key type must be string and the value type must be string or object. It is optional.
|
DCOOperation
|
- Name: string
- Arguments: int
- Metadata: object
|
- Name: string - The name of the operation.
- Arguments: int - The number of operation arguments. It is possible the operation to has no arguments and this field is optional.
- Metadata: object - The metadata for the operation. A set of (key, value) pairs. The key is "IN1", "IN2", "INn", "OUT" and the value is actual metadata. The key type must be string and value type must be string. It is optional.
|
HomeZone
|
- UID: string
- Name: string
- Types: string[]
- Properties: object
- ChildZones: string[]
- Parents: string[]
- Devices: string[]
- Internal: boolean
|
- UID: string - The home zone UID.
- Name: string - The home zone user friendly name. Can be empty string if it is not set.
- Types: string[] - The home zone types. It is optional.
- Properties: object - Additional zone properties. It is optional. The specific home zone properties are reserved and must not be used as additional properties: uid, name, type, internal, parents, devices.
- ChildZones: string[] - Child zones for this zone. It is optional.
- Parents: string[] - Parent zones for this zone. It is optional.
- Devices: string[] - Devices for this zone. It is optional.
- Internal: boolean - Whether the home zone is internal or not.
|
ProtocolAdapterInfo
|
- Name: string
- Version: string
- Properties: PAProperty[]
- DeviceClasses: string[]
- DeviceClassTypes: object
- Operations: int
- MinimalPollingInterval: int
- OperationInfo[]: OperationInfo
|
- Name: string - The name of the protocol adapter.
- Version: string - The version of protocol adapter. It is optional.
- Properties: PAProperty[] - The supported properties by protocol adapter. These properties are put in HomeDevice by the adapter. It is optional.
- DeviceClasses: string[] - The device classes supported by protocol adapter. It is optional.
- DeviceClassTypes: object - The types of the device classes. A set of (key, value) pairs. The key is the name of device class and the value is the array with its types. Key type is string and value type is string []. It is optional.
- Operations: int - The operations. It is a bitmask. Operation ADD has value "1". Operation ADD_WITHOUT_DEVICE_CLASSES has value "3". Operation REMOVE has value "4". Operation SEARCH has value "8". Operation REMOVE_PARENT has value "20". Operation CANCEL_REMOVE has value "32". Value "0" is for no operations.
- MinimalPollingInterval: int - The minimal polling interval supported by the protocol adapter.
- OperationInfo[]: OperationInfo - Operation information for supported operations. It is optional.
|
OperationInfo
|
- Operation: int
- Arguments: int
- DefaultArguments: int
- Restrictions: int
|
- Operation: int - The operation. Operation ADD has value "1". Operation REMOVE has value "4". Operation SEARCH has value "8". Operation CANCEL_REMOVE has value "32".
- Arguments: int - The supported operation arguments. It is a bitmask. Operation argument REMOVE_RESET has value "1". Operation argument REMOVE_FORCE has value "2". Operation argument REMOVE_POSTPONE has value "4". Operation argument ADD_WITHOUT_DEVICE_CLASSES has value "8".Custom operation arguments have custom values. Value "0" for NO_ARGUMENTS.
- DefaultArguments: int - The default operation arguments. It is a bitmask. Operation argument REMOVE_RESET has value "1". Operation argument REMOVE_FORCE has value "2". Operation argument REMOVE_POSTPONE has value "4". Operation argument ADD_WITHOUT_DEVICE_CLASSES has value "8".Custom operation arguments have custom values. Value "0" for NO_ARGUMENTS.
- Restrictions: int - Operation restrictions. It is a bitmask. Operation restriction REMOVE_PARENT has value 1. Value 0 for NO_RESTRICTIONS.
|
PAProperty
|
- Name: string
- Value: string or string[]
- DeviceClasses: string[]
- Metadata: object
|
- Name: string - The name of the property.
- Value: string or string[] - The default value of the property. It is optional.
- DeviceClasses: string[] - The protocol adapter property is related to these device classes. It is optional.
- Metadata: object - The metadata for the property. A set of (key, value) pairs. The key is the name of metadata property and the value is actual metadata. Key type must be string and value type must be string or string []. It is optional.
|
DCMetaData
|
- ShortName: string
- FullName: string
- Description: string
- Type: string
- Version: string
- Inherited: string[]
- Properties: DefaultProperty[]
- Operations: DefaultOperation[]
|
- ShortName: string - The device class short name. It is optional.
- FullName: string - The device class full name.
- Description: string - The device class description. It is optional.
- Type: string - The device class type. It is optional.
- Version: string - The device class version. It is optional.
- Inherited: string[] - The inherited device classes. It is optional.
- Properties: DefaultProperty[] - The device class properties metadata. It is optional.
- Operations: DefaultOperation[] - The device class operations metadata. It is optional.
|
DefaultProperty
|
- Name: string
- Metadata: object
|
- Name: string - The name of the property.
- Metadata: object - The metadata for the property. A set of (key, value) pairs. The key is the name of metadata property and the value is actual metadata. Key type must be string and value type must be string or object. It is optional.
|
DefaultOperation
|
- Name: string
- Metadata: object
|
- Name: string - The name of the operation.
- Metadata: object - The metadata for the operation. A set of (key, value) pairs. The key is "IN1", "IN2", "INn", "OUT" and the value is actual metadata. Key type must be string and value type must be string. It is optional.
|
GetDCOPropertyAsyncRequest
|
- Device: string
- DeviceClass: string
- DCOProperty: string
- TimeToLive: long
|
- Device: string - The UID of the home device of the request.
- DeviceClass: string - The device class of the request.
- DCOProperty: string - The device class object property.
- DCOProperty: string - The time-to-live of the request.
|
SetDCOPropertyAsyncRequest
|
- Device: string
- DeviceClass: string
- DCOProperty: string
- Value: object
- TimeToLive: long
|
- Device: string - The UID of the home device of the request.
- DeviceClass: string - The device class of the request.
- DCOProperty: string - The device class object property.
- Value: object - The value of the property. It is optional.
- TimeToLive: long - The time-to-live of the request.
|
DCOOperationAsyncRequest
|
- Device: string
- DeviceClass: string
- DCOOperation: string
- Arguments: object[]
- TimeToLive: long
|
- Device: string - The UID of the home device of the request.
- DeviceClass: string - The device class of the request.
- DCOOperation: string - The device class object operation name.
- Arguments: object[] - The arguments of the operation. It is optional.
- TimeToLive: long - The time-to-live of the request.
|
SetZoneDCOPropertyAsyncRequest
|
- Zone: string
- DeviceClass: string
- DCOProperty: string
- Value: object
- TimeToLive: long
- IncludeChildZones: boolean
|
- Zone: string - The UID of the home zone of the request.
- DeviceClass: string - The device class of the request.
- DCOProperty: string - The device class object property.
- Value: object - The value of the property. It is optional.
- TimeToLive: long - The time-to-live of the request.
- IncludeChildZones: boolean - Pass true if devices from the child zones should be included. Otherwise, use false.
|
ZoneDCOOperationAsyncRequest
|
- Zone: string
- DeviceClass: string
- DCOOperation: string
- Arguments: object[]
- TimeToLive: long
- IncludeChildZones: boolean
|
- Zone: string - The UID of the home zone of the request.
- DeviceClass: string - The device class of the request.
- DCOOperation: string - The device class object operation name.
- Arguments: object[] - The arguments of the operation. It is optional.
- TimeToLive: long - The time-to-live of the request.
- IncludeChildZones: boolean - Pass true if devices from the child zones should be included. Otherwise, use false.
|
Object
|
Field
|
Field Description
|
DCOPropertyCondition (extends Condition)
|
- uid: string
- device_class: string
- property: string
- comparison_operation: string
- constraint: Supported JSON Types
|
- uid: string - The home device UID.
- device_class: string - The device class supported by the home device.
- property: string - The device class object property which listens for changes.
- comparison_operation: string - Comparison operation. If it is not set, the constraint value is ignored. Comparison operation equal has value "=". Comparison operation not equal has value "!=". Comparison operation less then has value "<". Comparison operation less or equal then has value "<=". Comparison operation greater then has value ">". Comparison operation greater or equal then has value ">=".
- constraint: Supported JSON Types - The value to which the device class object property value is compared to. It is optional.
|
FilterDCOPropertyCondition (extends Condition)
|
- properties: object
- device_class: string
- property: string
- match_devices: string[]
- comparison_operation: string
- constraint: Supported JSON Types
|
- properties: object - The filter of device properties that home devices will be matched against. A set of (key, value) pairs. The key is a device property name and the value is the relevant device property value. The device property name has to be string. The device property value has to be string, except for cases. If device property is "status" or "error.code", the device property value can be Integer. If device property is "timestamp.added", the device property value can be Long.
- device_class: string - The device class supported by the home device.
- property: string - The device class object property which listens for changes.
- match_devices: string[] - The UIDs of home devices that match the filter of device properties. It is optional.
- comparison_operation: string - Comparison operation. If it is not set, the constraint value is ignored. Comparison operation equal has value "=". Comparison operation not equal has value "!=". Comparison operation less then has value "<". Comparison operation less or equal then has value "<=". Comparison operation greater then has value ">". Comparison operation greater or equal then has value ">=".
- constraint: Supported JSON Types - The value to which the device class object property value is compared to. It is optional.
|
DCOPropertyCommand (extends Command)
|
- uid: string
- device_class: string
- property_name: string
- property_value: Supported JSON Types
- async: boolean
- ttl: long
|
- uid: string - The home device UID.
- device_class: string - The device class supported by the home device.
- property_name: string - The device class object property that will be set.
- property_value: Supported JSON Types - The new device class object property value. The value can be string representation of the real value. HDM will convert the value to the correct value type. It is optional. If it is not specified, the property value is the default value of the type of the property. For example, it is "0", if the type of the property is int.
- async: boolean - The command will be executed asynchronously, if the value is true. It is optional. The default value is false.
- ttl: long - The time-to-live of the command. It is optional. The default value is "0".
|
DCOOperationCommand (extends Command)
|
- uid: string
- device_class: string
- operation: string
- args: object
- async: boolean
- ttl: long
|
- uid: string - The home device UID.
- device_class: string - The device class supported by the home device.
- operation: string - The device class object operation that will be executed.
- args: object - The device class object operation arguments. A set of (key, value) pairs. The key is the sequence number in argument list and the value equals to the argument value. The first argument has key "0". The argument value has to be Supported JSON Types. Also the argument value can be string representation of the real value. HDM will convert the value to the correct argument type. The args can be null if the device class object operation has no arguments. It is optional. The default value is null.
- async: boolean - The command will be executed asynchronously, if the value is true. It is optional. The default value is false.
- ttl: long - The time-to-live of the command. It is optional. The default value is "0".
|
ZoneDCOPropertyCommand (extends Command)
|
- uid: string
- device_class: string
- property_name: string
- property_value: Supported JSON Types
- includeChildZones: boolean
- async: boolean
- ttl: long
|
- uid: string - The home zone UID on which the command will be executed.
- device_class: string - The device class supported by home devices in the home zone.
- property_name: string - The device class object property that will be set.
- property_value: Supported JSON Types - The new device class object property value. The value can be string representation of the real value. HDM will convert the value to the correct value type. It is optional. If it is not specified, the property value is the default value of the type of the property. For example, it is "0", if the type of the property is int.
- includeChildZones: boolean - A flag to indicate whether the devices from child home zones should be included. If the value is true then the devices from child zones will be included. It is optional. The default value is false.
- async: boolean - The command will be executed asynchronously, if the value is true. It is optional. The default value is false.
- ttl: long - The time-to-live of the command. It is optional. The default value is "0".
|
ZoneDCOOperationCommand (extends Command)
|
- uid: string
- device_class: string
- operation: string
- args: object
- includeChildZones: boolean
- async: boolean
- ttl: long
|
- uid: string - The home zone UID on which the command will be executed.
- device_class: string - The device class supported by home devices in the home zone.
- operation: string - The device class object operation that will be executed.
- args: object - The device class object operation arguments. A set of (key, value) pairs. The key is the sequence number in argument list and the value equals to the argument value. The first argument has key "0". The argument value has to be Supported JSON Types. Also the argument value can be string representation of the real value. HDM will convert the value to the correct argument type. The args can be null if the device class object operation has no arguments. It is optional. The default value is null.
- includeChildZones: boolean - A flag to indicate whether the devices from child home zones should also be included. If the value is true then the devices from child zones will be included. It is optional. The default value is false.
- async: boolean - The command will be executed asynchronously, if the value is true. It is optional. The default value is false.
- ttl: long - The time-to-live-of the command. It is optional. The default value is "0".
|
FilterDCOOperationCommand (extends Command)
|
- properties: object
- device_class: string
- operation: string
- args: object
- match_devices: string[]
- async: boolean
- ttl: long
|
- properties: object - The filter of device properties that home devices will be matched against. A set of (key, value) pairs. The key is a device property name and the value is the relevant device property value. The device property value has to be string, except for cases. If the device property is "status" or "error.code", the device property value can be Integer. If device property is "timestamp.added", the device property value can be Long.
- device_class: string - The device class supported by the home device.
- operation: string - The device class object operation that will be executed.
- args: object - The device class object operation arguments. A set of (key, value) pairs. The key is the sequence number in argument list and the value equals to the argument value. The first argument has key "0". The argument value has to be Supported JSON Types. Also the argument value can be string representation of the real value. HDM will convert the value to the correct argument type. The args can be null if the device class object operation has no arguments. It is optional. The default value is null.
- match_devices: string[] - The UIDs of home devices that match the filter of device properties. It is optional.
- async: boolean - The command will be executed asynchronously, if the value is true. It is optional. The default value is false.
- ttl: long - The time-to-live of the command. It is optional. The default value is "0".
|
FilterDCOPropertyCommand (extends Command)
|
- properties: object
- device_class: string
- property_name: string
- property_value: Supported JSON Types
- match_devices: string[]
- async: boolean
- ttl: long
|
- properties: object - The filter of device properties that home devices will be matched against. A set of (key, value) pairs. The key is a device property name and the value is the relevant device property value. The device property name has to be string. The device property value has to be string, except for cases: If device property is "status" or "error.code", the device property value can be Integer. If device property is "timestamp.added", the device property value can be Long.
- device_class: string - The device class supported by the home device.
- property_name: string - The device class object property that will be executed.
- property_value: Supported JSON Types - The new device class object property value. The value can be string representation of the real value. HDM will convert the value to the correct value type. It is optional. If it is not specified, the property value is the default value of the type of the property. For example, it is "0", if the type of the property is int.
- match_devices: string[] - The UIDs of home devices that match the filter of device properties. It is optional.
- async: boolean - The command will be executed asynchronously, if the value is true. It is optional. The default value is false.
- ttl: long - The time-to-live of the command. It is optional. The default value is "0".
|
HDPropertyCondition (extends Condition)
|
- uid: string
- device_property: string
- comparison_operation: string
- constraint: Supported JSON Types
|
- uid: string - The home device UID.
- device_property: string - The home device property which change will trigger the condition. It must be one of the following properties: UID, name, status, vendor, version, type.
- comparison_operation: string - Comparison operation. If it is not set, the constraint value is ignored. Comparison operation equal has value "=". Comparison operation not equal has value "!=". Comparison operation less then has value "<". Comparison operation less or equal then has value "<=". Comparison operation greater then has value ">". Comparison operation greater or equal then has value ">=".
- constraint: Supported JSON Types - The value to which the home device property value is compared to. It is optional.
|
FilterHDPropertyCondition (extends Condition)
|
- properties: object
- device_property: string
- match_devices: string[]
- comparison_operation: string
- constraint: Supported JSON Types
|
- properties: object - The filter of device properties that home devices will be matched against. A set of (key, value) pairs. The key is a device property name and the value is the relevant device property value. The device property name has to be string. The device property value has to be string, except for cases: If device property is "status" or "error.code", the device property value can be Integer. If device property is "timestamp.added", the device property value can be Long.
- device_property: string - The home device property which change will trigger the condition. It must be one of the following properties: UID, name, status, vendor, version, type.
- match_devices: string[] - The UIDs of home devices that match the filter of device properties. It is optional.
- comparison_operation: string - Comparison operation. If it is not set, the constraint value is ignored. Comparison operation equal has value "=". Comparison operation not equal has value "!=". Comparison operation less then has value "<". Comparison operation less or equal then has value "<=". Comparison operation greater then has value ">". Comparison operation greater or equal then has value ">=".
- constraint: Supported JSON Types - The value to which the home device property value is compared to. It is optional.
|