Linkage Management

Create a linkage

  • API intent: config.linkage.create
  • Description: This interface is used to create linkage. You can customize the trigger conditions (Conditions) and execution actions (Actions). When the trigger conditions are met, the set actions are automatically executed. Through "query.ifttt.trigger" interface and "query.ifttt.action" interface query conditions and action parameter descriptions, then create a linkage through this interface.
  • Request parameters
Name Type Is required? Description
name String Yes Linkage name
positionId String No PositionID, default position when the value is empty
conditions Object Yes Trigger conditions, see conditions description for details
actions Object Yes Perform actions, see actions description for details

conditions description

Name Type Is required? Description
condition Array(Object) Yes Trigger condition content, see condition content description for details
relation int Yes 0: AND 1: OR Default is 0

condition description

Name Type Is required? Description
subjectId string No Subject ID (Such as device id, scene id) (must be filled in with model or subjectid)
model String No Object model
triggerDefinitionId String Yes Trigger id
beginTime String No Begin time. The format is as follows.
endTime String No End time. The format is as follows.
params Array(Object) No Parameters, see params description for details

Note: Timing time format: “min hour day month week”.

  • “min”: The value ranges from 0 to 59. The value \ indicates that the minute is not limited.*
  • “hour”: The value ranges from 0 to 23. The value \ indicates that the hour is not limited.*
  • “day”: The value ranges from 1-31, and the value \ indicates no limit to the day, any day.*
  • “month”: The value ranges from 1 to 12, and the value \ indicates no limit to the month, any month.*
  • “week”: The value range is 0-8, 0 means Sunday, 1-6 means Monday-Saturday, 7 means holiday, 8 means working day, value \ indicates no limit to the week*.

For example:

  • “10 11 * * 1,2,3,4,5,6,0” means 11:10 am every day
  • “20 18 * * 1,4,6” means 18:20 pm every Monday, Thursday and Saturday

actions description

Name Type Is required? Description
action Array(Object) Yes Perform actions content, see actions content description for details

action content description

Name Type Is required? Description
subjectId String No Subject ID (Such as device id, scene id) (must be filled in with model or subjectid)
model String No Object model
actionDefinitionId String Yes Action Definition Id
delayTime String No Delay Time, 0-59 second, 0-59 minute
delayTimeUnit String No Delay Time Unit, 1-second, 2-minute
params Array(Object) No Parameters, see params description for details

params description

Name Type Is required? Description
paramId string No Parameter id
value String No value
paramType String No Parameter Type
paramUnit String No Parameter Unit
  • Request Demo (For more examples, please see demo)
{
  "intent": "config.linkage.create",
  "data": {
    "name": "123456",
    "positionId": "real1.768799734012641280",
    "conditions": {
      "condition": [
        {
          "triggerDefinitionId": "TD.lumi.gateway.illumination_less_than",
          "model": "lumi.gateway.acn01",
          "beginTime": "0 2 * * 1,2,3,4,5,6,0",
          "endTime": "0 4 * * 1,2,3,4,5,6,0",
          "params": [
            {
              "paramType": "0",
              "paramUnit": "Lux",
              "paramId": "PD.illumination",
              "value": "10"
            }
          ],
          "subjectId": "virtual2.11774113824794"
        }
      ],
      "relation": 0
    },
    "actions": {
      "action": [
        {
          "delayTimeUnit": "1",
          "actionDefinitionId": "AD.lumi.gateway.open_corridor_light",
          "model": "lumi.gateway.acn01",
          "delayTime": "480",
          "subjectId": "virtual2.11774113824794"
        }
      ]
    }
  }
}
  • Response parameters
Name Type Description
linkageId string Linkage ID
  • Response demo
{
  "code": 0,
  "message": "Success",
  "msgDetails": "",
  "requestId": "",
  "result": {
    "linkageId": "L.836622570871640064"
  }
}

Update linkage

  • API intent: config.linkage.update
  • Description: This interface is used to modify the parameter configuration and name of linkage, and does not support modifying the location of linkage.
  • Request parameters
Name Type Is required? Description
linkageId String Yes Linkage id
name String Yes Linkage name
positionId String No PositionID, default position when the value is empty
conditions Array(Object) Yes Trigger conditions, see conditions description for details
actions Array(Object) Yes Perform actions, see actions description for details

conditions description

Name Type Is required? Description
condition Array(Object) Yes Trigger condition content, see condition content description for details
relation int Yes 0: AND 1: OR Default is 0

condition description

Name Type Is required? Description
subjectId string No Subject ID (Such as device id, scene id) (must be filled in with model or subjectid)
model String No Object model
triggerDefinitionId String Yes Trigger id
beginTime String No Begin time, Format description
endTime String No End time, Format description
params Array(Object) No Parameters, see params description for details

actions description

Name Type Is required? Description
action Array(Object) Yes Perform actions content, see actions content description for details

action description

Name Type Is required? Description
subjectId String No Subject ID (Such as device id, scene id) (must be filled in with model or subjectid)
model String No Object model
actionDefinitionId String Yes Action Definition Id
delayTime String No Delay Time
delayTimeUnit String No Delay Time Unit, 1-second, 2-minute
params Array(Object) No Parameters, see params description for details

params description

Name Type Is required? Description
paramId string No Parameter id
value String No value
paramType String No Parameter Type
paramUnit String No Parameter Unit
  • Request Demo
{
  "intent": "config.linkage.update",
  "data": {
    "linkageId": "L.836622570871640064",
    "name": "123456",
    "positionId": "real1.768799734012641280",
    "conditions": {
      "condition": [
        {
          "subjectId": "virtual2.11774113824794",
          "triggerDefinitionId": "TD.lumi.gateway.light_off"
        }
      ],
      "relation": 0
    },
    "actions": {
      "action": [
        {
          "subjectId": "virtual2.11774113824794",
          "actionDefinitionId": "AD.lumi.gateway.open_corridor_light"
        }
      ]
    }
  }
}
  • Response parameters: NA

  • Response demo

{
  "code": 0,
  "message": "Success",
  "msgDetails": "",
  "requestId": "",
  "result": ""
}

Delete linkage

  • API intent: config.linkage.delete
  • Description: This interface is used to delete linkage.
  • Request parameters
Name Type Is required? Description
linkageId String Yes Linkage ID
  • Request Demo
{
  "intent": "config.linkage.delete",
  "data": {
    "linkageId": "L.836624600822501376"
  }
}
  • Response parameters: NA

  • Response demo

{
  "code": 0,
  "message": "Success",
  "msgDetails": "",
  "requestId": "",
  "result": ""
}

Enable/disable linkage

  • API intent: config.linkage.enable
  • Description: This interface is used to enable and disable linkage. When linkage is disabled, even if the trigger conditions are met, the linkage execution cannot be triggered automatically.
  • Request parameters
Name Type Is required? Description
linkageId String Yes Linkage ID
enable Int Yes 0: disable (Does not execute even if automation is triggered) 1: enable
  • Request demo
{
  "intent": "config.linkage.enable",
  "data": {
    "linkageId": "L.836622570871640064",
    "enable": 0
  }
}
  • Response parameters:NA

  • Response demo

{
  "code": 0,
  "message": "Success",
  "msgDetails": "",
  "requestId": "",
  "result": ""
}

Query detail information of the linkage

  • API intent: query.linkage.detail
  • Description: This interface is used to query the configuration details of linkage conditions and actions.
  • Request parameters
Name Type Is required? Description
linkageId String Yes Linkage id . The format is L.xxxxx.
  • Request Demo
{
  "intent": "query.linkage.detail",
  "data": {
    "linkageId": "L.835941240442339328"
  }
}
  • Response parameters
Name Type Description
linkageId string Linkage ID
name String Linkage Name
enable int Linkage status. 0: disable; 1: enable
conditions Object Trigger conditions, see conditions description for details
actions Object Perform actions, see actions description for details

Conditions description

Name Type Description
condition Array(Object) Trigger condition content, see condition content description for details
relation int 0: AND 1: OR Default is 0

Conditions content description

Name Type Description
subjectId string Subject ID
model String Object model
triggerName String Trigger Name
triggerDefinitionId String Trigger id
beginTime String Begin time
endTime String End time
params Array(Object) Parameters, see params description for details

actions description

Name Type Description
action Array(Object) Perform actions content, see actions content description for details

action content description

Name Type Description
subjectId String Subject ID
model String Object id
actionName String Action Name
actionDefinitionId String Action id
delayTime String Delay Time
delayTimeUnit String Delay Time Unit, 1-second, 2-minute
params Array(Object) Parameters, see params description for details

params description

Name Type Description
paramId string Parameter id
value String value
paramType String Parameter Type
paramUnit String Parameter Unit
  • Request Demo
{
  "code": 0,
  "message": "Success",
  "msgDetails": "",
  "requestId": "",
  "result": {
    "linkageId": "L.835941240442339328",
    "enable": 1,
    "name": "test",
    "conditions": {
      "condition": [
        {
          "triggerDefinitionId": "TD.lumi.gateway.illumination_less_than",
          "triggerName": "Below assigned illuminance",
          "model": "lumi.gateway.acn01",
          "beginTime": "0 2 * * 1,2,3,4,5,6,0",
          "endTime": "0 4 * * 1,2,3,4,5,6,0",
          "params": [
            {
              "paramType": "0",
              "paramUnit": "Lux",
              "paramId": "PD.illumination",
              "value": "10"
            }
          ],
          "subjectId": "virtual2.11774113824794"
        }
      ],
      "relation": 0
    },
    "actions": {
      "action": [
        {
          "delayTimeUnit": "1",
          "actionDefinitionId": "AD.lumi.gateway.open_corridor_light",
          "model": "lumi.gateway.acn01",
          "delayTime": "480",
          "subjectId": "virtual2.11774113824794",
          "actionName": "Turn on night light"
        }
      ]
    }
  }
}

Query linkage list based on object ID

  • API intent: query.linkage.listBySubjectId
  • Description: This interface can query the associated linkage list based on the object ID.
  • Request parameters
Name Type Is required? Description
subjectId String Ye s Subject id (such as device id, sceneid)
  • Request Demo
{
    "intent": "query.linkage.listBySubjectId",
    "data": {
        "subjectId": "virtual2.11774113824794"
    }
}
  • Response parameters
Name Type Description
linkageId string Linkage ID
name String Linkage Name
enable int Linkage status. 0: disable; 1: enable
model String Object model
localizd int 0:Cloud execution 1:Local execution 3:Clouding 4: Localizing
  • Response demo
{
    "code": 0,
    "message": "Success",
    "msgDetails": "",
    "requestId": "",
    "result": [
        {
            "localize": 0,
            "linkageId": "L.826490791388536832",
            "enable": 1,
            "name": "1",
            "model": "app.ifttt.v1"
        },
        {
            "localize": 0,
            "linkageId": "L.826513247100755968",
            "enable": 0,
            "name": "test",
            "model": "app.ifttt.v1"
        }
    ]
}

Query linkage list based on location

  • API intent: query.linkage.listByPositionId
  • Description: This interface is used to query the linkage list under the specified location.
  • Request parameters
Name Type Is required? Description
positionId String No PositionID, if it is empty, query all linkages under the user
pageNum Int No Page number, default value 1
pageSize Int No The number of items per page, the default value is 50
  • Request Demo
{
  "intent": "query.linkage.listByPositionId",
  "data": {
    "positionId": "real1.768799734012641280",
    "pageSize": 50,
    "pageNum": 1
  }
}
  • Response parameters
Name Type Description
data Array Automation information
totalCount int Total number of automations

data description

Name Type Description
linkageId string Linkage ID
name String Linkage Name
enable int Linkage status. 0: disable; 1: enable
model String Object model
localizd int 0:Cloud execution 1:Local execution 3:Clouding 4: Localizing
positionId String Position id
  • Response demo
{
  "code": 0,
  "message": "Success",
  "msgDetails": "",
  "requestId": "",
  "result": {
    "data": [
      {
        "localizd": 0,
        "linkageId": "L.835941240442339328",
        "enable": 1,
        "name": "test",
        "positionId": "xxxxx",
        "model": "app.ifttt.v1"
      },
      {
        "localizd": 0,
        "linkageId": "L.826490791388536832",
        "enable": 1,
        "name": "1",
        "positionId": "xxxxx",
        "model": "app.ifttt.v1"
      }
    ],
    "totalCount": 6
  }
}
Copyright © 2023 Lumi United Technology Co., Ltd. all right reserved,powered by GitbookFile Modify: 2024-09-27 21:51:47

results matching ""

    No results matching ""