Skip to main content

Oma Helen API library and CLI

Project description

Oma Helen CLI

Tests

An interactive CLI to use Oma Helen from your command line. Offers an API client to get contract data and electricity measurements in JSON format.

What is Oma Helen?

Oma Helen is the user portal for a Finnish electricity company, Helen Oy.

How to install and use

Install from pypi and run:

pip install oma-helen-cli
oma-helen-cli

Then just enter you Oma Helen credentials and start entering commands.

Tip: in order to list all the commands within the CLI, enter ?

Available functions

Function name What it does
get_api_access_token Get the access token to the Oma Helen API. With the token, you can make manual curl requests to the API
get_contract_base_price Get the monthly base price of your current electricity contract
get_contract_data_json Returns the whole contract data as JSON. Will return all active contracts you have with Helen
get_daily_measurements_json Returns your daily energy consumption for the on-going month of the on-going year as JSON
get_market_prices_json Returns the prices for the Market Price Electricity contract as JSON. The JSON includes the price for last month, the current month and next month if available
get_monthly_measurements_json Returns your monthly energy consumption for the on-going year as JSON
calculate_the_impact_of_usage_between_dates Calculates your impact of usage (in c/kwh) between given dates for the Helen Smart Electricity Guarantee
calculate_spot_cost_between_dates Calculates the total costs (eur) between given dates of a spot price contract in an hourly precision
get_exchange_margin_price_json Get the margin price of the Exchange Electricity contract
get_contract_energy_unit_price Get the energy unit price (c/kwh) from your contract data. Note that this only works for fixed price contracts. For spot electricity contract, this returns 0.0
get_contract_transfer_fee Get the transfer fees (c/kwh) from your contract. Note that if Helen is not your transfer company, this returns 0.0
calculate_transfer_fees_between_dates Calculates total transfer fees (eur) based on your consumption between dates
get_contract_transfer_base_price Get the monthly transfer base price (eur) from your contract. Note that if Helen is not your transfer company, this returns 0.0
get_all_delivery_sites Get all delivery sites across your active contracts
get_all_gsrn_ids Get all GSRN ids across your active contracts
select_delivery_site Select a delivery site by id for the CLI to use. Accepts both GSRN ids and delivery site ids as input. Useful if you have multiple contracts with Helen. Use get_all_delivery_sites or get_all_gsrn_ids to find out all your delivery sites / GSRN ids. After selecting a delivery site, all measurements and other requested data will be about the selected delivery site.
get_contract_type Get the contract type (e.g., exchange electricity, market price) from your contract data
get_spot_prices_chart_data Get spot prices from chart data API for a single day, including 15-minute intervals
get_hourly_measurements_with_spot_prices_json Get the measurements with spot prices for each hour between given dates
get_quarterly_measurements_with_spot_prices_json Get the measurements with spot prices for each quarter between given dates
exit Exit the CLI application

Installing from sources and running the project for local development

First clone this repo.

Use virtual env to keep the project isolated. Developed using Python 3.9.9

  1. In the project root folder run python -m venv .venv
  2. Activate the venv with source .venv/bin/activate
  3. Install requirements pip install -r requirements.txt
  4. Launch the CLI as a python module python -m helenservice.cli
  5. Enter your username and password as they are prompted
  6. Type ? into the CLI prompt to see all available functions

Deactivate venv when not needed: deactivate

Testing

Install test dependencies pip install -e ".[test]"

Run tests pytest tests/test_api_client.py

Run with verbose output pytest tests/test_api_client.py -v

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

oma_helen_cli-1.5.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oma_helen_cli-1.5.0-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

Details for the file oma_helen_cli-1.5.0.tar.gz.

File metadata

  • Download URL: oma_helen_cli-1.5.0.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oma_helen_cli-1.5.0.tar.gz
Algorithm Hash digest
SHA256 20f8cb4306347ba964360bacab074a582b1b1fcd2836fbf59c37cceafb6e21a0
MD5 82b8da60943e929f9159e902ac1733c4
BLAKE2b-256 8471d60bea9af4a8ed7854c95db03105b45dba92708f96c8b352178c4e60d746

See more details on using hashes here.

Provenance

The following attestation bundles were made for oma_helen_cli-1.5.0.tar.gz:

Publisher: publish-to-pypi.yml on carohauta/oma-helen-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file oma_helen_cli-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: oma_helen_cli-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for oma_helen_cli-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 71ba91d32ae2f37cc8ddbf7779f7802696e85296d1a46d727cca45c51241f1a1
MD5 80bef9af0a95aaea54fdb87f4148fda6
BLAKE2b-256 ca1121c2f687642e9db5463544c9f372535c4f47070044615be777deb3c1fb2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for oma_helen_cli-1.5.0-py3-none-any.whl:

Publisher: publish-to-pypi.yml on carohauta/oma-helen-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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