Skip to content

物模型格式

一、物模型格式

提示

物模型分为属性、功能和事件三类,每个类型下可以包含多个物模型项。归属于产品,并在redis中存储。对象类型不支持嵌套,对象里面参数类型不支持数组和对象。

json
{
    "key":"product_key",   // 产品标识
    "name":"产品名称",      // 产品名称
    "properties":[        // 属性列表
        {
            "key":"temperature", // 属性标识
            "name":"温度",        // 属性名称
            "order":1,           // 排序
            "desc":"温度描述",    // 描述
            "extFlag":{          // 附加标志
                "isChart":1,      // 是否图表展示(0-否,1-是)
                "isMonitor":1,    // 是否实时监测(0-否,1-是)
                "isReadonly":1,   // 是否只读数据(0-否,1-是)
                "isHistory":1,    // 是否历史存储 (0-否,1-是)
                "isSharePerm":0   // 是否设备分享权限(0-否,1-是)
            },
            "valueType":{
                "type":"decimal", // 类型:bool、integer、decimal、string、enum、object 
                "max":100,        // 最大值
                "min":-50,        // 最小值
                "decimals":1,     // 小数位数
                "unit":"℃",       // 单位
                "step":0.1,        // 步长
                "fromType":"device", //  属性来源类型:device设备变量,cloud_inpu云端录入型变量,cloud_calculate云端运算型变量 
                "formula":"",        //  公式 "temperature * 12 + 3"
                "defalutValue":""    // 云端录入型变量默认值
            }
        },
        {
            "key":"iccid_jie",
            "name":"ICCID字符串",
            "order":2,
            "desc":"ICCID字符串描述",
            "extFlag":{
                "isChart":0,
                "isMonitor":0,
                "isReadonly":1,
                "isHistory":0,
                "isSharePerm":0
            },
            "valueType":{
                "type":"string",
                "maxLength":10   // 最大长度
            }
        },
        {
            "key":"exec_status",
            "name":"执行状态",
            "order":3,
            "desc":"执行状态描述",
            "extFlag":{
                "isChart":0,
                "isMonitor":0,
                "isReadonly":1,
                "isHistory":0,
                "isSharePerm":0
            },
            "valueType":{
                "type":"enum",
                "enumList":[     // 枚举列表
                    {
                        "value":"0",   // 枚举值
                        "text":"未执行"  // 枚举文本
                    },
                    {
                        "value":"1",
                        "text":"执行中"
                    },
                    {
                        "value":"2",
                        "text":"已执行"
                    },
                    {
                        "value":"3",
                        "text":"执行失败"
                    }
                ]
            }
        },
        {
            "key":"tags",
            "name":"标签数组",
            "order":4,
            "desc":"标签数组描述",
            "extFlag":{
                "isChart":0,
                "isMonitor":0,
                "isReadonly":1,
                "isHistory":0,
                "isSharePerm":0
            },
            "valueType":{
                "type":"array",
                "itemType":"string",
                "arrayCount":3,
                "itemKeys":[
                    "red",
                    "green",
                    "blue"
                ]
            }
        },
        {
            "key":"location",
            "name":"位置",
            "order":5,
            "desc":"位置描述",
            "extFlag":{
                "isChart":0,
                "isMonitor":0,
                "isReadonly":1,
                "isHistory":0,
                "isSharePerm":0
            },
            "valueType":{
                "type":"object",
                "items":[
                    {
                        "key":"latitude",
                        "name":"纬度",
                        "order":1,
                        "desc":"纬度描述",
                        "extFlag":{
                            "isChart":0,
                            "isMonitor":0,
                            "isReadonly":1,
                            "isHistory":0,
                            "isSharePerm":0
                        },
                        "valueType":{
                            "type":"decimal",
                            "max":180,
                            "min":-180,
                            "decimals":6,
                            "unit":"°",
                            "step":0.000001
                        }
                    },
                    {
                        "key":"longitude",
                        "name":"经度",
                        "order":2,
                        "desc":"经度描述",
                        "extFlag":{
                            "isChart":0,
                            "isMonitor":0,
                            "isReadonly":1,
                            "isHistory":0,
                            "isSharePerm":0
                        },
                        "valueType":{
                            "type":"decimal",
                            "max":180,
                            "min":-180,
                            "decimals":6,
                            "unit":"°",
                            "step":0.000001
                        }
                    }
                ]
            }
        }
    ],
    "functions":[                   // 功能列表
        {
            "key":"function_key",   // 功能标识
            "name":"功能名称",      // 功能名称
            "order":1,             // 排序
            "inputs":[            // 输入参数列表
                {
                    "key":"in_param_1",
                    "name":"输入参数1",
                    "order":6,
                    "desc":"输入参数1描述",
                    "extFlag":{
                        "isChart":0,
                        "isMonitor":0,
                        "isReadonly":0,
                        "isHistory":0,
                        "isSharePerm":0
                    },
                    "valueType":{
                        "type":"integer",
                        "max":100,
                        "min":-50,
                        "decimals":1,
                        "unit":"℃",
                        "step":0.1
                    }
                }
            ],
            "outputs":[            // 输出参数列表
                {
                    "key":"out_param_1",
                    "name":"输出参数1",
                    "order":7,
                    "desc":"输出参数1描述",
                    "extFlag":{
                        "isChart":0,
                        "isMonitor":0,
                        "isReadonly":0,
                        "isHistory":0,
                        "isSharePerm":0
                    },
                    "valueType":{
                        "type":"integer",
                        "max":100,
                        "min":-50,
                        "decimals":1,
                        "unit":"℃",
                        "step":0.1
                    }
                }
            ],
            "desc":""
        }
    ],
    "events":[                     // 事件列表
        {
            "key":"low_power",       // 事件标识
            "name":"低电量",          // 事件名称
            "order":1,               // 排序
            "inputs":[              // 输入参数列表
                {
                    "key":"power",
                    "name":"电量",
                    "order":8,
                    "desc":"电量描述",
                    "extFlag":{
                        "isChart":0,
                        "isMonitor":0,
                        "isReadonly":0,
                        "isHistory":0,
                        "isSharePerm":0
                    },
                    "valueType":{
                        "type":"integer",
                        "max":100,
                        "min":0,
                        "decimals":0,
                        "unit":"%",
                        "step":1
                    }
                }
            ],
            "desc":""
        }
    ],
    "tags":[                        // 标签列表
        {
            "key":"iccid",           // 标签标识
            "name":"ICCID",           // 标签名称
            "order":9,               // 排序
            "desc":"ICCID描述",       // 描述
            "extFlag":{              // 附加标志
                "isChart":0,
                "isMonitor":0,
                "isReadonly":0,
                "isHistory":0,
                "isSharePerm":0
            },
            "valueType":{
                "type":"string",
                "maxLength":10
            }
        }
    ],
    "extConfig":{
        "simCardConfig":{
            "iccidKey":"iccid_jie",  // ICCID对应的物模型字段Key
            "imsiKey":null           // IMSI对应的物模型字段Key
        }
    }
}

二、简洁物模型数据示例

提示

用于设备跟平台交互,跟产品定义的物模型id匹配

json
{
	"msgId":"45lkj3551234***",
  	"time":1626197189638,
	"data":{
    	"color":"red",
        "brightness":80
	}
}