{ "schema": "https://iotx-tsl.oss-ap-southeast-1.aliyuncs.com/schema.json", "profile": { "version": "1.0", "productKey": "a1QmpWqbHpw" }, "properties": [ { "identifier": "LogicalId", "name": "LogicalId", "accessMode": "r", "desc": "Logical nozzle id, always start from 1 to n, the confict scope is per pump.", "required": true, "dataType": { "type": "int", "specs": { "min": "1", "max": "16", "step": "1" } } }, { "identifier": "SiteLevelNozzleId", "name": "SiteLevelNozzleId", "accessMode": "rw", "desc": "站级枪号,由站点人工指定。", "required": true, "dataType": { "type": "int", "specs": { "min": "1", "max": "512", "step": "1" } } }, { "identifier": "ProductName", "name": "ProductName", "accessMode": "rw", "required": false, "dataType": { "type": "text", "specs": { "length": "256" } } }, { "identifier": "Price", "name": "Price", "accessMode": "rw", "required": false, "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "LastSaleVol", "name": "LastSaleVol", "accessMode": "r", "required": false, "dataType": { "type": "double", "specs": { "min": "0", "max": "999999", "step": "0.001" } } }, { "identifier": "LastSaleAmt", "name": "LastSaleAmt", "accessMode": "r", "required": false, "dataType": { "type": "double", "specs": { "min": "0", "max": "999999", "step": "0.001" } } }, { "identifier": "CurSaleVol", "name": "CurSaleVol", "accessMode": "r", "required": false, "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "CurSaleAmt", "name": "CurSaleAmt", "accessMode": "r", "required": false, "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "TotalizerVol", "name": "TotalizerVol", "accessMode": "r", "required": false, "dataType": { "type": "double", "specs": { "min": "0", "max": "999999999", "step": "0.001" } } }, { "identifier": "LastSaleTime", "name": "LastSaleTime", "accessMode": "r", "required": false, "dataType": { "type": "date", "specs": {} } }, { "identifier": "IsVirtualNozzle", "name": "IsVirtualNozzle", "accessMode": "r", "desc": "是否是一个实际物理油枪。\n单物理油枪可以是多个逻辑枪。", "required": false, "dataType": { "type": "bool", "specs": { "0": "非", "1": "是" } } }, { "identifier": "PumpId", "name": "PumpId", "accessMode": "rw", "desc": "一把枪是属于某个Pump即加油点的。\n这是指其所属的 PumpId", "required": false, "dataType": { "type": "int", "specs": { "min": "1", "max": "256", "step": "1" } } }, { "identifier": "CurState", "name": "CurState", "accessMode": "r", "required": false, "dataType": { "type": "enum", "specs": { "1": "FDC_DISABLED", "2": "FDC_ERRORSTATE", "3": "FDC_FUELLING", "4": "FDC_INVALIDSTATE", "5": "FDC_LOCKED", "6": "FDC_OFFLINE", "8": "FDC_READY", "10": "FDC_STARTED", "12": "FDC_CALLING", "16": "FDC_CLOSED", "17": "FDC_AUTHORISED" } } } ], "events": [ { "identifier": "post", "name": "post", "type": "info", "required": true, "desc": "属性上报", "method": "thing.event.property.post", "outputData": [ { "identifier": "LogicalId", "name": "LogicalId", "dataType": { "type": "int", "specs": { "min": "1", "max": "16", "step": "1" } } }, { "identifier": "SiteLevelNozzleId", "name": "SiteLevelNozzleId", "dataType": { "type": "int", "specs": { "min": "1", "max": "512", "step": "1" } } }, { "identifier": "ProductName", "name": "ProductName", "dataType": { "type": "text", "specs": { "length": "256" } } }, { "identifier": "Price", "name": "Price", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "LastSaleVol", "name": "LastSaleVol", "dataType": { "type": "double", "specs": { "min": "0", "max": "999999", "step": "0.001" } } }, { "identifier": "LastSaleAmt", "name": "LastSaleAmt", "dataType": { "type": "double", "specs": { "min": "0", "max": "999999", "step": "0.001" } } }, { "identifier": "CurSaleVol", "name": "CurSaleVol", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "CurSaleAmt", "name": "CurSaleAmt", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "TotalizerVol", "name": "TotalizerVol", "dataType": { "type": "double", "specs": { "min": "0", "max": "999999999", "step": "0.001" } } }, { "identifier": "LastSaleTime", "name": "LastSaleTime", "dataType": { "type": "date", "specs": {} } }, { "identifier": "IsVirtualNozzle", "name": "IsVirtualNozzle", "dataType": { "type": "bool", "specs": { "0": "非", "1": "是" } } }, { "identifier": "PumpId", "name": "PumpId", "dataType": { "type": "int", "specs": { "min": "1", "max": "256", "step": "1" } } }, { "identifier": "CurState", "name": "CurState", "dataType": { "type": "enum", "specs": { "1": "FDC_DISABLED", "2": "FDC_ERRORSTATE", "3": "FDC_FUELLING", "4": "FDC_INVALIDSTATE", "5": "FDC_LOCKED", "6": "FDC_OFFLINE", "8": "FDC_READY", "10": "FDC_STARTED", "12": "FDC_CALLING", "16": "FDC_CLOSED", "17": "FDC_AUTHORISED" } } } ] }, { "identifier": "OnNozzleStateChanged", "name": "OnNozzleStateChanged", "type": "info", "required": false, "method": "thing.event.OnNozzleStateChanged.post", "outputData": [ { "identifier": "NewState", "name": "NewState", "dataType": { "type": "enum", "specs": { "6": "FDC_OFFLINE", "8": "FDC_READY", "10": "FDC_STARTED", "12": "FDC_CALLING", "16": "FDC_CLOSED", "17": "FDC_AUTHORISED" } } } ] } ], "services": [ { "identifier": "set", "name": "set", "required": true, "callType": "async", "desc": "属性设置", "method": "thing.service.property.set", "inputData": [ { "identifier": "SiteLevelNozzleId", "name": "SiteLevelNozzleId", "dataType": { "type": "int", "specs": { "min": "1", "max": "512", "step": "1" } } }, { "identifier": "ProductName", "name": "ProductName", "dataType": { "type": "text", "specs": { "length": "256" } } }, { "identifier": "Price", "name": "Price", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "PumpId", "name": "PumpId", "dataType": { "type": "int", "specs": { "min": "1", "max": "256", "step": "1" } } } ], "outputData": [] }, { "identifier": "get", "name": "get", "required": true, "callType": "async", "desc": "属性获取", "method": "thing.service.property.get", "inputData": [ "LogicalId", "SiteLevelNozzleId", "ProductName", "Price", "LastSaleVol", "LastSaleAmt", "CurSaleVol", "CurSaleAmt", "TotalizerVol", "LastSaleTime", "IsVirtualNozzle", "PumpId", "CurState" ], "outputData": [ { "identifier": "LogicalId", "name": "LogicalId", "dataType": { "type": "int", "specs": { "min": "1", "max": "16", "step": "1" } } }, { "identifier": "SiteLevelNozzleId", "name": "SiteLevelNozzleId", "dataType": { "type": "int", "specs": { "min": "1", "max": "512", "step": "1" } } }, { "identifier": "ProductName", "name": "ProductName", "dataType": { "type": "text", "specs": { "length": "256" } } }, { "identifier": "Price", "name": "Price", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "LastSaleVol", "name": "LastSaleVol", "dataType": { "type": "double", "specs": { "min": "0", "max": "999999", "step": "0.001" } } }, { "identifier": "LastSaleAmt", "name": "LastSaleAmt", "dataType": { "type": "double", "specs": { "min": "0", "max": "999999", "step": "0.001" } } }, { "identifier": "CurSaleVol", "name": "CurSaleVol", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "CurSaleAmt", "name": "CurSaleAmt", "dataType": { "type": "double", "specs": { "min": "0", "max": "9999999", "step": "0.001" } } }, { "identifier": "TotalizerVol", "name": "TotalizerVol", "dataType": { "type": "double", "specs": { "min": "0", "max": "999999999", "step": "0.001" } } }, { "identifier": "LastSaleTime", "name": "LastSaleTime", "dataType": { "type": "date", "specs": {} } }, { "identifier": "IsVirtualNozzle", "name": "IsVirtualNozzle", "dataType": { "type": "bool", "specs": { "0": "非", "1": "是" } } }, { "identifier": "PumpId", "name": "PumpId", "dataType": { "type": "int", "specs": { "min": "1", "max": "256", "step": "1" } } }, { "identifier": "CurState", "name": "CurState", "dataType": { "type": "enum", "specs": { "1": "FDC_DISABLED", "2": "FDC_ERRORSTATE", "3": "FDC_FUELLING", "4": "FDC_INVALIDSTATE", "5": "FDC_LOCKED", "6": "FDC_OFFLINE", "8": "FDC_READY", "10": "FDC_STARTED", "12": "FDC_CALLING", "16": "FDC_CLOSED", "17": "FDC_AUTHORISED" } } } ] }, { "identifier": "ChangePrice", "name": "ChangePrice", "required": false, "callType": "sync", "method": "thing.service.ChangePrice", "inputData": [ { "identifier": "NewPrice", "name": "NewPrice", "dataType": { "type": "double", "specs": { "min": "0.01", "max": "9999999999", "step": "0.01" } } } ], "outputData": [ { "identifier": "IsChangePriceSucceed", "name": "IsChangePriceSucceed", "dataType": { "type": "bool", "specs": { "0": "No", "1": "Yes" } } } ] } ] }