npm 包 homebridge-smarthome-plus 使用教程

前言

homebridge-smarthome-plus 是一个基于 Homebridge 扩展的 npm 包,用于连接智能家居设备,以在 iOS 上使用 HomeKit 控制。本文将为大家介绍如何使用 homebridge-smarthome-plus 连接智能家居设备。

准备工作

安装 Homebridge

在开始使用 homebridge-smarthome-plus之前,我们需要先安装 Homebridge。Homebridge 是一个在非苹果设备上运行的开源软件,它能够将普通的智能家居设备变成兼容 HomeKit 的设备,让你的非苹果设备也能通过 iOS 控制 HomeKit。

Homebridge 的安装请参考:Homebridge 安装指南

安装 homebridge-smarthome-plus

在安装完 Homebridge 后,我们需要安装 homebridge-smarthome-plus:

---- --- ------- -- -------------------------

设备兼容性

HomeKit 并非支持所有智能家居设备。在使用 homebridge-smarthome-plus 之前,请先确认你的设备是否兼容 HomeKit。你可以在苹果官网上查找支持 HomeKit 的设备列表:https://www.apple.com/cn/ios/home/accessories/

查找智能家居设备信息

在使用 homebridge-smarthome-plus 联接智能家居设备之前,我们需要了解设备的信息,包括设备名称、设备 ID、控制方式等。你可以从设备厂商提供的文档中找到这些信息。

使用 homebridge-smarthome-plus

1. 创建配置文件

在 Homebridge 安装目录下创建一个新的配置文件 config.json,然后输入以下内容:

-
    --------- -
        ------- -------------
        ----------- --------------------
        ------- ------
        ------ ------------
    --
 
    -------------- ----- -- -- ------- ------------- --- ----- ---- ------
 
    ------------ -
        -
            ----------- ----------------
            ------- ------ ---- ------
 
            ---------- -
                -
                    ------- ------- ---
                    ---------------- ------
                    ----------- ---------
                    --------------- ------------- ---
                    -------- ------- ----- ---
                    --------- ------- ------ ---
                    -------------- -------------------------------------------------------------------
                    --------------- ------------------------------------------------------------------
                --
                -
                    ------- ------- ---
                    ---------------- ------------
                    ----------- ---------
                    --------------- ------------- ---
                    -------- ------- ----- ---
                    --------- ------- ------ ---
                    -------------- -------------------------------------------------------------------
                    --------------- ------------------------------------------------------------------
                -
            -
        -
    -
 
-

配置文件详解

  • bridge: 描述 Homebridge 服务器的信息
  • description: 描述该配置文件的信息
  • platforms: 定义 homebridge-smarthome-plus 的配件信息
  • devices: 描述每个配件的信息,包括名称、型号、ID、访问令牌等

接下来,我们逐一解析一下配置信息。

bridge

  • name: Homebridge 服务器的名称
  • username: 该服务器的 MAC 地址
  • pin: HomeKit 配对码。该代码用于将设备连接到 HomeKit。请注意,你可以自定义该配对码,但需要注意配对码的规范。

platforms

  • platform: 连接到 homebridge-smarthome-plus 的设备平台
  • name: 该平台的名称
  • devices: 或多个配件节点的信息,每个智能家居设备都可以被视为一个配件,需要将其信息填入此节点中。

devices

  • accessoryType: 物联网设备类型。当前支持 Air Conditioner、DoorLock、Fan、HumidifierDehumidifier、Lightbulb、Outlet 等类型。
  • name: 配件名称
  • deviceId: 物联网设备 ID
  • manufacturer: 物联网设备厂商
  • model: 物联网设备型号
  • serial: 物联网设备序列号
  • accessTokenrefreshToken: 智能家居设备的访问授权码,使用其中的访问令牌和更新标记。

2. 联接智能家居设备

在创建好配置文件后,通过以下命令启动 homebridge-smarthome-plus:

----------

在 Terminal 中输入该命令并按 Enter,然后你将会在终端窗口中看到类似以下的信息:

----------- ------- --- ------ ------- -------------------------
----------- ------- --- ----------- --------- ------- --
----------- ------- --- ----------- --------- ------- --
----------- ------- --- -----------------
    ---------- ---- -------- ---
    ---------- --- -------- -----
    ---------- --------- --------- -------- -----
    ---------- ------ -------- -----
----------- ------- --- ----------- ------------ --------- --------
----------- ------- --- --------------- ------------ ------------- -----------
----------- ------- --- --------------- -------- ------------ ------------- ---------

这表示 homebridge-smarthome-plus 已经成功连接到你配置的智能家居设备。

3. 在 HomeKit 中添加智能家居设备

在联接好智能家居设备后,就可以在 iOS 上的 HomeKit 中添加该设备了。在 Homekit 中,点击「添加设备」,然后按照提示完成连接,你就可以在 iOS 上控制你的智能家居设备了。

示例代码

以下是一个简单的 homebridge-smarthome-plus 示例代码,用于连接一个 Sonoff 智能开关:

-
    --------- -
        ------- -------------
        ----------- --------------------
        ------- ------
        ------ ------------
    --
 
    -------------- ----- -- -- ------- ------------- --- ----- ---- ------
 
    ------------ -
        -
            ----------- ----------------
            ------- ------ ---- ------
 
            ---------- -
                -
                    ------- --------
                    ---------------- ------------
                    ----------- ---------
                    --------------- ---------
                    -------- ------- -------
                    --------- ----------
                    -------------- -------------------------------------------------------------------
                    --------------- ------------------------------------------------------------------
                --
            -
        -
    -
 
-

在上面的示例代码中,我们以 Sonoff 智能开关为例,将其作为一个智能家居设备进行了连接。在配置文件中,我们需要为 SONOFF 开关提供设备信息,来指明其连接到 HomeKit 。在这里,「deviceId」是 SONOFF 开关的 Wi-Fi ID,而「accessToken」和「refreshToken」代表设备的访问令牌和更新标记。

结语

通过使用 homebridge-smarthome-plus,你可以将非 HomeKit 兼容的智能家居设备接入到 HomeKit,并使用 HomeKit 控制这些设备。上面的教程是基于 Homebridge 平台,希望本文对您有所帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60057c4181e8991b448ebc6b


猜你喜欢

  • npm 包 mup-plugin-login 使用教程

    简介 在 web 开发中,我们经常需要部署静态网站和 web 应用,而 MUP(Meteor Up)是一个便捷的部署工具,它能够让我们快速部署我们的应用到生产环境中。

    3 年前
  • npm 包 ttk-edf-app-card-department 使用教程

    ttk-edf-app-card-department 是一款可用于前端开发的 npm 包,它提供了基于 React 的部门信息卡片组件,便于开发者进行组件的高效复用和快速开发。

    3 年前
  • npm 包 ttk-edf-app-card-person 使用教程

    介绍 ttk-edf-app-card-person 是一种前端开发包,用于创建一个人员信息卡片页面。这个包提供了一组可以重复使用的组件,从而构建非常灵活的用户界面。

    3 年前
  • npm 包 ttk-edf-app-card-unit 使用教程

    前言 在前端开发中,我们经常需要使用一些第三方的库或插件来提高自己的效率,最常用的就是 npm 包。今天我们要介绍的是 ttk-edf-app-card-unit 这个 npm 包的使用教程。

    3 年前
  • npm 包 hexo-start 使用教程

    前言 hexo 是一个非常流行的静态博客框架,可以用来快速生成静态博客网站。hexo-start 是一个基于 hexo 的 npm 包,可以快速搭建 hexo 博客环境,并且提供了一些插件和主题,让你...

    3 年前
  • npm 包 @jojolocklock/whois-js 使用教程

    介绍 @jojolocklock/whois-js 是一个能够获取域名 WHOIS 信息的 Node.js 模块,可以方便地获取任何一个已注册的域名的注册信息,在前端开发的过程中有着广泛的应用。

    3 年前
  • npm 包 homebridge-advanced-dht-sensor 使用教程

    前言 homebridge-advanced-dht-sensor 是一个能够将 DHT 温湿度传感器数据发布到 Homebridge 平台的 npm 包,从而让 Apple HomeKit 用户可以...

    3 年前
  • npm 包 vue-toast-plugin-catbea 使用教程

    在前端开发中,常常需要使用到一些弹窗提示来提醒用户。而自己写一个组件太费时间,此时就可以用到一个非常方便的 npm 包,即 vue-toast-plugin-catbea。

    3 年前
  • npm 包 @moyuyc/to-json-schema 使用教程

    在前端开发中,从后端接口中获取到的 JSON 数据往往需要转换为前端适用的数据类型。而数据的格式不同会导致前后端在开发过程中的配合困难。因此,有一种方便快捷的方法,即将 JSON 数据转换为 JSON...

    3 年前
  • npm 包 run-function 使用教程

    前言 在前端开发中,调用函数是一件非常常见的事情。在一些特别的场景中,甚至你需要定义一个可定制的函数,使其可以在不同的运行环境中使用。此时,我们需要一个 npm 包来帮助我们达到这个目的——run-f...

    3 年前
  • npm 包 siwi-ioredis 使用教程

    npm 包 siwi-ioredis 使用教程 如果你在做 Node.js 开发,想要快速而稳定地使用 Redis 缓存,那么 siwi-ioredis 这个 npm 包就是你的不二选择。

    3 年前
  • npm 包 tesla-edison 使用教程

    前言 在前端开发中,为了能够高效快捷地完成开发任务,我们通常会使用各种第三方工具和框架。而这其中,npm 包可以说是最为常用的一种。 对于前端工程师而言,掌握 npm 包的使用技巧,是至关重要的。

    3 年前
  • npm 包 ttk-edf-app-card-userdefinecard 使用教程

    前言 随着前端技术的发展,npm 成为了前端开发的标配之一,npm 是 JavaScript 世界的包管理工具。在前端开发中,我们经常需要使用第三方库或框架完成复杂的功能,npm 包是前端工具箱中的必...

    3 年前
  • npm 包 ttk-edf-app-list-inventory 使用教程

    简介 ttk-edf-app-list-inventory 是一个基于 React 框架的前端组件库,提供了一系列列表展示组件,可以方便地在前端页面中进行数据展示和操作。

    3 年前
  • npm 包 ttk-edf-app-list-userdefinecard 使用教程

    简介 ttk-edf-app-list-userdefinecard 是一个基于 React 和 Antd 的前端组件库,主要用于展示用户自定义卡片式列表。使用这个包可以很方便地实现卡片列表的渲染以及...

    3 年前
  • npm 包 ttk-edf-app-list-unit 使用教程

    简介 ttk-edf-app-list-unit 是一个基于 React 框架的前端组件库,用于展示列表数据的集合组件。其主要特点是支持快速分页查询和批量操作,并且支持动态字段过滤、排序等数据操作功能...

    3 年前
  • npm 包 express-suppress-console-log 使用教程

    概述 在前端开发过程中,我们经常会使用 Node.js 和 Express 进行后端开发。有时候,我们需要在控制台中输出一些调试信息,但也可能会有一些敏感信息被输出到控制台中,这时候就需要一个工具来过...

    3 年前
  • npm 包 generator-miappio 使用教程

    前言 generator-miappio 是一款基于 Yeoman 构建的 npm 包,提供了快速创建小程序的工具。该工具可以帮助我们建立项目基础骨架,同时还支持一些自定义配置。

    3 年前
  • npm 包 hero-banner-module 使用教程

    随着 Web 开发的快速发展,前端技术也变得日新月异。在 Web 应用程序中,英雄横幅是一种常见的 UI 组件,它可以帮助网站增强视觉效果。而 npm 包 hero-banner-module 是一款...

    3 年前
  • npm 包 screenshot-crawler 使用教程

    在前端开发过程中,我们经常需要截取网页的截图,以便于界面审查和功能测试。而手动截屏会非常繁琐,因此我们需要借助工具来自动化实现。这时候,一款名为 screenshot-crawler 的 npm 包就...

    3 年前

相关推荐

    暂无文章