Skip to content
 
 

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SmartBus Build Status

Node.js implementation of HDL SmartBus protocol http://hdlautomation.com

Initialization

Create instance of SmartBus connector

var SmartBus = require('smart-bus');

var bus = new SmartBus({
  subnet: 1,
  id: 50,                   // Device id for connector
  gateway: '192.168.1.250', // HDL SmartBus gateway IP

  port: 6000                // Listening port, default: 6000
});

Receive commands

Add handler to intercept all commands across bus

bus.on('command', function(command) {

  // Integer with command operation code
  command.code;

  // Device objects
  command.sender;
  command.target;

  // Object with decoded data or raw buffer
  // if data can not be parsed automatically
  command.data;

});

Handlers can be added for broadcast messages or specific commands

bus.on('broadcast', function(command) { ... });
bus.on(0x0032, function(command) { ... });

Listen for commands from specific device

var sensor = bus.device('1.20');

sensor.on(0x1647, function(data, target) { ... });

Send commands

Use connector to send commands

bus.send('1.4', 0x0031, { channel: 1, level: 100 }, function(err) { ... });

Or use device object

var logic = bus.device('1.10');

logic.send(0xE01C, { switch: 1, status: 1 }, function(err) { ... });

Both send methods accepts raw Buffer as data object. In case if data object can not be encoded error will be passed into callback.

DSL

Initialize channel object

var dimmer = bus.device('1.4');
var spotlights = dimmer.channel(2);

Listen to channel status event

spotlights.on('status', function() {
  console.log('Spotlights level is %s', spotlights.level);
});

Set device channel level value to 100 in 5 seconds

spotlights.control(100, { time: 5 }, function(err) { ... });

control function will send 0x0031 command into bus.

About

Node.js implementation of HDL SmartBus protocol

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages