Aplikacja do analizy zużycia energii elektrycznej z danych od operatorów (Enea, Tauron).
Project description
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
- Upewnij się, że masz zainstalowany menedżer pakietów
piporaz modułvenvdla Twojej wersji Pythona. W systemach bazujących na Debianie/Ubuntu:sudo apt update sudo apt install python3-pip python3-venv
- Skrypt
eanalizer-cliprzy pierwszym uruchomieniu automatycznie tworzy wirtualne środowisko i instaluje wszystkie potrzebne zależności. - 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:
- Manualnie: Pobierz pliki z danymi godzinowymi z portalu Enea eBOK i umieść je w katalogu danych
eanalizer. - 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.
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
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. | |
--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. | |
--verbose |
-v |
Włącza tryb szczegółowy, np. dla porównania taryf. |
Rozwój i Testowanie
Repozytorium jest skonfigurowane do pracy z pre-commit w celu automatycznego formatowania i sprawdzania kodu.
- Instalacja narzędzi deweloperskich:
.venv/bin/pip install -r requirements-dev.txt
- Instalacja pre-commit hook:
pre-commit install - Uruchamianie testów:
.venv/bin/python -m unittest discover tests
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eanalizer-0.3.5.tar.gz.
File metadata
- Download URL: eanalizer-0.3.5.tar.gz
- Upload date:
- Size: 37.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8c8a3906ccffa0a11dd6654b7b34e113769fb7630948209840bcf509f513b17
|
|
| MD5 |
14ccb58ade038bdedd65fcf17865a123
|
|
| BLAKE2b-256 |
ce1d70e241d72d7f1a58a5eea717e1be46d289a7da60764c7eae7db24617ef99
|
Provenance
The following attestation bundles were made for eanalizer-0.3.5.tar.gz:
Publisher:
release.yml on theundefined/eanalizer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eanalizer-0.3.5.tar.gz -
Subject digest:
c8c8a3906ccffa0a11dd6654b7b34e113769fb7630948209840bcf509f513b17 - Sigstore transparency entry: 1006702701
- Sigstore integration time:
-
Permalink:
theundefined/eanalizer@069a8579315024a72197973f16d029b75ffa3329 -
Branch / Tag:
refs/tags/v0.3.5 - Owner: https://github.com/theundefined
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@069a8579315024a72197973f16d029b75ffa3329 -
Trigger Event:
push
-
Statement type:
File details
Details for the file eanalizer-0.3.5-py3-none-any.whl.
File metadata
- Download URL: eanalizer-0.3.5-py3-none-any.whl
- Upload date:
- Size: 34.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2fd25aff91941ad349f7f917e46071d5398a60dad9b542bf72b2b45a6a6f11e6
|
|
| MD5 |
47d4eb5f7efebb3882620ca839bac0a3
|
|
| BLAKE2b-256 |
d15fc90564f3ed51742438869e2703a3022a54956f8f76e9cbac0eedf64e1808
|
Provenance
The following attestation bundles were made for eanalizer-0.3.5-py3-none-any.whl:
Publisher:
release.yml on theundefined/eanalizer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
eanalizer-0.3.5-py3-none-any.whl -
Subject digest:
2fd25aff91941ad349f7f917e46071d5398a60dad9b542bf72b2b45a6a6f11e6 - Sigstore transparency entry: 1006702704
- Sigstore integration time:
-
Permalink:
theundefined/eanalizer@069a8579315024a72197973f16d029b75ffa3329 -
Branch / Tag:
refs/tags/v0.3.5 - Owner: https://github.com/theundefined
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@069a8579315024a72197973f16d029b75ffa3329 -
Trigger Event:
push
-
Statement type: