Set the white color temperature. The bulb must be switched on.

            :param temperature: color temperature to set. It can be between 1700 and 6500 K
            :param effect: if the change is made suddenly or smoothly
            :param transition_time: in case the change is made smoothly, time in ms that change last

            :type temperature: int
            :type effect: str
            :type transition_time : int

def set_color_temperature(self, temperature, effect=EFFECT_SUDDEN, transition_time=MIN_TRANSITION_TIME):
        """
            Set the white color temperature. The bulb must be switched on.

            :param temperature: color temperature to set. It can be between 1700 and 6500 K
            :param effect: if the change is made suddenly or smoothly
            :param transition_time: in case the change is made smoothly, time in ms that change last

            :type temperature: int
            :type effect: str
            :type transition_time : int
        """
        # Check bulb state
        if self.is_off():
            raise Exception("set_color_temperature can't be used if the bulb is off. Turn it on first")
        # Input validation
        schema = Schema({'temperature': All(int, Range(min=1700, max=6500)),
                         'effect': Any(self.EFFECT_SUDDEN, self.EFFECT_SMOOTH),
                         'transition_time': All(int, Range(min=30))})
        schema({'temperature': temperature, 'effect': effect, 'transition_time': transition_time})
        # Send command
        params = [temperature, effect, transition_time]
        self.api_call.operate_on_bulb("set_ct_abx", params)
        # Update property
        self.property[self.PROPERTY_NAME_COLOR_TEMPERATURE] = temperature