docs: def get_smokedetector_by_name(self, name):
          """Retrieves a smokedetector object by its name
  
          :param name: The name of the smokedetector to return
          :return: A smokedetector object
          """
          return next((smokedetector for smokedetector in self.smokedetectors
                       if smokedetector.name.lower() == name.lower()), None)