\r\n\r\n
多くのスマートデバイスはApple HomeKitのサポートをスキップして、AlexaやGoogleなどのプラットフォームとしか連携していません。しかし、このRaspberry-Piハックを使えば、オープンソースのHomebridgeソフトウェアを使って、あらゆるスマートデバイスにHomeKitサポートを追加することができます。
HomeKit一辺倒だと、対応するスマートデバイスが少ないのが大きな問題です。例えば、安価なスマート電球の中には、HomeKitに対応していないものがあります。Amazonが選んだ「スマート電球」はTECKINの4個パックで、この記事の場合、LIFXの電球より40ドルほど安くなっています。
確かに、LIFXほど高級ではないし、色も鮮やかではないし、浴室でざわつくが、1本10ドルと破格の値段だ。
しかし、一番の問題は、HomeKitに対応していないことです。決して間抜けではなく、Google HomeやAlexa、IFTTT、**商社**のアプリと連動しています。TECKINのスマート電球しか持っていない人にはいいかもしれませんね。
ただし、HomeKitからアクセスできないため、ホームアプリやコントロールセンターのウィジェット、Siriから操作することはできません。また、他メーカーの電球と組み合わせたり、オートメーションに使用することはできません。HomeKitに投資している場合、これは契約違反になる可能性が高いです。
homekitapiは、ブリッジと呼ばれるデバイス(philipshueのものなど)が、他のプロトコルで動作するサブデバイスに接続することを可能にします。ブリッジをHomeKitにデバイスとして追加するだけで、接続された各ライトがHomeKitに登録されます。ライトのアップデートを要求するたびに、あなたの**はブリッジに、ブリッジはライトに話しかけます。
つまり、ブリッジは単にあるAPIから別のAPIに情報を渡すだけです。TECKINの電球はインターネット経由で制御できるので、専用のハードウェアを必要とせず、ソフトウェアでHomeKitに接続することは完全に可能です。
Raspberry Roundup(5ドルのRoundup Zeroが良い)を持っていれば、Homebridgeというフレームワークでブリッジとしてセットアップできます。この軽量なNodeJSアプリケーションはhomekitapiをエミュレートしてHomeKit以外のスマートデバイスにリクエストを転送します。
基本的には、Pi上でこれを実行すると、各「ダム」デバイスがホームアプリに追加されます。HomeアプリやSiriで電球を操作しようとすると、Homebridgeが代わりにデバイスに話しかけます。インストールすると、まるで最初からHomeKitに対応しているかのようになります。
これは、デバイスが常にHomebridgeを実行している必要があるので、ラップトップにインストールするものではありません。Raspberry-Piが理想的ですが、もし古いデバイスを持っているなら、サーバーやデスクトップとして使うために再調整すれば、常に起動しているので、そこにインストールすることも可能です。
Homebridgeは、プラグインで拡張できるフレームワークです。コミュニティによるサポートも充実しているので、どのスマートデバイスでもHomebridgeのプラグインを追加して対応できる可能性が高い。もしあなたのデバイスにプラグインがなくても、スマートデバイスにAPIがあり、技術に詳しい人なら、自分でプラグインを書くことができます。
しかし、多くの人にとってインストールは、Homebridgeと機器ブランドのプラグインをインストールし、いくつかの設定を行うだけです。コマンドラインにアクセスでき、少し時間があれば、かなり簡単です。
HomebridgeはNodeJSアプリケーションなので、使用するにはnodeとnpmがインストールされている必要があります。お使いのマシンがLinuxであれば、パッケージマネージャから入手できるかもしれません。
Ubuntuでは、以下のように入力して、手動でnode repoを設定し、nodejsをインストールする必要があります。
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejsそれ以外の場合は、特定のオペレーティング・システムにNodeをインストールする方法について、Nodeのダウンロード・ページを参照することができます。
また、Linuxの場合は、以下のように依存関係をインストールする必要があります。
sudo apt-get install libavahi-compat-libdnssd-devその後、以下のようにnpm経由でHomebridgeをグローバルにインストールすることができます。
sudo npm install -g --unsafe-perm homebridgeまた、Homebridgeはあくまでフレームワークなので、必要なブランドプラグインをインストールする必要があります。例えば、TECKINの電球の場合、プラグインはhomebridge tuya webで、こちらも全世界でインストールされています。
と入力することができます。
npm i homebridge-tuya-web -gすべてのインストールが完了したら、いよいよ使用開始です!以下のコマンドを入力して、Homebridgeを一度起動し、すべてを初期化します。
homebridgeコンフィギュレーションがないと文句を言われるので、それを作成する必要があります。デフォルトのディレクトリは ~/.homebridge/ ですが、移動する場合は -U パラメータを使用します。
次のように入力すると、このフォルダーに新しいJSONプロファイルが作成されます。
nano ~/.homebridge/config.json使用するプラグインにかかわらず、以下の基本的な設定が必要です。
{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Custom HomeBridge Server", "ports": { "start": 52100, "end": 52150, }, "platforms": [ ] }これは、他のデバイスに割り当てるためのデフォルトのポート、名前、PIN、およびポート範囲を使用してホームブリッジを設定します。
空のplatforms配列に、各プラグインの設定を配置します。各プラグインのGitHubページで、その手順や例を確認できるはずです。
次の例では、TECKIN Bulls用のhomebridge tuya web pluginは、BullsアプリケーションのAPIに接続するために、特に私のユーザー名とパスワードを知りたがっています。
"platforms": [ { "platform": "TuyaWebPlatform", "name": "TuyaWebPlatform", "opti***": { "username": "username", "password": "password", "countryCode": "1", "platform": "**art_life", "pollingInterval": 10 } } ]一度設定すれば、Homebridgeはすぐに使えるようになります。もう一度実行すると、端末に巨大なQRコードが表示され、強制的に縮小される場合があります。このファイルをHomeアプリケーションでスキャンし、本製品と接続されているすべてのデバイスをHomeキットに追加します。
Homebridgeはプラグインをロードし、検出したデバイスごとに画面にメッセージを記録する必要があります。追加されると、HomeKitで表示され、完全に機能するはずです。
確かに、私のLIFO電球と比べると、若干の遅れがあることに気がつきました。これは、電球が直接ではなく、APIを通じて制御されているためと思われます。当初、電球も白色と温白色の一部が正しく表示されませんでしたが、少し手を加えることで正しく設定することができました。
常に自分のアプリでデバイスを設定し、Homeアプリがアップデートされるのを待って、あらかじめ設定された構成でHomeKitでシーンを設定することができます。
Homebridgeを再度追加する必要がある場合は、configディレクトリ内のpersist/フォルダを削除し、「bridge」タブで接続されている電球の設定からHomeKitのブリッジを削除してください。
Homebridgeを常時動作させたい場合は、クラッシュやRaspberry Piの再起動時に再起動するように設定する必要があるかもしれません。Unixのサービスを通じて行うことができます。期待通りに動作していることを確認した上で、Homebridgeをセットアップします。
まず、homebridgeという名前の新しいサービスユーザーを追加します。
sudo useradd -M --system homebridgeパスワードを設定します。
sudo passwd homebridge次に、homebridgeconfigurationを個人のホームディレクトリの外に移動する必要があります。/var/lib/homebridge/ が動作するはずです。
sudo mv ~/.homebridge /var/lib/homebridge/homebridgeを使用するユーザーが、ディレクトリとすべてのサブフォルダーの所有権を持っていることを確認します。
sudo chown -R homebridge /var/lib/homebridge/これが完了すると、サービスを作成することができます。これを行うには、/etc/systemd/system/にhomebridge.serviceというサービスを作成します。
sudo nano /etc/systemd/system/homebridge.service次に、以下の設定を貼り付けます。
[Unit] Description=Homebridge service After=syslog.target network-online.target [Service] Type=simple User=homebridge ExecStart=/usr/bin/homebridge -U /var/lib/homebridge Restart=on-failure RestartSec=10 KillMode=process [Install] WantedBy=multi-user.targetサービスデーモンをリロードして、変更内容を更新します。
sudo systemctl daemon-reloadでサービスを有効にする(ブート時に実行するように設定する)ことができるはずです。
sudo systemctl enable homebridgeはじめに
sudo systemctl start homebridgeサービスの設定に起因するエラーをデバッグする必要がある場合、次のように入力すると、サービスのログを表示することができます。
journalctl -fn 50 -u homebridge