Getting Started as a Developer

The Unify Developer Guide contains a lot of useful information for Unify developers.

The Unify Build Guide is the best starting point for working with the source code.

The Unify User Guide contains helpful tips on debugging within Unify.

Development Platform Recommendations

The Unify reference platform is a Raspberry Pi 4 however it is understood that users may not wish to run on a Raspberry Pi in a final product. Porting to Debian based linux should be straightforward.

System requirements for flash, RAM, and dependencies are listed at here

Developing IoT Services

The IoT or cloud connector must use UCL (MQTT) to communicate with the other components of Unify. See How to Develop an IoT service Unify uses MQTT to communicate among each component using the Mosquitto MQTT broker. UCL is the format of the MQTT messages. The Unify Framework Specification contains the definitions for UCL.

Also see UCL MQTT API

Developing EED

See Building EED on how to build EED. The section also has some useful notes for developers interested in updating EED.

Developing protocol controllers

See How to Develop a Protocol Controller

The attribute mapper helps to translate protocol commands to UCL MQTT messages. See How to write UAM files

Extend UCL clusters to non-zigbee controllers

Refer related chapter in Z-Wave-Protocol-Controller documentation