digi.xbee.models.message module

class digi.xbee.models.message.XBeeMessage(data, remote_node, timestamp, broadcast=False)[source]

Bases: object

This class represents a XBee message, which is formed by a RemoteXBeeDevice (the sender) and some data (the data sent) as a bytearray.

Class constructor.

Parameters:
  • data (Bytearray) – the data sent.
  • remote_node (RemoteXBeeDevice) – the sender.
  • broadcast (Boolean, optional, default=`False`) – flag indicating whether the message is broadcast (True) or not (False). Optional.
  • timestamp – instant of time when the message was received.
data

Returns a bytearray containing the data of the message.

Returns:the data of the message.
Return type:Bytearray
remote_device

Returns the device which has sent the message.

Returns:the device which has sent the message.
Return type:RemoteXBeeDevice
is_broadcast

Returns whether the message is broadcast or not.

Returns:True if the message is broadcast, False otherwise.
Return type:Boolean
timestamp

Returns the moment when the message was received as a time.time() function returned value.

Returns:
the returned value of using time.time() function
when the message was received.
Return type:Float
to_dict()[source]

Returns the message information as a dictionary.

class digi.xbee.models.message.ExplicitXBeeMessage(data, remote_node, timestamp, src_endpoint, dest_endpoint, cluster_id, profile_id, broadcast=False)[source]

Bases: digi.xbee.models.message.XBeeMessage

This class represents an Explicit XBee message, which is formed by all parameters of a common XBee message and: Source endpoint, destination endpoint, cluster ID, profile ID.

Class constructor.

Parameters:
  • data (Bytearray) – the data sent.
  • remote_node (RemoteXBeeDevice) – the sender device.
  • timestamp – instant of time when the message was received.
  • src_endpoint (Integer) – source endpoint of the message. 1 byte.
  • dest_endpoint (Integer) – destination endpoint of the message. 1 byte.
  • cluster_id (Integer) – cluster id of the message. 2 bytes.
  • profile_id (Integer) – profile id of the message. 2 bytes.
  • broadcast (Boolean, optional, default=`False`) – flag indicating whether the message is broadcast (True) or not (False). Optional.
source_endpoint

Returns the source endpoint of the message.

Returns:the source endpoint of the message. 1 byte.
Return type:Integer
dest_endpoint

Returns the destination endpoint of the message.

Returns:the destination endpoint of the message. 1 byte.
Return type:Integer
cluster_id

Returns the cluster ID of the message.

Returns:the cluster ID of the message. 2 bytes.
Return type:Integer
profile_id

Returns the profile ID of the message.

Returns:the profile ID of the message. 2 bytes.
Return type:Integer
to_dict()[source]

Returns the message information as a dictionary.

data

Returns a bytearray containing the data of the message.

Returns:the data of the message.
Return type:Bytearray
is_broadcast

Returns whether the message is broadcast or not.

Returns:True if the message is broadcast, False otherwise.
Return type:Boolean
remote_device

Returns the device which has sent the message.

Returns:the device which has sent the message.
Return type:RemoteXBeeDevice
timestamp

Returns the moment when the message was received as a time.time() function returned value.

Returns:
the returned value of using time.time() function
when the message was received.
Return type:Float
class digi.xbee.models.message.IPMessage(ip_addr, src_port, dest_port, protocol, data)[source]

Bases: object

This class represents an IP message containing the IP address the message belongs to, the source and destination ports, the IP protocol, and the content (data) of the message.

Class constructor.

Parameters:
  • ip_addr (ipaddress.IPv4Address) – The IP address the message comes from.
  • src_port (Integer) – TCP or UDP source port of the transmission.
  • dest_port (Integer) – TCP or UDP destination port of the transmission.
  • protocol (IPProtocol) – IP protocol used in the transmission.
  • data (Bytearray) – the data sent.
Raises:
  • ValueError – if ip_addr is None.
  • ValueError – if protocol is None.
  • ValueError – if data is None.
  • ValueError – if source_port is less than 0 or greater than 65535.
  • ValueError – if dest_port is less than 0 or greater than 65535.
ip_addr

Returns the IPv4 address this message is associated to.

Returns:The IPv4 address this message is associated to.
Return type:ipaddress.IPv4Address
source_port

Returns the source port of the transmission.

Returns:The source port of the transmission.
Return type:Integer
dest_port

Returns the destination port of the transmission.

Returns:The destination port of the transmission.
Return type:Integer
protocol

Returns the protocol used in the transmission.

Returns:The protocol used in the transmission.
Return type:IPProtocol
data

Returns a bytearray containing the data of the message.

Returns:the data of the message.
Return type:Bytearray
to_dict()[source]

Returns the message information as a dictionary.

class digi.xbee.models.message.SMSMessage(phone_number, data)[source]

Bases: object

This class represents an SMS message containing the phone number that sent the message and the content (data) of the message.

This class is used within the library to read SMS sent to Cellular devices.

Class constructor. Instantiates a new SMSMessage object with the provided parameters.

Parameters:
  • phone_number (String) – The phone number that sent the message.
  • data (String) – The message text.
Raises:
  • ValueError – if phone_number is None.
  • ValueError – if data is None.
  • ValueError – if phone_number is not a valid phone number.
phone_number

Returns the phone number that sent the message.

Returns:The phone number that sent the message.
Return type:String
data

Returns the data of the message.

Returns:The data of the message.
Return type:String
to_dict()[source]

Returns the message information as a dictionary.

class digi.xbee.models.message.UserDataRelayMessage(local_iface, data)[source]

Bases: object

This class represents a user data relay message containing the source interface and the content (data) of the message.

Class constructor. Instantiates a new UserDataRelayMessage object with the provided parameters.

Parameters:
  • local_iface (XBeeLocalInterface) – The source XBee local interface.
  • data (Bytearray) – Byte array containing the data of the message.
Raises:

ValueError – if relay_interface is None.

local_interface

Returns the source interface that sent the message.

Returns:The source interface that sent the message.
Return type:XBeeLocalInterface
data

Returns the data of the message.

Returns:The data of the message.
Return type:Bytearray
to_dict()[source]

Returns the message information as a dictionary.