Mac から Homebridge で家電をコントロール

Photo

一応の完成画面

■ニーズ
Macの前に座っていることが多いので、マウスクリックで照明やTV付けたりチャンネル変えたい!!

■家電制御の過程
1. Switchbot Mini HUB 導入
赤外線リモコンがあるTVや照明などは、iPhone と Apple Watch の Switchbot アプリからその操作ができるようになった。

2. Amazon Echo Show 8 導入
●アレクサ対応機器の制御と、アレクサとSwitchbot Mini HUB の連携により
『アレクサ テレビつけて』 『アレクサ テレビ NHKにして』 『アレクサ 照明消して』とか音声と iPhone の アレクサアプリ で できるようになった。
(この時点でSiriさんにはお願いしないことに決めました (^_^;) )

●スケジュール機能や命令の組み合わせで、複合的な命令を実行できるようになった 例として・・
1)朝6時に朝の挨拶、日時、天気を言い、昼光色で照明を点けて、TVをNHKにしてONにする。
2)『アレクサ 行ってきます』の音声で、TV、照明、エアコンをON、OFFに関わらずOFFにする
3)夜8時に照明の色を暖色に変更し、夜10時までに徐々に暗くしていく
4)『アレクサ ゲーム』の音声で、TVを点けて、TVの入力モードをHDMI4に変更する

■課題
1.TVからの人間の音声で、アレクサへの音声コマンドが邪魔される為、大声が必要 (^_^;)
2. Apple Watch  Switchbot アプリ は便利だが、時計画面からSwitchbot アプリ へ切替えが面倒

    Apple Watch Switchbot アプリ          

3.iPhone アプリ、アレクサアプリも iPhoneを手にもってアプリ切替えが面倒

■ニーズ
Macの画面に常時 『ホーム』アプリを起動しておいて、マウスクリックだけで制御したい!
————————————————————————————–
試行錯誤をした結果、以下の方法で概ね目的は達したので、結果のみ記述いたします (^^ゞ
ちなみに 我が家のTVは SONY BRAVIA KJ-55X8500EAndroidTVです
————————————————————————————–
1.オープンソースの Homebridge  (無料) サーバを立てる
      使いたい時に立ち上がっている必要があるので、安価なサーバにできる ラズパイ(Raspberry Pi )などがベストですが、まぁー私はサブマシンのMac miniに立てました 余っている Windowsとかあればそれで問題ないと思います
 ●インストール
 1)Homebrew (パッケージマネージャー) と node.js (PCでJavaScriptを動作させるもの)の インストール
   AI Academy Media さんの記事 m(_ _)m
   Homebrewのインストール方法を解説!

   インストール中
     

 2)Homebridge と UI画面 homebridge-config-ui-x を入れる
   bootmacosさんの記事を参考にさせていただきました m(_ _)m
    Homebridge入門: (3) LチカするHomeKitアクセサリを作る

   ここまでくれば ブラウザでHomebridgeに入ることができます
   サーバローカルではなく、いつも使うPCから
   例えば http://192.168.1.14:8581/ 
   のように サーバのIPアドレスに ポート番号を打てば接続できます
   管理ユーザーを適当に作って ログイン

   

こんな感じで Homebridge  が動作しているのが確認できます
画面の各ブロックは位置や大きさを変更できて、時刻や天気なので ウェジットを追加できます

「ホーム」のアクセサリ追加で Homebridge  を教えてあげます
コードを打つか カメラで コードを読ませると・・・

Homebridge  が追加されました (*^^*)/ やりー

 3)Homebridge の設定 プラグインを入れる
  参考A. @taichi1410さんの記事が詳細で最も参考になりました m(_ _)m
    ちょっと古いBraviaもHey! Siriでチャンネルを変えたりできるようにする。
  参考B. 美しいページで解説してくださった CHASUKE.com さんのページは他の記事もオススメ (*^^*)
      SwitchBotやリモコン家電をHomeKitに対応させる方法【Homebridge

  私が入れたプラグイン
  [ 1 } Homebridge SwitchBot   

   
インストール中

  10回タップ ->     
Homebridge SwitchBot を設定するには SwitchBotの開発者トークンが必要です
SwitchBotアプリ - プロフィール - 設定 - アプリバージョン を10回タップ
で、開発者向けトークンが表示されるので、コピペしておきます


トークンをコピペ

自動的に SwitchBotに登録されている機器が  Homebridge に登録されるものが多いのですが、中には 手動で登録しないとダメなものがありました 私の場合は TVでした・・・orz
Device IDを取得してセットします

Device IDは 先の
SwitchBotやリモコン家電をHomeKitに対応させる方法【Homebridge】 の CHASUKE.com さんのページに取得方法があって、コマンドラインで指示して テキストで出力されるので、それをコピペして保存しておきます

ターミナルで・・
/usr/bin/curl -X GET “https://api.switch-bot.com/v1.0/devices” -H “Authorization:開発者トークン

を叩くのですが・・・

/usr/bin/curl -X GET “https://api.switch-bot.com/v1.0/devices” -H “Authorization:0d64f510e41b579d366ccd448a4aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX38b3ee4fe7e8dfc64a48cd540671f70b78c09
とこんな感じのコマンド

すると ズラッと Device ID が羅列されるので、{ }を目印に分かり易くならべます

Photo

整形前の出力結果

Photo

エディターで整形しました
下半分が赤外線リモコンの登録デバイス
hubDeviceId がどのHUBの配下なのかを示しているみたい

我が家は現在 2台のHUB MINIを使っています


この段階で iPhone のホームや Macの 「ホーム」を立ち上げると SwitchBotに登録されている機器が登録されてて コントロールできるようになっています

「ホーム」の方でアクセサリ(デバイス)を追加するのは 追加- その他のオプション

ここに表示されていれば それを選ぶ そうでなければ

IDを打ったりして ゴニョゴニョしたら出来ました (^^ゞ


実は Homebridge  の Homebridge ログの方に 手動で追加してね と書いてありました

Please add [アンプ B1F0]とか・・・ ログを見ましょう という感じでした・・ (^^ゞてへ
次にTV BRAVIAを細かくコントロールできるように プラグインを入れます
BRAVIAを Homebridge  のプラグインのページで 検索すると こんなにあります・・
諸先輩が入れているのが、概ねこの Homebridge Bravia Tvos 

Homebridge Bravia Tvos  をインストール中


実際これがかなり進化していて、コマンドを打たなくても TVの方で Pre-Sharedキーを適当にセット(TVの設定のネットワークにありました)して、こちらも同じで Pre-Sharedキーを入れて通信ができるようになると、TVから情報を引っ張ってきて 設定が選ぶだけになります (*^^*)
なので TVとの通信の為に Pre-Sharedキーのセットの他に TVもIPアドレスを確認するか、できれば固定IPにすると良いと思います

こんな感じで テレビに名前を 適当につけて TVのIPアドレス ポート番号はデフォルトで80でした
事前共有鍵がPre-Sharedキーで BRAVIAで 例えば 1234にしたら ここでも1234にすれば これで接続ができます

接続できると こんな感じで BRAVIAと通信して BRAVIAからチャンネルや入力形式などの情報を引っ張ってきてくれます
実際 Homebridge Bravia Tvos  は BRAVIAのコントロールをほとんどの事ができてしまうようです

こんな感じで TVのチャンネル情報をもってきてくれてます
指定すれば TBSにするとか 簡単にできるようになりますね


この段階で iPhone のホームや Macの 「ホーム」を立ち上げると テレビも制御も SwitchBotでのON OFF ボタンと テレビ55と名付けた 同じTVのHomebridge Bravia Tvos 経由でのコントロールのボタンと2つ出来ています
SwitchBotアプリからは ほぼTVリモコンと同じく CHや音量などの操作ができますが、このボタンからは ONかOFFしかできません
しかし、Homebridge Bravia Tvos 経由でのコントロールボタンでは・・・

ON OFF と 入力切替 YouTubeアプリなどへの切替 それに照明アイコンになってますが、実はこれは 音量で ここまでは簡単にできました

そして ボリュームは 別のボタンに分けることができて、電源 ON OFF と 入力やアマプラへの切替を セレクターで行う感じにはできました
しかし、これだと マウスなどで操作するにしても 一度 TV55のボタンを開いて そこからまたHDMI4などを選ぶ という操作で ワンクリックでできません (>_<、)

■「ホーム」アプリの 「シーン」を活用できることが判明! \(^o^)/


例えば TVをONにして YouTubeにする場合 iPhoneの「ホーム」アプリなどから TV-YouTubeとかテキトーに名前を付けてTVボタンを追加します
そのTVボタンを長押しすると

YouTubeを選べちゃいます \(^o^)/

これで一発で YouTubeにいけちゃいました! \(^o^)/
その他 NHKとか・・・


ということで概ね完成! \(^o^)/
TVの消音とか まだ うまくいかないものもありますが、本当はできるはずなので また挑戦です(^^ゞ
Siriさんからも シーンとか指示できると思いますが 我が家は 音声はアレクサさんにしているので 後は このマウスクリックで TVと照明ができれば 当面満足です (*^^*)

そんな感じ・・・

コメント

  1. Robertjek より:

    Thanks for the complete information.