in source/simulator/lib/device/generators/vehicle/generator.js [47:89]
generateMessagePayload(payload, topic, id) {
if (this.dynamicsModel.ignitionData === 'run') {
let snapshot = this.dynamicsModel.snapshot;
let _message = {
topic: topic,
payload: {
timestamp: moment.utc().format('YYYY-MM-DD HH:mm:ss.SSSSSSSSS'),
trip_id: this.tripId,
VIN: this.VIN
}
}
for (let attribute of payload) {
if (snapshot.hasOwnProperty(attribute.name) || attribute.name === 'location') {
let value;
if (attribute.name === "location") {
value = {
latitude: snapshot.latitude,
longitude: snapshot.longitude
}
} else {
value = snapshot[attribute.name];
}
if (attribute.precision) {
let rounding = Math.round(Math.log10(1 / attribute.precision));
value = Number(Number(value).toFixed(rounding));
}
_message.payload[attribute.name] = value;
}
}
// save last processed snapshot
this.currentState = snapshot;
//add device id for filtering in UI
_message.payload._id_ = id;
this.messages.push(_message);
}
}