物业物联网管理领域服务ISV接入文档
更新时间:2019-11-07 16:59:02
领域模型接入文档
概述
物业物联网管理系统(EBA)是动环视频一体化软件,针对物业体系的监控机房(生活水泵房、消防泵房、配电房、电梯等)设计的一套整体解决方案,它以网络为基础,将分散、独立的现场采集点进行联网,实现跨区域、统一监控和统一管理,它可以实时监视系统和设备的运行状态,记录和处理相关数据,及时侦测故障,通知相关人员处理,从而实现物业管理的少人或无人职守,以及动力、环境的集中监控维护管理,提高动力系统的可靠性和安全性。为物业管理的管理决策者提供了一种全新的、直观的管理工具,成为一种行之有效的监督手段和管理资源。
服务列表
接口名称 |
接口路径 |
当前版本 |
设备远程指令下发 |
/BuildingAutomation/setDeviceAttribute |
1.0 |
设备实时状态查询 |
/BuildingAutomation/getDeviceAttribute |
1.0 |
设置设备巡检指令 |
/BuildingAutomation/configInspection |
1.0 |
通用代码
1. 开发包依赖
<dependency>
<groupId>com.aliyun.api.gateway</groupId>
<artifactId>sdk-core-java</artifactId>
<version>1.6.0.3</version>
</dependency>
2. 示例代码
HttpClientBuilderParams builderParams = new HttpClientBuilderParams();
builderParams.setAppKey("1234567");
builderParams.setAppSecret("6726732dsfdsdsfdsfds");
ApacheHttpClient apacheHttpClient = new ApacheHttpClient(builderParams);
IoTApiRequest request = new IoTApiRequest();
request.setApiVer("1.2");
request.putParam("spaceid", "xxxxxx");
String host = "service-mesh.api-iot.cn-shanghai.aliyuncs.com";
String path = "/BuildingAutomation/xxxxx";
System.out.println(JSON.toJSONString(request));
ApiRequest apiRequest = new ApiRequest(HttpScheme.HTTP, host,
HttpMethod.POST_BODY, path, JSON.toJSONBytes(request));
apiRequest.setHttpConnectionMode(HttpConnectionModel.MULTIPLE_CONNECTION);
ApiResponse response = apacheHttpClient.sendSyncRequest(apiRequest);
System.out.println(request.getId());
System.out.println(
"response code = " + response.getCode() + " response message = " + response.getMessage()
+ " response content = " + new String(response.getBody(),
"utf-8"));
示例代码中的path的规则为:
/{moduleid}/{api}
其中moduleid 是使用的模型名称,api是模型中对应的服务接口
接口定义
1.设备远程指令下发
API概述
接口 |
版本 |
描述 |
setDeviceAttribute |
1.0 |
设备远程指令下发,设备模型属性设置 |
入参
参数名 |
数据类型 |
是否必填 |
参数描述 |
projectId |
String |
N |
项目Id |
deviceId |
String |
Y |
设备Id |
attribute |
String |
Y |
属性 |
value |
String |
Y |
属性值 |
出参
参数名 |
参数描述 |
数据类型 |
code |
错误码 |
Int |
message |
错误信息 |
String |
示例
入参示例
{
"deviceId":"device001",
"attribute":"temperature",
"value":"35"
}
出参示例
{
"code":200,
"message":"success"
}
2.设备实时状态查询
API概述
接口 |
版本 |
描述 |
getDeviceAttribute |
1.0 |
设备实时状态查询 |
入参
名称 |
类型 |
必填 |
描述 |
projectId |
String |
N |
项目Id |
deviceIds |
String |
Y |
设备Id集合 |
attribute |
String |
Y |
属性 |
出参
参数名 |
参数描述 |
数据类型 |
code |
结果码 |
Integer |
message |
结果信息 |
String |
localMsg |
中文结果信息 |
String |
data |
实时数据 |
Object |
-deviceId |
设备Id |
String |
-attribute |
属性 |
String |
-value |
属性值 |
String |
-time |
时间 |
long |
示例
入参示例
{
"deviceIds":["device001"],
"atrribute":"temperature"
}
返回示例
{
"code": 200,
"message": "success",
"data": [{
"deviceId": "device001",
"value": "26",
"attribute": "temperature",
"time": 19234646575
}]
}
3.设置设备巡检指令
API概述
接口 |
版本 |
描述 |
configInspection |
1.0 |
设置设备巡检指令 |
入参
名称 |
类型 |
必填 |
描述 |
projectId |
String |
Y |
项目Id |
type |
String |
Y |
巡检类型,NOW-立即开始巡检,AUTO-自动巡检,SCHEDULE-定时巡检 |
params |
JSON |
Y |
根据厂家提供的服务进行定义,对应不同type的参数设置 |
出参
参数名 |
参数描述 |
数据类型 |
code |
错误码 |
Int |
message |
错误信息 |
String |
示例
入参示例
{
"projectId":"p001",
"type":"ONCE",
"params":{"deviceId":["device01","device02"]}
}
返回示例
{
"code": 200,
"message": "success"
}
数据模型
1、项目数据
基础信息
模型id |
EbaProjectInfo |
模型描述 |
项目信息描述 |
版本 |
1.0 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
projectName |
varchar(128) |
项目名称 |
description |
varchar(1024) |
项目描述 |
imageUrl |
varchar(512) |
项目图片地址 |
province |
varchar(32) |
地理位置省份/直辖市 |
city |
varchar(32) |
市 |
dstrict |
varchar(32) |
县/区 |
street |
varchar(32) |
街道 |
address |
varchar(128) |
详细地址 |
latitude |
float |
位置坐标,纬度 |
longitude |
float |
位置坐标,经度 |
createTime |
bigint |
创建时间 |
2、空间数据
基础信息
模型id |
EbaSpaceInfo |
模型描述 |
空间信息描述 |
版本 |
1.1 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
spaceId |
varchar(64) |
空间Id |
spaceName |
varchar(128) |
空间名称 |
parentId |
varchar(64) |
父空间Id |
path |
varchar(256) |
树状层级空间Id路径 |
pathName |
varchar(256) |
树状层级空间名称路径 |
3、设备
基础信息
模型id |
EbaDeviceInfo |
模型描述 |
设备基本信息 |
版本 |
1.1 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
iotId |
varchar(64) |
设备Id |
deviceName |
varchar(128) |
设备名称 |
catalogId |
varchar(64) |
所属类目Id |
catalog |
varchar(64) |
所属类目名称 |
deviceType |
varchar(32) |
设备类型,设备-DEVICE;网关-GATEWAY |
model |
varchar(1024) |
设备属性定义,JSON格式 |
spaceId |
varchar(64) |
设备所在空间 |
gatewayId |
varchar(64) |
设备所在网关,deviceType=DEVICE时有效 |
4、告警数据
基础信息
模型id |
EbaAlarm |
模型描述 |
设备告警信息 |
版本 |
1.1 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
alarmId |
varchar(64) |
告警Id |
iotId |
varchar(64) |
设备Id |
deviceName |
varchar(64) |
设备名称 |
alarmName |
varchar(64) |
告警名称 |
description |
varchar(1024) |
告警描述 |
level |
tinyint |
告警等级,枚举取值范围1-10 |
attribute |
varchar(32) |
告警属性 |
value |
varchar(32) |
告警值 |
refRange |
varchar(32) |
参考值范围 |
time |
long |
告警时间,时间戳ms |
status |
tinyint |
确认状态 0-未确认 1-已确认 |
location |
varchar(512) |
告警设备位置 |
5、设备巡检数据
基础信息
模型id |
EbaInspceHistory |
模型描述 |
设备巡检历史数据 |
版本 |
1.0 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
routeId |
varchar(64) |
巡检Id |
type |
varchar(64) |
巡检类型,NOW-立即开始巡检,AUTO-自动巡检,SCHEDULE-定时巡检 |
operatorId |
varchar(64) |
操作用户Id |
operatorName |
varchar(1024) |
操作用户名称 |
reportUrl |
varchar(512) |
巡检报告地址 |
comment |
varchar(512) |
备注 |
startTime |
bigint |
巡检开始时间 |
endTime |
bigint |
巡检结束时间 |
location |
varchar(512) |
巡检的空间 |
6、设备远程操作记录
基础信息
模型id |
EbaDeviceOpsHistory |
模型描述 |
设备巡检远程操作历史记录数据 |
版本 |
1.0 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
iotId |
varchar(64) |
设备Id |
deviceName |
varchar(64) |
设备名称 |
time |
long |
控制时间,时间戳ms |
attribute |
varchar(64) |
属性 |
value |
varchar(512) |
值 |
operatorId |
varchar(32) |
操作用户Id |
operatorName |
varchar(32) |
操作用户名称 |
7、设备上报历史数据
基础信息
模型id |
EbaDeviceHistory |
模型描述 |
设备状态历史数据 |
版本 |
1.0 |
数据结构
字段名称 |
类型 |
描述 |
projectId |
varchar(64) |
项目Id |
iotId |
varchar(64) |
设备Id |
deviceName |
varchar(64) |
设备名称 |
time |
long |
上报时间,时间戳ms |
attribute |
varchar(64) |
属性 |
value |
varchar(512) |
值 |
catalog |
varchar(64) |
设备类型 |
location |
varchar(512) |
设备所在位置 |
8、用户分组数据
基础信息
模型id |
EbaUserGroup |
模型描述 |
用户分组信息 |
版本 |
1.0 |
数据结构
字段名称 |
类型 |
描述 |
groupId |
int |
分组ID |
groupName |
String |
分组名称 |
parentId |
int |
父节点ID,即父用户分组的id |
type |
int |
分组类型,1:超级管理员组 2:管理员组 3或其他:普通用户组 |
9、用户数据
基础信息
模型id |
EbaUser |
模型描述 |
用户信息 |
版本 |
1.0 |
数据结构
字段名称 |
类型 |
描述 |
userId |
varchar(64) |
用户Id |
userName |
varchar(64) |
用户登陆名 |
realName |
varchar(64) |
真实姓名 |
phone |
varchar(64) |
手机号 |
projectId |
varchar(64) |
所在项目 |
email |
varchar(128) |
邮件 |
comapnyId |
varchar(64) |
公司Id |
companyName |
varchar(128) |
公司名称 |
groupName |
varchar(64) |
所在分组名称 |
groupId |
varchar(64) |
所在分组Id |