前情提要:米家 HomeBridge (HomeKit + 設定篇):有了 Mac,米家可以更智慧!

米家 HomeBridge 系列從最簡單的 Yeelight 燈具一直到最複雜的飛利浦智睿燈具,再加上這篇已經是第六篇了,而這次威力要教各位把「米家智能插線板」加到「家庭」App 裡。

比起之前的文章,這次米家智能插線板簡單很多,步驟跟小米空氣淨化器篇差不多,所以就讓我們直接開始吧!

支援裝置

  • 米家智能插座基礎版(MiPlugBase)
  • 小米智能插座_USB版(MiPlugBaseWithUSB)
  • 米家智能插線板(MiIntelligencePinboard)
  • 青米智能插線板_五孔位版(MiQingPinboard)
  • 青米智能插線板_USB版(MiQingPinboardWithUSB)

加入 米家智能插線板 HomeBridge

跟前幾篇相同,我們還是需要用到「終端機」,最困難的部分威力都已經研究完了,各位只要跟著一步步操作即可,不用擔心。

Step 1. 安裝 homebridge-mi-philips-light 插件

請在「應用程式」>「工具程式」>「終端機」輸入以下安裝插件的指令:

sudo npm -g install homebridge-mi-outlet

Step 2. 取得米家智能插線板的相關信息

請先確認準備執行 HomeBridge 的電腦跟米家智能插線板是連上相同的 Wi-Fi,接著請繼續在「終端機」輸入指令:

miio discover

就可以看到現在所有連上 HomeBridge 的設備,可以看到 Model info:zhimi.powerstrip.v2 就是米家智能插線板,請將下方的 Address 及 Token 記下來。

已此圖為例,就是記下:

  • Address:192.168.31.xx
  • Token:21a98556732d471e2764cxxxxxxb1ee1

Step 3. 修改 config 文件

記下 Address 及 Token 後,就要將小米空氣淨化器的資訊加入至 config 設定檔。

請依序進入 Finder >「前往」>「前往檔案夾」

輸入以下路徑:

~/.homebridge/

接著請打開 config.json 檔。

※ 可以使用「文字編輯」app 或是 TextWrangler 等類似的軟體開啟

這個 config.json 檔裡的內容就是前幾篇請各位建立的內容,現在因為安裝了 hombridge-mi-outlet 插件,所以需要再增加針對米家智能插線板的資訊。

以下依序為(從 type 可看出裝置):

  • 米家智能插座基礎版(MiPlugBase)
  • 小米智能插座_USB版(MiPlugBaseWithUSB)
  • 米家智能插線板(MiIntelligencePinboard)
  • 青米智能插線板_五孔位版(MiQingPinboard)
  • 青米智能插線板_USB版(MiQingPinboardWithUSB)
"platforms": [{
    "platform": "MiOutletPlatform",
    "deviceCfgs": [{
        "type": "MiPlugBase",
        "ip": "192.168.88.xx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "outletName": "living room outlet",
        "outletDisable": false,
        "temperatureName": "living room outlet temperature",
        "temperatureDisable": false,
        "switchLEDName": "living room led light switch",
        "switchLEDDisable": false
    }, {
        "type": "MiPlugBaseWithUSB",
        "ip": "192.168.88.xx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "outletName": "study room outlet",
        "outletDisable": false,
        "temperatureName": "study room outlet temperature",
        "temperatureDisable": false,
        "switchUSBName": "study room outlet usb switch",
        "switchUSBDisable": false
    }, {
        "type": "MiIntelligencePinboard",
        "ip": "192.168.88.xx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "outletName": "master room outlet",
        "outletDisable": false,
        "temperatureName": "master room outlet temperature",
        "temperatureDisable": false,
        "switchLEDName": "master room led light switch",
        "switchLEDDisable": false
    }, {
        "type": "MiQingPinboard",
        "ip": "192.168.88.xx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "outletName": "dining room outlet",
        "outletDisable": false,
        "temperatureName": "dining room outlet temperature",
        "temperatureDisable": false
    }, {
        "type": "MiQingPinboardWithUSB",
        "ip": "192.168.88.xx",
        "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "outletName": "kitchen room outlet",
        "outletDisable": false,
        "temperatureName": "kitchen room outlet temperature",
        "temperatureDisable": false
    }]
}]

請直接將你自己需要的裝置代碼複製並貼至 config.json,直接接在之前內容之下(記得上面要加個逗號),再把「ip」及「token」修改成 Step 2 記下來「Address」及「Token」即可,貼上後大概會是這個樣子:

※此例以「米家智能插線板(MiIntelligencePinboard)」為例

Step 4. 執從 homebridge

在「應用程式」>「工具程式」>「終端機」中輸入:

homebridge

執行完就可以看到 homebridge 開始運作,下面就會出現 [MiOutletPlatform] 的訊息了。

「家庭」App 設定米家智能插線板

接下來請開啟「家庭」app,就可以看到米家智能插線板已經加入了,總共會多出三個項目,包含「插座總開關」、「插座指示燈」及「插座溫度」。

接來下就修改成相對應的名稱及設定好裝置的位置就好,當然如果想直接用延用預設英文也可以摟。

結語

米家智能插線板加入「家庭」App 相當的簡單,只要注意 Config 文件的內容是不是正確就行(反正不正確就不能執行),希望各位操作順利摟~

接下來還會再加入以下設備:

  • 小米萬能搖控器
  • 小米掃地機器人
  • 小米 PM 2.5 檢測儀

萬能搖控器應該會比較快介紹,掃地機器人和 PM 2.5 檢測儀就要等威力買了之後才會研究了,最好是台灣小米有看到這篇,可以免費提供產品給 APPLEFANS 測試,那就太棒了科科~

如果有 HomeBridge 相關的問題,歡迎直接在文章下面留言討論,或是私訊給 APPLEFANS 粉絲團,也可以加入 APPLEFANS 蘋果迷社團,威力有看到就會馬上回應,記得按讚和加入社團哦!

關於作者

十多年前用了 Mac 後驚為天人,從此再也離不開蘋果,立誓要將捨棄 Windows 進入 Mac 後的美好傳遞給所有人,讓簡單純粹重回大家的生活。

24 篇迴響

  1. 請教一下,我現在用了 imac 做 homebridge,
    如果我想用 homekit 控制米家智能插座基礎版或者USB版,
    還需要買那個網關嗎?

    • 不用哦~智能插線板是獨立的裝置。
      如果你的米家裝置需要網關才能運作的,像是人體傳感器、門窗感應器…這種,才需要網關,其他都是獨立的。

      • 謝謝你的回覆!因為沒有通知所以不知道已經回覆了

        所以説只要在imac上安裝了 homebridge,
        然後另外買一個米家智能控制插座(假如連住了電燈),
        就可以直接叫siri 開關燈了~?

  2. 請教一下,如果我有兩個米家智能插座基礎版的話,那要怎麼增加呢?
    搞了好久,腦細胞死了不少 囧

  3. {
    “bridge”:
    {
    “name”: “HomeBridge”,
    “username”: “B8:27:EB:EE:AF:1B”,
    “port”: 54642,
    “pin”: “031-45-154”
    },

    “platforms”:
    [{
    “platform” : “yeelight”,
    “name” : “yeelight”
    },
    {
    “platform”: “MiOutletPlatform”,
    “deviceCfgs”:
    [{
    “type”: “MiPlugBase”,
    “ip”: “192.168.31.204”,
    “token”: “38b231197b27c97a72918cde5b23a437”,
    “outletName”: “living room outlet”,
    “outletDisable”: false,
    “switchLEDName”: “living room led light switch”,
    “switchLEDDisable”: false
    },{
    “type”: “MiIntelligencePinboard”,
    “ip”: “192.168.31.209”,
    “token”: “8ac97f727c0ef27b026f4c99f4e4b6f2”,
    “outletName”: “master room outlet”,
    “outletDisable”: false,
    “temperatureName”: “master room outlet temperature”,
    “temperatureDisable”: false,
    “switchLEDName”: “master room led light switch”,
    “switchLEDDisable”: false
    }]
    }]
    }

    麻煩您了~~

    • 試試看,裡面 xxxx 的那個就是填另一個的 ip 跟 token。
      {
      “bridge”:
      {
      “name”: “HomeBridge”,
      “username”: “B8:27:EB:EE:AF:1B”,
      “port”: 54642,
      “pin”: “031-45-154”
      },

      “platforms”:
      [
      {
      “platform” : “yeelight”,
      “name” : “yeelight”
      },
      {
      “platform”: “MiOutletPlatform”,
      “deviceCfgs”:
      [
      {
      “type”: “MiPlugBase”,
      “ip”: “192.168.31.204”,
      “token”: “38b231197b27c97a72918cde5b23a437”,
      “outletName”: “living room outlet”,
      “outletDisable”: false,
      “switchLEDName”: “living room led light switch”,
      “switchLEDDisable”: false
      },
      {
      “type”: “MiPlugBase”,
      “ip”: “192.168.xx.xxx”,
      “token”: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
      “outletName”: “living room outlet 2”,
      “outletDisable”: false,
      “switchLEDName”: “living room led light switch”,
      “switchLEDDisable”: false
      },
      {
      “type”: “MiIntelligencePinboard”,
      “ip”: “192.168.31.209”,
      “token”: “8ac97f727c0ef27b026f4c99f4e4b6f2”,
      “outletName”: “master room outlet”,
      “outletDisable”: false,
      “temperatureName”: “master room outlet temperature”,
      “temperatureDisable”: false,
      “switchLEDName”: “master room led light switch”,
      “switchLEDDisable”: false
      }
      ]
      }
      ]
      }
      成功與否都跟我說一下~

      • 不能執行,有報錯:

        C:\Users\admin\AppData\Roaming\npm\node_modules\homebridge\node_modules\hap-node
        js\lib\Accessory.js:264
        throw new Error(“Cannot add a bridged Accessory with the same UUID as anot
        her bridged Accessory: ” + existing.UUID);
        ^
        Error: Cannot add a bridged Accessory with the same UUID as another bridged Acce
        ssory: 8f1c6f2a-71c1-4d53-828f-1c41b17a6d79
        at Bridge.Accessory.addBridgedAccessory (C:\Users\admin\AppData\Roaming\npm\
        node_modules\homebridge\node_modules\hap-nodejs\lib\Accessory.js:264:13)
        at Server. (C:\Users\admin\AppData\Roaming\npm\node_modules\homeb
        ridge\lib\server.js:377:24)
        at C:\Users\admin\AppData\Roaming\npm\node_modules\homebridge\node_modules\h
        ap-nodejs\lib\util\once.js:16:19
        at MiOutletPlatform.accessories (C:\Users\admin\AppData\Roaming\npm\node_mod
        ules\homebridge-mi-outlet\index.js:111:9)
        at Server._loadPlatformAccessories (C:\Users\admin\AppData\Roaming\npm\node_
        modules\homebridge\lib\server.js:364:20)
        at Server._loadPlatforms (C:\Users\admin\AppData\Roaming\npm\node_modules\ho
        mebridge\lib\server.js:308:16)
        at Server.run (C:\Users\admin\AppData\Roaming\npm\node_modules\homebridge\li
        b\server.js:85:36)
        at module.exports (C:\Users\admin\AppData\Roaming\npm\node_modules\homebridg
        e\lib\cli.js:40:10)
        at Object. (C:\Users\admin\AppData\Roaming\npm\node_modules\homeb
        ridge\bin\homebridge:17:22)
        at Module._compile (module.js:652:30)

        • 你把第二個改一下,改個名稱像這樣

          “type”: “MiPlugBase”,
          “ip”: “192.168.xx.xxx”,
          “token”: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
          “outletName”: “living room outlet 2”,
          “outletDisable”: false,
          “switchLEDName”: “living room led light switch 2”,
          “switchLEDDisable”: false

          • 也是不行,應該是那個2,沒定義或者是原文件沒有這個定義
            所以沒辦法執行

            [2018-5-6 08:53:43] Loaded plugin: homebridge-mi-aqara
            [2018-5-6 08:53:43] Registering platform ‘homebridge-mi-aqara.MiAqaraPlatform’
            [2018-5-6 08:53:43] —
            [2018-5-6 08:53:43] Loaded plugin: homebridge-mi-outlet
            undefined:2
            “bridge”:
            ^

            SyntaxError: Unexpected token “ in JSON at position 3
            at JSON.parse ()
            at isConfig (C:\Users\admin\AppData\Roaming\npm\node_modules\homebridge-mi-o
            utlet\index.js:26:23)
            at Plugin.module.exports [as initializer] (C:\Users\admin\AppData\Roaming\np
            m\node_modules\homebridge-mi-outlet\index.js:12:9)
            at Server. (C:\Users\admin\AppData\Roaming\npm\node_modules\homeb
            ridge\lib\server.js:160:14)
            at Array.forEach ()
            at Server._loadPlugins (C:\Users\admin\AppData\Roaming\npm\node_modules\home
            bridge\lib\server.js:138:22)
            at new Server (C:\Users\admin\AppData\Roaming\npm\node_modules\homebridge\li
            b\server.js:56:24)
            at module.exports (C:\Users\admin\AppData\Roaming\npm\node_modules\homebridg
            e\lib\cli.js:26:16)
            at Object. (C:\Users\admin\AppData\Roaming\npm\node_modules\homeb
            ridge\bin\homebridge:17:22)
            at Module._compile (module.js:652:30)

  4. 操作到查找token的時候,顯示找到,但是token顯示“???”
    而且也不顯示設備名稱
    請問是什麼問題呢?

發表評論