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.

This project uses uv for fast dependency management. Make sure you have uv installed.

  1. In the project root folder run uv sync to install dependencies
  2. Launch the CLI with uv run oma-helen-cli
  3. Enter your username and password as they are prompted
  4. Type ? into the CLI prompt to see all available functions

For development with test dependencies: uv sync --extra test

Testing

Install test dependencies uv sync --extra test

Run tests uv run pytest tests/test_api_client.py

Run with verbose output uv run 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.6.1.tar.gz (39.9 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.6.1-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for oma_helen_cli-1.6.1.tar.gz
Algorithm Hash digest
SHA256 4ac7e3ca2ef69335442343c1de0976db15044b250cc611fef04b601852d62a9e
MD5 5fa5dcd13f00b6e53f9d8edbb5983e03
BLAKE2b-256 8c525935e89340e7e9d13e76b8110d3bd9551e3e5d02ebf94e8464d83e252f1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for oma_helen_cli-1.6.1.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.6.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for oma_helen_cli-1.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c2965332e4942b83e4235aa9756658c060bd7654e50ec3c7f8322cef3917ae60
MD5 252349baa4a551ca203048467ac91675
BLAKE2b-256 b5aa7e834d9c6f0701b5f40847327fe4119a72e1697028b98d59cfc59caf6180

See more details on using hashes here.

Provenance

The following attestation bundles were made for oma_helen_cli-1.6.1-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