Apple Homekit - Node 插件

优质
小牛编辑
131浏览
2023-12-01

注意

此插件即日起已不再维护,不支持 0.77 以后的 Home Assistant 系统,高版本系统建议换用内置 homekit 组件或独立 homebridge 插件。

安装

1. Mossbian

执行 sudo hassbian-config install homebridge,无需任何额外配置,默认完成下载、安装、配置、换源、自动启动。

  • 配置文件:/home/pi/.homebridge/config.json ;旧版 /home/pi/.homebridge/config.json
  • 服务控制:sudo service start/restart/status/stop
  • Web UI:http://树莓派ip:8120
  • 日志查询:sudo journalctl -au homebridge

2. Hass.io

参考 此文档 安装 Homebridge Add-on。


3. 其他系统(平台)

详细安装使用教程欢迎参考『智能家居百科』。

根据其他教程安装 Node 后,安装 HA Node 插件:

sudo npm install -g homebridge-homeassistant

Web UI

Mossbian 用户使用脚本安装 HB 后默认安装启用 Homebridge 的 Web UI 界面,运行在 8120 端口上。

其他用户请执行安装:

sudo npm install -g --unsafe-perm homebridge-config-ui-x

安装后,Web 界面默认运行在 8080 端口上。


配置

修改 Homebridge 配置文件 config.json

"platforms": [
  {
    "platform": "HomeAssistant",
    "name": "HomeAssistant",
    "host": "http://127.0.0.1:8123",
    "password": "yourapipassword",
    "supported_types": ["automation", "binary_sensor", "climate", "cover", "device_tracker", "fan", "group", "input_boolean", "light", "lock", "media_player", "remote", "scene", "script", "sensor", "switch", "vacuum"],
    "default_visibility": "visible",
    "logging": true,
    "verify_ssl": false
  }
]

变量说明:

  • host: Home Assistant 的完整访问地址
  • password: Home Assistant 的密码
  • supported_types: 支持设备类型,默认请勿修改
  • default_visibility: 默认可视状态,建议设为 visible,否则在 HA 中新添加的设备将不在 HB 中显示!!
  • logging: 日志记录,默认 true
  • verify_ssl:默认 true,使用自签名 SSL 证书的用户请改为 false

使用

打开 iOS 客户端『家庭』App —— 添加配件——没有代码或无法扫描?—— 手动代码 —— 输入 pin 码 —— HA 设备自动匹配添加完成


插件更新

sudo npm upgrade -g homebridge-homeassistant

设备支持列表

中文名HA中组件类型支持功能
自动化Automation开、关
警报面板Alarm Control Panel警戒、解除警戒
二元传感器Binary Sensor门窗、天然气、烟雾、水浸等
空调与恒温器Climate当前温度、目标温度、模式
门帘Cover开、合
设备追踪Device Tracker地理位置,以传感器的形式显示
风扇Fan开、关、转速
群组Group开、关
二元控制器Input boolean开、关
Light开、关、亮度、颜色、色温
Lock开、关
媒体播放器Media  Player以『开关』的形式显示
遥控Remote以『开关』的形式显示
场景Scene以『开关』的形式显示
脚本Script以『开关』的形式显示
数值传感器Sensor空气质量、一氧化碳浓度、温湿度及光照度
开关Switch开、关
吸尘器Vacuum开、关

Home Assistant 相关设置

在 Home Assistant 的自定义(customize)模块中可对接入设备进行 Homebridge 的相关设置

全局配置

  • 在 Homebridge 中显示设备,使用示例配置时,默认设备均显示在 Homebridge 中,无需额外配置:
customize:
  switch.example:
    homebridge_visible: true
  • 在 Homebridge 中隐藏设备:
customize:
  switch.example:
    homebridge_hidden: true
  • 设备初次接入的相关信息:
customize:
  switch.a_switch:
    homebridge_name: 家庭 App 中显示名称 
    homebridge_mfg: Leviton     //设备制造商
    homebridge_model: DZMX1-1LZ    //设备型号
    homebridge_serial: 123456789    //设备序列号

注意

该设置仅限 初次接入 Homebridge 的设备有效。设备接入 HB 之后,必须手动在家庭 App 中设定相关信息或清除设备缓存。


各类特殊配置

警报面板

如果你的警报面板在 HA 中设为使用密码,则必须在 HA 的 customize 设置中声明该密码:

customize:
  alarm_control_panel.example:
    homebridge_alarm_code: 123456

二元传感器

由于二元传感器涵盖的子设备类型众多,因此必须在 HA 的customize 模块中声明传感器的类别以正确显示,具体支持的类型有: gas 气体, moisture 湿度(水浸), motion(动作), occupancy(占用情况), opening (开关)以及 smoke(烟雾)。具体声明方法为:

customize:
  binary_sensor.example:
    device_class: motion

其中 gas 可增加配置 co (一氧化碳)与co2 (二氧化碳),opening 可增加配置为 window (窗户)与 door (门),具体配置方法为:

customize:
  binary_sensor.example:
    device_class: gas
    homebridge_gas_type: co
customize:
  binary_sensor.example:
    device_class: opening
    homebridge_opening_type: window

数值传感器

目前本插件仅支持空气质量、二氧化碳、湿度、温度以及光线传感器。

  • 空气质量传感器如单位被设定为 aqi 则会被自动识别,否则请手动设定:
customize:
  sensor.air:
    homebridge_sensor_type: air_quality
  • 光线传感器如单位被设定为 lux 则会被自动识别,否则请手动设定:
customize:
  sensor.air:
    homebridge_sensor_type: light
  • 温度传感器如单位被设定为 °C, ℃, °F, ℉ 则会被自动识别。
  • 湿度传感器如单位被设定为 % 则会被自动识别,否则请手动设定:
customize:
  sensor.air:
    homebridge_sensor_type: humidity
  • 二氧化碳传感器如单位被设定为 ppm 或设备 ID 含有 co2则会被自动识别,否则请手动设定:
customize:
  sensor.air:
    homebridge_sensor_type: co2

门帘控制

可以在 customize 模块声明门帘的类型,有 rollershutter 与 garage_door,具体配置为:

customize:
  cover.lounge_main:
    homebridge_cover_type: rollershutter
  cover.garage:
    homebridge_cover_type: garage_door

插件默认接入 Homebridge 的灯色温为 50 - 400,可在 customize 模块内设定此值:

customize:
  light.xxxxx:
    homebridge_min_mireds: 30
    homebridge_max_mireds: 500

如果你的锁在 HA 中设为使用密码,则必须在 HA 的customize 模块中声明该密码:

customize:
   lock.example:
    homebridge_lock_code: 123456

开关

Homekit 默认将开关识别为『开关』类型,如果想识别为『插座』,可在 customize 模块中声明:

customize:
  lock.example:
    homebridge_switch_type: outlet

媒体播放器

Homebridge 将根据具体设备识别『开关』所映射的播放器控制操作,默认为『开、关』;在支持『播放、暂停』的设备中则映射为『播放、暂停』,你也可以手动设定此映射:

 customize:
   media_player.example:
    homebridge_media_player_switch: play_pause 或 on_off 或 play_stop