Siri / HomeKit control of RF switches by way of homebridge. Fork of https://github.com/FWeinb/homebridge-rcswitch
npm install homebridge-rcswitch-gpiomem3
Control RF outlets with HomeKit / Siri using
rcswitch-gpiomem3
1. Install WiringPi
1. Install homebridge: npm install -g homebridge
1. Install homebridge-rcswitch-gpiomem: npm install --global
homebridge-rcswitch-gpiomem3
1. Update your configuration file.
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)
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.
- Moved to new rcswitch dependancy rcswitch-gpiomem3. Now supporting node v10.x.x
- Moved enableTransmit into loop to allow different accessories to use
different pins (@foodbag)
- Move setRepeatTransmit to just before calling switchOn() to facilitate
multiple switches with different desired repeat counts
- Move setPulseLength from initialization to just before calling switchOn()
to facilitate multiple switches with different pulse lengths (closes #2).