Control Zigbee Devices (Xiaomi Aqara, Hue, Lightify, Tradfri, ...) with Node-RED via a CC253x Module. No need for proprietary bridges anymore, use devices of different vendors in one Zigbee network.
WORK IN PROGESS - nevertheless I'm happy if you're willing to test it already, feedback of any kind is highly appreciated, just use the issue tracker- As soon as the Todo list is worked off and it's considered as stable the version will be bumped to 1.0
Based on Koenkk's fork of Zigbee Shepherd. Strongly inspired by his awesome zigbee2mqtt project. All credits belong to him and the creators of the zigbee-shepherd.
- device node: pairing, removing
- device node: friendly names
- device node: output device list after devIncoming/devLeaving events
- device node: network map
- converter node
- event node: attReport
- event node: devStatus
- event node: devChange
- event node: devIncoming
- event node: devLeaving
- command node: functional cmd
- command node: foundation cmd
-
command node: read/write - bind/unbind node
- group node
- scenes node
- TBD: command node: report
- converter node: configurable topics with placeholders for incoming and outgoing msgs
- converter node: clarify endpoint usage (currently always using the first ep)
- hue node (mimic the hue bridge api)
- map devices to hue light number (tbd: configurable or automatically?)
- 1.1 Get all lights
- 1.2 TBD: Get new lights
- 1.3 TBD: Search for new lights
- 1.4 Get light attributes and state
- 1.5 TBD: Set light attributes (rename)
- 1.6 Set light state
- 1.6 Set light state ct_inc
- 1.6 Set light state hue_inc
- 1.6 Set light state sat_inc
- 1.6 Set light state convert xy values
- 1.6 Set light state response
- 1.7 TBD: Delete lights
- TBD: Groups API
- TBD: Schedules API
- TBD: Sensors API
- TBD: Rules API
- TBD: Configratuon API
- TBD: Info API
- TBD: Resourcelinks API
- TBD: Capabilities API
- TBD: announce bridge, try to make hue apps work ?
- TBD aqara node (mimic the aqara bridge api)
- documentation
see https://www.zigbee2mqtt.io/getting_started/what_do_i_need.html Ready to use firmware images are available here: https://github.com/Koenkk/Z-Stack-firmware/tree/master/coordinator
Add a "devices" Node, open it's configuration, add a "shepherd" node, configure it, close both nodes and deploy. Wait a few seconds and go to the configuration of the "devices" node again, now you should be able to pair devices. Keep an eye on Node-RED's log output.
Config node that holds the serial port and ZigBee network configuration of zigbee-shepherd. You should change the precfgkey for security reasons before pairing the first devices. I suggest to use a password manager (like e.g. KeyPass) to create and store a random key (has to be 16 Byte in uppercase hex representation (32 chars 0-9A-F).
With this node devices can be paired, removed and named. If you send a numeric value to it's input it permits joining of new devices for given seconds. If the value exceeds 254 it permits joining permanently. If it receives the value 0 joining is stopped.
This Node utilizes Koenkk's zigbee-shepherd-converters and offers payload formats as known from zigbee2mqtt. In fact most of this nodes code is taken 1:1 from zigbee2mqtt.
This node mimics the Philips Hue bridge API for ZigBee Light Link devices.
This Node outputs events as received from zigbee-shepherd.
Send a "functional" or "foundation" command to a device endpoint. Payload has to be an object containing the properties
cmdType
, ieeeAddress
, ep
, cId
, cmd
and zclData
. See
https://github.com/zigbeer/zigbee-shepherd/wiki#API_functional
MIT (c) Sebastian Raff