ゆるブロ

ゆる~くてちたのIT系?ブログ

スマートメーターから100日分の積算電力量計測値を引っこ抜く

はじめに

プログラムを書いていくためにサンプルデータが欲しいので取ります。

基本の取得プログラムはあるので、一部改造です。

やりたいこと

  • 積算履歴収集日1(EPC=0xE5)で0~99を順繰り設定する
  • 積算電力量計測値1(EPC=0xE4)でデータを取得する

参考文献

順繰り電文作るところが一番大変でした。

まずは文字列をバイト列に変換する方法を探して~

teratail.com

文字列フォーマットの使い方をまじめに調べました。pythonあんまり知らんからな。。。

qiita.com

teratail.com

上記使ってできた、100日分のデータ作成コードは以下qiitaを参照くだしあ。

qiita.com

残念ながら完成しない・・・

元のプログラムがpython2系だから3系に書き直すも、一向にデータを受信できない。。。(というかそこをしっかり確認しないといけないじゃん)

しゃーないからpython2系でも取得電文を作成。

qiita.com

最終的な原因は、送信電文に間違いがあったからでした~~~~~~~~~。
かなしい😢

ひとまず、2系でデータを取得。そのうち3系に移植しないとな~。

取得電文の生データ(1日前)は下記。

E2C2000100007F8E00007F8E00007F8F00007F9000007F9100007F9200007F9200007F9300007F9400007F9400007F9500007F9500007F9600007F9600007F9700007F9700007F9800007F9800007F9900007F9900007F9A00007F9A00007F9B00007F9B00007F9C00007F9D00007F9E00007F9F00007FA000007FA000007FA100007FA200007FA300007FA400007FA500007FA600007FA600007FA700007FA800007FA900007FAA00007FAB00007FAC00007FAC00007FAD00007FAE00007FAE00007FAF(2020-05-04 12:24:43)

確認したところ、43日分のデータを取得することができました。43日より前のデータはFFFFFFFEが詰まっていました。一応1か月は保持しているみたいね。電力会社としては前月分のデータが上がってこないときは13日間程の間にメーターを読みに来ればどうにか電気料金の計算ができそう。それとも、電力値がロックされていて、裏に隠れているのかな?真相はわからんけど。

完走した感想

ひとまず取れたので、これをベースにどんな感じでデータ取ったりするのか考えよっと。とっただけなので、はきだされた生電文を処理するところからですが。。。

コーディングした結果はqiitaに上げてみたけどどうなんだろうか。こっちでコードも書いたほうが一貫しているから話の流れは切れない。でも、はてブは開発でいうところの上位側や調べものにいたほうがいいような。

悩みの種ですな。