家の窓が開いているかどうかをGoogle Data Portalでモニタリングできるようにしました。
※ まだ1階と2階しかセンサーが設置されていないので、3階とLoftのデータは取れていないです
前提
- Google Data Portalにベースとなるレポートがあること (詳細は以下ページ参照)
- Google SpreadSheet に窓の開閉情報がリアルタイムに更新されていること (詳細は以下ページ参照)
Google SpreadSheet側の設定
- Google Data Portalの仕様で、スコアカードを使う場合は"合計"とか"平均値"とかしか表示できないので、最新値だけのシートを作ります
- 一段階でやってもいいのですが、関数が読みにくくなるので二段階でやっています。
- 第一段階
- 最新データのみを表示するシートを作成
*関数例:=if(indirect("test1!B"&counta(test1!A:A))="",if(indirect("test1!B"&counta(test1!A:A)-1)="",if(indirect("test1!B"&counta(test1!A:A)-2)="",indirect("test1!B"&counta(test1!A:A)-3),indirect("test1!B"&counta(test1!A:A)-2)),indirect("test1!B"&counta(test1!A:A)-1)),indirect("test1!B"&counta(test1!A:A)))
- 以下の場合の例です
- 元データが入っているシート名:"test1"
- B列に入っているデータを引き抜いています
- 一番下の行に値がなかったら1個ずつ上の行を見に行くようにしています
- 最新データのみを表示するシートを作成
- 第二段階
- ステータスを数字に変換するためのシートを作成
- Open!を1, Closeを0に置き換えています
- 関数例:
=if(current!B2="Open!",1,if(current!B2="Close",0,"NG"))
Google Data Portal側の設定
- Google Data Portalを開きベースとなるレポートを表示
- 右上の編集ボタン
- メニューのデータを追加 → Google SpreadSheetから最新データのみを表示するシートを選択 → 追加 → レポートに追加
- メニューのリソース → 追加済みのデータソースの管理 → 追加したものの編集ボタンをクリック
- 値を以下のように変更し完了ボタンを押す → 閉じる
- 窓の開閉データ
- タイプ: 数値
- デフォルトの集計: なし
- 日付データ
- タイプ: 日付、時、分
- デフォルトの集計: なし
- 窓の開閉データ
- テキストを追加
- 横長の四角
- 窓を識別する名前を記載(1F_northなど)
- 塗りつぶし:カスタムの白と水色のグラデーション(お好みで)
- グラフを追加 → スコアカード → 配置
- スコアカードのメニュー(右側に出ているプロパティ的な部分)を変更
- データソース: 追加したシートを選択
- 期間のディメンション: 不要(値が入っていたら削除)
- 指標: 窓の開閉データ(0 or 1が入っている)を選択
- スタイルメニューから背景色を指定
- データが取れなかった時用の色を指定(私は紫を指定しています)
- 条件付き書式
- ルール1:
- 色のタイプ:単一色
- 書式ルール:値、等しい、1
- 色とスタイル:
- 文字:transparent
- 塗りつぶし:青
- ルール2
- 色のタイプ:単一色
- 書式ルール:値、等しい、0
- 色とスタイル:
- 文字:transparent
- 塗りつぶし:transparent
- ルール1:
- このスコアカードを小さくしてテキストの上に配置
- ↓の絵のように、開いているときは青空が見えている感じで表示されます。
2021年3月から始めたスマートホーム化はこちらに一覧化しています(2021年7月時点)