apearson / insteon-packet-parser

A simple Insteon packet parser to be used by Node Serialport and a PowerLinc Modem (PLM) library or program

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

InsteonPacketParser

A simple Insteon packet parser to be used by Node Serialport and a PowerLinc Modem (PLM) library or program.

If you see any problems, have any advice, or want to help out please open an issue.

Examples

Send Command and read replies

const SerialPort = require('serialport');
const {InsteonParser} = require('../dist/main');

/* Open serial port */
const port = new SerialPort('/dev/tty.usbserial-A60336ZZ', {
  baudRate: 19200,
  dataBits: 8,
  stopBits: 1,
  parity: 'none'
});

/* Creating new parser */
const parser = new InsteonParser();

/* Porting serial port to parser */
port.pipe(parser);

/* On data */
parser.on('data', (data)=> console.info(data));

/* Result
  {
    id: 0x73,
    type: 'Get IM Configuration',
    autoLinking: true,
    monitorMode: true,
    autoLED: true,
    deadman: true,
    success: true
  }
*/

/* On serial port opened send command */
port.on('open', () => {
  const buf = Buffer.alloc(2);
        buf.writeUInt8(0x02, 0);
        buf.writeUInt8(0x73,1);

  port.write(buf, (error) => {
    if(error){
      console.error(`Error: ${error}`);
    }
  });
});

About

A simple Insteon packet parser to be used by Node Serialport and a PowerLinc Modem (PLM) library or program

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:TypeScript 100.0%