(57)【要約】【課題】制御システムを実装するためのコストを抑え、かつ、制御システムにおいて制御対象の機器が制御命令に応じた動作を実行しているかどうかを正確に示す結果を提供すること。【解決手段】サーバ１００は、スマートフォン２００Ａから第１の制御指令を受信し、スマートフォン２００Ｂから第２の制御指令を受信し、第１および第２の制御指令を機器３１０へ送信する。サーバ１００は、第１の制御指令に対応する機器３１０の状態が機器３１０から送信された情報によって特定される当該機器３１０の状態と一致せず、第２の制御指令に対応する機器３１０の状態が機器３１０から送信された情報によって特定される当該機器３１０の状態と一致する場合、スマートフォン２００Ａに、スマートフォン２００Ｂを特定する情報を送信するように構成されている。【選択図】図１
2016201848.tif 000002
【特許請求の範囲】
【請求項１】
機器に対する制御指令を出力可能な１以上の情報端末と通信する通信装置と、
プロセッサと、
前記機器に対する制御指令を格納するための記憶装置とを備え、
前記プロセッサは、
第１の情報端末から第１の制御指令を受信し、
第２の情報端末から第２の制御指令を受信し、
前記第１の制御指令および前記第２の制御指令を前記記憶装置に記憶し、
前記機器に向けて、前記第１の制御指令および前記第２の制御指令を送信し、
前記機器から受信された前記機器の状態が前記機器に対する前記第１の制御指令および前記第２の制御指令のずくなくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を出力するように構成されており、
前記記憶装置は、
前記第１の情報端末を特定する情報および前記第２の情報端末を特定する情報をさらに格納するように構成されており、
前記プロセッサは、
前記第１の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致せず、前記第２の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致する場合に、前記第１の情報端末に、前記第２の情報端末を特定する情報を送信するように構成されている、サーバ。
【請求項２】
前記通信装置は、前記機器から、前記機器が実行している動作の指示を出力した主体を特定する情報を受信し、
前記プロセッサは、前記主体を特定する情報を、前記機器から送信された当該機器の状態の原因としてさらに出力するように構成されている、請求項１に記載のサーバ。
【請求項３】
前記主体は、前記機器が実行している動作の指示を出力した情報端末の操作者を含む、請求項２に記載のサーバ。
【請求項４】
サーバを介して機器と通信可能な通信装置と、
プロセッサと、
表示部と、
前記機器に対する制御指令を格納するための記憶装置とを備え、
前記プロセッサは、
前記サーバに前記制御指令を送信することにより、前記機器に向けて前記制御指令を送信し、
前記サーバから受信した前記機器の状態が前記制御指令に対応する前記機器の状態と一致するか否かの判断の結果を出力するように構成され、
前記表示部は、前記判断の結果と、前記機器の状態が一致する制御指令を送信した情報端末を特定する情報とを表示するように構成されている、情報端末。
【請求項５】
前記通信装置は、前記機器から、前記機器が実行している動作の指示を出力した主体を特定する情報を受信し、
前記プロセッサは、前記主体を特定する情報を、前記機器から送信された当該機器の状態の原因としてさらに出力するように構成されている、請求項４に記載の情報端末。
【請求項６】
前記主体は、前記機器が実行している動作の指示を出力した情報端末の操作者を含む、請求項５に記載の情報端末。
【請求項７】
機器と、前記機器に対する制御指令を出力するための第１および第２の情報端末と、前記機器ならびに前記第１および第２の情報端末と通信可能なサーバとを備える制御システムであって、
前記第１の情報端末は、前記サーバに第１の制御指令を送信するための第１の送信部を含み、
前記第２の情報端末は、前記サーバに第２の制御指令を送信するための第２の送信部を含み、
前記サーバは、
前記機器、前記第１の情報端末、および、前記第２の情報端末と通信するための通信装置と、
プロセッサと、
前記第１の制御指令および前記第２の制御指令を格納するための記憶装置とを含み、
前記プロセッサは、
前記機器に向けて、前記第１の制御指令および前記第２の制御指令を送信し、
前記機器から受信された当該機器の状態が前記第１の制御指令および前記第２の制御指令の少なくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を前記第１の情報端末および前記第２の情報端末に出力し、
前記第１の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致せず、前記第２の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致する場合に、前記第１の情報端末に、前記第２の情報端末を特定する情報を送信するように構成されている、制御システム。
【請求項８】
記憶装置を備えるコンピュータによって実行される情報提供方法であって、
第１の情報端末から第１の制御指令を受信するステップと、
第２の情報端末から第２の制御指令を受信するステップと、
前記記憶装置に、前記第１の制御指令を記憶するステップと、
前記記憶装置に、前記第２の制御指令を記憶するステップと、
前記機器に向けて、前記第１の制御指令を送信するステップと、
前記機器に向けて、前記第２の制御指令を送信するステップと、
前記機器から受信された前記機器の状態が前記機器に対する前記第１の制御指令および前記第２の制御指令の少なくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を出力するステップと、
前記第１の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致せず、前記第２の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致する場合に、前記第１の情報端末に、前記第２の情報端末を特定する情報を送信するステップとを備える、情報提供方法。
【請求項９】
記憶装置を備えるコンピュータコンピュータによって実行されるプログラムであって、
前記プログラムは、前記コンピュータに、
第１の情報端末から第１の制御指令を受信するステップと、
第２の情報端末から第２の制御指令を受信するステップと、
前記記憶装置に、前記第１の制御指令を記憶するステップと、
前記記憶装置に、前記第２の制御指令を記憶するステップと、
前記機器に向けて、前記第１の制御指令を送信するステップと、
前記機器に向けて、前記第２の制御指令を送信するステップと、
前記機器から受信された前記機器の状態が前記機器に対する前記第１の制御指令および前記第２の制御指令の少なくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を出力するステップと、
前記第１の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致せず、前記第２の制御指令に対応する前記機器の状態が前記機器から送信された情報によって特定される当該機器の状態と一致する場合に、前記第１の情報端末に、前記第２の情報端末を特定する情報を送信するステップとを実行させる、プログラム。
【請求項１０】
１以上の装置から機器の制御指令を受信可能なサーバを介して前記機器と通信可能なコンピュータによって実行される情報提供方法であって、
前記コンピュータは、前記機器に対する制御指令を格納するための記憶装置を備え、
前記サーバに前記制御指令を送信することにより、前記機器に向けて前記制御指令を送信するステップと、
前記サーバから受信した前記機器の状態が前記制御指令に対応する前記機器の状態と一致するか否かの判断の結果を表示するステップと、
前記機器の状態が一致する制御指令を送信した情報端末を特定する情報を表示するステップとを備える、情報提供方法。
【請求項１１】
１以上の装置から機器の制御指令を受信可能なサーバを介して前記機器と通信可能なコンピュータによって実行されるプログラムであって、
前記コンピュータは、前記機器に対する制御指令を格納するための記憶装置を備え、
前記プログラムは、前記コンピュータに、
前記サーバに前記制御指令を送信することにより、前記機器に向けて前記制御指令を送信するステップと、
前記サーバから受信した前記機器の状態が前記制御指令に対応する前記機器の状態と一致するか否かの判断の結果を表示するステップと、
前記機器の状態が一致する制御指令を送信した情報端末を特定する情報を表示するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、特に、機器に制御指令を送信するためのサーバ、情報端末、および、制御システムに関する。
【背景技術】
【０００２】
従来、スマートフォン等の情報処理装置をエアコンやテレビなどの機器のリモート操作端末として利用する制御システムについての技術が提案されている。たとえば、特開２００９−５４１７１号公報（特許文献１）は、監視対象の機器に接続されたゲートウェイと、センタサーバと、ネット端末とを含む遠隔制御監視システムを開示している。当該システムでは、ネット端末は、センタサーバに、受信した制御要求コマンドを送信する。センタサーバは、ゲートウェイに、受信した制御要求コマンドを送信する。そして、ゲートウェイは、機器に、受信した制御要求コマンドを送信する。
【０００３】
また、特開２００６−３３９７４０号公報（特許文献２）は、照明機器から遠く離れた場所にいる使用者に照明の点灯または消灯の情報を提供するための無線通信装置を開示している。当該無線通信装置は、宅外から照明機器が遠隔制御された場合、当該遠隔制御の前と当該遠隔制御の一定時間後の間の宅内の照度の変化に基づいて当該遠隔制御が成功したかどうかを判定し、当該判定の結果を使用者に通報する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−５４１７１号公報
【特許文献２】特開２００６−３３９７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記したような制御システムのユーザは、制御対象の機器が当該ユーザによって入力された制御命令に応じた動作を実行しているかどうかについての結果の通知を望む場合がある。しかしながら、特許文献１では、センタサーバとゲートウェイとの間の通信が可能であるかどうかのみが検討されており、制御対象の機器が制御命令に応じた動作を実行しているかどうかを示す結果の通知については検討されていない。
【０００６】
特許文献２では、制御命令後の結果の通知については検討されている。しかしながら、特許文献２の制御システムは、当該結果の通知に、宅内に照度の変化を検出するための検出装置を必要とする。これにより、特許文献２の制御システムには、このような検出装置が制御システムを実装するためのコストを増加させる、という課題がある。また、特許文献２の検出装置は、単に宅内の照度を検出し、その結果を出力する。このため、当該検出装置から出力される結果が制御対象の機器以外の装置から生ずる光に影響を受け得るという課題がある。
【０００７】
本開示は、かかる実情に鑑み考え出されたものであり、その目的は、制御システムを実装するためのコストを抑え、かつ、制御システムにおいて制御対象の機器が制御命令に応じた動作を実行しているかどうかを正確に示す結果を提供することである。
【課題を解決するための手段】
【０００８】
本開示のある局面に従うと、機器に対する制御指令を出力可能な１以上の情報端末と通信する通信装置と、プロセッサと、機器に対する制御指令を格納するための記憶装置とを備え、プロセッサは、第１の情報端末から第１の制御指令を受信し、第２の情報端末から第２の制御指令を受信し、第１の制御指令および第２の制御指令を記憶装置に記憶し、機器に向けて、第１の制御指令および第２の制御指令を送信し、機器から受信された機器の状態が機器に対する第１の制御指令および第２の制御指令のずくなくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を出力するように構成されており、記憶装置は、第１の情報端末を特定する情報および第２の情報端末を特定する情報をさらに格納するように構成されており、プロセッサは、第１の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致せず、第２の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致する場合に、第１の情報端末に、第２の情報端末を特定する情報を送信するように構成されている、サーバが提供される。
【０００９】
好ましくは、通信装置は、機器から、機器が実行している動作の指示を出力した主体を特定する情報を受信し、プロセッサは、主体を特定する情報を、機器から送信された当該機器の状態の原因としてさらに出力するように構成されている。
【００１０】
好ましくは、主体は、機器が実行している動作の指示を出力した情報端末の操作者を含む。
【００１１】
本開示の他の局面に従うと、サーバを介して機器と通信可能な通信装置と、プロセッサと、表示部と、機器に対する制御指令を格納するための記憶装置とを備え、プロセッサは、サーバに制御指令を送信することにより、機器に向けて制御指令を送信し、サーバから受信した機器の状態が制御指令に対応する機器の状態と一致するか否かの判断の結果を出力するように構成され、表示部は、判断の結果と、機器の状態が一致する制御指令を送信した情報端末を特定する情報とを表示するように構成されている、情報端末が提供される。
【００１２】
好ましくは、通信装置は、機器から、機器が実行している動作の指示を出力した主体を特定する情報を受信し、プロセッサは、主体を特定する情報を、機器から送信された当該機器の状態の原因としてさらに出力するように構成されている。
【００１３】
好ましくは、主体は、機器が実行している動作の指示を出力した情報端末の操作者を含む。
【００１４】
本開示のさらに他の局面に従うと、機器と、当該機器に対する制御指令を出力するための第１および第２の情報端末と、機器ならびに第１および第２の情報端末と通信可能なサーバとを備える制御システムであって、第１の情報端末は、サーバに第１の制御指令を送信するための第１の送信部を含み、第２の情報端末は、サーバに第２の制御指令を送信するための第２の送信部を含み、サーバは、機器、第１の情報端末、および、第２の情報端末と通信するための通信装置と、プロセッサと、第１の制御指令および第２の制御指令を格納するための記憶装置とを含み、プロセッサは、機器に向けて、第１の制御指令および第２の制御指令を送信し、機器から受信された当該機器の状態が第１の制御指令および第２の制御指令の少なくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を第１の情報端末および第２の情報端末に出力し、第１の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致せず、第２の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致する場合に、第１の情報端末に、第２の情報端末を特定する情報を送信するように構成されている、制御システムが提供される。
【００１５】
本開示のさらに他の局面に従うと、記憶装置を備えるコンピュータによって実行される情報提供方法であって、第１の情報端末から第１の制御指令を受信するステップと、第２の情報端末から第２の制御指令を受信するステップと、記憶装置に、第１の制御指令を記憶するステップと、記憶装置に、第２の制御指令を記憶するステップと、機器に向けて、第１の制御指令を送信するステップと、機器に向けて、第２の制御指令を送信するステップと、機器から受信された機器の状態が機器に対する第１の制御指令および第２の制御指令の少なくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を出力するステップと、第１の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致せず、第２の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致する場合に、第１の情報端末に、第２の情報端末を特定する情報を送信するステップとを備える、情報提供方法が提供される。
【００１６】
本開示のさらに他の局面に従うと、記憶装置を備えるコンピュータコンピュータによって実行されるプログラムが提供される。プログラムは、コンピュータに、第１の情報端末から第１の制御指令を受信するステップと、第２の情報端末から第２の制御指令を受信するステップと、記憶装置に、第１の制御指令を記憶するステップと、記憶装置に、第２の制御指令を記憶するステップと、機器に向けて、第１の制御指令を送信するステップと、機器に向けて、第２の制御指令を送信するステップと、機器から受信された機器の状態が機器に対する第１の制御指令および第２の制御指令の少なくとも一方によって特定される当該機器の状態と一致するか否かの判断の結果を出力するステップと、第１の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致せず、第２の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致する場合に、第１の情報端末に、第２の情報端末を特定する情報を送信するステップとを実行させる。
【００１７】
本開示のさらに他の局面に従うと、１以上の装置から機器の制御指令を受信可能なサーバを介して機器と通信可能なコンピュータによって実行される情報提供方法であって、コンピュータは、機器に対する制御指令を格納するための記憶装置を備え、サーバに制御指令を送信することにより、機器に向けて制御指令を送信するステップと、サーバから受信した機器の状態が制御指令に対応する機器の状態と一致するか否かの判断の結果を表示するステップと、機器の状態が一致する制御指令を送信した情報端末を特定する情報を表示するステップとを備える、情報提供方法が提供される。
【００１８】
本開示のさらに他の局面に従うと、１以上の装置から機器の制御指令を受信可能なサーバを介して機器と通信可能なコンピュータによって実行されるプログラムが提供される。コンピュータは、機器に対する制御指令を格納するための記憶装置を備え、プログラムは、コンピュータに、サーバに制御指令を送信することにより、機器に向けて制御指令を送信するステップと、サーバから受信した機器の状態が制御指令に対応する機器の状態と一致するか否かの判断の結果を表示するステップと、機器の状態が一致する制御指令を送信した情報端末を特定する情報を表示するステップとを実行させる。
【発明の効果】
【００１９】
本開示によれば、第１の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致せず、第２の制御指令に対応する機器の状態が機器から送信された情報によって特定される当該機器の状態と一致する場合に、サーバは、第１の情報端末に、第２の情報端末を特定する情報を送信する。
【図面の簡単な説明】
【００２０】
【図１】実施の形態１に係る制御システムの概略構成を表した図である。
【図２】制御システムの機能的な構成を模式的に示す図である。
【図３】サーバのハードウエア構成の典型例を表した図である。
【図４】スマートフォンのハードウエア構成の典型例を表した図である。
【図５】サーバにおいて、制御指令が格納される態様の具体例を示す図である。
【図６】サーバにおいて、機器の状態が格納される態様の具体例を示す図である。
【図７】サーバ、スマートフォンおよび機器において実行される処理のフローチャートである。
【図８】スマートフォンのタッチパネルに表示されるＵＩ（ユーザインタフェース）の一例を示す図である。
【図９】結果「成功」の表示例を示す図である。
【図１０】結果「状態不一致」の表示例を示す図である。
【図１１】サーバの動作の流れの一例を時間軸に沿って示す図である。
【図１２】制御ＤＢ（データベース）の初期状態を示す図である。
【図１３】状態ＤＢの初期状態を示す図である。
【図１４】制御ＤＢにおけるデータの格納態様の具体例を示す図である。
【図１５】制御ＤＢにおけるデータの格納態様の具体例を示す図である。
【図１６】制御ＤＢにおけるデータの格納態様の具体例を示す図である。
【図１７】状態ＤＢにおけるデータの格納態様の具体例を示す図である。
【図１８】実施の形態２のサーバ、スマートフォンおよび機器において実行される処理のフローチャートである。
【図１９】実施の形態５のサーバ、スマートフォンおよび機器において実行される処理のフローチャートである。
【図２０】実施の形態６に係る制御システムの概略構成を表した図である。
【図２１】実施の形態６に係る制御システムの機能的な構成を模式的に示す図である。
【図２２】実施の形態６の制御ＤＢにおけるデータの格納態様の一例を模式的に示す図である。
【図２３】実施の形態６の状態ＤＢにおけるデータの格納態様の一例を模式的に示す図である。
【図２４】実施の形態６のサーバ、スマートフォンおよび機器において実行される処理のフローチャートである。
【図２５】スマートフォンのタッチパネルに表示されるＵＩの一例を示す図である。
【図２６】スマートフォンのタッチパネルに表示されるＵＩの一例を示す図である。
【図２７】ステップＳ６６のサブルーチンに相当する処理のフローチャートである。
【図２８】実施の形態６における制御ＤＢの一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照しつつ、本開示の各実施の形態に係る制御システムについて説明する。また、以下の説明では、同一の部材には同一の参照符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２２】
［実施の形態１］
＜システム構成＞
図１は、実施の形態１に係る制御システム１の概略構成を表した図である。図１を参照して、制御システム１は、サーバ１００と、情報端末としてのスマートフォン２００Ａ，２００Ｂと、家庭用電気機器（以下、「機器」と略す。）３１０，３２０とを含む。
【００２３】
サーバ１００は、ホームサーバとして機能する。機器３１０，３２０は、家庭用電気機器の一例である。より具体的には、機器３１０は、宅内に配置されたエアコンディショナである。機器３２０は、宅内に配置された空気清浄機である。機器３１０，３２０は、必要に応じて、操作対象として、機器３００と総称される。エアコンディショナおよび空気清浄機は、制御システム１において操作対象となる機器の単なる例示である。制御システム１において操作対象となる機器の配置や種類は、図１に示されたものに限定されない。
【００２４】
本明細書では、「エアコンディショナ」は、「エアコン」と略記される場合がある。
スマートフォン２００Ａ，２００Ｂのそれぞれは、サーバ１００と通信可能である。スマートフォン２００Ａ，２００Ｂは、必要に応じて、スマートフォン２００と総称される。
【００２５】
サーバ１００は、機器３００と通信可能である。サーバ１００は、一例として、ＸＭＬ（Extensible  Markup  Language）等のマークアップ言語を用いた通信仕様に基づき、スマートフォン２００および機器３００と通信する。なお、サーバ１００は、ＪＳＯＮ（JavaScript（登録商標）  Object  Notation）等の非マークアップ言語を用いた通信仕様に基づき、スマートフォン２００および機器３００と通信してもよい。通信に用いるデータの形式は、特に限定されるものではない。
【００２６】
スマートフォン２００Ａ，２００Ｂのそれぞれは、サーバ１００に対して、機器３００を制御するための信号を送信する。サーバ１００は、当該信号を機器３００との通信が可能な形式の情報に変換し、機器３００に、変換後の情報を送信する。
【００２７】
機器３００は、たとえばＥＣＨＯＮＥＴ  Ｌｉｔｅ（登録商標）のような汎用の通信プロトコルに従って送受信されるデータに基づいて、動作し得る。つまり、機器３００は、サーバ１００との間ではマークアップ言語で通信し、当該通信データから上記汎用の通信プロトコルに従ったデータを抽出し、そして、当該抽出したデータに基づいて自装置の動作を制御する。この場合、機器３００は、サーバ１００とのマークアップ言語での通信を実現するためのアダプタに接続されていても良い。当該アダプタは、機器３００に関するデータをサーバ１００と送受信するために、機器３００に接続される。本明細書では、このようなアダプタを機器３００の一部とみなす。つまり、当該アダプタがサーバ１００との間で機器３００に関する情報を送受信することを、機器３００自体がサーバ１００と当該情報を送信することと同じこととして取り扱う。
【００２８】
＜制御システムの動作の概要＞
図２は、制御システム１の機能的な構成を模式的に示す図である。図２を参照して、制御システム１の動作の概要を説明する。
【００２９】
サーバ１００には、制御システム１の機器３００に関する情報が格納されている。当該情報は、たとえば、機器３００の種別およびデータの送受信用のアドレスを含む。本明細書において機器の「種別」とは、「エアコンディショナ」「空気清浄機」「テレビ」「照明器具」等のように、機器３００の本質的な機能に基づいた区別を意味する。
【００３０】
機器３００は、サーバ１００に、任意の時間（たとえば１５分）ごとに、自装置の状態を特定する情報を送信する。これは、図２において、「Ａ．機器状態送信」として示される。「状態を特定する情報」は、機器３００の電源の状態（ＯＮまたはＯＦＦ）、機器３００における実行中の動作の種類、および、機器３００において設定されている内容の中の、少なくとも一つを含み得る。
【００３１】
サーバ１００は、スマートフォン２００に、機器３００から受信した当該機器３００の状態を送信する。これは、図２において、「Ｂ．機器状態送信」として示される。これにより、任意の時間ごとの機器３００の状態が、スマートフォン２００に提供される。
【００３２】
スマートフォン２００は、ユーザ操作に基づき、機器３００を制御するための制御指令の入力を受け付け、当該制御指令をサーバ１００に送信する。これは、図２において、「Ｃ．制御指令」として示される。
【００３３】
サーバ１００は、スマートフォン２００から受信した制御指令において指定される送信先（機器３００）へ、当該制御指令を送信する。これは、図２において、「Ｄ．制御指令」として示される。
【００３４】
機器３００は、サーバ１００から受信した制御指令に基づいて、自装置の動作を制御する。たとえば、「電源ＯＮ」の制御指令を受信すれば、自装置の電源をＯＮに切り替える。
【００３５】
サーバ１００は、機器３００へ制御指令を送信してから一定時間後に、機器３００に、当該機器３００の状態を送信することを要求する信号を送信する。これは、図２において、「Ｅ．状態要求」として示される。
【００３６】
サーバ１００からの上記要求に応じて、機器３００は、サーバ１００に、自装置の状態を送信する。これは、図２において、「Ｆ．機器状態送信」として示される。
【００３７】
サーバ１００に送信される状態は、少なくともサーバ１００から受信した制御指令に対応する状態を含む。たとえば、サーバ１００から受信した制御指令が電源の状態を指定する指令（たとえば、「電源ＯＮ」または「電源ＯＦＦ」）であった場合には、機器３００が送信する当該機器３００の状態は、機器３００のその時点での電源の状態を含む。機器３００の電源の状態は、「電源ＯＮ」および「電源ＯＦＦ」のいずれかである。なお、機器３００の電源の状態は、「電源ＯＮ」と「電源ＯＦＦ」と「スタンバイ」との中から選択された１つである場合もある。「スタンバイ」とは、省エネルギモードに属する電源の状態の一例である。
【００３８】
また、サーバ１００から受信した制御指令が、「冷房」、「暖房」または「除湿」のような動作モードを指定する指令であった場合には、機器３００が送信する当該機器３００の状態は、機器３００のその時点での動作モードを含む。
【００３９】
「Ｆ．機器状態送信」における機器３００の状態の送信は、サーバ１００からの制御指令の送信に対応して行なわれるのに対し、「Ａ．機器状態送信」における機器３００の状態の送信は、任意の時間ごとに、定期的に、行なわれる。
【００４０】
サーバ１００は、機器３００から受信した当該機器３００の状態が、スマートフォン２００から受信した制御指令に対応する状態であるか否かを判断する。そして、サーバ１００は、スマートフォン２００に、当該判断の結果を送信する。これは、図２において、「Ｇ．結果送信」として示される。スマートフォン２００に送信される結果は、たとえば、「成功」または「状態不一致」である。
【００４１】
サーバ１００は、機器３００の状態が当該制御指令に対応する状態であると判断すると、判断の結果として「成功」を送信する。たとえば、機器３００の状態と当該制御指令によって指定される状態とが一致する場合、機器３００の状態は、当該制御指令に対応する状態であると判断される。制御指令によって指定される状態は、制御指令そのものを意味する。より具体的には、スマートフォン２００からサーバ１００に送信された制御指令が「電源ＯＮ」であり、機器３００からサーバ１００に送信された当該機器３００の状態が「電源ＯＮ」である場合、制御指令と機器３００の状態とが一致する。したがって、この場合、サーバ１００は、スマートフォン２００に、上記判断の結果として、「成功」を送信する。
【００４２】
一方、サーバ１００は、機器３００の状態が当該制御指令に対応しない状態であると判断すると、判断の結果として「状態不一致」を送信する。たとえば、機器３００の状態と当該制御指令によって指定される状態が一致しない場合、機器３００の状態は、当該制御指令に対応しない状態であると判断される。
【００４３】
より具体的には、スマートフォン２００からサーバ１００に送信された制御指令が「電源ＯＮ」であり、機器３００からサーバ１００に送信された当該機器３００の状態が「電源ＯＦＦ」または「スタンバイ」である場合には、サーバ１００は、スマートフォン２００に、上記判断の結果として、「状態不一致」を送信する。たとえば、サーバ１００が機器３００にスマートフォン２００から受信した制御信号「電源ＯＮ」を送信した直後、機器３００が直接「電源ＯＦＦ」のための操作をなされた場合、上記判断の結果として「状態不一致」が送信される。
【００４４】
機器３００は、サーバ１００から受信した制御指令に対応できない状態にある場合もあり得る。この場合、「Ｇ．結果送信」において送信される結果の候補は、上記「成功」および「状態不一致」に加えて、「失敗」を含む。
【００４５】
「Ｇ．結果送信」において、サーバ１００が、スマートフォン２００に、判断の結果として「失敗」を送信する場合としては、たとえば、ルータの故障などにより、ネットワークが遮断されており、サーバ１００から機器３００に制御指令を送信できない場合が挙げられる。より具体的には、サーバ１００は、機器３００へ制御信号を送信した後、所定時間、機器３００から制御指令を受信したことを示す信号（たとえば、ＡＣＫ信号）を待つ。そして、サーバ１００は、上記所定時間以内に機器３００から上記信号を受信しない場合、スマートフォン２００に、判断の結果として「失敗」を送信する。
【００４６】
以上、図２を参照して説明したように、制御システム１では、スマートフォン２００は、サーバ１００を介して機器３００に制御指令を送信し、当該制御指令の結果をサーバ１００から受信する。より具体的には、サーバ１００は、スマートフォン２００から制御指令を受信すると（「Ｃ．制御指令」）、機器３００へ当該制御指令を送信する（「Ｄ．制御指令」）。その後、機器３００は、サーバ１００に、自装置の状態を送信する（「Ｆ．機器状態送信」）。サーバ１００は、機器３００から受信した当該機器３００の状態とスマートフォン２００から受信した制御指令とに基づいて、スマートフォン２００からの制御指令に対する結果を判断する。そして、サーバ１００は、スマートフォン２００に、判断の結果を送信する（「Ｇ．結果送信」）。
【００４７】
＜ハードウエア構成＞
（１）サーバ１００
図３は、サーバ１００のハードウエア構成の典型例を表した図である。図３に示されるように、サーバ１００は、主たる構成要素として、プログラムを実行するプロセッサ１５１と、データを不揮発的に格納するＲＯＭ（Read  Only  Memory）１５２と、プロセッサ１５１によるプログラムの実行により生成されたデータ、又は入力装置（図示せず）を介して入力されたデータを揮発的に格納するＲＡＭ（Random  Access  Memory）１５３と、データを不揮発的に格納するＨＤＤ（Hard  Disk  Driver）１５４と、ＬＥＤ（Light  Emitting  Diode）１５５と、スイッチ１５６と、通信ＩＦ（Interface）１５７と、電源回路１５８と、モニタ１５９と、操作キー１６０とを含む。各構成要素は、相互にデータバスによって接続されている。
【００４８】
ＨＤＤ１５４は、テンプレートＤＢ１１０および情報ＤＢ１２０を格納する。電源回路１５８は、コンセントを介して受信した商用電源の電圧を降圧し、サーバ１００の各部に電源供給を行なう。スイッチ１５６は、電源回路１５８に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。モニタ１５９は、各種のデータを表示するためのデバイスである。通信ＩＦ１５７は、機器３００とのデータの送受信処理、および、スマートフォン２００とのデータの送受信処理を行なう。
【００４９】
ＬＥＤ１５５は、サーバ１００の動作状態を表す各種の表示ランプである。たとえば、ＬＥＤ１５５は、サーバ１００の主電源のオンまたはオフ状態、およびＨＤＤ１５４への読み出しまたは書き込み状態等を表す。操作キー１６０は、サーバ１００のユーザがサーバ１００へデータを入力するための用いるキー（キーボード）である。
【００５０】
サーバ１００における処理は、ハードウエアおよびプロセッサ１５１により実行されるソフトウエアによって実現される。このようなソフトウエアは、ＨＤＤ１５４に予め記憶されている場合がある。また、ソフトウエアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウエアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウエアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ１５７等を介してダウンロードされた後、ＨＤＤ１５４に一時的に格納される。そのソフトウエアは、プロセッサ１５１によってＨＤＤ１５４から読み出され、ＲＡＭ１５３に実行可能なプログラムの形式で格納される。プロセッサ１５１は、そのプログラムを実行する。
【００５１】
図３に示されるサーバ１００を構成する各構成要素は、一般的なものである。したがって、本開示の本質的な部分は、ＲＡＭ１５３、ＨＤＤ１５４、記憶媒体に格納されたソフトウエア、あるいはネットワークを介してダウンロード可能なソフトウエアであるともいえる。なお、サーバ１００のハードウエアの動作は周知であるので、詳細な説明は繰り返さない。
【００５２】
なお、記録媒体としては、ＤＶＤ（Digital  Versatile  Disc）−ＲＡＭに限られず、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、磁気テープ、カセットテープ、光ディスク、ＥＥＰＲＯＭ（Electronically  Erasable  and  Programmable  Read  Only  Memory）、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、プロセッサにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５３】
（２）スマートフォン２００
図４は、スマートフォン２００のハードウエア構成の典型例を表した図である。図４に示されるように、スマートフォン２００は、主たる構成要素として、プログラムを実行するプロセッサ２５１と、データを不揮発的に格納するＲＯＭ２５２と、プロセッサ２５１によるプログラムの実行により生成されたデータ、又は入力装置（図示せず）を介して入力されたデータを揮発的に格納するＲＡＭ２５３と、データを不揮発的に格納するメモリ２５４と、タッチパネル２５５と、スイッチ２５６と、通信ＩＦ（Interface）２５７と、電源回路２５８とを含む。各構成要素は、相互にデータバスによって接続されている。
【００５４】
電源回路２５８は、スマートフォン２００に内蔵される電池等の電源の電圧を降圧し、スマートフォン２００の各部に電源供給を行なう回路である。スイッチ２５６は、電源回路２５８に給電を行なうか否かを切替えるための主電源用のスイッチ、およびその他の各種の押しボタンスイッチである。通信ＩＦ２５７は、サーバ１００とのデータの送受信処理を行なう。メモリ２５４は、たとえばフラッシュメモリである。
【００５５】
タッチパネル２５５は、情報を表示し、かつ情報の入力を受け付ける。つまり、タッチパネル２５５は、情報の表示部（タッチパネル２５５）の機能と入力部の機能とを有する。なお、スマートフォン２００では、両機能は、タッチパネル２５５として一体の部材として実現されても良いし、「モニタ」と「キーボードおよび／またはタッチパッド」というように、複数の部材として実現されても良い。
【００５６】
スマートフォン２００における処理は、ハードウエアおよびプロセッサ２５１により実行されるソフトウエアによって実現される。このようなソフトウエアは、メモリ２５４に予め記憶されている場合がある。また、ソフトウエアは、その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウエアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウエアは、読取装置によりその記憶媒体から読み取られて、あるいは、通信ＩＦ２５７等を介してダウンロードされた後、メモリ２５４に一旦格納される。そのソフトウエアは、プロセッサ２５１によってメモリ２５４から読み出され、ＲＡＭ２５３に実行可能なプログラムの形式で格納される。プロセッサ２５１は、そのプログラムを実行する。
【００５７】
図４に示されるスマートフォン２００を構成する各構成要素は、一般的なものである。したがって、実施の形態１の本質的な部分は、ＲＡＭ２５３、メモリ２５４、記憶媒体に格納されたソフトウエア、あるいはネットワークを介してダウンロード可能なソフトウエアであるともいえる。なお、スマートフォン２００のハードウエアの動作は周知であるので、詳細な説明は繰り返さない。
【００５８】
なお、記録媒体としては、ＤＶＤ−ＲＡＭに限られず、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、磁気テープ、カセットテープ、光ディスク、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。また、ここでいうプログラムとは、プロセッサにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５９】
＜データの格納態様＞
制御システム１において、サーバ１００は、スマートフォン２００から受信した制御指令と、当該制御指令を機器３００へ送信した後に受信する機器３００の状態とに基づいて、制御指令の結果を判断する。このため、サーバ１００は、制御指令を格納し、また、機器３００の状態を格納する。これらが格納される態様の具体例を、以下に説明する。
【００６０】
（制御指令の格納態様）
図５は、サーバ１００において、制御指令が格納される態様の具体例を示す図である。スマートフォン２００から送信された制御指令は、図５に示された制御データベースとして、たとえばＨＤＤ１５４に格納される。また、本明細書および図面では、データベースは、「ＤＢ」と略記される。
【００６１】
図５に示されるように、制御ＤＢは、７つの項目のデータを含む。７つの項目とは、「制御ＩＤ」、「機器名」、「制御指令者」、「制御内容」、「結果」、「結果状態」、および「制御時間」である。
【００６２】
「制御ＩＤ」は、制御指令のそれぞれに割り振られるＩＤである。各制御指令は、唯一の制御ＩＤを割り振られる。図５では、「制御ＩＤ」の一例として、「１」「２」等の番号が示されている。
【００６３】
「機器名」は、制御システム１において、制御対象となる機器３００を特定する情報である。図５では、「機器名」の一例として、「リビングエアコン」、「空気清浄機」のような、機器３００に対してユーザ等によって付された名称が示されている。
【００６４】
「制御指令者」は、制御指令をサーバ１００へ送信したユーザを特定する情報である。図５では、「制御指令者」の一例として、「Ａ」「Ｂ」等の、制御システム１における各ユーザの名称が示されている。
【００６５】
「制御内容」は、機器３００に対して指示される動作の内容である。図５では、「制御内容」の一例として、「電源：ＯＦＦ」「電源：ＯＮ」「モード：暖房」「モード：冷房」が示されている。「電源：ＯＦＦ」は、機器３００の電源をＯＦＦする動作を意味する。「電源：ＯＮ」は、機器３００の電源をＯＮする動作を意味する。「モード：暖房」は、機器３００の運転モードを「暖房」へ切り替える動作を意味する。「モード：冷房」は、機器３００の運転モードを「冷房」へ切り替える動作を意味する。
【００６６】
「結果」は、制御指令と機器３００の状態との比較の結果である。図５では、「結果」の例として、「状態不一致」、「成功」、「失敗」、および、「結果待ち」が示されている。「状態不一致」、「成功」、および、「失敗」のそれぞれは、図２を参照して説明された判断結果「状態不一致」、「成功」、および、「失敗」のそれぞれに対応する。「結果待ち」は、機器３００に制御指令が送信されてからサーバ１００が機器３００の状態を未だ受信していないことを意味する。
【００６７】
「結果状態」は、制御指令を受信してから一定時間後に機器３００から送信された当該機器３００の状態である。図５では、「結果状態」の例として、「電源：ＯＮ」が示されている。
【００６８】
「制御時刻」は、サーバ１００がスマートフォン２００から制御指令を受信した時刻である。
【００６９】
サーバ１００は、スマートフォン２００から制御指令を受信すると、当該制御指令に「制御ＩＤ」を割り当て、当該制御指令の「制御時刻」を特定し、当該制御指令から「機器名」「制御指令者」「制御内容」を抽出し、そして、制御ＤＢに、これらの情報を登録する。また、当該制御指令についての「結果」として、制御ＤＢに、「結果待ち」を登録する。そして、サーバ１００は、制御指令を機器３００に送信する。その後、サーバ１００は、機器３００から当該機器３００の状態を受信すると、「結果状態」に当該状態を登録する。また、サーバ１００は、機器３００の状態と「制御内容」とを比較して、制御指令の「結果」を特定する。そして、サーバ１００は、特定した「結果」を、制御ＤＢへ登録する。
【００７０】
（状態ＤＢ）
図６は、サーバ１００において、機器３００の状態が格納される態様の具体例を示す図である。機器３００から送信された当該機器３００の状態は、図６に示された状態ＤＢとして、たとえばＨＤＤ１５４に格納される。
【００７１】
図６に示されるように、状態ＤＢは、３つの項目のデータを含む。３つの項目とは、「機器名」「状態」「通知時刻」である。
【００７２】
「機器名」は、制御システム１において機器３００を特定する情報であり、図５の「機器名」と同じである。「状態」は、機器３００から送信された状態である。図５の「結果状態」と同じである。「通知時刻」は、サーバ１００からスマートフォン２００に最新の「結果」が送信された時刻である。サーバ１００は、スマートフォン２００からの制御指令と機器３００の状態とに基づいて当該制御指令の「結果」を特定し、当該「結果」をスマートフォン２００へ送信する（図２の「Ｇ．結果送信」）。「通知時刻」は、機器３００からサーバ１００に、当該機器３００の状態が送信された、最新の時刻である。
【００７３】
＜処理の流れ＞
制御システム１では、スマートフォン２００からの制御指令がサーバ１００を介して機器３００へ送信される。そして、スマートフォン２００からの制御指令と機器３００の状態とに基づいて当該制御指令の結果が特定され、当該結果がスマートフォン２００へ送信される。このような制御システム１における処理の流れを、図７を参照してより具体的に説明する。図７は、サーバ１００、スマートフォン２００および機器３００において実行される処理のフローチャートである。サーバ１００における処理は、プロセッサ１５１によって実行される。スマートフォン２００における処理は、プロセッサ２５１によって実行される。
【００７４】
まず、ステップＰ１０で、スマートフォン２００は、サーバ１００に、機器３００に対する制御指令を送信する。たとえば、スマートフォン２００では、タッチパネル２５５に対するユーザの操作に応じて、プロセッサ２５１は、サーバ１００に、当該操作に応じた制御指令を送信する。スマートフォン２００におけるユーザの操作について、図８を参照して説明する。図８は、スマートフォン２００のタッチパネル２５５に表示されるユーザインタフェース（以下、「ＵＩ」と称する。）の一例を示す図である。
【００７５】
スマートフォン２００では、機器３００に制御指令を送信するためのアプリケーションの実行によって、図８に示されるようなＵＩ６００が表示される。ＵＩ６００は、フィールド６１０，６２０，６３０，６４０を含む。フィールド６１０は、制御対象の機器３００の機器名を表示する。フィールド６２０は、３つの表示モードを表示する。フィールド６３０は、機器３００の状態を表示する。フィールド６４０は、制御指令を選択するためのボタン（ボタン６４１，６４２）を表示する。
【００７６】
ＵＩ６００は、機器３００の電源状態を切り替える制御指示を送信する表示モードを表示する。フィールド６３０は、スマートフォン２００に格納されている、機器３００の最新の状態を表示する。当該最新の状態は、事前にサーバ１００から送信されて、メモリ２５４に格納されている。サーバ１００は、たとえば、図２において「Ａ．機器状態送信」による機器３００からの定期的な状態の送信によって機器３００の最新の状態を取得し、スマートフォン２００に、当該最新の情報を送信する。
【００７７】
ボタン６４１は、制御指令「電源ＯＮ」を送信するためのボタンである。ボタン６４２は、制御指令「電源ＯＦＦ」を送信するためのボタンである。２つのボタン６４１，６４２のうち、フィールド６３０に表示された状態に対応する方のボタン（ボタン６４１）は、ＵＩ６００における背景とは異なる色で、目立つように表示されている。そして、ボタン６４１またはボタン６４２のいずれかが操作されると、プロセッサ２５１は、サーバ１００に、操作されたボタンに対応する制御指令を送信する。
【００７８】
図７に戻って、ステップＰ１０においてスマートフォン２００から制御指令が送信された後、ステップＳ１０で、サーバ１００は、スマートフォン２００から送信された制御指令を受信し、当該制御指令を制御ＤＢ（図５参照）に格納する。なお、制御ＤＢにおいて、格納される当該制御指令の「結果」の欄には、「結果待ち」が格納される。そして、制御は、ステップＳ２０へ進められる。
【００７９】
ステップＳ２０では、サーバ１００は、受信した制御指令に制御ＩＤを割り当て、当該制御指令の送信元であるスマートフォン２００に当該制御ＩＤを送信する。そして、制御は、ステップＳ３０へ進められる。
【００８０】
なお、ステップＳ２０でサーバ１００から制御ＩＤが送信された後、ステップＰ２０で、スマートフォン２００は、送信された制御ＩＤを受信する。スマートフォン２００では、ステップＰ１０で送信された制御指令は、ステップＰ２０で受信された制御ＩＤと関連付けられる。
【００８１】
ステップＳ３０では、サーバ１００は、機器３００に、ステップＳ１０で受信した制御指令を送信する。なお、制御指令の送信先は、当該制御指令において制御対象として指定されている機器３００を含む。制御指令の送信先は、当該制御指令において制御対象として指定されている機器３００のみである場合もある。
【００８２】
ステップＳ３０におけるサーバ１００からの制御指令の送信の後、ステップＤ１０では、機器３００は、制御指令を受信し、当該制御指令を実行する。たとえば、制御指令が「電源ＯＦＦ」であれば、機器３００は、当該機器３００の電源をＯＦＦへと切り替える。制御指令が「モード：暖房」であれば、機器３００は、当該機器３００の動作モードを「暖房」へと切り替える。
【００８３】
一方、ステップＳ３０で制御指令を送信してから一定時間が経過すると、ステップＳ４０で、サーバ１００は、ステップＳ３０における制御指令の送信先である機器３００に、当該機器３００の状態の送信を要求する信号を送信する。
【００８４】
ステップＳ３０におけるサーバ１００からの状態の送信を要求する信号の送信の後、ステップＤ２０で、機器３００は、当該信号を受信し、当該信号に応じて当該機器３００の状態を送信する。このとき送信される状態は、ステップＤ１０で受信した制御命令によって指示される動作に対応する状態である。たとえば、受信した制御指令が電源の切り替えを指示するものであれば、ステップＤ２０で送信される状態は、機器３００の電源状態である。受信した制御指令が動作モードの切り替えを指示するものであれば、ステップＤ２０で送信される状態は、機器３００の動作モードである。
【００８５】
ステップＤ２０における機器３００からの状態の送信の後、ステップＳ５０で、サーバ１００は、当該状態を受信し、状態ＤＢ（図６参照）に当該状態を格納する。そして、制御は、ステップＳ６０へ進められる。
【００８６】
ステップＳ６０で、サーバ１００は、ステップＳ５０において機器３００から受信した状態を、制御ＤＢ（図５参照）に格納する。
【００８７】
ステップＳ６０では、サーバ１００は、さらに、ステップＳ５０で機器３００から受信した状態と、ステップＳ１０でスマートフォン２００から受信した制御指令とに基づいて、制御指令が成功したかどうかを判断する。より具体的には、プロセッサ１５１は、ステップＳ５０で機器３００から受信した状態が、ステップＳ１０でスマートフォン２００から受信した制御指令に対応する状態と一致するかどうかを判断する。なお、ここで判断対象となる「ステップＳ１０でスマートフォン２００から受信した制御指令」は、制御ＤＢ（図５参照）において、「結果」の値が「結果待ち」である制御指令である。判断の結果は、「成功」、「状態不一致」、および「失敗」の中の１つである。前者の状態と後者の状態が一致した場合、結果は「成功」である。
【００８８】
前者の状態と後者の状態とが一致しない場合、結果は「状態不一致」または「失敗」である。機器３００がスマートフォン２００から受信した制御指令を実行できない処理を実行中であるために前者の状態と後者の状態が一致しない場合には、結果は「失敗」である。電源状態の切り替えや動作モードの変更についての制御指令について、当該制御指令を実行できない処理の一例としては、清掃処理が挙げられる。そして、機器３００から受信した状態が「清掃処理の実行中」であり、制御指令が「電源ＯＮ」である場合には、結果は「失敗」である。
【００８９】
機器３００がスマートフォン２００から受信した制御指令を実行できる状態であるにも関わらず前者の状態と後者の状態が一致しない場合には、結果は「状態不一致」である。たとえば、機器３００から受信した状態が「動作モード：冷房」であり、制御指令が「動作モード：暖房」である場合、結果は「状態不一致」である。機器３００の動作モードが「冷房」である場合、機器３００は、「暖房」の動作モードでも運転可能な状態であると考えられる。
【００９０】
ステップＳ６０では、サーバ１００は、さらに、制御ＤＢ（図５参照）中の、判断対象となっている制御指令に対応する「結果」として、上記判断の結果を格納する。
【００９１】
一方、ステップＰ３０で、スマートフォン２００は、ステップＰ２０でサーバ１００から制御ＩＤを受信してから一定時間後、サーバ１００に、ステップＰ１０において送信した制御指令の結果を確認するための信号を送信する。当該信号は、たとえば、ステップＰ２０で受信された制御ＩＤと、制御指令の結果を確認するためのメッセージとを含む。
【００９２】
サーバ１００は、ステップＰ３０においてスマートフォン２００が送信した信号を受信すると、ステップＳ７０において、スマートフォン２００に、ステップＳ６０における判断の「結果」を送信する。ステップＳ７０における「結果」の送信と、ステップＳ６０における制御ＤＢへの上記判断の結果の格納とは、同時に行われる場合もある。また、サーバ１００は、「結果」の送信の後に、上記判断の結果を制御ＤＢへ格納する場合もある。
【００９３】
スマートフォン２００は、ステップＳ７０において送信された「結果」を受信すると、ステップＰ４０で、当該「結果」をタッチパネル２５５に表示する。図９および図１０を参照して、「結果」の表示の具体例を説明する。
【００９４】
図９は、結果「成功」の表示例を示す図である。図１０は、結果「状態不一致」の表示例を示す図である。
【００９５】
図９に示されたＵＩ６００Ａは、電源をＯＮすることを指示する制御指令が送信され、機器３００が当該制御指令に従って当該機器３００の動作を制御したときに表示される。ＵＩ６００Ａは、図８を参照して説明したＵＩ６００に重ねられた、ボックス６５１を含む。ボックス６５１は、結果「成功」を示す文字列を含む。ボックス６５１は、さらに、制御指令の内容に関する文字列（［制御内容］「電源：ＯＮ」）と、機器３００の状態に関する文字列（［結果］「電源：ＯＮ」）を含む。
【００９６】
図１０に示されたＵＩ６００Ｂは、電源をＯＦＦすることを指示する制御信号が送信されたにも関わらず、機器３００の動作が電源をＯＮし続けたときに表示される。ＵＩ６００Ｂは、図８を参照して説明したＵＩ６００に重ねられた、ボックス６５２を含む。ボックス６５２は、結果「状態不一致」を示す文字列を含む。ボックス６５２は、さらに、制御指令の内容に関する文字列（［制御内容］「電源：ＯＦＦ」）と、機器３００の状態に関する文字列（［結果］「電源：ＯＮ」）を含む。
【００９７】
＜処理の具体例＞
図７を参照して説明された処理では、処理の進行に伴って、制御ＤＢ（図５参照）および状態ＤＢ（図６参照）に格納されるデータが変化する。ここで、図１１〜図１７を参照して、制御ＤＢおよび状態ＤＢに格納されるデータの内容が、処理の進行に伴ってどのように変化するかについて、さらに具体的に説明する。なお、以下の例では、サーバ１００は、２台のスマートフォン２００のそれぞれから制御指令を受信する。２台のスマートフォン２００のうち、１台は、ユーザＡによって操作されるスマートフォン２００である。もう１台は、ユーザＢによって操作されるスマートフォン２００である。
【００９８】
図１１は、サーバ１００の動作の流れの一例を時間軸に沿って示す図である。また、図１２、図１４〜図１６は、制御ＤＢにおけるデータの格納態様の具体例を示す図である。図１３および図１７は、状態ＤＢにおけるデータの格納態様の具体例を示す図である。
【００９９】
図１２は、制御ＤＢの初期状態を示す。図１３は、状態ＤＢの初期状態を示す。初期状態では、制御ＤＢおよび状態ＤＢのいずれにおいても、すべての項目においてデータが登録されていない。図１４〜図１６には、制御ＤＢにおけるデータの格納態様の遷移が、テーブルＳＣ０１〜ＳＣ１１の順序で示されている。図１７には、状態ＤＢにおけるデータの格納態様の遷移が、テーブルＳＴ０１〜ＳＴ０２の順序で示されている。以下の説明では、図１１に示された動作の流れに沿って、図１４〜図１７のそれぞれに示されたデータの格納態様の変化を説明する。
【０１００】
図１１において「Ｔ１１」として示されるように、ある日の１２時００分００秒に、サーバ１００は、スマートフォン２００から制御指令を受信する。このスマートフォン２００は、ユーザＡによって操作される。サーバ１００は、制御指令を受信すると、当該制御指令に制御ＩＤを割り当て、そして、制御ＤＢに当該制御指令を格納する。当該制御指令の格納は、図７のステップＳ１０に対応する。図１４のテーブルＳＣ０１は、このときの制御ＤＢにおけるデータの格納態様を示す。テーブルＳＣ０１には、制御ＩＤ「１」について、機器名（リビングエアコン）、制御指示者（Ａ）、および制御内容（電源：ＯＦＦ）が格納されている。
【０１０１】
その後、図１１において「Ｔ１２」として示されるように、サーバ１００は、Ｔ１１でスマートフォン２００から受信した制御指令を機器３００へ送信する。説明の便宜上、機器３００への制御指令の送信も、１２時００分００秒に行われたものとする。サーバ１００は、機器３００に制御指令を送信した時刻を、制御ＤＢへ格納する。図１４のテーブルＳＣ０２は、制御指令を送信した時刻（「制御時刻」）を格納された制御ＤＢが示されている。
【０１０２】
機器３００への制御指令の送信から１０秒間が経過した後、つまり、１２時００分１０秒に、サーバ１００は、機器３００に、状態の送信の要求を送信する（図１１の「Ｔ１３」）。ここでの「１０秒間」とは、ステップＳ３０における機器３００への制御指令の送信が行われた後、ステップＳ４０における機器３００への状態の送信が要求されるまでの「一定時間」の一例である。
【０１０３】
その後、図１１において「Ｔ１４」として示されるように、サーバ１００は、機器３００から当該機器３００の状態を受信する。そして、サーバ１００は、受信した状態とスマートフォン２００から受信した制御指令によって特定される状態とが一致するかどうかに基づいて、制御指令が成功したかどうかを判断する。そして、サーバ１００は、機器３００から受信した当該機器３００の状態と判断の結果を、制御ＤＢに登録する。このときの制御ＤＢは、図１４のテーブルＳＣ０３に対応する。テーブルＳＣ０３では、テーブルＳＣ０２に対して、制御ＩＤ「１」について、「結果」が「状態不一致」へと変更され、「結果状態」（電源ＯＮ）が追加されている。また、サーバ１００は、機器３００から受信した当該機器３００の状態（電源ＯＮ）を、状態ＤＢへ登録する。また、サーバ１００は、機器３００から当該機器３００の状態を受信した時刻を、状態ＤＢへ登録する。このときの状態ＤＢは、図１７のテーブルＳＴ０１に対応する。テーブルＳＴ０１では、図１３に示された初期状態と比較して、機器名「リビングエアコン」と、当該リビングエアコンの状態「電源：ＯＮ」と、通知時刻「２０１３/７/１＿１２：００：１０」が追加されている。
【０１０４】
その後、図１１において「Ｔ１５」として示されるように、サーバ１００は、スマートフォン２００に、上記した判断の結果を送信する。Ｔ１３〜Ｔ１５は、１２時００分１０秒に行なわれたものとする。
【０１０５】
次に、図１１において「Ｔ２１」として示されるように、１３時００分００秒に、サーバ１００は、スマートフォン２００から制御指令を受信する。このスマートフォン２００は、ユーザＢによって操作される。サーバ１００は、制御指令を受信すると、当該制御指令に制御ＩＤを割り当て、そして、制御ＤＢに当該制御指令を格納する。当該制御指令の格納は、図７のステップＳ１０に対応する。図１４のテーブルＳＣ０４は、このときの制御ＤＢにおけるデータの格納態様を示す。テーブルＳＣ０４には、テーブルＳＣ０３と比較して、制御ＩＤ「２」について、機器名（空気清浄機）、制御指示者（Ｂ）、制御内容（電源：ＯＮ）、および結果（結果待ち）がさらに格納されている。
【０１０６】
その後、図１１において「Ｔ２２」として示されるように、サーバ１００は、Ｔ２１でスマートフォン２００から受信した制御指令を機器３００へ送信する。説明の便宜上、機器３００への制御指令の送信も、１３時００分００秒に行われたものとする。サーバ１００は、機器３００に制御指令を送信した時刻を、制御ＤＢへ格納する。図１４のテーブルＳＣ０５は、テーブルＳＣ０４に対して、制御ＩＤ「２」についての「制御時刻」をさらに格納されている。
【０１０７】
機器３００への制御指令の送信から１０秒間が経過した後、つまり、１３時００分１０秒に、サーバ１００は、機器３００に、状態の送信の要求を送信する（図１１の「Ｔ２３」）。ここでの「１０秒間」とは、ステップＳ３０における機器３００への制御指令の送信が行われた後、ステップＳ４０における機器３００への状態の送信が要求されるまでの「一定時間」の一例である。
【０１０８】
その後、図１１において「Ｔ２４」として示されるように、サーバ１００は、機器３００から当該機器３００の状態を受信する。そして、サーバ１００は、受信した状態とスマートフォン２００から受信した制御指令によって特定される状態とが一致するかどうかに基づいて、制御指令が成功したかどうかを判断する。そして、サーバ１００は、機器３００から受信した当該機器３００の状態と判断の結果を、制御ＤＢに登録する。このときの制御ＤＢは、図１４のテーブルＳＣ０６に対応する。テーブルＳＣ０６では、テーブルＳＣ０５に対して、制御ＩＤ「２」について、「結果」が「成功」へと変更され、「結果状態」（電源ＯＮ）が追加されている。また、サーバ１００は、機器３００から受信した当該機器３００の状態を、状態ＤＢへ登録する。このときの状態ＤＢは、図１７のテーブルＳＴ０２に対応する。テーブルＳＴ０２では、テーブルＳＴ０１と比較して、機器名「空気清浄機」と、当該空気清浄機の状態「電源：ＯＮ」と、通知時刻「２０１３/７/１＿１３：００：１０」が追加されている。
【０１０９】
その後、図１１において「Ｔ２５」として示されるように、サーバ１００は、スマートフォン２００に、上記した判断の結果を送信する。Ｔ２３〜Ｔ２５は、１３時００分１０秒に行なわれたものとする。
【０１１０】
次に、図１１において「Ｔ３１」として示されるように、１４時００分００秒に、サーバ１００は、スマートフォン２００から制御指令を受信する。当該スマートフォン２００は、ユーザＡによって操作される。サーバ１００は、制御指令を受信すると、当該制御指令に制御ＩＤを割り当て、そして、制御ＤＢに当該制御指令を格納する。当該制御指令の格納は、図７のステップＳ１０に対応する。図１５のテーブルＳＣ０７は、このときの制御ＤＢにおけるデータの格納態様を示す。テーブルＳＣ０７には、制御ＩＤ「３」について、機器名（リビングエアコン）、制御指示者（Ａ）、制御内容（モード：暖房）、および結果（結果待ち）が格納されている。
【０１１１】
その後、図１１において「Ｔ３２」として示されるように、サーバ１００は、スマートフォン２００から受信した制御指令を機器３００へ送信する。説明の便宜上、機器３００への制御指令の送信も、１２時００分００秒に行われたものとする。サーバ１００は、機器３００に制御指令を送信した時刻を、制御ＤＢへ格納する。図１５のテーブルＳＣ０８は、このときの制御ＤＢにおけるデータの格納態様を示す。テーブルＳＣ０８には、テーブルＳＣ０７と比較して、制御ＩＤ「３」の制御指令を送信した時刻（「制御時刻」）がさらに格納されている。
【０１１２】
ここで、Ｔ３２における機器３００への制御指令の送信が失敗したとする。送信の失敗例としては、たとえば、サーバ１００から機器３００へ制御指令を送信したにもかかわらず、サーバ１００が当該送信から所定時間以内に機器３００から制御指令を受信したことを示す信号（たとえば、ＡＣＫ信号）を受信しない場合が挙げられる。
【０１１３】
図１１における「Ｔ３３」は、サーバ１００が上記のように制御指令の送信を失敗したことを示す。このとき、サーバ１００は、制御ＤＢに送信の失敗を登録する。テーブルＳＣ０９は、テーブルＳＣ０８と比較して、制御ＩＤ「３」の結果が「失敗」へと変更されている。
【０１１４】
制御ＩＤ「３」については、これ以降、機器３００への状態送信の要求などが行われない。したがって、制御ＩＤ「３」が処理されても、状態ＩＤは更新されない。
【０１１５】
次に、図１１において「Ｔ４１」として示されるように、１５時００分００秒に、サーバ１００は、スマートフォン２００から制御指令を受信する。このスマートフォン２００は、ユーザＢによって操作される。サーバ１００は、制御指令を受信すると、当該制御指令に制御ＩＤを割り当て、そして、制御ＤＢに当該制御指令を格納する。当該制御指令の格納は、図７のステップＳ１０に対応する。図１６のテーブルＳＣ１０は、このときの制御ＤＢにおけるデータの格納態様を示す。テーブルＳＣ０１０には、テーブルＳＣ０９と比較して、制御ＩＤ「４」について、機器名（リビングエアコン）、制御指示者（Ａ）、制御内容（モード：冷房）、および結果（結果待ち）がさらに格納されている。
【０１１６】
その後、図１１において「Ｔ４２」として示されるように、サーバ１００は、Ｔ４１でスマートフォン２００から受信した制御指令を機器３００へ送信する。説明の便宜上、機器３００への制御指令の送信も、１５時００分００秒に行われたものとする。サーバ１００は、機器３００に制御指令を送信した時刻を、制御ＤＢへ格納する。図１６のテーブルＳＣ１１は、テーブルＳＣ１０に対して、制御ＩＤ「４」についての「制御時刻」をさらに格納されている。
【０１１７】
これ以降、サーバ１００は、機器３００への状態の送信の要求等を実行する。これ以降の処理による制御ＤＢおよび状態ＤＢの更新態様については、上記の説明内容と同様とすることができるため、ここでは、説明を繰り返さない。
【０１１８】
＜まとめ＞
以上説明された実施の形態１によれば、サーバ１００は、スマートフォン２００から受信した制御指令を格納し、また、当該制御指令を機器３００へ送信する。その後、サーバ１００は、機器３００から当該機器３００の状態を受信する。そして、サーバ１００は、機器３００の状態とスマートフォン２００から受信した制御指令によって特定される状態とを比較することにより、制御指令が成功したかどうかを判断する。そして、サーバ１００は、スマートフォン２００に、当該判断の結果を送信する。
【０１１９】
［実施の形態２］
実施の形態２では、実施の形態１でサーバ１００が行っていた判断を、スマートフォン２００が行う。つまり、実施の形態２では、サーバ１００は、スマートフォン２００から受信した制御指令を機器３００へ送信する。その後、サーバ１００は、機器３００から当該機器３００の状態を受信する。そして、実施の形態２では、サーバ１００は、スマートフォン２００に、機器３００の状態を送信する。スマートフォン２００は、サーバ１００から受信した機器３００の状態と、サーバ１００に送信した制御指令によって特定される状態とを比較することにより、制御指令が成功したかどうかを判断する。そして、スマートフォン２００は、当該判断の結果を表示する。
【０１２０】
図１８は、実施の形態２のサーバ１００、スマートフォン２００および機器３００において実行される処理のフローチャートである。図１８に示された処理は、図７に示された実施の形態１の処理と比較すると、ステップＳ５０より後の制御が異なる。
【０１２１】
図１８に示されるように、ステップＳ５０での機器３００の状態の格納の後、ステップＰ３２で、スマートフォン２００は、サーバ１００に対して機器３００の状態の送信を要求する。
【０１２２】
ステップＰ３２の要求に応じて、ステップＳ６２で、サーバ１００は、スマートフォン２００に、状態ＤＢに格納した機器３００の状態を送信する。
【０１２３】
ステップＰ３４で、スマートフォン２００は、サーバ１００から機器３００の状態を受信する。そして、ステップＰ３４で、スマートフォン２００は、サーバ１００から受信した機器３００の状態と、ステップＰ１０でサーバ１００に送信した制御指令とに基づいて、当該制御指令が成功したかどうかを判断する。より具体的には、プロセッサ２５１は、機器３００の状態が、サーバ１００に送信した制御指令に対応する状態と一致するかどうかを判断する。判断の結果は、「成功」、「状態不一致」、および「失敗」の中の１つである。具体的な判断の態様は、実施の形態１のステップＳ６０におけるプロセッサ１５１による判断の態様と同様であるため、ここでは説明を繰り返さない。
【０１２４】
［実施の形態３］
実施の形態３では、「一定時間」の長さが、制御指令において特定される動作の内容に応じて変化し得る。実施の形態１では、サーバ１００は、ステップＳ３０（図７参照）で機器３００に制御指令が送信してから、一定時間後に、ステップＳ４０で、機器３００に状態の送信を要求した。実施の形態３では、このときの「一定時間」は、制御指令の内容、より具体的には制御指令によって特定される動作（図５等における「制御内容」）、に応じて変更される。
【０１２５】
たとえば、「一定時間」は、制御指令によって特定される動作が、その指示から実行までに要することが予想される時間が長いほど、長く設定される。より具体的には、運転モードの切り替えが指示されてから実行されるまでに要する時間は、電源のＯＮ／ＯＦＦの切り替えが指示されてから実行されるまでに要する時間よりも、長くなることが予想される。電源のＯＮ／ＯＦＦの切り替えのための処理は、機器３００における電源供給状態を変更することのみを含むのに対し、運転モードの切り替えのための処理は、実行中の運転モードを停止するための処理と別の運転モードでの運転を開始するための処理とを含む場合があるからである。したがって、上記「一定時間」は、たとえば、制御指令によって特定される動作が動作モードを切り替えるものである場合には、制御指令によって特定される動作が電源のＯＮ／ＯＦＦの切り替えである場合よりも長く設定される。
【０１２６】
２以上の制御内容のそれぞれの「一定時間」は、たとえばＨＤＤ１５４に格納される。「一定時間」は、さらに、制御指令の対象となる機器３００の種別ごとに設定されても良い。
【０１２７】
実施の形態３によれば、制御指令の内容に応じて、なるべく早期にかつ確実に、機器３００が当該制御指令に応じて動作しているか否かをスマートフォン２００に送信できる。
【０１２８】
［実施の形態４］
実施の形態４では、「一定時間」の長さが、制御指令による制御の対象の機器３００の種別に応じて変化し得る。実施の形態３では、上記「一定時間」は、制御指令の内容に応じて変更される。実施の形態４では、上記「一定時間」は、制御指令の対象となる機器の種別に応じて変更される。
【０１２９】
たとえば、「一定時間」は、制御指令の対象となる機器が制御指令を受信してから動作を実行するまでに要する時間が長くなることが予想される種別であるほど、長く設定される。
【０１３０】
より具体的には、機器３００が「ハードディスク内蔵のテレビ」である場合、電源のＯＮの指令を受けてから当該テレビの起動が完了するまでにはある程度の時間を要する。一方、機器３００が「照明器具」である場合、電源のＯＮの指令を受けてから当該照明器具が点灯するまでに要する時間は、一般的には、上記テレビの起動の完了と比較して短い。したがって、たとえば、制御指令の対象となる機器の種別が「ハードディスク内蔵のテレビ」である場合には、制御指令の対象となる機器の種別が「照明器具」である場合よりも、上記「一定時間」は長く設定される。２以上の機器の種別のそれぞれの「一定時間」は、たとえばＨＤＤ１５４に格納される。
【０１３１】
これにより、制御指令によって特定される機器３００の種別に応じて、なるべく早期にかつ確実に、機器３００が当該制御指令に応じて動作しているか否かをスマートフォン２００に送信できる。
【０１３２】
［実施の形態５］
実施の形態５では、サーバ１００から機器３００への要求が省略される。実施の形態１では、サーバ１００は、ステップＳ３０（図７参照）で機器３００に制御指令が送信してから、一定時間後に、ステップＳ４０で、機器３００に状態の送信を要求した。そして、機器３００は、当該要求に応じて、サーバ１００に、当該機器３００の状態を送信した。実施の形態５では、機器３００は、サーバ１００からの要求に応じるのではなく、制御指令を受信した後、当該機器３００の状態が変更されたことを条件として、サーバ１００に当該機器３００の状態を送信する。
【０１３３】
図１９は、実施の形態５のサーバ１００、スマートフォン２００および機器３００において実行される処理のフローチャートである。図１９に示された処理は、図７に示された実施の形態１の処理と比較すると、サーバ１００によるステップＳ４０が、機器３００によるステップＤ１２に置換されている。
【０１３４】
より具体的には、図１９に示されるように、ステップＤ１０で制御指令を実行した後、機器３００では、ステップＤ１２に制御が進められる。
【０１３５】
ステップＤ１２では、機器３００は、機器３００において、ステップＤ１０で実行した制御指令に対応する状態が変更されたかどうかを判断する。そして、機器３００は、当該状態が変更されたと判断すると、ステップＤ２０へ制御を進める。
【０１３６】
より具体的には、機器３００の種別が「エアコンディショナ」である場合であって、制御指令が運転モードを「冷房」に切り替えるものである場合、機器３００は、自装置が冷房運転を開始したか、つまり、たとえば冷風の出力が開始されたかどうかを判断する。
【０１３７】
実施の形態５では、実施の形態１と比較して、制御システム１においてサーバ１００から機器３００への信号の送信の回数を、ステップＳ４０の分だけ削減できる。
【０１３８】
［実施の形態６］
実施の形態６では、機器３００の状態が制御指令によって特定される状態と一致しない場合、スマートフォン２００は、結果「状態不一致」とともに、当該結果の原因を表示する。
【０１３９】
図２０は、実施の形態６に係る制御システム１の概略構成を表した図である。図２０に示された制御システム１は、図１に示された制御システム１と比較して、機器３１０（エアコンディショナ）を操作するためのリモートコントローラ（以下、「リモコン」と略す）４００を含む。リモコン４００は、ユーザからの指示に基づき、たとえば赤外線で、機器３００に対して制御信号を送信する。
【０１４０】
図２１は、実施の形態６に係る制御システム１の機能的な構成を模式的に示す図である。図２と比較して、図２１では、「Ｆ．機器状態送信」において、機器３００からサーバ１００へ、当該機器３００の状態とともに、当該機器３００の状態の原因となる制御指令の送信元を特定する情報（「状態の原因」）を送信する。このために、実施の形態６では、サーバ１００から機器３００に、制御指令とともに当該制御指令の送信元（たとえば、ユーザ名）が送信される。そして、機器３００は、当該機器３００が受信した制御指令の送信元を特定する情報を格納する。そして、機器３００からサーバ１００へは、当該機器３００の状態とともに当該状態の原因となった制御指令の送信元を特定する情報が送信される。実施の形態６では、機器３００において格納される送信元は、スマートフォン２００だけでなくリモコン４００を含む。
【０１４１】
図２２は、実施の形態６の制御ＤＢにおけるデータの格納態様の一例を模式的に示す図である。実施の形態６では、制御ＤＢの各制御ＩＤのデータは、「原因」の項目を含む。「原因」として登録されている「リモコン」は、リモコン４００に対応する。
【０１４２】
図２３は、実施の形態６の状態ＤＢにおけるデータの格納態様の一例を模式的に示す図である。実施の形態の状態ＤＢにおける各機器のデータは、「状態」の「原因」の項目を含む。「原因」として登録されている「リモコン」は、リモコン４００に対応する。
【０１４３】
図２４は、実施の形態６のサーバ１００、スマートフォン２００および機器３００において実行される処理のフローチャートである。図２４に示された処理は、図７に示された処理に対して、機器３００によるステップＤ２２以降の制御が変更されている。
【０１４４】
より具体的には、機器３００は、ステップＳ４０におけるサーバ１００からの状態の送信の要求に対して、ステップＤ２２で、当該機器３００の状態に加えて、当該状態の原因を送信する。より具体的には、機器３００は、上記したように制御指令の送信元を特定する情報が格納されている。そして、機器３００は、「状態」として、当該機器３００において実行されている動作（状態）の内容を送信し、そして、「原因」として、実行中の動作（状態）が基づく制御指令の送信元を特定する情報を送信する。たとえば、機器３００は、たとえば、リモコン４００からの制御指令に基づく動作を実行中の場合、「原因」として「リモコン」を送信する。また、機器３００は、たとえば、スマートフォン２００が機器３００に向けて（サーバ１００を介して）送信した制御指令に基づく動作を実行中の場合、当該制御指令の「原因」として制御ＩＤを送信する。
【０１４５】
これに応じて、ステップＳ５２で、サーバ１００は、機器３００から「状態」と「原因」を受信し、これらを状態ＤＢに登録する。これにより、実施の形態６の状態ＤＢは、図２３に示されるように「原因」の項目のデータを含む。そして、制御はステップＳ６４へ進められる。
【０１４６】
ステップＳ６４では、サーバ１００は、ステップＳ５２で受信した「状態」と「原因」と、ステップＳ５２で機器３００から受信した状態と、ステップＳ１０でスマートフォン２００から受信した制御指令とに基づいて、制御指令が成功したかどうかを判断する。より具体的には、プロセッサ１５１は、ステップＳ５２で機器３００から受信した状態が、ステップＳ１０でスマートフォン２００から受信した制御指令に対応する状態と一致するかどうかを判断する。なお、ここで判断対象となる「ステップＳ１０でスマートフォン２００から受信した制御指令」は、制御ＤＢ（図２２参照）において、「結果」の値が「結果待ち」である制御指令である。
【０１４７】
ステップＳ６４では、サーバ１００は、さらに、制御ＤＢ（図２２参照）中の、判断対象となっている制御指令に対応する「結果」として、上記判断の結果を格納する。また、「原因」として、ステップＳ５２で機器３００から受信した「原因」を格納する。なお、「結果」が「状態不一致」である場合であって、「原因」が「リモコン」ではなく制御ＩＤであった場合には、制御ＤＢの「結果」の欄には当該制御ＩＤに対応する「制御指示者」が格納されても良い。
【０１４８】
そして、サーバ１００は、ステップＰ３０におけるスマートフォン２００からの結果確認に応じて、ステップＳ６６の制御を実行する。ステップＳ６６では、サーバ１００は、スマートフォン２００に、「結果」と「原因」を送信（通知）する。このとき、「原因」は、「結果」が「状態不一致」である場合にのみ、送信されても良い。送信される「原因」は、たとえば、「リモコン」または「制御指示者」である。
【０１４９】
ステップＳ６６によるサーバ１００の「結果」等の送信（通知）の後、ステップＰ４２で、スマートフォン２００は、サーバ１００から送信（通知）された内容を表示する。より具体的には、「結果」のみが送信された場合には、スマートフォン２００は、「結果」を表示する。「結果」と「原因」が送信された場合には、スマートフォン２００は、当該「結果」と当該「原因」とを表示する。
【０１５０】
図２５と図２６のそれぞれは、実施の形態６のスマートフォン２００におけるＵＩの表示例を示す図である。図２５のＵＩ６００Ｃは、ボックス６５３を含む。ボックス６５３は、結果を表す文字列「状態不一致」を含む。ボックス６５３は、さらに、原因「リモコン」を含む文章「リモコン操作が発生したため、…」を含む。
【０１５１】
図２６のＵＩ６００Ｄは、ボックス６５４を含む。ボックス６５４は、結果を表す文字列「状態不一致」を含む。ボックス６５３は、さらに、原因「Ｂ」（制御指示者）を含む文章「Ｂさんのリモート操作が発生したため、…」を含む。
【０１５２】
［実施の形態７］
実施の形態７は、機器３００が実行中の制御指令がスマートフォン２００から送信されたものである場合には、実施の形態６のステップＤ２２において、機器３００がサーバ１００に「原因」を送信することを省略する。つまり、実施の形態７では、機器３００が実行中の制御指令がスマートフォン２００から送信されたものである場合には、ステップＤ２２で、機器３００は、サーバ１００に、「状態」のみを送信する。
【０１５３】
実施の形態７では、機器３００が実行中の制御指令がスマートフォン２００から送信されたものである場合には、機器３００が「原因」を送信する代わりに、ステップＳ６６で、サーバ１００が、「原因」を特定する。サーバ１００による「原因」の特定について、図２７を参照して説明する。図２７は、ステップＳ６６のサブルーチンに相当する処理のフローチャートである。
【０１５４】
ステップＳ８０２では、サーバ１００は、ステップＳ６４における判断によって導出された「結果」が「状態不一致」であるか否かを判断する。「結果」が「状態不一致」以外であると判断すると、サーバ１００は、ステップＳ８０４へ制御を進める。「結果」が「状態不一致」であると判断すると、サーバ１００は、ステップＳ８０６へ制御を進める。
【０１５５】
ステップＳ８０４では、サーバ１００は、スマートフォン２００へ「結果」のみを送信して、処理を終了させる。
【０１５６】
ステップＳ８０６では、サーバ１００は、「状態」が「自動運転」であるか、または、機器３００から「原因」として「リモコン」が送信されたかを判断する。そして、サーバ１００は、「状態」が「自動運転」であると判断するか、または、機器３００から「原因」として「リモコン」が送信されたと判断した場合（ステップＳ８０６でＹＥＳ）、ステップＳ８０８へ制御を進める。また、サーバ１００は、「状態」が「自動運転」ではなく、かつ、機器３００から送信された「原因」が「リモコン」ではない（または「原因」が送信されてこなかった）と判断した場合（ステップＳ８０６でＮＯ）、ステップＳ８１０へ制御を進める。
【０１５７】
ステップＳ８０８では、サーバ１００は、スマートフォン２００に、ステップＳ６４における判断の「結果」と、機器３００の「状態」と、「原因」とを送信する。そして、サーバ１００は、処理を終了させる。
【０１５８】
ステップＳ８１０では、サーバ１００は、制御ＤＢから、次の（１）〜（３）のすべての条件に当てはまる制御指令を検索する。
【０１５９】
（１）制御時刻が、処理対象の制御指令の制御時刻よりも後
（２）制御結果が、「成功」である
（３）結果状態が、処理対象の制御指令の制御内容から期待される結果状態と異なる
「処理対象」とは、スマートフォン２００への「結果」等の送信の対象となっていることを意味する。（１）〜（３）の条件に基づく判断について、図２８を参照してより具体的に説明する。図２８は、実施の形態６における制御ＤＢの一例を示す図である。
【０１６０】
図２８に示された制御ＤＢは、制御ＩＤ「９１」〜「９４」の制御指令のデータを含む。そして、制御ＩＤ「９１」の制御指令が処理対象とされた場合を考える。
【０１６１】
条件（１）については、制御ＩＤ「９２」〜「９４」の制御指令が条件を満たす。
条件（２）については、制御ＩＤ「９４」の制御指令のみが条件を満たす。
【０１６２】
条件（３）については、制御ＩＤ「９４」の制御指令のみが条件を満たす。制御ＩＤ「９１」の制御指令の制御内容「モード：冷房」から期待される結果状態は、「モード：冷房」であり、そして、当該結果状態は、制御ＩＤ「９４」の結果状態「モード：ドライ」と異なるからである。
【０１６３】
図２７に戻って、サーバ１００は、ステップＳ８１０で制御指令の検索結果を取得すると、ステップＳ８１２へ制御を進める。
【０１６４】
ステップＳ８１２では、サーバ１００は、スマートフォン２００に、ステップＳ６４における判断の「結果」と、機器３００の「状態」と、ステップＳ８１０で検索結果として取得した制御指令の「制御指示者」とを送信する。この「制御指示者」は、「原因」に相当する。そして、サーバ１００は、処理を終了させる。
【０１６５】
実施の形態７では、機器３００は、機器３００が実行中の制御指令がスマートフォン２００から送信されたものである場合には、「原因」を送信する必要がない。このため、機器３００は、スマートフォン２００からサーバ１００を介して送信された制御指令については、送信元や制御ＩＤを格納しておく必要がない。
【０１６６】
［実施の形態のまとめ］
本開示のある局面に従うと、機器３００と通信するための通信装置（通信ＩＦ１５７，２５７）と、プロセッサ１５１，２５１と、機器３００に対する制御指令を格納するための記憶装置とを備える情報処理装置が提供される。プロセッサ１５１，２５１は、機器３００に向けて、制御指令を送信し、機器３００への制御指令の送信後に、制御指令に対応する機器３００の状態が機器３００から送信された情報によって特定される当該機器３００の状態と一致するか否かを判断し、判断の結果を出力するように構成されている。
【０１６７】
これにより、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、機器自体から送信された情報に基づいて判断される。これにより、当該判断の結果が制御対象の機器以外の装置の影響を受けることを回避できる。また、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、制御対象の機器以外の検出装置の検出結果を用いることなく、判断される。制御システムは、当該検出装置を必要としない。したがって、当該検出装置が必要とされることによって制御システムを実装するためのコストが上昇することを回避できる。
【０１６８】
好ましくは、通信装置（サーバ１００の通信ＩＦ１５７）は、制御指令を出力可能な１以上の情報端末（スマートフォン２００）と通信するように構成されている。記憶装置に格納される制御指令は、通信装置（通信ＩＦ１５７）を介して情報端末（スマートフォン２００）から受信した制御指令である。判断の結果の出力することは、情報端末（スマートフォン２００）に判断の結果を送信することを含む。
【０１６９】
これにより、上記判断の処理がサーバでなされる。つまり、当該判断のための処理の負荷をスマートフォンに負わせることを回避できる。
【０１７０】
好ましくは、通信装置（通信ＩＦ１５７）は、第１の情報端末（スマートフォン２００Ａ）および第２の情報端末（スマートフォン２００Ｂ）と通信するように構成されている。記憶装置に格納される制御指令は、第１の情報端末（スマートフォン２００Ａ）から受信した第１の制御指令と、第２の情報端末（スマートフォン２００Ｂ）から受信した第２の制御指令を含む。記憶装置は、第１の制御指令の送信元である第１の情報端末（スマートフォン２００Ａ）を特定する情報と、第２の制御指令の送信元である第２の情報端末（スマートフォン２００Ｂ）を特定する情報とをさらに格納するように構成されている。
【０１７１】
プロセッサ１５１は、第１の制御指令に対応する機器３００の状態が機器３００から送信された情報によって特定される当該機器３００の状態と一致しないと判断し、第２の制御指令に対応する機器３００の状態が機器３００から送信された情報によって特定される当該機器３００の状態と一致すると判断した場合に、第１の情報端末（スマートフォン２００Ａ）に、判断の結果に加えて、第２の情報端末（スマートフォン２００Ｂ）を特定する情報を送信するように構成されている。
【０１７２】
これにより、第１の情報端末から送信された制御指令による制御が失敗した場合に、第１の情報端末のユーザに、その原因を提供できる。
【０１７３】
好ましくは、通信装置（スマートフォン２００の通信ＩＦ２５７）は、機器３００と通信可能なサーバ１００と通信可能に構成されている。情報処理装置（スマートフォン２００）は、判断の結果を表示するための表示部（タッチパネル２５５）をさらに備える。機器３００に制御指令を送信することは、サーバ１００に制御指令を送信することを含む。通信装置（通信ＩＦ２５７）は、機器３００から送信された情報を、サーバ１００を介して受信するように構成されている。
【０１７４】
これにより、スマートフォン側のアプリケーションとして、上記判断を実装できる。したがって、上記判断をより容易に実装できる。
【０１７５】
好ましくは、通信装置（通信ＩＦ１５７，２５７）は、機器３００から、機器３００が実行している動作の指示を出力した主体を特定する情報（実施の形態６の「リモコン」等）を受信する。プロセッサ１５１，２５１は、主体を特定する情報（実施の形態６の「リモコン」等）を、機器３００から送信された当該機器３００の状態の原因としてさらに出力するように構成されている。
【０１７６】
これにより、より多くの情報をユーザに提供できる。
本開示のある局面に従うと、機器３００に制御指令を出力するためのコンピュータによって実行される情報提供方法が提供される。コンピュータは、機器３００に対する制御指令を格納するための記憶装置を備える。情報提供方法は、機器３００に、制御指令を送信するステップ（ステップＳ３０／ステップＰ１０およびステップＳ３０）と、機器３００への制御指令の送信後に、制御指令に対応する機器３００の状態が機器３００から送信された情報によって特定される当該機器３００の状態と一致するか否かを判断するステップ（ステップＳ６０／ステップＰ３４）と、判断するステップにおける判断の結果を出力するステップ（ステップＳ７０／ステップＰ３４）とを備える。
【０１７７】
これにより、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、機器自体から送信された情報に基づいて判断される。これにより、当該判断の結果が制御対象の機器以外の装置の影響を受けることを回避できる。また、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、制御対象の機器以外の検出装置の検出結果を用いることなく、判断される。制御システムは、当該検出装置を必要としない。したがって、当該検出装置が必要とされることによって制御システムを実装するためのコストが上昇することを回避できる。
【０１７８】
本開示のある局面に従うと、機器３００に制御指令を出力するためのコンピュータによって読取可能なプログラムが提供される。コンピュータは、機器３００に対する制御指令を格納するための記憶装置を備える。プログラムは、コンピュータに、機器３００に、制御指令を送信するステップ（ステップＳ３０／ステップＰ１０およびステップＳ３０）と、機器３００への制御指令の送信後に、制御指令に対応する機器３００の状態が機器３００から送信された情報によって特定される当該機器３００の状態と一致するか否かを判断するステップ（ステップＳ６０／ステップＰ３４）と、判断するステップにおける判断の結果を出力するステップ（ステップＳ７０／ステップＰ３４）とを実行させる。
【０１７９】
これにより、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、機器自体から送信された情報に基づいて判断される。これにより、当該判断の結果が制御対象の機器以外の装置の影響を受けることを回避できる。また、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、制御対象の機器以外の検出装置の検出結果を用いることなく、判断される。制御システムは、当該検出装置を必要としない。したがって、当該検出装置が必要とされることによって制御システムを実装するためのコストが上昇することを回避できる。
【０１８０】
本開示のある局面に従うと、機器３００と、機器３００に対する制御指令を出力するための情報端末（スマートフォン２００）と、機器３００および情報端末（スマートフォン２００）と通信可能なサーバ１００とを備える制御システムが提供される。情報端末（スマートフォン２００）は、サーバ１００に制御指令を送信するための送信部を含む。サーバ１００は、機器３００と通信するための通信装置（通信ＩＦ１５７）と、プロセッサ１５１と、情報端末（スマートフォン２００）から送信された制御指令を格納するための記憶装置とを含む。プロセッサ１５１は、機器３００に、制御指令を送信し、機器３００への制御指令の送信後に、制御指令に対応する機器３００の状態が機器３００から送信された情報によって特定される当該機器３００の状態と一致するか否かを判断し、情報端末（スマートフォン２００）に、判断の結果を出力するように構成されている。情報端末（スマートフォン２００）は、判断の結果を表示するための表示部（タッチパネル２５５）をさらに含む。
【０１８１】
これにより、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、機器自体から送信された情報に基づいて判断される。これにより、当該判断の結果が制御対象の機器以外の装置の影響を受けることを回避できる。また、制御対象の機器が制御命令に応じた動作を実行しているかどうかが、制御対象の機器以外の検出装置の検出結果を用いることなく、判断される。制御システムは、当該検出装置を必要としない。したがって、当該検出装置が必要とされることによって制御システムを実装するためのコストが上昇することを回避できる。
【０１８２】
今回開示された実施の形態およびその変形例はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。実施の形態のそれぞれにおいて開示された技術は、可能な限り、単独でも組み合わせても実施され得ることが意図される。
【符号の説明】
【０１８３】
１  制御システム、１００  サーバ、１５１，２５１  プロセッサ、１５３，２５３  ＲＡＭ、１５６，２５６  スイッチ、１５８，２５８  電源回路、１５９  モニタ、１６０  操作キー、２００，２００Ａ，２００Ｂ  スマートフォン、２５２  ＲＯＭ、２５４  メモリ、２５５  タッチパネル、３００，３１０，３２０  機器、４００  リモコン。
【図１】
2016201848.tif 000003
【図２】
2016201848.tif 000004
【図３】
2016201848.tif 000005
【図４】
2016201848.tif 000006
【図５】
2016201848.tif 000007
【図６】
2016201848.tif 000008
【図７】
2016201848.tif 000009
【図８】
2016201848.tif 000010
【図９】
2016201848.tif 000011
【図１０】
2016201848.tif 000012
【図１１】
2016201848.tif 000013
【図１２】
2016201848.tif 000014
【図１３】
2016201848.tif 000015
【図１４】
2016201848.tif 000016
【図１５】
2016201848.tif 000017
【図１６】
2016201848.tif 000018
【図１７】
2016201848.tif 000019
【図１８】
2016201848.tif 000020
【図１９】
2016201848.tif 000021
【図２０】
2016201848.tif 000022
【図２１】
2016201848.tif 000023
【図２２】
2016201848.tif 000024
【図２３】
2016201848.tif 000025
【図２４】
2016201848.tif 000026
【図２５】
2016201848.tif 000027
【図２６】
2016201848.tif 000028
【図２７】
2016201848.tif 000029
【図２８】
2016201848.tif 000030