Skip to main content

e-analizer

Aplikacja do analizy zużycia energii elektrycznej na podstawie danych od operatora (Enea). W większości stworzona przy użyciu asystenta AI Gemini.

Główne funkcjonalności

  • Wszechstronna Analiza: Obliczaj koszty energii w oparciu o różne taryfy (G11, G12, G12w), symuluj system net-metering lub fizyczny magazyn energii.
  • Analiza Rynkowa: Wykorzystaj rzeczywiste, godzinowe ceny rynkowe (RCE) pobierane z API PSE do precyzyjnej analizy finansowej.
  • Optymalizacja Magazynu: Oblicz optymalną pojemność magazynu energii w dwóch scenariuszach: dla samowystarczalności oraz dla arbitrażu taryfowego.
  • Porównanie Taryf: Automatycznie porównaj koszty dla wszystkich dostępnych taryf, aby znaleźć najkorzystniejszą opcję dla Twojego profilu zużycia.
  • Elastyczność i Eksport: Filtruj dane według zakresu dat, eksportuj godzinowe wyniki symulacji oraz dzienne agregaty do plików CSV.
  • Integralność Danych: Automatycznie wykrywaj i raportuj brakujące dane godzinowe w analizowanym okresie.

Instalacja

  1. Upewnij się, że masz zainstalowany menedżer pakietów pip oraz moduł venv dla Twojej wersji Pythona. W systemach bazujących na Debianie/Ubuntu:
    sudo apt update
    sudo apt install python3-pip python3-venv
    
  2. Skrypt eanalizer-cli przy pierwszym uruchomieniu automatycznie tworzy wirtualne środowisko i instaluje wszystkie potrzebne zależności.
  3. Zalecana instalacja jako aplikacja CLI (przez pipx):
    pipx install eanalizer
    
    lub Instalacja w trybie deweloperskim (z edytowalnym kodem):
    python3 -m venv .venv
    .venv/bin/pip install -e .
    

Dane o zużyciu

Dane o zużyciu energii w formacie CSV można pozyskać na dwa sposoby:

  1. Manualnie: Pobierz pliki z danymi godzinowymi z portalu Enea eBOK i umieść je w katalogu danych eanalizer.

  2. Automatycznie: Użyj dołączonego skryptu enea-downloader-cli, który po podaniu danych logowania do eBOK Enei automatycznie pobierze i zapisze wszystkie dostępne dane.

    Logowanie Enea wymaga weryfikacji dwuskładnikowej (kod SMS lub e-mail) - enea-downloader-cli poprosi o wpisanie kodu w terminalu. Po udanym logowaniu sesja jest zapisywana w katalogu cache, więc kolejne uruchomienia mogą pominąć logowanie i 2FA, dopóki zapisana sesja pozostaje ważna.

    ./enea-downloader-cli
    
    Flaga Skrót Opis
    --force -f Wymusza ponowne pobranie danych, nawet jeśli są aktualne.
    --report -r Tylko wyświetla zakres danych z plików na dysku (bez pobierania).
    --debug Wypisuje dodatkowe informacje diagnostyczne o logowaniu i zapisuje zrzut ciasteczek sesji (nazwa/domena/wygaśnięcie) do katalogu cache.

Lokalizacja plików konfiguracyjnych i danych

Program eanalizer przechowuje swoje pliki w standardowych lokalizacjach systemowych:

  • Konfiguracja (tariffs.csv): ~/.config/eanalizer/ (np. tariffs.csv)
  • Dane (pobrane CSV): ~/.local/share/eanalizer/
  • Cache (ceny RCE): ~/.cache/eanalizer/

Na innych systemach operacyjnych ścieżki mogą się różnić, zgodnie ze standardami platformdirs.

Użycie

Program uruchamia się za pomocą skryptu eanalizer-cli, który automatycznie zarządza wirtualnym środowiskiem.

Przykłady użycia

1. Podstawowa analiza kosztów dla taryfy G12w z net-meteringiem

./eanalizer-cli --taryfa G12w --z-netmetering

2. Symulacja fizycznego magazynu energii Symulacja magazynu o pojemności 10 kWh i sprawności 90%.

./eanalizer-cli --taryfa G12w --magazyn-fizyczny 10 --sprawnosc-magazynu 0.9

3. Porównanie wszystkich taryf w zadanym okresie

./eanalizer-cli --porownaj-taryfy --data-start 2024-01-01 --data-koniec 2024-12-31

4. Analiza finansowa w oparciu o ceny rynkowe (RCE)

./eanalizer-cli --z-cenami-rce --data-start 2025-01-01 --data-koniec 2025-01-07

5. Obliczenie optymalnej pojemności magazynu i eksport danych

./eanalizer-cli --taryfa G12w --oblicz-optymalny-magazyn --eksport-dzienny dane_dzienne.csv

6. Analiza ostatnich 365 dni danych (bez podawania konkretnych dat)

./eanalizer-cli --taryfa G12w --okres ostatnie-365-dni

7. Zbiorcze zestawienie miesięczne (pobrane/wysłane, przed i po bilansowaniu)

./eanalizer-cli --taryfa G12w --okres biezacy-rok --miesieczne --eksport-miesieczny dane_miesieczne.csv

Pełna lista opcji

Flaga Skrót Opis
--pliki <pliki...> -p Wskazuje konkretne pliki CSV do analizy.
--katalog <katalog> -k Wskazuje katalog, z którego mają być wczytane wszystkie pliki CSV (domyślnie: $HOME/.local/share/eanalizer/).
--taryfa <nazwa> -t Określa taryfę do analizy (np. G11, G12w). Domyślnie G11.
--data-start <RRRR-MM-DD> Data początkowa analizy.
--data-koniec <RRRR-MM-DD> Data końcowa analizy.
--okres <nazwa> Predefiniowany okres analizy (ostatnie-30-dni, ostatnie-90-dni, ostatnie-365-dni, biezacy-miesiac, poprzedni-miesiac, biezacy-rok, poprzedni-rok), liczony wstecz od ostatniej dostępnej daty w danych, a nie od dzisiejszej daty. Wzajemnie wykluczający się z --data-start/--data-koniec/--ostatnie-dni.
--ostatnie-dni <N> Analizuje N ostatnich dni danych, liczonych wstecz od ostatniej dostępnej daty w danych. Wzajemnie wykluczający się z --data-start/--data-koniec/--okres.
--magazyn-fizyczny <kWh> Uruchamia symulację z fizycznym magazynem energii o podanej pojemności.
--sprawnosc-magazynu <0.0-1.0> Sprawność magazynu fizycznego (domyślnie 0.9).
--z-netmetering Włącza obliczenia dla wirtualnego magazynu (net-metering).
--wspolczynnik-netmetering <0.7/0.8> Współczynnik dla energii oddawanej w net-meteringu (domyślnie 0.8).
--z-cenami-rce Używa rzeczywistych cen rynkowych (RCE) zamiast stałych cen taryfowych.
--porownaj-taryfy Uruchamia porównanie kosztów dla wszystkich dostępnych taryf.
--oblicz-optymalny-magazyn Oblicza i wyświetla optymalną pojemność magazynu dla dwóch scenariuszy.
--eksport-symulacji <plik.csv> Eksportuje godzinowe wyniki symulacji magazynu do pliku CSV.
--eksport-dzienny <plik.csv> Eksportuje zagregowane dane dzienne do pliku CSV.
--miesieczne Wyświetla tabelę z zagregowanymi danymi miesięcznymi (pobrane/wysłane, przed i po bilansowaniu).
--eksport-miesieczny <plik.csv> Eksportuje zagregowane dane miesięczne do pliku CSV.
--verbose -v Włącza tryb szczegółowy, np. dla porównania taryf.

Uwaga: --z-cenami-rce nie obsługuje symulacji magazynu ani net-meteringu (--magazyn-fizyczny, --z-netmetering, --sprawnosc-magazynu) ani eksportu/obliczania optymalnego magazynu. --porownaj-taryfy nie obsługuje eksportu ani obliczania optymalnego magazynu. Te flagi, jeśli podane w niewspieranym trybie, zostaną zignorowane, o czym program wypisze stosowne ostrzeżenie.

Rozwój i Testowanie

Repozytorium jest skonfigurowane do pracy z pre-commit w celu automatycznego formatowania i sprawdzania kodu.

  1. Instalacja narzędzi deweloperskich:
    .venv/bin/pip install -e ".[dev]"
    
  2. Instalacja pre-commit hook:
    pre-commit install
    
  3. Uruchamianie testów:
    .venv/bin/python -m unittest discover tests
    

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eanalizer-0.3.13.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

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

eanalizer-0.3.13-py3-none-any.whl (42.2 kB view details)

Uploaded Python 3

File details

Details for the file eanalizer-0.3.13.tar.gz.

File metadata

  • Download URL: eanalizer-0.3.13.tar.gz
  • Upload date:
  • Size: 52.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eanalizer-0.3.13.tar.gz
Algorithm Hash digest
SHA256 dce2f80f72a94999b398b76b038ec7300bcc0642f20c0e83bd8ae82d29269bc2
MD5 34b312f5bfd71fa178ef86dccadc8f61
BLAKE2b-256 1f46e17fc8efcfde902fedd75200fbc8ebf0d724a7172f017e01cf6103383995

See more details on using hashes here.

Provenance

The following attestation bundles were made for eanalizer-0.3.13.tar.gz:

Publisher: release.yml on theundefined/eanalizer

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

File details

Details for the file eanalizer-0.3.13-py3-none-any.whl.

File metadata

  • Download URL: eanalizer-0.3.13-py3-none-any.whl
  • Upload date:
  • Size: 42.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for eanalizer-0.3.13-py3-none-any.whl
Algorithm Hash digest
SHA256 62434d774c46160f9dc4b33519939ead2d67111c2fa7b1b9473390a853e2129b
MD5 c617048efc90dd78ed97319f6741e0e3
BLAKE2b-256 3d5010df35e47a1bc1742c596f6dc5dc02bf996e463d476e359fba6f48909ea2

See more details on using hashes here.

Provenance

The following attestation bundles were made for eanalizer-0.3.13-py3-none-any.whl:

Publisher: release.yml on theundefined/eanalizer

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

Release history Release notifications | RSS feed

This release

0.3.13 This release

2 files

0.3.12

2 files

0.3.11

2 files

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.2

2 files

0.1.6

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page