docs: def set_brightness(self, brightness, effect=EFFECT_SUDDEN, transition_time=MIN_TRANSITION_TIME):
          """
              This method is used to change the brightness of a smart LED
  
              :param brightness: is the target brightness. The type is integer and ranges from 1 to 100. The
                                 brightness is a percentage instead of a absolute value. 100 means maximum brightness
                                 while 1 means the minimum brightness.
              :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 brightness: int
              :type effect: str
              :type transition_time : int
          """
          # Check bulb state
          if self.is_off():
              raise Exception("set_brightness can't be used if the bulb is off. Turn it on first")
          # Input validation
          schema = Schema({'brightness': All(int, Range(min=1, max=100)),
                           'effect': Any(self.EFFECT_SUDDEN, self.EFFECT_SMOOTH),
                           'transition_time': All(int, Range(min=30))})
          schema({'brightness': brightness, 'effect': effect, 'transition_time': transition_time})
          # Send command
          params = [brightness, effect, transition_time]
          self.api_call.operate_on_bulb("set_bright", params)
          # Update property
          self.property[self.PROPERTY_NAME_BRIGHTNESS] = brightness