DALI Slave not responding to short address
In the end I found a solution myself.

There was a bug in start-bit generation procedure.

// 0 ... 0 bits - 0 ... 1 menchester bits - start bits
if(MenchesterBitIndex &lt;= 2)
    return true != MenchesterInverted;


The &lt;= instead of &lt; caused 3 bits to be generated as start bits. For all commands starting with bit 1 this made no difference, so the whole addressing sequence was ok. For normal short addressing the first bit was 0 which generated invalid menchester code.