def METHOD_NAME(self, phase_switch_cp_active: bool, last_tag: str) -> Tuple[ChargepointState, float]:
    try:
        powers, power = self.__client.meter_client.get_power()
        if power < self.PLUG_STANDBY_POWER_THRESHOLD:
            power = 0
        voltages = self.__client.meter_client.get_voltages()
        currents = self.__client.meter_client.get_currents()
        imported = self.__client.meter_client.get_imported()
        power_factors = self.__client.meter_client.get_power_factors()
        frequency = self.__client.meter_client.get_frequency()
        phases_in_use = sum(1 for current in currents if current > 3)
        if phases_in_use == 0:
            phases_in_use = self.old_phases_in_use
        else:
            self.old_phases_in_use = phases_in_use
        time.sleep(0.1)
        plug_state, charge_state, self.set_current_evse = self.__client.evse_client.get_plug_charge_state()
        self.__client.read_error = 0
        if phase_switch_cp_active:
            # Während des Threads wird die CP-Leitung unterbrochen, das EV soll aber als angesteckt betrachtet
            # werden. In 1.9 war das kein Problem, da währenddessen keine Werte von der EVSE abgefragt wurden.
            log.debug(
                "Plug_state %s beibehalten, da CP-Unterbrechung oder Phasenumschaltung aktiv.", self.old_plug_state
            )
            plug_state = self.old_plug_state
        else:
            self.old_plug_state = plug_state
        chargepoint_state = ChargepointState(
            power=power,
            currents=currents,
            imported=imported,
            exported=0,
            powers=powers,
            voltages=voltages,
            frequency=frequency,
            plug_state=plug_state,
            charge_state=charge_state,
            phases_in_use=phases_in_use,
            power_factors=power_factors,
            rfid=last_tag
        )
    except Exception as e:
        self.__client.read_error += 1
        if self.__client.read_error > 5:
            log.exception(
                "Anhaltender Fehler beim Auslesen der EVSE. Lade- und Stecker-Status werden zurückgesetzt.")
            plug_state = False
            charge_state = False
            chargepoint_state = ChargepointState(
                plug_state=plug_state,
                charge_state=charge_state,
                phases_in_use=0
            )
            FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)).store_error(self.component_info)
        else:
            self.__client.check_hardware()
            raise FaultState.error(__name__ + " " + str(type(e)) + " " + str(e)) from e
    self.store.set(chargepoint_state)
    self.store.update()
    return chargepoint_state, self.set_current_evse