Install code - still neet to 'Enable Permit Pairing'?

Hello all,

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"}

Thanks,

Owen

For me the device is already included, you don’t see it on “light” section ?

But ATM there is lot of issue about the “install code inclusion” and I have never used this procedure.

Here you have an user with this kind of device Bosch Room Thermostat II issues

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 reply. I can see from the ESP32 serial output that it doesn’t join until the Enable permit join is used.

I wonder is a DDF entry required before the install code works? This is a custom device so no DDF entry, although of course I could create one.

This device type can be reconised natively, but you will miss some features (for exemple power consumption) as thoses one are definied in a DDF

Thanks. Still no luck with this

Install-Codes are still ab bit frickly in deCONZ.

can you use legacy join ?
you can disable the secure TC stuff by calling

esp_zb_secur_link_key_exchange_required_set(false); 

before

esp_zb_start(false)

&

esp_zb_bdb_start_top_level_commissioning(ESP_ZB_BDB_NETWORK_STEERING)

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!