機械学習で洗濯物が出ているかどうか判別するモデルを作成して、それを使って洗濯物が出ているかどうかをポータルに表示できるようにしました。
前提
- Google Data Portalにベースとなるレポートがあること (詳細は以下ページ参照)
- Google SpreadSheet に洗濯物が出ているかどうかのデータがリアルタイムに更新されていること (詳細は以下ページ参照)
Google SpreadSheet側の設定
-
最新データのみを表示するシートを作成
- Google Data Portalの仕様で、スコアカードを使う場合は"合計"とか"平均値"とかしか表示できないので、最新値だけのシートを作ります
- その最新値を出すシートに以下のように出力されるように、
- nai (洗濯物がない)なら、0
- deteru (洗濯物がある)なら、1
- mienai (暗くて判断できない)なら、2
- B2セルに関数を入れます (A2には日付を入れておきます。使わないけど。)
- 関数(B2):
=if(indirect("test1!B"&counta(test1!A:A))="nai",0,if(indirect("test1!B"&counta(test1!A:A))="deteru",1,if(indirect("test1!B"&counta(test1!A:A))="mienai",2,"NG")))
- 関数(A2):
=indirect("test1!A"&counta(test1!A:A))
- ちなみに、もとのデータが入っているシート名はtest1にしています
- 関数(B2):
Google Data Portal側の設定
- Google Data Portalを開きベースとなるレポートを表示
- 右上の編集ボタン
- メニューのデータを追加 → Google SpreadSheetから最新データのみを表示するシートを選択 → 追加 → レポートに追加
- メニューのリソース → 追加済みのデータソースの管理 → 追加したものの編集ボタンをクリック
- 値を以下のように変更し完了ボタンを押す → 閉じる
- 洗濯物データ(0 or 1 or 2)
- タイプ: 数値
- デフォルトの集計: なし
- 日付データ
- タイプ: 日付、時、分
- デフォルトの集計: なし
- 洗濯物データ(0 or 1 or 2)
- グラフを追加 → スコアカード → 配置
- スコアカードのメニュー(右側に出ているプロパティ的な部分)を変更
- データソース: 追加したシートを選択
- 期間のディメンション: 不要(値が入っていたら削除)
- 指標: 洗濯物データを選択
- 背景色を指定(私はテーマとレイアウトでエッジを選んでいるのでグレーにしています)
- 文字が見えないようにラベル色を指定(私はテーマとレイアウトでエッジを選んでいるので文字色もグレーにしています)
- これでぬりかべのようにグレーの四角い箱ができたはずです
- これをコピペで2枚にしておきます
洗濯物の絵を準備
- 洗濯物が出ているときと出ていないときの絵を準備します
- この上にさっき作ったグレーの四角い箱をかぶせます(大きさはちょうど隠れるぐらいに調節してください)
- 洗濯物が出ているときの絵が左でその上にあるのを"左のグレーの四角い箱"、
- 洗濯物が出ていないときの絵が右でその上にあるのが"右のグレーの四角い箱"と呼ぶことにします
- スコアカードのメニューのスタイルから以下の条件付き書式を設定をします
- 左のグレーの四角い箱
- ルール1
- 色のタイプ:単一色
- 書式ルール:値、等しい、0
- 色とスタイル:グレー
- ルール2
- 色のタイプ:単一色
- 書式ルール:値、等しい、1
- 色とスタイル:transparent
- ルール1
- 色のタイプ:単一色
- 書式ルール:値、等しい、2
- 色とスタイル:グレー
- ルール1
- 右のグレーの四角い箱
- ルール1
- 色のタイプ:単一色
- 書式ルール:値、等しい、0
- 色とスタイル:transparent
- ルール2
- 色のタイプ:単一色
- 書式ルール:値、等しい、1
- 色とスタイル:グレー
- ルール1
- 色のタイプ:単一色
- 書式ルール:値、等しい、2
- 色とスタイル:グレー
- ルール1
- 左のグレーの四角い箱
- こうすると、以下のような表示になります。完成です。
- 0のとき(洗濯物がないとき)、右の画像が表示
- 1のとき(洗濯物があるとき)、左の画像が表示
- 2のとき(暗くて判断できないとき)、両方の画像が表示されない
2021年3月から始めたスマートホーム化はこちらに一覧化しています(2021年7月時点)