<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def adjust(self, action, prop):
 """ This method is used to change brightness, CT or color of a smart LED without knowing the current value, it's main used by controllers. :param action: The direction of the adjustment. The valid value can be: ADJUST_ACTION_INCREASE: increase the specified property ADJUST_ACTION_DECREASE : decrease the specified property ADJUST_ACTION_CIRCLE : increase the specified property, after it reaches the max value, go back to minimum value. :param prop: The property to adjust. The valid value can be: ADJUST_PROPERTY_BRIGHTNESS: adjust brightness. ADJUST_PROPERTY_COLOR_TEMPERATURE: adjust color temperature. ADJUST_PROPERTY_COLOR: adjust color. (When “prop" is “color", the “action" can only be “circle", otherwise, it will be deemed as invalid request.) :type action: str :type prop: str """

        # Input validation
        schema = Schema(
            {'action': Any(self.ADJUST_ACTION_CIRCLE, self.ADJUST_ACTION_DECREASE, self.ADJUST_ACTION_INCREASE),
             'prop': Any(self.ADJUST_PROPERTY_BRIGHTNESS, self.ADJUST_PROPERTY_COLOR,
                         self.ADJUST_PROPERTY_COLOR_TEMPERATURE)})
        schema({'action': action, 'prop': prop})
        # Send command
        params = [action, prop]
        self.api_call.operate_on_bulb("set_adjust", params)
        # Update property
        self.refresh_property()