homebridge-blinds-wired

中文文档
2.0.2发布于 2026/11/04ISCCommonJS零依赖

HomeKit support for non-smart motorized blinds through wired connection.

原始使用文档
文档目录8 节
  1. HomeKit support for non-smart motorized blinds through wire…
  2. Installation
  3. Dependencies
  4. Configuration
  5. Options
  6. Upgrading from v1.x
  7. Notes
  8. Plugin Development

homebridge-blinds-wired: Native HomeKit support for non-smart motorized blinds through wires

Homebridge Blinds Wired

Downloads Version

HomeKit support for non-smart motorized blinds through wires.

homebridge-blinds-wired is a Homebridge plugin that allows you to raise, lower, and stop your window blinds by wires. It makes a HomeKit window covering accessory available to you that can report status and be controlled entirely through wires. These days, there is a decent selection of window blinds available on the market with native HomeKit support. However, there are also blinds systems, such as Somfy, which don't have any meaningful HomeKit support. Add to that the proprietary remote protocols and you're in for a challenge in trying to make window blinds part of your HomeKit smart home.

Installation

If you are new to Homebridge, please first read the Homebridge documentation and installation instructions before proceeding.

If you have installed the Homebridge Config UI, you can intall this plugin by going to the Plugins tab and searching for homebridge-blinds-wired and installing it.

If you prefer to install homebridge-blinds-wired from the command line, you can do so by executing:

sudo npm install -g homebridge-blinds-wired

Dependencies

Make sure libgpiod is installed on the Raspberry Pi:

sudo apt install -y build-essential python3 make g++ gpiod libgpiod-dev

Version 2.0.2 supports Homebridge 2.x on Node.js 22.12 or Node.js 24.

Configuration

I strongly recommend using the Homebridge Config UI rather than editing your config.json directly. It does a good job of showing you all the options and always generating a valid configuration so you don't get stuck on typos or looking for stray commas in your config.json.

For those that prefer configuring things directly, add the platform in config.json in your home directory inside .homebridge.

   "platforms": [
     {
       "platform": "Blinds Wired",

       "blinds": [
         {
            "name": "Livingroom Curtains",
            "upPin": 17,
            "downPin": 27,
            "stopPin": 99,
            "gpioChip": 0,
            "pulseDuration": 200,
            "activeLow": true,
            "transitionInterval": 15,
            "manufacturer": "Somfy",
            "model": "DCT",
            "serial": "1234-5678"
         }
      ]
    }
  ]

Options

  • upPin, downPin and stopPin should point to BCM GPIO / libgpiod line numbers, not physical board pins.
  • gpioChip is optional and defaults to 0, which is the usual GPIO chip number on Raspberry Pi.
  • Setting a stopPin in conjunction with a transitionInterval allows partial positions, such as asking HomeKit to open a blind to 30%. For Somfy DCT, stopping is performed by pulsing both upPin and downPin; use 99 for stopPin. This is also the default.
  • pulseDuration is the pulse length in milliseconds. It defaults to 200, which is suitable for Somfy DCT.
  • activeLow selects the relay polarity and defaults to true.
  • transitionInterval is an optional setting that allows you to simulate a blind transition movement between open and closed. If it takes 15 seconds for the blinds to open, enter 15 here and homebridge-blinds-wired will simulate the time it takes to complete that transition in HomeKit. The default is 10 seconds.
  • manufacturer, model, and serial are optional settings to allow you to further identify your blinds in HomeKit.

Each blind must have a unique name. upPin and downPin must be different; a physical stopPin must also use a separate GPIO line.

Upgrading from v1.x

Version 2.0.0 changed the GPIO backend from rpi-gpio/sysfs to node-libgpiod. The pin options now use BCM GPIO / libgpiod line numbers, not physical board pins.

For example:

  • Raspberry Pi physical pin 11 is BCM GPIO 17, so use "upPin": 17.
  • Raspberry Pi physical pin 13 is BCM GPIO 27, so use "downPin": 27.
  • stopPin: 99 is unchanged for Somfy DCT and still pulses both the Up and Down pins.

Before installing v2.x, install the libgpiod development headers:

sudo apt install -y build-essential python3 make g++ gpiod libgpiod-dev

Notes

This plugin cannot query the physical position of the blinds. It estimates position from the configured travel duration, remembers the most recent estimate, and reports that value to HomeKit. Calibrate transitionInterval to the actual full travel time for the best partial-position accuracy.

When transitionInterval and stopPin are configured, the plugin can estimate partial positions. For example, to open a blind to 20%, it pulses upPin, calculates the movement time from transitionInterval, and then pulses the configured stop command. Accurate calibration produces reasonably precise placement even for systems such as Somfy DCT that do not report their physical position.

Plugin Development

License

版本与发布记录

homebridge-blinds-wired 共发布 13 个版本,首次发布于 2023/08/29;过去 12 个月发布了 3 个版本。

版本发布日期距今
2.0.2latest2026/11/04今天
2.0.12026/06/104 个月前
2.0.02026/06/104 个月前
1.0.42023/09/033 年前
1.0.32023/09/033 年前
1.0.22023/09/033 年前

关于 homebridge-blinds-wired 的常见问题

homebridge-blinds-wired 是什么?

HomeKit支持非智能电动百叶窗通过有线连接。

如何安装 homebridge-blinds-wired?

在项目目录运行 npm install homebridge-blinds-wired,或使用 pnpm add / yarn add / bun add。

homebridge-blinds-wired 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/homebridge-blinds-wired 是否存在。

homebridge-blinds-wired 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

homebridge-blinds-wired 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.12.0 || ^24.0.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

homebridge-blinds-wired 可以商用吗?

homebridge-blinds-wired 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

homebridge-blinds-wired 还在维护吗?

最新版本 2.0.2 发布于 2026/11/04(今天);至今共发布 13 个版本,其中过去 12 个月发布了 3 个;首次发布于 2023/08/29。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。