SolaX X1-HYBRID și X3-HYBRID Gen 4 sunt invertoare de stocare a energiei cu PV și baterie, disponibile în variante monofazate (3–7,5 kW) și trifazate (5–15 kW). Acest șablon din comunitate este șablonul oficial TapHome SolaX Gen 4, cu citirile corectate conform protocolului SolaX Modbus (V3.21 și V001.02). Comunică prin Modbus RTU pe RS-485 și citește starea de încărcare și temperatura bateriei, puterea stringurilor PV, fluxul de putere al rețelei, totalurile de energie, modul încărcătorului și SOC-ul pentru încărcarea de noapte. Numele dispozitivelor sunt aceleași ca în șablonul oficial, astfel încât un import mai vechi poate fi comparat dispozitiv cu dispozitiv. Toate scripturile de scriere rămân comentate, ca în șablonul oficial, deci șablonul este doar pentru citire.
Modulul analizează și codul de defecțiune al invertorului pe 32 de biți și codul de eroare al managerului pe 16 biți și raportează fiecare defecțiune în TapHome cu propriul cod de eroare.
Cum se obține șablonul
Șabloanele din comunitate nu sunt oferite în lista de șabloane a aplicației TapHome. Conectați-vă pe portal.taphome.com, descărcați fișierul XML al acestui șablon și importați-l în Core. Un modul importat anterior din șablonul oficial SolaX Hybrid X1/X3 Gen 4 nu se actualizează singur — fie importați acest șablon ca modul nou, fie corectați scripturile modulului vechi conform tabelului din secțiunea „Ce corectează acest șablon” de mai jos.
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ă
Manualul SolaX prevede un cablu de rețea CAT5E sertizat în mufa RJ45 livrată cu invertorul și o lungime a cablului COM de cel mult 30 m.
Pinul 3 (+13V) și pinul 6 (GND) nu trebuie conectați între ei. Izolați pinii care nu sunt folosiți.
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 acest șablon.
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.
Modul încărcătorului și setările încărcării de noapte sunt registre EEPROM ale invertorului (marcate de SolaX cu ★, aproximativ 1 milion de cicluri de scriere). Operațiile de scriere excesive pot provoca deteriorarea ireversibilă a hardware-ului — nu activați niciodată pe ele o scriere care rulează periodic. Acest șablon are toate scripturile de scriere dezactivate.
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. Șablonul îl cere ca singurul parametru de import, Modbus Slave ID (implicit 1)
- Baud rate – 19200 baud, valoarea implicită din fabrică SolaX; și șablonul folosește 19200. Dacă invertorul a fost setat la altă viteză (de exemplu 9600), modificați fie setarea invertorului, fie viteza interfeței TapHome, astfel încât cele două să coincidă
- 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. Setările avansate necesită parola de instalator, disponibilă de la distribuitor. 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).
În TapHome, șablonul se importă apoi pe interfața RS-485 Modbus RTU a Core-ului, setată la aceeași viteză și același format de date, cu Slave ID-ul 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 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
- Baterie (SOC) – citește starea de încărcare a bateriei (A:0x001C) în procente, la fiecare 15 secunde. 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)
- Battery Temperature – citește temperatura bateriei (A:0x0018) în grade Celsius ca valoare cu semn (Int16), astfel încât temperaturile sub 0 °C sunt afișate corect. Interogată la fiecare 80 de secunde
Puterea fotovoltaică
- PV1 – puterea DC a stringului PV 1 (A:0x000A), afișată în kW după conversia din wați (/1000)
- PV2 – puterea DC a stringului PV 2 (A:0x000B), afișată în kW după conversia din wați (/1000)
PV1 și PV2 sunt valori simple, fără tip de energie, deci nu sunt numărate de două ori în Energy Dashboard.
Puterea rețelei și măsurarea energiei
- Purchase/Feed to Grid – puterea instantanee a rețelei (A:0x0046–0x0047, LittleEndianInt32), în kW, o valoare simplă fără tip de energie. Valorile pozitive indică injectarea în rețea, cele negative consumul din rețea. Invertorul preia această valoare de la contorul sau transformatorul de curent (CT) conectat la el
- Daily/Actual Energy – contorul producției PV pentru Energy Dashboard. Puterea sa este PV1 + PV2 (A:0x000A + A:0x000B) în kW, iar totalul său este energia PV totală (A:0x0094–0x0095, SolarEnergyTotal, unități de 0,1 kWh) în kWh. În ciuda numelui, totalul nu se resetează noaptea
- Total Energy – energia cumulată totală livrată de portul AC al invertorului (A:0x0052–0x0053, LittleEndianUint32, unități de 0,1 kWh), afișată în kWh
Modul încărcătorului și încărcarea de noapte
- Charger Use Mode – citește modul activ al încărcătorului solar (H:0x008B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) sau Manual Mode (3). Registrul de scriere (H:0x001F) există în șablon, dar este comentat, deci valoarea este doar pentru citire
- SelfUse Night Charge – citește limita superioară a SOC-ului pentru încărcarea de noapte în modul Self Use (H:0x0094), în procente. Registrul de scriere (H:0x0063) și registrul de activare (H:0x0062) sunt ambele comentate, deci configurația încărcării de noapte nu poate fi modificată din TapHome
Detectarea defecțiunilor
Scriptul de citire al modulului monitorizează modul de funcționare al invertorului (A:0x0009) și două registre de eroare. Fiecare defecțiune are propriul cod de eroare:
- Defecțiuni din modul de funcționare – eroarea 1 când modul de funcționare este 3 (Fault), eroarea 2 când este 4 (Permanent Fault)
- Codul de defecțiune al invertorului (A:0x0040–0x0041, LittleEndianUint32) – 30 de defecțiuni individuale cu codurile 100–131 (100 + numărul bitului), 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. Numele defecțiunilor urmează tabelul X3 din protocolul SolaX
- Codul de eroare al managerului (A:0x0043) – codurile 200–211 (200 + numărul bitului) pentru defecțiuni de tip putere, erori EEPROM, probleme ale senzorului NTC, temperatură scăzută/ridicată a bateriei, defecțiuni ale contorului, ale releului de bypass și ale ventilatorului. Port OC Warning (201) este raportat ca avertisment, celelalte ca erori
Atributul de service Run mode al modulului 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.
Ce corectează acest șablon
Șablonul oficial TapHome SolaX Hybrid X1/X3 Gen 4 citește greșit mai multe registre (verificat conform protocolului SolaX Modbus V3.21 și V001.02). Acest șablon le corectează:
| Unde | Șablonul oficial | Acest șablon | Efectul erorii în șablonul oficial |
|---|---|---|---|
| Modul — script de citire | var x3 := MODBUSR(A, 0x0040, Uint32); | VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32); | Cele două jumătăți ale codului de defecțiune pe 32 de biți sunt inversate: o defecțiune pe bitul 1 (Grid Lost Fault) este raportată ca bitul 17 (Bat Power Low) |
| Total Energy | MODBUSR(A, 0x52, LittleEndianInt32) / 1000 | MODBUSR(A, 0x0052, LittleEndianUint32) / 10 | Valoare de 100× prea mică (registrul numără în unități de 0,1 kWh) |
| Daily/Actual Energy — total | MODBUSR(A, 0x50, UInt16) /10 | MODBUSR(A, 0x0094, LittleEndianUint32) / 10 | 0x0050 este un contor zilnic al portului AC al invertorului, care scade la 0 în fiecare noapte; 0x0094 este energia PV totală |
| Daily/Actual Energy — putere | MODBUSR(A,0x02, Int16)/1000 | (MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000 | 0x0002 este puterea rețelei la modelele monofazate X1, nu producția PV; pe multe unități X3 citește 0 |
| Battery Temperature | MODBUSR(A,0x0018, UInt16) | MODBUSR(A, 0x0018, Int16) | Sub 0 °C șablonul oficial afișează aproximativ 65535 °C |
| Viteza interfeței | 9600 baud | 19200 baud | 19200 este valoarea implicită din fabrică SolaX |
Cu scripturile corectate, contorul Daily/Actual Energy măsoară producția PV (PV1 + PV2), adică exact ce așteaptă tipul său de energie în Energy Dashboard. PV1, PV2 și Purchase/Feed to Grid nu mai au tip de energie — sunt valori simple. Toate scrierile rămân dezactivate, ca în șablonul oficial.
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 stație de încărcare)
- Confirmați că baud rate-ul coincide între invertor și TapHome – șablonul folosește 19200, valoarea implicită a invertorului; la un invertor setat la 9600 trebuie modificată una dintre părți
- Verificați dacă Modbus 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
Valorile arată ca în șablonul oficial
Dacă Total Energy este de 100× prea mică, Daily/Actual Energy scade la 0 în fiecare noapte sau Battery Temperature afișează aproximativ 65535 °C sub punctul de îngheț, modulul rulează încă scripturile șablonului oficial. Un modul nu se actualizează singur dintr-un șablon mai nou — importați acest șablon ca modul nou sau corectați scripturile conform tabelului de mai sus.
Valoarea Baterie (SOC) este incorectă
Registrul Baterie (SOC) (A:0x001C) raportează valori în unități de 1%. Șablonul î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 intrare analogică (interval 0–1, nu 0–100).
Convenția de semn pentru puterea rețelei
Purchase/Feed to Grid (A:0x0046) folosește o convenție de semn în care valorile pozitive înseamnă injectare (export în rețea), iar cele negative consum (achiziție din rețea). Invertorul obține această valoare de la contorul sau CT-ul său, deci depinde de un contor sau CT conectat corect.
Diferențe între X1 și X3
Șablonul citește puterea PV (A:0x000A și A:0x000B) în locul registrului puterii rețelei X1, astfel încât contorul Daily/Actual Energy funcționează la fel pe modelele X1 și X3. Numele defecțiunilor urmează tabelul X3 din protocolul SolaX. Pe un invertor X1, unii biți de defecțiune înseamnă alte defecțiuni — bitul 9 și majoritatea biților de la bitul 15 în sus (de exemplu, bitul 15 este Missed CT Fault la X1, dar Off-grid Overload la X3).
SolaX