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.1.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for cez_distribuce_data_fetcher-0.0.1.tar.gz
Algorithm Hash digest
SHA256 06446c48ad99c6ea72738f7fd03a3c4881c1a6e6ea089e92946348ff6659a8b7
MD5 da1279039417ebe1b4a50703c266aabf
BLAKE2b-256 112104ee5184371b3633bf35b8bb3992cf78676e28acb12067c0ed0939f18935

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cez_distribuce_data_fetcher-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9f05281153aabdf13301103b247489a7565e529519c42500e49da8811d5a7a2
MD5 fcfeea313b390c95fef5d22467ce9a03
BLAKE2b-256 515b3ba0085bb1fd020fc0bfa005c026b5ddc6328a6c010b6bec8c5c629d47e7

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