スマートホーム初体験 - Apple HomeKit & 小米米家
米家スマートカメラと米家スマートデスクライト、HomeKit設定ガイド
[2020/04/20] 上級編を公開しました :
経験者の方はこちらへどうぞ>> ラズベリーパイをHomeBridgeサーバーとして使用し、すべてのMi家電をHomeKitに接続する方法のデモ
雑談:
最近引っ越したばかりです。以前の住まいとは違い、天井はオフィスの軽鉄骨ライトで、明るすぎて数本の蛍光灯を抜かないと目が楽になりませんでした。今の住まいは間接照明が設置されており、パソコン作業や読書には少し明るさが足りません。2週間ほど経って、目が乾燥しやすく不快に感じています。IKEAで直接購入しようかと思いましたが、光の色や目の保護を考慮し、コストパフォーマンスを比較した結果、小米のデスクライトを選びました(以前に小米のスマートカメラも購入しており、どちらも米家シリーズの製品です)。
本篇:
実は購入時にApple HomeKit対応かどうか特に気にしていませんでした。iOS開発者としては失格かもしれませんが、小米が対応しているとは全く思っていませんでした。
なので本記事では、Apple HomeKitの使い方、Apple HomeKit非対応のスマート家電をサードパーティでHomeKitに連携する方法、そして米家(Mi Home)を使ったスマートホーム構築方法(IFTTT連携)をそれぞれ紹介します。
皆さんはご自身のデバイスのニーズに合わせて、自由に読み進めてください。
購入:
私は合計で2台のデスクライトを購入しました。1台は(Pro)でパソコンデスク用、もう1台はベッドサイドの読書灯として使っています。
米家デスクライト Pro :

NT$ 1,795 米家とApple HomeKitに対応
米家 LED スマートデスクライト :

NT$ 995 は米家のみ対応しています
詳細は公式サイトをご参照ください。両方ともスマートコントロール、色変更、明るさ調整、目に優しい機能をサポートしています。Pro版はApple HomeKit対応と三段階の角度調整が可能です。現在使用してみて、1台のライトとしては非常に満足しています。強いて欠点を挙げるなら、Pro版の角度調整は台座のみが水平に回転でき、ライト自体は動かせないため、光の角度調整ができない点です。
理想的スマートホームの目標:
現在あるデバイス:
-
米家スマートカメラ PTZ版 1080P(対応:米家)
-
米家デスクライト Pro(対応:Apple HomeKit、米家)
-
米家 LED スマートデスクライト(対応:米家)
理想の目標:
帰宅時: プライバシー保護と誤操作による見守り警報を防ぐために、自動でカメラをオフにする(米家APPのバグで見守り警報が設定時間通りにオンオフできない)、パソコンデスクのProライトを点灯(暗闇を避けるため)
外出時: 自動でカメラをオンにする(見守りモードをデフォルトで有効に)、すべての照明を消灯
本記事の最終達成:
外出時や帰宅時にプッシュ通知でお知らせし、スマホでワンタップして操作をトリガー(既存のデバイスでは理想的な自動化が難しい)
スマートホーム設定の道:
Apple HomeKit の使用
Mi Homeデスクライト Pro限定!Mi Homeデスクライト Pro!Mi Homeデスクライト Pro!
これは最も簡単な部分で、すべてネイティブ機能だからです。

たった4ステップ
-
家庭用アプリを探す(ない場合はApp Storeで「ホーム」と検索してインストールしてください)
-
ホームアプリを開く
-
右上の「+」をクリックしてアクセサリを追加してください
-
Proランプの底面にあるHomeKitのQRコードをスキャンしてアクセサリに追加するだけです!

アクセサリの追加に成功したら、アクセサリを強く押す(3D TOUCH)または長押しして、明るさや色を調整できます。
Apple HomeKitをサポートしていないスマートホームをどうやってサードパーティでHomeKitに接続する?
以上で対応しているスマートデバイス以外に、Apple HomeKitに対応していないデバイスは家庭アプリでの制御が全くできないのでしょうか?
この章では、対応していないデバイス(カメラ、一般的なデスクライト)を「ホーム」に追加する方法を丁寧に解説します!
Macのみ、Windowsユーザーは直接「米家の使用」章に進んでください
私のデバイスはMacOS 10.14/iOS 12です
HomeBridge を使用する場合:
HomeBridgeはMacコンピュータをブリッジとして使用し、サポートされていないデバイスをHomeKit対応機器としてエミュレートすることで、「ホーム」アプリのアクセサリに追加できます。

動作の比較
ポイントの一つは、Macパソコンを常に起動状態にしておく必要があり、それによってブリッジ接続がスムーズに保たれるということです。パソコンがシャットダウンやスリープ状態になると、これらのHomeKitデバイスを操作できなくなります。
もちろん、ネット上にはラズベリーパイを購入してブリッジとして使うという上級者の方法もありますが、これは技術的な内容が多いため、本記事では紹介しません。
欠点を理解した上で続けて試してみたい場合は、引き続き読み進めるか、次の「米家を直接使う」章に進んでください。
第一歩:
node.js をインストール: こちらをクリック ダウンロード して、インストールしてください。
ステップ2:
「ターミナル」を開いて入力してください
sudo npm -v

node.jsのnpmパッケージ管理ツールが正常にインストールされているか確認するには、バージョン番号が表示されれば成功です!
ステップ3:
npmを使って HomeBridge パッケージをインストールする:
sudo npm -g install homebridge --unsafe-perm
インストールが完了するのを待って…HomeBridgeツールのインストールが完了しました!
前に「HomeBridgeはMacコンピュータをブリッジとして使用し、非対応デバイスをHomeKit対応に見せかける」と述べましたが、実際にはHomeBridgeはプラットフォームに過ぎず、各デバイスを追加するには別途HomeBridgeのプラグインを探す必要があります。
見つけやすく、GoogleやGitHubで「mija 製品英語名 homebridge」と検索すれば多くの情報が出てきます。ここでは、私が使っている2つのデバイスのリソースを紹介します:
1.米家カメラ雲台版リソース: MijiaCamera
カメラは少し扱いが難しいデバイスなので、時間をかけて調査しまとめました。必要な方の参考になれば幸いです!
まずは「ターミナル」でコマンドを使って、このMijiaCameraというnpmパッケージをインストールします。
sudo npm install -g homebridge-mijia-camera
(コード部分は翻訳不要のためそのままです)
インストールが完了したら、カメラのネットワーク IPアドレス と Token の2つの情報を取得する必要があります。

米家APPを開く → カメラ → 右上の「…」→ 設定 → ネットワーク情報で IPアドレス を取得!
Token 情報は少し面倒で、スマートフォンをMacに接続する必要があります:

iTunes インターフェースを開く
バックアップの選択で ローカルバックアップの暗号化はチェックしない を選び、「今すぐバックアップ」をクリックしてください。
バックアップが完了したら、ダウンロードしてバックアップ閲覧ソフトウェアをインストールします:iBackupViewer
「iBackupViewer」を開くと、初回起動時にMacの「システム環境設定」-「セキュリティとプライバシー」-「プライバシー」-「+」から「iBackupViewer」を追加するよう求められます。
**プライバシーが気になる場合は、ネットワークを切断してこのソフトを使用し、使用後に削除してください*

再度「iBackupViewer」を開いてバックアップファイルの読み込みに成功したら、右上のボタンをクリックして「Tree View」モードに切り替えます。

左側にはインストールされているすべてのAPPが表示され、「AppDomain-com.xiaomi.mihome」->「Documents」を見つけます。
右側のファイルリストから「 數字_mihome.sqlite」 ファイルを見つけて選択してください。
右上の「Export」をクリック -> 「Selected」
先ほどエクスポートしたsqliteファイルを https://inloop.github.io/sqlite-viewer/ にアップロードして内容を確認してください。

米家APPのすべてのデバイス情報欄を確認し、右にスクロールして最後まで移動し、ZTOKEN欄を見つけて、ダブルクリックして全選択しコピーします。
最後に http://aes.online-domain-tools.com/ のサイトを開き、ZTOKEN を最終的な Token に変換します。

- 先ほどコピーした ZTOKEN を「Input Text」に貼り付け、「Hex」を選択します。
- Key に「00000000000000000000000000000000」(32個の0)を入力し、同じく「Hex」を選択します。
- 次に「Decrypt!」を押して変換します。
- 右下の青い枠内を全選択してコピーし、空白を取り除くと、目的の Token が得られます。
Token ここでは「miio」を使って直接スニッフィングする方法を試しましたが、どうやら米家カメラのファームウェアが更新されており、この方法では簡単にTokenを取得できなくなっているようです。
HomeBridgeに戻る!設定ファイル config.json を編集

「Finder」->「移動」->「フォルダへ移動」-> 「~/.homebridge」と入力して移動してください
テキストエディタで「config.json」を開きます。ファイルがない場合は新しく作成するか、こちらからダウンロードして直接入れてください。
{
"bridge":{
"name":"Homebridge",
"username":"CC:22:3D:E3:CE:30",
"port":51826,
"pin":"123-45-568"
},
"accessories":[
{
"accessory":"MijiaCamera",
"name":"Mi Camera",
"ip":"",
"token":""
}
]
}
config.jsonに上記の内容を追加し、IPとTokenの部分には先ほど取得した情報を入力してください。
この時点で再度「ターミナル」に戻り、以下のコマンドを実行して HomeBridge を起動します。
sudo homebridge start
もしすでに起動していて、config.jsonの内容を変更した場合は、以下のように変更できます:
sudo homebridge restart
再起動

この時、HomeKitのQRコードが表示され、スキャンしてアクセサリを追加できます(手順は上記のApple HomeKitデバイスの追加方法と同じです)。

下記にもステータスメッセージがあります: [2019–7–4 23:45:03] [Mi Camera] 192.168.0.100 のカメラに接続中… [2019–7–4 23:45:03] [Mi Camera] 現在の電源状態:オフ
これらの表示があり、エラーが出なければ設定は成功です!
一般的によくあるエラーはTokenの間違いです。上記の手順に漏れがないか確認してください。
今すぐ「ホーム」アプリからミジアスマートカメラのオンオフができますよ!
2.米家 LED スマートデスクライト HomeBridge リソース: homebridge-yeelight-wifi
次に、米家のLEDスマートデスクライトです。Pro版のようにApple HomeKitに対応していないため、やはりHomeBridgeを使って追加します。手順はIPやTokenを煩雑に取得する必要がないので、カメラよりは簡単ですが、デスクライトにはデスクライトの注意点があります。別のYeeLightアプリでペアリングし、ローカルネットワーク制御の設定をオンにする必要があります:

この点については、このひどい統合性にどうしても文句を言いたいです。純正のMi Homeアプリではこの設定ができません。ですので、App Storeで「Yeelight」アプリを検索してダウンロード&インストールしてください。
APPを開く -> 米家アカウントで直接ログイン -> デバイスを追加 -> 米家デスクライト -> 指示に従ってデスクライトをYeelightアプリに紐付ける

デバイスの紐付けが完了したら、「デバイス」ページに戻り -> 「米家デスクライト」をタップ -> 右下の「△」タブをタップ -> 「ローカルネットワーク制御」をタップして設定画面へ -> ボタンをオンにしてローカルネットワーク制御を許可する
デスクライトの設定はここまでです。このAPPでデスクライトを操作するか、再度Mi Homeに紐付け直しても構いません。
次にHomeBridgeの設定です。同様に「ターミナル」を開き、コマンドを入力して homebridge-yeelight-wifi npmパッケージをインストールします。
sudo npm install -g homebridge-yeelight-wifi
インストールが完了したら、前述のカメラの手順と同様に、~/.homebridge フォルダに移動し、config.json を作成または編集します。今回は最後の } の中に以下を追加するだけです。
"platforms": [
{
"platform" : "yeelight",
"name" : "yeelight"
}
]
すぐにできます!
最後に上述のカメラの config.json ファイルを統合すると以下のようになります:
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "123-45-568"
},
"accessories": [
{
"accessory": "MijiaCamera",
"name": "Mi Camera",
"ip": "",
"token": ""
}
],
"platforms": [
{
"platform" : "yeelight",
"name" : "yeelight"
}
]
}
そして同様に「ターミナル」に戻り:
sudo homebridge start
または
sudo homebridge restart
これで元々HomeKit非対応のMiスマートLEDデスクライトもHomeKit「ホーム」アプリに追加されます!

しかも、同じく色や明るさの調整に対応しています!
HomeKitアクセサリをすべて追加したら、どうやってスマートに使う?
すべて接続とブリッジ設定が完了したら、「ホーム」アプリを開きます。

手順に従ってシーンを追加します。ここでは「帰宅」を例とします:
右上の「+」をタップ -> シーンを追加 -> カスタム -> アクセサリー名を入力(例:帰宅) -> 下の「アクセサリーを追加」をタップ -> 接続済みのHomeKitアクセサリーを選択 -> このシーンでのアクセサリー状態を設定(カメラ:オフ/スタンドライト:オン) -> 「シーンをテスト」をタップして動作確認 -> 右上の「完了」をタップ!
これでシーンの設定は完了です~この時、ホーム画面でシーンをタップすると中のすべてのアクセサリが実行されます!

もう一つの便利なコツは、コントロールセンターを上にスワイプして、家の形のボタンを直接タップすることで、HomeKitの操作やシーンの実行が素早くできることです(右上でモード切替も可能)。
スマート化できたら、次はどう自動化する?
スマート機能はすでにありますが、次の究極の目標は、帰宅時に自動でカメラをオフにし、ライトをオンにすること、外出時に自動でカメラをオンにし、ライトをオフにすることです。

3番目のタブ「自動化」に切り替えると設定できます。申し訳ありませんが、ここには上記のデバイス(iPad/Apple TV/HomePod)で”ホームハブ”を設定できるものがないため、この部分は調べていません。
原理は、家に帰ると「ホームハブ」がスマホや時計を感知して正確にトリガーする仕組みのようです!
ここでトリッキーな方法を見つけました:(GPS感知)
サードパーティのアプリを使って「ホーム」アプリに連携し、自動化設定を追加することで、スマホのGPS位置情報を利用して「自動化」タブの機能制限を回避できます。
p.s GPSには約100メートルの誤差があります

こちらで使用しているサードパーティ連携アプリは:myHome Plusです。
ダウンロード&インストール後にアプリを開く -> 「ホームデータ」へのアクセスを許可 -> 「ホーム」のデータ構成が表示される -> 右上の「設定ボタン」をタップ -> 「我が家」を選択して入る -> 下にスクロールして「Triggers」エリア -> 「Add Trigger」をタップ

Trigger タイプで「Location」を選択 -> Name に名前を入力(例:帰宅)-> 「Set Location」をクリックして位置エリアを設定 -> 次に REGION STATUS でエリアへの「入る」か「出る」を設定 -> 最後に SCENES で対応する実行したい「シーン」(上で作成したもの)を選択
右上の「完了」を押して保存した後、「ホーム」アプリに戻ると、「オートメーション」タブが開いて使えるようになります!

この時、右上の「+」を選んで「ホーム」アプリで直接オートメーションを追加できます!!

手順はサードパーティーのアプリと同じですが、統合性がより優れています!ネイティブの「ホーム」アプリで自動化を設定した後、先ほどサードパーティーのアプリで作成したものをスワイプして削除できます。
!!注意してください、少なくとも一つは残してください;さもなければタブは元のロック状態に戻ります!!
Siri 音声コントロールの部分:
以下で紹介する米家と比べて、HomeKitの統合性は非常に高く、音声で設定したアクセサリやシーンを直接操作でき、追加の設定は不要です。

HomeKitの設定紹介はここまでです。次に、Mi Homeのネイティブスマートホームの使い方を説明します。
米家でスマートホームを構築する方法:
ここで困った点があります。米家のデバイス追加画面で同じ見た目の米家のデスクライトが見つからなかったのですが、答えは:

文字を見ればわかります、これです。
その他のデバイス:カメラやProデスクライトは公式の説明に従って設定・追加すればよいので、ここでは繰り返しません。
シーン設定:

「ホーム設定方法」→「スマート」タブに切り替え → 「手動実行」を選択 → 下のデバイス操作を選択(ネイティブ対応のため、より多くの機能が選べます) → 他のデバイス(デスクライト)を追加 → 「保存」で完了!
必ず「ある場所を離れるまたは到着する」を直接選ばない理由を聞く人がいるでしょうが、この機能は全く役に立ちません。台湾向けにGPSを最適化していないのが問題で、位置情報はランドマークにしか設定できません。もしあなたの位置がそこにあるなら、この機能は直接使えます。この記事の後半はスキップしても構いません!

ショートカットスイッチは、「マイ」->「ウィジェット」からウィジェットを設定できます!
これで通知センターからシーンやデバイスを素早く実行できます!

Apple Watchからもデバイスを操作できます!
もしウォッチのアプリがずっと空白のままなら、ウォッチまたはiPhoneのアプリを削除して再インストールしてください。このアプリはバグがかなり多いです。
スマート化できたら、次はどう自動化する?
ここでもGPS感知方式を使用しますが、もし上記のシーン追加で「離れるまたは到着する場所」を使っている場合は、以下の設定はすべて省略できます!
[2019/09/26] iOS 13以降で内蔵のショートカットアプリのみを使った自動化の実現:
iOS ≥ 13.1で「ショートカット」自動化機能を使って米家スマートホームと連携、詳細はこちら>>
iOS ≥ 12、iOS < 13 のみ:
内蔵のショートカットアプリとIFTTTを連携して使用する

まず「マイ」->「ラボ機能」->「iOSショートカット」->「Mi Homeシーンをショートカットに追加」へ進みます。
システムに標準搭載されている「ショートカット」アプリを開く(見つからない場合はApp Storeで検索してダウンロードしてください)

右上の「+」をクリックしてショートカットを作成 -> 右上の完了ボタンの横にある設定ボタンをクリック -> 名前 -> 名前を入力(後で使うので英語推奨)

ショートカットの追加ページに戻り -> 下のメニューで「米家」を検索 -> 米家で設定した対応するシーンを追加し、「実行時に表示」をオフにする。そうしないと実行後に米家アプリが開いてしまいます。
*もし米家が見つからない場合は、米家APPに戻り、「マイ」->「ラボ機能」->「iOSショートカット」->「米家シーンをショートカットに追加」をオン・オフし、「ショートカット」APPを再起動してください。
この時は再びサードパーティのアプリを使います。IFTTTを使ってGPSの入退室のバックグラウンドトリガーを設定します。App Storeで「 IFTTT 」を検索してダウンロード&インストールしてください。

IFTTTを開き、アカウントにログインしたら、「My Applets」タブに切り替え、右上の「+」をタップして新規作成します。
「+this」をクリックし、「Location」を検索します。
「入る」か「出る」かを選択します。

位置を設定 -> 「Create trigger」をクリックして確定 -> 次に下の「+that」を選択 -> 「notification」を検索

「IFTTTアプリからリッチ通知を送信する」を選択してください:
Title = 通知タイトル , Message = 通知内容
Link URL を入力してください:shortcuts://run-shortcut?name= ショートカット名
だから、ショートカットの名前はできるだけ英語にしたほうがいいと言ったのです。
-> 「Create action」をクリック -> 「Edit title」をクリックして名前を設定できます
-> 「完了」保存が完了しました!
次回、設定したエリアの範囲から出入りすると通知が届きます(約100メートルの誤差範囲があります)。通知をタップすると、自動的に米家のシーンが実行されます!

通知をタップすると、バックグラウンドでシーンが自動実行されます。
Siri 音声コントロールの部分:
米家はAppleの標準アプリではないため、Siri音声コントロールを利用するには別途設定が必要です:

「スマート」タブ -> 「Siriに追加」-> 「対象シーン」を選択して「Siriに追加」を押す
-> 赤い録音ボタンをタップ(例:電気を消す) -> 完了!
Siriで直接シーンを呼び出してコントロールできます!
まとめ
上述の多くの設定手順をまとめると、以下の通りです:
良い体験を得るには、HomeKitのロゴが付いた家電を高額で購入する必要があります(そうすればMacでHomeBridgeを常時起動させる必要がなく、Apple純正のホーム機能と完璧に連携します)。さらに、HomePodやApple TV、iPadを家庭のハブとして購入する必要があります。HomeKit対応家電も家庭のハブもどちらも高価です!
技術力があれば、サードパーティのスマートデバイス(例:米家)とラズベリーパイを組み合わせてHomeBridgeを使うことを検討してください。
もし私のような普通の人であれば、やはり米家を直接使うのが一番手軽で便利です。現在の使い方は、帰宅や外出時に通知センターのウィジェットからシーン操作を実行しています。ショートカットAPPとIFTTTの連携は通知リマインダーとしてのみ使っており、時々忘れないようにしています。
現在の体験は理想の目標には達していませんが、「スマートホーム」に一歩近づきました!
上級編
Raspberry PiをHomeBridgeサーバーとして使用し、すべてのMi Home家電をHomeKitに接続する方法のデモ
関連記事
Post MediumからZMediumToMarkdownを使って変換しました。



コメント