Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

A raw_result is a type of MQTT message published by almost every data acquisition module of the SiteController to the MQTT topic raw_result/<gateway_id>, it contains the values read by the module, normally (but not restricted to) as numbers or strings, without any processing applied. A raw_result message can contain the value read from 1 or more sensors, the used format is always JSON. This type of messages are not retained in internal storage nor sent to the cloud.

A raw_result should comply with the following structure:

raw_result message structure
{
    "error_code": <int>,
    "result_dict": {
        "sensor_1": {
            "changed": <true | false>,
            "value": <value read from sensor/datapoint>,
            "err_code": <int>,
            "err_desc": "<description of an error>"
        },
        "sensor_2": {
             ......
        },
        "sensor_3": {
             ......
        }
    },
    "partial": <true means this raw_result can contain just some sensors associated to the sensor_gateway, false or absent means all sensor are present in every raw_result message>,
    "sensor_gateway_id": "<identification of the gateway associated to this sensor group>",
    "timestamp": "<message timestamp in ISO8601 format>"
}

Field definition

NamePurposeOptionalDefault value
error_codeError code classifying the whole raw_resultNo
result_dictdictionary with every sensor read, see the next table for more informationNo
partial

true means this raw_result can contain just some sensors associated to the sensor_gateway, false or absent means all sensor are present in every raw_result message

Note: Parameter added in  SC-1088 - Getting issue details... STATUS

YesFalse
sensor_gateway_idIdentification of the gateway associated to this sensor groupNo
valueTypeThis could be set to one of a list of specific data types to indicate the data values in result_dict have a special relationship (e.g. GPS coordinates, high frequency data samples, WiFi or Bluetooth scan data, ...)Yes
timestampMessage timestamp in ISO8601 formatYescurrent timestamp

Field result_dict

NamePurposeOptionalDefault value
changedMark the specific sensor as been changed in comparison with the last reading No
valueValue readed from the sensor, this can be a number, string or (in case of a set valueType in the raw_result object) any other valid JSON structure accoding to that valueTypeNo
err_codeInteger value representing a error about this specific sensor, 0 means no error, any other value means a error specific for the device, this value have higher relevance than error_code from raw_resultYes0
err_descTextual representation of the errorYes""

Available valueTypes

valueTypedescriptionFuther reading (e.g. Jira Ticket/Wiki page)
graphBlobhigh frequency sensor data sampleFAG smart check
wifiAccessPointsa list of WiFi Access points in rangeAP (wifi) scanner
beaconRaw
ble scanner
ble_estimote
ble scanner
ble_scanner
ble scanner

Example

{
    "error_code": 0, 
    "result_dict": {
        "accuracy": {
            "changed": true, 
            "value": 1.1061637275660097
        }, 
        "mac": {
            "changed": false, 
            "value": "d9:cc:ba:9a:88:db"
        }, 
        "major": {
            "changed": false, 
            "value": 4463
        }, 
        "minor": {
            "changed": false, 
            "value": 12099
        }, 
        "proximity": {
            "changed": false, 
            "value": 1.0,
            "err_code": 1,
            "err_desc": "too close"
        }, 
        "rssi": {
            "changed": true, 
            "value": -77
        }, 
        "tx_power": {
            "changed": false, 
            "value": -76
        }, 
        "type": {
            "changed": false, 
            "value": "IBeaconAdvertisement"
        }, 
        "uuid": {
            "changed": false, 
            "value": "b9407f30-f5f8-466e-aff9-25556b57fe6d"
        }
    }, 
    "sensor_gateway_id": "ble_ibeacon", 
    "timestamp": "2018-05-18T15:04:35.097Z", 
    "valueType": "beaconRaw",
    "partial": false
}
  • No labels