Integrate your 433 remote switches into homebridge
Clone or download
Pull request Compare This branch is 13 commits ahead, 3 commits behind FWeinb:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
licenses Initial commit after fork. Dec 27, 2015
.gitignore Keep config.json out of git Jun 25, 2016
LICENSE Initial commit after fork. Dec 27, 2015
README.md Update to v1.1.5 Oct 3, 2017
config-sample.json Add config to use repeats Jun 25, 2016
index.js
package.json Update to v1.1.5 Oct 3, 2017

README.md

homebridge-rcswitch-gpiomem

http://n8henrie.com/2015/12/control-an-rf-outlet-with-siri-via-homebridge

Control RF outlets with HomeKit / Siri using rcswitch-gpiomem

Installation

  1. Install WiringPi
  2. Install homebridge: npm install -g homebridge
  3. Install homebridge-rcswitch-gpiomem: npm install --global homebridge-rcswitch-gpiomem
  4. Update your configuration file.

Configuration

See sample-config.json

Either onCode and offCode or systemcode and unitcode are required. My switches use on and off codes, so that's what I recommend and all I can really help with.

  • accessory: Must be RCSwitch (case sensitive)
  • name :: string :: What you want to call the switch. Keep in mind that Siri will prefer anything other than your homebridge switch if there's any confusion, so name it something unique
  • onCode, offCode :: int or string
    • If int: Decimal RF code to turn switch on / off
    • If string: Binary RF code to turn switch on / off
  • systemcode :: string :: RF system code. I don't use this, please refer to other docs.
  • unitcode :: int :: RF unit code. I don't use this, please refer to other docs.
  • pin :: int, optional :: BCM pin connected to 433 mhz transmitter, defaults to 17
  • pulseLength :: int, optional :: RF pulse length, defaults to 190
  • bitLength :: int, optional :: bit length of RF code, only used if using decimal RF code, defaults to 24
  • repeats :: int, optional :: Number of times to repeat the transmission of the code, defaults to 10 (as per the original rcswitch code)

FAQ / Troubleshooting

It seems that the gpiomem system I use and the SysFS method of interacting with the GPIO are not compatible for reasons explained in this issue. Make sure that you aren't also using programs that access the GPIO by way of SysFS or this library may not work.

Changelog

20171003 :: 1.1.5

  • Moved enableTransmit into loop to allow different accessories to use different pins (@foodbag)

20160727 :: 1.1.3

  • Move setRepeatTransmit to just before calling switchOn() to facilitate multiple switches with different desired repeat counts

20160727 :: 1.1.2

  • Move setPulseLength from initialization to just before calling switchOn() to facilitate multiple switches with different pulse lengths (closes #2).