JSFiddle - React, Tailwind, and code Playground

by KarmaProd

HTML

<div id="out">

</div>

JavaScript

function pad(num, width){
    width = width || 2;
    num = num + '';
    return (num.length >= width ? num : pad('0'+num,width));
}

function decimalToHexString(intNum){
  if (intNum < 0)
     intNum = 0xFFFFFFFF + intNum + 1;
  return pad(intNum.toString(16),8);
}

function valueToHexStr(number){
  var intNum = parseInt(parseFloat(number) * 1000);
  return decimalToHexString(intNum);
}

// ----------------- BEGIN ------------

var msg = {};

var lastline = "2928,2019-03-15,18:59:00,30252.00,3491.00";

var fields = lastline.split(',');
var id = fields[0];
var date = fields[1];
var time = fields[2];
var values = fields.slice(); values.splice(0,3); // drop the first 3 elements

// if input datetime is UTC
//var timestamp = new Date(date + 'T' + time + 'Z').getTime() / 1000 | 0;
// if input datetime is localtime:
var timestamp = new Date(date + 'T' + time).getTime() / 1000 | 0;

hexrec = values.map(valueToHexStr).join('');

msg.unitid = msg.unitid;
msg.timestamp = timestamp;
msg.measure = hexrec;

//msg.id = id;
msg.date = date;
msg.time = time;
msg.values = values;




out = JSON.stringify(msg);

$('#out').html(out);