Coder Social home page Coder Social logo

texvek / elelabs-zigbee-ezsp-utility Goto Github PK

View Code? Open in Web Editor NEW

This project forked from elelabs/elelabs-zigbee-ezsp-utility

0.0 0.0 0.0 528 KB

Elelabs Zigbee EZSP Utility to perform firmware update on a range of Elelabs EZSP products as well as other generic EZSP adapters.

License: Apache License 2.0

Python 100.00%

elelabs-zigbee-ezsp-utility's Introduction

Elelabs logo


What is Elelabs EZSP Firmware Update Utility?

The Elelabs EZSP Firmware Update Utility is a basic Python 3 script to flash the the firmware inside a range of Elelabs Zigbee products to a newer (or older) version.

Currently sold supported products based on Silicon Labs microcontrollers:

Previously sold supported products based on Silicon Labs microcontrollers:

  • Elelabs Zigbee Raspberry Pi Shield ELR022 (EFR32MG1B Silicon Labs MCU inside)
  • Elelabs Zigbee USB Adapter ELU012 (EFR32MG1B Silicon Labs MCU inside)
  • Elelabs Zigbee Raspberry Pi Shield EZBPIS (EM357 Silicon Labs MCU inside) TODO
  • Elelabs Zigbee USB Adapter EZBUSBA (EM357 Silicon Labs MCU inside) TODO

Disclaimer: This utility should also work with other generic EZSP (EmberZNet Serial Protocol) based adapters and modules from other vendors, however firmwares for products not from Elelabs are not provided here and there is no guarantees that that it will work with non-Elelabs products. Be wanted that you may void your warranty and even brick your adapter if the firmware update is not supported by your mnaufacturer.

Getting Started

  • Download or clone the repository
  • Get your Python3 ready
  • Install the required packages using the pip utility
pip3 install -r requirements.txt
  • Connect your Elelabs Zigbee EZSP Product to your PC or Raspberry Pi

  • Find out the Serial port number of the Elelabs Zigbee EZSP Product

    • For Raspberry Pi Shield it is probably /dev/ttyAMA0
    • For USB Adapter on a Linux PC or Raspberry Pi it is probably /dev/ttyUSB0 (the number 0 may be different)
    • For USB Adapter on a Windows PC it is probably COM1 (the number 1 may be different)
  • Launch the probe command to check if everything is working as expected

python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyUSB0

Elelabs Zigbee EZSP utility probe

How to

ele_update – Switch Elelabs Zigbee Products between EZSP v6 and v8

only for Elelabs products

The ele_update is the easiest way of updating Elelabs Zigbee EZSP Products to a newer version of the EZSP protocol. The firmware update files are stored in the same repository and are automatically selected by the utility itself.

Switch to EZSP v8

python3 Elelabs_EzspFwUtility.py ele_update -v v8 -p /dev/ttyS6

Elelabs Zigbee EZSP utility ele_update v8

Switch to EZSP v6

python3 Elelabs_EzspFwUtility.py ele_update -v v6 -p /dev/ttyS6

Elelabs Zigbee EZSP utility ele_update v6

probe – Check the version of the connected generic EZSP product

for any EZSP product

The probe is used to detect the version of the connected EZSP product or to detect if the product is in bootloader mode.

python3 Elelabs_EzspFwUtility.py probe -p /dev/ttyS6

Product in normal EZSP mode

Elelabs Zigbee EZSP utility probe

Product in bootloader mode

Elelabs Zigbee EZSP utility probe

restart – Restart the connected generic EZSP product in Normal EZSP mode or in Bootloader mode

for any EZSP product

The restart is used to probe the connected EZSP product and restart it in normal or in bootloader mode. The normal mode is regular EZSP operation. The bootloader mode is used only for the firmware update.

Switch from Normal mode to Bootloader mode

python3 Elelabs_EzspFwUtility.py restart -m btl -p /dev/ttyS6

Elelabs Zigbee EZSP utility restart bootloader

Switch from Bootloader mode to Normal mode

python3 Elelabs_EzspFwUtility.py restart -m nrml -p /dev/ttyS6

Elelabs Zigbee EZSP utility restart normal

flash – Perform Firmware Update on the generic EZSP product

for any EZSP product

The flash is used to restart the connected EZSP product in bootloader mode and perform Firmware Update using XMODEM protocol. You need to provide an actual file for this utility. !!BE CAREFULL!! as this might damage or 'brick' your product.

python3 Elelabs_EzspFwUtility.py flash -f YOUR_NEW_EZSP_FIRMWARE_FILE.gbl -p /dev/ttyS6

Recover

If for some reason the update or flash utility failed and your product is no longer responding.

  1. probe the EZSP adapter as described. Most probably it is now in the Bootloader mode
  2. try to restart the EZSP adapter in nrml mode. If success -> your product is working now
  3. try to flash the EZSP adapter with the firmware file. If the product is in btl mode it will probably work
  4. contact Elelabs: info at elelabs.com

Integration

For integration with OpenHAB please see our our OpenHAB user guide.

For integration with Home Assistant see our Home Assistant user guide. Please note if you are using the EZSP v8 firmware you will also have to add the following to your configuration.yaml for the Home Assistant ZHA integration to load successfully.

zha:
  zigpy_config:
    ezsp_config:
      CONFIG_APS_UNICAST_MESSAGE_COUNT: 12
      CONFIG_SOURCE_ROUTE_TABLE_SIZE: 16
      CONFIG_ADDRESS_TABLE_SIZE: 8

elelabs-zigbee-ezsp-utility's People

Contributors

hedda avatar nilsbohr avatar walthowd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.