Skip to content

Releases: digidotcom/xbee-python

XBee Python library 1.5.0

27 Aug 14:27
Compare
Choose a tag to compare

v1.5.0 - 08/08/2024

  • Support for new hardware variants:

    • XBee 3 Cellular Global LTE Cat 1
    • XBee 3 Cellular North America LTE Cat 1
    • XBee 3 Cellular LTE-M/NB-IoT Low Power
    • XBee RR TH Pro/Non-Pro
    • XBee 3 Cellular Global Cat 4
    • XBee 3 Cellular North America Cat 4
    • XBee XR 868 TH
    • XBee XR 900 TH
    • XBee 3 BLU
  • Support to retrieve XBee statistics.

  • Send/receive explicit data in 802.15.4.
    (XBee 3 modules support this feature)

  • Firmware/profile update support for:

    • XBee RR MMT/SMT/TH Pro/Non-Pro (XBPL-384)
    • XBee XR 868 MMT/SMT/TH, local and remote (LCG-398)
    • XBee XR 900 MMT/SMT/TH, local and remote (LCG-398)
    • XBee 3 BLU, local (XBPL-391)
  • Support for sending BLE Generic Access Profile (GAP) scans.
    (Only XBee 3 BLU modules support this feature) (XBPL-391)

  • Remove pysrp dependency.

    The library includes support to generate salt and verifier required to configure $S, $V, $W, $X, and $Y XBee parameters to
    establish Bluetooth password.

  • Bug fixing:

    • Fix TransmitOptions.ENABLE_UNICAST_TRACE_ROUTE value.
    • Python 3.10 compatibility: Fix removed deprecated collections module.
      See collections.abc, Removed, and Changes in the Python API sections at What’s New In Python 3.10.
      (DAL-5918)
    • Fix order of nodes when creating a Zigbee source route (#278)
    • Firmware update: Do not check XBee region for 'skip' code in XML firmware file (XBPL-394)
    • Salt/verifier generation using pysrp was not working with certain passwords (see cocagne/pysrp#55)
      Solved by removing pysrp dependency and implementing the code to generate them.
    • Several minor bug fixes.

Full Changelog: 1.4.1...1.5.0

XBee Python library 1.4.1

22 Dec 13:00
Compare
Choose a tag to compare

v1.4.1 - 12/22/2021

  • Support for new hardware variants:

    • XBee 3 Cellular LTE-M/NB-IoT (Telit)
    • XBee 3 Reduced RAM
    • S2C P5
    • XB3-DMLR
    • XB3-DMLR868
  • OTA firmware update:

  • XBee Cellular:

    • Do not work with network if the XBee does not support it (XBPL-374)
    • Fix creation of IMEI when reading cellular information.
  • Support to update a bunch of nodes at the same time (DAL-5285)

  • Documentation:

    • Add info about the force_settings parameter of open method (#241)
    • Add missing exportutils module to documentation.
  • Set exclusive access mode to the XBee serial port (#222, #252)

  • Do not stop frames reader if a serial buffer empty exception occurs (#222, #252)

  • Do not use 'os.path.join()' for relative paths of zip entries (#247)

  • Fix bad conditions when checking for a received packet (#242)

  • Fix attribute name in find neighbors debug message (#122)

  • Fix remote firmware update issue with binary file on SX devices.

  • Fix protocol change issues during firmware update operation on SX devices.

  • Do not reconfigure SP and SN values after a firmware update operation in P2MP protocol.

  • Add new method to update salt and verifier values of Bluetooth password SRP authentication.

  • Several minor bug fixes.

XBee Python library 1.4.0

18 Mar 17:53
Compare
Choose a tag to compare

v1.4.0 - 03/18/2021

  • Deep node discovery for Zigbee, DigiMesh, and 802.15.4.

  • Get route from local XBee to a remote XBee:

    • New method to register a callback to listen for new received routes (add_route_received_callback())
    • New blocking method to ask for the route to the remote node (get_route_to_node())
  • Allow to recover a local node from a profile not only from firmware.

  • Support to be notified when new frames are received from a specific node (add_packet_received_from_callback()).

  • Update network information from sent/received AT Command frames.

  • New optional argument for parameter value in execute_command().

  • New optional argument to apply pending settings in get_parameter(), set_parameter(), and execute_command().

  • XBee 3:

    • Support to update remote file system OTA images.
  • XBee SX 900/868:

    • Firmware update for local and remote XBee devices.
    • Profile update for local and remote XBee devices.
  • XBee S2C:

    • OTA firmware/profile update support for remote nodes.
  • Zigbee:

    • Methods to get nodes routing and neighbor tables: get_routes() and get_neighbors().
    • Methods to get/set many-to-one broadcasting time:
      get_many_to_one_broadcasting_time() and
      set_many_to_one_broadcasting_time().
    • Support for source route creation: create_source_route().
    • New frames:
      • 'Route Record Indicator' (0xA1)
      • 'Create Source Route Packet' (0x21)
  • DigiMesh:

    • Method to get node neighbors: get_neighbors().
    • Method to build aggregate route: build_aggregate_routes().
    • New frames:
      • 'Route Information Packet' (0x8D)
  • Documentation update

  • Bug fixing:

    • Captured possible exception while determining the XBee role (#103)

    • Memory leak: empty list of last discovered nodes using ND (#172)

    • Fix Python 3.9 syntax error (#204)

    • Use least significant nibble of status field in local/remote AT Command Responses (XCTUNG-376)

    • Do not lose already registered socket callbacks when closing a local XBee.

    • Reload node information after firmware/profile update (XBPL-348)

    • OTA firmware update:

      • Fix sequence number in ZCL responses during fw update (XCTUNG-1975)
      • Immediate update after transferring the OTA file (XBPL-350)
      • Use requested file offset and size instead of fixed chunks (XBPL-344)
      • Mechanism to calculate the proper block size based on the maximum size received by the client and the maximum payload size (XBPL-346)
      • For asyncronous sleeping nodes (Zigbee, DigiMesh, 802.15.4) and synchronous sleeping networks (DigiMesh), configure a minimum sleep time before update and restore settings at the end.
        For DigiMesh synchronous sleeping network, the local XBee must be a non-sleeping node but synchronized with the network (SM=7)
    • Profile application:

      • Do not uncompress profile when reading its information. This change avoids extra processing time and required space when retrieving profile info.
      • Remove profile extracted files. A profile is opened to access to its contents, and must be closed when done with it.
      • Fixed the application of XBee profiles with 'AP' setting changes (XBPL-340)
      • Fixed bootloader update from profile due to bootloader image path mismatch (XBPL-338)
      • Fix bootloader update operation by waiting some time until the new bootloader is running (XBPL-339)
      • Fixed application of profile with filesystem from Windows(XBPL-341)
      • Read firmware version as an hexadecimal value (#177)
    • Several minor bug fixes.

XBee Python library 1.3.0

12 Nov 16:26
Compare
Choose a tag to compare

v1.3.0 - 11/12/2019

  • Zigbee: Support to register joining devices to a trust center.
  • Cellular: XBee TCP/UDP socket support.
  • XBee 3:
    • Firmware update for local and remote XBee devices.
    • Profile update for local and remote XBee devices.
    • File system management for local XBee devices.
  • New recover serial connection functionality to force the XBee serial connection settings.
  • Support for notification of network cache modifications events (new node added, removed of existing node, network clear, ...)
  • Deprecate get_api_output_mode and set_api_output_mode methods to use new get_api_output_mode_value and set_api_output_mode_value with APIOutputModeBit enumeration.
  • Role as one of the cached parameters.
  • Report an error on 'finished discovery' callback if node discovery fails.
  • Several minor bug fixes.

XBee Python library 1.2.0

09 Jul 16:30
Compare
Choose a tag to compare

v1.2.0 - 07/05/2019

  • Add new methods to send and receive data from other XBee interfaces through
    User Data Relay frames.
  • Add new methods to manage the Bluetooth interface.
  • Add support to set AT parameters without applying them with the AT Command
    Queue packet.
  • Improve the callbacks mechanism:
    • Callbacks are now executed in parallel.
    • Internal callbacks are now defined when needed to avoid issues when more
      than one callback of the same type is defined.
  • Add missing 'Transmit Status', 'Modem Status' and 'Cellular Association
    Indication Status' values to cover all XBee Cellular/XBee3 Cellular features.
  • Bug Fixing:
    • Fix some bugs related to package spec data.
    • Log an error when processing a wrong frame instead of stopping the reader.
    • Fix an issue parsing Explicit RX Indicator packets.
    • Fix a couple of leaks with StreamHandlers.

XBee Python library 1.1.1

25 Apr 10:01
Compare
Choose a tag to compare

v1.1.1 - 04/25/2018

  • Add support for DigiMesh and 802.15.4 protocols on XBee3 modules.
  • Return an unknown XBee packet when the received packet is not supported by
    the library instead of raising an exception.
  • Change logging handler to log messages in the console.
  • Bug Fixing:
    • Fix a problem when closing the device connection in the reader.
    • Fix how is determined whether the module has entered in AT command mode
      or not.
    • Fix the string encoding and decoding in some API packets.
    • Fix the message displayed when the XBee device protocol is not correct one.

XBee Python library 1.1.0

23 Jan 09:36
Compare
Choose a tag to compare

v1.1.0 - 01/19/2018

  • Add support for new hardware variants:
    • XB8X
  • Add missing 'Modem Status' values for Remote Manager connect and disconnect
    events.
  • Bug Fixing:
    • Fix timeouts on Unix plaforms.
    • Fix the return source endpoint method from the 'ExplicitRXIndicatorPacket'
      class.
    • Perform general bug fixing when working in API escaped mode.

XBee Python library 1.0.0

31 Oct 15:58
Compare
Choose a tag to compare

v1.0.0 - 10/31/2017

Initial release of XBee Python library. The main features of the library
include:

  • Support for ZigBee, 802.15.4, DigiMesh, Point-to-Multipoint, Wi-Fi,
    Cellular and NB-IoT devices.
  • Support for API and API escaped operating modes.
  • Management of local (attached to the PC) and remote XBee device objects.
  • Discovery of remote XBee devices associated with the same network as the
    local device.
  • Configuration of local and remote XBee devices:
    • Configure common parameters with specific setters and getters.
    • Configure any other parameter with generic methods.
    • Execute AT commands.
    • Apply configuration changes.
    • Write configuration changes.
    • Reset the device.
  • Transmission of data to all the XBee devices on the network or to a
    specific device.
  • Reception of data from remote XBee devices:
    • Data polling.
    • Data reception callback.
  • Transmission and reception of IP and SMS messages.
  • Reception of network status changes related to the local XBee device.
  • IO lines management:
    • Configure IO lines.
    • Set IO line value.
    • Read IO line value.
    • Receive IO data samples from any remote XBee device on the network.
  • Support for explicit frames and application layer fields (Source endpoint,
    Destination endpoint, Profile ID, and Cluster ID).
  • Multiple examples that show how to use the available APIs.