digi.xbee.models.zdo package
- class digi.xbee.models.zdo.NodeDescriptorReader(xbee, configure_ao=True, timeout=20)[source]
Bases:
_ZDOCommandThis class performs a node descriptor read of the given XBee using a ZDO command.
The node descriptor read works only with Zigbee devices in API mode.
Class constructor. Instantiates a new
NodeDescriptorReaderobject with the provided parameters.- Parameters:
(class (xbee) – .XBeeDevice or class:.RemoteXBeeDevice): XBee to send the command.
configure_ao (Boolean, optional, default=`True`) – True to set AO value before and after executing, False otherwise.
timeout (Float, optional, default=`.__DEFAULT_TIMEOUT`) – The ZDO command timeout in seconds.
- Raises:
ValueError – If xbee is None.
ValueError – If cluster_id, receive_cluster_id, or timeout are less than 0.
TypeError – If the xbee is not a .XBeeDevice or a RemoteXBeeDevice.
- get_node_descriptor()[source]
Returns the descriptor of the node.
- Returns:
The node descriptor.
- Return type:
- property error
Returns the error string if any.
- Returns:
The error string.
- Return type:
String
- property running
Returns if this ZDO command is running.
- Returns:
True if it is running, False otherwise.
- Return type:
Boolean
- stop()
Stops the ZDO command process if it is running.
- class digi.xbee.models.zdo.NodeDescriptor(role, complex_desc_supported, user_desc_supported, freq_band, mac_capabilities, manufacturer_code, max_buffer_size, max_in_transfer_size, max_out_transfer_size, desc_capabilities)[source]
Bases:
objectThis class represents a node descriptor of an XBee.
Class constructor. Instantiates a new
NodeDescriptorobject with the provided parameters.- Parameters:
role (
Role) – The device role.complex_desc_supported (Boolean) – True if the complex descriptor is supported.
user_desc_supported (Boolean) – True if the user descriptor is supported.
freq_band (List) – Byte array with the frequency bands.
mac_capabilities (List) – Byte array with MAC capabilities.
manufacturer_code (Integer) – The manufacturer’s code assigned by the Zigbee Alliance.
max_buffer_size (Integer) – Maximum size in bytes of a data transmission.
max_in_transfer_size (Integer) – Maximum number of bytes that can be received by the node.
max_out_transfer_size (Integer) – Maximum number of bytes that can be transmitted by the node.
desc_capabilities (List) – Byte array with descriptor capabilities.
- property role
Gets the role in this node descriptor.
- Returns:
The role of the node descriptor.
- Return type:
See also
- property complex_desc_supported
Gets if the complex descriptor is supported.
- Returns:
True if supported, False otherwise.
- Return type:
Boolean
- property user_desc_supported
Gets if the user descriptor is supported.
- Returns:
True if supported, False otherwise.
- Return type:
Boolean
- property freq_band
Gets the frequency bands (LSB - bit0- index 0, MSB - bit4 - index 4): * Bit0: 868 MHz * Bit1: Reserved * Bit2: 900 MHz * Bit3: 2.4 GHz * Bit4: Reserved
- Returns:
List of integers with the frequency bands bits.
- Return type:
List
- property mac_capabilities
Gets the MAC capabilities (LSB - bit0- index 0, MSB - bit7 - index 7): * Bit0: Alternate PAN coordinator * Bit1: Device Type * Bit2: Power source * Bit3: Receiver on when idle * Bit4-5: Reserved * Bit6: Security capability * Bit7: Allocate address
- Returns:
List of integers with MAC capabilities bits.
- Return type:
List
- property manufacturer_code
Gets the manufacturer’s code assigned by the Zigbee Alliance.
- Returns:
The manufacturer’s code.
- Return type:
Integer
- property max_buffer_size
Gets the maximum size in bytes of a data transmission (including APS bytes).
- Returns:
Maximum size in bytes.
- Return type:
Integer
- property max_in_transfer_size
Gets the maximum number of bytes that can be received by the node.
- Returns:
Maximum number of bytes that can be received by the node.
- Return type:
Integer
- property max_out_transfer_size
Gets the maximum number of bytes that can be transmitted by the node, including fragmentation.
- Returns:
Maximum number of bytes that can be transmitted by the node.
- Return type:
Integer
- property desc_capabilities
Gets the descriptor capabilities (LSB - bit0- index 0, MSB - bit1 - index 1): * Bit0: Extended active endpoint list available * Bit1: Extended simple descriptor list available
- Returns:
List of integers with descriptor capabilities bits.
- Return type:
List
- class digi.xbee.models.zdo.RouteTableReader(xbee, configure_ao=True, timeout=20)[source]
Bases:
_ZDOCommandThis class performs a route table read of the given XBee using a ZDO command.
The node descriptor read works only with Zigbee devices in API mode.
Class constructor. Instantiates a new
RouteTableReaderobject with the provided parameters.- Parameters:
(class (xbee) – .XBeeDevice or class:.RemoteXBeeDevice): XBee to send the command.
configure_ao (Boolean, optional, default=`True`) – True to set AO value before and after executing, False otherwise.
timeout (Float, optional, default=`.DEFAULT_TIMEOUT`) – The ZDO command timeout in seconds.
- Raises:
ValueError – If xbee is None.
ValueError – If cluster_id, receive_cluster_id, or timeout are less than 0.
TypeError – If the xbee is not a .XBeeDevice or a .RemoteXBeeDevice.
- get_route_table(route_cb=None, finished_cb=None)[source]
Returns the routes of the XBee. If route_cb is not defined, the process blocks until the complete routing table is read.
- Parameters:
route_cb (Function, optional, default=`None`) –
Method called when a new route is received. Receives two arguments:
The XBee that owns this new route.
The new route.
finished_cb (Function, optional, default=`None`) –
Method to execute when the process finishes. Receives three arguments:
The XBee that executed the ZDO command.
A list with the discovered routes.
An error message if something went wrong.
- Returns:
- List of
Routewhen route_cb is not defined, None otherwise (in this case routes are received in the callback).
- List of
- Return type:
List
See also
- property error
Returns the error string if any.
- Returns:
The error string.
- Return type:
String
- property running
Returns if this ZDO command is running.
- Returns:
True if it is running, False otherwise.
- Return type:
Boolean
- stop()
Stops the ZDO command process if it is running.
- class digi.xbee.models.zdo.RouteStatus(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumEnumerates the available route status.
- property id
Returns the identifier of the RouteStatus.
- Returns:
RouteStatus identifier.
- Return type:
Integer
- property name
Returns the name of the RouteStatus.
- Returns:
RouteStatus name.
- Return type:
String
- class digi.xbee.models.zdo.Route(destination, next_hop, status, is_low_memory, is_many_to_one, is_route_record_required)[source]
Bases:
objectThis class represents a Zigbee route read from the route table of an XBee.
Class constructor. Instantiates a new
Routeobject with the provided parameters.- Parameters:
destination (
XBee16BitAddress) – 16-bit destination address of the route.next_hop (
XBee16BitAddress) – 16-bit address of the next hop.status (
RouteStatus) – Status of the route.is_low_memory (Boolean) – True to indicate if the device is a low-memory concentrator.
is_many_to_one (Boolean) – True to indicate the destination is a concentrator.
is_route_record_required (Boolean) – True to indicate a route record message should be sent prior to the next data transmission.
See also
- property destination
Gets the 16-bit address of this route destination.
- Returns:
16-bit address of the destination.
- Return type:
See also
- property next_hop
Gets the 16-bit address of this route next hop.
- Returns:
16-bit address of the next hop.
- Return type:
See also
- property status
Gets this route status.
- Returns:
The route status.
- Return type:
See also
- property is_low_memory
Gets whether the device is a low-memory concentrator.
- Returns:
True if the device is a low-memory concentrator, False otherwise.
- Return type:
Boolean
- property is_many_to_one
Gets whether the destination is a concentrator.
- Returns:
True if destination is a concentrator, False otherwise.
- Return type:
Boolean
- property is_route_record_required
Gets whether a route record message should be sent prior the next data transmission.
- Returns:
True if a route record message should be sent, False otherwise.
- Return type:
Boolean
- class digi.xbee.models.zdo.NeighborTableReader(xbee, configure_ao=True, timeout=20)[source]
Bases:
_ZDOCommandThis class performs a neighbor table read of the given XBee using a ZDO command.
The node descriptor read works only with Zigbee devices in API mode.
Class constructor. Instantiates a new
NeighborTableReaderobject with the provided parameters.- Parameters:
(class (xbee) – .XBeeDevice or class:.RemoteXBeeDevice): XBee to send the command.
configure_ao (Boolean, optional, default=`True`) – True to set AO value before and after executing, False otherwise.
timeout (Float, optional, default=`.DEFAULT_TIMEOUT`) – The ZDO command timeout in seconds.
- Raises:
ValueError – If xbee is None.
ValueError – If cluster_id, receive_cluster_id, or timeout are less than 0.
TypeError – If the xbee is not a .XBeeDevice or a .RemoteXBeeDevice.
- get_neighbor_table(neighbor_cb=None, finished_cb=None)[source]
Returns the neighbors of the XBee. If neighbor_cb is not defined, the process blocks until the complete neighbor table is read.
- Parameters:
neighbor_cb (Function, optional, default=`None`) –
Method called when a new neighbor is received. Receives two arguments:
The XBee that owns this new neighbor.
The new neighbor.
finished_cb (Function, optional, default=`None`) –
Method to execute when the process finishes. Receives three arguments:
The XBee that executed the ZDO command.
A list with the discovered neighbors.
An error message if something went wrong.
- Returns:
- List of
Neighborwhen neighbor_cb is not defined, None otherwise (in this case neighbors are received in the callback)
- List of
- Return type:
List
See also
- property error
Returns the error string if any.
- Returns:
The error string.
- Return type:
String
- property running
Returns if this ZDO command is running.
- Returns:
True if it is running, False otherwise.
- Return type:
Boolean
- stop()
Stops the ZDO command process if it is running.
- class digi.xbee.models.zdo.NeighborRelationship(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumEnumerates the available relationships between two nodes of the same network.
- property id
Returns the identifier of the NeighborRelationship.
- Returns:
NeighborRelationship identifier.
- Return type:
Integer
- property name
Returns the name of the NeighborRelationship.
- Returns:
NeighborRelationship name.
- Return type:
String
- class digi.xbee.models.zdo.Neighbor(node, relationship, depth, lq)[source]
Bases:
objectThis class represents a Zigbee or DigiMesh neighbor.
This information is read from the neighbor table of a Zigbee XBee, or provided by the ‘FN’ command in a Digimesh XBee.
Class constructor. Instantiates a new
Neighborobject with the provided parameters.- Parameters:
node (
RemoteXBeeDevice) – The neighbor node.relationship (
NeighborRelationship) – The relationship of this neighbor with the node.depth (Integer) – The tree depth of the neighbor. A value of 0 indicates the device is a Zigbee coordinator for the network. -1 means this is unknown.
lq (Integer) – The estimated link quality (LQI or RSSI) of data transmission from this neighbor.
See also
- property node
Gets the neighbor node.
- Returns:
The node itself.
- Return type:
See also
- property relationship
Gets the neighbor node.
- Returns:
The neighbor relationship.
- Return type:
See also
- property depth
Gets the tree depth of the neighbor.
- Returns:
The tree depth of the neighbor.
- Return type:
Integer
- property lq
Gets the estimated link quality (LQI or RSSI) of data transmission from this neighbor.
- Returns:
The estimated link quality of data transmission from this neighbor.
- Return type:
Integer
- class digi.xbee.models.zdo.NeighborFinder(xbee, timeout=20)[source]
Bases:
objectThis class performs a find neighbors (FN) of an XBee. This action requires an XBee and optionally a find timeout.
The process works only in DigiMesh.
Class constructor. Instantiates a new
NeighborFinderobject with the provided parameters.- Parameters:
(class (xbee) – .XBeeDevice or class:.RemoteXBeeDevice): The XBee to get neighbors from.
timeout (Float) – The timeout for the process in seconds.
- Raises:
OperationNotSupportedException – If the process is not supported in the XBee.
TypeError – If the xbee is not a .AbstractXBeeDevice.
ValueError – If xbee is None.
ValueError – If timeout is less than 0.
- property running
Returns whether this find neighbors process is running.
- Returns:
True if it is running, False otherwise.
- Return type:
Boolean
- property error
Returns the error string if any.
- Returns:
The error string.
- Return type:
String
- get_neighbors(neighbor_cb=None, finished_cb=None)[source]
Returns the neighbors of the XBee. If neighbor_cb is not defined, the process blocks until the complete neighbor table is read.
- Parameters:
neighbor_cb (Function, optional, default=`None`) –
Method called when a new neighbor is received. Receives two arguments:
The XBee that owns this new neighbor.
The new neighbor.
finished_cb (Function, optional, default=`None`) –
Method to execute when the process finishes. Receives three arguments:
The XBee that executed the FN command.
A list with the discovered neighbors.
An error message if something went wrong.
- Returns:
- List of
Neighborwhen neighbor_cb is not defined, None otherwise (in this case neighbors are received in the callback)
- List of
- Return type:
List
See also