5
9

More than 3 years have passed since last update.

スマートメーターのECHONETパケットを覗いてみた

Posted at
1 / 7

はじめに

  • 以前からスマートメーターからの情報取得(瞬時電力、積算電力量)を行っていますが、あらためて取得可能なプロパティを調べてみました。

Wi-SUNゲートウェイの制作

  • 情報取得を容易にするため、Wi-SUNベースのECHONETパケットをEthernetベースのECHONETパケットに変換するWi-SUNゲートウェイをラズパイで制作しました。

    • Wi-SUNゲートウェイを経由する利点として、スマートメーターからの情報取得を複数のコントローラから行うことが可能になります。 IMG_0586.jpg
  • PicoGWによるプロパティ取得

    • echonetのプロパティ取得を繰り返すツールを作成しようと思ったのですが、PicoGWというものがあることを知り、利用することにしました。
    • 別に用意したラズパイにPicoGWをインストールしました。(Node.js環境が必要です)
    • PicoGWは、プロパティ通知パケットを定期的に送信して情報取得を行います。
      • 生のデータは、パケットキャプチャ(Wireshark)で取得しました。
      • 取得した値はブラウザ経由でも視認することができます。 PicoGW.png
  • 情報取得時の機器構成は、下図のようになります。(EthernetをWiresharkでキャプチャ。)
    alt


パケットの流れ

  • PicoGWが動いている状態でWi-SUNゲートウェイがスマートメーターに接続されると、下記のような順序でパケットが流れていました。
    1. 自ノードインスタンスリストSのプロパティ通知(EPC=0xD5)
      • スマートメーターから自発的に通知される。
    2. PicoGW起点で、プロパティマップの取得&応答(EPC=0x9D,0x9E,0x9E)
    3. PicoGW起点で、各Getプロパティの取得&応答
      • なぜか、存在しないプロパティを取得しようとする上、一部のプロパティしか取得しない。
      • EPC=0x80,0x82,0x8D,0x97,0x98,0xD3,0xD7,0xE0,0xE2,0xE3,0xE4,0xE5,0xE7,0xE8,0xEA,0xEBの各プロパティの取得が行われない。
    4. 2と3を繰り返し

自ノードインスタンスリストS(EPC=0xD5)の通知

  • スマートメーターとのWi-SUN接続が完了すると、自ノードインスタンスリストSが通知されます
    • EOJ(ECHONETオブジェクト)は、0x028801(低圧スマート電力量メータ)です。
    • スマートメーターからのプロパティ通知に対して、Wi-SUNゲートウェイはマルチキャスト送信(224.0.23.0)を行います。
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x0ef001 (Node profile)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): INF (0x73)
        Property size (OPC): 1
        Property 1: Instance list notification
            ECHONET Property (EPC): 0xd5 (Instance list notification)
            Property Data Counter (PDC): 4
            ECHONET Property Value Data (EDT): 01 02 88 01
                Instance count: 1
                - Low voltage smart electric energy meter (ID: 1)

プロパティマップの取得

  • 状変アナウンスプロパティマップ(EPC=0x9D)、Setプロパティマップ(EPC=0x9E)、Getプロパティマップ(EPC=0x9F)の3種類のプロパティマップを取得しているようです。
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0x9d
            Property Data Counter (PDC): 4
            ECHONET Property Value Data (EDT): 03 80 81 88

ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0x9e
            Property Data Counter (PDC): 4
            ECHONET Property Value Data (EDT): 03 81 e5 ed

ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0x9f
            Property Data Counter (PDC): 17
            ECHONET Property Value Data (EDT): 19 41 41 41 60 40 40 00 62 43 00 41 40 40 43 02 02

EPC 状変 Set Get プロパティ
0x80 × 動作状態
0x81 設置場所
0x82 × × 規格Version情報
0x83 × × × 識別番号
0x84 × × × 瞬時消費電力計測値
0x85 × × × 積算消費電力計測値
0x86 × × × メーカー異常コード
0x87 × × × 電流制限設定
0x88 × 異常発生状態
0x89 × × × 異常内容
0x8A × × メーカーコード
0x8B × × × 事業場コード
0x8C × × × 商品コード
0x8D × × 製造番号
0x8E × × × 製造年月日
0x8F × × × 節電動作設定
0x93 × × × 遠隔操作設定
0x97 × × 現在時刻設定
0x98 × × 現在年月日設定
0x99 × × × 電力制限設定
0x9A × × × 積算運転時間
0x9B × × × SetMプロパティマップ
0x9C × × × GetMプロパティマップ
0x9D × × 状変アナウンスプロパティマップ
0x9E × × Setプロパティマップ
0x9F × × Getプロパティマップ
0xD3 × × 係数
0xD7 × × 積算電力量有効桁数
0xE0 × × 積算電力量計測値(正方向計測値)
0xE1 × × 積算電力量単位(正方向、逆方向計測値)
0xE2 × × 積算電力量計測値履歴1(正方向計測値)
0xE3 × × 積算電力量計測値(逆方向計測値)
0xE4 × × 積算電力量計測値履歴1(逆方向計測値)
0xE5 × 積算履歴収集日1
0xE7 × × 瞬時電力計測値
0xE8 × × 瞬時電流計測値
0xEA × × 定時積算電力量計測値(正方向計測値)
0xEB × × 定時積算電力量計測値(逆方向計測値)
0xEC × × 積算電力量計測値履歴2(正方向、逆方向計測値)
0xED × 積算履歴収集日2

Getプロパティ取得

  • 設置場所(EPC=0x81)
    • 0x61(庭、外周)
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0x81
            Property Data Counter (PDC): 1
            ECHONET Property Value Data (EDT): 61
  • 異常発生状態(EPC=0x88)
    • 0x42(異常発生なし)
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0x88
            Property Data Counter (PDC): 1
            ECHONET Property Value Data (EDT): 42
  • メーカーコード(EPC=0x8a)
    • 0x000016(株式会社東芝)
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0x8a
            Property Data Counter (PDC): 3
            ECHONET Property Value Data (EDT): 00 00 16
  • 積算電力量計測値履歴2(EPC=0xEC)
    • 初期値が返されている。
      • 1〜6バイトが積算履歴収集日時に、6バイトの0xFFが返されている。
      • 7バイト目は収集コマ数は1
      • 8〜11バイトが積算電力量計測値(正方向)で、0xFFFFFFFEが返されている。
      • 12〜15バイトが積算電力量計測値(負方向)で、0xFFFFFFFEが返されている。
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0xec
            Property Data Counter (PDC): 15
            ECHONET Property Value Data (EDT): ff ff ff ff ff ff 01 ff ff ff fe ff ff ff fe
  • 積算履歴収集日2(EPC=0xED)
    • 初期値が返されている。
      • 1〜6バイトが積算履歴収集日時に、6バイトの0xFFが返されている。
      • 7バイト目は収集コマ数は1
ECHONET Lite
    ECHONET Lite Header (EHD)
    Transaction ID (TID): 0x0000
    ECHONET Lite Data (EDATA)
        Source ECHONET Lite object (SEOJ): 0x028801 (Low voltage smart electric energy meter)
        Destination ECHONET Lite object (DEOJ): 0x0ef001 (Node profile)
        ECHONET Lite service (ESV): Get_Res (0x72)
        Property size (OPC): 1
        Property 1
            ECHONET Property (EPC): 0xed
            Property Data Counter (PDC): 7
            ECHONET Property Value Data (EDT): ff ff ff ff ff ff 01
5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9