变量

## 概述 > 变量 类名 ` VariantApi.java ` 成员方法 名称 | 方法 | Method | Path ------------- | ------------- | ------------- | ------------- [批量变量控制](#batchWriteVariantValue) | [**batchWriteVariantValue**](#batchWriteVariantValue) | POST | /api-business/variant/batchWriteVariantValue [查询条件存储的变量历史值](#getConditionHistoryVariantData) | [**getConditionHistoryVariantData**](#getConditionHistoryVariantData) | POST | /api-business/variant/getConditionHistoryVariantData [获取变量分组列表](#getVariantGroupList) | [**getVariantGroupList**](#getVariantGroupList) | POST | /api-business/variant/getVariantGroupList [获取变量的历史数据](#getVariantHistoryData) | [**getVariantHistoryData**](#getVariantHistoryData) | POST | /api-business/variant/getVariantHistoryData [获取变量列表](#getVariantList) | [**getVariantList**](#getVariantList) | POST | /api-business/variant/getVariantList [根据变量id获取变量列表](#getVariantListByIds) | [**getVariantListByIds**](#getVariantListByIds) | POST | /api-business/variant/getVariantListByIds [获取变量值](#getVariantRealtimeValueList) | [**getVariantRealtimeValueList**](#getVariantRealtimeValueList) | POST | /api-business/variant/getVariantRealtimeValueList [控制设备变量的值](#writeVariantValue) | [**writeVariantValue**](#writeVariantValue) | POST | /api-business/variant/writeVariantValue <a id="batchWriteVariantValue"></a> ## **批量变量控制** > ResultObject batchWriteVariantValue(variantValues) ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **variantValues** | **List&lt;WriteVariantValue&gt;**| 批量设置变量值 ,格式: 设备ID1:变量ID1:值1,设备ID2:变量ID2:值2 | ### 返回参数 ResultObject 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **Object** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 List<WriteVariantValue> variantValues = Arrays.asList(new WriteVariantValue()); try { ResultObject result = apiInstance.batchWriteVariantValue(variantValues); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.batchWriteVariantValue异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/batchWriteVariantValue| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "variantValues":[ { "variantId":0, "deviceId":"", "value":"" } ] } ``` <a id="getConditionHistoryVariantData"></a> ## **查询条件存储的变量历史值** > ResultMapStringListArrayObject getConditionHistoryVariantData(queryHistoryCurveForm) ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **queryHistoryCurveForm** | **QueryConditionHistoryParam**| queryHistoryCurveForm | #### QueryConditionHistoryParam 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **conditionStorageId** | **String** | 条件存储id | **endTime** | **String** | 结束时间 | **startTime** | **String** | 开始时间 | ### 返回参数 ResultMapStringListArrayObject 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **Map&lt;String, List&lt;List&lt;Object&gt;&gt;&gt;** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 QueryConditionHistoryParam queryHistoryCurveForm = new QueryConditionHistoryParam(); try { ResultMapStringListArrayObject result = apiInstance.getConditionHistoryVariantData(queryHistoryCurveForm); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.getConditionHistoryVariantData异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/getConditionHistoryVariantData| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "conditionStorageId":"", "startTime":"", "endTime":"" } ``` <a id="getVariantGroupList"></a> ## **获取变量分组列表** > ResultListVariantGroupVo getVariantGroupList(queryVariantGroupParam) ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **queryVariantGroupParam** | **QueryVariantGroupParam**| queryVariantGroupParam | #### QueryVariantGroupParam 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **resourceId** | **String** | 资源id | **resourceType** | **String** | 指定资源id的类型。可选[project,template] | ### 返回参数 ResultListVariantGroupVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **List&lt;VariantGroupVo&gt;** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - VariantGroupVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **deviceId** | **String** | 设备id | - **groupId** | **String** | 分组id | - **groupName** | **String** | 分组名称 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 QueryVariantGroupParam queryVariantGroupParam = new QueryVariantGroupParam(); try { ResultListVariantGroupVo result = apiInstance.getVariantGroupList(queryVariantGroupParam); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.getVariantGroupList异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/getVariantGroupList| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "resourceId":"", "resourceType":"" } ``` <a id="getVariantHistoryData"></a> ## **获取变量的历史数据** > ResultMapStringListArrayObject getVariantHistoryData(queryHistoryCurveForm) ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **queryHistoryCurveForm** | **QueryVariantHistoryParam**| queryHistoryCurveForm | #### QueryVariantHistoryParam 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **endTime** | **String** | 结束时间 | **startTime** | **String** | 开始时间 | **variantList** | **List&lt;String&gt;** | 变量集合 格式[deviceId:variantId,...] | ### 返回参数 ResultMapStringListArrayObject 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **Map&lt;String, List&lt;List&lt;Object&gt;&gt;&gt;** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 QueryVariantHistoryParam queryHistoryCurveForm = new QueryVariantHistoryParam(); try { ResultMapStringListArrayObject result = apiInstance.getVariantHistoryData(queryHistoryCurveForm); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.getVariantHistoryData异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/getVariantHistoryData| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "startTime":"", "endTime":"" } ``` <a id="getVariantList"></a> ## **获取变量列表** > ResultIPageVariantDetailedInfoVo getVariantList(queryVariantParam) 根据不同得条件查询变量 ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **queryVariantParam** | **QueryVariantParam**| queryVariantParam | #### QueryVariantParam 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **currentPage** | **Integer** | 当前页 | **isStorageStored** | **Boolean** | 只返回存在 条件储存关联关系的 变量 | - **isStored** | **Boolean** | 返回存在 储存的变量 | - **keyword** | **String** | 模糊搜索变量id/名称 | - **pageSize** | **Integer** | 分页大小 | **resourceIds** | **List&lt;String&gt;** | 资源id列表,由resourceType指定类型 | **resourceType** | **String** | 资源类型,可选【project&#x3D;‘项目’,template&#x3D;‘模板’,device&#x3D;‘设备’,variantFavorite&#x3D;‘变量组’,condition&#x3D;‘条件储存’,variantTag&#x3D;‘变量标签’】 | **saveType** | **String** | 类型 可传值:[0,1,2,3]对应【0.不存储,1.周期存储(需要制定saveValue周期时间),2.变化存储,3.条件存储】 | - **saveValue** | **String** | 值,在saveType指定为1时需要指定savaValue | - **variantGroupIds** | **List&lt;String&gt;** | 变量分组id | - **variantLevel** | **String** | 控制等级 | - **writeable** | **String** | 可读/读写 | - ### 返回参数 ResultIPageVariantDetailedInfoVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **IPageVariantDetailedInfoVo** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - IPageVariantDetailedInfoVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **current** | **Long** | | - **hitCount** | **Boolean** | | - **pages** | **Long** | | - **records** | **List&lt;VariantDetailedInfoVo&gt;** | | - **searchCount** | **Boolean** | | - **size** | **Long** | | - **total** | **Long** | | - VariantDetailedInfoVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **addr** | **String** | 变量地址 | - **collectorName** | **String** | 变量地址 | - **dataType** | **String** | 数据类型 | - **deviceId** | **String** | 设备id | - **groupName** | **String** | 分组名称 | - **levelName** | **String** | 安全类型名称 | - **phoneVisible** | **Integer** | 可移动的 | - **plcName** | **String** | plc名称 | - **projectId** | **String** | 项目Id | - **readOnly** | **Boolean** | 是否只读 | - **saveType** | **String** | 保存类型 | - **saveValue** | **String** | 保存值 | - **sort** | **Integer** | 排序号 | - **tagId** | **String** | 关联标签id | - **tagName** | **String** | 关联标签name | - **textFalse** | **String** | textFalse | - **textTrue** | **String** | textTrue | - **unit** | **String** | 单位 | - **variantId** | **Integer** | 变量id | - **variantLevel** | **String** | 变量级别 | - **variantName** | **String** | 变量name | - **writeable** | **String** | 读写 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 QueryVariantParam queryVariantParam = new QueryVariantParam(); try { ResultIPageVariantDetailedInfoVo result = apiInstance.getVariantList(queryVariantParam); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.getVariantList异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/getVariantList| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "saveType":"", "saveValue":"", "isStorageStored":false, "pageSize":0, "writeable":"", "currentPage":0, "isStored":false, "keyword":"", "resourceType":"", "variantLevel":"" } ``` <a id="getVariantListByIds"></a> ## **根据变量id获取变量列表** > ResultListVariantDetailedInfoVo getVariantListByIds(variantList) 根据变量id获取变量详情 ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **variantList** | **List&lt;String&gt;**| 变量列表 [设备id:变量id,设备id:...] | ### 返回参数 ResultListVariantDetailedInfoVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **List&lt;VariantDetailedInfoVo&gt;** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - VariantDetailedInfoVo 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **addr** | **String** | 变量地址 | - **collectorName** | **String** | 变量地址 | - **dataType** | **String** | 数据类型 | - **deviceId** | **String** | 设备id | - **groupName** | **String** | 分组名称 | - **levelName** | **String** | 安全类型名称 | - **phoneVisible** | **Integer** | 可移动的 | - **plcName** | **String** | plc名称 | - **projectId** | **String** | 项目Id | - **readOnly** | **Boolean** | 是否只读 | - **saveType** | **String** | 保存类型 | - **saveValue** | **String** | 保存值 | - **sort** | **Integer** | 排序号 | - **tagId** | **String** | 关联标签id | - **tagName** | **String** | 关联标签name | - **textFalse** | **String** | textFalse | - **textTrue** | **String** | textTrue | - **unit** | **String** | 单位 | - **variantId** | **Integer** | 变量id | - **variantLevel** | **String** | 变量级别 | - **variantName** | **String** | 变量name | - **writeable** | **String** | 读写 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 List<String> variantList = Arrays.asList(new List<String>()); try { ResultListVariantDetailedInfoVo result = apiInstance.getVariantListByIds(variantList); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.getVariantListByIds异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/getVariantListByIds| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "variantList":[] } ``` <a id="getVariantRealtimeValueList"></a> ## **获取变量值** > ResultListVariantRealtimeValue getVariantRealtimeValueList(variantIds) 根据变量列表查询变量值 ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **variantIds** | **List&lt;String&gt;**| 变量列表,结构为[设备id:变量id,...] | - ### 返回参数 ResultListVariantRealtimeValue 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **List&lt;VariantRealtimeValue&gt;** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - VariantRealtimeValue 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **good** | **Boolean** | 变量状态 | - **time** | **Long** | 变量值时间 | - **value** | **String** | 变量值 | - **variantId** | **String** | 变量id | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 List<String> variantIds = Arrays.asList(new List<String>()); try { ResultListVariantRealtimeValue result = apiInstance.getVariantRealtimeValueList(variantIds); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.getVariantRealtimeValueList异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/getVariantRealtimeValueList| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "variantIds":[] } ``` <a id="writeVariantValue"></a> ## **控制设备变量的值** > ResultObject writeVariantValue(param) ### 请求参数 名称 | 类型 | 描述 | 备注 ------------- | ------------- | ------------- | ------------- **param** | **WriteVariantValue**| param | #### WriteVariantValue 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **deviceId** | **String** | 设备ID | - **value** | **String** | 变量值 | - **variantId** | **Integer** | 变量ID | - ### 返回参数 ResultObject 名称 | 类型 | 描述 | 备注 ------------ | ------------- | ------------- | ------------- **code** | **String** | 响应码 | - **data** | **Object** | 响应数据 | - **msg** | **String** | 响应消息 | - **time** | **OffsetDateTime** | 响应时间 | - ### java-sdk 调用示例 ```java //实例化api类,传入token VariantApi apiInstance = new VariantApi(token); //实例化请求参数 WriteVariantValue param = new WriteVariantValue(); try { ResultObject result = apiInstance.writeVariantValue(param); System.out.println(result); } catch (ApiException e) { System.err.println("调用VariantApi.writeVariantValue异常: " + e.getMessage()); e.printStackTrace(); } ``` ### HTTP 调用示例 | 属性 | 名称 | | --------------- | ------------------------ | | HTTP请求地址 | http://[server]:[port]/api-business/variant/writeVariantValue| | 请求方式 | POST | | Content-Type | application/json | | header:key | Authorization| | header:value |Bearer *YOUR_ACCESS_TOKEN*| 请求参数: ```json { "variantId":0, "deviceId":"", "value":"" } ```