洗濯物が出ているかどうかをポータルで表示

機械学習で洗濯物が出ているかどうか判別するモデルを作成して、それを使って洗濯物が出ているかどうかをポータルに表示できるようにしました。

![portal_sentakumono.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/849198/fa459c5e-510a-7c80-3fca-b54fa4b1dd9f.png)


#### 前提
* Google Data Portalにベースとなるレポートがあること (詳細は以下ページ参照)

https://qiita.com/tosshie/private/bc43114d42e05bc3afcb

* Google SpreadSheet に洗濯物が出ているかどうかのデータがリアルタイムに更新されていること (詳細は以下ページ参照)

https://qiita.com/tosshie/private/0b5856d06d6bfc228d41

#### 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にしています
 
* もとのデータが入っているシートはこんな感じ
![sentaku_spreadsheet1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/849198/bd559799-4609-6881-8215-ebbae7d8bf62.png)

* 最新データが入っているシートはこんな感じ
![sentaku_spreadsheet2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/849198/4b88cbf5-41c6-6350-9372-2a8509b7b6c6.png)

#### Google Data Portal側の設定
* Google Data Portalを開きベースとなるレポートを表示
* 右上の編集ボタン
* メニューのデータを追加 → Google SpreadSheetから最新データのみを表示するシートを選択 → 追加 → レポートに追加
* メニューのリソース → 追加済みのデータソースの管理 → 追加したものの編集ボタンをクリック
* 値を以下のように変更し完了ボタンを押す → 閉じる
    * 洗濯物データ(0 or 1 or 2)
        * タイプ: 数値
        * デフォルトの集計: なし
    * 日付データ
        * タイプ: 日付、時、分
        * デフォルトの集計: なし
* グラフを追加 → スコアカード → 配置
* スコアカードのメニュー（右側に出ているプロパティ的な部分）を変更
    * データソース: 追加したシートを選択
    * 期間のディメンション: 不要（値が入っていたら削除）
    * 指標: 洗濯物データを選択
    * 背景色を指定（私はテーマとレイアウトでエッジを選んでいるのでグレーにしています）
    * 文字が見えないようにラベル色を指定（私はテーマとレイアウトでエッジを選んでいるので文字色もグレーにしています）
    * これでぬりかべのようにグレーの四角い箱ができたはずです
    * これをコピペで2枚にしておきます

#### 洗濯物の絵を準備
* 洗濯物が出ているときと出ていないときの絵を準備します

![sentakumono_gazou.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/849198/843ba84e-9c96-6c30-3308-d84d3cab93e1.png)

* この上にさっき作ったグレーの四角い箱をかぶせます（大きさはちょうど隠れるぐらいに調節してください）
    * 洗濯物が出ているときの絵が左でその上にあるのを"左のグレーの四角い箱"、
    * 洗濯物が出ていないときの絵が右でその上にあるのが"右のグレーの四角い箱"と呼ぶことにします
* スコアカードのメニューのスタイルから以下の条件付き書式を設定をします
    * 左のグレーの四角い箱
        * ルール1
            * 色のタイプ：単一色
            * 書式ルール：値、等しい、0
            * 色とスタイル：グレー
        * ルール2
            * 色のタイプ：単一色
            * 書式ルール：値、等しい、1
            * 色とスタイル：transparent
        * ルール1
            * 色のタイプ：単一色
            * 書式ルール：値、等しい、2
            * 色とスタイル：グレー
    * 右のグレーの四角い箱
        * ルール1
            * 色のタイプ：単一色
            * 書式ルール：値、等しい、0
            * 色とスタイル：transparent
        * ルール2
            * 色のタイプ：単一色
            * 書式ルール：値、等しい、1
            * 色とスタイル：グレー
        * ルール1
            * 色のタイプ：単一色
            * 書式ルール：値、等しい、2
            * 色とスタイル：グレー        
* こうすると、以下のような表示になります。完成です。
    * 0のとき(洗濯物がないとき)、右の画像が表示
    * 1のとき（洗濯物があるとき）、左の画像が表示
    * 2のとき（暗くて判断できないとき）、両方の画像が表示されない

----------

2021年3月から始めたスマートホーム化はこちらに一覧化しています（2021年7月時点）

https://qiita.com/tosshie/items/82dcc6405925b12d2fd1