digi.xbee.packets.zigbee module¶
-
class
digi.xbee.packets.zigbee.
RegisterJoiningDevicePacket
(frame_id, registrant_address, options, key, op_mode=<OperatingMode.API_MODE: (1, 'API mode')>)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents a Register Joining Device packet. Packet is built using the parameters of the constructor or providing a valid API payload.
Use this frame to securely register a joining device to a trust center. Registration is the process by which a node is authorized to join the network using a preconfigured link key or installation code that is conveyed to the trust center out-of-band (using a physical interface and not over-the-air).
If registering a device with a centralized trust center (EO = 2), then the key entry will only persist for KT seconds before expiring.
Registering devices in a distributed trust center (EO = 0) is persistent and the key entry will never expire unless explicitly removed.
To remove a key entry on a distributed trust center, this frame should be issued with a null (None) key. In a centralized trust center you cannot use this method to explicitly remove the key entries.
See also
Class constructor. Instantiates a new
RegisterJoiningDevicePacket
object with the provided parameters.Parameters: - frame_id (integer) – the frame ID of the packet.
- registrant_address (
XBee64BitAddress
) – the 64-bit address of the destination device. - options (
RegisterKeyOptions
) – the register options indicating the key source. - key (Bytearray) – key of the device to register. Up to 16 bytes if entering a Link Key or up to 18 bytes (16-byte code + 2 byte CRC) if entering an Install Code.
- op_mode (
OperatingMode
, optional, default=`OperatingMode.API_MODE`) – The mode in which the frame was captured.
Raises: ValueError
– if frame_id is less than 0 or greater than 255.-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: Raises: InvalidPacketException
– if the bytearray length is less than 17. (start delim. + length (2 bytes) + frame type + frame id + 64-bit registrant addr. (8 bytes) + 16-bit registrant addr. (2 bytes) + options + checksum = 17 bytes).InvalidPacketException
– if the length field of ‘raw’ is different from its real length. (length field: bytes 2 and 3)InvalidPacketException
– if the first byte of ‘raw’ is not the header byte. SeeSpecialByte
.InvalidPacketException
– if the calculated checksum is different from the checksum field value (last byte).InvalidPacketException
– if the frame type is notApiFrameType.REGISTER_JOINING_DEVICE
.InvalidOperatingModeException
– if operating_mode is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
registrant_address
¶ Returns the 64-bit registrant address.
Returns: the 64-bit registrant address. Return type: XBee64BitAddress
See also
-
options
¶ Returns the register options value.
Returns: the register options indicating the key source. Return type: RegisterKeyOptions
See also
-
key
¶ Returns the register key.
Returns: the register key. Return type: Bytearray
-
frame_id
¶ Returns the frame ID of the packet.
Returns: the frame ID of the packet. Return type: Integer
-
get_checksum
()¶ Returns the checksum value of this XBeePacket. The checksum is the last 8 bits of the sum of the bytes between the length field and the checksum field.
Returns: checksum value of this XBeePacket. Return type: Integer See also
-
get_frame_spec_data
()¶ Override method.
See also
-
get_frame_type
()¶ Returns the frame type of this packet.
Returns: the frame type of this packet. Return type: ApiFrameType
See also
-
get_frame_type_value
()¶ Returns the frame type integer value of this packet.
Returns: the frame type integer value of this packet. Return type: Integer See also
-
is_broadcast
()¶ Returns whether this packet is broadcast or not.
Returns: True if this packet is broadcast, False otherwise. Return type: Boolean
-
op_mode
¶ Retrieves the operating mode in which this packet was read.
Returns: The operating mode. Return type: OperatingMode
-
output
(escaped=False)¶ Returns the raw bytearray of this XBeePacket, ready to be send by the serial port.
Parameters: escaped (Boolean) – indicates if the raw bytearray must be escaped. Returns: raw bytearray of the XBeePacket. Return type: Bytearray
-
to_dict
()¶ Returns a dictionary with all information of the XBeePacket fields.
Returns: dictionary with all info of the XBeePacket fields. Return type: Dictionary
-
static
unescape_data
(data)¶ Un-escapes the provided bytearray data.
Parameters: data (Bytearray) – the bytearray to unescape. Returns: data unescaped. Return type: Bytearray
-
class
digi.xbee.packets.zigbee.
RegisterDeviceStatusPacket
(frame_id, status, op_mode=<OperatingMode.API_MODE: (1, 'API mode')>)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents a Register Device Status packet. Packet is built using the parameters of the constructor or providing a valid API payload.
This frame is sent out of the UART of the trust center as a response to a 0x24 Register Device frame, indicating whether the registration was successful or not.
See also
Class constructor. Instantiates a new
RegisterDeviceStatusPacket
object with the provided parameters.Parameters: - frame_id (integer) – the frame ID of the packet.
- status (
ZigbeeRegisterStatus
) – status of the register device operation. - op_mode (
OperatingMode
, optional, default=`OperatingMode.API_MODE`) – The mode in which the frame was captured.
Raises: ValueError
– if frame_id is less than 0 or greater than 255.See also
-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: Raises: InvalidPacketException
– if the bytearray length is less than 17. (start delim. + length (2 bytes) + frame type + frame id + status + checksum = 7 bytes).InvalidPacketException
– if the length field of ‘raw’ is different from its real length. (length field: bytes 1 and 3)InvalidPacketException
– if the first byte of ‘raw’ is not the header byte. SeeSpecialByte
.InvalidPacketException
– if the calculated checksum is different from the checksum field value (last byte).InvalidPacketException
– if the frame type is notApiFrameType.REGISTER_JOINING_DEVICE_STATUS
.InvalidOperatingModeException
– if operating_mode is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
status
¶ Returns the register device status.
Returns: the register device status. Return type: ZigbeeRegisterStatus
See also
-
frame_id
¶ Returns the frame ID of the packet.
Returns: the frame ID of the packet. Return type: Integer
-
get_checksum
()¶ Returns the checksum value of this XBeePacket. The checksum is the last 8 bits of the sum of the bytes between the length field and the checksum field.
Returns: checksum value of this XBeePacket. Return type: Integer See also
-
get_frame_spec_data
()¶ Override method.
See also
-
get_frame_type
()¶ Returns the frame type of this packet.
Returns: the frame type of this packet. Return type: ApiFrameType
See also
-
get_frame_type_value
()¶ Returns the frame type integer value of this packet.
Returns: the frame type integer value of this packet. Return type: Integer See also
-
is_broadcast
()¶ Returns whether this packet is broadcast or not.
Returns: True if this packet is broadcast, False otherwise. Return type: Boolean
-
op_mode
¶ Retrieves the operating mode in which this packet was read.
Returns: The operating mode. Return type: OperatingMode
-
output
(escaped=False)¶ Returns the raw bytearray of this XBeePacket, ready to be send by the serial port.
Parameters: escaped (Boolean) – indicates if the raw bytearray must be escaped. Returns: raw bytearray of the XBeePacket. Return type: Bytearray
-
to_dict
()¶ Returns a dictionary with all information of the XBeePacket fields.
Returns: dictionary with all info of the XBeePacket fields. Return type: Dictionary
-
static
unescape_data
(data)¶ Un-escapes the provided bytearray data.
Parameters: data (Bytearray) – the bytearray to unescape. Returns: data unescaped. Return type: Bytearray
-
class
digi.xbee.packets.zigbee.
RouteRecordIndicatorPacket
(x64bit_addr, x16bit_addr, rx_opts, hops=None, op_mode=<OperatingMode.API_MODE: (1, 'API mode')>)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents a Zigbee Route Record Indicator packet. Packet is built using the parameters of the constructor or providing a valid API payload.
The route record indicator is received whenever a device sends a Zigbee route record command. This is used with many-to-one routing to create source routes for devices in a network.
Among received data, some options can also be received indicating transmission parameters.
See also
Class constructor. Instantiates a new
RouteRecordIndicatorPacket
object with the provided parameters.Parameters: - x64bit_addr (
XBee64BitAddress
) – The 64-bit source address. - x16bit_addr (
XBee16BitAddress
) – The 16-bit source address. - rx_opts (Integer) – Bitfield indicating the receive options.
- hops (List, optional, default=`None`) – List of 16-bit address of intermediate hops in the source route (excluding source and destination).
- op_mode (
OperatingMode
, optional, default=`OperatingMode.API_MODE`) – The mode in which the frame was captured.
-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: Raises: InvalidPacketException
– If the bytearray length is less than 17. (start delim. + length (2 bytes) + frame type + 64bit addr. + 16bit addr. + Receive options + num of addrs + checksum = 17 bytes).InvalidPacketException
– If the length field of raw is different from its real length. (length field: bytes 1 and 3)InvalidPacketException
– If the first byte of ‘raw’ is not the header byte. SeeSpecialByte
.InvalidPacketException
– If the calculated checksum is different from the checksum field value (last byte).InvalidPacketException
– If the frame type is notApiFrameType.ROUTE_RECORD_INDICATOR
.InvalidPacketException
– If the number of hops does not match with the number of 16-bit addresses.InvalidOperatingModeException
– If operating_mode is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
x64bit_source_addr
¶ Returns the 64-bit source address.
Returns: The 64-bit source address. Return type: XBee64BitAddress
See also
-
x16bit_source_addr
¶ Returns the 16-bit source address.
Returns: The 16-bit source address. Return type: XBee16BitAddress
See also
-
receive_options
¶ Returns the receive options bitfield.
Returns: The receive options bitfield. Return type: Integer See also
-
number_of_hops
¶ Returns the number of intermediate hops in the source route (excluding source and destination).
Returns: The number of addresses. Return type: Integer
-
hops
¶ Returns the list of intermediate hops starting from the closest to destination hop and finishing with the closest to the source (excluding source and destination).
Returns: The list of 16-bit addresses of intermediate hops. Return type: List See also
-
frame_id
¶ Returns the frame ID of the packet.
Returns: the frame ID of the packet. Return type: Integer
-
get_checksum
()¶ Returns the checksum value of this XBeePacket. The checksum is the last 8 bits of the sum of the bytes between the length field and the checksum field.
Returns: checksum value of this XBeePacket. Return type: Integer See also
-
get_frame_spec_data
()¶ Override method.
See also
-
get_frame_type
()¶ Returns the frame type of this packet.
Returns: the frame type of this packet. Return type: ApiFrameType
See also
-
get_frame_type_value
()¶ Returns the frame type integer value of this packet.
Returns: the frame type integer value of this packet. Return type: Integer See also
-
op_mode
¶ Retrieves the operating mode in which this packet was read.
Returns: The operating mode. Return type: OperatingMode
-
output
(escaped=False)¶ Returns the raw bytearray of this XBeePacket, ready to be send by the serial port.
Parameters: escaped (Boolean) – indicates if the raw bytearray must be escaped. Returns: raw bytearray of the XBeePacket. Return type: Bytearray
-
to_dict
()¶ Returns a dictionary with all information of the XBeePacket fields.
Returns: dictionary with all info of the XBeePacket fields. Return type: Dictionary
-
static
unescape_data
(data)¶ Un-escapes the provided bytearray data.
Parameters: data (Bytearray) – the bytearray to unescape. Returns: data unescaped. Return type: Bytearray
- x64bit_addr (
-
class
digi.xbee.packets.zigbee.
CreateSourceRoutePacket
(frame_id, x64bit_addr, x16bit_addr, route_options=0, hops=None, op_mode=<OperatingMode.API_MODE: (1, 'API mode')>)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents a Zigbee Create Source Route packet. This packet is built using the parameters of the constructor or providing a valid API payload.
This frame creates a source route in the node. A source route specifies the complete route a packet should travese to get from source to destination. Source routing should be used with many-to-one routing for best results.
Note: Both, 64-bit and 16-bit destination addresses are required when creating a source route. These are obtained when a Route Record Indicator (0xA1) frame is received.
See also
Class constructor. Instantiates a new
CreateSourceRoutePacket
object with the provided parameters.Parameters: - frame_id (integer) – the frame ID of the packet.
- x64bit_addr (
XBee64BitAddress
) – The 64-bit destination address. - x16bit_addr (
XBee16BitAddress
) – The 16-bit destination address. - route_options (Integer) – Route command options.
- hops (List, optional, default=`None`) – List of 16-bit addresses of intermediate hops in the source route (excluding source and destination).
- op_mode (
OperatingMode
, optional, default=`OperatingMode.API_MODE`) – The mode in which the frame was captured.
-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: Raises: InvalidPacketException
– If the bytearray length is less than 18. (start delim. + length (2 bytes) + frame type + frame id + 64-bit addr. + 16-bit addr. + Route command options + num of addrs + hops 16-bit addrs + checksum = 18 bytes).InvalidPacketException
– If the length field of raw is different from its real length. (length field: bytes 1 and 3)InvalidPacketException
– If the first byte of ‘raw’ is not the header byte. SeeSpecialByte
.InvalidPacketException
– If the calculated checksum is different from the checksum field value (last byte).InvalidPacketException
– If the frame type is notApiFrameType.CREATE_SOURCE_ROUTE
.InvalidPacketException
– If the number of hops does not match with the number of 16-bit addresses.InvalidOperatingModeException
– If operating_mode is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
x64bit_dest_addr
¶ Returns the 64-bit destination address.
Returns: The 64-bit destination address. Return type: XBee64BitAddress
See also
-
x16bit_dest_addr
¶ Returns the 16-bit destination address.
Returns: The 16-bit destination address. Return type: XBee16BitAddress
See also
-
route_cmd_options
¶ Returns the route command options bitfield.
Returns: The route command options bitfield. Return type: Integer
-
number_of_hops
¶ Returns the number of intermediate hops in the source route (excluding source and destination).
Returns: The number of intermediate hops. Return type: Integer
-
hops
¶ Returns the list of intermediate hops starting from the closest to destination hop and finishing with the closest to the source (excluding source and destination).
Returns: The list of 16-bit addresses of intermediate hops. Return type: List See also
-
frame_id
¶ Returns the frame ID of the packet.
Returns: the frame ID of the packet. Return type: Integer
-
get_checksum
()¶ Returns the checksum value of this XBeePacket. The checksum is the last 8 bits of the sum of the bytes between the length field and the checksum field.
Returns: checksum value of this XBeePacket. Return type: Integer See also
-
get_frame_spec_data
()¶ Override method.
See also
-
get_frame_type
()¶ Returns the frame type of this packet.
Returns: the frame type of this packet. Return type: ApiFrameType
See also
-
get_frame_type_value
()¶ Returns the frame type integer value of this packet.
Returns: the frame type integer value of this packet. Return type: Integer See also
-
is_broadcast
()¶ Returns whether this packet is broadcast or not.
Returns: True if this packet is broadcast, False otherwise. Return type: Boolean
-
op_mode
¶ Retrieves the operating mode in which this packet was read.
Returns: The operating mode. Return type: OperatingMode
-
output
(escaped=False)¶ Returns the raw bytearray of this XBeePacket, ready to be send by the serial port.
Parameters: escaped (Boolean) – indicates if the raw bytearray must be escaped. Returns: raw bytearray of the XBeePacket. Return type: Bytearray
-
to_dict
()¶ Returns a dictionary with all information of the XBeePacket fields.
Returns: dictionary with all info of the XBeePacket fields. Return type: Dictionary
-
static
unescape_data
(data)¶ Un-escapes the provided bytearray data.
Parameters: data (Bytearray) – the bytearray to unescape. Returns: data unescaped. Return type: Bytearray
-
class
digi.xbee.packets.zigbee.
OTAFirmwareUpdateStatusPacket
(src_address_64, updater_address_16, rx_options, msg_type, block_number, target_address_64, op_mode=<OperatingMode.API_MODE: (1, 'API mode')>)[source]¶ Bases:
digi.xbee.packets.base.XBeeAPIPacket
This class represents a an Over The Air Firmware Update Status packet. Packet is built using the parameters of the constructor or providing a valid API payload.
This frame provides a status indication of a firmware update transmission.
If a query request returns a 0x15 (NACK) status, the target is likely waiting for a firmware update image. If no messages are sent to it for about 75 seconds, the target will timeout and accept new query messages.
If a query status returns a 0x51 (QUERY) status, then the target’s bootloader is not active and will not respond to query messages.
See also
Class constructor. Instantiates a new
OTAFirmwareUpdateStatusPacket
object with the provided parameters.Parameters: - src_address_64 (
XBee64BitAddress
) – the 64-bit address of the device returning this answer. - updater_address_16 (
XBee16BitAddress
) – the 16-bit address of the updater device. - rx_options (Integer) – bitfield indicating the receive options.
- msg_type (
EmberBootloaderMessageType
) – Ember bootloader message type - block_number (Integer) – block number used in the update request.
- target_address_64 (
XBee64BitAddress
) – the 64-bit address of the device that is being updated. - op_mode (
OperatingMode
, optional, default=`OperatingMode.API_MODE`) – The mode in which the frame was captured.
-
frame_id
¶ Returns the frame ID of the packet.
Returns: the frame ID of the packet. Return type: Integer
-
get_checksum
()¶ Returns the checksum value of this XBeePacket. The checksum is the last 8 bits of the sum of the bytes between the length field and the checksum field.
Returns: checksum value of this XBeePacket. Return type: Integer See also
-
get_frame_spec_data
()¶ Override method.
See also
-
get_frame_type
()¶ Returns the frame type of this packet.
Returns: the frame type of this packet. Return type: ApiFrameType
See also
-
get_frame_type_value
()¶ Returns the frame type integer value of this packet.
Returns: the frame type integer value of this packet. Return type: Integer See also
-
is_broadcast
()¶ Returns whether this packet is broadcast or not.
Returns: True if this packet is broadcast, False otherwise. Return type: Boolean
-
op_mode
¶ Retrieves the operating mode in which this packet was read.
Returns: The operating mode. Return type: OperatingMode
-
output
(escaped=False)¶ Returns the raw bytearray of this XBeePacket, ready to be send by the serial port.
Parameters: escaped (Boolean) – indicates if the raw bytearray must be escaped. Returns: raw bytearray of the XBeePacket. Return type: Bytearray
-
to_dict
()¶ Returns a dictionary with all information of the XBeePacket fields.
Returns: dictionary with all info of the XBeePacket fields. Return type: Dictionary
-
static
unescape_data
(data)¶ Un-escapes the provided bytearray data.
Parameters: data (Bytearray) – the bytearray to unescape. Returns: data unescaped. Return type: Bytearray
-
static
create_packet
(raw, operating_mode)[source]¶ Override method.
Returns: Raises: InvalidPacketException
– if the bytearray length is less than 17. (start delim. + length (2 bytes) + frame type + source 64bit addr. (8 bytes) + updater 16bit addr. (2 bytes) + receive options + bootloader message type + block number + source 64bit addr. (8 bytes) + checksum = 27 bytes).InvalidPacketException
– if the length field of ‘raw’ is different from its real length. (length field: bytes 1 and 3)InvalidPacketException
– if the first byte of ‘raw’ is not the header byte. SeeSpecialByte
.InvalidPacketException
– if the calculated checksum is different from the checksum field value (last byte).InvalidPacketException
– if the frame type is notApiFrameType.OTA_FIRMWARE_UPDATE_STATUS
.InvalidOperatingModeException
– if operating_mode is not supported.
See also
XBeeAPIPacket._check_api_packet()
-
x64bit_source_addr
¶ Returns the 64-bit source address.
Returns: the 64-bit source address. Return type: XBee64BitAddress
See also
-
x16bit_updater_addr
¶ Returns the 16-bit updater address.
Returns: the 16-bit updater address. Return type: XBee16BitAddress
See also
-
receive_options
¶ Returns the receive options bitfield.
Returns: the receive options bitfield. Return type: Integer See also
-
bootloader_msg_type
¶ Returns the bootloader message type.
Returns: the bootloader message type. Return type: EmberBootloaderMessageType
See also
-
block_number
¶ Returns the block number of the request.
Returns: the block number of the request. Return type: Integer
-
x64bit_target_addr
¶ Returns the 64-bit target address.
Returns: the 64-bit target address. Return type: XBee64BitAddress
See also
- src_address_64 (