実施の形態.
図1は、本発明の実施の形態に係る機器制御システム1の構成を概略的に示すブロック図である。
機器制御システム1は、複数の被制御機器20と、複数の被制御機器20を遠隔制御する機器制御装置10と、データベース30とを有する。
本実施の形態において、複数の被制御機器20の各々は、例えば、第1のエアコン20A、第2のエアコン20B、掃除機20C、テレビ20D、第1の照明20E、第2の照明20F、第3の照明20G、第4の照明20H、ヒートポンプ給湯器20I、浴室換気乾燥機20J、レンジフードファン20K、及びIH(Induction Heating)クッキングヒーター20Lのうちの少なくともいずれかである。ただし、被制御機器20は、これらに限定されるものではない。例えば、被制御機器20は、機器制御装置10から遠隔操作を受け付けることのできる機器であればよい。複数の被制御機器20の各々は、同一の部屋に設置されていてもよく、少なくとも2つの被制御機器20が互いに異なる部屋に設置されていてもよい。
以下の説明において、特に明示する場合を除き、複数の被制御機器20の各々を、“被制御機器20”と表現する。
機器制御装置10、被制御機器20、及びデータベース30は、相互に通信が可能である。通信を行う手段として、例えば、Ethernet(登録商標)、無線LAN(Local Area Network)又は赤外線通信等が挙げられるが、これらに限定されるものではない。通信を行う手段は、後述する機器制御命令(制御命令)を送信することのできる通信媒体であればよい。
機器制御装置10は、被制御機器20に機器制御命令(制御命令)を送信することができる。機器制御命令は、例えば、電源のオンオフの切り替え、運転モードの設定若しくは切り替え、又は被制御機器20の設定情報の変更などの制御命令である。例えば、第1のエアコン20Aには、「電源:入」、「電源:切」、「運転モード:冷房」、「運転モード:暖房」、「設定温度:28℃」、及び「設定温度:29℃」等の複数の制御内容が備えられている。これらの制御内容の各々について、互いに異なる機器制御命令が割り当てられる。
機器制御命令は、例えば、各制御内容が、互いに識別できるように符号化された値である。制御内容と符号化された値(機器制御命令)とは、被制御機器20の種類(機器種別)ごとに予め関連付けられている。
制御内容と符号化された値との対応関係は、例えば、ECHONET Lite(登録商標)のような、標準化された規格に準拠してもよい。制御内容と符号化された値との対応関係は、特定の機器制御システムを構成する機器制御装置10と被制御機器20との間でのみ共通化されたものであってもよい。
機器制御装置10が機器制御命令を送信するタイミングの決定、機器制御命令を送信する送信先(複数の被制御機器20のうちの少なくとも1つの被制御機器20)の選択、及び制御内容の選択は、機器制御装置10が自動的に行ってもよく、機器制御システム1の機器制御装置10のユーザによる明示的な指示に従って機器制御装置10が行ってもよい。
ユーザが明示的な指示を行う場合は、ユーザは、機器制御装置10を遠隔操作するリモコン(リモートコントローラ)を操作すればよい。また、機器制御装置10は、ユーザが操作を行うためのボタンを備えており、ユーザが押下したボタンに対応した機器制御命令を送信してもよい。さらに、機器制御装置10は、操作表示部117を備え、ユーザが操作を行い、機器制御命令を送信する対象(複数の被制御機器20のうちのいずれか)の選択、及び制御内容の選択を行うことができる。
また、機器制御装置10は、被制御機器20から、被制御機器20の状態を示す機器状態情報を取得することができる。例えば、機器状態情報は、被制御機器20の種類ごとに予め決められた値によって関連付けられる。被制御機器20の状態は、例えば、電源の状態(“入”又は“切”)、運転モード、設定情報等の制御内容、及び被制御機器20に備えられたセンサによって検出された値に基づく情報等を含む。
機器制御装置10は、被制御機器20から、機器状態情報を取得すると、取得された機器状態情報を、ユーザに通知したり、機器制御命令の送信の判断に用いたりすることができる。
被制御機器20は、ユーザによって操作され、ユーザによって入力された操作指示に従って動作する。さらに、被制御機器20は、機器制御装置10から機器制御命令を受信した場合、その機器制御命令に従って動作を行う。
データベース30は、例えば、情報が記録されるメモリと、メモリに情報を書き込むプロセッサと、機器制御装置10及び被制御機器20と通信を行う通信インターフェースとを有する。ただし、データベース30の構成はこれに限られない。
データベース30は、機器制御装置10又は被制御機器20からネットワークを介して送信された情報の取得要求に応じて、取得要求を送信した機器に、要求された情報を送信する。本実施の形態においては、例えば、機器制御装置10が、状態タグ情報更新ルール情報(後述する状態タグ情報更新ルールテーブル124に格納される情報)又は連動制御ルール情報(連動制御ルールテーブル123に格納される情報)の取得をデータベース30に要求する。
データベース30に記録されている情報の更新及び追加は、機器制御装置10又は被制御機器20からのネットワークを介した要求に応じて行われる場合もあれば、データベース30の管理者等による直接の操作により行われる場合もある。また、データベース30の情報更新及び追加の要求は、図1に示されない機器から送信される場合もある。
また、データベース30は、異なる複数の機器制御システム1に対して、それぞれ一つずつ存在している場合もあれば、異なる複数の機器制御システム1が一つのデータベース30を共用する場合もある。
本実施の形態においては、データベース30が記録する状態タグ情報更新ルール情報及び連動制御ルール情報は、機器制御システム1に含まれない機器によって予め記録されているものとする。
次に、機器制御装置10の構成要素及び動作について詳細に説明する。
図2は、機器制御装置10の構成を概略的に示すブロック図である。
機器制御装置10は、通信部111と、制御部110と、記憶部113とを有する。本実施の形態では、機器制御装置10は、さらに操作表示部117を有する。ただし、操作表示部117は、機器制御装置10の外部において機器制御装置10と通信可能に接続されていてもよい。
操作表示部117は、表示部117aと、操作部117bとを有する。表示部117aには、被制御機器20の機器状態情報及び被制御機器20に入力する操作指示、記憶部113に格納された情報などが表示される。ユーザは、操作部117b(例えば、ボタン)を用いて、機器制御装置10内(例えば、制御部110)に操作指示(制御内容)などを入力することができる。操作表示部117がタッチパネルの場合、表示部117aと操作部117bとが一体に構成されてもよい。
制御部110は、情報取得部112と、情報更新部114と、制御内容選択部115(制御命令決定部)と、命令送信部116とを有する。制御部110は、通信部111を介して、複数の被制御機器20のうちの少なくともいずれかを制御する機器制御命令を送信する。
通信部111は、複数の被制御機器20及びデータベース30と通信を行う。例えば、通信部111は、被制御機器20に対して機器制御命令を送信したり、被制御機器20から機器状態情報を含む各種情報を受信したりする。さらに、通信部111は、データベース30に情報取得要求を送信し、情報を受信することができる。通信に用いる媒体は、例えば、前述のとおり、Ethernet(登録商標)、無線LAN又は赤外線通信等が挙げられる。
情報取得部112は、通信部111を介して、被制御機器20及びデータベース30から情報を取得する。情報取得部112が被制御機器20から取得する情報には、機器状態情報が含まれる。また、情報取得部112がデータベース30から取得する情報には、連動制御ルール情報、状態タグ情報更新ルール情報が含まれる。なお、情報取得部112は、取得された情報を記憶部113に記憶させる。
記憶部113には、情報が格納される。例えば、記憶部113は、機器情報テーブル121、グループ情報テーブル122、連動制御ルールテーブル123、及び状態タグ情報更新ルールテーブル124の4種類のテーブル形式の情報を記憶する。
情報取得部112が取得した機器状態情報は、機器情報テーブル121の項目の一つとして記憶部113に記憶される。また、情報取得部112が取得した連動制御ルール情報及び状態タグ情報更新ルール情報は、それぞれ連動制御ルールテーブル123及び状態タグ情報更新ルールテーブル124の項目の一つとして記憶部113に記憶される。記憶部113が記憶する各種情報の詳細については後述する。
情報更新部114は、記憶部113に記憶されている情報の更新を行う。例えば、情報更新部114は、機器情報テーブル121における機器状態情報121dに基づいて、機器情報テーブル121における状態タグ情報121fを更新する。情報更新部114が行う情報の更新の詳細については後述する。
制御内容選択部115は、機器制御装置10から被制御機器20に機器制御命令を送信するか否かの判断を行なう。判断の結果、機器制御命令を送信する場合は、制御内容選択部115は、機器制御命令を送信する対象(送信先)の被制御機器20を選択し、さらに、送信する機器制御命令(制御内容)を選択する。制御内容選択部115が行う判断及び選択の詳細については後述する。
命令送信部116は、制御内容選択部115によって選択された機器制御命令(制御内容)を、通信部111を介して被制御機器20に送信する。機器制御命令の送信先は、制御内容選択部115によって選択された送信対象の被制御機器20である。
次に、記憶部113が記憶する各種情報について説明する。
まず、図3を用いて、機器情報テーブル121について説明する。
図3は、複数の被制御機器20の各々に関する情報が格納された機器情報テーブル121(テーブル1)を示す図である。
機器情報テーブル121は、複数の被制御機器20の各々についての、機器ID121a、機器種別121b、機器名称121c、機器状態情報121d、グループID情報121e、及び状態タグ情報121fの項目を有する。機器ID121a、機器種別121b、機器名称121c、機器状態情報121d、グループID情報121e、及び状態タグ情報121fに格納される情報は、各被制御機器20に関連付けられる。
機器ID121aには、複数の被制御機器20の各々を一意に識別するための情報が格納される。例えば、機器ID121aは、番号、文字列、又はこれらの組み合わせで表される。本実施の形態では、機器ID121aは、被制御機器20に付与されたIP(Internet Protocol)アドレスによって表される。例えば、機器ID121aは、機器制御装置10によって自動的に割り振られる。この場合、機器制御装置10は、被制御機器20が保持している固有の情報を取得し、取得された情報に基づいて機器ID121aを生成してもよい。さらに、機器ID121aは、ユーザによって手動で設定されてもよい。
機器種別121bには、被制御機器20の種別を表す情報が格納される。被制御機器20の種別(機器種別)とは、例えば、エアコン、テレビ、又は照明などの、機器制御装置10よって遠隔制御される機器の種類を示す。複数の被制御機器20のうち、機器種別121bの欄に同じ情報が格納されている被制御機器20は、互いに同一又は類似の制御内容によって制御されることが期待される。機器種別121bには“エアコン”、“テレビ”といった可読性のある文字列の形式の情報が格納されてもよいし、種別ごとに割り振られた符号の形式の情報が格納されてもよい。
機器名称121cには、ユーザによって識別されやすいように付与された被制御機器20の名称(機器名称)が格納される。例えば、複数の被制御機器20のうちの、第1のエアコン20Aに機器名称“リビングのエアコン”が付与され、第2のエアコン20Bに機器名称“寝室のエアコン”が付与される。これにより、ユーザは、複数のエアコンを識別しやすくなる。機器名称121cは、ユーザによって手動で設定されてもよいし、機器制御装置10が機器種別121b等の情報に基づいて自動的に設定してもよい。
機器状態情報121dには、被制御機器20の状態(機器状態)を示す情報(機器状態情報)が格納される。機器状態情報121dに格納される情報は、情報取得部112によって被制御機器20から取得された情報に基づいて更新される。
機器状態情報は、例えば、電源、運転モード、又は室温などの被制御機器20の動作状態又は動作の種類を示す動作情報と、電源のオンオフ(“入”又は“切”)、エアコンの設定(“暖房”又は“冷房”)などの動作情報の値(動作パラメータ)を示すパラメータ情報とを含む。機器状態情報121dには、動作情報と、動作情報に対応するパラメータ情報との組み合わせが格納される。機器状態情報121dに格納される情報は、被制御機器20の種類によって異なる。
1つの被制御機器20について、複数の機器状態情報が機器状態情報121dに格納されてもよい。例えば、No.1の機器状態情報121dには、複数の機器状態情報として、電源及び運転モードが格納されている。
機器状態情報121dに格納される、動作情報及びパラメータ情報は、“運転モード”又は“暖房”などのように可読性のある文字列の形式で格納されてもよいし、種別又は値ごとに割り振られた符号の形式で格納されてもよい。
グループID情報121eには、各被制御機器20が所属するグループ(割り当てグループ)を示す情報(グループID)が格納される。グループIDは、例えば、番号、文字列、又はこれらの組み合わせで表される。本実施の形態では、グループIDとして、通し番号が用いられる。例えば、グループIDは、各被制御機器20が設置される位置に基づいて付与される。同じ部屋に設置される被制御機器20は、互いに同じグループとなるように、各被制御機器20にグループIDが付与されることが望ましい。1つの発信源から発信される音波又は赤外線が到達する範囲内に設置された被制御機器20が互いに同一のグループとなるように、各被制御機器20にグループIDが付与されてもよい。グループID情報121eは、ユーザにより手動で設定することができる。ただし、機器制御装置10によって自動設定されてもよい。
状態タグ情報121fには、被制御機器20(第1の被制御機器)又はその被制御機器20の周辺に設置された他の被制御機器20(第2の被制御機器)の使用状態及び使用目的、並びにユーザの位置及び動作などの、その被制御機器20(第1の被制御機器)について関連性があると推定される情報を示す状態タグ(タグ)が格納される。また、一つの被制御機器20についての状態タグ情報121fの欄には、複数の状態タグが格納されていてもよいし、状態タグが一つも格納されなくてもよい。
例えば、ヒートポンプ給湯器20I(第1の被制御機器)が使用されている場合、ヒートポンプ給湯器20Iは、入浴を目的として使用されている状態であることが推定されるため、ヒートポンプ給湯器20Iに対応する状態タグ情報121fの欄に状態タグ“入浴中”が格納される。さらに、浴室に設置された第1の照明20Eは、ヒートポンプ給湯器20Iと同じ部屋又は近接する位置に設置されていることが推定されるので、ヒートポンプ給湯器20Iと同様に、状態タグ“入浴中”が、第1の照明20Eに対応する状態タグ情報121fの欄に格納される。
状態タグ情報121fには、“入浴中”又は“調理中”などのように可読性のある文字列の形式の情報が格納されてもよいし、状態タグごとに割り振られた符号の形式の情報が格納されてもよい。状態タグ情報121fに格納され得る情報(状態タグ)の種類は、予め与えられているものとする。本実施の形態では、状態タグ情報121fに格納される状態タグは、後述する状態タグ情報更新ルールテーブル124によって与えられる。
状態タグ情報121fの更新は、機器情報テーブル121に格納されている情報、及び後述する状態タグ情報更新ルールテーブル124に格納されている情報に基づいて情報更新部114によって実行される。
図4は、複数のグループ(グループID)に関する情報が格納されたグループ情報テーブル122(テーブル2)を示す図である。
グループ情報テーブル122は、複数のグループ(グループID)の各々についての、グループID情報122a、グループ名122b、及び連動グループ情報122cの項目を有する。
グループID情報122aには、グループIDが格納される。本実施の形態では、新しいグループが設定される度に、機器制御装置10が新たなグループに関連付けられたグループIDが割り当てられる。
グループ名122bには、グループIDに関連付けられたグループの名称が格納される。具体的には、グループ名122bに格納される情報は、ユーザが識別しやすいように、例えば、文字列によって付与されるグループの名称である。例えば、1つのグループとしての部屋の名称は、“リビング”又は“キッチン”などの文字列によって示される。本実施の形態では、グループ名122bは、ユーザによって手動で設定される。
連動グループ情報122cには、第1のグループに属する被制御機器20の状態タグと、第2のグループを示すグループIDとが格納される。これらの情報は互いに関連付けられ、1組の情報として格納される。連動グループ情報122cの欄に格納される1組の情報は、互いに関連性の高い組み合わせを示す。例えば、第1のグループに属する被制御機器20(例えば、第1の被制御機器)に第1の状態タグが付与されている状態において、第2のグループに属する他の被制御機器20(例えば、第2の被制御機器)が使用される頻度が高い場合に、第1のグループ(例えば、グループID=1)、第1の状態タグ、及び第2のグループ(例えば、グループID=2)は、互いに関連性が高いとみなし、この1組の情報が連動グループ情報122cの欄に格納される。
図4に示される例では、グループ情報テーブル122のNo.3の連動グループ情報122cの欄に格納されている情報は、第1のグループとしてのグループ3(グループID=3)に属する被制御機器20に付与される状態タグ“入浴後”と、第2のグループとしてのグループ1(グループID=1)とが、互いに関連性が高いことを示す。
連動グループ情報122cには、1つのグループにつき、複数の組からなる情報が格納されていてもよく、1組の情報も格納されなくてもよい。図4に示される例では、グループID情報122aが“2”及び“4”である項目の連動グループ情報122cに、2組の情報がそれぞれ格納されている。
連動グループ情報122cは、機器情報テーブル121に格納されている情報の履歴に基づいて、情報更新部114により更新される。
図5は、機器制御命令(制御命令)と、機器制御命令の送信可否を判断するための複数の判断条件との組み合わせが格納された連動制御ルールテーブル(テーブル3)を示す図である。
連動制御ルールテーブル123は、有効無効情報123a、対象状態タグ123b、対象機器種別123c、対象時刻123d、対象日付123e、及び制御内容123fの項目を有する。これらの項目のうち、有効無効情報123a、対象状態タグ123b、対象機器種別123c、対象時刻123d、及び対象日付123eは、判断条件(送信条件)である。言い換えると、有効無効情報123a、対象状態タグ123b、対象機器種別123c、対象時刻123d、及び対象日付123eは、機器制御命令の送信の可否を決定する情報が格納される項目である。制御内容123fは、判断条件に基づいて送信される機器制御命令の内容を示す情報である。
対象状態タグ123b、対象機器種別123c、対象時刻123d、対象日付123e、及び制御内容123fは、情報取得部112によってデータベース30から取得される。
有効無効情報123aには、連動制御ルールテーブル123に格納された判断条件が有効であるか又は無効であるかを表す情報(“有効”又は“無効”)が格納される。判断条件が有効である場合、“有効”が有効無効情報123aに格納され、判断条件が無効である場合、有効無効情報123aに“無効”が格納される。有効無効情報123aに格納される情報(“有効”及び“無効”)は、可読性のある文字列の形式で格納されてもよいし、符号の形式で格納されてもよい。有効無効情報123aに格納される情報は、ユーザが手動で設定することができる。有効無効情報123aが“無効”である場合は、判断条件は常に満たさないことを意味する。
対象状態タグ123bは、状態タグに関する判断条件を表す情報である。対象状態タグ123bには、いずれかの状態タグが格納される。対象状態タグ123bは、後述する機器制御処理において、被制御機器20に付与されたいずれかの状態タグと、対象状態タグ123bに格納された状態タグとが一致するかを判定する際に用いられる。
対象機器種別123cは、機器種別に関する判断条件を表す情報である。対象機器種別123cには、いずれかの機器種別が格納される。対象機器種別123cは、後述する機器制御処理において、判断対象の被制御機器20の機器種別と、対象機器種別123cに格納されている機器種別とが一致するかを判定する際に用いられる。
対象時刻123dは、時刻に関する判断条件を表す情報である。対象時刻123dには、判断条件としての時刻又は時間間隔が格納される。例えば、対象時刻123dには時間間隔(開始時刻及び終了時刻)が格納される。対象時刻123dは、後述する機器制御処理において、判断時の時刻(現在時刻)が、対象時刻123dに格納された時間間隔の範囲内か判定する際に用いられる。対象時刻123dには、情報が格納されなくてもよい。対象時刻123dに情報が格納されていない場合は、時刻又は時間間隔に関する判断条件は常に満たされていることを示す。
対象日付123eは、日付に関する判断条件を表す情報である。対象日付123eには、日付又は期間(開始日及び終了日)が格納される。対象日付123eは、後述する機器制御処理において、判断時の日付が、対象日付123eに格納された期間の範囲内か判定する際に用いられる。対象日付123eには情報が格納されなくてもよい。対象日付123eに情報が格納されていない場合は、日付に関する判断条件は常に満たされていることを示す。
制御内容123fは、連動制御ルールテーブル123に格納された判断条件が満たされた場合に送信される機器制御命令の内容を示す情報である。すなわち、制御内容123fには、制御内容が格納される。制御内容123fに格納される内容(機器制御命令)は、機器種別によって異なる。制御内容123fには、複数の機器制御命令が格納されてもよい。制御内容123fに複数の機器制御命令が格納されている場合は、各機器制御命令が順に送信されることを意味する。例えば、連動制御ルールテーブル123のNo.1の制御内容123fの欄には、2つの機器制御命令“電源:入”及び“運転モード:送風”が格納されている。
図6は、被制御機器20(状態タグ情報121f)に付与される付与状態タグと、付与状態タグを付与するための複数の判断条件との組み合わせが格納された状態タグ情報更新ルールテーブル(テーブル4)を示す図である。
状態タグ情報更新ルールテーブル124は、付与状態タグ124a、対象機器種別124b、対象時刻124c、対象日付124d、対象機器状態124e、及び対象状態タグ124fの項目を有する。
状態タグ情報更新ルールテーブル124において、付与状態タグと判断条件との組み合わせは2通りである。1つの組み合わせは、付与状態タグ124a、対象機器種別124b、対象時刻124c、対象日付124d、及び対象機器状態124eの組み合わせである。もう1つの組み合わせは、付与状態タグ124a及び対象状態タグ124fの組み合わせである。
付与状態タグ124a、対象機器種別124b、対象時刻124c、対象日付124d、対象機器状態124e、及び対象状態タグ124fは、情報取得部112によってデータベース30から取得される。
付与状態タグ124aは、判断条件を満たした場合に被制御機器20(状態タグ情報121f)に付与される状態タグを表す情報である。すなわち、付与状態タグ124aには、情報更新部114によって被制御機器20に付与される状態タグのいずれかが格納される。
対象機器種別124bは、機器種別に関する判断条件を表す情報である。対象機器種別124bには、機器種別のいずれかが格納される。対象機器種別124bは、後述する状態タグの付与判断処理において、判断対象の被制御機器20の機器種別と、対象機器種別124bに格納されている機器種別とが一致するか判断する際に用いられる。
対象時刻124cは、時刻に関する判断条件を表す情報である。対象時刻124cには、時刻が格納される。判断条件としての時刻又は時間間隔が格納される。例えば、対象時刻124cには時間間隔(開始時刻及び終了時刻)が格納される。対象時刻124cは、後述する状態タグの付与判断処理において、判断時の時刻(現在時刻)が、対象時刻124cに格納された時間間隔の範囲内か判定する際に用いられる。対象時刻124cには、情報が格納されなくてもよい。対象時刻123dに情報が格納されていない場合は、時刻又は時間間隔に関する判断条件は常に満たされていることを示す。
対象日付124dは、日付に関する判断条件を表す情報である。対象日付124dには、日付又は期間(開始日及び終了日)が格納される。対象日付124dは、後述する状態タグの付与判断処理において、判断時の日付が、対象日付124dに格納された期間の範囲内か判定する際に用いられる。対象日付124dには情報が格納されなくてもよい。対象日付124dに情報が格納されていない場合は、日付に関する判断条件は常に満たされていることを示す。
対象機器状態124eは、被制御機器20の状態(機器状態)に関する判断条件を表す情報である。対象機器状態124eには、状態タグを付与するための判断条件としての機器状態のいずれかが格納される。対象機器状態124eは、後述する状態タグの付与判断処理において、判断対象の被制御機器20の機器状態と、対象機器状態124eに格納されている機器状態とが一致するか判定する際に用いられる。対象機器状態124eには、複数の機器状態が格納されていてもよい。対象機器状態124eに複数の機器状態が格納されている場合は、対象機器状態124eに格納されている全ての機器状態が、判断対象の被制御機器20の機器状態と一致するか判定される。
対象状態タグ124fは、関連性が高いグループの被制御機器20に付与された状態タグに関する判断条件を表す情報である。対象状態タグ124fには、いずれかの状態タグが格納される。例えば、第1のグループに属する被制御機器20(例えば、第1の被制御機器)に第1の状態タグが付与されている状態において、第2のグループに属する他の被制御機器20(例えば、第2の被制御機器)が使用される頻度が高い場合に、第1の被制御機器20に第1の状態タグが付与されている状態における第1のグループと第2のグループとは互いに関連性が高いと判定される。関連性の判定は、グループ情報テーブル122に含まれる連動グループ情報122cに基づいて判定される。
次に、機器制御システム1における連動制御処理の一例を説明する。
機器制御装置10の記憶部113は、機器制御命令と、機器制御命令の送信の可否を決定する制御ルール情報とを格納する。制御ルール情報は、有効無効情報123a、対象状態タグ123b、対象機器種別123c、対象時刻123d、及び対象日付123eに格納された少なくとも1つの情報を含む。本実施の形態では、制御ルール情報は、複数の被制御機器20のうちの少なくとも1つの被制御機器20と関連付けられる情報であるタグ(すなわち、状態タグ情報121f及び対象状態タグ123bに格納される状態タグ)を含む。制御部110は、予め定められた時間が経過したときに、タグの情報(すなわち、状態タグの内容)を変更することができる。
制御部110(例えば、制御内容選択部115)は、機器制御命令の送信先の少なくとも1つの被制御機器20を、制御ルール情報に基づいて複数の被制御機器20の中から選択する。制御部110(例えば、命令送信部116)は、選択された被制御機器20に機器制御命令を送信する。被制御機器20は、機器制御装置10から機器制御命令を受信した場合、その機器制御命令に従って動作を行う。
制御部110は、少なくとも1つの被制御機器20と、複数の状態タグのうちの特定の状態タグTg1とを関連付けた状態で状態タグTg1を記憶部113に格納する。制御部110は、状態タグTg1が関連付けられた被制御機器20に機器制御命令を送信する。これにより、状態タグTg1に関連付けられた被制御機器20に対する連動制御が自動的に行われる。
状態タグTg1が第1の被制御機器20に関連付けられている状態において、制御部110は、第1の被制御機器20と第2の被制御機器20とが互いに関連性が高いと判断した場合、制御部110は、第1の被制御機器20及び第2の被制御機器20と、状態タグTg1とを関連付けた状態で状態タグTg1を記憶部113に格納する。制御部110は、状態タグTg1が関連付けられた被制御機器20に機器制御命令を送信するので、状態タグTg1に関連付けられた被制御機器20に対する連動制御が自動的に行われる。
複数の被制御機器20の各々は、複数のグループ(例えば、グループ1,2,3,及び4)のいずれかに分類されている。具体的には、複数の被制御機器20の各々は、複数のグループのうちのいずれのグループに分類されているかを示すグループ情報(すなわち、グループID情報121eに格納されるグループID)によって、複数のグループのうちのいずれかに分類され、グループ情報が記憶部113に格納されている。複数のグループのうちの1つのグループに分類された少なくとも1つの被制御機器20には、状態タグTg1が関連付けられた状態で状態タグTg1が記憶部113に格納されている。
複数のグループのうちの1つのグループに分類された1つの被制御機器20に状態タグTg1が関連付けられた状態で状態タグTg1が記憶部113に格納された場合、制御部110は、状態タグTg1と、その1つのグループに分類された全ての被制御機器とを関連付けた状態で状態タグTg1を記憶部113に格納する。制御部110は、状態タグTg1が関連付けられた被制御機器20に機器制御命令を送信するので、状態タグTg1に関連付けられた全ての被制御機器20(すなわち、同一のグループに属する全ての被制御機器20)に対する連動制御が自動的に行われる。
機器制御システム1の運用を開始する前に、少なくとも1つの被制御機器20と状態タグTg1とが予め関連付けられた状態で状態タグTg1が記憶部113に格納されていてもよい。ユーザは、操作表示部117から制御ルール情報を入力することができる。したがって、ユーザが、操作表示部117に表示された制御ルール情報を参照しながら、操作表示部117を用いて少なくとも1つの被制御機器20と状態タグTg1とを関連付け、記憶部113に格納することができる。
複数の被制御機器20のうちの少なくとも2つの被制御機器20が、互いに異なる部屋に設置されている場合でも、制御部110は、機器制御命令の送信先の被制御機器20としてその少なくとも2つの被制御機器を選択し、選択された少なくとも2つの被制御機器に機器制御命令を送信することができる。したがって、被制御機器20の設置場所に関わらず、連動制御を行うことができる。
次に、機器制御システム1における連動制御処理の詳細を、図を参照しながら説明する。
本実施の形態では、連動制御処理は、以下の7つの処理を含む。
1.データベースからの情報取得処理
2.被制御機器の追加処理
3.グループ情報の編集処理
4.被制御機器の機器状態情報の取得処理
5.連動グループ情報の更新処理
6.状態タグ情報の更新処理
7.連動制御ルールの編集処理
8.制御内容の選択処理
1.データベースからの情報取得処理
データベース30からの情報取得処理では、情報取得部112が、通信部111を介して、データベース30から情報を取得し、記憶部113に記憶する。
データベース30から取得される情報は、連動制御ルールテーブル123に格納される、対象状態タグ123b、対象機器種別123c、対象時刻123d、対象日付123e、制御内容123fと、状態タグ情報更新ルールテーブル124に格納される、付与状態タグ124a、対象機器種別124b、対象時刻124c、対象日付124d、対象機器状態124e、対象状態タグ124fである。
これらの情報の取得は、定期的に、例えば一日に一回などのタイミングで行う。このタイミング以外に、例えば、ユーザが指定したタイミングで行ってもよいし、また、データベース30に格納されている情報が更新された時に、データベース30が機器制御装置10に対して更新された旨を通知し、通知を受け取ったタイミングで、データベース30から情報を取得してもよい。
2.被制御機器の追加処理
被制御機器の追加処理では、機器制御システム1に、新たに被制御機器20が追加された際に、追加された被制御機器20の情報を記憶部113に記憶する。
記憶部113に記憶される情報は、機器情報テーブル121に格納される、機器ID121a、機器種別121b、及び機器名称121cである。
機器ID121aは一意に識別可能な値を機器制御装置10が割り振ってもよいし、情報取得部112が被制御機器20から取得した情報に基づいて生成してもよい。また、機器ID121aは、ユーザにより手動で設定されてもよい。
機器種別121bは、情報取得部112によって被制御機器20から取得され、機器情報テーブル121に格納される。
機器名称121cは、ユーザによって手動で設定されてもよいし、情報取得部112が機器種別121bに基づいて設定してもよい。
これらの情報は、新たに被制御機器20が追加された際に格納される。新たに被制御機器20が追加されたことを機器制御装置10が認識するためには、例えば、追加された被制御機器20が定期的に自らの存在を機器制御装置10又は他の被制御機器20に通知してもよいし、情報取得部112が定期的に機器情報を取得する要求を、機器制御システム1のネットワーク内の不特定多数の機器に送信してもよい。
3.グループ情報の編集処理
グループ情報の編集処理では、機器情報テーブル121に格納されるグループID情報121eと、グループ情報テーブル122に格納されるグループID情報122a及びグループ名122bとに、新しい項目を追加したり、値を更新したりする。
機器情報テーブル121に格納されるグループID情報121eは、ユーザによって設定される。このとき、グループ情報テーブル122に格納されているグループID情報122aから一つ選択して設定する。ユーザがグループID情報122aを選択する際は、グループID情報122aを直接選択するのではなく、グループ名122bを選択してもよい。この時は、選択したグループ名122bに対応するグループID情報122aが、機器情報テーブル121に格納されるグループID情報121eに設定される。
グループ情報テーブル122に格納されるグループID情報122aは、ユーザが手動で設定してもよいし、グループ情報テーブル122に新たなグループID情報122aが格納される度に、機器制御装置10が一意に識別可能な値を割り振ってもよい。
グループ情報テーブル122に格納されるグループ名122bは、ユーザによって設定される。
これらの情報の更新されるタイミングは、ユーザが設定操作を行った際に随時行われる。
4.被制御機器の機器状態情報の取得処理
被制御機器の機器状態情報の取得処理では、情報取得部112は、通信部111を介して被制御機器20から状態情報を取得し、記憶部113の機器情報テーブル121に記憶させる。
被制御機器20の状態情報の取得処理を行うタイミングは、例えば、1分おきといった頻度で定期的に行う。被制御機器20の機器状態が変化した時に、被制御機器20が変化した旨を機器制御装置10に通知し、そのタイミングで取得処理を行ってもよい。
5.連動グループ情報の更新処理
連動グループ情報の更新処理では、情報更新部114は、グループ間の関連性の判断を行う。関連性の高いグループがあると判断された場合、第1のグループに属する被制御機器20に付与された状態タグと、その状態タグと関連性が高いと判断された第2のグループのグループIDとを記憶部113の連動グループ情報122cに格納する。
関連性の判断は、例えば、第1のグループに属する被制御機器20(例えば、第1の被制御機器)に第1の状態タグが付与されている状態において、第2のグループに属する他の被制御機器20(例えば、第2の被制御機器)がユーザによって使用される頻度に基づいて判断される。
連動グループ情報の更新処理の具体的な手順を説明する。
情報更新部114は、予め、被制御機器20のそれぞれについて、電源などの機器状態が変化した回数を計測し、グループごとに和をとった値を少なくとも数日分保持しておく。説明のため、この値を計測時間で割ったものをグループ別全日操作頻度Fall(j)(jは、グループIDに対応する1以上の整数)とする。
さらに、情報更新部114は、あるグループ(第1のグループ)に含まれる被制御機器20にいずれかの状態タグ(tag)が付与されている間の、他のグループ(例えば、第2のグループ)に含まれる被制御機器20のそれぞれについて、電源などの機器状態が変化した回数を計測し、グループ(第2のグループ)ごとに和をとった値を保持する。この値を計測時間で割ったものをグループ別状態タグ別操作頻度Ftag(i,tag,j)とする。ここで、iは、第1のグループのグループIDに対応する1以上の整数であり、tagは、第1のグループに含まれる被制御機器20に付与された状態タグに対応し、jは、第2のグループのグループIDに対応する。
Ftag(i,tag,j)/Fall(j)によって算出された値F1が、閾値F0以上である場合、情報更新部114は、第1のグループの被制御機器20に状態タグが付与されている間、第2のグループの被制御機器20が操作される頻度が高くなると判断し、特定の状態タグ(tag)に関連付けられた第1のグループの被制御機器20と、第2のグループ(第2のグループの被制御機器20)とは互いに関連性が高いと判断する。
情報更新部114は、第iのグループに属する被制御機器20の状態タグと、第jのグループを示すグループID“j”とを、第iのグループに対応する連動グループ情報122cの欄に追加する。
図4に示される例では、情報更新部114は、グループIDが“1”の被制御機器20に状態タグ“在室後(夜)”が付与されている間、グループIDが“2”の被制御機器20の被制御機器20が操作される頻度が高いと判断したので、グループID“1”と、状態タグ“在室後(夜)”と、グループID“2”とは、関連度が高いと判断し、グループID“1”の連動グループ情報122cの欄に、状態タグ“在室後(夜)”及びグループID“2”が格納されている。
また、情報更新部114は、値F1が、ある閾値(例えば20)を下回った場合に、対応する連動グループ情報122cに格納された情報をグループ情報テーブル122から削除してもよい。このときの閾値は、閾値F0とは別の値でもよい。また、値F1が、閾値を下回った場合に、対応する連動グループ情報122cからすぐに削除するのではなく、閾値を下回った状態が一定時間(例えば一週間)継続した場合に削除するようにしてもよい。
連動グループ情報の更新処理を行うタイミングは、機器状態が変化した回数の計測については、例えば、1分おきといった頻度で定期的に行う。もしくは、被制御機器の機器状態情報の取得処理により、機器情報テーブル121に格納されている情報が更新されたタイミングでおこなってもよい。また、閾値との比較に基づいて連動グループ情報122cに格納されている情報を更新する処理は、機器状態が変化した回数の計測と同時に行ってもよいし、一日に一度など、より少ない頻度で行ってもよい。
6.状態タグ情報の更新処理
状態タグ情報の更新処理では、情報更新部114が、更新処理対象の被制御機器20に、状態タグの付与(追加)を行う。具体的には、情報更新部114は、機器情報テーブル121に格納されている情報と、状態タグ情報更新ルールテーブル124に格納されている情報とに基づいて、更新処理対象の被制御機器20に対応する機器情報テーブル121の状態タグ情報121fの欄に状態タグを格納する。
図6に示される例では、例えば、レンジフードファン20Kの機器状態(電源)が“電源:入”である場合、状態タグ情報更新ルールテーブル124の対象機器状態124e(No.5の対象機器状態124e)に格納されている機器状態(電源:入)と一致しているので、条件を満たしている。したがって、情報更新部114は、レンジフードファン20Kが、対象機器状態124eに格納されている条件を満たすと判断し、機器情報テーブル121のレンジフードファン20Kに対応する状態タグ情報121fの欄に状態タグ“調理中”を格納する。
このようにして、ある被制御機器20に状態タグが付与された時に、情報更新部114は、状態タグが付与された被制御機器20とグループIDが等しい別の被制御機器20にも同じタグを付与してもよい。例えば、前記の例では、レンジフードファン20Kに“調理中”の状態タグが付与された時に、情報更新部114は、同じグループID“4”に属する第4の照明20H、及びIHクッキングヒーター20Lにも、“調理中”の状態タグを付与する。
状態タグ情報の更新処理は、状態タグ情報更新ルールテーブル124に格納されているNo.1からNo.18までのそれぞれについて、条件を満たすか否かの判断を、情報更新部114が行ない、条件を満たしている場合に、判断条件に対応する付与状態タグを判断対象の被制御機器20に付与する。この判断を、機器情報テーブル121に格納されている全ての被制御機器20に対して行う。
状態タグ情報更新ルールテーブル124に格納されている判断条件の方法には2種類ある。
1つの方法は、対象機器種別124b、対象時刻124c、対象日付124d、及び対象機器状態124eの組み合わせを判断条件とする方法である(後述するステップS6−2〜S6−8)。
もう1つ方法は、対象状態タグ124fを判断条件とする方法である(後述するステップS6−14〜S6−16)。条件を満たしたときは、情報更新部114は、連動グループ情報122cに格納されているグループIDに含まれる被制御機器20に、付与状態タグ124aを付与する(詳細は、後述するステップS6−17)。
図4及び図5を用いて条件判断の例を挙げると、グループIDが“3”である被制御機器20(例えば、浴室換気乾燥機20J)に、“入浴後”のタグが付与されている場合、対象状態タグ124fに入浴後が含まれているため、情報更新部114は、次に連動グループ情報122cを確認する。グループ情報テーブル122のグループID情報122aが“3”に対応する連動グループ情報122cを確認すると、“入浴後”の状態タグが格納されている。そのため、条件を満たしており、情報更新部114は、連動グループ情報122cに格納されているグループ1(グループID=1)に属する被制御機器20全て(この例では、第1のエアコン20A、掃除機20C、テレビ20D、第1の照明20E)に、対象状態タグ124fに格納された“入浴後”に対応する、状態タグ“風呂あがり中”を付与する(後述するステップS6−14〜6−17)。
また、情報更新部114は、被制御機器20が、状態タグ情報更新ルールテーブル124に格納されている判断条件を満たさなくなった場合は、被制御機器20に付与されている状態タグ(状態タグ121fに格納されている状態タグ)を削除してもよい。さらに、状態タグ情報更新ルールテーブル124に格納されている判断条件を満たしていても、付与されてから、予め定められた時間(例えば1時間)が経過したときに、被制御機器20に付与されている状態タグを削除又は他の状態タグに変更してもよい。
さらに、情報更新部114は、被制御機器20が、状態タグ情報更新ルールテーブル124に格納されている判断条件を満たさなくなったときに、状態タグを削除するのではなく、別の状態タグに変更してもよい。例えば、ある被制御機器20に“入浴中”の状態タグが付与されている状況で、状態タグ情報更新ルールテーブル124に格納されている“入浴中”の判断条件を満たさなくなったときに、“入浴中”の状態タグを“入浴後”に変更させる。変更された状態タグは、例えば、一定時間が経過したら(例えば1時間)、情報更新部114によって削除される。
状態タグ情報の更新処理を行うタイミングは、例えば、1分おきといった頻度で定期的に行ってもよく、被制御機器の機器状態情報の取得処理により、機器情報テーブル121に格納されている情報が更新されたタイミングでおこなってもよい。
7.連動制御ルールの編集処理
連動制御ルールの編集処理では、ユーザが、連動制御ルールテーブル123の有効無効情報123aに格納される情報(“有効”又は“無効”)を変更する。ユーザが設定する際は、例えば、操作表示部117を用いることができる。操作表示部117以外には、表示画面を備え、機器制御装置10と通信可能な情報処理装置を用いてもよい。例えば、パーソナルコンピュータ、タブレット端末、又はスマートフォン端末である。さらに、機器制御システム1に含まれるテレビ20Dを用いてもよい。
情報処理装置を用いた有効無効情報123aに格納される情報(値)の変更処理では、例えば、情報処理装置の画面に、対象状態タグ123b、対象機器種別123c、対象時刻123d、対象日付123e、及び制御内容123fに格納された情報を文字列で表示し、ユーザが有効又は無効を選択することができる。この場合、対象状態タグ123b、対象機器種別123c、対象時刻123d、対象日付123e、及び制御内容123fの各々、又はこれらの一部を、文字ではなく値に対応する図柄(イメージ)で表示してもよい。
有効無効情報123aに格納される情報が更新されるタイミングは、ユーザが機器制御装置10の設定操作を行った際に随時行われる。
8.制御内容の選択処理
次に、制御内容の選択処理の詳細について説明する。
制御内容の選択処理では、制御内容選択部115は、機器情報テーブル121に格納されている1又は複数の被制御機器20が、連動制御ルールテーブル123に格納されている判断条件を満たしているかを判断する。条件を満たしている場合、制御内容選択部115は、制御内容123fに格納されている機器制御命令を送信するように命令送信部116に指令する。命令送信部116は、通信部111を介して、条件を満たす被制御機器20に機器制御命令を送信する。被制御機器20は、機器制御装置10から受信した機器制御命令に基づく動作を行う。
この処理を機器情報テーブル121に格納されている全ての被制御機器20について実行する。条件判断は、有効無効情報123a、対象状態タグ123b、対象機器種別123c、対象時刻123d、及び対象日付123eに格納されている個別の条件の全てが満たされる場合に、判断条件を満たす。
満たしている判断条件が複数ある場合は、それら全てに対応する制御内容123fを順に処理してもよいし、判断条件を一つだけ選択して対応する制御内容123fを処理してもよい。判断条件を一つだけを選択する場合は、例えば、連動制御ルールテーブル123上で、最も上の項目にある判断条件を選択してもよいし、連動制御ルールテーブル123に新たに優先度を示す情報を判断条件ごとに格納し、優先度の最も高い判断条件を選択してもよい。このとき、優先度を示す情報は、他の情報と同様にデータベース30から取得する。また、優先度を示す情報をユーザが設定できるようにしてもよい。
機器制御装置10による被制御機器20の連動制御処理を、図7,8及び9を用いて説明する。
機器制御装置10による被制御機器20の連動制御処理は、前述した、4.被制御機器の機器状態情報の取得処理、5.連動グループ情報の更新処理、6.状態タグ情報の更新処理、及び8.制御内容の選択処理に相当する。
図7は、連動制御処理を示すフローチャートである。
ステップS1におけるループ処理(ステップS2からステップS8までのループ処理)は、機器情報テーブル121に格納された全ての被制御機器20に対して行われる。例えば、機器情報テーブル121のNo.1の被制御機器20を、1番目の処理対象の被制御機器20として、ステップS1のループ処理が開始され、ステップS8の処理が終わると、機器情報テーブル121のNo.2の被制御機器20を、2番目の処理対象の被制御機器20としてステップS1のループ処理が行われる。機器情報テーブル121に格納された全ての被制御機器20に対してステップS1からステップS8までのループ処理が終わると、処理はステップS9に進む。本実施の形態では、ステップS1のループ処理は、機器情報テーブル121のNo.1からNo.12までの被制御機器20に対して行われる。
ステップS2では、機器制御装置10の情報取得部112は、通信部111を介して処理対象の被制御機器20(No.kの被制御機器20;例えば、第1のエアコン20A)から機器状態を取得する。
ステップS3では、情報取得部112は、通信部111を介して処理対象の被制御機器20から取得した機器状態情報と、機器情報テーブル121の機器状態情報121d(処理対象の被制御機器20の機器状態情報121d)に格納されている機器状態情報とを比較し、機器状態に変化があるかを判断する。
機器状態に変化がある場合(ステップS3:Yes)、処理はステップ4に進む。機器状態に変化がない場合(ステップS3:No)、処理はステップS7に進む。
ステップ4では、情報取得部112は、機器情報テーブル121の機器状態情報121dに格納されている機器状態情報を更新する。
ステップS5では、制御部110(情報取得部112又は情報更新部114)は、機器状態が変化した回数のカウントを行う。例えば、制御部110は、被制御機器20が含まれるグループの変化回数を1加算する。さらに、他のグループに含まれる被制御機器20にいずれかの状態タグが付与されている場合は、制御部110は、他のグループと状態タグともとの被制御機器20が含まれるグループの組に対して、変化回数を1加算する。
ステップS6では、情報更新部114は、処理対象の被制御機器20に、状態タグを付与するか判断する。ステップS6の処理の詳細は、図8を用いて説明する。
ステップS7では、情報更新部114は、機器情報テーブル121の状態タグ情報121f(処理対象の被制御機器20の状態タグ情報121f)に格納された状態タグ(例えば、“在室中(夜)”)が、処理対象の被制御機器20(例えば、第1のエアコン20A)に付与されてからの経過時間t1を算出する。経過時間t1が予め定められた時間t0(例えば、2時間)を越えている場合(ステップS7:Yes)、処理はステップS8に進む。
経過時間t1が予め定められた時間t0を越えていない場合(ステップS7:No)、処理はステップS1に戻り、機器情報テーブル121に格納されている次の被制御機器20(例えば、第2のエアコン20B)を処理対象の被制御機器20として設定し、ステップS2以降の処理が行われる。機器情報テーブル121に格納されている全ての被制御機器20についてステップS1からステップS8までのループ処理が完了した場合、処理はステップS9に進む。
ステップS8では、情報更新部114は、機器情報テーブル121の状態タグ情報121f(処理対象の被制御機器20の状態タグ情報121f)に格納されている状態タグ(例えば、“在室中(夜)”)を削除する。機器情報テーブル121に格納されている全ての被制御機器20についてステップS1からステップS8までのループ処理が完了した場合、処理はステップS9に進む。
ステップS9に示されるループ処理では、グループ情報テーブル122に格納されている全てのグループに対して行われる。具体的には、グループID情報122aに格納されたグループID“j”のグループを、第2のグループとして設定し、ステップS10からステップS14までのループ処理が行われる。例えば、グループ情報テーブル122のNo.1のグループID情報122aに格納されたグループID“1”を、1番目の処理対象のグループとして、ステップS9からステップS14までのループ処理が開始される。
ステップ10では、情報更新部114は、処理対象のグループ(グループID=j;jは1以上の整数)についてのグループ別全日操作頻度Fall(j)を算出する。
ステップS11に示されるループ処理では、グループ情報テーブル122に格納されている全てのグループに対して行われる。具体的には、グループID情報122aに格納されたグループID“i”(iは1以上の整数)のグループを、第1のグループとして設定し、ステップS12からステップS14までのループ処理が行われる。ただし、j=iの場合は、実行されない。すなわち、本実施の形態では、ステップS11に示されるループ処理は、(j,i)=(1,2),(1,3),(1,4),(2,1),(2,3),(2,4),(3,1),(3,2),(3,4),(4,1),(4,2),及び(4,3)の12組に対して行われる。
ステップS12では、情報更新部114は、グループ別状態タグ別操作頻度Ftag(i,tag,j)を算出する。
ステップS13では、情報更新部114は、Ftag(i,tag,j)/Fall(j)によって算出された値F1が、閾値F0(例えば、10)以上であるか否かを判断する。
値F1が閾値以上である場合(ステップS13:Yes)、処理はステップS14に進む。値F1が閾値以上でない場合(ステップS13:No)、処理はステップS11に戻り、グループ情報テーブル122に格納されているグループID=2についてステップS12以降の処理が行われる。ステップ13の後、処理はステップS9に戻るか、ステップS11に戻るか、又はステップS15に進む。
ステップS14では、情報更新部114は、グループ情報テーブル122の連動グループ情報122cに格納されている情報を更新する。具体的には、情報更新部114は、連動グループ情報122cの欄に格納される情報を、ステップS13の判定において条件を満たした、第1のグループの状態タグ(tag)及び第2のグループのグループID(j)の組からなる情報に更新する。連動グループ情報122cの欄には、複数の組が格納されてもよい。例えば、No.2の連動グループ情報122cの欄には組A及び組Bが格納されている。
ステップS14の処理の後、処理は、ステップS11のループ処理に戻るか、ステップS9のループ処理に戻るか、又はステップS15に進む。
ステップS15では、被制御機器20に対する機器制御処理を行う。ステップS15の処理の詳細は、図9を用いて説明する。
ステップS15の処理が終わると、図7に示される連動制御の処理が終了する。
図8は、図7に示されるステップS6の処理(状態タグ付与判断処理)を示すフローチャートである。
ステップS6−1におけるループ処理(ステップS6−2からステップS6−17までの処理)は、状態タグ情報更新ルールテーブル124のNo.1からNo.m(mは1以上の整数)までの項目について繰り返される。本実施の形態では、状態タグ情報更新ルールテーブル124のNo.1からNo.18までの項目についてループ処理が繰り返される。
ステップS6−2では、情報更新部114は、状態タグ情報更新ルールテーブル124のNo.mの対象機器状態124eに情報が格納されているか否かを判断する。言い換えると、情報更新部114は、No.mの対象機器状態124e及び対象状態タグ124fのいずれに情報が格納されているかを判断する。
対象機器状態124eに情報が格納されている場合(ステップS6−2:Yes)、処理はステップS6−3に進む。対象機器状態124eに情報が格納されていない場合(ステップS6−2:No)、処理はステップS6−14に進む。
ステップS6−3では、情報更新部114は、No.kの被制御機器20(例えば、第1のエアコン20A)の機器種別(エアコン)が、状態タグ情報更新ルールテーブル124のNo.mの対象機器種別124bの欄に格納されている機器種別と一致するか判断する。一致する場合(ステップS6−3:Yes)、処理はステップS6−4に進む。一致しない場合(ステップS6−3:No)、処理はステップS6−11に進む。
ステップS6−4では、情報更新部114は、状態タグ情報更新ルールテーブル124のNo.mの対象時刻124cの欄が空欄か否か判断する。対象時刻124cの欄が空欄である場合(ステップS6−4:Yes)、処理はステップS6−6に進む。対象時刻124cの欄が空欄でない場合(ステップS6−4:No)、処理はステップS6−5に進む。
ステップS6−5では、情報更新部114は、現在時刻(Time1)が、状態タグ情報更新ルールテーブル124のNo.mの対象時刻124cに格納された時刻(Time2)の範囲内であるか判断する。例えば、現在時刻が20時であり、かつNo.kの被制御機器20が第1の照明20Eであるとき、情報更新部114は、現在時刻(20時)が、対象機器種別124b“照明”の対象時刻124c“18時−6時”の範囲内であるか判断する。
現在時刻が、対象時刻124cに格納された時刻の範囲内である場合(ステップS6−5:Yes)、処理はステップS6−6に進む。現在時刻が、No.mの対象時刻124cに格納された時刻の範囲内でない場合(ステップS6−5:No)、処理はステップS6−11に進む。
ステップS6−6では、情報更新部114は、状態タグ情報更新ルールテーブル124のNo.mの対象日付124dの欄が空欄か否か判断する。対象日付124dの欄が空欄である場合(ステップS6−6:Yes)、処理はステップ6−8に進む。対象日付124dの欄が空欄でない場合(ステップS6−6:No)、処理はステップS6−7に進む。
ステップS6−7では、情報更新部114は、現在の日付(Date1)が、状態タグ情報更新ルールテーブル124のNo.mの対象日付124dに格納された日付(期間)(Date2)の範囲内であるか判断する。現在の日付が、対象日付124dに格納された日付の範囲内である場合(ステップS6−7:Yes)、処理はステップS6−8に進む。現在の日付が、対象日付124dに格納された日付の範囲内でない場合(ステップS6−7:No)、処理はステップS6−11に進む。
ステップS6−8では、情報更新部114は、ステップS2で取得されたNo.kの被制御機器20の機器状態と、状態タグ情報更新ルールテーブル124のNo.mの対象機器状態124eに格納された機器状態とが一致するか判断する。一致する場合(ステップS6−8:Yes)、処理はステップS6−9に進む。一致しない場合(ステップS6−8:No)、処理はステップS6−11に進む。
ステップS6−9では、情報更新部114は、機器情報テーブル121のNo.kの状態タグ情報121fの欄に、状態タグ情報更新ルールテーブル124のNo.mの付与状態タグ124aに格納されている状態タグを追加する。
ステップS6−10では、情報更新部114は、ステップS6−9において状態タグを付与された被制御機器20と同じグループに属する他の被制御機器20の状態タグ情報121fの欄に、状態タグを追加する。
ステップS6−10の後は、ステップS6−1に戻り、状態タグ情報更新ルールテーブル124のNo.2についてステップS6−2以降の処理が再び繰り返される。本実施の形態では、状態タグ情報更新ルールテーブル124のNo.18までのループ処理が終わると、図8に示される処理(図7に示されるステップS6の処理)は終了する。
ステップS6−11では、情報更新部114は、状態タグ情報更新ルールテーブル124のNo.mの付与状態タグ124aに格納されている状態タグが既にNo.kの被制御機器20に付与されているか判断する。付与されている場合(ステップS6−11:Yes)、処理はステップS6−12に進む。付与されていない場合(ステップS6−11:No)、ステップS6−1のループ処理に戻るか又は図8に示される処理(図7に示されるステップS6の処理)を終了する。
ステップS6−12では、情報更新部114は、機器情報テーブル121のNo.kの状態タグ情報121fの欄から、状態タグ情報更新ルールテーブル124のNo.mの付与状態タグ124aに格納されている状態タグと同じ状態タグを削除する。
ステップS6−13では、情報更新部114は、No.kの被制御機器20と同じグループに属する被制御機器20の状態タグ情報121fの欄から、ステップ6−12で削除された状態タグと同じ状態タグを削除する。ステップS6−13の後は、ステップS6−1のループ処理に戻るか又は図8に示される処理(図7に示されるステップS6の処理)を終了する。
ステップS6−14におけるループ処理は、(ステップS6−15からステップS6−17までの処理)は、グループ情報テーブル122のNo.1からNo.n(nは1以上の整数)までの項目について繰り返される。本実施の形態では、グループ情報テーブル122のNo.1からNo.4までループ処理が繰り返される。
ステップS6−15では、情報更新部114は、状態タグ情報更新ルールテーブル124のNo.mの対象状態タグ124fに格納されている状態タグが、グループ情報テーブル122のNo.n(nは1以上の整数)の連動グループ情報122cに格納されている状態タグのいずれかと一致するか判断する。
一致する場合(ステップS6−15:Yes)、処理はステップS6−16に進む。一致しない場合(ステップS6−15:No)、処理はステップS6−14のループ処理に戻るか、ステップS6−1のループ処理に戻るか、又は図8に示される処理(図7に示されるステップS6の処理)を終了する。
ステップS6−16では、情報更新部114は、No.kの被制御機器20が属するグループ(例えば、第1のグループ)のグループID(No.kのグループID情報121e)が、グループ情報テーブル122のNo.nのグループID情報122aに格納されたグループID(例えば、第1のグループ)と一致するか判断する。
一致する場合(ステップS6−16:Yes)、処理はステップS6−17に進む。一致しない場合(ステップS6−16:No)、処理はステップS6−14のループ処理に戻るか、ステップS6−1のループ処理に戻るか、又は図8に示される処理(図7に示されるステップS6の処理)を終了する。
ステップS6−17では、情報更新部114は、ステップS6−15で一致した状態タグと組となって連動グループ情報122cに格納されているグループIDによって示されるグループ(例えば、第2のグループ)と同じグループに属する全ての被制御機器20の状態タグ情報121fの欄に、状態タグ情報更新ルールテーブル124のNo.mの付与状態タグ124aに格納されている状態タグを追加する。これにより、例えば、通常、特定のグループに属する被制御機器20(具体的には、状態タグ情報121f)に付与される状態タグを、関連性の高い他のグループに属する被制御機器20(具体的には、状態タグ情報121f)に付与することができる。
ステップS6−17の後、ステップS6−14のループ処理に戻るか、ステップS6−1のループ処理に戻るか、又は図8に示される処理(図7に示されるステップS6の処理)を終了する。
図9は、図7に示されるステップS15の処理(機器制御処理)を示すフローチャートである。
ステップS15−1におけるループ処理(ステップS15−2からステップS15−10までのループ処理)は、機器情報テーブル121に格納された全ての被制御機器20に対して行われる。すなわち、ステップS15−1におけるループ処理は、機器情報テーブル121のNo.1からNo.p(pは1以上の整数)までの被制御機器20について繰り返される。本実施の形態では、機器情報テーブル121のNo.1からNo.12までの被制御機器20についてループ処理が繰り返される。
ステップS15−2におけるループ処理(ステップS15−3からステップS15−10までのループ処理)は、連動制御ルールテーブル123のNo.1からNo.q(qは1以上の整数)までの項目について繰り返される。本実施の形態では、連動制御ルールテーブル123のNo.1からNo.11までの項目についてループ処理が繰り返される。
ステップS15−3では、制御内容選択部115は、連動制御ルールテーブル123のNo.1の有効無効情報123aに格納されている情報が“有効”であるか否かを判断する。“有効”である場合(ステップS15−3:Yes)、処理はステップS15−4に進む。“有効”でない場合、すなわち、無効である場合(ステップS15−3:No)、ステップS15−1のループ処理に戻るか、ステップS15−2のループ処理に戻るか、又は図9に示される処理(図7に示されるステップS15の処理)を終了する。
ステップS15−4では、制御内容選択部115は、連動制御ルールテーブル123のNo.qの対象状態タグ123bに格納された状態タグが、No.pの被制御機器20に付与されている状態タグ(すなわち、No.pの状態タグ情報121fの状態タグ)のいずれかと一致するか判断する。一致する状態タグがある場合(ステップS15−4:Yes)、処理はステップS15−5に進む。一致する状態タグがない場合(ステップS15−4:No)、ステップS15−1のループ処理に戻るか、ステップS15−2のループ処理に戻るか、又は図9に示される処理(図7に示されるステップS15の処理)を終了する。
ステップS15−5では、制御内容選択部115は、No.pの被制御機器20の機器種別121bと、連動制御ルールテーブル123のNo.qの対象機器種別123cに格納されている機器種別とが一致するかを判断する。一致する場合(ステップS15−5:Yes)、処理はステップS15−6に進む。一致しない場合(ステップS15−5:No)、ステップS15−1のループ処理に戻るか、ステップS15−2のループ処理に戻るか、又は図9に示される処理(図7に示されるステップS15の処理)を終了する。
ステップS15−6では、制御内容選択部115は、連動制御ルールテーブル123のNo.qの対象時刻123dの欄が空欄かどうかを判断する。空欄である場合(ステップS15−6:Yes)、処理はステップ15−8に進む。空欄でない場合(ステップS15−6:No)、処理はステップS15−7に進む。
ステップS15−7では、制御内容選択部115は、現在時刻(Time1)が、連動制御ルールテーブル123のNo.qの対象時刻123dに格納された時刻(Time3)の範囲内であるか判断する。対象時刻123dに格納された時刻の範囲内である場合(ステップS15−7:Yes)、処理はステップS15−8に進む。対象時刻123dに格納された時刻の範囲内でない場合(ステップS15−7:No)、ステップS15−1のループ処理に戻るか、ステップS15−2のループ処理に戻るか、又は図9に示される処理(図7に示されるステップS15の処理)を終了する。
ステップS15−8では、制御内容選択部115は、連動制御ルールテーブル123のNo.qの対象日付123eの欄が空欄かどうか判断する。空欄である場合(ステップS15−8:Yes)、処理はステップ15−10に進む。空欄でない場合(ステップS15−8:No)、処理はステップS15−9に進む。
ステップS15−9では、制御内容選択部115は、現在の日付(Date1)が、連動制御ルールテーブル123のNo.qの対象日付123eに格納された日付(期間)(Date3)の範囲内であるか判断する。対象日付123eに格納された日付の範囲内である場合(ステップS15−9:Yes)、処理はステップS15−10に進む。対象日付123eに格納された日付の範囲内でない場合(ステップS15−9:No)、ステップS15−1のループ処理に戻るか、ステップS15−2のループ処理に戻るか、又は図9に示される処理(図7に示されるステップS15の処理)を終了する。
ステップS15−10では、制御内容選択部115は、連動制御ルールテーブル123のNo.qの制御内容123fの欄に格納されている機器制御命令及び機器制御命令の送信先の少なくとも1つの被制御機器20を選択し、命令送信部116に送信する。命令送信部116は、制御内容選択部115から受信した機器制御命令を、通信部111を介してNo.qの被制御機器20(制御内容選択部115によって選択された少なくとも1つの被制御機器20)に送信する。制御内容123fの欄に複数の機器制御命令が格納されている場合、1つずつ順番に機器制御命令が送信される。例えば、No.1(q=1)の場合、機器制御命令“電源:入”がNo.1の被制御機器20(例えば、浴室換気乾燥機20J)に送信され、続いて、機器制御命令“運転モード:送風”がNo.1の被制御機器20に送信される。
ステップS15−10の後、ステップS15−1のループ処理に戻るか、ステップS15−2のループ処理に戻るか、又は図9に示される処理(図7に示されるステップS15の処理)を終了する。
実施の形態に係る機器制御装置10、及び機器制御装置10を含む機器制御システム1、及び機器制御システム1における機器制御方法により得られる効果について説明する。
機器制御装置10の制御部110は、制御ルール情報に基づいて機器制御命令の送信先の少なくとも1つの被制御機器20を、複数の被制御機器20の中から選択し、選択された1又は複数の被制御機器20に制御命令を送信するので、ユーザの利便性の高い機器制御装置10、機器制御システム1、及び機器制御システム1における機器制御方法を提供することができる。
例えば、連動制御の基準となる基準機器及び、基準機器の動作(状態)と連動するように制御される制御対象機器が、いずれも固定されないので、任意の被制御機器20に対して遠隔制御を行うことができる。
さらに、複数の被制御機器20の各々が、互いに異なる部屋に設置された場合であっても、任意の被制御機器20の状態(状態タグの付与状況又は機器状態)に応じて、他の部屋に設置された被制御機器20の遠隔制御を行うことができる。
実施の形態では、情報更新部114が、被制御機器20に対して状態タグを付与し、状態タグに基づいて制御内容選択部115が被制御機器20の制御内容を決定する。ここで、状態タグを付与する際に、情報更新部114は、機器状態だけでなく、グループ情報テーブル122、特に連動グループ情報122cを参照し、状態タグの付与条件の判断を行う。これにより、ある被制御機器20(例えば、第1のグループの被制御機器20)の状態が変化した際に、他のグループに属する被制御機器20(例えば、第2のグループの被制御機器20)を制御することが可能となる。
また、連動制御において参照される連動グループ情報122cは、グループの関連性の高さを示す。具体的には、連動制御において参照される連動グループ情報122cは、あるグループの被制御機器20(例えば、第1のグループの被制御機器20)に特定の状態タグが付与されている状態において、使用される頻度の高い被制御機器20を含むグループ(例えば、第2のグループ)を表す。これにより、実際に使用されているグループの被制御機器20(例えば、第2のグループの被制御機器20)を連動制御の対象として選択することができ、関連性の低い被制御機器20(例えば、第3のグループの被制御機器20)に対して遠隔制御が行われることを防止できる。
さらに、ある被制御機器20(例えば、第1のグループの被制御機器20)にいずれかの状態タグが付与された場合に、その被制御機器20(例えば、第1のグループの被制御機器20)と同じグループに属する他の被制御機器20にも同じ状態タグが付与される。これにより、使用されているグループの全ての被制御機器20に状態タグが付与され、連動制御の判断の対象とすることができるので、連動制御の対象から外れることを防止することができる。
また、状態タグが付与されて一定時間経つなど、状態タグが削除される条件を満たした場合に、状態タグを削除する代わりに、他の状態タグに変更させることもできる。これにより、あるグループの被制御機器20の使用が終わった後に、異なるグループの被制御機器20を制御するなど、異なる制御タイミング(機器制御命令の異なる送信タイミング)による連動制御が可能となる。
また、被制御機器20を連動制御させるための判断条件は、状態タグに基づいて設定される。状態タグに、例えば、“入浴後”など、ユーザにとって認識しやすい文字列を対応させることで、ユーザが判断条件の有効無効の設定をする場合でも、被制御機器20の詳細な状態又は複雑な判断条件を意識することなく設定ができる。
変形例.
図10は、変形例に係る機器制御装置における制御部110aの構成を示すブロック図である。制御部110aは、実施の形態1に係る機器制御装置10における制御部110に適用可能である。
制御部110aは、CPU(Central Processing Unit)等のプロセッサ110b、ROM(Read Only Memory)110c、及びRAM(Random Access Memory)110dを有する。ROM110cには機器制御装置内の構成要素を制御するためのプログラム等が格納されている。RAM110dは、ROM110cに格納されたプログラム等をロードする記憶領域として用いられる。プロセッサ110bは、例えば、RAM110dにプログラムをロードしてプログラムを実行することにより、制御部110aの機能を実現する。例えば、実施の形態1で説明した情報取得部112、情報更新部114、命令送信部116、及び制御内容選択部115の各々の機能は、プロセッサ110bがROM110cに格納されたプログラムを実行することにより、実現される。