A Python module for interfacing with several energy meters
Project description
Energymeter Python Module
This is a Python module that implements the communication to several electricity meters and related equipment.
At the moment, the following meters are supported:
- ABB B21, B23, A43 and similar ABB meters (Modbus Serial)
- SMA SunnyBoy (Modbus TCP)
- MultiCube meters
Some base classes are also provided for you to implement new meter variants.
Installation
git clone https://github.com/ElaadNL/python-energymeter
cd python-energymeter
pip3 install .
Usage
To read all registers from a meter:
from energymeter import ABBMeter
meter = ABBMeter(port="/dev/ttyUSB0", baudrate=38400, slaveaddress=1, model="B23")
data = meter.read()
This returns a dictionary with all key-value pairs of data.
To read a single register:
data = meter.read('current_l1')
This returns just the value (usualy a float or int).
To read multiple registers:
data = meter.read(['current_l1', 'voltage_l1_n'])
This returns a dictionary with the requested keys and values.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
energymeter-1.3.0.tar.gz
(11.2 kB
view hashes)
Built Distribution
Close
Hashes for energymeter-1.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19cee10b6e4516c57d027ab9aa18b904b3fcf122ef8a07a12ed671b51cffcb1f |
|
MD5 | 5036661a5fd1c98af036f178366d7fcc |
|
BLAKE2b-256 | dcbc26489b97db12f041470ab5af139e07a3df3b8c17993e2d4e253ea34a133e |