bmv-602
Version:
Victron BMV-600 and BMV-602 display
134 lines (128 loc) • 2.05 kB
JavaScript
var serialport = require('serialport');
var port = new serialport.SerialPort('/dev/ttySER0', {
baudrate: 19200,
parser: serialport.parsers.readline('\r\n')});
var bmvdata = {
V: 0,
VS: 0,
I: 0,
CE: 0,
SOC: 0,
TTG: 0,
Alarm: 'OFF',
Relay: 'OFF',
AR: 0,
BMV: '602S',
FW: '212',
H1: 0,
H2: 0,
H3: 0,
H4: 0,
H5: 0,
H6: 0,
H7: 0,
H8: 0,
H9: 0,
H10: 0,
H11: 0,
H12: 0,
H13:0,
H14: 0,
H15: 0,
H16: 0,
};
port.on('data', function(line) {
// console.log(line);
var res = line.split("\t");
// console.log(res[0]+" = "+res[1]);
switch(res[0]) {
case 'V':
bmvdata.V = res[1];
console.log("V = "+bmvdata.V);
break;
case 'VS':
bmvdata.VS = res[1];
console.log("VS = "+bmvdata.VS);
break;
case 'I':
bmvdata.I = res[1];
break;
case 'CE':
bmvdata.CE = res[1];
break;
case 'SOC':
bmvdata.SOC = res[1];
break;
case 'TTG':
bmvdata.TTG = res[1];
break;
case 'Alarm':
bmvdata.Alarm = res[1];
break;
case 'Relay':
bmvdata.Relay = res[1];
break;
case 'AR':
bmvdata.AR = res[1];
break;
case 'BMV':
bmvdata.BMV = res[1];
break;
case 'FW':
bmvdata.FW = res[1];
break;
case 'H1':
bmvdata.H1 = res[1];
break;
case 'H2':
bmvdata.H2 = res[1];
break;
case 'H3':
bmvdata.H3 = res[1];
break;
case 'H4':
bmvdata.H4 = res[1];
break;
case 'H5':
bmvdata.H5 = res[1];
break;
case 'H6':
bmvdata.H6 = res[1];
break;
case 'H7':
bmvdata.H7 = res[1];
break;
case 'H8':
bmvdata.H8 = res[1];
break;
case 'H9':
bmvdata.H9 = res[1];
break;
case 'H10':
bmvdata.H10 = res[1];
break;
case 'H11':
bmvdata.H11 = res[1];
break;
case 'H12':
bmvdata.H12 = res[1];
break;
case 'H13':
bmvdata.H13 = res[1];
break;
case 'H14':
bmvdata.H14 = res[1];
break;
case 'H15':
bmvdata.H15 = res[1];
break;
case 'H16':
bmvdata.H16 = res[1];
break;
case 'Checksum':
break;
default:
console.log(line);
break;
}
});