Iqrf Sensor/Dali FRC Improve response format with metadata
Based on tests described by #90 (closed) I suggest these changes in request/response messages:
- rename optional parameter:
"getNadrWithMetaData: boolean"
to"extFormat": boolean
- if
"extFormat": false
the response is returned in normal format as it is formed by JS driver - if
"extFormat": true
response is returned in extended format - if cfg file for component "iqrf::JsonMngMetaDataApi" has the item set:
"metaDataToMessages": true
the response has sensors annotadet with metadata, but only if"extFormat": true
request:
{
"mType": "iqrfSensor_Frc",
"data": {
"msgId": "testEmbedSensor",
"req": {
"nAdr": 0,
"param": {
"sensorType": 1,
"sensorIndex": 0,
"frcCommand": 144,
"getExtraResult": true,
"extFormat": false
}
}
}
}
Normal format response (regardless metadata configured or not):
"result": {
"sensors": [
null,
{
"id": "TEMPERATURE",
"type": 1,
"name": "Temperature",
"shortName": "T",
"value": 26,
"unit": "°C",
"decimalPlaces": 4
},
{
"id": "TEMPERATURE",
"type": 1,
"name": "Temperature",
"shortName": "T",
"value": 26,
"unit": "°C",
"decimalPlaces": 4
},
null
]
}
Extended format response if metadata not configured
"result": {
"sensors": [
{
"nAdr": 0,
"sensor": {
"id": "TEMPERATURE",
"type": 1,
"name": "Temperature",
"shortName": "T",
"value": 24.5,
"unit": "°C",
"decimalPlaces": 4
}
},
{
"nAdr": 1,
"sensor": {
"id": "TEMPERATURE",
"type": 1,
"name": "Temperature",
"shortName": "T",
"value": 24,
"unit": "°C",
"decimalPlaces": 4
}
},
{
"nAdr": 2,
"sensor": null
}
]
}
Extended format response if metadata configured
"result": {
"sensors": [
{
"nAdr": 0,
"sensor": {
"id": "TEMPERATURE",
"type": 1,
"name": "Temperature",
"shortName": "T",
"value": 24.5,
"unit": "°C",
"decimalPlaces": 4
},
"metaData": []
},
{
"nAdr": 1,
"sensor": {
"id": "TEMPERATURE",
"type": 1,
"name": "Temperature",
"shortName": "T",
"value": 24,
"unit": "°C",
"decimalPlaces": 4
},
"metaData": []
},
{
"nAdr": 2,
"sensor": null,
"metaData": []
}
]
}