週末はいつも晴れ

社会人5年目の日記です。プログラミングとか旅行とかラーメン。

HomeAssistant[1] アドオンのインストール

前回はRaspberry PiにHass OSをインストールしました。
今回はこちらのFeaturedアドオンを試してみました。
www.home-assistant.io

DuckDNS

現在のHome Assistantは、ローカルネットワーク内で閲覧することはできますが、外出先では見れない状態です。
外出先でスマートフォン等から確認するには、Home Assistantをインターネットに公開する必要があります。

これを実現する方法の1つがDuckDNSです。
このアドオンでは、さらにLet's Encryptを利用したSSL証明書の発行も自動的に行ってくれる仕組みとなっています。

DuckDNSはDDNSと呼ばれるサービスの1つで、ご自宅のネット回線によっては使えない可能性があります。
私の住んでいるクソマンションは上流のルータからプライベートIPが割り振られているます。上流ルータの設定ができないため、DDNSが使えません(グローバルIPが割り当てられるのは上流ルータ)。

ネットワークは詳しくないのですが、tracerouteコマンドを使うと、確実に経由しているサーバがわかります。

$ traceroute www.google.co.jp
traceroute to www.google.co.jp (***.***.***.***), 30 hops max, 38byte packets
 1  私の部屋のルータ(***.***.***.***)  0.361 ms  0.554ms  0.240ms
 2  マンションの上流ルータ(***.***.***.***)  3.582 ms  3.545 ms  3.709 ms
 3  KDDIのルータ(***.***.***.***)
...
14 Googleのサーバ?(***.***.***.***)

おとなしくngrokを使うことにします。

Google Assistant

Google AssistantのAIと会話ができるようになります。
Raspberry Piに接続するマイクやスピーカが必要になります。

私の場合はすでにGoogle Homeがあり、インテグレーションから簡単に利用できそうなので、このアドオンの導入は見送ることにします。

HASS Configurator

Home Assistantを設定するにはconfiguration.yamlというファイルを編集する必要があります。
がっつり編集する場合は、パソコンでキーボードからゴリゴリ編集することになると思いますが、on/off等の多少な変更のために、毎回パソコンを開くのは面倒です。外出先からの編集もできません。

HASS Configuratorはアプリケーション画面からconfiguration.yaml等の設定ファイルを編集することができるようになります。

早速インストールしてみます。
左側のサイドバーから、Hass.io => ADD-ON STOREと移動します。
Official add-onsからConfiguratorをクリックします。
INSTALLボタンをクリックしてインストールします。
インストールが終わったら、STARTボタンをクリックします。
Show in sidebarを有効にしておきます。

すべて終わると、Configuratorのadd-on画面はこのような状態になります。
f:id:ikarino99:20191204105158p:plain

せっかくなので、設定ファイルconfiguration.yamlを使って、アプリ画面のテーマを編集してみることにします。

サイドバーからConfiguratorをクリックします。
左上のフォルダマークをクリックし、configuration.yamlを選択します。
私の場合は以下のように入力されていました。

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Uncomment this if you are using SSL/TLS, running in Docker container, etc.
# http:
#   base_url: example.duckdns.org:8123

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

以下の公式リンクを参考にし、テーマの定義を追加します。
Frontend - Home Assistant

# define theme
frontend:
  themes:
    happy:
      primary-color: pink
    sad:
      primary-color: blue

入力し終わったら、上側に表示される赤色の保存ボタンをクリックします。
以上の入力で、2種類のテーマhappysadが定義されました。

次に、変更されたconfiguration.yamlをHome Assistantに再読み込みさせる必要があります。
サイドバーからConfigurations => Server Controlsに移動します。
RESTARTボタンを押すと、Home Assistantが再起動します(Raspberry Pi本体は再起動しません)。
再起動時にconfiguration.yamlが再読み込みされます。

再起動後、サイドバーのユーザプロフィールに移動します。
ここでテーマ(Theme)の変更ができます。以下のようにhappysadが選択可能になっています。
f:id:ikarino99:20191204111143p:plain

テーマの変更については、今後の記事で取り上げようと思います。

Mosquitto MQTT broker

MQTTプロトコルブローカの実装であるMosquittoを使用するためのアドオンです。
今後自作アドオンに必要となった際に紹介します。

SSH Server

Hass OSにSSH接続できるようになります。ただし、root権限はHass.ioで制限されているため、パッケージのインストール等を行うことはできません。

このアドオンでは、公開鍵認証によるSSH接続を行うため、接続元のパソコンで鍵を生成しておく必要があります。
今回はMacから接続することとします。

$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub

cat で表示されたものを"authorized_keys"に入れると、ssh接続できました。

$ ssh root@hassio.local

  _    _                 _
 | |  | |               (_)
 | |__| | __ _ ___ ___   _  ___
 |  __  |/ _` / __/ __| | |/ _ \
 | |  | | (_| \__ \__ \_| | (_) |
 |_|  |_|\__,_|___/___(_)_|\___/



Our Cli:
$ hassio help

core-ssh:~#

hassioコマンドがが使えるようになっており、ログやハードウェアの情報が確認できるようになっています。
www.home-assistant.io

Samba share

このアドオンを使用すると、Sambaがセットアップされ、Hass.io内のファイルに共有フォルダとしてアクセスできるようになります。
同一LAN内ならばWindowsMacはもちろんのこと、スマートフォンからも共有フォルダにアクセスできるようになります。

Configurator同様に左側のサイドバーから、Hass.io => ADD-ON STORE => Official add-ons => Samba shareを選択し、INSTALLボタンを押します。

Samba shareは少し設定が必要になります。
add-on画面の一番下まで移動すると、Configが見つかります。
ここで、共有フォルダにアクセスするためのユーザ名usernameとパスワードpasswordを設定します。

最後にadd-on画面上部のSTARTボタンをクリックして起動します。
設定したユーザ名とパスワードで共有フォルダにアクセスできるようになったはずです。