Edited at

ECHONET Liteの電文 作成方法

More than 1 year has passed since last update.


はじめに

ECHONET Liteの電文作成方法について記述します。

詳しくは以下の規格書で確認してください

ECHONET Lite規格書 


電文構成


フレーム

電文のフレームは下の図のようになっている。

決められた要素とバイト数で記述をしていく

電文フレーム.jpg


例えば

「空気清浄機 を on にする」  ⇨ 1081000005FF010135016101800130 

の電文の場合 対応する要素と数値は以下のようになる。

電文構成.jpg


EHD1 & EHD2

電文が ECHONET Liteであることを宣言する部分

基本的にこの部分に入る 文字は

     1081

以外は入らないので 電文の最初は1081のままでよい


TID

この部分は自由記述である。

なので、2バイト以内なら

1111 or  1234  or  1573  or  1899

どんな文字を記入してもよい。

 最初のうちはわかりにくいので、0000 を入れることをお勧めする。

※ TIDの便利な使用方法は下で紹介する。


SEOJ

送信元機器を明記する。

要するに、自分の機器名(ECHONET Liteオブジェクト)を記述する。

例えば、自分のパソコンが家電機器に命令を送信したい場合は

SEOJ ⇒ 05FF01

になる。 主に使用される機器名(ECHONET Liteオブジェクト)は以下である

オブジェクト.jpg

他の機器名(ECHONET Liteオブジェクト)の検索は

APPENDIX ECHONET機器オブジェクト詳細規定を参照


DEOJ

送信先の機器名(ECHONET Liteオブジェクト)を記述する

例えば、エアコンの制御をしたい場合

DEOJ ⇒ 013001

になる。主な送信先になるのは SEOJ と同じです

SEOJと同様に他の機器は

APPENDIX ECHONET機器オブジェクト詳細規定を参照


ESV

送信時に使用するESVは主に3種類である。


① SetI

ESV ⇒ 60

例) エアコンの動作をONにする


② SetC

ESV ⇒ 61

エアコンの動作をONにし、エアコンからONになったことの応答をしてもらう。

応答の時、ESVは 71 で返ってくる


③ Get

ESV ⇒ 62

例) エアコンの動作状態を確認する。

例) エアコンの設定温度を確認する。

状態の応答は ESV ⇒ 72 になっている

ESV.jpg

②と③ はどちらも機器から返事が返ってくるが、違いとして

②は機器を制御する

③は制御しないで状態の取得だけを行う。


OPC

処理プロパティ数を示す。制御内容が一つの場合は

      OPC ⇒ 01

で示す。

※ 基本的に01 でよい


EPC

ECHONET Liteプロパティの指定をする。

ECHONET Liteプロパティは全機器共通の 機器オブジェクトスーパークラス と

機器固有の 機器オブジェクト

の二種類がある。


スーパークラス

スーパークラスは、どの機器に対しても、プロパティ名とEPCの値同じである。

例)

エアコンの動作状態を確認したい場合  EPC ⇒ 80

空気清浄機の動作状態を確認したい時も EPC ⇒ 80


機器固有のオブジェクト

エアコンの場合         空気清浄機        照明レベル

節電動作設定 : 8F      風量設定   : A0   照明レベル: B0

運転モード  : B0      空気汚れ検出 : C0   点等モード: B6

温度自動設定 : B1                   光色設定 : B1

など

※詳しい説明は下のEDTと一緒に説明をする


PDC

EDTのバイト数を示す。制御内容が一つの場合は

      PDC ⇒ 01

※ 基本的に01 でよい


EDT

EPCで指定したプロパディ名によって、値を入れる


スーパークラスの場合

EPC ⇒ 80(動作状態) の時は

EDT ⇒ 30(ON)

    ⇒ 31(OFF)


機器固有のオブジェクト


エアコン

エアコンの場合、機器固有のオブジェクトは以下のようになる

例えば、 エアコンの風向きスイングを 上下に 変化させたい場合

   EPC ⇒ A3 , EDT ⇒ 41

Aircon.jpg


一般照明

一般照明の機器固有オブジェクトは以下のようになる

例えば、照明の 光色を 白色 に変化させたい場合

   EPC ⇒ B1  ,  EDT ⇒ 42

一般照明.jpg

※ アクセスルールとはESV の説明にあった Set と Get の使用が出来るかを示している。

もしも、アクセスルールに Get しかなかった場合、そのプロパティはGet の要求しか行えない。


まとめ

基本的に以下の ? の部分を変えればよい

何の機器を どうしたいのかは APPENDIX ECHONET機器オブジェクト詳細規定を参照

電文構成 送信.jpg


TID の使い方について

TIDは自由記述なので2バイトならば何を記述してもよい。

ECHONETの約束ごととしてGetや SetCで来たとき応答するときのパケットは送られて来たときの、TIDと同一の文字列を返すようになっている。

なんで、LAN内にECHONETLite電文が複数ある場合など、プログラム内で電文の処理をしやすくなる。

TID.jpg


参考文献

ECHONET Lite規格書

APPENDIX ECHONET機器オブジェクト詳細規定