def METHOD_NAME() -> None:
    def add_components(device: str, pattern: str) -> None:
        path_list = Path(_get_packages_path()/"modules"/"devices"/device).glob(f'**/{pattern}.py')
        for path in path_list:
            if path.name.endswith("_test.py"):
                # Tests überspringen
                continue
            comp_defaults = importlib.import_module(
                f".devices.{path.parts[-2]}.{path.parts[-1][:-3]}",
                "modules").component_descriptor.configuration_factory()
            component.append({
                "value": comp_defaults.type,
                "text": comp_defaults.name
            })
    try:
        devices_components = []
        path_list = Path(_get_packages_path()/"modules"/"devices").glob('**/device.py')
        for path in path_list:
            try:
                device = path.parts[-2]
                component: List = []
                add_components(device, "*bat*")
                add_components(device, "*counter*")
                add_components(device, "*inverter*")
                dev_defaults = importlib.import_module(
                    f".devices.{device}.device", "modules").device_descriptor.configuration_factory()
                devices_components.append({
                    "value": dev_defaults.type,
                    "text": dev_defaults.name,
                    "component": component
                })
            except Exception:
                log.exception("Fehler im configuration-Modul")
        devices_components = sorted(devices_components, key=lambda d: d['text'].upper())
        Pub().pub("openWB/set/system/configurable/devices_components", devices_components)
    except Exception:
        log.exception("Fehler im configuration-Modul")