Skip to content
This repository has been archived by the owner on Oct 15, 2023. It is now read-only.

legnoh/smartmeter-exporter

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

smartmeter-exporter

Badge

  • スマートメーターから瞬時電力計測値(W)/瞬時電流計測値(A)を取得する Prometheus Exporter です。
  • この Exporter はローム社の BP35C2 での起動を確認しています。

Usage

Bルートサービスの契約

  • お住まいの地域管轄の電力会社から、上記サービスの申込を行います。
  • 申込完了後、IDが郵便、パスワードがメールで送付されてきます。

BP35C2 の準備

  1. BP35C2 スタートアップマニュアル に従って、セットアップを完了してください。
  • TeraTerm を使う部分は、 macOS であれば minicom を使うことで同等の操作が可能です。
    brew install minicom
    minicom -b 115200 -D /dev/tty.usbserial-XXXXXXXX
  • ただし、ファームウェアの更新はWindowsが必須で必要です。
    • 最近(2022/03)買った BP35C2 であれば、予め最新のファームウェアになってました。
      • そのため、Windows 環境がなければスキップしてください。
  1. BP35C2 の表示形式を変更し、16進 ASCII 表示にします(メモリに書込まれるので初回のみでOK)。
    # ROPT の結果が「00」の場合は変更しておく
    > ROPT
    OK 00
    > WOPT 01
    OK
    # TeraTerm or minicom を閉じる

起動(Python)

ソースコードを clone し、依存解決、環境変数の追加を行った後で起動してください。

# install pipenv(&python3)
brew install pipenv

# download
git clone https://github.com/legnoh/smartmeter-exporter.git
cd smartmeter-exporter
pipenv install

# config
cp example.env .env
vi .env

# exec
pipenv run main

# check
curl http://localhost:8000/metrics

起動(Docker)

# config
vi .env

# required
SMARTMETER_ID=""
SMARTMETER_PASSWORD=""

# options
SMARTMETER_DEVICE="/dev/ttyUSB0"
SMARTMETER_LOGLEVEL=10 #10:DEBUG 20:INFO
SMARTMETER_GET_INTERVAL=10
PORT=8000

# exec
docker run -p 8000:8000 --env-file='.env' --device=/dev/ttyUSB0:/dev/ttyUSB0 legnoh/smartmeter-exporter

Metrics

Name Type Desc
power_consumption_watt Gauge 瞬時電力計測値(W)
power_consumption_ampare_r Gauge 瞬時電流計測値 R相(mA)
power_consumption_ampare_t Gauge 瞬時電流計測値 T相(mA)

Appendix

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.1%
  • Dockerfile 2.9%