blob: b5cec0045a9760e5881afe538b8620766057f819 [file] [log] [blame]
Andrew Geissler4b7c1152020-11-30 19:55:29 -06001{
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 }