Skip to content

Releases: cnecrea/erovinieta

2.10.3

13 Apr 23:10

Choose a tag to compare

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

13 Apr 16:10

Choose a tag to compare

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

12 Apr 15:20

Choose a tag to compare

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

03 Apr 16:59

Choose a tag to compare

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

02 Apr 12:15

Choose a tag to compare

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

02 Apr 09:42

Choose a tag to compare

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

27 Mar 17:44

Choose a tag to compare

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

23 Mar 22:26

Choose a tag to compare

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

  1. Integrarea generează un identificator unic al dispozitivului
  2. Serverul verifică licența sau activează automat o perioadă de trial de 30 de zile
  3. Răspunsul serverului este validat criptografic de integrare
  4. 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

21 Mar 22:15

Choose a tag to compare

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

19 Mar 19:13

Choose a tag to compare

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 din HomeAssistantError.
  • 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âmpul cont).

Bugfix-uri critice

  • Overflow atribute 16KB — Senzorii TreceriPodSensor și PlataTreceriPodSensor stocau 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() defecteURL_TRANZACTII și URL_DETALII_TRANZACTIE aveau un bug de formatare (linia a doua nu era f-string, iar {{dateFrom}} rămânea literal). Rezolvat prin concatenare BASE_URL + "...".
  • Timestamps fără timezone — Toate apelurile datetime.fromtimestamp() au fost înlocuite cu dt_util.utc_from_timestamp().astimezone(dt_util.DEFAULT_TIME_ZONE).
  • Diagnostics — AttributeError — Se accesa coordinator.last_update_success_time (inexistent). Corectat la coordinator.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 moderneNumberSelector (BOX pentru interval, SLIDER pentru istoric) și TextSelector cu tip PASSWORD.
  • Eliminare checkbox — Toate câmpurile folosesc vol.Required cu valori implicite. vol.Optional genera 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

  • DeviceInfo ca dataclass (nu dict), cu manufacturer="CNAIR" și sw_version din constante.
  • Toți senzorii folosesc native_value (modern) în loc de state (legacy).
  • manifest.json include "integration_type": "service".
  • Coordinator modern cu ConfigEntryAuthFailed (declanșează reauth) și UpdateFailed (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