家庭の消費電力・気温・電気代をGrafanaで一画面に可視化!Echo Show 15をスマートホームダッシュボードとして活用する

Echo & Alexa

「今この瞬間、家全体でどれだけ電気を使っているか」「どの家電が一番電気を食っているか」「今月の電気代はいくらになりそうか」——これらをリビングのディスプレイで一目で確認できたら便利ですよね。
本記事では、Nature Remo E(スマートメーター)と SwitchBot プラグから InfluxDB に蓄積した電力データを Grafana でダッシュボード化し、Amazon Echo Show 15 に常時表示する仕組みを解説します。

なぜこの機能を作ったのか?

電力データを InfluxDB に蓄積し始めたことで「せっかく集めたデータを活用したい」という気持ちが生まれました。
電力会社のアプリは月単位・日単位の確認しかできませんが、Grafana を使えば「直近 12 時間の電力推移」「各部屋・各家電の電力内訳」「現在の気温と湿度」を一枚のダッシュボードにまとめられます。
さらに Echo Show 15 をリビングに常時表示することで、スマホを開かなくても壁を見るだけで家の状況がわかるようになりました。

壁のディスプレイを見るだけで家の電力・気温・電気代が一目でわかる!

実現したいこと

  • 家全体の瞬時消費電力(W)と電力内訳を円グラフで可視化
  • 過去 12 時間の消費電力推移を時系列グラフで表示
  • デバイスごとの消費電力量(kWh)を一覧表示
  • 今日・今月の概算電気代をリアルタイム表示
  • 各部屋の気温・湿度を一画面に並べて表示
  • 作成したダッシュボードを Echo Show 15 に常時表示

この記事でわかること

  • Grafana に InfluxDB をデータソースとして接続する方法
  • InfluxQL クエリで消費電力・気温・電気代を取得する書き方
  • 円グラフ(Pie chart)・時系列グラフ(Time series)・数値パネル(Stat / Gauge)を使い分けるポイント
  • 電気代(円)を Grafana の計算フィールドで算出する方法
  • Grafana のダッシュボードをキオスクモード URL で外部表示する方法
  • Echo Show 15 の Silk ブラウザで Grafana を常時表示する方法

必要な準備と用意するもの

ハードウェア
  • Raspberry Pi(Grafana サーバーとして動作させる場合)
  • Amazon Echo Show 15(ダッシュボード常時表示用)
  • Nature Remo E(家全体の電力取得)
  • SwitchBot プラグミニ(デバイスごとの電力取得)
  • SwitchBot 温湿度計(各部屋の気温・湿度取得)
ソフトウェア/サービス
  • Grafana(ダッシュボード作成)
  • InfluxDB(時系列データベース)
  • Python(データ収集スクリプト。別記事参照)

データ収集の仕組み(Nature Remo E・SwitchBot API → InfluxDB への書き込み)は別記事を参照してください。本記事は「蓄積されたデータを可視化する」部分に絞って解説します。

完成イメージ

こちらが実際に壁掛けした Echo Show 15 に表示されているダッシュボードです。現在の消費電力・デバイス別内訳・過去の電力推移・電気代・各部屋の気温と湿度が一画面にまとまっています。

ダッシュボードは上から順に下記のセクションで構成されています。

  1. 現在の消費電力(W):円グラフでデバイス別の電力内訳と、各デバイスの現在の消費電力を数値で表示
  2. 電力推移グラフ:過去 12 時間の消費電力(W)の時系列グラフ。家全体と主要デバイスを重ねて表示
  3. 電力量(kWh)集計:当日のデバイスごとの消費電力量と今月の累積消費電力量
  4. 電気代:今日の概算電気代・今月の累積電気代を大きな数値で表示
  5. 気温・湿度:各部屋の現在の気温と湿度を並べて表示

Echo Show 15 とは

Amazon Echo Show 15 は Amazon が販売する 15.6 インチの大型スマートディスプレイです。Fire OS が動作しており、Alexa 対応のスマートスピーカーとしての機能に加え、大画面で写真・動画・ウェブページを表示できます。縦向き・横向きどちらにも対応し、壁掛け用のブラケットも付属しているため、リビングの壁に設置してダッシュボード専用ディスプレイとして使うのに最適です。

標準搭載の Silk ブラウザを使えば任意のウェブ URL を表示できるため、Grafana のダッシュボード URL を開くだけで電力ダッシュボードを常時表示できます。Grafana のキオスクモード(?kiosk パラメータ)と組み合わせることで、ヘッダーや余白のないフルスクリーン表示が実現できます。

常時表示ディスプレイとして最適
壁に掛けるだけでスマートホームの状況を家族全員が自然に確認できます。スマホを手に取る必要がなく、リビングを通るたびに電力状況や気温が目に入ってくる体験は快適です。

システムの仕組み

データの流れは下記の通りです。

  1. Nature Remo E と SwitchBot プラグが電力データを取得し、ラズパイが InfluxDB に定期保存
  2. SwitchBot 温湿度計が各部屋の気温・湿度を取得し、InfluxDB に定期保存
  3. Grafana が InfluxDB に InfluxQL クエリを発行し、結果をダッシュボードに描画
  4. Echo Show 15 の Silk ブラウザが Grafana のキオスクモード URL を常時表示

Grafana と InfluxDB はどちらもラズパイ上で動作しており、LAN 内でのみアクセスできます。Echo Show 15 も同じ LAN に接続することで、外部インターネットを介さずにダッシュボードを表示できます。

実装のポイント

円グラフで電力内訳を可視化

Grafana の Pie chart パネルを使い、家全体の消費電力に対して各デバイスがどの割合を占めているかを可視化します。複数のデバイスの最新値を一つのパネルに重ねて表示することで、視覚的に内訳が把握できます。

電気代の概算表示

Grafana の Transform(変換)機能で「消費電力量(kWh)× 電力単価(円/kWh)」を計算し、概算電気代を表示します。正確な金額ではありませんが、今月がおよそいくらになるかの目安として十分機能します。

電力単価は契約プランによって異なります。我が家は ¥30/kWh 程度を目安に設定しています。実際の単価は電力会社の明細を確認してください。

キオスクモードでフルスクリーン表示

Grafana のダッシュボード URL に ?kiosk パラメータを追加するだけで、ヘッダーやサイドバーが非表示になり、ダッシュボードがフルスクリーンで表示されます。Echo Show 15 のような小型ディスプレイでは特に有効で、情報の表示面積を最大化できます。

自動リフレッシュで常に最新データを表示

Grafana ダッシュボードの URL に &refresh=15s を付けると、15 秒ごとに自動リフレッシュされます。InfluxDB へのデータ収集間隔(最短 15 秒)と合わせることで、ほぼリアルタイムでダッシュボードが更新されます。

事前準備

Grafana のインストール

sudo apt-get install -y grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

インストール後、ブラウザで http://<ラズパイのIP>:3000 にアクセスし、初期ログイン(admin / admin)してパスワードを変更します。

InfluxDB データソースの設定

  1. Grafana の左メニュー「Connections」→「Data Sources」を選択
  2. 「Add data source」→「InfluxDB」を選択
  3. 下記を設定して「Save & Test」をクリック
    • URLhttp://localhost:8086(ラズパイ上の InfluxDB)
    • Query Language:InfluxQL
    • Databasehouseinfo(データ収集先のバケット名)
    • Token:InfluxDB の API トークン

実装方法

InfluxDB のデータ構造(参照先 measurement 一覧)

InfluxQL クエリを書く前に、使用する measurement とフィールドを整理します。

  • remo_e:Nature Remo E から取得した家全体の電力(measured_instantaneous [W]、normal_direction_cumulative_electric_energy
  • plug:SwitchBot プラグの電力(weight [W]、electricityOfDay [Wh]、wattCumulative)。deviceId タグでデバイスを識別
  • meter:SwitchBot 温湿度計(temperaturehumidity)。deviceId タグでデバイスを識別
  • hubmini3:SwitchBot Hub Mini 3(temperaturehumiditylightLevel

パネル①:現在の消費電力(Stat パネル)

家全体の瞬時消費電力を大きな数値で表示します。Nature Remo E の最新値を取得します。

SELECT last("measured_instantaneous") / 1000 AS "消費電力(kW)"
FROM "remo_e"
WHERE $timeFilter

Nature Remo E の measured_instantaneous は W 単位です。kW で表示したい場合は 1000 で割ります。Stat パネルの「Unit」を watt にすると自動で単位が表示されます。

パネル②:デバイス別消費電力(Pie chart パネル)

各デバイスの現在の消費電力(W)を円グラフで表示します。デバイスごとにクエリを追加し、それぞれ別の「Series name」(凡例名)を付けます。

-- 床暖房プラグ
SELECT last("weight") AS "床暖房"
FROM "plug"
WHERE "deviceId" = '<floor_heating_plugのデバイスID>' AND $timeFilter

-- テレビプラグ
SELECT last("weight") AS "テレビ"
FROM "plug"
WHERE "deviceId" = '<tv_plugのデバイスID>' AND $timeFilter

-- 冷蔵庫プラグ
SELECT last("weight") AS "冷蔵庫"
FROM "plug"
WHERE "deviceId" = '<refrigerator_plugのデバイスID>' AND $timeFilter

-- ※デバイスの数だけクエリを追加する

Pie chart パネルでは各クエリが 1 つのスライスになります。「Query options」の「Legend」に表示名を設定しておくと凡例がわかりやすくなります。

パネル③:電力推移グラフ(Time series パネル)

過去 12 時間の消費電力推移を折れ線グラフで表示します。家全体と主要デバイスを重ねることで、どの家電が電力増加の原因かが一目でわかります。

-- 家全体(Nature Remo E)
SELECT mean("measured_instantaneous") AS "家全体"
FROM "remo_e"
WHERE $timeFilter
GROUP BY time(1m) fill(null)

-- 床暖房(SwitchBot プラグ)
SELECT mean("weight") AS "床暖房"
FROM "plug"
WHERE "deviceId" = '<floor_heating_plugのデバイスID>' AND $timeFilter
GROUP BY time(1m) fill(null)

パネル④:当日の消費電力量(Stat パネル)

今日 0 時からの積算電力量(kWh)を表示します。SwitchBot プラグの electricityOfDay フィールドは当日分の積算値(Wh)を返します。

-- 床暖房プラグの当日積算電力量(Wh → kWh に換算)
SELECT last("electricityOfDay") / 1000 AS "床暖房(kWh)"
FROM "plug"
WHERE "deviceId" = '<floor_heating_plugのデバイスID>' AND $timeFilter

パネル⑤:概算電気代(Stat パネル)

Nature Remo E の積算電力量(normal_direction_cumulative_electric_energy)を使って概算電気代を計算します。当日分の積算差分に単価を掛けることで今日の電気代が出ます。

-- 今月の積算電力量(kWh)
SELECT (last("normal_direction_cumulative_electric_energy") - first("normal_direction_cumulative_electric_energy"))
       * "cumulative_electric_energy_unit" / 1000 AS "今月の電力量(kWh)"
FROM "remo_e"
WHERE $timeFilter

取得した kWh に電力単価を掛けて円換算します。Grafana の「Transform」→「Add field from calculation」で下記のように設定します。

  • Mode:Binary operation
  • Operation今月の電力量(kWh) × 30(電力単価 ¥30/kWh の場合)
  • Alias:概算電気代(円)

パネル⑥:各部屋の気温・湿度(Stat パネル)

各部屋の現在の気温と湿度を並べて表示します。部屋ごとにクエリを追加し、Stat パネルで一覧表示します。

-- リビングの気温
SELECT last("temperature") AS "リビング気温"
FROM "meter"
WHERE "deviceId" = '<living_thermometerのデバイスID>' AND $timeFilter

-- リビングの湿度
SELECT last("humidity") AS "リビング湿度"
FROM "meter"
WHERE "deviceId" = '<living_thermometerのデバイスID>' AND $timeFilter

-- 寝室の気温
SELECT last("temperature") AS "寝室気温"
FROM "meter"
WHERE "deviceId" = '<bedroom_thermometerのデバイスID>' AND $timeFilter

Echo Show 15 でダッシュボードを常時表示する

Grafana のダッシュボードを Echo Show 15 に常時表示するには、キオスクモード URL を Silk ブラウザで開くだけです。

  1. Grafana でダッシュボードを作成し、URL をコピーする
  2. URL の末尾に ?kiosk&refresh=15s を付加する(例:http://192.168.xxx.xxx:3000/d/xxxx/dashboard?kiosk&refresh=15s
  3. Echo Show 15 で「Silk ブラウザ」を起動し、上記の URL を入力する
  4. ブラウザのフルスクリーンモード(設定 → 「全画面」)を有効にする

Echo Show 15 はスリープ状態になると画面が消えます。「設定」→「ディスプレイ」→「スリープまでの時間」を「なし」に設定することで常時表示を維持できます。また、Grafana のログインセッションが切れた場合に備えて、Grafana 側で「Anonymous Access(匿名アクセス)」を有効化するかログイン状態を維持する設定を行うことを推奨します。

縦向き表示に最適化したダッシュボードレイアウト

Echo Show 15 は縦置きでの使用を想定した製品です。Grafana のダッシュボードも縦方向にパネルを積み上げるレイアウトにすることで、縦長画面でスクロールなしに全情報を表示できます。

  • ダッシュボードの横幅は 24 列を基準に、各パネルを 幅 24 × 高さ 4〜6 に設定
  • 複数のデバイスを並べる場合は同一行に複数パネルを配置(例:気温 4 部屋 × 幅 6)
  • 最も重要な「現在の消費電力」と「電気代」を画面上部に配置

動作確認

  1. Grafana にブラウザでアクセスし、InfluxDB データソースの接続テストが成功することを確認
  2. 各パネルのクエリを「Explore」機能で事前テストし、データが返ってくることを確認
  3. ダッシュボードを作成し、時系列グラフに電力の波形が描画されることを確認
  4. キオスクモード URL(?kiosk&refresh=15s)でアクセスし、ヘッダーが消えた状態でダッシュボードが表示されることを確認
  5. Echo Show 15 の Silk ブラウザでキオスクモード URL を開き、正常に表示されることを確認
  6. 15 秒後にパネルのデータが自動更新されることを確認

Grafana のパネルにデータが表示されない場合は、まず「Time range」(時間範囲)を確認してください。デフォルトが「Last 6 hours」などになっており、データの蓄積開始時刻と合わない場合があります。「Last 1 hour」など短い範囲に変更してみてください。

まとめ

InfluxDB に蓄積した電力・気温データを Grafana でダッシュボード化し、Echo Show 15 に常時表示する仕組みが実現できました。

  • InfluxQL で measurement とタグを指定するだけで、デバイスごとの電力データを取得できる
  • Pie chart・Time series・Stat を組み合わせることで、電力の「今」と「推移」と「内訳」を一画面に表現できる
  • Transform 機能で kWh × 単価の計算を Grafana 内で完結できる
  • ?kiosk&refresh=15s パラメータで常時フルスクリーン表示ができる
  • Echo Show 15 は縦置き壁掛けができ、ダッシュボード専用ディスプレイとして最適

「壁を見るだけで電力状況がわかる」という体験は、省エネ意識の向上にも自然につながります。「エアコンをつけると電力がここまで増えるのか」が見えるようになると、家族の会話も変わってきます。ぜひ試してみてください。

タイトルとURLをコピーしました