DD
for self.lamp in self.lampsТак нельзя, переменная self.lamp нужна тебе внутри цикла, делать её атрибутом класса смысла нет. Должно быть что-то вроде
for lamp in self.lampsИ тем более, если ты потом пытаешься эту self.lamp использовать в другом методе, она будет всегда содержать последний элемент списка (на котором закончился в итоге цикл).
ID лампы внутри callback нужно получать из параметров, которые AD передаст в функцию dimmer. Но даже так я не понимаю, что должна делать функция dimmer.