Raritan / Server Technology Xerus™ PDU JSON-RPC API: ZigbeeDevice.idl Source File

Raritan / Server Technology Xerus™ PDU JSON-RPC API

ZigbeeDevice.idl
1 /* SPDX-License-Identifier: BSD-3-Clause */
2 /*
3 * Copyright 2020 Raritan Inc. All rights reserved.
4 */
5
6 #ifndef __ZIGBEEDEVICE_IDL__
7 #define __ZIGBEEDEVICE_IDL__
8
9 #include <Event.idl>
10
11 /** Zigbee */
12 module zigbee {
13 /** Zigbee Device */
14 interface ZigbeeDevice {
15
16 /**
17 * Supported Cluster Types
18 * defined by zigbee alliance in the zigbee cluster library specification
19 */
20 constant int CLUSTER_BASIC = 0x0000;
21 constant int CLUSTER_POWER_CONFIGURATION = 0x0001;
22 constant int CLUSTER_RSSI = 0x000B;
23 constant int CLUSTER_CONTACT_CLOSURE = 0x000F;
24 constant int CLUSTER_TEMPERATURE = 0x0402;
25 constant int CLUSTER_HUMIDITY = 0x0405;
26
27 /** Device MetaData*/
28 structure MetaData {
29 int sourceId; ///< the device source ID
30 vector<int> clusters; ///< the clusters which are reporting to this device
31 int preferredSlot; ///< the slot which should be assigned to the first sensor
32 };
33
34 /** Cluster Value */
35 structure ClusterValue {
36 int id; ///< the cluster ID
37 int endpoint; ///< the endpoint ID
38 int attribute; ///< the reported attribute. some clusters have multiple reporting attributes
39 time timestamp; ///< the time when the cluster value was updated. UNIX timestamp (UTC)
40 string value; ///< the value which was reported.
41 };
42
43 /** Cluster Value Changed Event*/
44 valueobject ClusterDataEvent extends idl.Event {
45 ClusterValue value; ///< the cluster value
46 };
47
48 /**
49 * Retrieve Dongle MetaData
50 *
51 * @return MetaData
52 */
53 MetaData getMetaData();
54
55 /**
56 * Retrieve the last cluster values
57 * Needed for battery voltage (only reported all 12h)
58 *
59 * @return list of all cluster values currently reported
60 */
61 vector<ClusterValue> getClusterValues();
62 };
63
64 }
65
66 #endif /* __ZIGBEEDEVICE_IDL__ */
67
zigbee::ZigbeeDevice
Zigbee Device.
Definition: ZigbeeDevice.idl:14
zigbee::ZigbeeDevice::getClusterValues
vector< ClusterValue > getClusterValues()
Retrieve the last cluster values Needed for battery voltage (only reported all 12h)
zigbee::ZigbeeDevice::getMetaData
MetaData getMetaData()
Retrieve Dongle MetaData.
idl
Basic IDL definitions.
Definition: Event.idl:10
zigbee
Zigbee.
Definition: ZigbeeDevice.idl:12
idl::Event
Common base for all events.
Definition: Event.idl:13
zigbee::ZigbeeDevice::ClusterDataEvent
Cluster Value Changed Event.
Definition: ZigbeeDevice.idl:44
zigbee::ZigbeeDevice::ClusterDataEvent::value
ClusterValue value
the cluster value
Definition: ZigbeeDevice.idl:45
zigbee::ZigbeeDevice::ClusterValue
Cluster Value.
Definition: ZigbeeDevice.idl:35
zigbee::ZigbeeDevice::ClusterValue::endpoint
int endpoint
the endpoint ID
Definition: ZigbeeDevice.idl:37
zigbee::ZigbeeDevice::ClusterValue::id
int id
the cluster ID
Definition: ZigbeeDevice.idl:36
zigbee::ZigbeeDevice::ClusterValue::timestamp
time timestamp
the time when the cluster value was updated. UNIX timestamp (UTC)
Definition: ZigbeeDevice.idl:39
zigbee::ZigbeeDevice::ClusterValue::attribute
int attribute
the reported attribute. some clusters have multiple reporting attributes
Definition: ZigbeeDevice.idl:38
zigbee::ZigbeeDevice::ClusterValue::value
string value
the value which was reported.
Definition: ZigbeeDevice.idl:40
zigbee::ZigbeeDevice::MetaData
Device MetaData.
Definition: ZigbeeDevice.idl:28
zigbee::ZigbeeDevice::MetaData::sourceId
int sourceId
the device source ID
Definition: ZigbeeDevice.idl:29
zigbee::ZigbeeDevice::MetaData::preferredSlot
int preferredSlot
the slot which should be assigned to the first sensor
Definition: ZigbeeDevice.idl:31
zigbee::ZigbeeDevice::MetaData::clusters
vector< int > clusters
the clusters which are reporting to this device
Definition: ZigbeeDevice.idl:30