
SolaX X1-HYBRID și X3-HYBRID Gen 4 sunt invertoare de stocare a energiei care acceptă atât configurații monofazate (3–7,5 kW), cât și trifazate (5–15 kW). Șablonul TapHome comunică prin Modbus RTU pe RS-485 și citește registre de intrare și registre holding pentru starea de încărcare a bateriei, puterea stringurilor PV, fluxul de putere al rețelei, totalurile de energie, modul încărcătorului și SOC pentru încărcarea de noapte. Toate scripturile de scriere sunt comentate, astfel încât șablonul este practic doar pentru citire.
Șablonul implementează și o detectare completă a defecțiunilor, prin analiza codurilor de eroare ale invertorului pe 32 de biți și a codurilor de eroare ale managerului pe 16 biți, iar defecțiunile individuale sunt raportate ca erori în TapHome.
Conectarea hardware
Invertorul SolaX Gen 4 are pe panoul inferior un port COM RS-485 pentru comunicația Modbus RTU. Portul COM folosește un conector RJ45.

Alocarea pinilor bornei COM (RJ45):
| Pin | Alocare | Descriere |
|---|---|---|
| 1 | Drycontact_A(in) | Conexiune comutator de sistem |
| 2 | Drycontact_B(in) | Conexiune comutator de sistem |
| 3 | +13V | — |
| 4 | 485A | RS-485 date+ (pentru TapHome) |
| 5 | 485B | RS-485 date− (pentru TapHome) |
| 6 | GND | Masă |
| 7 | Drycontact_A(out) | Conexiune generator |
| 8 | Drycontact_B(out) | Conexiune generator |
Conectați TapHome la portul COM al invertorului:
- Pinul 4 (485A) de pe COM-ul invertorului la A+/D+ pe RS-485 TapHome
- Pinul 5 (485B) de pe COM-ul invertorului la B-/D- pe RS-485 TapHome
- Conectarea pinului 6 (GND) este recomandată pentru o comunicație fiabilă
Invertorul în sine nu acceptă nativ Modbus TCP. Modbus TCP este disponibil doar prin modulul de monitorizare SolaX (dongle Wi-Fi) și nu este folosit de șablonul TapHome.
Pentru instalațiile în care cablarea RS-485 nu este practică, șablonul SolaX Inverter (Cloud API) oferă monitorizare prin platforma SolaxCloud, prin HTTPS, fără conexiune fizică. Acceptă toate tipurile de invertoare SolaX, nu doar Gen 4 Hybrid.
Unele registre holding au un număr limitat de cicluri de scriere în EEprom. Operațiile de scriere excesive pot provoca deteriorarea ireversibilă a hardware-ului. Șablonul TapHome are toate scripturile de scriere dezactivate, deci cu șablonul actual nu există acest risc.
Configurare
Activarea comunicației Modbus
Modbus RTU este disponibil implicit pe portul COM RS-485 al invertorului. Următorii parametri trebuie să coincidă între invertor și modulul TapHome:
- Slave ID – implicit 1, configurabil pe afișajul invertorului
- Baud rate – invertorul are implicit 19200 baud, dar șablonul TapHome folosește 9600 baud. Ajustați unul dintre ele pentru a corespunde celuilalt
- Format de date – 8 biți de date, fără paritate, 1 bit de stop
Configurarea pe afișajul invertorului: Menu > Setting > Advance Setting > Modbus. Setați adresa slave și baud rate-ul. Baud rate-ul poate fi citit și din registrul holding H:0x00B0 și scris prin registrul 0x00CA (valori: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).
Pentru a nu modifica setările invertorului, ajustați baud rate-ul în setările modulului TapHome la 19200, ca să corespundă valorii implicite a invertorului.
Temporizarea comunicației
Protocolul cere un interval minim de 1 secundă între instrucțiunile Modbus consecutive și un timeout între caractere de cel puțin 100 ms. Timeout-ul de răspuns este de 1 secundă. Șablonul TapHome folosește intervale de interogare individuale pentru fiecare dispozitiv (2,5 s până la 150 s), care respectă aceste condiții.
Funcția portului COM RS-485
Registrul H:0x013E (485CommFunSelect) determină dacă portul RS-485 este folosit pentru comunicația Modbus (valoarea 0) sau pentru comunicația cu stația de încărcare (valoarea 1). Pentru integrarea cu TapHome asigurați-vă că este setat la 0 (Modbus 485).
Funcțiile dispozitivului
Monitorizarea bateriei
- SOC baterie – citește starea de încărcare a bateriei (A:0x1C) în procente. Valoarea brută a registrului, în unități de 1%, se împarte la 100 pentru intervalul intrării analogice TapHome 0–1 (de ex. 85% devine 0,85)
- Temperatura bateriei – citește temperatura bateriei (A:0x18) în grade Celsius. Interogată la fiecare 80 de secunde
Puterea fotovoltaică
- Putere PV1 – puterea DC a stringului PV 1 (A:0x0A), afișată în kW (valoarea în wați împărțită la 1000)
- Putere PV2 – puterea DC a stringului PV 2 (A:0x0B), afișată în kW (valoarea în wați împărțită la 1000)
Puterea rețelei și măsurarea energiei
- Putere injectată în rețea – puterea instantanee a rețelei (A:0x46, LittleEndianInt32), în kW. Valorile pozitive indică exportul în rețea, cele negative consumul din rețea
- Energie zilnică / actuală – combină energia zilnică livrată de portul AC al invertorului (A:0x50, rezoluție 0,1 kWh) cu puterea rețelei în timp real (A:0x02), în kW. Registrul puterii rețelei este specific X1 (monofazat)
- Energie totală – energia cumulată totală livrată de portul AC al invertorului (A:0x52, LittleEndianInt32), afișată în MWh
Modul încărcătorului și încărcarea de noapte
- Mod de utilizare încărcător – citește modul activ al încărcătorului solar (H:0x8B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) sau Manual Mode (3). Valorile 4–9 sunt rezervate. Registrul de scriere (H:0x1F) există în șablon, dar este comentat, deci valoarea este doar pentru citire
- SOC încărcare de noapte (Self Use) – citește limita superioară a SOC-ului pentru încărcarea de noapte în modul Self Use (H:0x94), în procente. Registrul de scriere (H:0x63) și registrul de activare (H:0x62) sunt ambele comentate, deci configurația încărcării de noapte nu poate fi modificată din TapHome
Detectarea defecțiunilor
ReadScript-ul la nivelul modulului monitorizează modul de funcționare al invertorului (A:0x09) și două registre de eroare:
- Defecțiuni din Mod de funcționare – declanșează o eroare când Mod de funcționare are valoarea 3 (Fault) sau 4 (Permanent Fault)
- Coduri de defecțiune ale invertorului (A:0x40) – bitmap pe 32 de biți analizat pentru 28 de defecțiuni individuale, inclusiv defecțiuni de tensiune/frecvență a rețelei, defecțiuni de tensiune PV, defecțiuni ale bateriei, defecțiuni de izolație, supratemperatură, protecție la supracurent, defecțiuni ale releului și erori de comunicare
- Coduri de eroare ale managerului (A:0x43) – bitmap pe 16 biți analizat pentru defecțiuni de tip putere, erori EEPROM, probleme ale senzorului NTC, avertismente de temperatură a bateriei, defecțiuni ale contorului și defecțiuni ale ventilatorului
Atributul de service Mod de funcționare de pe modul afișează starea actuală a invertorului ca text: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle sau Standby.
Funcții suplimentare
Invertorul pune la dispoziție o hartă completă a registrelor, cu peste 300 de registre holding și 200 de registre de intrare. Printre funcțiile încă neimplementate în șablon se numără monitorizarea tensiunii și curentului pe fiecare string PV (A:0x03–0x06), citirea tensiunii/curentului/puterii bateriei, starea conexiunii BMS, starea de conectare/deconectare la rețea, tensiunea/curentul/puterea rețelei pe fiecare fază la X3 (12 registre la A:0x6A–0x75), energia cumulată injectată în rețea și consumată din rețea (prin contor), producția totală de energie solară, SOC și SOH de utilizator din BMS, precum și temperatura și tensiunea minimă/maximă a celulelor bateriei. Funcțiile de scriere includ pornirea/oprirea sistemului, selectarea modului încărcătorului, încărcarea/descărcarea forțată manuală, SOC minim de descărcare, configurarea încărcării de noapte și controlul de la distanță al puterii, cu ținte de putere activă/reactivă. Acestea pot fi adăugate într-o actualizare viitoare a șablonului.
Șablonul citește în prezent puterea rețelei pentru X1 (monofazat) la A:0x02. Pentru instalațiile X3 (trifazate), puterea rețelei pe fiecare fază este disponibilă în registrele A:0x6C, A:0x70 și A:0x74, dar nu este inclusă în șablonul actual.
Rezolvarea problemelor
Nu există comunicare cu invertorul
- Verificați conexiunile cablului RS-485: A+ la A+, B- la B-, GND la GND
- Verificați dacă registrul H:0x013E este setat la 0 (mod Modbus 485, nu EV Charger)
- Confirmați că baud rate-ul coincide între invertor și TapHome – invertorul are implicit 19200, iar șablonul 9600
- Verificați dacă Slave ID-ul din TapHome corespunde setării invertorului (implicit: 1)
- Asigurați-vă că niciun alt master Modbus nu este conectat la aceeași magistrală RS-485 – Modbus acceptă un singur master
Valoarea SOC baterie este incorectă
Registrul SOC baterie (A:0x1C) raportează valori în unități de 1%. Șablonul le împarte la 100 pentru intervalul intrării analogice TapHome 0–1. Dacă valoarea afișată pare greșită, verificați dacă dispozitivul TapHome este configurat ca AnalogInput (interval 0–1, nu 0–100).
Convenția de semn pentru puterea rețelei
Dispozitivul Putere injectată în rețea (A:0x46) folosește o convenție de semn în care valorile pozitive înseamnă export (producție/injectare în rețea), iar cele negative import (consum din rețea). Registrul puterii rețelei pentru Energie zilnică / actuală (A:0x02) poate afișa și el valori negative în timpul consumului din rețea.
Diferențe de registre între X1 și X3
Unele registre sunt specifice modelului. Tensiunea (A:0x00), curentul (A:0x01) și puterea (A:0x02) rețelei sunt registre X1 monofazate. La modelele X3 trifazate, valorile echivalente pe fiecare fază se află la A:0x6A–0x75. Șablonul folosește registrul puterii rețelei X1, care poate să nu raporteze corect la modelele X3.
