TuyaLink-Based Device Binding

Last Updated on : 2023-03-09 08:07:07

TuyaLink is an open solution that enables IoT devices, including proprietary network modules and smart devices, to connect to Tuya’s cloud services.

TuyaLink lowers the bar for IoT development by integrating with Tuya’s IoT Core technologies, including things data model, rule engines, data parsing, device management, operations and monitoring, alert management, OTA firmware updates, and application development.

TuyaLink allows you to quickly integrate with the Tuya ecosystem and achieve interconnectivity between devices across different domains. A range of development resources for PaaS, SaaS, and apps helps you implement IoT projects with improved cost efficiency and reduced lead time.

TuyaLink-Based Device Binding

For more information, see TuyaLink.

Device binding

Each TuyaLink-based device is created with a QR code on the Tuya IoT Development Platform. To bind a TuyaLink-based device with the app, users scan the QR code of the device first. The system parses the URL of the QR code and returns a universally unique identifier (UUID) of the device. Then, the UUID is used in the API request to bind the device.

Query device UUID

// Similar to the operation to pair a device after QR code scanning.
Map<String, Object> postData = new HashMap<>();
// The URL obtained after the device QR code is scanned.
postData.put("code", url);

TuyaHomeSdk.getRequestInstance().requestWithApiNameWithoutSession("tuya.m.qrcode.parse", "4.0", postData, String.class, new ITuyaDataCallback<String>() {
	public void onSuccess(String result) {
	  // The UUID returned in the result.
	  Log.i("TAG" , result);

	public void onError(String errorCode, String errorMessage) {
		Log.i("TAG" , errorCode);

Bind a device

void bindTuyaLinkDeviceWithQRCode(long homeId, String uuid, ITuyaDevActivatorListener listener);


Parameter Description
homeId The home ID.
uuid The UUID that is returned after a device QR code is scanned and parsed.
ITuyaDevActivatorListener The listener for the binding result.


TuyaHomeSdk.getActivatorInstance().bindTuyaLinkDeviceWithQRCode(homeId, mUuid, new ITuyaDevActivatorListener() {
                    public void onError(String errorCode, String errorMsg) {
                        Log.d(TAG,"errorMsg = " + errorMsg + " / errorCode = " + errorCode);

                    public void onActiveSuccess(DeviceBean devResp) {
                        Log.d(TAG,"onActiveSuccess --->>" );