def METHOD_NAME(self) -> None:
    log.debug("Beginning update")
    cookies = None
    address = self.device_config.configuration.ip_address
    email = self.device_config.configuration.email
    password = self.device_config.configuration.password
    with MultiComponentUpdateContext(self.components):
        try:
            cookies = json.loads(COOKIE_FILE.read_text())
        except FileNotFoundError:
            log.debug("Cookie-File <%s> does not exist. It will be created.", COOKIE_FILE)
        except JSONDecodeError:
            log.warning("Could not parse Cookie-File "+str(COOKIE_FILE)+". It will be re-created.", exc_info=True)
        session = get_http_session()
        if cookies is None:
            self.__authenticate_and_update(session, address, email, password, self.__update_components)
            return
        try:
            self.__update_components(PowerwallHttpClient(address, session, cookies))
            return
        except HTTPError as e:
            if e.response.status_code != 401 and e.response.status_code != 403:
                raise e
            log.warning(
                "Login to powerwall with existing cookie failed. Will retry with new cookie...")
        self.__authenticate_and_update(session, address, email, password, self.__update_components)
        log.debug("Update completed successfully")