DeskStation on Homebriedge on DeskStation

wore published on
6 min, 1181 words

Categories: IoT

自宅NASとしてSynology DeskStationを使っているが、これがかなり優秀で割といろいろできる。 有り体にいえば、dockerを動かせてえらい、なのだが、その他公式サードパーティともに様々なパッケージがありそれも便利。今回その中でHomebridgeパッケージを見つけたので、DeskStationをHomebridgeサーバとして、 Switchbot Hub 2を接続してみたのでそのメモ。一応、前提知識と手順分けた。

スマートホームについての理解度

スマートホーム、いままで知る事例、正直興味が持てず。 とはいうもののGoogle Home (旧スピーカーの方), Choromecast, Fire TV Stick位は持っていた。 声でテレビで動画やらを再生するのは本当に便利で、使わなかったテレビが生まれ変わったのには感動した。 その他、知っているデバイスといえばPhilips Hue? ブリッジ?しか知らない。 最近、MatterとかHomeKit(Homebridge)が目につくようになり、なんか面白いことができそうと思った。

Epsonのプロジェクタをリビング導入した話 - 人生の暇潰し

Homebridgeについて

HomeKitはApple製品からスマートデバイスを操作するやつで、 HomebridgeはHomeKit対応していないデバイスを使えるようにするやつ。 更にプラグイン使うことで、Google Homeでも使えるようになる。

Switchbot Hub 2について

このデバイスは色んな機能があって分かりづらいが、 スマートリモコン、センサー(温度、湿度、照度)があり、トリガーもアクションも作れるのが良い。 HomeKit非対応なのだが、HomebridgeにSwitchbotプラグイン使って接続できる。 ただし、Matterという規格には対応しているので、 通常はこんな面倒なことはやらなくてよく、iOSなどのホーム, Google Home(Nestがいるらしい)には 簡単に接続できるらしい。

手順

SwitchbotアプリでSwitchbotデバイスを接続

説明書通り。

Homebridgeパッケージをインストール

パッケージマネージャからパッケージソースを追加してインストールできる。

Install Homebridge on Synology DSM · homebridge/homebridge Wiki

homebridge-gshをインストール

デスクトップから起動できるのでプラグインを探してインストール。 これでGoogle Homeに対応する。あとHomeアプリでHomebridgeと連携するよう設定すると HomebridgeデバイスをHomeで管理できるようになる。

@switchbot/homebridge-switchbotをインストール

同様にSwitchbotデバイスを扱えるようにするプラグイン探してインストールするが、エラーがでる。

gyp ERR! build error 
gyp ERR! stack Error: not found: make
gyp ERR! stack at getNotFoundError (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/lib/index.js:16:17)
gyp ERR! stack at which (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/lib/index.js:77:9)
gyp ERR! stack at async doWhich (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:119:22)
gyp ERR! stack at async loadConfigGypi (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:78:7)
gyp ERR! stack at async build (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:36:3)
gyp ERR! stack at async run (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js:81:18)
gyp ERR! System Linux 4.4.302+
gyp ERR! command "/volume1/@appstore/Node.js_v20/usr/local/bin/node" "/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /volume1/homebridge/node_modules/@switchbot/homebridge-switchbot/node_modules/@stoprocent/noble
gyp ERR! node -v v20.9.0
gyp ERR! node-gyp -v v10.2.0
gyp ERR! not ok 
npm error code 1
npm error path /volume1/homebridge/node_modules/@switchbot/homebridge-switchbot/node_modules/@stoprocent/noble
npm error command failed
npm error command sh -c node-gyp-build
npm error A complete log of this run can be found in: /var/packages/homebridge/home/.npm/_logs/2025-01-30T18_43_01_896Z-debug-0.log
Failed to rebuild.

makeが無い。今後の困難を予感させるログだ。 普通のNASになんかもちろんmakeは無いだろうし、ましてやパッケージマネージャも無いわけで、 何とか適合するアーキテクチャのmakeをインストールしたところで次に待ち受けるのは更なる困難だ。 しかしどうしても無茶したい人がビルド環境を整えるために良い方法がある。Entwareを導入することだ。

DSM 7: Enable Compiling Of Native Modules · homebridge/homebridge-syno-spk Wiki

導入も簡単でインストールスクリプト実行するだけで、あっさりビルド環境が整う。

$ opkg install make gcc python3 python3-dev
homebridge

ちなみにEntwareは組み込み向けのパッケージマネージャとのこと。 その後Switchbotデバイスと接続する準備の手順が現れるが、その後準備したトークンなどを入力するフォームが表示されないという事象が発生した。 しかしこれはJSONで設定可能なので、問題なかった。

{
    "name": "SwitchBot",
    "credentials": {
        "token": "token",
        "secret": "secret",
        "notice": "no"
    },
    "platform": "SwitchBot"
}