Чтобы сделать возможность повторного ввода команд без закрытия программы, оберни весь блок команд после создания объекта `Bulb` в бесконечный цикл и добавь условие для выхода из него. Вот пример:
from yeelight import Bulb
bulb = Bulb("192.168.1.6")
while True:
print('on\noff\ntemp\nbright\nred\ngreen\nblue\nexit') # Добавил команду 'exit'
y = input()
if y == 'on':
bulb.turn_on()
elif y == 'off':
bulb.turn_off()
elif y == 'temp':
print('1700-6500\nHOME:4000')
t = int(input())
bulb.set_color_temp(t)
elif y == 'bright':
print('1-100')
b = int(input())
bulb.set_brightness(b)
elif y == 'red':
bulb.set_rgb(255, 0, 0)
bulb.set_brightness(100)
elif y == 'green':
bulb.set_rgb(0, 255, 0)
bulb.set_brightness(100)
elif y == 'blue':
bulb.set_rgb(0, 0, 255)
bulb.set_brightness(100)
elif y == 'exit': # Условие для выхода из цикла
break
Таким образом, программа будет запрашивать команды до тех пор, пока не будет введено `exit`.