code: def add_scene(self, animation_id, name, color, velocity, config):
          
          # check arguments
          if animation_id < 0 or animation_id >= len(self.state.animationClasses):
              err_msg = "Requested to register scene with invalid Animation ID. Out of range."
              logging.info(err_msg)
              return(False, 0, err_msg)
          if self.state.animationClasses[animation_id].check_config(config) is False:
              err_msg = "Requested to register scene with invalid configuration."
              logging.info(err_msg)
              return(False, 0, err_msg)
          self.state.sceneIdCtr += 1
          self.state.scenes[self.state.sceneIdCtr] = Scene(animation_id, name, color, velocity, config)
          sequence_number = self.zmq_publisher.publish_scene_add(self.state.sceneIdCtr, animation_id, name, color, velocity, config)
          logging.debug("Registered new scene.")
  
          # set this scene as active scene if none is configured yet
          if self.state.activeSceneId is None:
              self.set_scene_active(self.state.sceneIdCtr)
          return (True, sequence_number, "OK")
docs: Add a new scene, returns Scene ID