1.0.0
MyEngie România v1.0.0
Data: 2 aprilie 2026
Tip: Prima versiune publică
Rezumat
Prima versiune stabilă a integrării MyENGIE România (ENGIE Romania) pentru Home Assistant. Integrarea monitorizează datele contractuale, consumul, facturile, plățile și citirile contoarelor prin API-ul backend ENGIE Romania (gwss.engie.ro/myservices), cu suport complet pentru multi-POC (mai multe locuri de consum per cont).
Funcționalități
Autentificare și multi-POC
- Autentificare prin endpoint-ul
/v1/login— form-urlencoded cu device headers (compatibil APK oficial) - Descoperire automată a tuturor POC-urilor (locuri de consum) și utilitățile lor (gaz/elec)
- Fetch paralel per POC per ciclu de actualizare
- Token JWT cu validitate ~2h, re-autentificare automată
- Persistență token între restartări HA
Senzori (12 tipuri)
| Senzor | Entity ID | Valoare | Icon |
|---|---|---|---|
| Sold total | sensor.myengie_{poc}_{ut}_sold_total |
Sumă RON | mdi:cash |
| Citire permisă | sensor.myengie_{poc}_{ut}_citire_permisa |
Da / Nu | mdi:clock-alert-outline |
| Arhivă facturi | sensor.myengie_{poc}_{ut}_arhiva_facturi |
Nr facturi | mdi:file-document-multiple-outline |
| Arhivă plăți | sensor.myengie_{poc}_{ut}_arhiva_plati |
Nr plăți | mdi:cash-check |
| Date contract | sensor.myengie_{poc}_{ut}_date_contract |
Activ / Inactiv | mdi:file-sign |
| Date utilizator | sensor.myengie_{poc}_{ut}_date_utilizator |
Nume titular | mdi:account-details |
| Arhiva consum lunar | sensor.myengie_{poc}_{ut}_consum_grafic |
Total consum (m³/kWh) | mdi:chart-line |
| Factură restantă | sensor.myengie_{poc}_{ut}_factura_restanta |
Da / Nu | mdi:file-document-alert |
| Index contor | sensor.myengie_{poc}_{ut}_index_contor_{inst} |
Index (m³/kWh) | mdi:counter |
| Istoric citiri | sensor.myengie_{poc}_{ut}_istoric_citiri_{inst} |
Nr citiri (max 12) | mdi:history |
| Revizie tehnică gaz | sensor.myengie_{poc}_gaz_revizie_tehnica |
Validă / Expirată / Nedefinit | mdi:wrench-clock |
| Date utilizator | sensor.myengie_{poc}_{ut}_date_utilizator |
Nume titular | mdi:account-details |
Senzor licență
| Senzor | Entity ID | Valoare |
|---|---|---|
| Licență necesară | sensor.myengie_{poc}_licenta |
„Licență necesară" |
Apare doar când licența nu este validă. Se elimină automat la validarea licenței.
Buton (1 tip)
| Buton | Entity ID | Icon |
|---|---|---|
| Trimite index | button.myengie_{poc}_{ut}_trimite_index |
mdi:fire (gaz) / mdi:flash (electricitate) |
Trimite autocitirea la API-ul ENGIE. Citește valoarea din input_number configurat manual.
Device-uri
Un device per POC per utilitate:
MyENGIE România ({poc}) GazMyENGIE România ({poc}) Energie Electrică
Coordinator
DataUpdateCoordinatorcu interval configurabil (implicit 3600s)- Heavy refresh la fiecare al 6-lea ciclu (plăți, green bill)
- Fetch paralel per endpoint, paralel per POC
- Structura
pocs_data[poc_number]conține toate datele per POC - Date globale:
contracts,partner_details,user_profile
ConfigFlow / OptionsFlow
- ConfigFlow: email + parolă + interval actualizare
- OptionsFlow: meniu cu Setări cont + Licență
- Validare autentificare în real-time la configurare
- O singură instanță per cont email
Atribute detaliate per senzor
Citire permisă
Atribute: Început perioadă, Sfârșit perioadă (format românesc), attribution.
Istoric citiri (format identic MyElectrica)
Atribute: Index (tip) DATA → valoare index, Serie contor, Total citiri, attribution.
Arhivă facturi
Atribute: Emisă pe {data} → sumă lei, Total facturi → nr, Total facturat → sumă lei.
Arhivă plăți
Atribute: Plată pe {data} → sumă lei (metodă), Total plăți, Total plătit, attribution.
Date contract
Atribute: Nr. contract, Descriere, Început contract, Sfârșit contract, Status, Nr. cont contract, Nr. instalație, Division, Document disponibil, attribution.
Date utilizator
Atribute: Nume, Prenume, Tip cont, Email, Telefon mobil, Telefon fix, PA, Adresă, attribution.
Factură restantă
Atribute: Total restantă (RON), Sold total (RON), Facturi neachitate (nr).
Revizie tehnică gaz
Atribute: Data ultimei revizii, Data ultimei verificări, Data următoarei inspecții, Tipul următoarei inspecții, Depășită.
Index contor
Atribute: POD, Nr. instalație, Autocitire, Permite index, Perioadă autocitire.
Arhiva consum lunar
Atribute: Consum pe luna {lună} → valoare + unitate (m³/kWh) per fiecare lună din anul curent.
Cerințe
- Home Assistant 2025.11+
- Python:
cryptography >= 41.0.0 - Cont MyENGIE activ — my.engie.ro
- Licență validă (hubinteligent.org/licenta/myengie)
Structura fișierelor
custom_components/myengie/
├── __init__.py # Setup/unload, licență singleton, heartbeat, cache expiry
├── api.py # MyEngieApiClient — login, GET/POST, token management
├── button.py # TrimiteIndexButton — per contor, cu validare licență
├── config_flow.py # ConfigFlow + OptionsFlow (autentificare + licență)
├── const.py # Constante, URL-uri API (gwss.engie.ro/myservices)
├── coordinator.py # MyEngieCoordinator — multi-POC fetch paralel
├── diagnostics.py # Diagnostics (licență, POC summary, entități active)
├── helpers.py # Funcții utilitare
├── license.py # LicenseManager (server-side v3.3, Ed25519, HMAC-SHA256)
├── manifest.json # Metadata (domain: myengie, version: 1.0.0)
├── sensor.py # 12 clase senzor + LicentaNecesaraSensor
├── strings.json # Traduceri implicite (engleză)
└── translations/
├── en.json # Traduceri engleză
└── ro.json # Traduceri române
Documentație
- README.md — prezentare generală, instalare, entități, exemple
- SETUP.md — ghid complet de instalare și configurare
- FAQ.md — întrebări frecvente
- DEBUG.md — ghid de debugging și raportare buguri
Probleme cunoscute
- Citire permisă depinde de intervalul de autocitire
next_read_dates, nu de flagulpermite_index - Heavy refresh (plăți, green bill) doar la fiecare al 6-lea ciclu
input_numberpentru trimitere autocitiri trebuie creat manual- Istoric citiri necesită câmpul
autocitvalid dinindex_readings— fără acesta,POST /v1/index/historyreturnează eroare - Datele de consum lunar vin din endpoint-ul consumption graph — dacă ENGIE nu returnează date pentru unele luni, atributele arată 0
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 0 | 0 | 0 |
Dacă integrarea MyEngie îți este utilă, lasă un ⭐ pe repository — îi ajută și pe alți utilizatori să o descopere.
💛 Dezvoltarea consumă timp și resurse. Dacă vrei să susții proiectul:
☕ Buy Me a Coffee · 💰 GitHub Sponsors