Skip to content

Device Association

Device association can associate multiple devices. For example, the master device is a smart socket and the slave device is a smart switch.

Feature Description

See QuecDeviceModel Definition in Device Management

kotlin
QuecDeviceAssociateService

Device Association Management

Associate Device

API

Associate a device.

kotlin
fun deviceAssociation(
    list: List<QuecDeviceModel>,
    masterDevice: QuecDeviceModel,
    callback: QuecCallback<Unit>
)

Parameter

ParameterRequiredDescription
listYList of slave devices to be associated (element array of QuecDeviceModel).
masterDeviceYMaster device.
callbackYCallback function of the request.

Example

kotlin
val subDeviceList = listOf(
    QuecDeviceModel("productKey", "deviceKey1"),
    QuecDeviceModel("productKey", "deviceKey2")
)
val masterDevice = QuecDeviceModel("productKey", "deviceKey3")

QuecDeviceAssociateService.deviceAssociation(subDeviceList, masterDevice) {
    if (it.isSuccess) {
        //Associate a device successfully.
    } else {
        val code = it.code //Failed. Error code.
        val msg = it.msg //Failed. Error message.
    }
}

Query Device Association Information

API

Query device association information.

kotlin
fun getDeviceAssociationInfo(
    masterDevice: QuecDeviceModel,
    code: String?,
    callback: QuecCallback<QuecDeviceAssociationModel>
)

Parameter

ParameterRequiredDescription
masterDeviceYMaster device (QuecDeviceModel type).
codeYProperty identifier to be queried. Separate multiple properties by commas.
callbackYCallback function of the request.

See QuecDeviceModel Definition above.

QuecDeviceAssociationModel Definition

FieldTypeDescription
slaveDeviceListList<QuecDeviceAssociationSlaveModel>Slave device data list.
masterDeviceQuecDeviceAssociationMasterModelMaster device data.

QuecDeviceAssociationSlaveModel Definition

FieldTypeDescription
deviceAssociationMasterIdintMaster device ID.
deviceAssociationSlaveIdintSlave device ID.
slaveDeviceKeyStringSlave DeviceKey.
slaveDeviceNameStringSlave device name.
slaveProductKeyStringSlave ProductKey.
tslDeviceDetailQuecProductTSLInfoModelTSL model.

See QuecProductTSLInfoModel Definition above.

QuecDeviceAssociationMasterModel Definition

FieldTypeDescription
deviceAssociationMasterIdintMaster device ID.
masterProductKeyStringMaster ProductKey.
masterDeviceKeyStringMaster DeviceKey.
masterDeviceNameStringMaster device name.
siddhiNameStringRule name. Must be globally unique, composed of uppercase/lowercase English letters and digits, and 32 characters in length.

Example

kotlin
val masterDevice = QuecDeviceModel("productKey", "deviceKey3")
QuecDeviceAssociateService.getDeviceAssociationInfo(masterDevice, "code") {
    if (it.isSuccess) {
        val data = it.data //Query device association information successfully.
    } else {
        val code = it.code //Failed. Error code.
        val msg = it.msg //Failed. Error message.
    }
}

Disassociate Device

API

Disassociate a device.

kotlin
fun deviceDisassociation(
    model: QuecDeviceModel,
    callback: QuecCallback<Unit>
)

Parameter

ParameterRequiredDescription
modelYDevice to be disassociated (QuecDeviceModel type).
callbackYCallback function of the request.

See QuecDeviceModel Definition above.

Example

kotlin
val device = QuecDeviceModel("productKey", "deviceKey3")
QuecDeviceAssociateService.deviceDisassociation(device) {
    if (it.isSuccess) {
        //Disassociate a device successfully.
    } else {
        val code = it.code //Failed. Error code.
        val msg = it.msg //Failed. Error message.
    }
}

Configure Device Association

API

Configure device association.

kotlin
fun deviceAssociationConfig(
    productKey: String,
    callback: QuecCallback<QuecDeviceAssociationConfig>
)

Parameter

ParameterRequiredDescription
productKeyYProductKey.
callbackYCallback function of the request.

QuecDeviceAssociationConfig Definition

FieldTypeDescription
productKeyStringMaster ProductKey.
masterItemCodeStringMaster category code.
slaveItemCodeStringSlave category code.
slaveDeviceLimitintThe maximum number of slaves.
slaveProductKeyList<String>Slave ProductKey array.

Example

kotlin
QuecDeviceAssociateService.deviceAssociationConfig("pk") {
    if (it.isSuccess) {
        val data = it.data //Configure device association successfully.
    } else {
        val code = it.code //Failed. Error code.
        val msg = it.msg //Failed. Error message.
    }
}