Open11

ECHONET Liteについてのメモ

N04hN04h

プロトコルについて

  • ECHONET Lite は UDP レイヤー上のプロトコル
  • 受信ポート番号: 3610
  • マルチキャストアドレス: 224.0.23.0(IPv4), ff02::1(IPv6)
  • メッセージは全てバイナリデータで定義

機器の機能・状態はすべてプロパティで定義されている。

  • 取得する時はGet命令
  • 設定(操作)する時はSet命令
  • 通知する時はINF命令

通知はマルチキャストさせるってことかな

N04hN04h

メッセージのフォーマットについて

シンプルなフォーマットは以下

+-----+-----+------+------+-----+-----+-----+-----+-----+
| EHD | TID | SEOJ | DEOJ | ESV | OPC | EPC | PDC | EDT |
+-----+-----+------+------+-----+-----+-----+-----+-----+

EHD: ECHONET Lite Header (2byte)

ECHONET Liteのメッセージであることを示すヘッダー値で(0x1081)が固定で入る

TID: Transaction ID (2byte)

リクエスト時に任意の値を設定し、同じ値のメッセージがそのリクエストに対するレスポンス内容

SEOJ: Source ECHONET Lite Object (3byte)

送信元の機器を示すデータ

DEOJ: Destination ECHONET Lite Object (3byte)

送信先の機器を示すデータ(Destinationの訳は行き先)

ESV: ECHONET Lite Service (1byte)

メッセージのサービスの種類
Get, Set INF命令を指定する部分?かな

OPC: Operation Count (1byte)

命令の数
後続にあるEPC, PDC, EDTがセットで1つの命令で、この数を宣言している形

EPC: ECHONET Lite Property Code (1byte)

機器の設定・状態・機能はプロパティを指定する

PDC: Property Data Count (1byte)

後述するEDTのデータサイズ
Get命令の場合はEDTは指定しないので0が設定される

EDT: ECHONET Lite Data (可変長)

設定(操作)するプロパティの値
通知する場合はここで指定した値が通知されるのかな...?

N04hN04h

蓄電池の運転モードについて

参考:https://echonet.jp/wp/wp-content/uploads/pdf/General/Standard/AIF/sb/sb_aif_ver1.20.pdf

「運転モード(EPC: 0xDA)」を 充電(0x42) (※急速充電も?)または 放電(0x43) に設定する前に、「AC充電量設定値(EPC: 0xAA)」または「AC放電量設定値(EPC: 0xAB)」を先に設定する必要がある。

25ページから引用

設定値の分充電・放電が行われるので、その機器が充電・放電できる値を設定値に設定する?

40ページから引用

「充電方式(EPC: 0xC1)」または「放電方式(EPC: 0xC2)」を設定するのもあり?

参考:https://echonet.jp/wp/wp-content/uploads/pdf/General/Standard/Release/Release_Q/Appendix_Release_Q.pdf

279ページから引用

N04hN04h

0xA40xA5を使えばいいかな
上のやつは通常時だから、バッテリーが劣化したときにこれらの値に差ができていくっぽそう

N04hN04h

分電盤の計測チャンネルについて

EPCにて「計測チャンネル1 (~32) [EPC: 0xD0~0xEF]」が用意されている

ただ、「計測チャンネル数(片方向)[EPC: 0xB1]」と「計測チャンネル数(双方向)[EPC: 0xB8]」には、1~252または不明が取得できるとある。


要するに片方向・双方向の計測チャンネルが最大504個あるケースも考慮する必要がある。
「計測チャンネル1 」などは上記のなかからどれが設定されているのだろう...?

N04hN04h

片方向・双方向の計測チャンネルのデータは設定してリストで取得できるみたい
ただし、範囲したすべての電力量が合算されるみたいなので、複数チャンネルで正方向・逆方向を集計したいという要件は厳しそう

N04hN04h

発電・消費のどっちの電力量なのかは電流(A)のR相、T相で判別できるかも?
データはsigned shortなのでマイナスの値もくるはず。

そもそもR相、T相ってよくわからんけど

→ 交流だから、判別は無理