# 機能フロー(ハード) 分岐内容 起動時にサーモグラフィー、人感センサー、wifi、Bluetoothのboolean型変数を作りfalseで初期化する サーモグラフィー、人感センサーがついているかどうか →データが返ってくるかどうか。 →返ってくる場合各項目をtrueに書き換える →返ってこない場合falseのまま30秒ほど再チェックの後スキップ wifi接続しているかどうか →wifiのipアドレスが取得できているかどうか →帰ってくる場合はwifi項目をtrueに書き換える →帰ってこない場合falseのまま30秒ほど再チェックの後スキップ Bluetoothに接続しているかどうか →Bluetoothの設定がONかOFFかをチェックする。 Bluetoothの設定がONの場合端末からの応答があるかチェック、ある場合trueにない場合30秒ほど再チェックの後スキップ 湿度が規定値以下かどうか →季節ごとに湿度の最高値を決定する。 →季節ごとの最高値を超えた場合エアコンに除湿モードの命令を送り着て一以下になったら除湿モードを終了する。 →判定タイミングは10分に1回程度を想定。 温度、湿度が不快度指数の指定範囲内に収まっているかどうか →湿度が規定値以内の場合、現在温度、現在湿度を取得して、不快度指数の計算を行う。 →不快度指数がユーザ設定の範囲内に収まっている場合、現在温度と同じ温度でエアコンの運転を設定する。 →不快度指数の調査タイミングは10分に1回程度を想定 Bluetoothの接続端末が近くにあるかどうか。 →近くにある場合在宅判定true →認識できない場合外出判定false 熱源があるかどうか →サーモグラフィーにより熱源がある場合、エアコンの稼働指定外の時間でも、エアコンを稼働させる。 人が動いているか →サーモグラフィーにより、熱源があり、人感センサーがにも反応がある場合、在宅かつ問題無しと判定する。 →サーモグラフィーの反応がない場合外出中とする。 →サーモグラフィーの反応があり、人感センサーに反応がない場合問題ありとしてアプリに通知を送る。 指定時間内いないか →ユーザー指定時間内にエアコンを稼働させる。 外部から制御入力が来たかどうか →外部からの制御通信が来た場合その命令を実行させる。 モジュールへの接続がどれが一つでも確認が取れなかった場合30分毎に1回接続テストを行う。 これらの条件をもとにフロー作成をする。