Andrew Geissler | 4b7c115 | 2020-11-30 19:55:29 -0600 | [diff] [blame] | 1 | { |
| 2 | "interface": "socketcan", |
| 3 | "channel": "vcan0", |
| 4 | "backend": { |
| 5 | "fd": true |
| 6 | }, |
| 7 | "reconnectPeriod": 5, |
| 8 | "devices": [ |
| 9 | { |
| 10 | "name": "Car", |
| 11 | "sendDataOnlyOnChange": false, |
| 12 | "enableUnknownRpc": true, |
| 13 | "strictEval": false, |
| 14 | "attributes": [ |
| 15 | { |
| 16 | "key": "isDriverDoorOpened", |
| 17 | "nodeId": 41, |
| 18 | "command": "2:2:big:8717", |
| 19 | "value": "4:1:int", |
| 20 | "expression": "bool(value & 0b00000100)", |
| 21 | "polling": { |
| 22 | "type": "once", |
| 23 | "dataInHex": "AB CD AB CD" |
| 24 | } |
| 25 | } |
| 26 | ], |
| 27 | "timeseries": [ |
| 28 | { |
| 29 | "key": "rpm", |
| 30 | "nodeId": 1918, |
| 31 | "isExtendedId": true, |
| 32 | "command": "2:2:big:48059", |
| 33 | "value": "4:2:big:int", |
| 34 | "expression": "value / 4", |
| 35 | "polling": { |
| 36 | "type": "always", |
| 37 | "period": 5, |
| 38 | "dataInHex": "aaaa bbbb aaaa bbbb" |
| 39 | } |
| 40 | }, |
| 41 | { |
| 42 | "key": "milliage", |
| 43 | "nodeId": 1918, |
| 44 | "isExtendedId": true, |
| 45 | "value": "4:2:little:int", |
| 46 | "expression": "value * 10", |
| 47 | "polling": { |
| 48 | "type": "always", |
| 49 | "period": 30, |
| 50 | "dataInHex": "aa bb cc dd ee ff aa bb" |
| 51 | } |
| 52 | } |
| 53 | ], |
| 54 | "attributeUpdates": [ |
| 55 | { |
| 56 | "attributeOnThingsBoard": "softwareVersion", |
| 57 | "nodeId": 64, |
| 58 | "isExtendedId": true, |
| 59 | "dataLength": 4, |
| 60 | "dataExpression": "value + 5", |
| 61 | "dataByteorder": "little" |
| 62 | } |
| 63 | ], |
| 64 | "serverSideRpc": [ |
| 65 | { |
| 66 | "method": "sendSameData", |
| 67 | "nodeId": 4, |
| 68 | "isExtendedId": true, |
| 69 | "isFd": true, |
| 70 | "bitrateSwitch": true, |
| 71 | "dataInHex": "aa bb cc dd ee ff aa bb aa bb cc d ee ff" |
| 72 | }, |
| 73 | { |
| 74 | "method": "setLightLevel", |
| 75 | "nodeId": 5, |
| 76 | "dataLength": 2, |
| 77 | "dataByteorder": "little", |
| 78 | "dataBefore": "00AA" |
| 79 | }, |
| 80 | { |
| 81 | "method": "setSpeed", |
| 82 | "nodeId": 16, |
| 83 | "dataAfter": "0102", |
| 84 | "dataExpression": "userSpeed if maxAllowedSpeed > userSpeed else maxAllowedSpeed" |
| 85 | } |
| 86 | ] |
| 87 | } |
| 88 | ] |
| 89 | } |