Homebridge百叶窗有线
HomeKit支持非智能电动百叶窗。
homebridge-blinds-wired 是一个 Homebridge 插件,允许您提高,降低,并停止您的百叶窗电线。它为你提供了一个HomeKit窗口覆盖配件,可以报告状态并完全通过电线控制。
如今,市场上有很多带有原生HomeKit支持的百叶窗可供选择。然而,也有一些盲目的系统,比如Somfy,它们没有任何有意义的HomeKit支持。再加上专有的远程协议,您将面临一个挑战,试图使百叶窗成为您的 HomeKit 智能家居。
安装
如果您是第一次使用Homebridge,请先阅读 Homebridge 文档 以及安装说明。
如果您已安装 Homebridge配置界面,您可以通过进入 Plugins TAB和搜索 homebridge-blinds-wired 然后安装它。
如果你喜欢安装 homebridge-blinds-wired 在命令行中,你可以这样做:
sudo npm install -g homebridge-blinds-wired
依赖项
确保在树莓派上安装了libgpiod:
sudo apt install -y build-essential python3 make g++ gpiod libgpiod-dev
2.0.2版本支持Homebridge 2。在Node.js 22.12或Node.js 24上安装。
配置
我强烈建议使用 Homebridge配置界面 而不是编辑你的配置。直接json。它很好地显示了所有的选项,并总是生成一个有效的配置,这样你就不会被错别字困住,或者在你的 config.json。
对于那些喜欢直接配置的人,可以添加平台 config.json 在你的主目录里面 .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"
}
]
}
]
选项
upPin,downPin和stopPin应该指向BCM GPIO / libgpiod线号,而不是物理板引脚。gpioChip是可选的,默认为0,这是树莓派上常用的GPIO芯片编号。- 设置一个
stopPin与transitionInterval允许部分位置,例如要求HomeKit打开30%的盲眼。对于Somfy DCT,停止是通过脉冲来完成的upPin和downPin;使用99为stopPin. 这也是默认值。 pulseDuration以毫秒为单位的脉冲长度。默认为200,适用于Somfy DCT。activeLow选择继电器极性,默认为true。transitionInterval是一个可选设置,允许您模拟在打开和关闭之间的盲目过渡移动。如果百叶窗需要15秒才能打开,请输入15这里,homebridge-blinds-wired将模拟在HomeKit中完成转换所需的时间。缺省值是10秒。manufacturer,model,serial是可选设置,允许您在HomeKit中进一步识别您的百叶窗。
每个盲人必须有一个唯一的名字。 upPin 和 downPin 必须是不同的;一个物理 stopPin 还必须使用单独的GPIO线。
从v1.x升级
版本2.0.0将GPIO后端从 rpi-gpio/ sysfs node-libgpiod. 引脚选项现在使用BCM GPIO / libgpiod线号,而不是物理板引脚。
例如:
- 树莓派的物理引脚11是BCM GPIO 17,所以使用
"upPin": 17。 - 树莓派物理引脚13是BCM GPIO 27,所以使用
"downPin": 27。 stopPin: 99是不变的Somfy DCT,仍然脉冲两个向上和向下引脚。
安装v2之前。安装libgpiod开发头文件:
sudo apt install -y build-essential python3 make g++ gpiod libgpiod-dev
笔记
这个插件不能查询百叶窗的物理位置。它根据配置的旅行时间估计位置,记住最近的估计,并将该值报告给HomeKit。校准 transitionInterval 以实际全行程时间为最佳偏位精度。
当 transitionInterval 和 stopPin 配置,插件可以估计部分位置。例如,打开20%的盲区,它会跳动 upPin,计算运动时间 transitionInterval,然后脉冲配置的停止命令。准确的校准产生相当精确的位置,即使是系统,如Somfy DCT不报告其物理位置。