Get the device for the ID. ID request can return device type (cat/subcat),
        firmware ver, etc. Cat is status['is_high'], sub cat is status['id_mid']

def id_request(self, device_id):
        """Get the device for the ID. ID request can return device type (cat/subcat),
        firmware ver, etc. Cat is status['is_high'], sub cat is status['id_mid']"""
        self.logger.info("\nid_request for device %s", device_id)
        device_id = device_id.upper()

        self.direct_command(device_id, '10', '00')

        sleep(2)

        status = self.get_buffer_status(device_id)
        if not status:
            sleep(1)
            status = self.get_buffer_status(device_id)

        return status