I have created some PCB’s and libraries which allow you to easily create your own custom devices that will work with Zigbee2MQTT by programming in the Arduino IDE. You could create your own sensors and control End Devices.
The VT1100 in sleep mode consumes 7uA, so can run on battery for years.
They can also be used to create your own mesh networks and you can use Node-Red to forward messages to MQTT to use any IOT platform that supports MQTT.
Please let me know if you are interested. Basically if I get enough interest I will sell them cheaply.
That’s interesting. I’ve been trying (and failing) to create end devices myself using an xbee board but unfortunately they don’t have any built-in ZCL in micropython.
I wouldn’t be opposed to trying a different board if it’s easier, do you have any examples of an end device built with this ? Maybe even just a temperature sensor or something simple like that to give people the general structure of a ZCL project to iterate upon.
I made a Basic on/off switch just to prove the concept and I was able to join it to Z2MQTT and send/receive commands. Be aware this won’t be a Zigbee compliant device, but it did work with Zgibee2MQTT. To make the switch you need to edit the AF_Register command in the Library to register an endpoint using the home automation profile and correct Device and Cluster ID’s. Then the first three bytes of the data need to be as specified below.
Here is my notes on this:
End Device
Example: A Basic On Off Switch
Home automation Profile ID
0x0104
Device ID
0x0000 - On Off Switch
Cluster ID
0x0006 On/Off
Af_Data_Request
The data should be length 3. The first byte is for frame control (0x01), second is for transaction sequence number (0x01), and the 3rd is for off(0x00)/on(0x01)/toggle(0x02).
C:\Zigbee2MQTT\data
When pair device it won’t have the ModelID and it needs to be added.
I have created a Node-Red Dashboard that can be used to manage the wireless network and display sensor data. No programming is involved when using the available sub-flows and sketches. New devices can be added by creating new Subflows.
This is designed for users who want to create their own devices. Example: create temperature and soil moisture sensors to monitor their plants.