I’m using the REST api to pair a custom Zigbee device based on an ESP32C6. The ESP32 is configured as HA light & when I use ‘Enable permit join’ (on the control tab) it joins the network as expected.
I’m trying to integrate install codes & have sent the codes to the Conbee II using the REST API, the output as follows:
API Key: 795C0E1AF5
Sending: http://192.168.178.24:8080/api/795C0E1AF5/devices
Response: OK
["00:21:2e:ff:ff:09:d2:20","00:12:4b:00:2a:56:46:ea","00:12:4b:00:2a:56:ad:cd","bb:bb:bb:bb:aa:aa:aa:aa"]
Sending: http://192.168.178.24:8080/api/795C0E1AF5/devices/BBBBBBBBAAAAAAAA/installcode, payload = {'installcode': '966B9F3EF98AE6059708'}
[{"success":{"installcode":"966B9F3EF98AE6059708","mmohash":"CA48267EF8A76B6B4091044190B4FAF1"}}]
My question is that after sending the install code do I still need to ‘Enable permit join’ or should the ESP32, when it’s in pairing mode, join the network without this? After I use I ‘Enable permit join’ this is the status of the ESP32:
Sending: http://192.168.178.24:8080/api/795C0E1AF5/devices/BB:BB:BB:BB:AA:AA:AA:AA
Response: OK
{"ddf_policy":"latest_prefer_stable","lastannounced":null,"lastseen":"2025-03-08T21:30Z","manufacturername":"ESPRESSIF","modelid":"esp32c6","name":"On/Off light 4","subdevices":[{"state":{"alert":{"lastupdated":null,"value":null},"on":{"lastupdated":null,"value":null},"reachable":{"lastupdated":"2025-03-08T21:30:33Z","value":true}},"type":"On/Off light","uniqueid":"bb:bb:bb:bb:aa:aa:aa:aa-0a"}],"swversion":null,"uniqueid":"bb:bb:bb:bb:aa:aa:aa:aa"}
On Z2MQTT, you need to enable the “pairing” on the device then make the request with the install code, and you have nothing more to do, the network switch in permit join alone and wait for the device.
Thanks for the suggestion but I was hoping to use the Conbee/deCONZ environment to confirm that I’ve got install codes working correctly with the ESP32!
Hi, were you successful with this? Can you explain a little bit more in depth where you use those REST Apis? I just flashed my first ESP32C6 with the Zigbee_Color_Dimmable_Light-Example out of ArduinoIDE from Expressif and was hoping to be able to use the PhosconApp via Webbroser to connect it as a new light, but it seems it does not work straight forward.
Unfortunately I run my phoscon on a headless linux, so I can’t access the app…
Or do I have to change my whole setup to Zigbee2MQTT?