LoginSignup
8

More than 3 years have passed since last update.

posted at

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

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

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
What you can do with signing up
8