rfswitch v0.0.2
node-rfswitch
Control RF outlets from nodejs.
This library was inspired by node-rcswitch but instead of creating bindings for rcswitch-pi this library uses node-rpio to control the GPIO.
Installation
The latest version can be installed via npm
$ npm install rfswitchMake sure that /dev/gpiomem exists and is writeable by you (usually by adding yourself to the gpio group).
If /dev/gpiomem exists but is not owned by the group gpio (e.g. on Arch Linux) see here.
Usage
Import rfswitch
const RFSwitch = require('./index.js')Create a switch
let group = '0F00F'
let unit = 'FF0FF'
let options = {
onCode: group + unit + '0F',
offCode: group + unit + 'F0'
}
let s = new RFSwitch(options)Turn the switch on/off
s.switchOn()
s.switchOff()Options
pin
The pin to which the sender is connected (using the BCM based GPIO numbering, defaults to 17)
protocol.tristate
Defines if the protocol uses tristate (0 = 00, 1 = 11, F = 01)
protocol.pulseLength
The length of one pulse in µs
protocol.zero, .one, .sync
The number of high and low pulses that equal a binary zero and one as well as the pulses used for synchronization (e.g. {high: 1, low: 3}).
onCode, offCode
The code used to turn the switch on/off. Some info on finding those codes can be found here
repeat
How should each code be send (defaults to 10 times)
Advanced
Use RFSwitch.send to send a code directly using a given pin and protocol
let pin = 17
let code = '0F00FFF0FF0F'
let protocol = {
tristate: true,
pulseLength: 350,
zero: {high: 1, low: 3},
one: {high: 3, low: 1},
sync: {high: 1, low: 31}
}
RFSwitch.send(pin, code, protocol)