Python + QT + виртуальный COM-порт
Можно прослушивать COM-порт в отдельном потоке, а при изменении состояния лампы отправлять сигнал в интерфейс программы.
можно в отдельном потоке, а можно использовать неблокирующий доступ.