# 物模型字段说明
fogcloud 支持多种物模型格式的导入/导出,目前已经支持的格式有:metadata, tsl, sdf。
# 1. metadata
# 2. tsl
{ "schema": "物模型结构定义的访问URL", "profile": { "productKey": "当前产品的ProductKey" }, "properties": [ { "identifier": "属性唯一标识符(物模型模块下唯一)", "name": "属性名称", "accessMode": "属性读写类型:只读(r)或读写(rw)。", "required": "是否是标准功能的必选属性", "dataType": { "type": "属性类型: int(原生)、float(原生)、double(原生)、text(原生)、date(String类型UTC毫秒)、bool(0或1的int类型)、enum(int类型,枚举项定义方法与bool类型定义0和1的值方法相同)、struct(结构体类型,可包含前面7种类型,下面使用"specs":[{}]描述包含的对象)、array(数组类型,支持int、double、float、text、struct)", "specs": { "min": "参数最小值(int、float、double类型特有)", "max": "参数最大值(int、float、double类型特有)", "unit": "属性单位(int、float、double类型特有,非必填)", "unitName": "单位名称(int、float、double类型特有,非必填)", "size": "数组元素的个数,最大512(array类型特有)。", "step": "步长(text、enum类型无此参数)", "length": "数据长度,最大10240(text类型特有)。", "0": "0的值(bool类型特有)", "1": "1的值(bool类型特有)", "item": { "type": "数组元素的类型(array类型特有)" } } } } ], "events": [ { "identifier": "事件唯一标识符(物模型模块下唯一,其中post是默认生成的属性上报事件。)", "name": "事件名称", "desc": "事件描述", "type": "事件类型(info、alert、error)", "required": "是否是标准功能的必选事件", "outputData": [ { "identifier": "参数唯一标识符", "name": "参数名称", "dataType": { "type": "属性类型: int(原生)、float(原生)、double(原生)、text(原生)、date(String类型UTC毫秒)、bool(0或1的int类型)、enum(int类型,枚举项定义方法与bool类型定义0和1的值方法相同)、struct(结构体类型,可包含前面7种类型,下面使用"specs":[{}]描述包含的对象)、array(数组类型,支持int、double、float、text、struct)", "specs": { "min": "参数最小值(int、float、double类型特有)", "max": "参数最大值(int、float、double类型特有)", "unit": "属性单位(int、float、double类型特有,非必填)", "unitName": "单位名称(int、float、double类型特有,非必填)", "size": "数组元素的个数,最大512(array类型特有)。", "step": "步长(text、enum类型无此参数)", "length": "数据长度,最大10240(text类型特有)。", "0": "0的值(bool类型特有)", "1": "1的值(bool类型特有)", "item": { "type": "数组元素的类型(array类型特有)" } } } } ], "method": "事件对应的方法名称(根据identifier生成)" } ], "services": [ { "identifier": "服务唯一标识符(物模型模块下唯一,其中set/get是根据属性的accessMode默认生成的服务。)", "name": "服务名称", "desc": "服务描述", "required": "是否是标准功能的必选服务", "callType": "async(异步调用)或sync(同步调用)", "inputData": [ { "identifier": "入参唯一标识符", "name": "入参名称", "dataType": { "type": "属性类型: int(原生)、float(原生)、double(原生)、text(原生)、date(String类型UTC毫秒)、bool(0或1的int类型)、enum(int类型,枚举项定义方法与bool类型定义0和1的值方法相同)、struct(结构体类型,可包含前面7种类型,下面使用"specs":[{}]描述包含的对象)、array(数组类型,支持int、double、float、text、struct)", "specs": { "min": "参数最小值(int、float、double类型特有)", "max": "参数最大值(int、float、double类型特有)", "unit": "属性单位(int、float、double类型特有,非必填)", "unitName": "单位名称(int、float、double类型特有,非必填)", "size": "数组元素的个数,最大512(array类型特有)。", "step": "步长(text、enum类型无此参数)", "length": "数据长度,最大10240(text类型特有)。", "0": "0的值(bool类型特有)", "1": "1的值(bool类型特有)", "item": { "type": "数组元素的类型(array类型特有)" } } } } } ], "outputData": [ { "identifier": "出参唯一标识符", "name": "出参名称", "dataType": { "type": "属性类型: int(原生)、float(原生)、double(原生)、text(原生)、date(String类型UTC毫秒)、bool(0或1的int类型)、enum(int类型,枚举项定义方法与bool类型定义0和1的方法相同)、struct(结构体类型,可包含前面7种类型,下面使用"specs":[{}]描述包含的对象)、array(数组类型,支持int、double、float、text、struct)", "specs": { "min": "参数最小值(int、float、double类型特有)", "max": "参数最大值(int、float、double类型特有)", "unit": "属性单位(int、float、double类型特有,非必填)", "unitName": "单位名称(int、float、double类型特有,非必填)", "size": "数组元素的个数,最大512(array类型特有)。", "step": "步长(text、enum类型无此参数)", "length": "数据长度,最大10240(text类型特有)。", "0": "0的值(bool类型特有)", "1": "1的值(bool类型特有)", "item": { "type": "数组元素的类型(array类型特有)" } } } } ], "method": "服务对应的方法名称(根据identifier生成)" } ], //仅自定义模块的TSL中有以下参数。 "functionBlockId": "自定义模块的唯一标识符,模块ID", "functionBlockName": "自定义模块名称" //当产品下添加了自定义模块,默认模块TSL中会包含以下参数,表示已添加的自定义模块列表。 "functionBlocks": [ { "functionBlockId": "自定义模块的唯一标识符,模块ID", "functionBlockName": "自定义模块名称", "productKey": "产品ProductKey" } ] }