public interface ZigBeeEndpoint
Modifier and Type | Field and Description |
---|---|
static String |
DEVICE_CATEGORY
Constant used by all ZigBee devices indicating the device category.
|
static String |
DEVICE_ID
Property containing the application device identifier.
|
static String |
DEVICE_VERSION
Property containing the application device version.
|
static String |
ENDPOINT_ID
Property containing the EndPoint ID of the device.
|
static String |
HOST_PID
Property containing the
ZigBeeHost 's pid. |
static String |
INPUT_CLUSTERS
Property containing a list of input clusters.
|
static String |
OUTPUT_CLUSTERS
Property containing a list of output clusters.
|
static String |
PROFILE_ID
Property containing the application profile identifier also contained in
the ZigBee Simple Descriptor.
|
static String |
ZIGBEE_EXPORT
Property used to mark if a ZigBeeEndPoint service is an exported one or
not.
|
Modifier and Type | Method and Description |
---|---|
Promise<Void> |
bind(String servicePid,
int clusterId)
Adds the following entry in the Binding Table of the device:
|
Promise<List<String>> |
getBoundEndPoints(int clusterId)
Returns bound endpoints (identified by their service PIDs) on a specific
cluster ID.
|
ZCLCluster |
getClientCluster(int clientClusterId)
Returns the client cluster identified by the cluster identifier.
|
ZCLCluster[] |
getClientClusters()
Returns an array of client (output) clusters.
|
short |
getId()
Returns the identifier of this endpoint, that is the Endpoint ID.
|
BigInteger |
getNodeAddress()
Returns the IEEE Address of the node containing this endpoint.
|
ZCLCluster |
getServerCluster(int serverClusterId)
Returns the server (input) cluster identified by the given identifier.
|
ZCLCluster[] |
getServerClusters()
Returns an array of server (input) clusters.
|
Promise<ZigBeeSimpleDescriptor> |
getSimpleDescriptor()
Returns the simple descriptor of this endpoint.
|
void |
notExported(ZigBeeException e)
Notifies that the base driver is unable to export this endpoint.
|
Promise<Void> |
unbind(String servicePid,
int clusterId)
Removes the following entry in the Binding Table of the device if
it exists:
|
static final String ENDPOINT_ID
Short
and its value must be in the range allowed by the
ZigBee specifications for Zigbee endpoints identifiers.
It is mandatory service property for ZigBeeEndpoint services.
static final String PROFILE_ID
Integer
.
It is mandatory service property for this service.
static final String HOST_PID
ZigBeeHost
's pid. This property is of
type String
.
The ZigBee local host identifier is intended to uniquely identify the ZigBee local host, since there could be many hosts on the same platform.
All the endpoints that belong to a specific network MUST specify the value of the associated host pid. It is mandatory for imported endpoints, optional for exported endpoints.
static final String DEVICE_ID
Integer
.
It is mandatory property for this service.
static final String DEVICE_VERSION
Byte
.
It is mandatory property for this service.
static final String INPUT_CLUSTERS
It is mandatory service property for this service.
static final String OUTPUT_CLUSTERS
It is a mandatory service property for this service.
static final String ZIGBEE_EXPORT
static final String DEVICE_CATEGORY
short getId()
BigInteger getNodeAddress()
Promise<ZigBeeSimpleDescriptor> getSimpleDescriptor()
ZDPException.SUCCESS
,
ZDPException.INVALID_EP
, ZDPException.NOT_ACTIVE
,
ZDPException.DEVICE_NOT_FOUND
,
ZDPException.INV_REQUESTTYPE
or
ZDPException.NO_DESCRIPTOR
.Promise.getValue()
returns the node simple descriptor
ZigBeeSimpleDescriptor
in case of success and
Promise.getFailure()
returns the adequate
ZDPException
otherwise.ZCLCluster[] getServerClusters()
ZCLCluster getServerCluster(int serverClusterId)
serverClusterId
- The server(input) cluster identifier.IllegalArgumentException
- If the passed argument is outside the
range [0, 0xffff].ZCLCluster[] getClientClusters()
ZCLCluster getClientCluster(int clientClusterId)
clientClusterId
- The client(output) cluster identifier.IllegalArgumentException
- If the passed argument is outside the
range [0, 0xffff].Promise<Void> bind(String servicePid, int clusterId)
this.getNodeAddress()
, this.getId()
,
clusterId
, device.getNodeAddress()
,
device.getId()
As described in "Table 2.7 APSME-BIND.confirm Parameters" of the ZigBee
specification 1_053474r17ZB_TSC-ZigBee-Specification.pdf, a binding
request can have the following results: APSException.SUCCESS
,
APSException.ILLEGAL_REQUEST
, APSException.TABLE_FULL
,
APSException.NOT_SUPPORTED
.
servicePid
- the PID of the endpoint to bind toclusterId
- the cluster identifier to bind toPromise.getFailure()
returns null if the cluster has been
successfully bound. The adequate ZigBeeEndpoint
is
returned otherwise.Promise<Void> unbind(String servicePid, int clusterId)
this.getNodeAddress()
, this.getId()
,
clusterId
, device.getNodeAddress()
,
device.getId()
As described in "Table 2.9 APSME-UNBIND.confirm Parameters" of the ZigBee
specification 1_053474r17ZB_TSC-ZigBee-Specification.pdf, an unbind
request can have the following results: APSException.SUCCESS
,
APSException.ILLEGAL_REQUEST
,
APSException.INVALID_BINDING
.
servicePid
- The pid of the service to unbind.clusterId
- The cluster identifier to unbind.Promise.getFailure()
returns null if the cluster has been
successfully bound. The adequate APSException
is returned
otherwise.void notExported(ZigBeeException e)
e
- A device ZigBeeException
the occurred exception.Promise<List<String>> getBoundEndPoints(int clusterId)
As described in "Table 2.129 Fields of the Mgmt_Bind_rsp Command" of the
ZigBee specification 1_053474r17ZB_TSC-ZigBee-Specification.pdf, a
Mgmt_Bind_rsp command can have the following status:
APSException.NOT_SUPPORTED
or any status code returned from the
APSME-GET.confirm primitive (see APSException
).
clusterId
- the cluster identifier of the targeted bindings.Promise.getValue()
returns a List of the bound endpoint
service PIDs if the command is successful. The response object is
null and the adequate APSException
is returned by
Promise.getFailure()
otherwise.Copyright © Contributors to the Eclipse Foundation Licensed under the Eclipse Foundation Specification License – v1.0