public interface ZigBeeNode
Each physical device may contain up 240 logical devices which are represented
by the ZigBeeEndpoint
class.
Each logical device is identified by an EndPoint address, but shares:
Modifier and Type | Field and Description |
---|---|
static short |
COORDINATOR
Constant value used as logical type value when the ZigBee device is a
Coordinator.
|
static String |
EXTENDED_PAN_ID
Key of
String containing the device node network extended PAN ID. |
static String |
IEEE_ADDRESS
Property key for the mandatory node IEEE Address representing node MAC
address.
|
static String |
LOGICAL_TYPE
Property name for the device logical type.
|
static String |
MANUFACTURER_CODE
Property name for a manufacturer code that is allocated by the ZigBee
Alliance, relating the manufacturer to the device.
|
static String |
PAN_ID
Property containing the ZigBee network PAN ID.
|
static String |
POWER_SOURCE
ZigBee power source, that is, 3rd bit of "MAC Capabilities" in Node
Descriptor.
|
static String |
RECEIVER_ON_WHEN_IDLE
ZigBee receiver on when idle, that is, 4th bit of "MAC Capabilities" in
Node Descriptor.
|
static short |
ROUTER
Constant value used as logical type value when the ZigBee device is a
Router.
|
static short |
ZED
Constant value used as logical type value when the ZigBee device is an
End Device.
|
Modifier and Type | Method and Description |
---|---|
ZCLCommandResponseStream |
broadcast(int clusterID,
ZCLFrame frame)
Broadcasts a given ZCL Frame to cluster
clusterID on all the
ZigBeeEndpoint that are running on this node (endpoint
broadcasting). |
ZCLCommandResponseStream |
broadcast(int clusterID,
ZCLFrame frame,
String exportedServicePID)
Broadcasts a given ZCL Frame to cluster
clusterID on all the
ZigBeeEndpoint that are running on this node (endpoint
broadcasting). |
Promise<ZigBeeComplexDescriptor> |
getComplexDescriptor()
Retrieves the ZigBee node Complex Descriptor.
|
ZigBeeEndpoint[] |
getEndpoints()
Returns the array of the endpoints hosted by this node.
|
BigInteger |
getExtendedPanId()
Returns the network Extended PAN identifier (EPID).
|
String |
getHostPid()
Returns the OSGi service PID of the ZigBee Host that is on the network of
this node.
|
BigInteger |
getIEEEAddress()
Returns the ZigBee device node IEEE Address of this node.
|
Promise<Map<String,ZigBeeLinkQuality>> |
getLinksQuality()
Retrieves the link quality information to the neighbor nodes.
|
int |
getNetworkAddress()
Returns the current network address (alias short-address) of this node.
|
Promise<ZigBeeNodeDescriptor> |
getNodeDescriptor()
Retrieves the ZigBee node Node Descriptor.
|
int |
getPanId()
Returns the network Personal Area Network identifier (PAN ID).
|
Promise<ZigBeePowerDescriptor> |
getPowerDescriptor()
Retrieves the ZigBee node Power Descriptor.
|
Promise<Map<String,ZigBeeRoute>> |
getRoutingTable()
Retrieves the routing table information of the node.
|
Promise<String> |
getUserDescription()
Returns the user description of this node.
|
Promise<ZDPFrame> |
invoke(int clusterIdReq,
int expectedClusterIdRsp,
ZDPFrame message)
Sends the
ZDPFrame to this ZigBeeNode with the specified
cluster id. |
Promise<ZDPFrame> |
invoke(int clusterIdReq,
ZDPFrame message)
Sends the
ZDPFrame to this ZigBeeNode with the specified
cluster id. |
Promise<Void> |
leave()
Requests this node to leave the ZigBee network.
|
Promise<Void> |
leave(boolean rejoin,
boolean removeChildren)
Requests the device to leave the network.
|
Promise<Void> |
setUserDescription(String userDescription)
Sets the user description of this node.
|
static final String IEEE_ADDRESS
static final String LOGICAL_TYPE
Short
.static final String MANUFACTURER_CODE
Integer
.static final String PAN_ID
Integer
.static final String EXTENDED_PAN_ID
String
containing the device node network extended PAN ID.
If the device type is "Coordinator", the extended pan id may be available
only after the network is started. It means that internally the
ZigBeeHost interface must update the service properties.
This property is of type BigInteger
static final String POWER_SOURCE
true
if the current power source is mains
power, set to false
, otherwise.
This property is of type Boolean
.
static final String RECEIVER_ON_WHEN_IDLE
true
if the device does not
disable its receiver to conserve power during idle periods, set to
false
otherwise.
This property is of type Boolean
.
static final short ZED
static final short COORDINATOR
static final short ROUTER
BigInteger getIEEEAddress()
int getNetworkAddress()
String getHostPid()
int getPanId()
BigInteger getExtendedPanId()
ZigBeeEndpoint[] getEndpoints()
Promise<ZigBeeNodeDescriptor> getNodeDescriptor()
ZigBeeNodeDescriptor
. If the ZDP Node_Desc_rsp
do not return success, the promise must fail with a
ZDPException
exception with the correct status code.Promise<ZigBeePowerDescriptor> getPowerDescriptor()
ZigBeePowerDescriptor
. If the ZDP Power_Desc_rsp
do not return success, the promise must fail with a
ZDPException
exception with the correct status code.Promise<ZigBeeComplexDescriptor> getComplexDescriptor()
As described in Table 2.92 Fields of the Complex_Desc_rsp Command of the ZigBee specification, a Complex_Desc_rsp command can return with the following status codes:
ZigBeeComplexDescriptor
. If the ZDP
Complex_Desc_rsp do not return success, the promise must
fail with a ZDPException
exception with the correct
status code.Promise<Map<String,ZigBeeLinkQuality>> getLinksQuality()
An implementation of this method may use the Mgmt_Lqi_req and Mgmt_Lqi_rsp messages to retrieve the Link Quality table (also known as NeighborTableList in the ZigBee Specification).
The method limit the Link Quality table to the ZigBeeNode
service
discovered.
In case of failure, the target device may report error code
ZDPException.NOT_SUPPORTED
.
Map
containing the
Service.PID as String
key of the ZigBeeNode
service and the value the ZigBeeLinkQuality
for that
node. In case of errors the promise must fail with the correct
ZDPException
.Promise<Map<String,ZigBeeRoute>> getRoutingTable()
An implementation of this method may use the Mgmt_Rtg_req ZDP command to retrieve the Routing Table .
The target device may report a status code
ZDPException.NOT_SUPPORTED
in case of failure.
Map
containing the Service.PID as String
key of the
ZigBeeNode
service and the value the ZigBeeRoute
for that node. In case of failure a ZDPException
exception with the correct status code must be used to fail the
promise.Promise<Void> leave()
As described in Table 2.131 Fields of the Mgmt_Leave_rsp Command of the ZigBee specification, a Mgmt_Leave_rsp ZDP command may return the following status values:
ZDPException.SUCCESS
ZDPException.NOT_SUPPORTED
ZDPException.NOT_AUTHORIZED
null
value, otherwise with the correct ZDPException
exception.Promise<Void> leave(boolean rejoin, boolean removeChildren)
As described in Table 2.131 Fields of the Mgmt_Leave_rsp Command of the ZigBee specification, a Mgmt_Leave_rsp command could return the following status values:
ZDPException.SUCCESS
ZDPException.NOT_SUPPORTED
ZDPException.NOT_AUTHORIZED
rejoin
- true
if the device being asked to leave from the
current parent is requested to rejoin the network. Otherwise,
false
.removeChildren
- true
if the device being asked to leave the
network is also being asked to remove its child devices, if any.
Otherwise, false
.null
value, otherwise with the correct ZDPException
exception.Promise<ZDPFrame> invoke(int clusterIdReq, int expectedClusterIdRsp, ZDPFrame message)
ZDPFrame
to this ZigBeeNode
with the specified
cluster id. This method expects a specific cluster in the response to the
request.clusterIdReq
- the cluster Id of the ZDPFrame
that will be
sent to the device.expectedClusterIdRsp
- the expected cluster Id of the response to
the ZDPFrame
sent.message
- the ZDPFrame
containing the message.ZDPFrame
.Promise<ZDPFrame> invoke(int clusterIdReq, ZDPFrame message)
ZDPFrame
to this ZigBeeNode
with the specified
cluster id. This method expects a specific cluster in the response to the
request.
This method considers that the 0x8000 + clusterIdReq is the clusterId
expected from messaged received for the message sent by this request.ZCLCommandResponseStream broadcast(int clusterID, ZCLFrame frame)
clusterID
on all the
ZigBeeEndpoint
that are running on this node (endpoint
broadcasting).clusterID
- the cluster ID the broadcast message is directed.frame
- a ZCL Frame that contains the command that have to be
broadcast to the specific cluster of all the endpoints running
on the node.ZCLCommandResponseStream broadcast(int clusterID, ZCLFrame frame, String exportedServicePID)
clusterID
on all the
ZigBeeEndpoint
that are running on this node (endpoint
broadcasting). The source endpoint of the APS message sent, is set to the
endpoint identifier of the exportedServicePID
service.clusterID
- the cluster ID the broadcast message is directed.frame
- a ZCL Frame that contains the command that have to be
broadcast to the specific cluster of all the endpoints running
on the node.exportedServicePID
- the source endpoint of the command request. In
targeted situations, the source endpoint is the valid service PID
of an exported endpoint.Promise<String> getUserDescription()
ZDPException
exception containing the response status
code value.Promise<Void> setUserDescription(String userDescription)
userDescription
- the user description.null
value. In
case of errors the promise must fail with a ZDPException
exception containing the response status code value.Copyright © Contributors to the Eclipse Foundation Licensed under the Eclipse Foundation Specification License – v1.0