Skip to main content

Python interface to the Combined Energy API

Project description

Python: Asynchronous client for Combined Energy API

Provides an async Python 3.8+ interface for the http://combined.energy/ monitoring platform API.

Testing Coverage Maintainability Rating PyPI PyPI - License Code style: black

Note this API client is reverse engineered from observing requests being made
in the web-application. Please report any failures to read data, this is likely to occur for readings as I am only able to create entries for devices that I have.

Installation

Install from PyPI

python3 -m pip install combined-energy-api

Usage

import asyncio

from combined_energy import CombinedEnergy
from combined_energy.helpers import ReadingsIterator

async def main():
    """
    Example using Combined Energy API client.
    """

    async with CombinedEnergy(
        mobile_or_email="user@example.com",
        password="YOUR_COMBINED_ENERGY_PASSWORD",
        installation_id=9999,
    ) as combined_energy:

        status = await combined_energy.communication_status()
        print(status)

        # To generate a stream of readings use the iterator, this example fetches
        # data in 5 minute increments
        async for readings in ReadingsIterator(combined_energy, increment=300):
            print(readings)
            await asyncio.sleep(300)

asyncio.run(main())

Development Environment

You will need:

  • Python 3.8+
  • poetry
  • pre-commit

Ensure pre-commit is installed into your git repository with pre-commit install.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

combined_energy_api-0.7.tar.gz (18.7 kB view hashes)

Uploaded Source

Built Distribution

combined_energy_api-0.7-py3-none-any.whl (12.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page