docs: async def load_local(  # pylint: disable=too-many-arguments
              self,
              host: str,
              password: str,
              port: int = DEFAULT_LOCAL_PORT,
              ssl: bool = True,
              skip_existing: bool = True) -> None:
          """Create a local client."""
          controller = LocalController(
              self._request, host, port, ssl, self._websession)
          await controller.login(password)
  
          wifi_data = await controller.provisioning.wifi()
          if skip_existing and wifi_data['macAddress'] in self.controllers:
              return
  
          version_data = await controller.api.versions()
          controller.api_version = version_data['apiVer']
          controller.hardware_version = version_data['hwVer']
          controller.mac = wifi_data['macAddress']
          controller.name = await controller.provisioning.device_name
          controller.software_version = version_data['swVer']
  
          self.controllers[controller.mac] = controller