(実施の形態1)
以下、本開示の実施の形態に係る制御システムについて図面を参照しながら説明する。本実施の形態に係る制御システムは、端末装置と、他の機器と連携して動作することが可能か否かを示す連携可否情報を含む複数の機器それぞれの状態を示す機器状態情報を生成する複数の機器と、端末装置および複数の機器とネットワークを介して通信するサーバと、を備える。そして、端末装置は、表示部と、機器状態情報を記憶する機器状態記憶部と、連携可否情報に基づいて、互いに連携する複数の機器のうちの少なくとも2つについて、機器状態情報の送信を要求する機器状態要求情報をサーバへ送信することによりサーバから機器状態情報を取得する更新処理を並列して実行する機器状態取得部と、機器状態取得部が取得した機器状態情報に基づいて、表示部に表示させる画面画像を生成する画面生成部と、を有する。また、サーバは、複数の機器から機器状態情報を取得する機器状態取得部と、端末装置から機器状態要求情報を取得すると、機器状態取得部が取得した機器状態要求情報に対応する機器の機器状態情報を端末装置へ送信する機器状態通知部と、を有する。
本実施の形態に係る制御システムは、図1に示すように、複数の機器3と、端末装置5と、クラウドサーバ1と、を備える。複数の機器3は、例えば給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cを含む。複数の機器3は、それぞれ、通信アダプタ41を介して建物H内に構築された局所ネットワークNW2に接続されている。また、局所ネットワークNW2は、ブロードバンドルータ(以下、「BBR」と称する。)42を介して広域ネットワークNW1に接続されている。クラウドサーバ1と端末装置5は、広域ネットワークNW1を介して互いに通信可能であり、クラウドサーバ1は、広域ネットワークNW1、局所ネットワークNW2を介して通信アダプタ41それぞれと通信可能である。局所ネットワークNW2は、例えば有線LAN(Local Area Network)または無線LANであり、広域ネットワークNW1は、例えばインターネットである。
給湯機3Aは、例えば貯湯式給湯機であり、湯を加熱するヒートポンプと、ヒートポンプを駆動したり貯湯タンクに貯えられた湯を常温の水道水と混合して浴槽へ供給するための供給機構を駆動したりする駆動部と、駆動部の動作を制御する制御ユニットと、を備える。制御ユニットは、クラウドサーバ1から送信される制御情報を取得すると、取得した制御情報に基づいて駆動部の動作を制御する。また、制御ユニットは、クラウドサーバ1から機器状態要求情報を取得すると、給湯機3Aの状態を示す機器状態情報を生成し、生成した機器状態情報をクラウドサーバ1へ送信する。ここで、制御ユニットは、給湯機3Aが他の機器3と連携して動作することが可能か否かを示す連携可否情報を管理しており、給湯機3Aから供給する湯の設定温度および給湯機3Aから供給する設定湯量を示す情報とともに、前述の連携可否情報を含む機器状態情報を生成する。
浴室乾燥機3Bおよび脱衣室暖房機3Cは、それぞれ、ヒータと送風ファンと制御ユニットとを備え、制御ユニットは、クラウドサーバ1から制御情報を受信すると、受信した制御情報に基づいて、ヒータおよび送風ファンを駆動して浴室、脱衣室を暖房する。また、制御ユニットは、クラウドサーバ1から機器状態要求情報を取得すると、浴室乾燥機3B、脱衣室暖房機3Cの状態を示す機器状態情報を生成し、生成した機器状態情報をクラウドサーバ1へ送信する。ここで、制御ユニットは、浴室乾燥機3B、脱衣室暖房機3Cが他の機器3と連携して動作することが可能か否かを示す連携可否情報を管理しており、浴室乾燥機3B、脱衣室暖房機3Cの設定温度および風量を示す情報とともに、前述の連携可否情報を含む機器状態情報を生成する。
クラウドサーバ1は、図2に示すように、CPU(Central Processing Unit)101と、主記憶部102と、補助記憶部103と、広域通信部106と、これらを相互に接続するバス109と、を備える。CPU101は、例えばマルチコアプロセッサである。主記憶部102は、RAM(Random Access Memory)のような揮発性メモリを有し、CPU101の作業領域として使用される。補助記憶部103は、大容量の不揮発性メモリから構成され、クラウドサーバ1の各種機能を実現するためのプログラムを記憶する。広域通信部106は、広域ネットワークNW1に接続されている。
CPU101は、補助記憶部103が記憶するプログラムを主記憶部102に読み出して実行することにより、図3に示すように、機器状態取得部111、機器状態通知部112、制御対象機器通知部113、連携設定部114、機器制御部115および連携設定通知部116として機能する。また、図2に示す補助記憶部103は、図3に示すように、機器状態記憶部131と、連携設定記憶部132と、を有する。機器状態記憶部131は、例えば図4(A)に示すように、複数の機器3それぞれの設定パラメータを示すパラメータ情報と、機器3の動作状態を示す動作状態情報と、他の機器3との連携が可能か否かを示す連携可否情報と、を含む機器状態情報を、機器3を識別する機器識別情報および端末装置5を識別する端末装置識別情報に対応づけて記憶する。ここで、機器3の機器識別情報は、その機器3を操作するための端末装置5の端末識別情報に対応付けられている。図4(A)に示す例では、機器識別情報ID[0]、ID[1]で識別される機器3が動作中であり、機器識別情報ID[2]、ID[3]で識別される機器3が停止中であることを示している。また、機器識別情報ID[0]、ID[1]、ID[2]で識別される機器3が他の機器3との連携動作が可能であり、機器識別情報ID[3]で識別される機器3が他の機器3との連携動作が不可能であることを示している。
連携設定記憶部132は、機器3の連携動作の設定を示す連携設定情報を記憶する。連携設定記憶部132は、例えば図4(B)に示すように、複数の機器3それぞれについてその機器3の連携先の他の機器3の機器識別情報と他の機器3との連携の態様を示す連携態様情報とを含む連携設定情報を、複数の機器3それぞれの機器識別情報に対応づけて記憶する。図4(B)に示す例では、機器識別情報ID[0]で識別される機器3と、機器識別情報ID[1]、ID[2]で識別される機器3それぞれとが、互いに連携して動作することを示している。
図3に戻って、機器状態取得部111は、機器状態通知部112からクラウドサーバ1に対して機器状態情報の送信を要求する機器状態要求情報が通知されると、機器状態要求情報を、その機器状態要求情報に対応する機器3へ送信することにより、機器状態要求情報の送信先の機器3から送信される機器状態情報を取得する。機器状態取得部111は、取得した機器状態情報を機器状態記憶部131に記憶させる。
機器状態通知部112は、端末装置5から機器状態要求情報を取得すると、取得した機器状態要求情報を機器状態取得部111に通知する。そして、機器状態通知部112は、機器状態記憶部131が記憶する、取得した機器状態要求情報に対応する機器3の機器状態情報を端末装置5へ送信する。
制御対象機器通知部113は、クラウドサーバ1が動作を制御する制御対象となる少なくとも1つの機器3の機器識別情報を端末装置5へ送信する。ここで、制御対象機器通知部113は、端末装置5からクラウドサーバ1の制御対象である機器3の機器識別情報の送信を要求する制御対象機器要求情報を取得すると、制御対象の機器3の機器識別情報を端末装置5へ送信する。
連携設定部114は、端末装置5から複数の機器3を連携して動作させる際の設定内容を示す操作情報を取得すると、操作情報が示す設定内容に基づいて、互いに連携して動作する機器3それぞれの連携先の機器3の機器識別情報を特定するとともに連携態様情報を生成する。そして、連携設定部114は、特定した連携先の機器3の機器識別情報と生成した連携態様情報とを含む連携設定情報を、機器識別情報に対応づけて連携設定記憶部132に記憶させる。
機器制御部115は、機器状態記憶部131が記憶するパラメータ情報と、連携設定記憶部132が記憶する連携先の機器識別情報および連携態様情報と、に基づいて、機器3の動作を制御するための制御情報を生成する。そして、機器制御部115は、生成した制御情報を対応する機器3へ送信することにより機器3の動作を制御する。
連携設定通知部116は、連携設定記憶部132が記憶する連携設定情報を端末装置5へ送信する。連携設定通知部116は、端末装置5からクラウドサーバ1の制御対象となる複数の機器3のうち互いに連携して動作させる機器3の連携設定情報の送信を要求する連携設定要求情報を取得すると、連携設定記憶部132が記憶する連携設定情報の中から連携設定要求情報に対応する連携設定情報を特定する。そして、連携設定通知部116は、特定した連携設定情報を端末装置5へ送信する。
図2に戻って、端末装置5は、例えばスマートフォンであり、CPU501と、主記憶部502と、補助記憶部503と、表示部504と、入力部505と、通信部506と、計時部508と、これらを互いに接続するバス509と、を備える。主記憶部502は、RAMのような揮発性メモリを有し、CPU501の作業領域として使用される。また、主記憶部502は、表示部504に表示させる画像情報を一時的に記憶する画像専用メモリ(図示せず)を有する。補助記憶部503は、半導体フラッシュメモリのような不揮発性メモリであり、CPU501が各種処理を実行するためのプログラムを記憶する。表示部504は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置である。入力部505は、例えば表示部504に重ねて配置される透明なタッチパッドである。通信部506は、広域ネットワークNW1に接続され、CPU501から転送される情報を、広域ネットワークNW1を介してクラウドサーバ1へ送信したり、クラウドサーバ1から広域ネットワークNW1を介して受信した情報をCPU501へ転送したりする。計時部508は、内部クロックを有し、予め設定された時期が到来する毎にその旨を示す情報をCPU501に通知する。
CPU501は、補助記憶部503が記憶するプログラムを主記憶部502に読み出して実行することにより、図3に示すように、制御対象機器取得部511、機器状態取得部512、画面生成部513、表示制御部514、受付部515、操作情報生成部516、操作情報送信部517および連携設定取得部518として機能する。また、図2に示す補助記憶部503は、図3に示すように、機器状態記憶部531と、連携設定記憶部532と、画像記憶部533と、を有する。また、図2に示す主記憶部502の画像専用メモリは、表示部504に表示させる画面画像を一時的に記憶する表示画面記憶部521を有する。機器状態記憶部531は、図5に示すように、利用者が自機の入力部505を操作することにより制御できる複数の機器3それぞれの機器状態情報を、機器3を識別する機器識別情報に対応づけて記憶する。ここで、機器状態情報は、前述のように、機器3の設定パラメータを示すパラメータ情報と、機器3の動作状態を示す動作状態情報と、他の機器3との連携が可能か否かを示す連携可否情報と、を含む。
連携設定記憶部532は、前述の連携設定記憶部132と同様に、複数の機器3それぞれについてその機器3の連携先の他の機器3の機器識別情報と他の機器3との連携の態様を示す連携態様情報とを含む連携設定情報を、複数の機器3それぞれの機器識別情報に対応づけて記憶する。画像記憶部533は、画面画像を構築するための基本的なアイコン画像を示す画像情報を含む各種画像情報を記憶する。
制御対象機器取得部511は、予め設定された制御対象機器要求時期が到来する毎に、制御対象機器要求情報をクラウドサーバ1へ送信する。これにより、制御対象機器取得部511は、クラウドサーバ1からクラウドサーバ1の制御対象となる複数の機器3それぞれの機器識別情報を取得する。
機器状態取得部512は、機器状態記憶部531が記憶する連携可否情報に基づいて、複数の機器3の中から互いに連携する少なくとも2つの機器3を特定する。そして、機器状態取得部512は、特定した少なくとも2つの機器3それぞれについて、機器状態情報の送信を要求する機器状態要求情報をクラウドサーバ1へ送信することによりクラウドサーバ1から機器状態情報を取得する更新処理を並列して実行する。
画面生成部513は、画像記憶部533が記憶する各種画像情報と、機器状態記憶部531が記憶する機器状態情報と、連携設定記憶部532が記憶する連携設定情報と、に基づいて、操作画面画像を生成する。画面生成部513は、生成した操作画面画像を示す情報を表示画面記憶部521に記憶させる。表示制御部514は、表示画面記憶部521が記憶する情報に対応する操作画面画像を表示部304に表示させる。
受付部515は、ユーザが入力部505に対して行った操作内容を受け付ける。操作情報生成部516は、受付部515が受け付けた操作内容に応じた操作情報を生成する。操作情報送信部517は、操作情報生成部516が生成した操作情報をクラウドサーバ1へ送信する。
連携設定取得部518は、クラウドサーバ1から送信された連携設定情報を取得すると、取得した連携設定情報を、連携設定記憶部532に記憶させる。
次に、本実施の形態に係る制御システムの動作について、図6から図8を参照しながら説明する。まず、図6に示すように、利用者が端末装置5に対して機器3を操作するための操作画面画像を表示部504に表示させるためのプログラムを起動させる起動操作を行ったとする。ここでは、このアプリケーションが起動すると、まず、給湯機3Aの操作画面画像が端末装置5の表示部504に表示されるものとする。この場合、端末装置5は、起動操作を受け付けて(ステップS1)。次に、クラウドサーバ1に対してクラウドサーバ1の制御対象機器を示す制御対象機器情報の送信を要求する制御対象機器情報要求情報が、端末装置5からクラウドサーバ1へ送信される(ステップS2)。一方、クラウドサーバ1は、制御対象機器情報要求情報を取得すると、取得した制御対象機器情報要求情報に対応する制御対象機器情報を特定する(ステップS3)。次に、特定された制御対象機器情報が、クラウドサーバ1から端末装置5へ送信される(ステップS4)。
続いて、クラウドサーバ1に対して給湯機3Aの機器状態情報の送信を要求する機器状態要求情報が、端末装置5からクラウドサーバ1へ送信された後(ステップS5)、クラウドサーバ1から給湯機3Aへ送信される(ステップS6)。一方、給湯機3Aは、機器状態要求情報を取得すると、これに応じて、自機のパラメータ情報、動作状態情報および連携可否情報を含む機器状態情報を生成する(ステップS7)。その後、生成された機器状態情報が、給湯機3Aからクラウドサーバ1へ送信された後(ステップS8)、クラウドサーバ1から端末装置5へ送信される(ステップS9)。一方、端末装置5は、機器状態情報を取得すると、取得した機器状態情報から連携可否情報を抽出し(ステップS10)、抽出した連携可否情報を用いて機器状態記憶部531が記憶する連携可否情報を更新する(ステップS11)。
また、予め設定された連携可否情報更新時期が到来すると、前述のステップS2からS9までの一連の処理が実行される。次に、端末装置5が、クラウドサーバ1から取得した機器状態情報から連携可否情報を抽出し(ステップS10)、抽出した連携可否情報を用いて機器状態記憶部531が記憶する連携可否情報を更新する(ステップS11)。続いて、端末装置5は、給湯機5Aの連携可否情報に基づいて、給湯機5Aが他の機器3と連携可能であると判定したとする(ステップS12)。この場合、端末装置5は、図7に示すように、給湯機3Aと連携して動作する機器3、例えば、浴室乾燥機3B、脱衣室暖房機3Cを特定する(ステップS13)。
その後、給湯機3Aと給湯機3Aと連携して動作する機器3(浴室乾燥機3B、脱衣室暖房機3C)それぞれについて、機器状態情報の送信を要求する機器状態要求情報が、端末装置5からクラウドサーバ1へ送信される(ステップS14)。次に、クラウドサーバ1が取得した機器状態要求情報が、給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cへ送信される(ステップS15、S16、S17)。一方、給湯機3Aは、機器状態要求情報を取得すると、これに応じて、パラメータ情報、動作状態情報および連携可否情報を含む機器状態情報を生成する(ステップS18)。続いて、生成された機器状態情報が、給湯機3Aからクラウドサーバ1へ送信された後(ステップS19)、クラウドサーバ1から端末装置5へ送信される(ステップS20)。このステップS18からS20までの一連の処理と並列して、浴室乾燥機3Bが、機器状態要求情報を取得すると、これに応じて機器状態情報を生成し(ステップS21)、生成した機器状態情報が、浴室乾燥機3Bからクラウドサーバ1へ送信された後(ステップS22)、クラウドサーバ1から端末装置5へ送信される(ステップS23)。また、脱衣室暖房機3Cも、機器状態要求情報を取得すると、これに応じて機器状態情報を生成し(ステップS24)、生成した機器状態情報が、脱衣室暖房機3Cからクラウドサーバ1へ送信された後(ステップS25)、クラウドサーバ1から端末装置5へ送信される(ステップS26)。
その後、端末装置5は、クラウドサーバ1から取得した機器状態情報を用いて、機器状態記憶部531が記憶する機器状態情報を更新する(ステップS27)。次に、端末装置5は、更新後の機器状態情報に含まれる動作状態情報に基づいて、浴室乾燥機3B、脱衣室暖房機3Cが連携動作中であると判定したとする(ステップS28)。この場合、クラウドサーバ1に対して給湯機3Aと浴室乾燥機3B、脱衣室暖房機3Cとの連携動作に関する連携設定情報の送信を要求する連携設定要求情報が、端末装置5からクラウドサーバ1へ送信される(ステップS29)。一方、クラウドサーバ1が連携設定要求情報を取得すると、クラウドサーバ1は、連携設定要求情報に対応する連携設定情報を特定する(ステップS30)。続いて、特定された連携設定情報が、クラウドサーバ1から端末装置5へ送信される(ステップS31)。一方、端末装置5は、連携設定情報を取得すると、取得した連携設定情報を用いて、連携設定記憶部532が記憶する連携設定情報を更新する(ステップS32)。その後、端末装置5は、機器状態記憶部531が記憶する機器状態情報と、連携設定記憶部532が記憶する連携設定情報と、を用いて、操作画面画像を生成して表示部504に表示させる(ステップS33)。
このとき、端末装置5は、例えば図8に示すような操作画面画像GA1を表示部504に表示させる。ここで、操作画面画像GA1は、操作対象となる機器3を示すメッセージ画像M1と、機器3の動作状態を示すメッセージ画像M2と、連携動作中であることを示すメッセージ画像M31、M32と、連携動作の設定内容を示すメッセージ画像M41、M42と、を含む。また、操作画面画像GA1は、設定湯量、設定温度等のパラメータ情報を示すメッセージ画像M51、M52を含む。
次に、本実施の形態に係る端末装置5が実行する画面生成処理について、図9および図10を参照しながら説明する。なお、この画面生成処理は、端末装置5へ電源が投入されたことを契機として開始される。まず、図9に示すように、受付部515は、利用者による起動操作を受け付けたか否かを判定する(ステップS101)。受付部515は、起動操作を受け付けていないと判定する限り(ステップS101:No)、ステップS101の処理を繰り返し実行する。一方、受付部515が、起動操作を受け付けたと判定されると(ステップS101:Yes)、制御対象機器取得部511は、前述の制御対象機器情報要求情報をクラウドサーバ1へ送信することにより(ステップS102)、クラウドサーバ1から送信される制御対象機器情報を取得する(ステップS103)。ここで、制御対象機器取得部511は、取得した制御対象機器情報に基づいて、機器状態記憶部531が記憶する機器識別情報を更新する。このとき、制御対象機器取得部511は、機器状態記憶部531が記憶する機器識別情報のうち、制御対象機器情報に含まれる機器識別情報と一致しない機器識別情報が存在する場合、その機器識別情報とそれに対応する機器状態情報を機器状態記憶部531から削除する。
次に、機器状態取得部512は、表示部504に表示させる操作画面画像による操作対象となる機器3についての機器状態要求情報をクラウドサーバ1へ送信する(ステップS104)。例えば図8に示すように、端末装置5が、給湯機3Aの操作画面画像GA1を表示部504に表示させる場合、給湯機3Aについての機器状態情報を要求する機器状態要求情報をクラウドサーバ1へ送信する。そして、機器状態取得部512は、送信した機器状態要求情報に対応する機器状態情報を、クラウドサーバ1から取得する(ステップS105)。続いて、機器状態取得部512は、取得した機器状態情報から連携可否情報を抽出し(ステップS106)、抽出した連携可否情報を用いて、機器状態記憶部531が記憶する連携可否情報を更新する(ステップS107)。
その後、受付部515は、利用者が端末装置5の入力部505に対して行った操作画面画像を更新する画面更新操作または他の画面画像から機器3を操作するための操作画面画像に遷移させる画面遷移操作が有るか否かを判定する(ステップS108)。受付部515が、画面更新操作と画面遷移操作とのいずれもが無いと判定すると(ステップS108:No)、後述のステップS114の処理が実行される。一方、受付部515が、画面更新操作または画面遷移操作が有ったと判定すると(ステップS108:Yes)、機器状態取得部512は、連携設定記憶部532が記憶する連携設定情報に基づいて、互いに連携して動作する機器3を特定する(ステップS109)。次に、特定された機器3について機器状態情報および連携設定情報を更新する機器状態情報・連携設定情報更新処理が実行される(ステップS110)。
ここで、前述の機器状態情報・連携設定情報更新処理について、図10を参照しながら詳細に説明する。なお、図10は、端末装置5が、利用者により起動操作後、最初に給湯機3Aの操作画面画像を端末装置5の表示部504に表示させる場合、利用者が給湯機3Aの操作画面画像を表示部504に表示させた状態で更新操作を行う場合、或いは、利用者が表示部504に表示させる操作画面画像が、他の操作画面画像から給湯機3Aの操作画面画像に遷移させる操作を行う場合を示している。そして、給湯機3Aと浴室乾燥機3Bおよび脱衣室暖房機3Cが互いに連携して動作する場合を示している。この場合、給湯機3Aについて機器状態情報を更新する更新処理SEQ1と、浴室乾燥機3B、脱衣室暖房機3Cについて機器状態情報並びに連携設定情報を更新する更新処理SEQ2、SEQ3と、が並列して実行される。更新処理SEQ1では、まず、機器状態取得部512が、給湯機3Aについての機器状態要求情報をクラウドサーバ1へ送信することにより(ステップS201)、クラウドサーバ1から送信される給湯機3Aの機器状態情報を取得する(ステップS202)。次に、機器状態取得部512は、機器状態情報の取得に失敗したか否かを判定する(ステップS203)。ここで、例えば給湯機3Aがクラウドサーバ1の制御対象機器から除外されている場合、機器状態取得部512が給湯機3Aの機器状態情報の取得に失敗してしまう。機器状態取得部512は、機器状態情報の取得に失敗したと判定すると(ステップS203:Yes)、その旨を通知するエラー発生情報を制御対象機器取得部511に通知し(ステップS204)、そのまま後述するステップS110の処理が実行される。一方、機器状態取得部512は、機器状態情報の取得に成功したと判定すると(ステップS203:No)、取得した機器状態情報に変化があるか否かを判定する(ステップS205)。機器状態取得部512が、取得した機器状態情報に変化が無いと判定すると(ステップS205:No)、そのまま後述するステップS110の処理が実行される。一方、機器状態取得部512が、取得した機器状態情報に変化が有ると判定すると(ステップS205:Yes)、取得した機器状態情報を用いて、機器状態記憶部531が記憶する機器状態情報を更新する(ステップS206)。ここで、機器状態取得部512は、機器状態情報に含まれる連携可否情報が「連携可」を示す情報から「連携不可」を示す情報に変化している場合、連携可否情報を更新する。続いて、後述するステップS110の処理が実行される。
また、更新処理SEQ2では、まず、機器状態取得部512が、浴室乾燥機3Bに対する機器状態要求情報をクラウドサーバ1へ送信することにより(ステップS207)、クラウドサーバ1から送信される浴室乾燥機3Bの機器状態情報を取得する(ステップS208)。次に、機器状態取得部512は、機器状態情報の取得に失敗したか否かを判定する(ステップS209)。機器状態取得部512は、機器状態情報の取得に失敗したと判定すると(ステップS209:Yes)、その旨を通知するエラー発生情報を制御対象機器取得部511に通知し(ステップS210)、そのまま後述するステップS110の処理が実行される。一方、機器状態取得部512が、機器状態情報の取得に成功したと判定すると(ステップS209:No)、連携設定取得部518は、機器状態記憶部531が記憶する動作状態情報および連携設定記憶部532が記憶する連携設定情報に基づいて、浴室乾燥機3Bが給湯機3Aと連携して動作中であるか否かを判定する(ステップS211)。連携設定取得部518が、浴室乾燥機3Bが給湯機3Aと連携して動作していないと判定すると(ステップS211:No)、そのまま後述するステップS110の処理が実行される。一方、連携設定取得部518は、浴室乾燥機3Bが給湯機3Aと連携して動作していると判定すると(ステップS211:Yes)、浴室乾燥機3Bおよび給湯機3Aに対する連携設定要求情報をクラウドサーバ1へ送信することにより(ステップS212)、クラウドサーバ1から連携設定情報を取得して連携設定記憶部532に記憶させる(ステップS213)。続いて、後述するステップS110の処理が実行される。なお、更新処理SEQ3は、前述の更新処理SEQ2と同様であり、機器状態取得部512が、脱衣室暖房機3Cに対する機器状態要求情報をクラウドサーバ1へ送信することにより(ステップS214)、クラウドサーバ1から送信される脱衣室暖房機3Cの機器状態情報を取得する(ステップS215)。次に、ステップS216からS220までの一連の処理が実行される。ここで、ステップS216からS220の処理は、それぞれ、前述のステップS209からS213までの一連の処理と同様である。その後、後述するステップS111の処理が実行される。
なお、利用者による起動操作後、端末装置5が最初に給湯機3A以外の機器3の操作画面画像を端末装置5の表示部504に表示させる場合、利用者が給湯機3A以外の機器3の操作画面画像を表示部504に表示させた状態で更新操作を行う場合、或いは、利用者が表示部504に表示させる操作画面画像を他の操作画面画像から給湯機3A以外の機器3の操作画面画像に遷移させる操作を行う場合を示している。その給湯機3A以外の機器3について前述の更新処理SEQ1と同様の更新処理が実行され、他の機器3についてそれぞれ前述の更新処理SEQ2、SEQ3と同様の更新処理が実行される。
図9に戻って、制御対象機器取得部511は、前述の機器状態情報・連携設定情報更新処理が実行された結果、機器状態取得部512からエラー通知情報が通知されたか否かを判定する(ステップS111)。制御対象機器取得部511は、機器状態取得部512からエラー通知情報が通知されたと判定すると(ステップS111:Yes)、再びステップS102の処理が実行される。一方、制御対象機器取得部511が、機器状態取得部512からエラー通知情報が通知されなかったと判定すると(ステップS111:No)、画面生成部513は、機器状態記憶部531が記憶する動作状態情報および連携設定記憶部532が記憶する連携設定情報に基づいて、操作画面画像を生成する(ステップS112)。ここで、画面生成部513は、生成した操作画面画像を表示画面記憶部521に記憶させる。次に、表示制御部514は、表示画面記憶部521が記憶する操作画面画像を表示部504に表示させる(ステップS113)。続いて、受付部515は、利用者による終了操作を受け付けたか否かを判定する(ステップS114)。受付部515により未だ終了操作を受け付けていないと判定されると(ステップS114:No)、制御対象機器取得部511は、予め設定された連携可否情報更新時期が到来したか否かを判定する(ステップS115)。制御対象機器取得部511が、未だ連携可否情報更新時期が到来していないと判定すると(ステップS115:No)、再びステップS108の処理が実行される。
一方、制御対象機器取得部511は、連携可否情報更新時期が到来したと判定すると(ステップS115:Yes)、再びステップS102の処理が実行される。また、受付部515がステップS113において終了操作を受け付けたと判定すると(ステップS114:Yes)、再びステップS101の処理が実行される。
ここで、本実施の形態に係る画面生成処理について、比較例に係る画面生成処理と比較しながら説明する。比較例に係る画面生成処理は、機器状態情報・連携設定情報更新処理の内容が本実施の形態と相違する。比較例に係る機器状態情報・連携設定情報更新処理では、図11に示すように、給湯機3Aについての更新処理SEQ1が実行された後、浴室乾燥機3Bについての更新処理SEQ2が実行され、その後、脱衣室暖房機3Cについての更新処理SEQ3が実行される。この場合、機器状態情報・連携設定情報更新処理に要する処理時間は、図12(A)に示すように、各更新処理SEQ1、SEQ2、SEQ3の処理時間の和に相当する時間dT0となる。これに対して、本実施の形態に係る機器状態情報・連携設定情報更新処理では、更新処理SEQ1、SEQ2、SEQ3が互いに並列して実行されるため、機器状態情報・連携設定情報更新処理に要する処理時間は、更新処理SEQ1、SEQ2、SEQ3のうち処理時間が最も長い更新処理(例えばSEQ1)の処理時間dT1となる。従って、本実施の形態に係る機器状態情報・連携設定情報更新処理に要する処理時間は、比較例に係るそれに比べて短くなり、ひいては、画面生成処理に要する時間が短縮される。
以上説明したように、本実施の形態に係る制御システムによれば、端末装置5の機器状態取得部512が、複数の機器3それぞれの連携可否情報に基づいて、互いに連携する3つの機器3について、機器状態要求情報をクラウドサーバ1へ送信することによりクラウドサーバ1から機器状態情報を取得し、取得した機器状態情報を用いて機器状態記憶部531が記憶する機器状態情報を更新する更新処理を並列して実行する。これにより、互いに連携する3つの機器3それぞれについて、機器状態要求情報をクラウドサーバ1へ送信してからクラウドサーバ1から機器状態情報を取得するまでの処理時間を短縮することができる。従って、機器状態取得部512が前述の機器状態要求情報を送信した後、画面生成部513が機器状態取得部512によりクラウドサーバ1から取得された機器状態情報に基づいて、表示部504に表示させる画面画像を生成するまでの待ち時間を短縮できるので、利用者のストレスを軽減できる。
また、本実施の形態に係るクラウドサーバ1では、制御対象機器通知部113が、端末装置5から前述の制御対象機器要求情報を取得すると、制御対象となる機器3の機器識別情報を端末装置5へ送信する。一方、端末装置5では、制御対象機器取得部511が、予め設定された制御対象機器要求時期が到来する毎に、制御対象機器要求情報をクラウドサーバ1へ送信することにより、クラウドサーバ1からその制御対象となる機器3それぞれの機器識別情報を取得する。これにより、機器状態記憶部531が記憶するクラウドサーバ1の制御対象となる機器3の機器識別情報が、定期的に更新されるので、機器状態取得部512がクラウドサーバ1から機器状態情報の取得に失敗する頻度を低減できる。
更に、本実施の形態に係る制御対象機器取得部511は、機器状態取得部512が機器状態情報の取得に失敗した場合、再度、制御対象機器要求情報をクラウドサーバ1へ送信することにより、クラウドサーバ1からその制御対象となる機器3それぞれの機器識別情報を取得する。これにより、機器状態取得部512が機器状態情報の取得に繰り返し失敗することを防止できるので、その分、機器状態取得部512が前述の機器状態要求情報を送信した後、画面生成部513が表示部504に表示させる画面画像を生成するまでの待ち時間を短縮できる。
また、本実施の形態に係るクラウドサーバ1では、連携設定通知部116が、端末装置5から前述の連携設定要求情報を取得すると、連携設定情報を端末装置5へ送信する。一方、端末装置5では、連携設定取得部518が、連携設定要求情報をクラウドサーバ1へ送信することによりクラウドサーバ1から連携設定情報を取得する。これにより、端末装置5が記憶する連携設定情報を、クラウドサーバ1が記憶する連携設定情報に整合させることができるので、クラウドサーバ1における実際の連携制御を反映した連携設定情報を含む操作画面画像を表示部504に表示させることができる。
(実施の形態2)
本実施の形態に係る制御システムでは、端末装置は、互いに連携する複数の機器それぞれについて、更新処理の処理時間を算出する処理時間算出部と、複数の機器それぞれについての処理時間に基づいて、更新処理の中から並列して実行する少なくとも2つの機器を選出し、選出した少なくとも2つの機器について、更新処理が並列して実行されるように更新処理の処理順序を設定する処理順序設定部と、を有する点で実施の形態1と相違する。
本実施の形態に係る制御システムは、図13に示すように、機器3と、端末装置5と、クラウドサーバ1と、を備える。なお、図13において、実施の形態1と同様の構成については図3と同一の符号を付している。端末装置2005は、実施の形態1で説明した端末装置5と同様のハードウェア構成を有する。以下、実施の形態1と同様のハードウェア構成については、適宜図2に示す符号を用いて説明する。
CPU501は、補助記憶部503が記憶するプログラムを主記憶部502に読み出して実行することにより、制御対象機器取得部511、機器状態取得部512、画面生成部513、表示制御部514、受付部515、操作情報生成部516、操作情報送信部517、連携設定取得部518、処理時間算出部2519および処理順序設定部2520として機能する。
処理時間算出部2519は、互いに連携する複数の機器3それぞれについて、更新処理が開始されてから終了するまでの時間に相当する処理時間を算出する。そして、処理時間算出部2519は、算出した複数の機器3それぞれについての処理時間を示す処理時間情報を処理順序設定部2520に通知する。
処理順序設定部2520は、処理時間算出部2519から通知される処理時間情報が示す処理時間に基づいて、複数の機器3それぞれについての更新処理の中から並列して実行する少なくとも2つの機器3を選出する。そして、処理順序設定部2520は、選出した少なくとも2つの機器3について、更新処理が並列して実行されるように複数の機器3それぞれの更新処理の処理順序を設定する。ここで、処理順序設定部2520は、例えば給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cの全てについての更新処理を並列して実行する場合、フラグ情報「Fsq0」を機器状態取得部512および連携設定取得部518に通知する。一方、処理順序設定部2520は、例えば3つの機器3のうちの浴室乾燥機3Bおよび脱衣室暖房機3Cについての更新処理を順次実行する場合、フラグ情報「Fsq1」を機器状態取得部512および連携設定取得部518に通知する。
そして、機器状態取得部512および連携設定取得部518は、処理順序設定部2520からフラグ情報「Fsq0」が通知されると、給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cの全てについての更新処理を並列して実行する。一方、機器状態取得部512および連携設定取得部518は、処理順序設定部2520からフラグ情報「Fsq1」が通知されると、浴室乾燥機3Bおよび脱衣室暖房機3Cについての更新処理を順次実行し、給湯機3Aの更新処理をこれらの更新処理と並列して実行する。
次に、本実施の形態に係る端末装置5が実行する画面生成処理について、図14および図15を参照しながら説明する。なお、図14および図15において実施の形態1と同様の処理については、図9および図10と同一の符号を付している。また、端末装置5に対応するクラウドサーバ1の制御対象機器が、給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cであるとする。まず、図14に示すように、受付部515が、利用者による端末装置5に画面生成処理を実行させるためのプログラムの起動操作を受け付けたと判定されると(ステップS101:Yes)、ステップS101からS107までの一連の処理が実行される。
次に、受付部515は、利用者が端末装置5の入力部505に対して行った画面更新操作または画面遷移操作が有るか否かを判定する(ステップS108)。ここで、受付部515が、画面更新操作または画面遷移操作が有ったと判定すると(ステップS108:Yes)、機器状態取得部512は、連携設定記憶部532が記憶する連携設定情報に基づいて、互いに連携して動作する機器3を特定する(ステップS109)。次に、特定された機器3について機器状態情報および連携設定情報を更新する機器状態情報・連携設定情報更新処理が実行される(ステップS2101)。
ここで、前述の機器状態情報・連携設定情報更新処理について、図15を参照しながら詳細に説明する。なお、図15は、利用者による前述の起動操作後、端末装置5が最初に給湯機3Aの操作画面画像を表示部504に表示させる場合、給湯機3Aの操作画面画像を表示部504に表示させた状態で利用者が更新操作を行う場合、或いは、利用者が表示部504に表示させる操作画面画像を他の操作画面画像から給湯機3Aの操作画面に遷移させる場合を示している。そして、給湯機3Aと浴室乾燥機3Bおよび脱衣室暖房機3Cが互いに連携して動作する場合を示している。まず、機器状態取得部512および連携設定取得部518は、処理順序設定部2520から通知されるフラグ情報が「Fsq1」を示すか否かを判定する(ステップS2201)。ここで、機器状態取得部512および連携設定取得部518によりフラグ情報が「Fsq0」を示すと判定されると(ステップS2201:No)、更新処理SEQ1、SEQ2、SEQ3が並列して実行される。そして、処理時間算出部2519は、更新処理SEQ1、SEQ2、SEQ3それぞれが実行された後、更新処理SEQ1、SEQ2、SEQ3が開始されてから終了するまでの処理時間を算出する(ステップS2202、S2203、S2204)。ここで、処理時間算出部2519は、算出した処理時間を示す処理時間情報を処理順序設定部2520に通知する。続いて、図14に示す後述のステップS2102の処理が実行される。
図15に戻って、一方、機器状態取得部512および連携設定取得部518は、フラグ情報が「Fsq1」を示すと判定すると(ステップS2201:Yes)、機器状態取得部512および連携設定取得部518は、更新処理SEQ1、SEQ2のみを並列して実行し、更新処理SEQ2を実行した後、更新処理SEQ3を実行する。そして、処理時間算出部2519は、更新処理SEQ1が実行された後、更新処理SEQ1が開始されてから終了するまでの処理時間を算出する(ステップS2205)。これと並列して、処理時間算出部2519は、更新処理SEQ2が開始されてから更新処理SEQ2後に実行される更新処理SEQ3が終了するまでの処理時間を算出する(ステップS2206)。ここで、処理時間算出部2519は、算出した処理時間を示す処理時間情報を処理順序設定部2520に通知する。
図14に戻って、その後、処理順序設定部2520は、処理時間算出部2519から通知される処理時間情報に基づいて、処理順序を設定する(ステップS2102)。ここにおいて、処理順序設定部2520は、フラグ情報「Fsq0」の機器状態取得部512および連携設定取得部518への通知後、更新処理SEQ1の処理時間が更新処理SEQ2の処理時間と更新処理SEQ3の処理時間との和に相当する時間よりも長くなったと判定すると、フラグ情報「Fsq1」を機器状態取得部512および連携設定取得部518に通知する。一方、処理順序設定部2520は、フラグ情報「Fsq1」の機器状態取得部512および連携設定取得部518への通知後、更新処理SEQ1の処理時間が更新処理SEQ2、SEQ3の処理時間の和に相当する時間よりも短くなったと判定すると、フラグ情報「Fsq0」を機器状態取得部512および連携設定取得部518に通知する。これにより、例えば図16(A)に示すように、更新処理SEQ1の処理時間が更新処理SEQ2の処理時間と更新処理SEQ3の処理時間との和に相当する時間以下の場合、更新処理SEQ2、SEQ3が順次実行され、これらと並行して更新処理SEQ1が実行される。一方、図16(B)に示すように、更新処理SEQ1の処理時間が更新処理SEQ2の処理時間と更新処理SEQ3の処理時間との和に相当する時間よりも長い場合、更新処理SEQ1、SEQ2、SEQ3が並列して実行される。図14に戻って、ステップS2101において、この機器状態情報・連携設定情報更新処理が実行された後、ステップS111以降の処理が実行される。
なお、利用者による起動操作後、端末装置5が最初に給湯機3A以外の機器3の操作画面画像を端末装置5の表示部504に表示させる場合、利用者が給湯機3A以外の機器3の操作画面画像を表示部504に表示させた状態で更新操作を行う場合、或いは、利用者が表示部504に表示させる操作画面画像を他の操作画面画像から給湯機3A以外の機器3の操作画面画像に遷移させる操作を行う場合を示している。その給湯機3A以外の機器3について前述の更新処理SEQ1と同様の更新処理が実行され、他の機器3についてそれぞれ前述の更新処理SEQ2、SEQ3と同様の更新処理が実行される。
以上説明したように、本実施の形態に係る制御システムによれば、端末装置5の処理時間算出部2519が、互いに連携する複数の機器3それぞれについて、更新処理の処理時間を算出する。そして、処理順序設定部2520が、複数の機器3それぞれについての処理時間に基づいて、更新処理の中から並列して実行する2つの機器、例えば、給湯機3Aと浴室乾燥機3Bとを選出し、選出した給湯機3Aと浴室乾燥機3Bとについて、更新処理が並列して実行されるように更新処理の処理順序を設定する。これにより、処理時間に基づいて、互いに並列して処理される更新処理の数を低減することができるので、その分、端末装置5の処理負荷を軽減することができる。
以上、本開示の実施の形態について説明したが、本開示は前述の各実施の形態によって限定されるものではない。例えば、各実施の形態において、複数の機器3の数は、3台に限定されるものではなく、2台であってもよいし、4台以上であってもよい。例えば実施の形態2において、機器3がJ(Jは4以上の整数)台である場合、処理順序設定部2520が、フラグ情報「Fsq0」の機器状態取得部512および連携設定取得部518への通知後、j(J未満の正の整数)個の更新処理SEQ1、SEQ2、・・・、SEQjの処理時間の和に相当する時間が更新処理SEQj+1、j+2、・・・、SEQJの処理時間と更新処理SEQ3の処理時間との和に相当する時間よりも長くなったと判定すると、フラグ情報「Fsq1」を機器状態取得部512および連携設定取得部518に通知してもよい。また、処理順序設定部2520が、フラグ情報「Fsq1」の機器状態取得部512および連携設定取得部518への通知後、j(J未満の正の整数)個の更新処理SEQ1、SEQ2、・・・、SEQjの処理時間の和に相当する時間が更新処理SEQj+1、j+2、・・・、SEQJの処理時間と更新処理SEQ3の処理時間との和に相当する時間よりも短くなったと判定すると、フラグ情報「Fsq0」を機器状態取得部512および連携設定取得部518に通知してもよい。
そして、本変形例に係る機器状態情報・連携設定情報更新処理において、例えば図17に示すように、まず、機器状態取得部512および連携設定取得部518は、処理順序設定部2520から通知されるフラグ情報が「Fsq1」を示すか否かを判定する(ステップS3201)。ここで、機器状態取得部512および連携設定取得部518によりフラグ情報が「Fsq0」を示すと判定されると(ステップS3201:No)、更新処理SEQ1、SEQ2、・・・、SEQJが並列して実行される。そして、処理時間算出部2519は、更新処理SEQ1、SEQ2、・・・、SEQJそれぞれが実行された後、更新処理SEQ1、SEQ2、・・・、SEQJが開始されてから終了するまでの処理時間を算出する(ステップS3202、S3203、S3204)。続いて、前述の図14に示すステップS2102の処理が実行される。
一方、機器状態取得部512および連携設定取得部518によりフラグ情報が「Fsq1」を示すと判定されると(ステップS3201:Yes)、更新処理SEQ1、SEQ2、・・・、SEQjが順次実行されるとともに、これらの処理と並列して更新処理SEQj+1、SEQj+2、・・・、SEQJが順次実行される。そして、処理時間算出部2519は、更新処理SEQ1が実行された後、更新処理SEQ1が開始されてから更新処理SEQjが終了するまでの処理時間を算出する(ステップS3205)。これと並列して、処理時間算出部2519は、更新処理SEQj+1が開始されてから更新処理SEQJが終了するまでの処理時間を算出する(ステップS3206)。続いて、前述の図14に示すステップS2102の処理が実行される。
実施の形態2では、更新処理SEQ1、SEQ2、SEQ3の処理順序を動的に変化させる例について説明したが、これに限らず、例えば、常に、更新処理SEQ2、SEQ3については順番に実行され、更新処理SEQ1のみがこれらと並列して実行されるものであってもよい。
各実施の形態では、端末装置5が、クラウドサーバ1から機器状態情報を取得して機器状態記憶部531が記憶する機器状態情報を更新する更新処理を並列して実行する例について説明した。但し、これに限らず、端末装置5が、更新処理に加えて、表示部504に表示させる機器3の利用者へのお知らせ情報をクラウドサーバ1から取得して端末装置5が記憶するお知らせ情報を更新するお知らせ情報更新処理も並列して実行するものであってもよい。
実施の形態では、給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cが、それぞれ、他の機器3と連携して動作することが可能か否かを示す連携可否情報を管理しており、連携可否情報を含む機器状態情報を生成する例について説明した。但し、これに限らず、例えば、クラウドサーバ1が、給湯機3A、浴室乾燥機3Bおよび脱衣室暖房機3Cそれぞれの連携可否情報を管理するものであってもよい。そして、クラウドサーバ1が、機器状態情報を端末装置5へ送信する際、管理する連携可否情報の中から、機器状態情報に対応する機器3についての連携可否情報を特定して端末装置5へ送信するものであってもよい。
また、本開示に係るクラウドサーバ1、端末装置5、2005の各種機能は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、ネットワークに接続されているコンピュータに、上記動作を実行するためのプログラムを、コンピュータシステムが読み取り可能な非一時的な記録媒体(CD-ROM(Compact Disc Read Only Memory)等)に格納して配布し、当該プログラムをコンピュータシステムにインストールすることにより、上述の処理を実行するクラウドサーバ1、端末装置5、2005を構成してもよい。
また、コンピュータにプログラムを提供する方法は任意である。例えば、プログラムは、通信回線の掲示版(BBS(Bulletin Board System))にアップロードされ、通信回線を介してコンピュータに配信されてもよい。そして、コンピュータは、このプログラムを起動して、OS(Operating System)の制御の下、他のアプリケーションと同様に実行する。これにより、コンピュータは、上述の処理を実行するクラウドサーバ1または端末装置5、2005として機能する。
以上、本開示の各実施の形態および変形例について説明したが、本開示はこれらに限定されるものではない。本開示は、実施の形態および変形例が適宜組み合わされたもの、それに適宜変更が加えられたものを含む。