When you loaded events into session with events/load and want to get selections please use events/get:
By time:
svc=events/get¶ms={"selector":{ "type":<text>, "expr":<text>, "timeFrom":<uint>, "timeTo":<uint>, "detalization":<uint> }, ... }
Param | Description |
---|---|
type | sensor group: lls, trips, ignition, sensors, counters * (all groups) |
expr | intervals expression, it used instead of "type" param to get custom events intervals |
timeFrom | interval start, UNIX-time |
timeTo | interval end, UNIX-time |
detalization | output flags (see below) |
indexFrom | index of the first event requested |
indexTo | index of the last event requested |
filter1 | sensor ID |
Flag | Descrition |
---|---|
0x1 | Basic JSON: event start - event end |
0x2 | Specified detector data |
0x4 | User parameters (those which user stated for this event) |
0x8 | Track data in trips |
0x10 | Full JSON. Every detector treats it its own way |
0x20 | Formatted value |
0x40 | grouping the intersections of intervals with tf и tt |
0x80 | add summary |
To get custom events intervals use expression in "expr":<text> param instead type param.
Operator | Description | Example |
---|---|---|
{} | selection intervals by the value of detalization | trips{s>100}, trips with speed > 100 |
- | hyphenated custom interval | 1451953325-1451953525, from-to |
| | connection custom intervals | (1615849200-1615935599|1615935601-1616022000), 2 intervals from-to |
[] | sensor's id | sensors[3], empty means 1st sensor |
Reponse depends on type
specified.
Returns basic JSON (equal to all sensor groups)
"<type_name>": { "<sensor_id>": { "from": { "t":<uint>, /* time (UNIX-time) */ "y":<double>, /* latitude */ "x":<double> /* longitude */ }, "to": { "t":<uint>, /* time (UNIX-time) */ "y":<double>, /* latitude */ "x":<double> /* longitude */ }, "m":<uint>, /* last message received time */ "f":<uint> /* service flag */ } }
Returns specified detector data
"ignition": { "<sensor_id>": { "state":<uint>, /* state: 0 - off, 1 - on */ "type": 1, /* sensor type: switcher sensor */ "hours":<uint>, /* engine hours for all history, sec */ "switches":<uint>, /* number of swithes for all hoistory */ "value":<bool> /* current value */ } ... }
Here are listed all sensor types for sensors:
"sensors": { "<sensor_id1>": { "state":<uint>, /* state: 0 - off, 1 - on */ "type": 1, /* sensor type: switcher sensor */ "hours":<uint>, /* engine hours for all history, sec */ "switches":<uint>, /* number of swithes for all hoistory */ "value":<bool> /* current value */ }, "<sensor_id2>": { "type": 2, /* sensor type: instant sensor */ "counter":<uint>, /* message sequence conuter in event */ "summary":<uint>, /* value summary in event */ "total_counter":<uint>, /* number of messages in history */ "total_summary"<uint>, /* value summary in history */ "value":<double> /* last value; if -348201.3876 -- value unknown */ }, "<sensor_id3>": { "type": 3, /* sensor type: differential sensor */ "counter":<uint>, /* value sum in event */ "total_counter":<uint>, /* value sum in history */ "value":<double> /* last value; if -348201.3876 -- value unknown */ }, "<sensor_id4>": { "type": 4, /* sensor type: analog sensor */ "value":<double> /* last value; if -348201.3876 -- value unknown */ } }
"lls": { "<sensor_id>": { "value":<double>, /* last message value with calculated level */ "level":<double>, /* average median value (FLS filtration value is used) */ "filled":<double> /* fuel filled */ } }
"trips": { "state":<bool>, /* state: 0 - parking, 1 - trip, 2 - stop */ "max_speed":<uint>, /* max speed in trip */ "curr_speed":<uint>, /* current speed */ "avg_speed":<uint>, /* average speed according to distance */ "distance":<uint>, /* GPS mileage in trip */ "odometer":<uint>, /* distance for all trips during all history period */ "course":<uint>, /* course */ "altitude":<uint> /* altitude */ }
"counters": { "engine_hours": <uint>, /* engine hours counter */ "mileage": <uint>, /* mileage counter */ "bytes": <uint> /* GPRS traffic counter */ }
Returns user parameters Response depends on user definitions for current event.
"<type_name>": { "<sensor_id>": { "p":{ /* user-defined object content */ "test":2, "foo":"bar", "trips":1 } } }
Returns JSON with additional parameters:
for trips - track in Google notation.
{ "trips": { "0": [ { "track": "wspnGgvcv@??oey@kwl@~dtBkeRwjzF??~ja@_qo]??g~g^????????????~bV???????" } ] } }
Returns full JSON
For sensors with both type=2
and type=3
(except FLS):
"sensors": { "<sensor_id>": { "msgs": [ { "tm":<uint>, /* message time, UNIX-time */ "v":<double> /* value */ }, ... ] }, ... }
For FLS:
"lls": { "<sensor_id>": { "msgs": [ { "tm":<uint>, /* message time, UNIX-time */ "v":<double>, /* value */ "l":<double> /* average median value (FLS filtration value is used) */ }, ... ] } }, ... }
Returns formatted values
"ignition": { "sensor_id": { "format": { "value":<text> /* formatted value (usually "On"/"Off") */ } } }
"sensors": { "sensor_id": { "format": { "value":<text> /* formatted value, depends on sensor type and format */ } } }
"trips": { "format": { "distance":<text>, /* distance according to prev message */ "avg_speed":<text> /* average speed according to "distance" */ } }
"lls": { "sensor_id": { "format": { "value":<text>, /* formatted value, depends on sensor type and format */ "filled":<text> /* fuel filled */ } } }
"counters": { "format": { "engine_hours":<uint>, /* formatted value of engine hours counter */ "mileage":<text>, /* formatted value of mileage counter */ "bytes":<uint> /* formatted value of GPRS traffic counter */ } }
"selector": [ { "tf": <uint>, /* intersections interval, time from (unix time) */ "tt": <uint>, /* intersections interval, time to (unix time) */ "d": { "<type_name>":{ "<sensor_id>":[ { }, ] }, } }, ]
"selector":{ "<type_name>":{ "<sensor_id>":[ { }, ] }, }, "summary":{ "<type_name>":{ "<sensor_id>":{ "<summary_param_value>:<uint>", /* summary, different for different detectors */ "format": { "value":<text> /* formatted value, depends on sensor type and format */ } } }
|