Pi-hole広告ブロックDNSとHome Assistantの連携

公開

Home Assistant に Pi-hole 用インテグレーションを導入して、 Alpine Linux仮想マシンで構築した Pi-hole 広告ブロック DNS を、 Home Assistant で監視したり、広告ブロックの一時無効化の操作もできるようにしました。

Pi-holeのAPIトークンを取得

まず、Home AssistantPi-holeのAPIへアクセスするためのトークンを取得します。

Pi-holeのWeb UIの左メニュー Settings の中にあるAPIタブを開いて、下方の Show API Token を押下。

図01.Pi-hole API Settings

図01.Pi-hole API Settings

確認ポップアップの後、APIトークンが現れます。QR-Codeの下にある Raw API Token の文字列が後で必要になるので、控えておきましょう。

図02.Pi-hole API Token

図02.Pi-hole API Token

Home Assistant Pi-holeインテグレーションの導入

続いて、Home AssistantのWeb UIを開き、 設定 → デバイスとサービス で右下の追加ボタンからPi-hole用のインテグレーションを探してクリック。

図03.新しい統合の検索

図03.新しい統合の検索

Pi-holeへのアクセス情報を入力します。名前はHome Assistantの中で便宜的に使うものなので任意の名称で可。その下のロケーション項が分かりにくいのですが、これはPi-hole Web UIのURLの後ろの部分に相当。

図04.Pi-holeアクセス情報入力

図04.Pi-holeアクセス情報入力

次にAPIキーを聞かれるので、冒頭で控えておいたAPIトークン文字列を貼り付けます。

図05.Pi-hole APIキー入力

図05.Pi-hole APIキー入力

疎通に成功したら、適当なエリアをセットして完了。

図06.Pi-holeとの連携成功

図06.Pi-holeとの連携成功

Pi-holeインテグレーションで見えるもの

インテグレーションを通じて、Pi-holeの14のエンティティが利用可能に。その内容はPi-holeのWeb UIで見覚えのある内容の他、広告ブロックを入切できるスイッチがコントロールにあります。

図07.Pi-holeインテグレーション

図07.Pi-holeインテグレーション

図08.Pi-holeデバイス情報

図08.Pi-holeデバイス情報

エンティティ名の一覧は以下の通り。これをPi-holeのWeb UIに表示されている情報と突き合わせながら、Home Assistantのダッシュボード上での見せ方を考えます。

図09.Pi-holeエンティティ一覧

図09.Pi-holeエンティティ一覧

Home Assistant ダッシュボードにカードを作成

作ってみたのは、ブロック率のゲージと、各クエリ数を並べたエンティティカードによるグリッドカード。

図10.Pi-holeグリッドカード作成例

図10.Pi-holeグリッドカード作成例

エンティティカード部分はビジュアルエディタ非対応の項目を使っているので、このカード全体のコードを以下に示します。

ブロック率やクエリ数の確認や、広告ブロックのスイッチ、そしてPi-hone Web UIへのハイパーリンクを載せています。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA