1{ 2 "host": "127.0.0.1", 3 "port": "5000", 4 "mapping":[ 5 { 6 "endpoint": "/device1", 7 "HTTPMethods": [ 8 "POST" 9 ], 10 "security": 11 { 12 "type": "basic", 13 "username": "user", 14 "password": "passwd" 15 }, 16 "converter": { 17 "type": "json", 18 "deviceNameExpression": "Device ${name}", 19 "deviceTypeExpression": "default", 20 "attributes": [ 21 { 22 "type": "string", 23 "key": "model", 24 "value": "${sensorModel}" 25 } 26 ], 27 "timeseries": [ 28 { 29 "type": "double", 30 "key": "${sensorModel}", 31 "value": "${temp}" 32 }, 33 { 34 "type": "double", 35 "key": "humidity", 36 "value": "${hum}" 37 } 38 ] 39 } 40 }, 41 { 42 "endpoint": "/anon1", 43 "HTTPMethods": [ 44 "GET", 45 "POST" 46 ], 47 "security": 48 { 49 "type": "anonymous" 50 }, 51 "converter": { 52 "type": "json", 53 "deviceNameExpression": "Device 2", 54 "deviceTypeExpression": "default", 55 "attributes": [ 56 { 57 "type": "string", 58 "key": "model", 59 "value": "Model2" 60 } 61 ], 62 "timeseries": [ 63 { 64 "type": "double", 65 "key": "temperature", 66 "value": "${temp}" 67 }, 68 { 69 "type": "double", 70 "key": "humidity", 71 "value": "${hum}" 72 } 73 ] 74 } 75 }, 76 { 77 "endpoint": "/anon2", 78 "HTTPMethods": [ 79 "POST" 80 ], 81 "security": 82 { 83 "type": "anonymous" 84 }, 85 "converter": { 86 "type": "custom", 87 "deviceNameExpression": "SuperAnonDevice", 88 "deviceTypeExpression": "default", 89 "extension": "CustomRestUplinkConverter", 90 "extension-config": [ 91 { 92 "key": "Totaliser", 93 "datatype": "float", 94 "fromByte": 0, 95 "toByte": 4, 96 "byteorder": "big", 97 "signed": true, 98 "multiplier": 1 99 }] 100 } 101 } 102 ], 103 "attributeUpdates": [ 104 { 105 "HTTPMethod": "POST", 106 "SSLVerify": false, 107 "httpHeaders": { 108 "CONTENT-TYPE": "application/json" 109 }, 110 "security": { 111 "type": "basic", 112 "username": "user", 113 "password": "passwd" 114 }, 115 "timeout": 0.5, 116 "tries": 3, 117 "allowRedirects": true, 118 "deviceNameFilter": ".*REST$", 119 "attributeFilter": "data", 120 "requestUrlExpression": "sensor/${deviceName}/${attributeKey}", 121 "valueExpression": "{\"${attributeKey}\":\"${attributeValue}\"}" 122 } 123 ], 124 "serverSideRpc": [ 125 { 126 "deviceNameFilter": ".*", 127 "methodFilter": "echo", 128 "requestUrlExpression": "http://127.0.0.1:5001/${deviceName}", 129 "responseTimeout": 1, 130 "HTTPMethod": "GET", 131 "valueExpression": "${params}", 132 "timeout": 0.5, 133 "tries": 3, 134 "httpHeaders": { 135 "Content-Type": "application/json" 136 }, 137 "security": { 138 "type": "anonymous" 139 } 140 }, 141 { 142 "deviceNameFilter": ".*", 143 "methodFilter": "no-reply", 144 "requestUrlExpression": "sensor/${deviceName}/request/${methodName}/${requestId}", 145 "HTTPMethod": "POST", 146 "valueExpression": "${params}", 147 "httpHeaders": { 148 "Content-Type": "application/json" 149 } 150 } 151 ] 152 }