def name(self) -> str | UndefinedType | None:
        """
        Return the name of the entity.

        Override by CC.
        A hm entity can consist of two parts. The first part is already defined by the user,
        and the second part is the english named parameter that must be translated.
        This translated parameter will be used in the combined name.
        """
        entity_name = self._data_point.name

        if isinstance(self._data_point, CalculatedDataPoint | GenericDataPoint) and entity_name:
            translated_name = super().name
            if self._do_remove_name():
                translated_name = ""
            if isinstance(translated_name, str):
                entity_name = entity_name.replace(self._data_point.parameter.replace("_", " ").title(), translated_name)

        if isinstance(self._data_point, CustomDataPoint) and entity_name:
            translated_name = super().name
            if self._do_remove_name():
                translated_name = ""
            if isinstance(translated_name, str) and self._data_point.name_data.parameter_name:
                entity_name = entity_name.replace(
                    self._data_point.name_data.parameter_name.replace("_", " ").title(),
                    translated_name,
                )
        if entity_name == "":
            return None
        return entity_name

        Return the name of the entity.

        Override by CC.
        A hm entity can consist of two parts. The first part is already defined by the user,
        and the second part is the english named parameter that must be translated.
        This translated parameter will be used in the combined name.
        
custom_components/homematicip_local/generic_entity.py