(本発明の基礎となった知見)
宅内に複数のコントローラがある場合は、機器は一定の時間間隔内に複数のコントローラから制御要求を受け付けることがある。したがって、コントローラが自身の保存する機器制御の履歴に基づき、順次に機器を制御したとしても、実際には適切な時間間隔が空けられているとは限らない。機器は、安全上或いは法律上の観点から、一定の時間間隔を空けて制御要求を実行することが定められている。
特許文献1は、履歴を参照して機器が制御されているものの、単独のコントローラによる制御が前提とされているので、複数のコントローラによる制御の競合が発生したときに、機器を適切に制御できないという問題がある。
特許文献2は、リモコンからの制御命令とネットワークインターフェースからの制御命令とが競合した場合、予め定められた優先度にしたがって、一方の制御命令を選択し、制御対象機器を制御する。このように、特許文献2は、予め定められた優先度にしたがって制御命令が選択されており、機器制御の履歴に基づいて制御命令を選択することは行われていない。
特許文献3は、コントローラリストが定期的に生成されているので、コントローラリストの生成直後に、いずれのコントローラからも制御されていなかった機器があるコントローラによって制御されたとしても、その情報をコントローラリストに反映させることはできない。そのため、当該機器への制御の競合を回避できないという問題がある。
本開示は、複数のコントローラが存在する場合であっても、競合が発生しないように機器を適切に制御する技術を提供することを目的とする。
本開示の一態様による制御方法は、ネットワークに接続され、当該ネットワークに接続された機器を制御する複数の制御装置が行う制御方法であって、
前記複数の制御装置の1つである第1制御装置が、前記複数の制御装置の中の他の制御装置が機器を制御した時に、他の制御装置から、機器制御の履歴を受信する履歴受信ステップと、
前記他の制御装置から受信した前記機器制御の履歴を、当該第1制御装置における機器制御の履歴に加えた共有履歴として保存する保存ステップと、
前記第1制御装置が、ユーザによる前記機器への制御要求の入力を受信する要求受信ステップと、
前記第1制御装置が、前記共有履歴に基づき、前記受信した制御要求に基づく前記機器の制御が可能か否かを判定する判定ステップと、
前記第1制御装置が、前記受信した制御要求に基づく前記機器の制御が可能と判定した場合、当該機器へ制御コマンドを送信するコマンド送信ステップと、
を実行する。
本態様によれば、他の制御装置が前記機器を制御したときに、第1制御装置は他の制御装置から機器制御の履歴を受信する。そして、第1制御装置は、受信した機器制御の履歴を、自身の機器制御の履歴と合わせて共有履歴として保存する。そのため、第1制御装置は、共有履歴を参照して、現在、機器がどの制御装置によって制御されているかを把握することができ、競合が発生しないように機器を適切に制御できる。
また、上記態様において、前記判定ステップでは、前記機器が最後に制御されてから予め設定された所定時間が経過していれば、前記機器の制御が可能と判定してもよい。
本態様によれば、受信した制御要求の対象である機器が、最後に制御されてから予め設定された所定時間が経過していれば、機器の制御が可能と判定されるので、所定時間間隔を空けて機器を制御できる。そのため、一定の時間間隔を空けて機器を制御しなければならないという法規制を遵守できると共に、機器を安全に稼働させることができる。
また、上記態様において、前記判定ステップにおいて、前記機器の制御が不可能であると判定された場合、
前記ユーザから前記制御要求の入力を受信した制御装置が備える表示部または当該制御装置とネットワークにより接続された表示装置が、当該機器の制御が不可能である旨を表示する表示ステップを更に実行してもよい。
本態様によれば、機器の制御が不可能であると判定された場合、そのことがユーザに報知されるので、この機器は、現在、制御不可能であることをユーザに知らせることができる。その結果、ユーザによって不適切な制御要求が入力されることを防止できる。
上記態様において、前記表示ステップでは、さらに、前記機器が制御可能になるまでの時間を表示してもよい。
本態様によれば、機器が制御可能になるまでの時間が表示されるので、制御不可の場合のユーザの不快感を軽減できる。また、制御不可の期間にユーザにより制御要求が入力されることを防止し、この期間に制御要求を受け付けることによる処理負荷を軽減できる。
上記態様において、前記表示ステップでは、さらに、前記機器が制御可能となった時に前記受信した制御要求に基づく前記機器の制御を自動で実行するか否かの回答の入力をユーザに促す情報を表示し、
前記コマンド送信ステップでは、前記機器の制御を自動で実行する旨の入力を受け付けた場合、前記第1制御装置が、前記受信した制御要求を保留し、前記制御可能になるまでの時間経過後に、当該機器へ制御コマンドを送信してもよい。
本態様によれば、制御可能となる時間が経過した時に、入力した制御要求に対応する制御コマンドが自動的に送信されるので、制御要求の再入力の手間を省くことができる。また、制御要求に対応する制御コマンドの自動送信の有無をユーザに選択させることもできる。
また、上記態様において、前記表示ステップでは、さらに、前記機器の現在の状態を表示してもよい。
本態様によれば、機器の制御が不可能であると判定された場合、機器の現在の状態が表示されるので、機器の制御を行うか否かの判断材料をユーザに提示できる。
また、上記態様において、前記第1制御装置が、前記第1制御装置と同一の機能を備えていない、前記第1制御装置とは異種の制御装置を、前記異種の制御装置から送信される通信データに含まれる情報を用いて検出する検出ステップと、
前記異種の制御装置が検出された場合、前記ユーザから前記制御要求の入力を受信した制御装置が備える表示部または当該制御装置とネットワークにより接続された表示装置が、前記異種の制御装置が存在する旨を表示する存在表示ステップとを更に実行してもよい。
本態様によれば、第1制御装置と同一の機能を備えていない、第1制御装置とは異種の制御装置が検出された場合、その旨がユーザに報知されるので、ネットワークに異種の制御装置があることをユーザに報知できる。
また、上記態様において、前記第1制御装置は、前記コマンド送信ステップにおいて前記制御コマンドを送信した場合、当該制御コマンドに関する情報を前記他の制御装置に送信してもよい。
本態様によれば、第1制御装置により制御コマンドに関する情報が他の制御装置に送信されるので、第1制御装置による機器制御の履歴を、他の制御装置と共有できる。
また、本発明に係る他の制御方法は、ネットワークに接続され、当該ネットワークに接続された機器を制御する複数の制御装置が行う制御方法であって、
前記複数の制御装置は、前記複数の制御装置の1つである第1制御装置と、前記第1制御装置とは異なる1以上の他の制御装置とを含み、
前記他の制御装置の1つである第2制御装置が、ユーザによる前記機器への制御要求の入力を受信する要求受信ステップと、
前記第2制御装置が、前記制御要求を前記第1制御装置に送信する要求送信ステップと、
前記第1制御装置が、前記第2制御装置から送信された前記制御要求を受信する要求受信ステップと、
前記受信された前記制御要求を、前記第2制御装置における機器制御の履歴として、前記第1制御装置における機器制御の履歴に加え、共有履歴として保存する保存ステップと、
前記第1制御装置が、前記共有履歴に基づき、前記受信した制御要求に基づく前記機器の制御が可能か否かを判定する判定ステップと、
前記第1制御装置が、前記受信した制御要求に基づく前記機器の制御が可能と判定した場合、当該機器へ制御コマンドを送信するコマンド送信ステップと、
を実行する。
本態様によれば、第2制御装置においてユーザにより制御要求が入力されると、その制御要求は第1制御装置に送信される。第1制御装置は、その制御要求を受信すると、受信した制御要求を第2制御装置における機器制御の履歴として、自身の機器制御の履歴に加え、共有履歴として保存する。そのため、第1制御装置は、共有履歴を参照して、現在、機器がどの制御装置によって制御されているかを把握することができ、競合が発生しないように機器を適切に制御できる。また、第2制御装置において入力された制御要求は、第1制御装置に送信された上で、機器に制御コマンドが送信されるので、第1制御装置のみが共有履歴を管理すればよく、他の制御装置は共有履歴を持つ必要はない。
また、上記態様において、前記判定ステップにおいて、前記機器の制御が可能であると判定された場合、
前記第2制御装置が備える表示部または当該第2制御装置とネットワークにより接続された表示装置が、前記機器の制御が可能であることを示す情報を表示し、
前記第2制御装置以外の他の制御装置または当該第2制御装置以外の他の制御装置とネットワークにより接続された表示装置が、当該機器の制御が不可能である旨を表示してもよい。
本態様によれば、第2制御装置による機器の制御が可能な場合、第2制御装置が備える表示部または第2制御装置とネットワークにより接続された表示装置が、機器の制御が可能であることを示す情報を表示するので、第2制御装置に対応するユーザに、機器の制御が可能であることを知らせることができる。
一方、第2制御装置以外の他の制御装置または第2制御装置以外の他の制御装置とネットワークにより接続された表示装置が、当該機器の制御が不可能である旨を表示するので、第2制御装置以外の他の制御装置に対応するユーザに、機器の制御が不可能であることを知らせることができる。
本開示は、以上のような特徴的な処理を実行する制御方法として実現することができるだけでなく、制御方法に含まれる特徴的なステップを実行するための処理部を備える制御装置などとして実現することもできる。また、このような制御方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、CD−ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、及びステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
(全体構成)
まず、本開示の実施の形態における制御装置を備える機器制御システムの全体構成について、説明する。図1は、本開示の実施の形態における制御装置を備える機器制御システムが宅内に適用された場合の機器制御システムの全体構成の一例を示す図である。機器制御システムは、例えば2つのコントローラ1(第1制御装置及び第2制御装置の一例)を備える。以下、2つのコントローラ1を区別して記載する場合、一方のコントローラ1をコントローラ1Aと記載し、他方のコントローラをコントローラ1Bと記載する。また、図1では、2つのコントローラ1が示されているが、これは一例にすぎず、機器制御システムは、3つ以上のコントローラで構成されていてもよい。
コントローラ1は、コントローラ本体2と、ユーザが操作を行うユーザ端末3とを備える。宅内にはネットワーク20がある。ネットワーク20は、コントローラ1と、コントローラ1から制御される機器である、冷蔵庫11、エアコン12、及び照明機器13とを相互に接続する。これらの機器はネットワーク20から予め定められた制御コマンドを受信することで、制御される。図1では、機器として、冷蔵庫11、エアコン12、及び照明機器13の家電機器が示されているが、これは一例にすぎず、これら以外のテレビ、洗濯機、電子レンジ、レコーダ、或いはオーディオ機器等が家電機機器として採用されてもよい。また、図1では、機器が宅内に設置されているので、機器は家電機器と称されているが、本開示における機器制御システムがオフィス等の宅内以外に環境下に適用されるのであれば、機器は単に機器と称される。
ユーザは、ユーザ端末3を操作し、冷蔵庫11、エアコン12、照明機器13を制御する。ここで言う制御とは、例えば、機器の電源をON/OFFする制御や、エアコン12の設定温度を変更する制御や、照明機器13の明るさを変更する制御などが該当する。ユーザは、ユーザ端末3に機器を制御するための制御要求を入力することにより、遠隔から機器を制御することができる。
ユーザ端末3は、コントローラ本体2と一体的に構成されていても良いし、別体で構成されていてもよい。別体で構成されている場合、ユーザ端末3は、ネットワーク20を通じて、ユーザが入力した制御要求をコントローラ本体2に送信すればよい。また、ユーザ端末3は、宅内にある必要はない。宅外のネットワークやサーバを通じて、宅外からコントローラ1に制御要求を送信してもよい。
ネットワーク20は、例えば、宅内に設置されたローカルエリアネットワーク(LAN)であり、有線、無線は問わない。ネットワーク20としては、例えばIEEE802.3シリーズの有線LAN若しくは例えばIEEE802.11シリーズの無線LAN、又は両者が混在するLANが採用できる。
図2A、図2Bは、コントローラ本体2及びユーザ端末3のハードウェアの構成の一例を示す図である。図2Aは、コントローラ本体2及びユーザ端末3が一体的に構成された場合のコントローラ1のハードウェア構成の一例を示す。図2Bは、コントローラ本体及びユーザ端末3が別体で構成された場合のコントローラ1のハードウェア構成の一例を示す。
図2Aにおいて、コントローラ本体2は、中央演算装置(CPU)31、ランダムアクセスメモリなどのメモリ32、ハードディスクやフラッシュROMなどの外部記憶装置33を含み、一般的な計算機の構成をとる。さらに、図2Aのコントローラ本体2は、ネットワーク20へ接続するためのネットワークインターフェイス34をもつ。ネットワークインターフェイス34は、例えば有線のLANにコントローラ1を接続するためのLANカードや、Wi−Fi等の無線通信ネットワークにコントローラ1を接続するための通信装置などで構成される。
入力装置35は、例えばスイッチやキーボードなどの入力装置で構成され、出力装置36はディスプレイなどの表示装置で構成されている。なお、ユーザ端末3が、コントローラ1がタッチパネルを備える機器で構成されているのであれば、入力装置35及び出力装置36は、タッチパネルによって一体的に構成される。図2Aにおいて、コントローラ1は、例えば、機器に実装されてもよいし、ゲートウェイ等の専用の通信装置に実装されてもよいし、ホームサーバ等の専用の装置に実装されてもよい。
図2Bの例では、ユーザ端末3は、例えばタブレット端末等のコントローラ本体2とは独立した情報処理装置で構成され、CPU31、メモリ32、外部記憶装置33、ネットワークインターフェイス34、入力装置35、及び出力装置36を備える。なお、図2Bのユーザ端末3は、スマートフォンなどの携帯可能な情報処理装置で構成されていてもよい。図2Bにおいて、コントローラ本体2は、例えば、機器に実装されてもよいし、ゲートウェイ等の通信装置に実装されてもよいし、ホームサーバ等の専用の装置に実装されてもよい。また、ユーザ端末3は、「制御装置とネットワークにより接続された表示装置」の一例に相当する。
図1に参照を戻す。図1において、コントローラ本体2は、機器制御部101(要求受信部の一例)、制御情報通信部102(制御情報送信部の一例)、履歴保存部103、及び制御可否判定部104を備え、ユーザ端末3は、操作部201及び表示部202を備える。機器制御部101、制御情報通信部102、履歴保存部103、及び制御可否判定部104は、CPU31等のプロセッサがソフトウェアを実行することで実現されるが、これは一例である。機器制御部101、制御情報通信部102、履歴保存部103、及び制御可否判定部104は、集積回路であるLSIや専用回路(ASIC或いはFPGA)などのハードウェアにより実現されてもよい。
操作部201は、入力装置35に対してユーザが入力した制御要求を受け受け、コントローラ本体2に、受け付けた制御要求を出力する。表示部202は、出力装置36(図2A、及び図2B)で構成され、コントローラ本体2から通知された機器の状態などの情報をユーザに提示する。
機器制御部101は、ユーザによる制御要求がユーザ端末3を介して入力されると、ネットワーク20を通じて、制御要求を実現するための制御コマンドを制御対象の機器へ送信する。これによりユーザの制御要求に応じて、機器は制御される。
制御情報通信部102は、複数のコントローラ1との間で、機器制御の情報を通信する。機器制御の情報とはどの機器にどのような制御を行うかを示す情報である。
履歴保存部103は、自身のコントローラ1が行う機器制御の履歴と、制御情報通信部102で受信された他のコントローラ1が行う機器制御の履歴とを含む共有履歴を保存する。
図3は、履歴保存部103が記録する共有履歴T3の一例を示す図である。共有履歴T3は、「機器ID」、「制御時刻」、「種別」、「型番」、「制御内容」、及び「ユーザ」を対応付けて記憶する。
「機器ID」は、宅内の機器を一意に識別するための識別子である。「機器ID」は、宅内の複数のコントローラ1の間で共有されている。つまり、同一の「機器ID」は、どのコントローラ1でも同一の機器を示す。「機器ID」としては、例えば、機器のネットワーク20上での通信アドレスや、機器固有の製造番号などが採用できる。
「制御時刻」は、機器が制御がされた時刻を示す。なお、共有履歴T3は、「制御時刻」として、各機器について、少なくとも最後に制御された時刻を記憶していればよい。
「種別」は、「エアコン」、「照明」というような機器の種類を示す。「型番」は、商品分類上、機器に付与される記号列である。「制御内容」は、機器に対して行われた制御の内容である。例えば、エアコン12に対して「温度変更」、照明機器13に対して「電源ON」、冷蔵庫11に対して「ドアを開く」或いは「ドアを閉じる」というような情報が「制御内容」に該当する。
「ユーザ」は、機器に対して制御要求を行ったユーザ名を示す。図1に示す機器制御システムは、例えば、ユーザ名とパスワードとが関連付けられたユーザアカウント情報を管理している。そして、ユーザは、機器制御システムを利用する際、ユーザ名とパスワードとを入力し、機器制御システムにログインする。したがって、機器制御システムは、ログイン時により入力されたユーザ名から制御要求を入力したユーザのユーザ名を特定できる。
図1に参照を戻す。制御可否判定部104は、共有履歴T3に基づき、機器制御部101が行う制御が可能か否かを判定する。具体的には、制御可否判定部104は、ある機器に対する制御要求を機器制御部101が受け付けると、その機器が最後に制御された「制御時刻」及び「制御内容」を共有履歴T3から取得する。そして、制御可否判定部104は、取得した「制御時刻」から、取得した「制御内容」に応じて予め定められた時間間隔が経過していなければ、制御要求に対する制御が不可能と判定する。
この場合、制御可否判定部104は、制御可能になるまでの残り時間を合わせて算出してもよい。具体的には、制御可否判定部104は、取得した「制御時刻」に、取得した「制御内容」に応じて予め定められた時間間隔を加算した時刻から、現時刻を差し引くことで残り時間を算出すればよい。
一方、制御可否判定部104は、共有履歴T3から取得した「制御時刻」から、取得した「制御内容」に応じて予め定められた時間間隔が経過していれば、制御要求に対する制御が可能と判定する。
制御可否判定部104は、制御不可能と判定した場合、機器に対して、制御要求に対応する制御コマンドを送信しない。そして、制御可否判定部104は、表示部202に制御不可能であること及び制御可能になるまでの残り時間を表示する。この場合、制御可否判定部104は、制御が可能になるまで制御要求を保留し、制御が可能になると、制御コマンドを自動的に送信してもよい。これにより、機器が最後に制御されてから、必要な時間間隔が経過する前に、その機器へ制御コマンドが送信されることが防止される。
図4Aは、ユーザが制御要求を入力するために用いられる機器制御画面301の一例を示す図である。図4Aに示す機器制御画面301では、宅内に設置された冷蔵庫11、エアコン12、及び照明機器13を示す冷蔵庫アイコン311、エアコンアイコン312、及び照明アイコン313が配置されている。
制御可否判定部104は、上述したように、共有履歴T3を用いて、機器が、現在、制御可能か否かを判定できる。図4Aの上図は、初期状態の機器制御画面301を示している。図4Aの上図に示すように、初期状態の機器制御画面301においては、全てのアイコンが通常の表示態様で表示されている。ここで、通常の表示態様とは、アイコンが所定のデフォルトの輝度を持つ状態で表示される態様が該当する。
例えば、コントローラ1Aが、ユーザからエアコン12に対する制御要求を受け付けたときに、コントローラ1Bによるエアコン12の制御履歴が共有履歴T3に記憶されており、コントローラ1Aの制御可否判定部104が、エアコン12の制御が不可能と判定したする。この場合、コントローラ1Aの表示部202は、機器制御画面301の表示を図4Aの下図に切り替える。
図4Aの下図は、エアコン12が制御不可能と判定された場合の機器制御画面301を示している。図4Aの下図の例では、例えば、機器制御画面301は、エアコンアイコン312を通常の表示態様よりも低い輝度で表示することで、エアコン12が制御不可能であることを示す。この例では、エアコンアイコン312が白色から灰色に切り替えて表示されている。これにより、ユーザは、現在、エアコン12は制御不可能であることを認識できる。その結果、制御不可能の状態にあるエアコン12に対して、ユーザが制御要求を入力することを防止できる。なお、制御不可能である時間が経過し、エアコン12が制御可能になったとすると、コントローラ1Aの表示部202は、機器制御画面301を図4Aの下図に示す機器制御画面301から上図に示す機器制御画面301に切り替える。これにより、ユーザは、エアコン12が制御可能になったことを認識できる。
図4Bは、別の一例の機器制御画面302を示す図である。機器制御画面302は機器制御画面301に対して、更に、機器制御欄321が設けられている。機器制御欄321は、エアコンの設定温度を変更する制御要求を入力するために用いられる。なお、機器制御画面302においては、表示部202はタッチパネルで構成されている。機器制御欄321は、設定温度を上昇させるための「温度高」と記載された温度上昇ボタンB41と、設定温度を低下させるための「温度低」と記載された温度低下ボタンB42と、設定温度を表示するための温度表示欄B43とを備えている。ユーザは温度上昇ボタンB41或いは温度低下ボタンB42をタップし、温度表示欄B43に表示される設定温度を変更することで、エアコン12の設定温度を変更する。
図4Bにおいて、エアコン12の機器制御欄321が表示されているのは、例えば、ユーザがエアコンアイコン312をタップして、エアコン12に制御要求を入力する意思を明示したからである。エアコン12以外の冷蔵庫11或いは照明機器13に対して制御要求を入力したい場合、ユーザは、冷蔵庫アイコン311或いは照明アイコン313をタップすればよい。この場合、冷蔵庫11或いは照明機器13の機器制御欄321が表示されることになる。
図4Bの上図に示す機器制御画面302を用いて設定温度を入力したが、制御可否判定部104により制御不可能と判定された場合、表示部202は、図4Bの上図に示す機器制御画面302から図4Bの下図に表示を切り替える。
図4Bの下図の機器制御画面302は、図4Aの下図の機器制御画面301に対して、更に、制御不可能通知欄331が配置されている。
制御不可能通知欄331には、「現在このコントローラから操作不可です。xxが温度を上げました。あと10秒操作できません。」とのメッセージが表示されている。ここで、「xx」は、エアコン12を制御したユーザの名称を示す。また、「10秒」はエアコン12が制御可能になるまでの残り時間を示す。
このように、制御不可能通知欄331は、制御が不可能である旨の情報に加えて、どのユーザの制御要求によりエアコン12の制御が不可能であるかを示す情報と、エアコン12が制御可能になるまでの残り時間とを表示する。これにより、制御不可能である理由と残り時間とを、制御要求が許可されなかったユーザに知らせることが可能となり、このユーザの不快感を軽減できる。
また、制御不可能通知欄331は、ユーザが制御要求を入力する際にユーザが任意のメッセージを入力するメッセージ入力欄(図略)を備えていてもよい。この場合、メッセージが入力されたコントローラ1は、自身の共有履歴T3に入力されたメッセージを記憶させると共に、入力された制御要求と合わせてこのメッセージを他のコントローラ1に送信すればよい。そして、他のコントローラ1は受信したメッセージを自身の共有履歴T3に記憶させればよい。そして、他のコントローラ1は、ユーザから制御要求が入力され、自身の制御可否判定部104が制御不可能と判定した場合、このメッセージを共有履歴T3から読み出して、制御不可能通知欄331に表示してもよい。
これにより、異なるユーザ同士で制御要求の意図などを共有させることができ、制御不可能な場合にユーザに与える不快感をより軽減させることができる。ここで、メッセージはユーザが入力可能として説明したが、予め用意された複数のメッセージの中から所望のメッセージをユーザが選択可能な形態が採用されてもよい。
制御不可能通知欄331は、残り時間が経過してエアコン12が制御可能になった時点で、入力した制御要求を自動実行してもよいか否かの選択をユーザに促すための選択欄332を備えている。選択欄332には、「10秒後にこの操作を行いますか?」とのメッセージが表示され、制御要求を自動実行してよいか否かの選択がユーザに促されている。
選択欄332には、更に、「YES」ボタンと「NO」ボタンとが配置されている。残り時間が経過したときに、入力した制御要求を自動実行することを希望する場合、ユーザは「YES」ボタンを選択する。一方、残り時間が経過したときに、入力した制御要求を自動実行することを希望しない場合、ユーザは「NO」ボタンを選択する。「YES」ボタンが選択されると、残り時間が経過したときに自動的に制御要求が実行されるので、ユーザは、再度、制御要求を入力する必要がなくなり、ユーザの操作負担を軽減できる。
一方、制御不可能通知欄331を見て、制御要求を再度入力したいユーザや、状態表示欄333の内容から制御要求を自動実行する必要がないと判断するユーザもいる。この場合、このユーザは、「NO」ボタンを選択し、残り時間が経過したときに、制御要求を自動実行されないようにすることができる。その結果、このようなユーザのニーズに柔軟に応えることができる。
制御不可能通知欄331は、ユーザが入力した制御要求に関する機器の現在の状態を表示するための状態表示欄333を更に備えている。ここでは、ユーザはエアコン12に対して設定温度を変更する制御要求を入力したので、状態表示欄333は、「現在温度は27度になっています。」とのメッセージを表示して、エアコン12の現在の設定温度をユーザに報知している。
エアコン12の制御が不可能な場合、直前に別のコントローラ1からエアコン12の温度を変更する制御要求が入力されている可能性がある。その場合、エアコン12の現在の設定温度がユーザが想定する設定温度と異なっている可能性がある。そこで、状態表示欄333に、エアコン12の最新の状態を表示することで、ユーザが制御要求を改めて行うか否かを判断するための判断材料を提供することができる。なお、コントローラ1は、共有履歴T3を参照することで、エアコン12の現在の状態を取得してもよいし、ネットワーク20を介してエアコン12と直接通信することで、エアコン12の現在の状態を取得してもよい。
ユーザは、エアコン12の制御要求として設定温度の変更以外の制御要求(例えば、電源ON、動作モードの切り替え)の入力を希望することもある。この場合、図4Bの上図に示す、機器制御欄321に、他の制御要求を入力するための機器制御欄321に表示を切り替えるための切り替えボタンを設ければよい。これにより、ユーザは、機器制御欄321を所望の制御要求を入力するための機器制御欄321に切り替えることができる。
図4Cは、更に別の一例の機器制御画面303を示す図である。図4Cの機器制御画面303は、宅内のレイアウトを示すレイアウト画面上に、宅内に設置された機器の機器アイコンを表示することで、機器の制御の可否をユーザに通知する。なお、機器アイコンは対応する機器の実際の設置位置に対応するレイアウト画面上の位置に配置されている。
この例では、機器制御画面303には、2つのコントローラを示す機器アイコン314、315が配置されている。図4Cの上図は初期状態の機器制御画面303を示している。
図4Cの下図では、機器アイコン314で表されるコントローラ1Aは、エアコンアイコン312で示されるエアコン12を制御しており、コントローラ1Aの制御可否判定部104により、エアコン12は制御不可と判定されている。この場合、コントローラ1Aと機器アイコン315(テレビの機器アイコン)で示されるコントローラ1Bとのそれぞれの機器制御画面303には、制御不可能通知欄334が表示される。制御不可能通知欄334は、図4Bの下図に示す制御不可能通知欄331と表示内容が類似している。但し、図4Cの下図の例では、機器アイコン314で表されるコントローラ1Aによるエアコン12への制御要求が実行された時点で、制御不可能通知欄334が表示される。
この制御不可能通知欄334には、「xxが温度を上げました。あと10秒操作できません。」とのメッセージが表示されており、ユーザ「xx」がエアコン12の温度を上げたことが明示されている。また、この制御不可能通知欄334には、ユーザ「xx」が入力したメッセージが表示されており、制御要求の意図が明示されている。
また、機器制御画面303には、機器アイコン314からエアコンアイコン312に向かう矢印マークY31が表示されておいる。これにより、ユーザは、機器アイコン314が示すコントローラ1Aによってエアコン12が制御されていることを一目で認識できる。
次に、本開示のコントローラ1の、より具体的な実施の形態を説明する。
(実施の形態1)
図5は、本開示の実施の形態1におけるコントローラ1の構成の一例を示す図である。コントローラ1は、図1に示すコントローラ1に対して、更に、コントローラ検知部105及び機器データベース部106を備える。また、実施の形態1では、制御情報通信部112は、制御情報通知部1011と、制御情報受信部1012とを備えている。
図6は、実施の形態1における機器制御システムの全体構成の一例を示す図である。実施の形態1では、コントローラ1A、1Bは、それぞれ、入力されたユーザの制御要求を受け付けるか否かを自身で判定する。また、コントローラ1A、1Bは、入力された制御要求を、制御不可能と判定した場合であって、制御可能になるまで入力された制御要求を保留する場合は、それぞれが、入力された制御要求を保留する。
コントローラ検知部105は、ネットワーク20に接続されている他のコントローラ1を検知する。例えば、コントローラ検知部105は、定期的に自身の存在を示す存在通知を、ネットワーク20にブロードキャストで送信する。同時に、コントローラ検知部105は、他のコントローラ1から送信された存在通知を受信する。これにより、コントローラ1同士は、互いの存在を検知することができる。
或いは、コントローラ検知部105は、他のコントローラ1から応答を求める確認要求をブロードキャストしてもよい。この場合、コントローラ検知部105は、他のコントローラ1から確認要求を受信すると、その確認要求に対する応答を返信する。なお、ネットワーク20のプロトコルによっては、不特定多数への送信を表す場合、「ブロードキャスト」との用語が用いられることがある。また、通信方法によっては、不特定多数への送信が「マルチキャスト」と称される場合もある。本開示において、「ブロードキャスト」は、「マルチキャスト」等の、不特定多数への送信を示す用語の総称である。
機器データベース部106は、機器の種類と、機器に対する制御とに応じた必要な制御間隔を予め規定する制御間隔テーブルT7を記憶する。図7は、制御間隔テーブルT7の一例を示す図である。制御間隔テーブルT7は、「種別」、「型番」、「制御内容」、及び「制御間隔」を対応付けて記憶する。「種別」、「型番」、及び「制御内容」は、図3と同じである。
「制御間隔」は、ある機器に対してある制御が実行された場合に、その機器に対して次の制御が実行されるまでに空けることが要求される時間間隔である。ここで、制御間隔テーブルT7は、コントローラ1の内部に保存されているが、これは一例である。制御間隔テーブルT7は、クラウドサーバなどのコントローラ1の外部に保存されていてもよい。この場合、コントローラ1は、必要に応じて外部に設けられた制御間隔テーブルT7を適宜参照すればよい。
実施の形態1において、制御可否判定部104は、共有履歴T3に加え、制御間隔テーブルT7を参照し、機器制御部101が行う制御が可能か否かを判定する。具体的には、制御可否判定部104は、ある機器に対する制御要求を機器制御部111が受け付けると、その機器が最後に制御された「制御時刻」及び「制御内容」を共有履歴T3から取得する。また、制御可否判定部104は、取得した「制御内容」に応じた「制御間隔」を制御間隔テーブルT7から取得する。そして、制御可否判定部104は、取得した「制御時刻」から、取得した「制御間隔」が経過していなければ、制御要求に対する制御が不可能と判定する。
この場合、制御可否判定部104は、取得した「制御時刻」に、取得した「制御時刻」を加算した時刻から、現時刻を差し引くことで、残り時間を算出すればよい。
一方、制御可否判定部104は、取得した「制御時刻」から、取得した「制御間隔」が経過していれば、制御要求に対する制御が可能と判定する。これにより、機器の種類及び機器に対する制御の内容に応じて、適切な時間間隔で、機器を制御できる。
制御情報通知部1011は、コントローラ検知部105が検知した他のコントローラ1に、機器制御情報を送信する。また、制御情報通知部1011は、他のコントローラ1からの機器制御情報を受信する。機器制御情報は、制御要求に対する制御が実行されたことを他のコントローラ1に通知するための情報である。機器制御情報には、例えば、「機器ID」、「制御時刻」「種別」、「型番」、及び「制御内容」が含まれている。他のコントローラ1は、機器制御情報を受信すると、機器制御情報の内容を共有履歴T3に記憶させる。これにより、複数のコントローラ1は同じ共有履歴T3を記憶することができる。
図8A、図8Bは、実施の形態1におけるコントローラ1の動作を示すフローチャートである。本実施の形態では、機器制御画面として、図4Bの機器制御画面302が採用される。
図8Aは、ユーザが機器の制御要求を入力した際のフローチャートである。ステップS1000で、操作部201は、ユーザの制御要求の入力を受け付け、入力された制御要求を機器制御部111に通知する。
通知を受けた機器制御部111は、制御可否判定部104に、制御要求に対する制御の内容を通知し、制御要求に対する制御の可否及び制御可能になるまでの残り時間を問い合わせる(ステップS1001)。制御可否判定部104は、履歴保存部103が記憶する共有履歴T3と、機器データベース部106が記憶する制御間隔テーブルT7とを用いて、通知された制御が、現在、可能か不可能かを判定する(ステップS1002)。制御が不可能な場合、制御可否判定部104は、制御が可能になるまでの残り時間を算出し、算出した残り時間を制御可否の結果と合わせて機器制御部111に応答する。
ステップS1003以降の動作は、制御が可能か否かで分岐する。制御が可能な場合(ステップS1003でYES)、機器制御部111は、機器へ制御コマンドを送信する(ステップS1007)。一方、制御が不可能の場合(ステップS1003でNO)、表示部202は、図4Bの下図に示すように、機器制御画面302に、制御不可能通知欄331を表示し、制御が不可能であること及び制御可能になるまでの残り時間を表示する(ステップS1004)。
続いて、表示部202は、図4Bの下図に示すように、機器制御画面302に、選択欄332を表示し、制御可能になった時に、入力した制御要求を自動実行するか否かの入力をユーザに求める(ステップS1005)。ユーザが自動実行しないことを選択した場合(ステップS1005でNO)、処理は終了する。この場合、ユーザは、残り時間の経過後に、再度、制御要求を入力する必要がある。
一方、ユーザが自動実行することを選択した場合(ステップS1005でYES)、機器制御部111は、制御可能になるまでステップS1000で通知された制御要求を保留し(ステップS1006)、制御可能になると、処理をステップS1007に進める。この場合、ユーザは、制御可能後に、再度、制御要求を入力しなくても、自動的に制御要求が実行される。
ステップS1007では、機器制御部111は、制御要求に対応する制御コマンドを該当する機器に送信する。ステップS1008では、履歴保存部103は、制御要求に対する制御の内容を機器制御の履歴として共有履歴T3に記憶する。
ステップS1009では、制御情報通知部1011は、他のコントローラ1へ、実行した制御要求の内容を示す機器制御情報を送信する。他のコントローラ1は、機器制御情報を用いて自身の共有履歴T3を更新する。これにより、コントローラ1同士で共有履歴T3の同期が図られる。
なお、ステップS1007からステップS1009の処理順序は図示する順番でなく、任意の順が採用されてもよい。また、ステップS1007の後で、実際に制御が成功したか否かを確認するために、機器の状態を取得する処理や、制御コマンドに対する機器の応答を受信する処理が設けられてもよい。
図8Bは、他のコントローラ1から機器制御情報を受信した際のコントローラ1の処理を示すフローチャートである。ステップS1100では、制御情報受信部1012は、他のコントローラ1が実行した制御の内容を示す機器制御情報を受信する。ここで、受信した機器制御情報は、ステップS1009にて、他のコントローラ1によって送信された機器制御情報である。
履歴保存部103は、受信した機器制御情報が示す制御の内容を、自身が制御を行った場合と同様に、共有履歴T3に記録する(ステップS1101)。これにより、共有履歴T3には自身の機器制御の履歴と、ネットワーク20に存在する他のコントローラ1の機器制御の履歴とが記録される。よって、制御可否判定部104は、自身のコントローラ1と他のコントローラ1とが行った機器制御の履歴を含む共有履歴T3を用いて、制御可否を判定できる。
なお、本実施の形態において、コントローラ1は、他のコントローラ1の存在を検知するコントローラ検知部105を備えるので、他のコントローラ1がネットワーク20上に存在するか否かを判定できる。
図9Aは、実施の形態1における機器制御画面302の表示例を示す図である。図9Aでは、コントローラ検知部105が他のコントローラ1の存在を検知した場合における機器制御画面302の表示例が示されている。図9Aの上図は初期状態の機器制御画面302を示しており、詳細は図4Aと同じである。ネットワーク20上に他のコントローラ1が接続されている場合、上述のように、コントローラ1は機器の制御が不可能になることがある。そこで、表示部202は、コントローラ検知部105が他のコントローラ1の存在を検知した場合、図9Aの下図に示すように、制御が不可能である可能性がある旨のメッセージをユーザに報知する警告901を機器制御画面302に表示する。警告901には、「家の中に他にコントローラがあります。操作できない場合があります。」とのメッセージが表示されている。これにより、コントローラ1は、他のコントローラ1の存在によって、機器の制御が不可能になる可能性があることをユーザに対して予め警告することができる。その結果、機器に対する制御が不可能になった時のユーザの不快を軽減できる。
なお、本実施の形態において、コントローラ検知部105は、ネットワーク上に接続された機器を制御及び発見するための一般的な通信プロトコルを用いることで、本実施の形態のコントローラ1の機能を備えていないコントローラ(以下、「一般コントローラ」と記述する。)を検出することができる。例えば、コントローラ1は、他のコントローラに対して、何らかの問い合わせを行ったときに他のコントローラから返信される応答に含まれるコントローラに関する情報(例えば、型番)から、他のコントローラが一般コントローラであるか否かを判定すればよい。
図9Bは、一般コントローラと本実施の形態1のコントローラ1とが区別して表示された機器制御画面303の表示例を示す図である。図9Bに示す機器制御画面303では、コントローラ検知部105によって検知された一般コントローラを示す機器アイコン316が、コントローラ1を示す機器アイコン315とは異なる表示態様で表示されている。ここで、異なる表示態様としては、例えば、コントローラ1を示す機器アイコン315とは、明度、彩度、及び色相の少なくとも1つを変えて表示する態様が採用できる。これにより、ユーザは、適切な制御間隔を空けて機器を制御できるコントローラ1と、その制御ができないコントローラ1とを把握できる。
なお、図9A、図9Bに示す機器制御画面303は、コントローラ検知部105を設けることにより、実施の形態2のコントローラ1でも実現可能である。
また、本実施の形態では、コントローラ1は、コントローラ検知部105を備えていたが、これに限定されず、コントローラ検知部105は省かれていてもよい。この場合、制御情報通知部1011は、ブロードキャストで機器制御情報を送信すればよい。
本実施の形態において、機器制御システムが3つ以上のコントローラ1を備えている場合、ある1つのコントローラ1以外の残り複数のコントローラ1が、制御要求を保留することが発生し得る。この場合、該当する機器の制御が可能になった時、残り複数のコントローラ1で保留されていた制御要求が同時に実行され、該当する機器に対して複数の制御コマンドが同時に送信されてしまう。
これを防ぐために、例えば、制御可否判定部104は、制御間隔テーブルT7から取得した「制御間隔」に、ランダムな時間を加えた期間を、該当する機器の新たな「制御間隔」として算出すればよい。これにより、複数のコントローラ1間において、保留されていた制御要求が実行されるタイミングを変えることができる。
この場合、制御要求を保留していた複数のコントローラ1のうち、新たな「制御間隔」が最短のコントローラ1が、保留していた制御要求に対応する制御コマンドを送信し、該当する機器を制御することになる。この場合、制御コマンドを送信したコントローラ1以外の他のコントローラ1は、制御コマンドを送信したコントローラ1から送信された機器制御情報に基づいて、共有履歴T3を更新することになる。この更新の際、制御要求を保留しているコントローラ1は、該当する機器の「制御間隔」を再計算すればよい。
また、コントローラ1は、制御間隔テーブルT7から取得した「制御間隔」に、コントローラ1ごと割り付けられた異なる固定時間を加えて、新たな「制御間隔」を算出してもよい。この場合、制御可否判定部104は、例えば、自身のコントローラ1のネットワーク20上のアドレスにハッシュ計算を実行することで、固定時間を算出すればよい。
このように、本実施の形態によるコントローラ1は、制御可否の判定以外は、宅内に単体で存在する場合と同等に動作する。したがって、コントローラ1が単体で存在する場合と、コントローラ1が複数存在する場合とで、操作形態を変更することなく、ユーザにコントローラ1を使用させることができる。
(実施の形態2)
図10は、本開示の実施の形態2におけるコントローラ1の構成の一例を示す図である。本実施の形態でのコントローラ1は、図1に示すコントローラ1に対して、コントローラ検知部105、機器データベース部106、代表コントローラ決定部107を更に備える。また、本実施の形態において制御情報通信部122は、制御要求転送部1021、制御要求受信部1022、制御可否返信部1023を備えている。
コントローラ検知部105及び機器データベース部106は、実施の形態1と同じである。代表コントローラ決定部107は、後述するように所定のルールを用いて、複数のコントローラ1の中から代表のコントローラ1aを決定する。
制御要求転送部1021は、自身のコントローラ1が代表でないコントローラ1bの場合に機能し、機器制御部121が受け付けた制御要求を、代表のコントローラ1aに転送する。
制御要求受信部1022は、自身のコントローラ1が代表のコントローラ1aの場合に機能し、代表でないコントローラ1bから転送された制御要求を受信する。
制御可否返信部1023は、自身のコントローラ1が代表のコントローラ1aの場合に機能し、機器制御部121から、代表でないコントローラ1bから受信した制御要求に対する制御が可能であるか否かを示す判定結果の通知を受け付け、要求元の、代表でないコントローラ1bに判定結果を示す制御可否情報を送信する。
機器制御部121(要求受信部の一例)は、実施の形態1の機器制御部101の機能に加えて、更に、代表コントローラ決定部107に自身のコントローラ1が代表のコントローラ1aであるか否かを問い合わせる機能を備えている。更に、機器制御部121は、制御可否判定部104による、制御要求に対する制御の判定結果を制御可否返信部1023に通知する機能を備えている。更に、機器制御部121は、制御要求受信部1022が受信した制御要求を取得する機能を備えている。
図11は、本開示の実施の形態2における機器制御システムの全体構成の一例を示す図である。本実施の形態では、複数のコントローラ1の中から代表となる1つのコントローラを決定する。図11の例では、左側のコントローラ1が代表のコントローラ1aであり、右側のコントローラ1が代表でないコントローラ1bであるものとする。代表のコントローラ1aは、宅内の機器制御の共有履歴T3を保存する。また、代表のコントローラ1aは、代表でないコントローラ1bにおいて、ユーザにより入力された要求制御に対する制御の可否の判定も行う。本実施の形態において、コントローラ1の備える各ブロックのうち、一部のブロックは代表のコントローラ1aの場合に機能し、残りの一部は代表でないコントローラ1bの場合に機能する。図11では、代表のコントローラ1aの場合に機能しないブロックと、代表でないコントローラ1bの場合に機能しないブロックは、点描で示されている。また、図11において、代表のコントローラ1aが備えるブロックは、末尾に「a」の符号が付され、代表でないコントローラ1bが備えるブロックは、末尾に「b」の符号が付されている。
代表コントローラ決定部107は、コントローラ検知部105により検知されたネットワーク20上に存在する複数のコントローラ1の中から、1つのコントローラ1を代表のコントローラ1aとして決定する。
各コントローラ1が備える代表コントローラ決定部107は、ネットワーク20上に存在する全てのコントローラ1の中から、同じ1つのコントローラ1が代表のコントローラ1aとして決定される所定のルールを用いて、代表のコントローラ1aを決定する。所定のルールとしては、例えば、ネットワーク20での通信アドレスが最小のコントローラ1を代表のコントローラ1aとして決定するルールが採用できる。或いは、所定のルールとしては、例えば、優先度が最も高いコントローラ1を代表のコントローラ1aとして決定するルールが採用できる。
この場合、代表コントローラ決定部107は、コントローラ検知部105がネットワーク20に接続された他のコントローラ1及び一般コントローラを検知する際に、コントローラ同士で交換される情報に基づいて、各コントローラの優先度を算出すればよい。
ここで、コントローラ同士で交換される情報には、コントローラ1が使用するソフトウェアのバージョンやコントローラ1の型番が含まれている。したがって、代表コントローラ決定部107は、例えば、ソフトウェアのバージョンが新しいコントローラ1ほど優先度が高く、且つ、特定の型番を持つコントローラ1ほど優先度が高くなるように各コントローラ1の優先度を算出すればよい。
これは、バージョンが新しいソフトウェアほど、機能の向上や不具合が改善されていると考えられ、代表のコントローラ1aに適しているからである。また、テレビのような据え置き型の装置に実装されたコントローラ1と、タブレット端末のような携帯可能な装置に実装されたコントローラ1とを比較した場合、前者の方が後者に比べて、安定して動作すると考えられ、代表に適している。そのため、特定の型番としては、据え置き型の装置であることを示す型番が採用できる。本実施の形態では、代表のコントローラ1aの決定方法はこの方法に限定されず、全てのコントローラ1において同一のコントローラ1が代表のコントローラ1aとして決定されるというルールであれば、どのようなルールが採用されてもよい。
本実施の形態では、代表でないコントローラ1bは、代表のコントローラ1aに制御要求を転送する。制御要求には、制御対象の機器の「機器ID」と制御の内容とが少なくとも含まれる。制御の内容としては、例えば、機器制御部121が機器に対して送信する制御コマンドがそのまま用いられてもよい。代表のコントローラ1aは、代表でないコントローラ1bから転送された制御要求に含まれる「機器ID」から制御対象の機器を特定し、特定した機器に制御コマンドを送信する。つまり、本実施の形態では、代表のコントローラ1aは、自身における機器制御の履歴を含む、宅内の全てのコントローラ1の機器制御の履歴を集約して共有履歴T3に記録し、該当する機器へ制御コマンドを送信する。
図12A、図12B、図12Cは、実施の形態2におけるコントローラ1の動作を示すフローチャートである。図12A、図12B、図12Cでは、機器制御画面として、実施の形態1と同様、図4Bの機器制御画面302が採用される。
図12Aは、ユーザから制御要求の入力を受け付けた際の代表のコントローラ1aの処理を示すフローチャートである。図12AのステップS2000では、代表のコントローラ1aの操作部201aは、ユーザの制御要求の入力を受け付け、入力された制御要求を機器制御部121aに通知する。ステップS2001では、機器制御部121aは、自身のコントローラ1が、現在、代表のコントローラ1aであるか否かを代表コントローラ決定部107aに問い合わせる。
図12Aでは、ステップS2101以降の処理として、コントローラ1が代表のコントローラ1aである場合(ステップS2001でYES)の処理が示されている。自身が代表のコントローラ1aでない場合(ステップS2001でNO)、処理が図12BのS2201に進められ、S2201以降の処理が実行される。
ステップS2101からステップS2108までの処理は、実施の形態1のステップS1001からステップS1008までの処理と同一である。すなわち、共有履歴T3と制御間隔テーブルT7から取得した「制御間隔」とを用いて、制御可否判定部104aは、入力された要求制御に対する制御が可能か否かを判定する(ステップS2101からステップS2103)。制御可能であれば(ステップS2103でYES)、機器制御部121aは、制御コマンドを機器に送信する(ステップS2107)。制御不可能な場合は(ステップS2103でNO)、表示部202aは、図4Bの下図に示すように、機器制御画面302に、制御が不可能であること及び制御可能になるまでの残り時間を表示し(ステップS2104)、制御可能になった時点で制御要求を自動実行するか否かの入力をユーザに求める(ステップS2105)。ユーザが自動実行を選択する場合は(ステップS2105でYES)、機器制御部121aは、制御可能になるまで制御要求を保留し(ステップS2106)、制御可能になると制御コマンドを送信する(ステップS2107)。制御コマンド送信後、履歴保存部103aは、該当する制御要求に対する制御の内容を共有履歴T3に記録する(ステップS2108)。なお、実施の形態2においては、代表でないコントローラ1bは共有履歴T3を管理する必要がないので、このフローチャートでは、代表のコントローラ1aは、代表でないコントローラ1bに制御要求を転送しない。
図12Bは、代表でないコントローラ1bがユーザから制御要求の入力を受け付けた際の、代表でないコントローラ1bの処理を示すフローチャートである。ステップS2000、S2001の処理は図12Aと同じである。ここでは、コントローラ1は代表でないコントローラ1bなので、機器制御部121bは、自身のコントローラ1が代表のコントローラ1aでないと判定する(ステップS2001でNO)。なお、自身のコントローラ1が代表のコントローラ1aであれば(ステップS2001でYES)、処理は図12AのS2101に進む。
制御要求転送部1021bは、代表コントローラ決定部107bが決定した代表のコントローラ1aに制御要求を転送する(ステップS2201)。制御要求転送部1021bは、代表のコントローラ1aが応答として返した制御可否情報(後述)を受信する(ステップS2202)。
次に、機器制御部121bは、受信された制御可否情報から制御が可能か否かを判定する(ステップS2203)。制御可否情報が制御可能を示せば(ステップS2203でYES)、機器制御部121bは処理を終了する。一方、制御可否情報が制御不可能を示せば(ステップS2203でNO)、機器制御部121bは処理をステップS2204に進める。
ステップS2204では、表示部202bは、制御可能になった時点で制御要求を自動実行するか否かの入力をユーザに求める。ユーザが自動実行を選択する場合(ステップS2204でYES)、制御要求転送部1021bは、代表のコントローラ1aに制御要求を自動実行する旨の応答を送信する(ステップS2205)。一方、ユーザが自動実行を選択しない場合(ステップS2204でNO)、制御要求転送部1021bは、代表のコントローラ1aに制御要求を自動実行しない旨の応答を送信する(ステップS2206)。
図12Cは、代表のコントローラ1aが代表でないコントローラ1bから制御要求を受信した際の代表のコントローラ1aの処理を示すフローチャートである。制御要求受信部1022aは、図12BのステップS2201で転送された制御要求を受信する(ステップS2300)。
なお、本実施の形態において、代表のコントローラ1aは、代表でないコントローラ1bから制御要求を受信した場合、自身の操作部201aがユーザからの制御要求の入力を受け付けた場合(図12AのステップS2000)と同様の処理を行う。
すなわち、機器制御部121aは、代表でないコントローラ1bから受信した制御要求が、現在、実行可能か否か及び制御可能になるまでの残り時間を、制御可否判定部104aに問い合わせる(ステップS2301)。問い合わせを受けた制御可否判定部104aは、現在、代表でないコントローラ1bから受信した制御要求に対する制御が可能であるか否かを判定すると共に、制御が可能になるまでの残り時間を算出する(ステップS2302)。
制御が可能である場合(ステップS2303でYES)、制御可否返信部1023aは、制御が可能であることを示す制御可否情報を、制御要求を転送した代表でないコントローラ1bに送信する(ステップS2307)。このステップS2307で送信される制御可否情報は、図12BのステップS2202において、コントローラ1bの制御要求転送部1021bで受信される。これにより、代表でないコントローラ1bは、転送した制御要求に対する制御が可能であることを認識する。
次に、機器制御部121aは、代表でないコントローラ1bから受信した制御要求に対応する制御コマンドを機器に送信する(ステップS2308)。これにより、代表でないコントローラ1bから転送された制御要求は代表のコントローラ1aを経由して実行されることになる。
制御が不可能な場合(ステップS2303でNO)、制御可否返信部1023aは、制御が不可能であることを示す制御可否情報を、制御要求を転送した代表でないコントローラ1bに送信する(ステップS2304)。このステップS2304で送信される制御可否情報は、図12BのステップS2202において、コントローラ1bの制御要求転送部1021bで受信される。これにより、代表でないコントローラ1bは、転送した制御要求に対する制御が不可能であることを認識する。
ステップS2305では、図12BのステップS2205において、代表でないコントローラ1bから転送された制御要求に対する制御を自動実行する旨の応答、或いは、図12BのステップS2206において、代表でないコントローラ1bから転送された制御要求に対する制御を自動実行しない旨の応答を、制御要求受信部1022aが受信する。自動実行しない旨の応答が受信され、自動実行が要求されていない場合(ステップS2305でNO)、処理は終了する。
一方、自動実行する旨の応答が受信され、自動実行が要求されている場合(ステップS2305でYES)、機器制御部121aは、ステップS2300で受信した制御要求を保留し(ステップS2306)、制御可能になれば機器に制御コマンドを送信する(ステップS2308)。
制御コマンド送信後、履歴保存部103aは、該当する制御要求に対する制御の内容を共有履歴T3に記録する(ステップS2309)。これにより、ステップS2300で受信したコントローラ1bからの制御要求に対する制御の内容が共有履歴T3に記録される。
以上の動作により、代表のコントローラ1aが記憶する共有履歴T3には、代表のコントローラ1aに入力された制御要求に対する制御の内容と共に、代表でないコントローラ1bに入力された制御要求に対する制御の内容が記録される。これにより、代表のコントローラ1aは、代表でないコントローラ1bに入力された制御要求と、代表のコントローラ1aに入力された制御要求との制御の可否を一括して判定することができる。その結果、宅内に複数のコントローラ1が存在する場合であっても、適切な制御間隔を空けて機器を制御できる。
なお、本実施の形態では、図4Bの下図に示すように、選択欄332及び状態表示欄333を備える制御不可能通知欄331が表示される機器制御画面に302が採用されたが、本開示はこれに限定されない。例えば、図4A、図4Cの機器制御画面301、303が採用されてもよい。
実施の形態2では、全ての機器の制御が代表のコントローラ1aに集約され、代表のコントローラ1aで実際の機器の制御が行われる。そのため、代表でないコントローラ1bに共有履歴T3を管理させることなく、適切な制御間隔を空けて機器を制御できる。
なお、図12BのステップS2203において、機器の制御が可能と判定された場合(ステップS2203でYES)、要求元の、代表でないコントローラ1bの表示部202bは、該当する機器の制御が可能であることを示す情報を表示してもよい。この場合、表示部202aは、機器制御画面301,302,303において、該当する機器の制御が可能であることを示すメッセージを表示すればよい。
一方、要求元以外の、代表でないコントローラ1bの表示部202b及び代表のコントローラ1aの表示部202aは、該当する機器の制御が不可能であることを示す情報を表示してもよい。この場合、表示部202b及び表示部202aは、図4A、図4B、図4Cの下図の機器制御画面301,302,303をそのまま表示して、該当する機器が制御不可能であることを提示すればよい。