code: def adjust(self, action, prop):
          
          # 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()
docs: 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