大和ハウス工業株式会社

DaiwaHouse

スマハ・ラボアプリ

大和ハウス工業トップ

総合技術研究所

「住宅AP」Iを使って試作したアプリケーション情報を紹介しています。

mixiチェック

facebook

テックブログ

【第一回】とりあえず住宅APIを使ってみる

最も簡単な利用方法は、インターネットブラウザのアドレスバーに住宅APIのコマンドを入力してリターンを押してみることです。例えば、IPアドレスが192.168.1.234のホームサーバーに接続したECHONET Lite対応の1番目のエアコンを、

【ONしたい場合】
  http://192.168.1.234/smart/rest/request?deviceid=lite.aircon_1_1&type=set&key=operationStatus&value=ON
【OFFしたい場合】
  http://192.168.1.234/smart/rest/request?deviceid=lite.aircon_1_1&type=set&key=operationStatus&value=OFF

となります。一見難しい呪文のようにも見えますが、内容としては「○番のエアコンの、○○機能を、○○する」ということをひたすら記述しているだけです。命令の体系はECHONET機器オブジェクト詳細規定に準拠しており、ECHONETについて深い知識がなくても簡単にECHONET対応機器を操作できるよう、WebAPI形式にしたものです。慣れてくれば、operationStatus が「運転状況」なので、設定温度を変更する場合は「temperature」に変えればいいだろうという想像もつくかと思います。

 これを「古き良きCGIみたいで野暮ったい」と指摘された方もおられましたが、まさにその世界を目指して開発したものです。もともとの発想は1998年頃で、FilemakerのCGI機能を使って、発売間もなかったimodeを使って住宅の照明や電気錠の遠隔制御するシステムを構築していました。 当時はホームページもテキストエディタでタグも文章もべた書きしてましたが、凝ったレイアウトはそもそもできなかったので可読性も高くシンプルでした。そうした当時のWebの世界を懐かしく思う気持ちもありましたが、単に頭の中身が当時から進化していないということかもしれません。

話がそれましたが、住宅APIのコマンドを投げると、以下のようなXMLが返ってきます。XMLについての説明は省略しますが、< >で囲まれた部分がデータのインデックスになっていますので、その情報を元に欲しいデータをパース(ピックアップ)し利用することができます。< > < /> が結果の部分だと推測がつくと思いますが、これがもしHTMLであれば、どこが欲しい情報なのかさっぱりわかりません。

(例)エアコンの温度設定を取得する場合

 ・コマンド
http://192.168.0.234/smart/rest/request?deviceid=lite.aircon_1_1&type=get&key=temperature

 ・応答XML(答えは27℃)
  
   <resultset type="map">
     <result type="value">true</result>
     <data type="value">27</data>
   </resultset>

ということで、インターネットブラウザが使える人であれば住宅APIは使えるということから「誰にでも簡単に」と表現しているのですが、もちろんこのままではアプリケーションとは言えません。適当な画面を作成し、その中に住宅APIの命令を埋め込み、返ってきたXMLの中から結果を抜き出して表示する必要があります。そのあたりの話は第二回のブログで紹介したいと思います。

by 管理者 H.Y

このページの先頭へ