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
refresh_token Re-authenticate the session. Tries to refresh the access token, but if that fails, logs in again with username and password
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.7.0.tar.gz (49.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.7.0-py3-none-any.whl (18.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: oma_helen_cli-1.7.0.tar.gz
  • Upload date:
  • Size: 49.7 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.7.0.tar.gz
Algorithm Hash digest
SHA256 e01976dd35ccabeb6fe9df91e235a8396fada9ba45f7977b92a72dfc48e9ebb6
MD5 97a884ff1b68b4fa86fa82044c6962e5
BLAKE2b-256 4bd79dd7a6aa8b958f91fb81e3a4adea12952a15a89d48e989bdca15d150f6b2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: oma_helen_cli-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 18.9 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72150d5a01c74331089d9f967ce72a80c8a9568ae42a36bd96881b693e5d2dfe
MD5 a5ce9c62fa79ac634a51630cd46460ad
BLAKE2b-256 a5e1e1aa3e94711524a780e0fd26002f1fa639ccc93184e1e66e7144224b93aa

See more details on using hashes here.

Provenance

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