Skip to main content

Fetches energy data from the CEZ Distribuce PND website

Project description

ČEZ Distribuce Data Fetcher

Python Ruff Mypy

Fetches data from ČEZ Distribuce Portal naměřených dat.

How to use

  • Install from pip

    pip install cez-distribution-data-fetcher
    
  • Use get_energy_measurements() function

    from datetime import datetime, timedelta
    
    from cez_distribuce_data_fetcher import get_energy_measurements, offset
    
    today = datetime.now()
    yesterday = today - timedelta(days=1)
    
    pnd_device = "ELM 777777"
    pnd_password = "SECRET"
    pnd_user = "USERNAME"
    
    measurements = get_energy_measurements(
        from_time=offset(target_time=yesterday),
        pnd_device=pnd_device,
        pnd_password=pnd_password,
        pnd_user=pnd_user,
        to_time=offset(target_time=today),
    )
    for date, from_grid, to_grid in measurements:
        print(f"date: {date} | from_grid: {from_grid} | to_grid: {to_grid}")
    

API

get_energy_measurements()

This function gets energy consumption and energy creation measurements from ČEZ Distribuce PND. It returns tuple with date, from grid and to grid measurements.

Following parameters are available:

Parameter Description
from_time The starting time for fetching energy measurements.
pnd_device The device identifier (eg ELM 777777).
pnd_password The password for accessing the ČEZ Distribuce Portal.
pnd_user The username for accessing the ČEZ Distribuce Portal.
pnd_url The URL of the ČEZ Distribuce Portal. Default value is "https://dip.cezdistribuce.cz/irj/portal/?zpnd=".
to_time The ending time for fetching energy measurements.
remote_connection A boolean value indicating whether to use a remote connection for Selenium. Default value is False.
selenium_driver The driver for Selenium. Default value is "chromedriver".
selenium_url The URL for Selenium. Default value is "http://localhost:4444".

To see more about how to configure Selenium, check out How to configure Selenium section.

offset()

Data availabe in the ČEZ Distribuce Portal are not live. They have 8-9 hours offset. This function is a helper utility to set this offset for provided from_time and to_time parameters.

How to configure Selenium

As ČEZ Distribuce Portal does not offer publicly accesible API, the Selenium framework is used to scrape the data. Selenium needs a browser to work (only Chromium is supported). There are two methods available:

  1. Remote (recommended)

    • Use docker-selenium to start Selenium browser in a container.
      docker run --rm -it -p 4444:4444 -p 5900:5900 -p 7900:7900 --shm-size 2g selenium/standalone-chromium:latest
      
    • Set remote_connection to True and optionally update selenium_url (defaults to http://localhost:4444).
  2. Local

    • Set remote_connection to False (default value) and optionally update selenium_driver path (defaults to chromedriver).
    • Chromedriver binaries are available here.

Changelog 📝

See release notes.

How to contribute ✌

Every contribution is much appreciated.

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

cez_distribuce_data_fetcher-0.0.2.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file cez_distribuce_data_fetcher-0.0.2.tar.gz.

File metadata

File hashes

Hashes for cez_distribuce_data_fetcher-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1b4fec4b9634a522aff517d94d08cb786fdb7546b014957a866d7efe4465abfd
MD5 d154c23dd1c0658ee5c06c8202ed8883
BLAKE2b-256 3453f0939b876b681be2bbf8efdc8f155148f76566b151b7a133ddc66fdb99e8

See more details on using hashes here.

File details

Details for the file cez_distribuce_data_fetcher-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for cez_distribuce_data_fetcher-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7032bcbee6c7c4963738e170701392f70c54f933114973a9053f1b8c3d0a1eae
MD5 25ce59a56a254909a131a54e98202da4
BLAKE2b-256 f9d9b321b728bda4da1c5e6c20f9885c1b0127b59a1e1565a95182c7760864b5

See more details on using hashes here.

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