Replies: 4 comments 3 replies
|
Oh wow, I'd completely forgotten about this. Glad I could help! |
0 replies
|
hi @0rion12 I'm working on a similiar project. Try to pair an ESP32 H2 device with a zigbee network. |
2 replies
|
@Orion12 Could you share your ESP32C6 code ? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment



Uh oh!
There was an error while loading. Please reload this page.
Hello,
My goal is to successfully create a custom zigbee device from an esp32-c6 and to connect and control it to my home automation system.
I think I have gone through all the discussions that deal with the same subject, but either the problem discussed cannot be applied to my issue, or the issue is similar, but no one has provided an answer. So let me reopen a discussion.
To summarize, my home automation installation is as follows:
A raspberry pi 4 on which Home assistant and the zigbee2mqtt extension are installed. I use SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2 usb dongle for zigbee connectivity.
I already use commercial Zigbee equipment (including bulbs and switches from Ikea and Lidl). But I want to be able to make my own custom zigbee devices. For this, I bought an esp32-c6 card to do tests.
After a lot of testing and searching on the forums, I managed to get my esp32 to join my zigbee network, to be recognized as a lamp and to have its model and manufacturer recognized. Here is the configuration of my device as detected under z2m:
Obviously, as I put a model and a manufacturer which is not that of a commercial device, it says that it is not supported.
Here is the list of available clusters (this corresponds well to the clusters that I defined in the code of my esp32):
The problem is that when I go to the "exposes" tab, the only command I have is an on/off button, which works well (this changes the state of the LED on the esp32 by pressing the button). But I don't see any possibility of changing the brightness which is nevertheless one of the clusters.
Under the "dev console" tab, I can read the value of this cluster, which means that it is indeed accessible.
By searching the forums and the z2m documentation, I understood that I had to add an external converter. So in the "/homeassistant/zigbee2mqtt" folder I added a file "ESPRESSIV.js" (I understood that the name of the file had to correspond to the manufacturer. Here is its content:
Then, I modified the file "/homeassistant/zigbee2mqtt/configuration.yaml" to add these lines:
Then I restarted Home Assistant, but nothing changed for my device. I don't have any other controllable clusters in the "Exposes" tab.
I also tried removing the device from the zigbee network and adding it back to see if having the converter already present at the time of joining could improve things, but nothing changed.
I tried different scripts for the "ESPRESSIV.js" file, using the old and new way of defining clusters. I tried using the "light" entity only or by specifying the different clusters that I wanted 1 by 1, but the result was always the same, I have the impression that the script is never taken into account and z2m does not make the link between my device and this script.
I don't know at what point in the process it gets stuck. Is the code I put in the “configuration.yaml” and “ESPRESSIV.js” files correct? Is the process I followed correct? Or is there something I should have done differently?
I hope that someone could help me.
Thank you so much.
All reactions