Tags: MQTT, Control4
Objective: Create a Control4 Driver that allows to control of multiple Zigbee lighting devices such as light bulbs and LED Controllers, providing RGB CW/WW control, Advanced Scenes functionality, and Grouping.
Stack: Control4, MQTT
Programming Languages: Lua
Approach: First I have completed the Control4 Training Course focused on the development of Control4 drivers. After getting my certification, I created a mock-up driver in order to get more insights into certain parts of the driver that are not extensively documented. After testing various cases, I started developing the user interface of the driver (Proxies, Events, Properties, etc.) and connected them to the internal layer that represents the business logic of the driver (a series of abstract Lua classes). I then implemented an MQTT client inside the Control4 driver. Finally, I hardcoded all the MQTT messages required to properly control the lighting devices and implemented the connection between all the internal layers of the driver. After exhaustive testing from Control4’s engineers, the driver has received its certification and it’s publicly available.