npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

homebridge-rfcom

v0.0.5

Published

RFCom control for homebridge, with Somfy and Chacon DIO support.

Readme

#Homebridge RFCom Homebridge plugin for RfCom.

##Usage

Setup an Arduino with RfCom and configure it (see RfCom manual). Devices configured in RfCom are automatically added to the platform.

  "platforms": [
    {
      "platform": "RfComPlatform",
      "name": "RfCom",
      "port": "/dev/ttyACM0"
    }
    ...
  ]

##Setting up devices

To add a device, you have to make a serial connection to the Arduino. You can use Arduino Studio for this, but make sure Homebridge isn't running. Use list_devices to find a device ID that's not in use yet, or initialize if this is a first time setup. Then follow the instructions for the protocol of choice below.

###Chacon DIO To add a Chacon DIO device, pick a switch id (0 to 15) and a sender id (0 to 67108863). Then enter add_device <id> 1 <switch>,<sender>. Unplug the DIO outlet, and plug it back in. The LED should start flashing. Before the LED stops flashing, enter send <id> on. The outlet should respond by briefly turning on and back off. You can unpair the outlet the same way by sending off instead of on. After this, when restarting Homebridge the device should appear in Homekit.

###Somfy To add a Somfy device, pick an address between 0 and 16777216, and a rolling code (100 is fine). Then enter add_device <id> 2 <address>,<rollingcode> (substituting the values between < >). Take your original Somfy remote and hold down the PROG button (if you can't find it, it's the small hole on the back of the remote) until the blinds briefly go down and back up. Enter "send prog". If the programming is successful, the blinds will respond by going briefly down and back up again. You can test it be entering "send down" or "send up".

In the basic setup, the Homebridge plugin will only allow you to go fully up, fully down or to the preset halfway point. If you want more control, you need to add some additional configuration in the Homebridge config.json. You'll need to measure the time it takes for the blinds to go from fully up to fully down, and also the other way around (the blinds will be slower going up that going down). In the platform section, adjust the config like so:

    {
      "platform": "RfComPlatform",
      "name": "RfCom",
      "port": "/dev/ttyACM0",
      "extra_config": {
        "<id>": {
          "timeUpToDown": 52.15,
          "timeDownToUp": 58.65
        }
      }
    }

Again, remember to substitute for the actual device id you've assigned. Once this is setup, you can choose the percentage of window covering in Homekit, and the plugin will automatically determine when to issue a stop command if necessary. It relies on knowing the state of the blinds, so you can't use the original Somfy remote manually because then it will get out of sync. If it does get out of sync, fully lowering or raising the blinds should be sufficient to reset the sync. When starting Homebridge, the position is assumed to be fully up. If that should not be the case, you can use the same method to resync.