node-enocean-button
v3.0.0
Published
a button for node-enocean
Downloads
21
Maintainers
Readme
node-enocean-button
this button is meant to be used with node-enocean it implements the f6-02-03 eep
installation
npm install node-enocean-button
usage
index.js
var enocean = require("node-enocean")();
var Button = require("../")
enocean.listen("/dev/ttyUSB0")
enocean.on("ready",function(){
var button = new Button(enocean,1)
if(process.argv[2] == "on"){
button.A1.click().then(enocean.close)
}else{
button.A0.click().then(enocean.close)
}
});
* call this from the command line with node index on
or node index off
usage with async await
var enocean = require("node-enocean")();
var Button = require("../")
enocean.listen("/dev/ttyUSB0")
enocean.on("ready",function(){
var button = new Button(enocean,1)
if(process.argv[2] == "on"){
await button.A1.click()
}else{
await button.A0.click()
}
enocean.close()
});
* call this from the command line with node index on
or node index off
for node version < 8.0 use node --harmony-async-await ...
flag
usage with koa
var koa = require('koa');
var app = koa()
var enocean = require("node-enocean")(); // require node-enocean
var Button = require("../"); // require the Button impl.
app.use(function *(ctx,next){
var button = new Button(enocean,1)
if(this.query.c == "on"){
yield button.A1.click()
this.body = makehtml("On")
}else{
yield button.A0.click()
this.body = makehtml("Off")
}
});
function makehtml(state){
return `<html><body>Button A was switched ${state} <div><a href="/?c=on">On</a>/<a href="/?c=off">Off</a></div></body></html>`
}
enocean.listen("/dev/ttyUSB0");
app.listen(3000);
* with koa2 you can use await instead of yield
the following buttons are available:
.A0
.A1
.B0
.B1
the following methods can be used to invoke an event.
.down()
.up()
.click()
you can check the generated telegrams with:
.B0upCode
.B0downCode
.B1upCode
.B1downCode
.A0upCode
.A0downCode
.A1upCode
.A1downCode
the actual address can be retrieved with
.address
see the examples for more info.