I need a help from someone who knows DALI standard well and has experience on it and knows DALI control gears' structure.
I make a DALI related application and aim to detect if the connected lamp is broken. To do so, I send following commands to the DALI control gear (slave)
0x92 Check if there is a lamp failure 0x93 Check if the lamp is operating 0x9B Check if the slave is in power failure mode
before it, I disconnect the lamp unit, then send the commands above, however, the slave unit does not report any failure. I use couple different DALI unit of Tridonic. I wonder why removing a lamp source do not generate a failure report?
Could you please explain the logic how the DALI control gears detect the broken lamps (e.g. in what cases the DALI unit generates response to
What command is the best to detect the broken lamps?
EDIT: I send 144 query message, its definition on the standard:
As a reply, I get this signal at the oscilloscope:
start bit(1) | reply (8) | stop bits(2) 1 | 0 0 0 1 0 1 0 0 | 1 1
- 0: the ballast is working fine
- 0: no lamp failure is detected (if there is no lamp unit, why it is not a failure? and what is the description of the failure?)
- 0: arc power is off?
- 1: limit error -- (I send 0xFEA0 which is an arc power setting, I could not understand why it is 1)
- 0: no fading is ongoing
- 1: reset state is present
- 0: it has short address
- 0: no power failure ( it received RESET command and arc power control command)
the timing is a little bit bad but I have an ad-hoc method to read it successfully anyway. I get the same reply if the lamp unit exist or if I remove the lamp unit on the run-time.
I wonder why DALI do not generate a failure if the lamp unit does not exist (or removed on the run-time)? What cases are defined as failure? I wanted to test that I can detect the lamp failures (without breaking my lamp unit:), so that I am disconnecting the lamp unit. Is it a wrong thinking? If it is so, how should I have tested it so that I can get the lamp failure report from the DALI slave?
What command (or command sequence) is the most reliable way to detect a broken LED lamp (by querying from DALI LED control gear)?
I feel like I cause to take one's time to get a reply. I would be happily give 100 bounty for a satisfactory answer to show my gratitude.