Z-Stack Linux Gateway - API Document v1.1
Z-Stack Linux Gateway - API Document v1.1
TABLE OF CONTENTS
1 INTRODUCTION ................................................................................................................................7
2 MODEL AND CONVENTIONS .........................................................................................................8
3 SYSTEM BLOCK DIAGRAM ............................................................................................................9
4 API COMMAND TYPES ...................................................................................................................10
5 ADDRESSING ....................................................................................................................................13
6 API GROUPING.................................................................................................................................14
7 GENERIC API SET ...........................................................................................................................15
7.1 GENERIC CONFIRMATIONS AND RESPONSES ..................................................................................15
7.1.1 ZIGBEE_GENERIC_CNF ........................................................................................................ 15
7.1.2 ZIGBEE_GENERIC_RSP_IND ................................................................................................. 16
8 NETWORK MANAGER SERVER API SET ..................................................................................17
8.1 LOCAL DEVICE CONTROL/INFORMATION API SET .........................................................................18
8.1.1 NWK_ZIGBEE_SYSTEM_RESET_REQ ................................................................................... 18
8.1.2 NWK_ZIGBEE_SYSTEM_RESET_CNF .................................................................................... 19
8.1.3 NWK_ZIGBEE_SYSTEM_SELF_SHUTDOWN_REQ ................................................................ 20
8.1.4 NWK_SET_ZIGBEE_POWER_MODE_REQ ............................................................................ 21
8.1.5 NWK_SET_ZIGBEE_POWER_MODE_CNF ............................................................................ 22
8.1.6 NWK_GET_LOCAL_DEVICE_INFO_REQ ............................................................................... 23
8.1.7 NWK_GET_LOCAL_DEVICE_INFO_CNF ............................................................................... 23
8.2 NETWORK CONTROL/INFORMATION API SET ................................................................................24
8.2.1 NWK_ZIGBEE_NWK_READY_IND ........................................................................................ 24
8.2.2 NWK_ZIGBEE_NWK_INFO_REQ .......................................................................................... 25
8.2.3 NWK_ZIGBEE_NWK_INFO_CNF .......................................................................................... 25
8.2.4 NWK_SET_PERMIT_JOIN_REQ ............................................................................................ 26
8.2.5 NWK_MANAGE_PERIODIC_MTO_ROUTE_REQ .................................................................. 27
8.2.6 NWK_GET_NEIGHBOR_TABLE_REQ .................................................................................... 28
8.2.7 NWK_GET_NEIGHBOR_TABLE_RSP_IND ............................................................................ 29
8.2.8 NWK_GET_ROUTING_TABLE_REQ ...................................................................................... 30
8.2.9 NWK_GET_ROUTING_TABLE_RSP_IND .............................................................................. 31
8.2.10 NWK_CHANGE_NWK_KEY_REQ.......................................................................................... 32
8.2.11 NWK_GET_NWK_KEY_REQ ................................................................................................. 33
8.2.12 NWK_GET_NWK_KEY_CNF ................................................................................................. 33
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.11 GW_SEND_ZCL_FRAME_REQ.............................................................................................. 59
9.3.12 GW_ZCL_FRAME_RECEIVE_IND .......................................................................................... 61
9.4 ALARM API SET ............................................................................................................................62
9.4.1 GW_ALARM_IND................................................................................................................. 62
9.4.2 GW_ALARM_RESET_REQ .................................................................................................... 63
9.5 IAS ZONE DEVICE API SET ...........................................................................................................64
9.5.1 DEV_ZONE_ENROLMENT_REQ_IND ................................................................................... 64
9.5.2 DEV_ZONE_ENROLMENT_RSP ............................................................................................ 65
9.5.3 DEV_ZONE_STATUS_CHANGE_IND..................................................................................... 66
9.6 IAS ACE DEVICE API SET ............................................................................................................67
9.6.1 DEV_ACE_ARM_REQ_IND ................................................................................................... 67
9.6.2 DEV_ACE_ARM_RSP............................................................................................................ 67
9.6.3 DEV_ACE_BYPASS_IND ....................................................................................................... 68
9.6.4 DEV_ACE_EMERGENCY_CONDITION_IND .......................................................................... 69
9.6.5 DEV_ACE_GET_ZONE_ID_MAP_REQ_IND .......................................................................... 70
9.6.6 DEV_ACE_GET_ZONE_ID_MAP_RSP ................................................................................... 70
9.6.7 DEV_ACE_GET_ZONE_INFORMATION_REQ_IND ............................................................... 71
9.6.8 DEV_ACE_GET_ZONE_INFORMATION_RSP ........................................................................ 71
9.7 SWITCHABLE/DIMMABLE/IDENTIFY DEVICE CONTROL SET API ....................................................72
9.7.1 DEV_SET_IDENTIFY_MODE_REQ ........................................................................................ 72
9.7.2 DEV_SET_ONOFF_STATE_REQ ............................................................................................ 73
9.7.3 DEV_SET_LEVEL_REQ .......................................................................................................... 74
9.7.4 DEV_GET_LEVEL_REQ ......................................................................................................... 75
9.7.5 DEV_GET_LEVEL_RSP_IND .................................................................................................. 75
9.7.6 DEV_GET_ONOFF_STATE_REQ ........................................................................................... 76
9.7.7 DEV_GET_ONOFF_STATE_RSP_IND .................................................................................... 76
9.7.8 DEV_SET_COLOR_REQ ........................................................................................................ 77
9.7.9 DEV_GET_COLOR_REQ ....................................................................................................... 78
9.7.10 DEV_GET_COLOR_RSP_IND ................................................................................................ 78
9.8 MEASUREMENT SENSING API SET .................................................................................................79
9.8.1 DEV_GET_TEMP_REQ ......................................................................................................... 79
9.8.2 DEV_GET_TEMP_RSP_IND .................................................................................................. 79
9.8.3 DEV_GET_POWER_REQ ...................................................................................................... 80
9.8.4 DEV_GET_POWER_RSP_IND ............................................................................................... 80
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
LIST OF FIGURES
Figure 1: Gateway block diagram ....................................................................................................................9
Figure 2: Incoming indication .......................................................................................................................92
Figure 3: Incoming request + Outgoing Response ........................................................................................93
Figure 4: No-response command ...................................................................................................................94
Figure 5: Specific-response command, sent as unicast ..................................................................................95
Figure 6: Specific-response command, sent as broadcast / groupcast ...........................................................96
Figure 7: Specific-response command, sent to self .......................................................................................97
Figure 8: Generic-response command, sent as unicast ..................................................................................98
Figure 9: Generic-response command, sent as broadcast / groupcast ............................................................99
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
1 Introduction
The purpose of this document is to provide a description of the application programming interface
between the Z-Stack Linux Gateway solution provided by Texas Instruments for Home Automation
gateways and the applications that intend to use it across that interface.
The Z-Stack Linux Gateway solution provided by Texas Instruments implements functionalities that
allow managing a network of ZigBee devices, taking care of the procedures associated to the ZigBee
protocol, and providing a high level data pipe for end user applications, hence abstracting the ZigBee
inner workings for the application developer, thus making the integration of a ZigBee technology
simpler.
The API described here illustrates functionality, name and set of parameters that must be configured or
parsed by an application that intend to use that API across the interface and make use of the ZigBee
gateway software.
This API is defined at a specific interface level, which is a TCP socket pipe.
The ZigBee gateway software supports one client application active at a specific time and connected to
the network manager /gateway server socket service access point interface.
API commands and parameters are serialized over the socket interface using Google protocol buffers
(protobuf; for details see https://developers.google.com/protocol-buffers/). Please note that the name
of some parameters in this API document does not reflect the true name of the parameter which will be
used by the application using that API, as those parameters are automatically generated by the protobuf
engine).
For transport using a TCP socket, the protobuf-packed packets are preceded by a 4 bytes header, which
is described in Appendix B – API Packet Header.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
According to this model, the layer below the API interface level (the service provider, i.e. the ZigBee
gateway SW solution in this case) provides services to the layer above (the gateway application).
The API, following the OSI model, defines clear roles and interfacing mechanics between layer N and
N+1, in the form of service calls: Request/Confirm and Indication/Response.
Layer N+1 or service user, in this document referred to as the gateway application, makes API Request
and Responses API calls.
Layer N or service provider, in this document, refers the gateway subsystem, i.e. may confirm the
request when needed with a corresponding Confirm API call. When an un-solicited message or a
notification needs to be sent to the gateway application (as an effect of an incoming over-the-air (OTA)
message being received or as a result of local operation), the gateway subsystem makes an Indication
API call, which may be responded by the gateway application with the corresponding Response API.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Gateway application
HA Network
gateway manager OTA server ZCL LIB
server DB server
NPI client
SBL tool
NPI server
ZNP 253x
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
- Outgoing
Generally refers to commands sent from the gateway application to the gateway subsystem.
- Incoming
Generally refers to commands sent from the gateway subsystem to the gateway application.
- Outgoing request
An outgoing API command.
Each outgoing request is immediately followed by a confirmation message in a synchronous manner.
The gateway application shall not send a new outgoing request until it receives the confirmation for
the previous request.
- Confirmation message
An incoming API command that confirms the status of an outgoing request.
- Specific confirmation
A confirmation message that carries the information that was requested by the outgoing
request.
Specific confirmations are never followed by incoming responses.
- Generic confirmation
o without sequence number
A confirmation message that does not carry command-specific information.
o with sequence number
A confirmation message for commands that generate incoming responses.
Specifies the sequence number that will be carried by the resulting incoming responses.
If the status is other than success, no sequence number is specified, and no response
follows.
- Incoming response
An incoming API message that is received as a response for an outgoing command.
It is triggered by a received over-the-air message.
It can arrive at any time after the respective outgoing request and the related confirmation
message, and carries the same sequence number as specified in the confirmation. The sequence
number provides a way for an incoming response to be related to the respective outgoing request.
Since it depend on over-the-air communication, it is possible that an outgoing request will never get
its incoming responses (e.g. when the device being contacted is turned off before being able to
respond). For that reason, it is recommended that the application implement a timeout when
waiting for responses.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
- Specific response
An incoming response that carries information that is specific to the respective outgoing
request. It is possible that a single outgoing request will result in multiple specific responses (e.g.
when an outgoing request was sent as groupcast or broadcast).
- Generic response
An incoming response that does not carry specific information, other than the status of the
request as reported by the responding device. Generic responses are only used for unicast
outgoing requests. Outgoing requests that are sent as groupcast or broadcast will not be
followed by Generic responses.
The various API commands described in this document are defined by the following command types
(Flow diagrams for each of the API command types are available at Appendix A - API command type
diagrams):
- Incoming Indication
o Incoming API commands that are mostly triggered by over-the-air ZigBee events, and are
not directly related to an outgoing request.
o Does not require a response from the application.
- Incoming Request
o Incoming API commands that are mostly triggered by over-the-air requests from remote
ZigBee devices.
o The application is expected to send an outgoing response to the device that sent the
request.
- Outgoing response
o Outgoing API command that is sent by the application as a response to an Incoming
Request.
o The sequence number of the outgoing response shall be copied from the respective
incoming request.
o Not followed by confirmation or incoming response messages.
- No-response command
o Outgoing requests which are either processed internally in the gateway subsystem, or are
triggering over the air activity that does not require returning communication.
o Followed by either a specific confirmation, in case data should be returned to the
application, or generic confirmation without sequence number otherwise. In a single case
(NWK_ZIGBEE_SYSTEM_SELF_SHUTDOWN_REQ) there is no confirmation at all.
- Specific-response command
o Outgoing requests which (unless addressed to self) trigger over-the-air activity that are
expected to result in command-specific response(s) from remote device(s).
o If not addressed to self:
Followed by a generic confirmation with sequence number.
When responses from the remote devices are received, respective Specific response
commands are sent to the application.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
o If addressed to self:
No confirmation is sent.
A Specific response is immediately sent to the application (in a synchronous
manner), with the sequence number set to 0xFFFF (which means that this response
refers to the request that immediately precedes it).
- Generic-response command
o Outgoing requests which trigger over-the-air activity that may result in a generic response
from a remote device.
o When such a command is sent by the application as a unicast, the gateway immediately
responds with a generic confirmation with sequence number. Then, a Generic response will
follow, when the response is received from the destination device.
o When such a command is sent by the application as a groupcast or broadcast, the gateway
immediately responds with a generic confirmation without sequence number. No response
will follow.
The use of sequence numbers allows the application to keep track of request-response transactions, and
provides support for multiple pending transactions of the same type.
Note: Incoming Indications and incoming requests may be sent by the gateway subsystem
asynchronously: it is possible that the application sends an outgoing request, and then it receives an
unrelated incoming indication before it receives the confirmation message for the outgoing request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
5 Addressing
In this API document, addressing parameters are specified for almost every command. For simplicity, the
following address structure is defined, which is a superset of the possible addressing fields. In the rest of
the document, this structure is used instead of specifying the specific address fields each time.
When this structure is referenced, it’s type is always preceded by a list of the allowed addressing modes:
U – Unicast, G – Groupcast, B – Broadcast, S – Self, E – end point should be specified, e – end point is
optional.
For example, AddressStruct_t {U/G,e} means that for the specific command, Unicast or Groupcast must
be selected, and that the EndpointID can be specified, but does not have to.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
6 API Grouping
The API commands are grouped in chapters by the module that is in charge of their initial processing:
Network manager server, Gateway sybsystem server, OTA server.
They are also further grouped by functionality, hinted by the first word in each API name:
- ZIGBEE_ - Generic commands that are used by multiple servers.
- NWK_ - commands for controlling the network structure and the behavior of the gateway
device in the network
- GW_ - commands for generic interaction with ZigBee devices in the network
- DEV_ - perform device-specific interaction with ZigBee devices on the network
- OTA_ - Over-The-Air upgrade procedures
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
7.1.1 ZIGBEE_GENERIC_CNF
Command type: Generic confirmation
This API is called by the gateway subsystem to notify the application about the status of a command that
was just sent by the application. It is sent synchronously, immediately following the command which it
confirms.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
7.1.2 ZIGBEE_GENERIC_RSP_IND
Command type: Generic response
This API is called by the gateway subsystem to notify the application about the status of a command that
was previously sent by the application. It is sent asynchronously, when a default response is received
over-the-air from the destination device.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Calling network manager server API may not necessarily result in an over the air message being
generated or received by the gateway node.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
This API is called by the gateway application to reset the ZigBee subsystem. It supports two reset modes:
One mode is soft reset, where the ZigBee stack database is maintained (i.e. the gateway node re-
appears in the ZigBee network using its previous configuration, maintaining all knowledge about the
other devices in the network). The other mode is hard reset, AKA reset to factory new, where the entire
network information is wiped out. The devices that were part of the network before a hard reset will not
be able to communicate with the gateway unless they are (manually) joined again.
With both reset modes, all underlying state machines in the gateway subsystem (network manager
server, gateway server, etc.) are reset, which discards out all outstanding messages that are still being
processed. The gateway application should clear its own state machines accordingly.
The application shall expect to lose the socket connections to the servers right after it issues a
NWK_ZIGBEE_SYSTEM_RESET_REQ. The application shall keep trying to reconnect to the servers as soon
as it detects a disconnection. The reset confirmation will be sent to the application after it successfully
reconnects to the network manager server. Since the reset confirmation is sent after the actual reset
happens, it may take up to a few seconds for the confirmation to be received following a reset request.
In addition to the reset confirmation, when the ZigBee subsystem has restored its operation, it will
report the network information using the NWK_ZIGBEE_NWK_READY_IND, just like it does following
power up.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.1.2 NWK_ZIGBEE_SYSTEM_RESET_CNF
Command type: Specific confirmation
This API is called by the gateway subsystem to report that it has successfully completed a reset request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.1.3 NWK_ZIGBEE_SYSTEM_SELF_SHUTDOWN_REQ
Command type: No-response command / no confirmation
This API is a trigger command called by the gateway application to shut down the ZigBee subsystem. The
application shall expect to lose the connections to the ZigBee subsystem servers as soon as it issues this
command.
No confirmation is sent to the application following this command. The application may monitor the
gateway sybsystem processes to verify they have been terminated as expected.
After this command is issued, restarting the gateway shall be done by starting the gateway subsystem
executables as usual (e.g. via a shell script).
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.1.4 NWK_SET_ZIGBEE_POWER_MODE_REQ
Command type: No-response command / NWK_SET_ZIGBEE_POWER_MODE_CNF
This API is called by the gateway application to control the ZigBee device power mode state. It is
intended for shutting down the ZigBee SOC when ZigBee operation is not required, with the ability to
turn it on again using a simple API command (in contrast to the
NWK_ZIGBEE_SYSTEM_SELF_SHUTDOWN_REQ command, where turning the ZigBee subsystem back on
must be done externally).
When the low power mode is selected, the gateway subsystem will turn off the ZigBee device, and send
back a confirmation to the application. Then, when the active mode is selected, the gateway subsystem
will turn the device back on and reset the complete ZigBee subsystem (soft reset), before sending the
wake-up confirmation to the application. This means that the application shall treat resuming from sleep
like it treats restarting following a soft reset request.
In addition to the wake-up confirmation, when the ZigBee subsystem has restored its operation, it will
report the network information using the NWK_ZIGBEE_NWK_READY_IND, just like it does following
power up.
Note that after sending each of the sleep request and the wake-up request, the application shall expect
to lose connection with the gateway subsystem’s server. Following a sleep request, the application shall
continuously try to reconnect to the network manager server. Following a wake-up request, the
applicatuion shall continuously try to reconnect to both the network manager and the gateway servers.
(The gateway server is not available when the gateway subsystem is in sleep mode).
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.1.5 NWK_SET_ZIGBEE_POWER_MODE_CNF
Command type: Specific confirmation
This API is called by the gateway subsystem to report that it has successfully completed a power mode
request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.1.6 NWK_GET_LOCAL_DEVICE_INFO_REQ
Command type: No-response command / NWK_GET_LOCAL_DEVICE_INFO_CNF
This API is called by the gateway application to retrieve information regarding the gateway device itself
(e.g. list of registered endpoints and their descriptors, which is populated and configured by the
gateway subsystem through a configuration file at startup).
8.1.7 NWK_GET_LOCAL_DEVICE_INFO_CNF
Command type: Specific confirmation
This API is called by the gateway subsystem to report the information relative to the gateway device.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.1 NWK_ZIGBEE_NWK_READY_IND
Command type: Incoming Indication
This API reports information about the current ZigBee network, where the gateway sits in. When an
earlier GATEWAY_ZIGBEE_RESET_REQ with ‘Reset to factory new’ parameter has been issued, or after
first power on when the device was factory new, the gateway subsystem reports this information after
the network has been formed. If instead the parameter of the was ‘Maintain core stack base’ or a
NWK_SET_ZIGBEE_POWER_MODE_REQ (with active mode) was requested, then this indication is sent
to the application to inform it that the normal stack operation has been resumed
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.2 NWK_ZIGBEE_NWK_INFO_REQ
Command type: No-response command / NWK_ZIGBEE_NWK_INFO_CNF
This API is called by the gateway application to request information about the current ZigBee network.
8.2.3 NWK_ZIGBEE_NWK_INFO_CNF
Command type: Specific confirmation
This API called by the gateway subsystem to report to the gateway application information about the
current ZigBee network.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.4 NWK_SET_PERMIT_JOIN_REQ
Command type: No-response command / ZIGBEE_GENERIC_CNF
This API is called by the gateway application to set the open the network for joining
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.5 NWK_MANAGE_PERIODIC_MTO_ROUTE_REQ
Command type: No-response command / ZIGBEE_GENERIC_CNF
This API is called by the gateway application to start a periodic many-to-one route request maintenance
scheme or stop it. By default, the gateway subsystem enables MTO scheme which is configured with
default parameters in a configuration file.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.6 NWK_GET_NEIGHBOR_TABLE_REQ
Command type: Specific-response command // NWK_GET_NEIGHBOR_TABLE_RSP_IND
This API is called by the gateway application when it wants to retrieve the neighbor table of a
destination device or of the gateway device itself.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.7 NWK_GET_NEIGHBOR_TABLE_RSP_IND
Command type: Specific response
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.8 NWK_GET_ROUTING_TABLE_REQ
Command type: Specific-response command // NWK_GET_ROUTING_TABLE_RSP_IND
This API is called by the gateway application when it wants to retrieve the routing table of a destination
device.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.9 NWK_GET_ROUTING_TABLE_RSP_IND
Command type: Specific response
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.10 NWK_CHANGE_NWK_KEY_REQ
Command type: No-response command / ZIGBEE_GENERIC_CNF
This API is called by the gateway application to change the active network key to a new key.
Over the air, the key change happen in two steps: first, the new key is advertized, next, the devices are
being told to start using it. The confirmation for this command is sent as soon as the key advertizing
starts. Following the confirmation of this command, it may take up to a few seconds before all the
devices in the network start using the new key. In order to make sure that the new key was successfully
received and enabled in all the devices in the network, it is recommended to wait about 10 seconds
after receiving the confirmation and before sending any other command.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.2.11 NWK_GET_NWK_KEY_REQ
Command type: No-response command / NWK_GET_NWK_KEY_CNF
This API is called by the gateway application to request the current active ZigBee network key.
8.2.12 NWK_GET_NWK_KEY_CNF
Command type: Specific confirmation
This API called by the gateway subsystem to report to the gateway application the current active ZigBee
network key.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.3.1 NWK_ZIGBEE_DEVICE_IND
Command type: Incoming Indication
The gateway subsystem hosts a database of entries for devices in the network, holding information of
those devices (IEEE address, NWK address, Endpoint/Simple descriptor, status, etc). This API is called by
the gateway subsystem when an entry is added to the database upon a new ZigBee device joining the
network, entry removed from the database when a device leaves the network or when the information
of an existing device in the database has been updated (like short address change).
For new devices, the gateway subsystem application automatically starts service discovery upon
reception of an announcement message that a new device has joined the network, but notifies the
gateway application that a new device has been successfully discovered only at the end of the service
discovery procedure, hence abstracting it from the application developer.
Where DeviceInfo_t:
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
1 – device on-line
2 – device removed
255 – not applicable (this value is
returned when the gateway
application request information
about the local gateway device)
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.3.2 NWK_GET_DEVICE_LIST_REQ
Command type: No-response command / NWK_GET_DEVICE_LIST_CNF
This API is called by the gateway application to request the gateway subsystem to provide the list of
devices from the device database.
8.3.3 NWK_GET_DEVICE_LIST_CNF
Command type: Specific confirmation
This API is called by the gateway subsystem as a confirmation of the corresponding request, indicating
the number of devices in the network, as maintained in the gateway subsystem database, and their
description.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.3.4 NWK_DEVICE_LIST_MAINTENANCE_REQ
Command type: No-response command / ZIGBEE_GENERIC_CNF
This API is called by the gateway application to request the gateway subsystem, to re-discover services
for a single device that is currently in the network/all devices in order to refresh/update the device list
database. As a result of this request, the gateway server will start a service discovery procedure for that
device and return indications to the gateway application via NWK_ZIGBEE_DEVICE_IND, if the
information for an entry in the table is changed.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
8.3.5 NWK_REMOVE_DEVICE_REQ
Command type: No-response command / ZIGBEE_GENERIC_CNF
This API is called by the gateway application to remove the specific device from the network. The
corresponding network message is sent out over the air by the gateway and the entry is cleared from
the database.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
This API is called by the gateway application when it wants to instantiate a binding entry (or a ‘pairing’)
/remove binding between a couple of remote devices. The corresponding OTA message must be sent
out using APS acknowledged mode service so that the delivery to end node is guaranteed
8.4.2 NWK_SET_BINDING_ENTRY_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem when it wants to report to the application the status of the
binding request made through NWK_SET_BINDING_ENTRY_REQ. The API call is done by the gateway
subsystem when the corresponding Bind_rsp/unbind_rsp OTA message is received.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
The API implementation in the gateway subsystem abstracts the formatting and parsing of the ZCL
telegrams for common devices, as well as takes care of the ZCL management plane functionalities,
therefore providing a very high-level abstracted interface for the application. The gateway server API
has however been designed in a way where it still maintains cluster neutrality to handle use cases where
application-specific telegrams must be formatted/parsed.
The gateway server API is separated into different functional domains, similar as to how the ZigBee
cluster library is.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.1 GW_ADD_GROUP_REQ
Command type: Generic-response command
This API is called by the gateway application to add a specific device to a group, or add an existing group
of devices to another group, generating an Add Group OTA command.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.2 GW_GET_GROUP_MEMBERSHIP_REQ
Command type: Specific-response command // GW_GET_GROUP_MEMBERSHIP_RSP_IND
This API is called by the gateway application to get the list of groups which a remote device belongs to.
9.1.3 GW_GET_GROUP_MEMBERSHIP_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to report the groups that the requested remote device
belongs to and the remaining capacity for additional groups.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.4 GW_REMOVE_FROM_GROUP_REQ
Command type: Generic-response command
This API is called by the gateway application to request the device or group of devices to remove their
membership to a particular a group or all groups. When a group membership is removed, the scenes
associated to that group shall be removed as well.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.5 GW_STORE_SCENE_REQ
Command type: Generic-response command
This API is called by the gateway application to store a scene to a group. It is highly recommended that
this is only used in groupcast mode to store a scene to the entire group that it applies to, rather than
individual devices.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.6 GW_REMOVE_SCENE_REQ
Command type: Generic-response command
This API is called by the gateway application to remove a scene from a group.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.7 GW_RECALL_SCENE_REQ
Command type: Generic-response command
This API is called by the gateway application to recall a scene from a group. This command generates an
OTA Recall Scene command
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.1.8 GW_GET_SCENE_MEMBERSHIP_REQ
Command type: Specific-response command // GW_GET_SCENE_MEMBERSHIP_RSP_IND
This API is called by the gateway application to get the list of scenes which a remote device belongs to.
9.1.9 GW_GET_SCENE_MEMBERSHIP_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to report the scenes that the requested remote
device/group of devices have in their scene table associated with a certain group id.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
This API is called by the gateway application, to notify the gateway subsystem about a packet that needs
to be sent to a sleepy end device. Following a call to this command, the packet_pending bit related to
the respective device will be set. When the gateway subsystem receives a check-in command from the
sleepy end device, and the respective packet_pending bit is set, the gateway subsystem will send a
GW_SLEEPY_DEVICE_CHECK_IN_IND to the application, so the application can send any pending
message to the device. (The ZigBee check-in response command will be sent automatically by the
gateway subsystem to the end device, with payload depending on the packet_pending bit, before
sending the GW_SLEEPY_DEVICE_CHECK_IN_IND command to the application).
The packet_pending bit is automatically cleared by the gw subsystem upon sending of the
GW_SLEEPY_DEVICE_CHECK_IN_IND command.
Note:
- In order to receive check-in commands from a sleepy end device that supports the poll control
cluster, the application must first bind the poll control cluster in the appropriate endpoint of
that end device to endpoint #2 of the gateway, using NWK_SET_BINDING_ENTRY_REQ.
- The frequency in which the end device will send check-in commands can be controlled by
writing directly to the CheckinInterval attribute of the endpoint that implements the poll control
cluster on that device. Other related configuration - LongPollInterval and ShortPollInterval
attributes - cannot be written to directly, but may be set by using GW_SEND_ZCL_FRAME_REQ
to send the appropriate ZCL commands.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.2.2 GW_SLEEPY_DEVICE_CHECK_IN_IND
Command type: Incoming Indication
This API is called by the gateway subsystem to notify the application that an end device is currently
listening for incoming commands.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.1 GW_ATTRIBUTE_CHANGE_IND
Command type: Incoming Indication
This API is called by the ZigBee gateway subsystem to notify the gateway application that an attribute,
registered within one of the endpoint(s) the gateway subsystem hosts, has been modified by a remote
node in the ZigBee network. The gateway application is notified of this event so that it can ‘bridge over’
the command over to the non-ZigBee device. This is the case for instance of a ZigBee switch controlling a
wi-fi plug via the gateway.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.2 GW_GET_DEVICE_ATTRIBUTE_LIST_REQ
Command type: Specific-response command // GW_GET_DEVICE_ATTRIBUTE_LIST_RSP_IND
This API is called by the gateway application to retrieve the list of attributes registered by the gateway
subsystem) for a given endpoint or the list of attributes of a remote device’s endpoint. (Attributes that
belong to the endpoint hosted in the gateway are registered at startup and configured through a
configuration file.)
9.3.3 GW_GET_DEVICE_ATTRIBUTE_LIST_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to report the attribute list for the attributes registered with
the gateway subsystem or a remote device, as requested.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.4 GW_READ_DEVICE_ATTRIBUTE_REQ
Command type: Specific-response command // GW_READ_DEVICE_ATTRIBUTE_RSP_IND
This API is called by the gateway application when it wants to read out a single attribute or an array of
attributes belonging to a specific cluster of a remote end node. The corresponding foundation layer
command is sent out OTA as a result. The attribute is reported by the gateway subsystem via the
GW_READ_DEVICE_ATTRIBUTE_RSP_IND.
This API is also used by the gateway application when it wants to read out a local attribute in the
gateway subsystem. The gateway subsystem instantiates a local attribute table that the application may
want to readout to implement application decisions (i.e. imagine the case of the gateway being used to
‘bridge’ a ZigBee device application message like on/off command to a non-ZigBee device acting upon
the on/off command reception). The gateway subsystem must then ‘mirror’ the on/off server
functionality. The gateway application may want to read the state of the attribute being mirrored, to
display on the screen its value.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.5 GW_READ_DEVICE_ATTRIBUTE_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem when it wants to report the read out a generic attribute
belonging to a specific cluster from a remote end node or as a response to a query for a local attribute
readout request. If any of the requested attributes cannot be read or does not exist, the status will
indicate failure, but anyhow the attributes that were successfully read will be included in
AttributeRecordList (failed attributes will be omitted from this list).
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.6 GW_WRITE_DEVICE_ATTRIBUTE_REQ
Command type: Specific-response command // GW_WRITE_DEVICE_ATTRIBUTE_RSP_IND
This API is called by the gateway application when it wants to write a single attribute or an array of
attributes belonging to a specific cluster of a remote end node. The corresponding foundation layer
command is sent out OTA as a result.
This API is also called by the gateway application when it wants to set the value of a local attribute in the
gateway subsystem. The gateway subsystem instantiates a local attribute table that the application may
want to set to implement application decisions.
This is useful, for example, in the following use case: imagine the gateway being used to ‘bridge’ a
ZigBee device (like a switch) to a non-ZigBee device (like a wi-fi light) and imagine this non-ZigBee
device, can be also be controlled by some other non-ZigBee devices (like wi-fi switches). When the wi-fi
switch changes the on/off status of the wi-fi light, the gateway must reflect this change that happen
outside of the ZigBee network, because it must ‘mirror’ the on/off state of the light, updating the value
of the respective attribute hosted locally. Thus, if the ZigBee switch wants to know the state of the wi-fi
light (whether on/off), it would issue a read attribute and the information would be readily available in
the gateway.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.7 GW_WRITE_DEVICE_ATTRIBUTE_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem when it wants to report the status of the writing of a generic
attribute belonging to a specific cluster on a remote or local end node.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.8 GW_SET_ATTRIBUTE_REPORTING_REQ
Command type: Specific-response command // GW_SET_ATTRIBUTE_REPORTING_RSP_IND
This API is called by the gateway application when it wants to configure reporting attributes belonging to
a specific cluster of a remote end node. The corresponding foundation layer command is sent out as a
result.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.9 GW_SET_ATTRIBUTE_REPORTING_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem when it wants to report to the gateway application the
response of a specific configure reporting command sent to a remote end node
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.10 GW_ATTRIBUTE_REPORTING_IND
Command type: Incoming Indication
This API is called by the gateway subsystem when it wants to report to the gateway application the
report of a specific attribute, when the report attributes command is received from a remote end node.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.11 GW_SEND_ZCL_FRAME_REQ
Command type: Generic-response command
This API is called by the gateway application when it intends to send a raw ZCL frame over the air
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
If SequenceNumber was specified in the request, then SequenceNumber of the response will be the
same. Otherwise, it is internally generated, as with most other commands.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.3.12 GW_ZCL_FRAME_RECEIVE_IND
Command type: Incoming Indication
This API is called by the gateway subsystem when it wants to notify that an unprocessed ZCL frame has
been received. It can be a response to a previously sent ZCL Frame, or an indication of a new incoming
ZCL transaction.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
This API is called by the gateway subsystem to indicate to the gateway application that an alarm,
associated to a specific cluster in a remote device, has been generated. The alarm code is ‘cluster
dependent’, which means that different clusters may have the same alarm code ID, therefore the
application would have to carefully identify the ‘reason’ for the alarm associating it with the
corresponding cluster ‘alarm code’ table
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.4.2 GW_ALARM_RESET_REQ
Command type: Generic-response command
This API is called by the application to request a remote device to reset a specific alarm or all alarms.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.5.1 DEV_ZONE_ENROLMENT_REQ_IND
Command type: Incoming Request / DEV_ZONE_ENROLMENT_RSP
This API is called by the gateway subsystem to indicate to the gateway application that an alarm
enrolment has been received. The alarm enrolment request informs of the manufacturer code and Zone
Type of the Safety and Security device wanting to enroll.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.5.2 DEV_ZONE_ENROLMENT_RSP
Command type: Outgoing response
This API is called by the gateway application to send a response to an alarm enrolment request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.5.3 DEV_ZONE_STATUS_CHANGE_IND
Command type: Incoming Indication
This API is called by the gateway subsystem to indicate to the gateway application that the value of a
ZoneStatus attribute has changed.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.6.1 DEV_ACE_ARM_REQ_IND
Command type: Incoming Request / DEV_ACE_ARM_RSP
This API is called by the gateway subsystem to indicate to the gateway application that a remote ACE
device has sent an arm request.
9.6.2 DEV_ACE_ARM_RSP
Command type: Outgoing response
This API is called by the gateway application to send a response to an ACE device that sent an arm
request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.6.3 DEV_ACE_BYPASS_IND
Command type: Incoming Indication
This API is called by the gateway subsystem to indicate to the gateway application that a remote ACE
device has sent a bypass indication.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.6.4 DEV_ACE_EMERGENCY_CONDITION_IND
Command type: Incoming Indication
This API is called by the gateway subsystem to indicate to the gateway application that a remote ACE
device has sent an emergency condition indication.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.6.5 DEV_ACE_GET_ZONE_ID_MAP_REQ_IND
Command type: Incoming Request / DEV_ACE_GET_ZONE_ID_MAP_RSP
This API is called by the gateway subsystem to indicate to the gateway application that a remote ACE
device has sent a zone ID map request.
9.6.6 DEV_ACE_GET_ZONE_ID_MAP_RSP
Command type: Outgoing response
This API is called by the gateway application to send a response to a zone ID map request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.6.7 DEV_ACE_GET_ZONE_INFORMATION_REQ_IND
Command type: Incoming Request / DEV_ACE_GET_ZONE_INFORMATION_RSP
This API is called by the gateway subsystem to indicate to the gateway application that a remote ACE
device has sent a zone information request.
9.6.8 DEV_ACE_GET_ZONE_INFORMATION_RSP
Command type: Outgoing response
This API is called by the gateway application to send a response to a zone ID map request.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.1 DEV_SET_IDENTIFY_MODE_REQ
Command type: Generic-response command
This API is called by the gateway application to start/stop the ‘Identify’ mode of the target device,
sending the corresponding ‘Identify’ command over-the-air.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.2 DEV_SET_ONOFF_STATE_REQ
Command type: Generic-response command
This API is called by the gateway application when it wants to send an on/off command to a specific
device in the network, a group of devices or broadcast. The gateway subsystem will send the
corresponding ZCL command OTA
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.3 DEV_SET_LEVEL_REQ
Command type: Generic-response command
This API is called by the gateway application when it wants to send a level control command to a specific
device in the network, a group of devices or broadcast. The gateway subsystem will send the
corresponding ZCL command
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.4 DEV_GET_LEVEL_REQ
Command type: Specific-response command // DEV_GET_LEVEL_RSP_IND
This API is called by the gateway application when it wants to know the level attribute of a node (local or
remote). The gateway subsystem then sends a foundation layer command over-the-air and responds to
this request via the DEV_GET_LEVEL_RSP_IND indication.
9.7.5 DEV_GET_LEVEL_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate the state of the level attribute of a node (local or
remote), as a result of previous DEV_SET_LEVEL_REQ. The indication is sent by the gateway subsystem
as a result of the corresponding foundation layer response being received to the gateway application.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.6 DEV_GET_ONOFF_STATE_REQ
Command type: Specific-response command // DEV_GET_ONOFF_STATE_RSP_IND
This API is called by the gateway application when it wants to know the on/off attribute of a node (local
or remote). The gateway subsystem then sends a foundation layer command over-the-air and responds
to this request via the DEV_GET_ONOFF_STATE_RSP_IND indication
9.7.7 DEV_GET_ONOFF_STATE_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate the state of the on/off attribute of a node (local
or remote), as a result of previous DEV_GET_ONOFF_STATE_REQ. The indication is sent by the gateway
subsystem as a result of the corresponding foundation layer response being received to the gateway
application.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.8 DEV_SET_COLOR_REQ
Command type: Generic-response command
This API is called by the gateway application when it wants to send a color control command to a specific
device in the network, a group of devices or broadcast. The gateway subsystem will send the
corresponding ZCL command
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.7.9 DEV_GET_COLOR_REQ
Command type: Specific-response command // DEV_GET_COLOR_RSP_IND
This API is called by the gateway application when it wants to know the Color (Hue and Saturation)
attribute of a node (local or remote). The gateway subsystem then sends a foundation layer command
over-the-air and responds to this request via the DEV_GET_COLOR_RSP_IND indication
9.7.10 DEV_GET_COLOR_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate the state of the color attributes of a node (local
or remote), as a result of previous DEV_GET_COLOR_REQ. The indication is sent by the gateway
subsystem as a result of the corresponding foundation layer response being received to the gateway
application.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
This API is called by the gateway application to request a read of the temperature attribute of a remote
device, sending out the corresponding foundation layer read attribute command. The gateway
subsystem will indicate to the application the attribute reported through DEV_GET_TEMP_RSP_IND.
9.8.2 DEV_GET_TEMP_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate to the gateway application the read-out of the
attribute requested to be read. The temperature is in DegC * 100, Where -273.15°C <= temperature <=
327.67 ºC, corresponding to a Measured Value in the range 0x954d to 0x7fff. The maximum resolution
this format allows is 0.01 ºC.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.8.3 DEV_GET_POWER_REQ
Command type: Specific-response command // DEV_GET_POWER_RSP_IND
This API is called by the gateway application to request a read of the power readings of a remote device,
sending out the corresponding foundation layer read attribute command. The gateway subsystem will
indicate to the application the attribute reported through DEV_GET_POWER_RSP_IND
9.8.4 DEV_GET_POWER_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate to the gateway application the raw value of the
instantaneous demand attribute of the measurement cluster at the destination device.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.8.5 DEV_GET_HUMIDITY_REQ
Command type: Specific-response command // DEV_GET_HUMIDITY_RSP_IND
This API is called by the gateway application to request a read of the humidity readings of a remote
device, sending out the corresponding foundation layer read attribute command. The gateway
subsystem will indicate to the application the attribute reported through
DEV_GET_HUMIDITY_RSP_IND.
9.8.6 DEV_GET_HUMIDITY_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate to the gateway application the read-out of the
attribute requested to be read. The humidity Measured Value represents the relative humidity in % as
follows:
Measured Value = 100 x Relative humidity, where 0% <= Relative humidity <= 100%, corresponding to a
Measured Value in the range 0 to 0x2710.
The maximum resolution this format allows is 0.01%.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.9.1 DEV_SET_DOOR_LOCK_REQ
Command type: Specific-response command // DEV_SET_DOOR_LOCK_RSP_IND
This API is called by the gateway application to request a remote device to lock/unlock the door. It
generates the corresponding OTA command
9.9.2 DEV_SET_DOOR_LOCK_RSP_IND
Command type: Specific response
This API is called by the gateway subsystem to indicate to the gateway application that the door
lock/unlock command has been received by the door lock.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.9.3 DEV_GET_DOOR_LOCK_STATE_REQ
Command type: Specific-response command // DEV_GET_ DOOR_LOCK_STATE_RSP_IND
This API is called by the gateway application to request to report information about the state of the lock.
The gateway subsystem will indicate to the application the attribute reported through DEV_GET_
DOOR_LOCK_STATE_RSP_IND
This API is called by the gateway subsystem to indicate to the gateway application the state of door lock,
as a response from the earlier DEV_GET_DOOR_LOCK_STATE_REQ.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.10.1 DEV_THERMOSTAT_SETPOINT_CHANGE_REQ
Command type: Generic-response command
This API is called by the gateway subsystem to increase or decrease the cool and/or the heat setpoint of
a thermostat.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
9.11.1 DEV_WINDOW_COVERING_ACTION_REQ
Command type: Generic-response command
This API is called by the gateway subsystem to change the position/state of window covering.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
This API is called by the gateway application to register a new image that can be downloaded by remote
devices, or to unregister a previously registered image, so it is not available for download anymore. It
can also be used to update parameters (e.g. ExecutionDelay) of files that are already registered.
Note: The way the host filesystem retrieves the image from the backhaul network is outside the scope
of this document
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
10.1.2 OTA_UPDATE_ENABLE_REQ
Command type: No-response command / OTA_UPDATE_ENABLE_CNF
This API is called by the gateway application to enable or disable OTA download activity.
10.1.3 OTA_UPDATE_ENABLE_CNF
Command type: Specific confirmation
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
10.1.4 OTA_UPDATE_DOWNLOAD_FINISHED_IND
Command type: Incoming Indication
This API is called by the gateway subsystem to inform the application that a remote device
finished/aborted downloading an image.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
10.1.5 OTA_UPDATE_APPLY_IMAGE_REQ
Command type: No-response command / ZIGBEE_GENERIC_CNF
This API is called by the gateway application in order to instruct remote devices that they should apply a
previously downloaded image. This request must be used for images that has ExecutionTimingType set
to “hold execution” (see OTA_UPDATE_IMAGE_REGISTERATION_REQ). It should only be used after the
device reported OTA_UPDATE_DOWNLOAD_FINISHED_IND with status of “SUCCESS”.
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
ZigBee command
Incoming indication
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
ZigBee request
ZigBee response
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
No-response command
Generic confirmation, no SN
Or
Specific confirmation
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Specific-response command
ZigBee request
ZigBee response
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Specific-response command
ZigBee
ZigBee request
request
ZigBee response A
ZigBee response B
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Specific-response command
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Generic-response command
ZigBee request
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Generic-response command
Generic confirmation, no SN
ZigBee
ZigBee request
request
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using
Z-Stack Linux Gateway- Application Programming Interface document - Ver. 1.1
Printed specifications are not controlled documents. Most updated version is on network only, Verify version before using