energymeter


Nameenergymeter JSON
Version 1.3.0 PyPI version JSON
download
home_page
SummaryA Python module for interfacing with several energy meters
upload_time2023-01-24 14:56:31
maintainer
docs_urlNone
author
requires_python>=3.3
licenseApache License, Version 2.0
keywords energy meter modbus
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "energymeter",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.3",
    "maintainer_email": "",
    "keywords": "Energy meter,Modbus",
    "author": "",
    "author_email": "ElaadNL <developers@elaad.nl>, Stan Janssen <stanjanssen@finetuned.nl>",
    "download_url": "https://files.pythonhosted.org/packages/6a/5e/b24293af8a2f758f4c7903884e35373baa459ce16db5a9ddb6c7aebf71b5/energymeter-1.3.0.tar.gz",
    "platform": null,
    "description": "# Energymeter Python Module\n\nThis is a Python module that implements the communication to several electricity meters and related equipment.\n\nAt the moment, the following meters are supported:\n\n* ABB B21, B23, A43 and similar ABB meters (Modbus Serial)\n* SMA SunnyBoy (Modbus TCP)\n* MultiCube meters\n\nSome base classes are also provided for you to implement new meter variants.\n\n## Installation\n\n```\ngit clone https://github.com/ElaadNL/python-energymeter\ncd python-energymeter\npip3 install .\n```\n\n## Usage\n\nTo read all registers from a meter:\n\n```\nfrom energymeter import ABBMeter\n\nmeter = ABBMeter(port=\"/dev/ttyUSB0\", baudrate=38400, slaveaddress=1, model=\"B23\")\ndata = meter.read()\n```\n\nThis returns a dictionary with all key-value pairs of data.\n\nTo read a single register:\n\n```\ndata = meter.read('current_l1')\n```\n\nThis returns just the value (usualy a float or int).\n\nTo read multiple registers:\n\n```\ndata = meter.read(['current_l1', 'voltage_l1_n'])\n```\n\nThis returns a dictionary with the requested keys and values.\n",
    "bugtrack_url": null,
    "license": "Apache License, Version 2.0",
    "summary": "A Python module for interfacing with several energy meters",
    "version": "1.3.0",
    "split_keywords": [
        "energy meter",
        "modbus"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dcbc26489b97db12f041470ab5af139e07a3df3b8c17993e2d4e253ea34a133e",
                "md5": "5036661a5fd1c98af036f178366d7fcc",
                "sha256": "19cee10b6e4516c57d027ab9aa18b904b3fcf122ef8a07a12ed671b51cffcb1f"
            },
            "downloads": -1,
            "filename": "energymeter-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5036661a5fd1c98af036f178366d7fcc",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.3",
            "size": 11431,
            "upload_time": "2023-01-24T14:56:30",
            "upload_time_iso_8601": "2023-01-24T14:56:30.436869Z",
            "url": "https://files.pythonhosted.org/packages/dc/bc/26489b97db12f041470ab5af139e07a3df3b8c17993e2d4e253ea34a133e/energymeter-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a5eb24293af8a2f758f4c7903884e35373baa459ce16db5a9ddb6c7aebf71b5",
                "md5": "b5c6bc2325dd93d59cb993275fc24de0",
                "sha256": "cfb6802a1222bcb4cefe1aaefa48b0218109bd7e619a7426b1cd95a6df5fb725"
            },
            "downloads": -1,
            "filename": "energymeter-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "b5c6bc2325dd93d59cb993275fc24de0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.3",
            "size": 11167,
            "upload_time": "2023-01-24T14:56:31",
            "upload_time_iso_8601": "2023-01-24T14:56:31.484614Z",
            "url": "https://files.pythonhosted.org/packages/6a/5e/b24293af8a2f758f4c7903884e35373baa459ce16db5a9ddb6c7aebf71b5/energymeter-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-24 14:56:31",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "lcname": "energymeter"
}
        
Elapsed time: 0.03584s