こんにちは。小川智也です。
夏休み毎日投稿 Day5の今日は、昨日デプロイしたHome Assistantをいじり倒して行きたいと思います!

小川智也と申します。Webプログラマーな中学2年生です。
このブログでは主にITやガジェット系の情報を発信しています!
▼ おすすめリンク ▼
【 X(旧Twitter)・いえPay・個人事業主・ITパスポート・お問い合わせ 】
Home Assistantとは
Home Assistantについては、前回の記事をご覧ください。
Home Assistantをざっくり言うと、家の中のIoT家電をまとめて管理できるめちゃくちゃ便利で優秀なダッシュボードです。
常時表示できる端末が欲しい
こんな感じでめちゃくちゃ便利なHome Assistantですが、一つ課題を感じていました。

いちいち開くの面倒くさいな…
3,000円で買ったスマイルゼミの泥9タブ

そんなとき、ちょうどよいデバイスがありました。
そう、Yahoo!フリマで3,000円で買ったスマイルゼミの泥9タブです。
動作は遅くほとんど使い道がありませんが、泥9でWebページの閲覧はギリ可能な上、なんといっても3,000円なので画面が焼き付いて使い物にならなくなっても諦めが付きます。
やりたいこと
常時表示する端末としてやりたいことはざっとこんな感じです。
- Home Assistantのフルスクリーンでの常時表示
 - ステータスバーも全部隠したい
 - Nest Hubみたいに暗くなったら時計のみの表示にする
 - 夜中は完全消灯
 - 違うアプリを開いたりしても一定時間無操作だと勝手にホームに戻る
 - (できれば)ネスカフェアプリを開けるようにしてコーヒーを淹れるようにする
 

欲張りセットすぎる
実装方法
ということでいよいよ作っていきます。
Home Assistantのフルスクリーンでの常時表示とフルスクリーン化

まずはHome Assistantの常時表示とフルスクリーン化を行っていきます。
今回常時表示させるために、純正のHome Assistantアプリを使用しました。
Fully Kiosk Browserというサードパーティ製のブラウザを使う方法もあるみたいですが、無料版の制約が多く今回の用途にはあっていないと判断したため今回は純正のほうにしました。

また、今回Home Assistantアプリのホームアプリ化も行ってあるので、ホームボタンを押せばすぐHAの画面に移るようになっています。
暗くなったら時計のみを表示させる&深夜モード
これが今回の肝です。
Nest Hubのように暗くなったら時計のみを表示させたかったのですが、HAアプリやAndroidの機能では存在しなかったので、今回はTaskerといういろいろできる有料アプリを使って実装していきます。

こんな感じにいろいろ設定しました。
内容としては、暗くなったら画面全体をオーバーレイで隠し、そこに時計や日付を表示するというものになっています。

本当は暗くなったらロック→明るくなったらロック解除ということをしたかったのですが、Androidの制約上不可能だったのでオーバーレイで隠す方法にしました。

暗くなるとこんな風に時計と時間が出るようにできました!
深夜モードも発動条件と時計が違うだけでほぼ同じです。

ミャクミャク...
違うアプリを開いたりしても一定時間無操作だと勝手にホームに戻る
次は、無操作だと勝手にホームに戻るように実装していきます。図書館の調べるやつとかイオンとかにあるタッチディスプレイの館内マップみたいな感じです。
こちらの同様にTaskerで下記のような実装をしました。
- 1分ごとにHA遷移を呼び出す
 - HA遷移が呼び出された1分後にHA以外のアプリが動いていたらホーム画面に遷移する
 - 画面操作があった場合は上記のHA遷移タスクを終了する
 
これにより無操作後1~2分でホーム画面に遷移するようになりました。
ネスカフェアプリを開けるようにする

最後に、ネスカフェアプリを開けるようにして終わろうと思います。
我が家には母親が抽選会で当ててきたバリスタシンプルがあるのですが、そのシンプルさ故アイスコーヒーやエスプレッソはスマホアプリから淹れなければなりません。
流石にそれはだるすぎるということでこのディスプレイで開けるようにしていきます。

やり方は超簡単でHAの画面にMarkdownで画像付きリンクを書きます。
あとはこれでネスカフェアプリのURLスキームである nestle-nga://barista を開けばいいだけ...なのですが、HAの制約上http(s)://で始まるリンク以外は無効になってしまいます
無理なら作ればいいじゃないか

ということでhttp(s)→ nestle-nga://barista にリダイレクトするだけのアプリをTSで作ってWorkersにデプロイしましたー!リソースの無駄遣い
ソースコードとかURLはGitHubで全部公開してあるので使いたい人は使ってみてください。
参考 ogatomo21/open-nescafe https://github.com/ogatomo21/open-nescafe
参考 open-nescafe(ネスカフェアプリが開きます) https://open-nescafe.ogtm.workers.dev/
まとめ

いかがだったでしょうか。今回は泥タブとTaskerでHome Assistantを常時表示するコントロールパネルを作ってみました。
少し不安定だったり、タブレットの固定がゆるゆるだったりとまだまだ課題点が山積みなので、今後もっと改善していければなと思います。
最後まで見ていただき、ありがとうございました。

この記事がいいと思った方はぜひ他の記事も見ていってください!
X(旧Twitter)のフォローもよろしくお願いします!



