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.

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