Closed mightChamp closed 1 year ago
For me it helped to increase DALI_TE_MAX limit, like:
const unsigned long DALI_TE_MAX = (130 * DALI_TE) / 100;
I am not sure it's the same problem though.
Hi @mightChamp! From the log I can see that the first DALI ballast is found, but the process fails in verifying the programmed short address, code here:
case COMMISSION_VERIFYSHORTRESPONSE:
if (DaliBus.getLastResponse() == 0xFF) { // <<<= not true
nextShortAddress++;
commissionState = COMMISSION_WITHDRAW;
and thus commissioning is stopped.
I'm not sure what's causing this, though. I've seen ballasts that are somewhat slow (e.g. some OSRAM ballasts seem to take longer to generate a random address, that's why the code waits a bit here).
Perhaps your ballast takes some extra time to set its short address 🤷♂️ . It might help to log the result of DaliBus.getLastResponse()
.
Also, you could also try setting your delay(50);
to a higher value (e.g. 100) and see if that makes a change already.
What brand and type are your ballasts? Are they all the same? If you always had all three on the bus, try with only one at a time.
For me it helped to increase DALI_TE_MAX limit, like:
@milo1000 Although I don't think this is the issue here, you newer shared that in your issue. Perhaps it doesn't hurt to generally increase the tolerance, I'll check.
Hello @hubsif and @milo1000 ,
Thanks for your response. We are using this library on ESP32 Development Board, and now the issue is solved by using a 4.7k pullup resistor on Dali Tx and Rx Pins of ESP32.
Thanks once again.
There are 3 Dali Blast devices in Bus, which can be operated using broadcast command like Direct Arc Power Control/Up/Down, etc..
but when using below function to Commission the Dali bus, then commissioning not happens, So can't use short address of individual Blast Device.
Below is log of commissioning States: