Skip to content

1.0.0

Choose a tag to compare

@github-actions github-actions released this 02 Apr 06:23

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}) Gaz
  • MyENGIE România ({poc}) Energie Electrică

Coordinator

  • DataUpdateCoordinator cu 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


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

  1. Citire permisă depinde de intervalul de autocitire next_read_dates, nu de flagul permite_index
  2. Heavy refresh (plăți, green bill) doar la fiecare al 6-lea ciclu
  3. input_number pentru trimitere autocitiri trebuie creat manual
  4. Istoric citiri necesită câmpul autocit valid din index_readings — fără acesta, POST /v1/index/history returnează eroare
  5. 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