A Python 3 project to implement EZSP for EmberZNet devices
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bellows Don't use deprecated log methods. (#138) Jan 2, 2019
tests Broadcast unicast join (#136) Dec 20, 2018
.coveragerc Add coveralls support Feb 19, 2017
.gitignore Remove zigbee code Feb 5, 2018
.travis.yml Run travis tests on Python 3.7 (#131) Sep 3, 2018
COPYING Add GPL 3 license Apr 26, 2017
LICENSE Add GPL 3 license Apr 26, 2017
README.md 0.4.0 -> 0.5.0 Feb 5, 2018
setup.py 0.6.0 -> 0.7.0 (#133) Sep 4, 2018
tox.ini Broadcast unicast join (#136) Dec 20, 2018

README.md

bellows

Build Status Coverage

bellows is a Python 3 project to implement support for EmberZNet devices using the EZSP protocol.

The goal is to use this project to add support for the ZigBee Network Coprocessor (NCP) in devices like the Linear/Nortek/GoControl HubZ/QuickStick Combo (HUSBZB-1) device to Home Assistant.

Status

This project is in early stages, so it is likely that APIs will change.

Currently implemented features are:

  • EZSP UART Gateway Protocol
  • EZSP application protocol
  • CLI wrapping basic ZigBee network operations (eg, scanning and forming a network)
  • ZDO functionality (with CLI)
  • ZCL functionality (with CLI)
  • An application framework with device state persistence

An example use of the CLI:

$ export EZSP_DEVICE=/dev/ttyUSB1
$ bellows devices
Device:
  NWK: 0x1ee4
  IEEE: 00:0d:6f:00:05:7d:2d:34
  Endpoints:
    1: profile=0x104, device_type=None, clusters=[0, 1, 3, 32, 1026, 1280, 2821]
    2: profile=0xc2df, device_type=None, clusters=[0, 1, 3, 2821]
Device:
  NWK: 0x64a6
  IEEE: d0:52:a8:00:e0:be:00:05
  Endpoints:
    1: profile=0x104, device_type=None, clusters=[0]
    2: profile=0xfc01, device_type=None, clusters=[]
$ bellows zdo 00:0d:6f:00:05:7d:2d:34 get_endpoint 1
<SimpleDescriptor endpoint=1 profile=260 device_type=1026 device_version=0 input_clusters=[0, 1, 3, 32, 1026, 1280, 2821] output_clusters=[25]>
$ bellows zcl 00:0d:6f:00:05:7d:2d:34 1 1026 read_attribute 0
0=1806

Reference documentation