{ "interface": "socketcan", "channel": "vcan0", "backend": { "fd": true }, "reconnectPeriod": 5, "devices": [ { "name": "Car", "sendDataOnlyOnChange": false, "enableUnknownRpc": true, "strictEval": false, "attributes": [ { "key": "isDriverDoorOpened", "nodeId": 41, "command": "2:2:big:8717", "value": "4:1:int", "expression": "bool(value & 0b00000100)", "polling": { "type": "once", "dataInHex": "AB CD AB CD" } } ], "timeseries": [ { "key": "rpm", "nodeId": 1918, "isExtendedId": true, "command": "2:2:big:48059", "value": "4:2:big:int", "expression": "value / 4", "polling": { "type": "always", "period": 5, "dataInHex": "aaaa bbbb aaaa bbbb" } }, { "key": "milliage", "nodeId": 1918, "isExtendedId": true, "value": "4:2:little:int", "expression": "value * 10", "polling": { "type": "always", "period": 30, "dataInHex": "aa bb cc dd ee ff aa bb" } } ], "attributeUpdates": [ { "attributeOnThingsBoard": "softwareVersion", "nodeId": 64, "isExtendedId": true, "dataLength": 4, "dataExpression": "value + 5", "dataByteorder": "little" } ], "serverSideRpc": [ { "method": "sendSameData", "nodeId": 4, "isExtendedId": true, "isFd": true, "bitrateSwitch": true, "dataInHex": "aa bb cc dd ee ff aa bb aa bb cc d ee ff" }, { "method": "setLightLevel", "nodeId": 5, "dataLength": 2, "dataByteorder": "little", "dataBefore": "00AA" }, { "method": "setSpeed", "nodeId": 16, "dataAfter": "0102", "dataExpression": "userSpeed if maxAllowedSpeed > userSpeed else maxAllowedSpeed" } ] } ] }