A base for smart object plugins
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is even with AllSmartObjects:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
.gitignore
.travis.yml
LICENSE
Makefile
README.md
index.js
package.json

README.md

smartbase

smartbase is a base board for you to create a smartobject with plugins.

NPM

Travis branch npm PyPI npm


1. Overview

This module helps developers integrate plugins into a smartobject. smartbase is like a carrier and plugins are various peripherals such as a LED, a temperature sensor, a switch to be put into the smartobject. In addition, **smartbase ** makes the smartobject listenable as well.


2. Installation

$ npm install smartbase --save


3. Basic Usage

var SmartObject = require('smartobject'),
    smartbase = require('smartbase');

// Plugin of a LED on LinkIt Smart 7688
var ledPlugin = require('linkit-smart-7688-led');
var so = new SmartObject();

so = smartbase(so, {
    led0: ledPlugin({ iid: 0, pin: 10, active: 'high' }),
    led1: ledPlugin({ iid: 1, pin: 11, active: 'low' })
});

// attach a listener to receive the change from resource 'lightCtrl/0/onOff' 
so.onChange('lightCtrl/0/onOff', function (cVal, pVal) {
    console.log('A listener to this resource');
    console.log(cVal);  // current value
    console.log(pVal);  // previous value
});

so.onChange('temperature/0/sensorValue', function (cVal, pVal) {
    console.log('Another listener to this resource');
});

// Modify the sensorValue of the temperature sensor and the listener will be triggered
so.write('temperature', 0, 'sensorValue', 80, function (err, data) {
    if (err)
        console.log(err);
});