3.1.0
Hidroelectrica România v3.1.0
⚠️ ATENȚIE — CITEȘTE ÎNAINTE DE A ACTUALIZA — IMPORTANT
Această versiune a integrării necesită reconfigurare completă.
Pentru a evita erori sau comportamente neașteptate, este necesar să reinstalezi integrarea urmând pașii de mai jos:
- Șterge integrarea din [Home Assistant].
- Repornește Home Assistant.
- Adaugă din nou integrarea.
- Reconfigurează contul / conturile tale.
Această procedură este necesară deoarece noua versiune introduce modificări în modul de configurare și gestionare a datelor.
Suport complet pentru prosumatori
Aceasta este o rescriere majoră a integrării, cu suport nativ pentru conturile de prosumator și o curățare completă a codului.
Funcționalități noi
Detectare automată prosumator
- Integrarea detectează automat conturile de prosumator pe baza prezenței registrului
1.8.0_Pîn istoricul de citiri. - Nu necesită configurare manuală — totul se întâmplă la inițializare.
Senzor: Index energie produsă (prosumator)
- Afișează indexul curent al producției (registrul 1.8.0_P) în kWh.
- Folosește aceeași logică de fallback ca indexul de consum:
meter_read_history→previous_meter_read.
Senzor: Arhivă index energie produsă (prosumator)
- Istoricul citirilor de producție, filtrat exclusiv pe registrul 1.8.0_P.
- Afișează: data, indexul, tipul citirii (autocitire/distribuitor/estimare).
Senzor: Arhivă plăți prosumator (prosumator)
- Senzor dedicat compensațiilor ANRE primite (canale
Comp ANRE-*). - Separat complet de plățile normale ale utilizatorului.
Senzor: Sold factură — starea „Credit"
- Sold negativ = credit prosumator (compania datorează utilizatorului).
- Afișare:
-X,XX lei (credit prosumator).
Îmbunătățiri
Separare completă consum vs. producție
- Funcția
_extract_meter_read_yearsprimește parametrulregister_filterpentru a filtra pe1.8.0(consum) sau1.8.0_P(producție). - La prosumator,
ArhivaIndexSensorfiltrează automat doar consumul (1.8.0), prevenind contaminarea cu citiri de producție.
Separare completă plăți normale vs. compensații ANRE
- Funcția
_extract_payment_yearsprimește parametrulchannel_filter("normal"sau"comp"). ArhivaPlatiSensorafișează doar plățile utilizatorului către companie (Incasari-*).ArhivaPlatiProsumatorSensorafișează doar compensațiile ANRE (Comp ANRE-*).- La un cont non-prosumator, doar
ArhivaPlatiSensorse creează.
Excludere automată senzori irelevanti la prosumator
CitirePermisaSensor— nu se creează la prosumator (distribuitorul citește contorul automat).TrimiteIndexButton— nu se creează la prosumator (autocitirea nu este aplicabilă).- Deciziile sunt logate explicit cu motivul excluderii.
Optimizare refresh API
- Mecanism de refresh în două faze: date ușoare la fiecare ciclu, date grele la fiecare al 4-lea ciclu.
- Primul refresh include întotdeauna ambele faze.
- Reduce semnificativ numărul de cereri API.
Optimizare api.py
resp.text()se citește doar pe erori HTTP (nu și pe 200), reducând overhead-ul.
Curățare cod
Eliminare logging excesiv
coordinator.py: eliminate ~80 de linii de logging RAW (JSON complet, chei detaliate, structuri debug).sensor.py: curățate funcțiile helper (_get_meter_read_list,_get_active_counter_series,_get_latest_meter_read,IndexEnergieSensor.native_value,_get_meter_counter_series_fallback,_parse_date_dmy).- Înlocuite cu mesaje concise și informative.
- Eliminat
import json as _jsondincoordinator.py(nu mai este necesar).
Simplificare _parse_date_dmy
- Eliminat fallback redundant care reîncerca același format de parsare.
Migrare
- Config entry v3 — migrare automată de la versiunile anterioare.
- La migrare,
selected_accountsse setează ca listă goală — utilizatorul va trebui să reconfigureze selecția conturilor.
Fișiere modificate
| Fișier | Modificări |
|---|---|
sensor.py |
Senzori prosumator noi, register_filter, channel_filter, separare plăți/compensații, curățare logging |
button.py |
Detecție prosumator, excludere buton la prosumator |
coordinator.py |
Curățare logging masiv, mesaje concise |
api.py |
Optimizare resp.text() doar pe erori |
const.py |
Fără modificări (stabil) |
helpers.py |
Fără modificări (stabil) |
config_flow.py |
Fără modificări (stabil) |
__init__.py |
Migrare v3, suport CONF_ACCOUNT_METADATA |
manifest.json |
Versiune actualizată: 3.0.0 |
Teste
- Script de test
test_both_accounts.pyvalidează ambele tipuri de conturi. - Verificări: index consum, detecție prosumator, index producție, sold factură, separare registre 1.8.0/1.8.0_P, separare plăți normale/compensații ANRE.
- Testat cu date reale: cont non-prosumator + cont prosumator.
- Rezultat: toate testele trec cu succes.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 80 | 702 | 319 |
Dacă integrarea Hidroelectrica România îț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