Topic: Problems to get the sensor value in Node.js
Hi, I'm having trouble getting the sensor value "can_engine_hrs".
Executed the function "core/search_items", to obtain the id, of the sensor in the vehicle.
function searchSensors () {
var params = {
"spec":{
"itemsType": "avl_unit",
"propName":"sys_id",
"propValueMask":"18940679", // ID VEHICLE
"sortType":"sys_id"
},
"force":1,
"flags":0x1000,
"from":0,
"to":0
};
request.post({
url: URL + 'svc=core/search_items',
json: true,
form: {
sid: SID,
params: JSON.stringify(params)
}
}, function (error, response, body) {
async.forEach(body.items, function(result) {
console.log(result.sens[3]);
})
});
}
RESULT: "
{ id: 3,
n: 'Engine Hours',
t: 'relative engine hours',
d: '',
m: 'hours',
p: 'can_engine_hrs',
f: 0,
c:
'{"act":1,"appear_in_popup":true,"ci":{},"cm":1,"consumption":0,"mu":0,"pos":
9,"show_time":false,"timeout":0,"uct":0}',
vt: 1,
vs: 0,
tbl: [ { x: 1, a: 0.05, b: 0 } ] }
Executed the function "messages / load_last", to obtain the latest messages. (When I was finding out how to get the value of the sensor, they indicated that the last messages had to be loaded, I do not understand the reason)
function msj() {
var params = {
"itemId":"18940679", // ID Vehicle
"lastTime":0,
"lastCount":1,
"flags":0,
"flagsMask":0,
"loadCount":1
};
request.post({
url: URL + 'svc=messages/load_last',
json: true,
form: {
sid: SID,
params: JSON.stringify(params)
}
}, function (error, response, body) {
console.log(body);
hr();
});
}
RESULT:
{ count: 1,
messages:
[ { t: 1555344100,
f: 1073741827,
tp: 'ud',
pos: [Object],
i: 35025,
lc: 546811456,
rt: 1555344109,
p: [Object] } ] }
Executed the function "unit / calc_sensors'', to get the value of the sensor, but I get an error.
function hr() {
var params = {
"souce":"",
"indexFrom":0,
"indexTo":1,
"unitId":"18940679",
"sensorId":3
};
request.post({
url: URL + 'svc=unit/calc_sensors',
json: true,
form: {
sid: SID,
params: JSON.stringify(params)
}
}, function (error, response, body) {
console.log(body);
});
}
RESULT:
{ error: 4,
reason:
'VALIDATE_PARAMS_ERROR: {source: text, indexFrom: uint, indexTo: uint, unitId
: long, sensorId: long}' }
Reading in the forum, I saw that they gave a page of ejmplo. OK, I change the values that I use, but it gives me a value that does not match my sensor values.
PAGE: https://sdk.wialon.com/playground/nd2rz2kG/2
RESULT:
sensor values: [
{
"3": -348201.3876
}
]
On the platform of wialon gives me the following value: can_engine_hrs: 2430
What am I failing ?