<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_device_name(self, cached=True):
 """Returns the SK8 device BLE name. Args: cached (bool):
 if True, returns the locally cached copy of the name. If this is set to False, or the name is not cached, it will read from the device instead. Returns: str. The current device name. May be `None` if an error occurs. """

        if cached and self.name is not None:
            return self.name

        device_name = self.get_characteristic_handle_from_uuid(UUID_DEVICE_NAME)
        if device_name is None:
            logger.warn('Failed to find handle for device name')
            return None

        self.name = self.dongle._read_attribute(self.conn_handle, device_name)
        return self.name