LoginSignup
12
10

More than 1 year has passed since last update.

HomeAssistantの連携例

Last updated at Posted at 2022-02-15

概要

Home assistantを使ってやってるおうちハックのメモ
試行錯誤してきた結果なのでベストじゃないかもしれない
※未完成。反応あれば追記します。

Home Assistantとは

インストールなどは公式のinstallationを参照
Raspberry Pi推奨
他の環境だとインストールできないアドインとかあったり、周辺H/Wがラズパイ専用だったりする

H/Wプラットフォーム

  • Raspberry Pi4 Model B 4GB
    • Amazon.co.jpで購入
    • 通常時でCPU:2%、RAM:10%程度しか食ってないので、Pi3とかでもいいと思う
    • BT内蔵モデルならBLEトラッキングで在宅確認できたりするので便利
  • SDカード SanDiskの16GB
    • Amazon.co.jpで購入
    • 電源をブチるとデータも破損しやすいので品質の良いメーカーがいい
    • スクリーンショットとか保存しなければ8GBあれば十分
  • 電源とケーブル
    • 2A(20W)以上の電源推奨
    • AnkerのACアダプタから、TypeCで給電してる
    • 太いケーブル推奨
  • ケース
    • 熱を持つので金属ケースか、ファン必須
    • ファンは煩くて嫌いなので金属ケース使用
    • 金属ケースだとWiFiとかBlutoothの電波減衰するかも
  • 有線LAN
    • 有線派なので
  • RaspBee II
    • Amazon.comで購入(たぶん)
    • RaspPiのGPIO(UART)に挿して、Zigbeeの機器と通信するやつ

Home Assistantのしくみ

Raspberry piのSDカードにインストールすると下記の構成になる。
supervisorでアドインの管理が出来るし、アドインは環境への依存度が低くなるのでコンテナ最高
基本機能やinjection、HACSはHomeAssistantCore(以下HSCore)にインストールされる
stac.jpg

設定方法

  • 設定ファイル/config/configuration.yaml
    • 編集方法
      • U/Iから編集:設定から変更
      • File Editorアドオン使って編集
      • Visual Studio Codeアドオン使って編集
      • Samba shareアドオン使ってパソコンから直接編集
        (VSCodeを使う場合、Home Assistant用の機能拡張もあります。)
    • ファイルの直接変更は反映に再起動が必要
    • 設定画面からの変更は即反映される

使ってるアドオン

アドオン名 出来る事
AppDaemon4 ドメインのIPへ更新とweb画面のスクショ保存(別記事作成予定)
deCONZ 追加HWのRaspBee II経由で、zigbee通信をして、ikeaのTRÅDFRIを制御するためのアドオン
サポートデバイス
ESPHome ESP32などのマイコンと周辺モジュールのソースを生成してHomeAssistantへ追加するアドオン
下記の連携してる機器を参照のこと
File editor 設定ファイルなどHSCore内部のファイルを編集するアドオン
Home Assistant Google Drive Backup バックアップデータをGoogle driveへアップロードするアドオン
Let's Encrypt いわずと知れたHTTPSの証明書を発行するアドオン
HTTP challengeを行う場合はTCP80のインターネットへの開放が必要
有料だけどHome Assistant Cloudならポート開放不要
MPD ラズパイで音声ファイルを再生するアドオン
TTSの音声ファイルの再生に使用
Samba share NW経由でラズパイのファイルシステムにアクセス出来るアドオン
Spotify connect ラズパイがSpoyfyの再生機器に出来るアドオン
SSH & Web Terminal web画面やパソコンからSSH出来るようにするアドオン
NUT UPSを接続するためのアドイン

連携してる機器

機器 出来る事 通信方法 連携アプリ HSから見た種類
ロボット掃除機
iRobot Roomba980
掃除の開始やエラー取得
掃除のログ画像は取得不可
Wifi 公式インジェクション vacuum
スマート照明・スイッチ
ikea TRÅDFRI
LED照明やスイッチを操作出来る Zigbee RaspBee II + アドイン(deCONZ) light/switch
スマートプラグ
TP-Link Kasa Smart
プラグのOn/off
ローカルAPIがなくなったので新規購入は控えた方がいい
Wifi 公式インジェクション switch
UPS
CyberPower CP750SWLTJP
UPSの負荷やバッテリ残量の取得。アドインが安定せずデータ取得出来ないことが多々ある USBケーブル アドイン + 公式インジェクション sensor
NWCamera
Tapo C100, C310
監視カメラと不在通知の訪問者写真取得 WiFi 低遅延を目的にHACSのインジェクションでカメラとブラウザを直結。スナップショットの取得(camera.snapshot)はffmpegを使用する camera
SONY Bravia TV パソコンと連動してTVをOn/Off、チャンネル変更、音楽の再生など WiFi/有線 公式インジェクション media_player/remote
Wake on LAN(WOL) パソコンの起動と起動状態確認(pingなのでラグあり)
パソコンのOffはひと工夫必要
有線(UDP) 公式インジェクション
switch
インターフォン(別記事) オートロックの自動開錠や不在通知 Wifi ESPHome switch/binary_sensor
★赤外線制御方式のシーリングファン ファンのOn/Off/速度調整 Wifi+IR ESPHome + TemplateFan fan
★ダイキン
エアコン
冷暖房、温度や風量調整 Wifi+IR ESPHome climate
便器の自動洗浄(別記事) 自動洗浄 Wifi ESPHome なし
★温度/湿度/気圧ロガー 情報の記録 Wifi ESPHome sensor
★CO2ロガー 情報の記録 Wifi ESPHome sensor
★スマホアプリ ダッシュボードの閲覧、通知の受信、端末情報の送信(位置情報・次のアラームなど)など WiFi/携帯回線 公式アプリ
Docs
sensor
★CANDY HOUSE sesame3 鍵の施錠状態取得。鍵の開錠施錠WiFiアダプタが必要 WiFi+BLE TemplateLock + RESTful Sensor + Shell Command lock
★ダイキン
空気清浄機 ACK70V
風量調整、加湿調整、LEDのOn/Off WiFi 自作のカスタムコンポーネント
参考にしたリポジトリ
fan

★: 別記事作成予定

連携してる外部サービス

サービス名 出来る事 連携方法 備考
Google Calendar 予定情報を取得し、休日だったら、在宅だったらなどのif処理も可能 公式インジェクション
Google現在地共有 Androidのロケーション履歴情報をGoogleのサーバから取得(定期的にCookieの更新が必要なので使ってない) 公式インジェクション
OpenWeatherMap 現在の天気と天気予報の取得 公式インジェクション
Google Translate TTS テキストを音声にして再生する 公式インジェクション
Spotify spotifyの再生をコントロール、再生状況の取得 公式インジェクション
電車の運行情報 運行状況のサイトからデータ取得して通知 Scrap
FlightRadar24 FlightRadar24へ送っている、受信したADS-Bの機体情報数を取得 Scrap Build your own ADS-B receiver
Google Assistant SDK GoogleAssistantへテキストを送って処理させる(現在は不使用)
「XXを付けて」などは出来ない
アドイン
Google Assistant 一部entityをGoogleHomeへ登録し、Google⇒HS⇒機器の流れで音声操作 公式インジェクション 有料だけどHome Assistant Cloudなら簡単に実現可能

オーバービューのサンプル

用途 スクショ
パソコン/モバイル用
操作やそれに必要な情報
アラート用
バッテリ残量の確認や長期的な統計
古いスマホで常時表示用
玄関に設置して外出前に確認
M5Paper用
AppDaemon4でスクショ取ってM5Paperで表示させる

フロントエンド用に追加してるインジェクション

HACSでインストール

インジェクション名 目的
Multiple Entity Row 1行にいろんなボタンや情報を表示する
bignumber-card ただ大きく表示するだけ
card-mod ほかのカードのデザインを上書き出来る
apexcharts-card 高性能なグラフ描画
Kiosk Mode サイドバーや上部のタブを非表示にする
Battery State Card / Entity Row 色で分かりやすく
Atomic Calendar Revive 標準より高機能なカレンダ

オートメーションのブループリント

  • まとめたら追記する

そのほか

  • 消えないentityの消し方
    • 使わなくなったentityが残り続ける場合は、下記の管理ファイルから削除する
      • /config/.storage/core.entity_registry
      • .storageは隠しフォルダ
      • json形式なのでフォーマットに注意しつつ削除
      • 反映にはHSCoreの再起動が必要
12
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10