コモノポリタン

コモノ、デジモノが好きなKomonopolitan住民 (はてなダイアリーからの引っ越しです)

【Home Assistant(Hass.io)でホームオートメーション】OKぐーぐる、クリスマスツリーを点けて(2022年版)

【Home Assistant(Hass.io)】
Tuya LEDライトの導入

「Home Assistant(Hass.io)でホームオートメーション 再起動!」シリーズです。

 今年導入したLEDクリスマスライトをHome Assistantから使えるようにしましょう!

 昨年までの我が家のクリスマスツリーは、いつ買ったか思い出せないムギ球式のクリスマスライトセットで彩られていました。


いかにも「日本のクリスマス」というセットです。

 3年前(2019年)にスマートプラグ(スマートコンセント)と組み合わせて「ねぇ、ぐーぐる、クリスマスツリーを点けて」を実現しました。
maky-ba.hatenablog.com

 それから毎年「ねぇ!」と言い続けていましたが、肝心の電球が年々どんどん切れてゆき、チカチカしないところが増えてゆきました…。あっちを入れ替え、こっちを入れ替えだましだました使っていましたが、ついに思い切ってLED化を!

この記事の前提条件
Home Assistant 2022.12.7
Supervisor 2022.11.2
Operating System 9.4
Server Raspberry Pi 4(4GB)/64bit

 上記バージョンを前提とした手順です。 (最新版では動かないこともあるかもしれませんが、私が使っている限り、備忘録を兼ねて最新化してゆきたいとは思っています)

1. 準備

Tuya Smart LED ライト (Fairy Lights)
IoTプラットフォームであるTuya Smart対応のLEDストリングライトです。赤外線リモコンもついてますが、アプリからも制御できます。aliexpressで2022年初は10m版で2,000円弱。今見たら少し値上がり(円安?)。

2. LEDストリングライトの準備

2.1. ツリーに設置

 まずはLEDストリングライトをクリスマスツリーに下から上に巻き付けてゆきます。ちょうど上で終わるように段数を気をつけて巻き付けましょう(うちのツリーは1mぐらいの高さですが、10m版ではなく15m版でも良かったかも)。ワイヤはすこし固め(形をつくるとそのままになる程度)ですので、あまりぐりぐり折り曲げると断線するかも、です。
 電源はUSB電源ですがセットに入っていないので、そこらへんに転がっているUSB ACアダプタを探してきましょう。

2.2. アプリのインストール等

 LEDストリングライト⇔(1)Smart Lifeアプリ(のサーバ)⇔(2)Tuya IoTプラットフォーム⇔Home Assistant
という流れで接続されるので、(1), (2)を順に設定します。

2.2.1. Smart Life

 AndroidもしくはiOSに「Smart Life」アプリをインストールしてアカウント設定します。この時つくったアカウント名とパスワードを忘れないように。

2.2.2. Tuya IoT プラットフォーム

 Home AssistantはTuya IoTプラットフォーム経由でデータをやりとりします。中国のプラットフォームというのがちょっと「アレ」ですが…。
 基本的には下記Home Assistantの解説の通りに進めます。 www.home-assistant.io

  1. Tuya IoTプラットフォームのサイトにアクセスしてアカウントをつくる
  2. 改めてTuya IoTプラットフォームにログインする
  3. 左のナビエリアの「Cloud」から「Development」を選ぶ
  4. 右の方にある「Create Cloud Project」をクリックし
    1. Project Name:適当に「Home Assistant」とでも。
    2. Industry:これも適当に「Smart Home」でも選ぶ。
    3. Development method:これも適当に「Smart Home」を。
    4. Data Center:一番近いところは「China Data Center」なのですがちょっと心配なので次点の「Western America Data Center」を選択。
  5. Authorize API Servicesで「Device Status Notification」を追加(ということでSelected API Service(s)は「IoT Core」「Authorization Token Management」「Smart Home Scene Linkage」「Data Dashboard Service」の計5個。)して、右下の「Authorize」ボタンを押してProjectを生成。
  6. 作ったProjectを開いて上のタブの「Devices」を選び、下の「Link Tuya App Account」タブに行き「Add App Account」ボタンをクリックするとQRコードが表示される
  7. 先ほどインストールしたスマホ/タブレットのSmart Lifeアプリを開き表示されているQRコードを読込み、Confirmする
  8. Tuya IoTプラットフォームのProjectの「Devices」の「All Devices」タブに今回のLEDが読み込まれているのを確認
    今回のデバイス10米铜线灯串(MSL8) 66*ICというものらしい。10米=10m、铜线=銅線、灯串=ライトストリング、ということで(MSL8)は型番かな?66*ICはIC=LEDが66個*1という意味ではないかと。
  9. ProjectのOverviewタブに移って、「AUTHORIZATION KEY」を取得する。画面の「Access Secret/Client Secret: 」がKEYで、コピーアイコンがあるのでクリックしてクリップボードにコピー。

3. HAのTuyaインテグレーション導入

 Home Assistantの先ほどの「Tuya」インテグレーションのページにMy ADD INTEGRATIONボタンがあるので、それで設定を始めましょう(自動発見もされるので、インテグレーション画面に既にいるかも?)。

  1. まずは下記認証情報を入力
    1. 国別コード:Japan
    2. Tuya IoT Access ID:IoTプラットフォームのユーザ名
    3. Tuya IoT Access Secret:IoTプラットフォームのAUTHORIZATION KEY
    4. アカウント:スマホ/タブレットアプリSmart Lifeのアカウント名
    5. パスワード:スマホ/タブレットアプリSmart Lifeのパスワード
  2. 右下の「送信(SUBMIT)」を押して統合*2の設定は終わり

 エンティティを開くと下記の感じに(あ、アイコンは「ライト」から「ツリー」に変更済みだ…)。

 前述の通り、名前が難しいので「Christmas Tree Light」とでもしておきましょう。
 これでHA上でlight.10mi_tong_xian_deng_chuan_msl8_66_icからLEDライトストリングをオン・オフできるようになりました。
 しかしスマホのHome Assistantアプリでは明るさとか、色調とか調整できるようになっているのですが、そこを触ってしまうとせっかくのチカチカモードが解除されて単色モードに…。

4. IFTTT - Google連携

 これはこの間やった下記の記事の通りですね、基本。 maky-ba.hatenablog.com

4.1. IFTTTでApplet作成

  1. IFパートで「Activate scene」を設定。シーン名(Scene name)は「クリスマスツリーの電気をオンにして」
  2. Thenパートは下記の様に設定

 これともう一つ「クリスマスツリーの電気をオフにして」も作っておきます。

4.2. Google Homeの設定

 Google HomeアプリでGoogleスピーカーに「ねぇ、…」と語り掛けたらクリスマスツリーをオン・オフできるように設定します。

  1. ホーム画面で「ルーティン」をクリック。右下の「+」ボタンから「新しいルーティン」画面を開きます
  2. まず「開始条件を追加」で「Googleアシスタントに話しかけたとき」を選び「クリスマスツリーの電気をつけて」と設定します
  3. 次に「アクションを追加」で「スマートホームバイスの調整」を選び、その中の「シーンの操作」で先ほど作ったシーン「クリスマスツリーの電気をオンにして」を選びます
  4. 最期に「アクションを追加」で「連絡、お知らせ」を選び、喋らせたいメッセージ内容「クリスマスツリーの電気をつけます」を設定

はい出来上がり。
忘れず「クリスマスツリーの電気を消して」も設定しておきましょう。

5. おわりに

 ふぅ…できました!ギリギリ間に合った!
 これで、今年も無事に「ねぇぐーぐる、クリスマスツリーを点けて」でライトオン!


maky-ba.hatenablog.com

*1:ムギ球式の頃は30球のクリアと50球のカラーで計80球。そこからフルカラー(総天然色!)の66球へ、なのでまあ同じぐらいかな。15mのやつだときっと99球…やはり15mがよかったかも。

*2:知らないうちにインテグレーションの表記が「統合」に。短くて良いけど。