bulentv / js_zklib

Attendance Machine Library for NodeJS with a connection to the network using the UDP protocol and port 4370
GNU General Public License v2.0
56 stars 46 forks source link

Build Status

node-zklib

Attendance Machine Library for NodeJS with a connection to the network using the UDP protocol and port 4370

Install with:

npm install zklib

Usage

const ZKLib = require('zklib');

ZK = new ZKLib({
  ip: '192.168.5.11',
  port: 4370,
  inport: 5200,
  timeout: 5000,
});

// connect to access control device
ZK.connect(function(err) {
  if (err) throw err;

  // read the time info from th device
  ZK.getTime(function(err, t) {
    // disconnect from the device
    ZK.disconnect();

    if (err) throw err;

    console.log("Device clock's time is " + t.toString());
  });
});

Configuration

Option Required Values Default
ip yes string
port - number 4370
inport yes number
timeout - number -
attendanceParser - [ 'legacy', 'v6.60' ] 'legacy'
connectionType - [ 'udp', 'tcp' ] 'udp'

Currently only getAttendance was tested with TCP

API

Handle Callback

ZK.getTime(function(err, time) {
  if (err) throw err;
  console.log("Device clock's time is " + time.toString());
});

Testing

yarn test

Release Process

To release a new version

  1. Make sure current master branch is green on CI
  2. Ensure your local copy is up-to-date, then run sh ./scripts/release-branch.sh. This will create the x.x.x branch and assign tag x.x.x to HEAD and push it all to git origin
  3. CI will automatically create a NPM release if the build is passing.

Contributors

How to Contribute

Notes about versions

Credits

Based on php_zklib (https://github.com/dnaextrim/php_zklib)