Releases: cnecrea/erovinieta
2.10.3
CNAIR eRovinieta v2.10.3
Ce s-a schimbat
A fost corectată o problemă în care, în anumite configurații, perioada de evaluare (trial) putea fi atribuită incorect.
Ce trebuie să faci
Nu este necesară nicio acțiune. Actualizarea se aplică automat la repornirea Home Assistant.
De ce este important
Unele instanțe de Home Assistant puteau fi confundate între ele, ceea ce ducea la afișarea incorectă a perioadei de evaluare. Această actualizare rezolvă această problemă.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 39 | 1.5k | 731 |
Dacă integrarea CNAIR eRovinieta îț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
2.10.2
CNAIR eRovinieta v2.10.2
Notificări expirare licență
Când perioada de evaluare sau licența expiră, integrarea te anunță acum în două locuri:
- Reparații — în Setări → Sistem → Reparații apare un avertisment cu butonul „Mai multe informații" care duce direct la pagina de obținere a licenței.
- Notificare persistentă — la clopoțelul din bara de sus apare un mesaj cu link direct pentru reînnoire sau achiziție.
Mesajul diferă în funcție de situație: dacă a expirat o perioadă de evaluare, vei vedea „Licența de probă a expirat", iar dacă a expirat o licență activă, vei vedea „Licența a expirat".
Ambele notificări dispar automat în momentul în care licența redevine validă.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 39 | 1.5k | 731 |
Dacă integrarea CNAIR eRovinieta îț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
2.10.1
CNAIR eRovinieta v2.10.1
Îmbunătățiri și optimizări
Sistem de licențiere
- Îmbunătățiri de securitate pentru procesul de activare și dezactivare a licențelor
- Optimizarea validării sesiunilor și a comunicării cu serverul de licențe
- Îmbunătățirea mecanismului anti-abuz pentru perioada de evaluare
Stabilitate
- Gestionare îmbunătățită a conexiunilor HTTP
- Tratare mai robustă a erorilor la inițializarea integrării
- Recuperare automată îmbunătățită în cazul pierderii temporare a conexiunii la server
Performanță
- Optimizarea apelurilor API — se evită traficul inutil atunci când integrarea nu este activă
- Îmbunătățirea gestionării conturilor asociate
Diverse
- Corecții minore de stabilitate și fiabilitate
- Îmbunătățiri interne ale fluxului de date
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 39 | 1.5k | 703 |
Dacă integrarea CNAIR eRovinieta îț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
2.10.0
CNAIR eRovinieta v2.10.0
Ce s-a schimbat
Actualizare URL achiziție licență — pagină nouă, dedicată, cu două opțiuni de obținere a licenței (cont GitHub sau donație directă).
De ce
Până acum, utilizatorii erau redirecționați direct către GitHub pentru solicitarea licenței. Mulți nu aveau cont GitHub și abandonau procesul. Noua pagină oferă o alternativă clară pentru cei care nu folosesc GitHub.
Ce trebuie să faci
Nimic. Actualizarea se aplică automat la update.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 39 | 1.2k | 560 |
Dacă integrarea CNAIR eRovinieta îț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
2.9.0
CNAIR eRovinieta v2.9.0
Ce este nou?
Îmbunătățiri aduse integrării
Comunicare îmbunătățită cu serverul de licențiere
Am optimizat modul în care integrarea comunică cu serverul de licențiere. Schimbul de date este acum mai eficient și mai fiabil, reducând consumul de resurse în timpul verificărilor periodice.
Compatibilitate extinsă
Am îmbunătățit compatibilitatea cu versiunile recente de Home Assistant, asigurând o funcționare stabilă indiferent de configurația folosită.
Optimizări interne
Diverse îmbunătățiri de performanță și stabilitate în procesul de verificare a licenței.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 39 | 1.1k | 524 |
Dacă integrarea CNAIR eRovinieta îț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
2.8.0
CNAIR eRovinieta v2.8.0
Ce este nou?
Îmbunătățiri aduse integrării
Stabilitate crescută
Am rezolvat o problemă care putea apărea la pornirea Home Assistant, în special când integrarea gestiona mai multe intrări simultan. Acum totul pornește corect, fără verificări duplicate sau întârzieri.
Reacție mai rapidă la schimbările de licență
Integrarea se adaptează acum automat la intervalele de verificare primite de la server. Dacă licența expiră sau devine din nou validă, senzorii se actualizează imediat — fără să fie nevoie de restart.
Informare clară despre starea licenței
Când licența sau perioada de evaluare expiră, integrarea afișează acum un mesaj clar direct în senzori: „Licență necesară". Nu mai rămân senzori cu valori vechi sau incomplete — știi exact ce se întâmplă și ce trebuie să faci.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 39 | 1.1k | 524 |
Dacă integrarea CNAIR eRovinieta îț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
2.7.0
CNAIR eRovinieta v2.7.0
Îmbunătățiri de stabilitate
-
Reziliență la indisponibilitatea temporară a serverului — integrarea continuă să funcționeze normal în cazul în care serverul de licențiere este temporar inaccesibil (mentenanță programată, probleme de rețea, DNS). Senzorii rămân funcționali pe durata întreruperii, fără intervenția utilizatorului.
-
Eliminarea mesajelor repetitive din log — un avertisment care anterior se genera de mii de ori pe oră (în anumite condiții de rețea) apare acum o singură dată. Dimensiunea fișierului de log scade semnificativ în scenarii de conectivitate intermitentă.
-
Reacție instantanee la expirarea cache-ului — un mecanism de programare precisă elimină complet fereastra moartă dintre expirarea datelor locale și verificarea la server. Integrarea detectează și reacționează imediat la schimbările de stare.
Îmbunătățiri în gestionarea fluxului
-
Backoff adaptiv la reconectare — în loc să bombardeze serverul cu cereri în cazul unei indisponibilități, integrarea crește progresiv intervalul dintre încercări (de la 1 minut la maximum 1 oră), reducând traficul inutil și protejând atât clientul cât și serverul.
-
Recuperare automată la reconectare — în momentul în care serverul redevine accesibil, integrarea se reconectează automat, restaurează senzorii și revine la funcționarea normală, fără repornire sau intervenție manuală.
-
Tranziții curate între stări — trecerea de la licență validă la invalidă (și invers) se face printr-un mecanism de reload controlat, fără senzori în stare „indisponibil" și fără erori vizibile în interfață.
Notificări lifecycle
- Corecție la trimiterea evenimentelor de dezactivare și ștergere — un bug care împiedica trimiterea corectă a evenimentelor lifecycle (dezactivare, reactivare, ștergere integrare) a fost identificat și corectat.
Alte îmbunătățiri
- Link direct către asistență în ecranul de configurare, vizibil atunci când licența este expirată sau lipsește, pentru a ghida utilizatorul spre obținerea unei licențe.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 36 | 914 | 418 |
Dacă integrarea CNAIR eRovinieta îț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
2.6.0
CNAIR eRovinieta v2.6.0
Sistem standardizat de licențiere
Această versiune introduce un sistem standardizat de licențiere utilizat de integrările din ecosistemul Hub Inteligent.
Sistemul este gestionat server-side, iar integrarea Home Assistant verifică periodic starea licenței și păstrează temporar rezultatul local pentru a reduce numărul de verificări.
Flux de licențiere
- Integrarea generează un identificator unic al dispozitivului
- Serverul verifică licența sau activează automat o perioadă de trial de 30 de zile
- Răspunsul serverului este validat criptografic de integrare
- Rezultatul este cache-at temporar pentru a optimiza verificările ulterioare
În majoritatea cazurilor, procesul este complet automat și nu necesită nicio acțiune din partea utilizatorului.
Securitate
Sistemul utilizează mecanisme moderne de securitate pentru a asigura:
- validarea criptografică a răspunsurilor primite de la server
- integritatea comunicării între integrare și serviciul de licențiere
- legarea licenței de dispozitiv
- protecție împotriva modificării sau coruperii datelor locale
- mecanisme de recuperare în cazul unor erori de stocare
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 37 | 766 | 352 |
Dacă integrarea CNAIR eRovinieta îț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
2.5.0
CNAIR eRovinieta v2.5.0
Îmbunătățiri generale – Stabilitate și Interfață
Această actualizare se concentrează pe îmbunătățirea experienței generale de utilizare și pe creșterea stabilității integrării. Au fost optimizate atât comportamente interne ale integrării, cât și modul în care informațiile sunt prezentate în interfață.
Îmbunătățiri aduse
- Optimizarea mecanismului de comunicare dintre integrare și API, pentru o gestionare mai stabilă a solicitărilor și o identificare mai clară a integrărilor active.
- Îmbunătățirea modului în care senzorii expun informațiile în interfață, astfel încât starea licenței să fie reflectată mai clar și mai predictibil.
- Consolidarea mecanismului de import al datelor pentru a preveni utilizarea unor căi de fișiere nevalide și pentru a asigura integritatea datelor importate.
- Actualizarea dependențelor interne necesare pentru funcționarea componentelor criptografice utilizate de integrare.
- Optimizarea modului în care sunt gestionate conexiunile HTTP pentru a reduce consumul de resurse și a îmbunătăți performanța în timp.
- Verificări suplimentare asupra procesării datelor numerice pentru a asigura consistența valorilor calculate.
Îmbunătățiri de interfață
- Clarificarea mesajelor afișate în interfață în situațiile în care anumite funcționalități necesită o licență activă.
- Uniformizarea atributelor expuse de senzori pentru o integrare mai coerentă cu dashboard-urile existente.
- Ajustări minore de UI pentru a îmbunătăți lizibilitatea și coerența datelor afișate.
Stabilitate și calitate cod
- Verificare completă a structurii codului pentru consistență și conformitate.
- Eliminarea posibilelor situații de consum inutil de resurse.
- Validarea structurii fișierelor și a importurilor pentru o funcționare predictibilă în mediul Home Assistant.
Aceste îmbunătățiri contribuie la o experiență mai stabilă, o interfață mai clară și o integrare mai robustă în ecosistemul Home Assistant.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 37 | 668 | 318 |
Dacă integrarea CNAIR eRovinieta îț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
2.4.0
CNAIR eRovinieta v2.4.0
Migrare completă la arhitectura async
Clientul HTTP a fost rescris integral de la requests (sincron, blocant) la aiohttp (async nativ). Sesiunea HTTP utilizează cookie jar pentru persistența JSESSIONID și include timeout de 30 de secunde. Token-ul de autentificare este monitorizat cu time.monotonic() și se reautentifică automat la expirare sau la răspunsuri 401/403. Sesiunea este închisă corect atât la dezinstalare, cât și la erori de setup.
Fișiere noi
exceptions.py— Ierarhie proprie de excepții (ErovinietaAuthError,ErovinietaConnectionError,ErovinietaApiError), toate derivate dinHomeAssistantError.helpers.py— Funcții utilitare partajate:format_timestamp_ms,safe_get,sanitize_plate_no,capitalize_name,redact_data.diagnostics.py— Export diagnostic complet cu redactare automată a datelor sensibile (username, password, CNP/CUI, email, telefon, adresă, VIN, serie certificat, număr de înmatriculare, JSESSIONID, câmpulcont).
Bugfix-uri critice
- Overflow atribute 16KB — Senzorii
TreceriPodSensorșiPlataTreceriPodSensorstocau toate trecerile de pod ca atribute de stare, depășind limita recorder-ului. Acum se păstrează doar ultimele 20 de înregistrări, sortate descrescător după timestamp. - Date învechite la VehiculSensor — Senzorul stoca o referință la dicționarul vehiculului din
__init__, care nu se actualiza niciodată la refresh. Acum datele sunt citite proaspăt din coordinator la fiecare acces. - URL-uri
.format()defecte —URL_TRANZACTIIșiURL_DETALII_TRANZACTIEaveau un bug de formatare (linia a doua nu era f-string, iar{{dateFrom}}rămânea literal). Rezolvat prin concatenareBASE_URL + "...". - Timestamps fără timezone — Toate apelurile
datetime.fromtimestamp()au fost înlocuite cudt_util.utc_from_timestamp().astimezone(dt_util.DEFAULT_TIME_ZONE). - Diagnostics —
AttributeError— Se accesacoordinator.last_update_success_time(inexistent). Corectat lacoordinator.last_update_success(bool).
Config Flow modernizat
- Reconfigure flow — Permite schimbarea parolei din meniul de opțiuni al integrării, fără dezinstalare.
- Reauth flow — Se declanșează automat când credențialele expiră sau se schimbă.
- Selectoare moderne —
NumberSelector(BOX pentru interval, SLIDER pentru istoric) șiTextSelectorcu tip PASSWORD. - Eliminare checkbox — Toate câmpurile folosesc
vol.Requiredcu valori implicite.vol.Optionalgenera un checkbox de activare/dezactivare în UI-ul HA, fără sens în acest context.
Corectare ID-uri entități
Device name schimbat de la "CNAIR eRovinieta" la "eRovinieta". Entitățile se creează acum cu prefixul sensor.erovinieta_* în loc de sensor.cnair_erovinieta_*.
Redactare date sensibile în diagnostice
Funcția redact_data acoperă: username, password, cnpCui, email, telefon, adresa, vin, certificateSeries, nume, cont, plateNo, paymentPlateNo, JSESSIONID.
Actualizare traduceri
Toate cele 5 limbi (ro, en, de, fr, es) au fost actualizate cu textele pentru reconfigure, reauth_confirm și mesajele noi de eroare/abort.
Alte îmbunătățiri
DeviceInfoca dataclass (nu dict), cumanufacturer="CNAIR"șisw_versiondin constante.- Toți senzorii folosesc
native_value(modern) în loc destate(legacy). manifest.jsoninclude"integration_type": "service".- Coordinator modern cu
ConfigEntryAuthFailed(declanșează reauth) șiUpdateFailed(declanșează retry). - Validare sintactică trecută pentru toate cele 9 fișiere Python și 6 fișiere JSON.
📈 Integrarea în cifre
| ⭐ Stars | 📥 Instalări | 🔄 Clone (14z) |
|---|---|---|
| 36 | 568 | 275 |
Dacă integrarea CNAIR eRovinieta îț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