Add device.detect api