SolaX X3-Ultra (X3-ULT-15K, 20K, 25K, 30K) este un invertor solar hibrid trifazat pentru PV și baterie. Acest șablon comunitar creat de Martin Keller îl conectează la TapHome prin Modbus RTU pe portul RS-485 COM 1 (19200 baud, 8N1) și se bazează pe registrele de citire din protocolul SolaX Modbus V3.29 și pe protocolul SolaX Modbus V001.02. Oferă un set complet de contoare pentru Energy Dashboard, monitorizarea bateriei, a rețelei și a defecțiunilor, setări ale invertorului care se scriu doar când valoarea lor se schimbă cu adevărat și controlul de la distanță al puterii AC (modul 1 al controlului de la distanță SolaX) — încărcarea bateriei din rețea sau descărcarea ei în rețea la comandă, de exemplu în funcție de prețurile spot ale energiei electrice.
Cum obțineți șablonul
Șabloanele comunitare nu sunt oferite în lista de șabloane din aplicația TapHome. Autentificați-vă pe portal.taphome.com, descărcați fișierul XML al acestui șablon și importați-l în Core pe interfața Modbus RTU (sau pe o interfață Modbus TCP, când se folosește un gateway RS-485–Ethernet). Pentru monitorizare fără controlul de la distanță al puterii este disponibil șablonul oficial SolaX X3 Hybrid Ultra. Un modul importat anterior din șablonul oficial nu se actualizează singur — importați acest șablon ca modul nou și eliminați-l pe cel vechi.
Conectarea hardware
X3-Ultra are un singur port COM 1 multifuncțional (conector RJ45 cu suport de cablu etichetat). Aceiași pini fizici au funcții diferite, în funcție de poziția etichetată a suportului de cablu care se folosește. Pentru integrarea Modbus cu sisteme terțe folosiți poziția RS485 — liniile REMOTE_485A și REMOTE_485B.
Alocarea pinilor portului COM 1

Alocarea pinilor pentru poziția RS485 (singura poziție relevantă pentru TapHome):
| Pin | Semnal | Cablare TapHome |
|---|---|---|
| 1 | REMOTE_485A | A+ / D+ |
| 2 | REMOTE_485B | B− / D− |
| 3 | PARALLEL_485AA | nu se folosește (doar accesorii SolaX) |
| 4 | PARALLEL_485AA | nu se folosește (doar accesorii SolaX) |
| 5 | PARALLEL_485BB | nu se folosește (doar accesorii SolaX) |
| 6 | PARALLEL_485BB | nu se folosește (doar accesorii SolaX) |
| 7 | REMOTE_485A | același semnal ca pinul 1 |
| 8 | REMOTE_485B | același semnal ca pinul 2 |
Pinii 3–6 aparțin canalului SolaX PARALLEL_485 și sunt rezervați pentru produsele SolaX (Adapter Box G2, EV-Charger, DataHub). Pinii 1, 2, 7 și 8 sunt destinați altor dispozitive decât produsele SolaX. Nu conectați un master Modbus terț la pinii 3–6.
Cablarea RS-485

Reguli de cablare din manualul de utilizare X3-Ultra (secțiunea 8.6.4):
- Tip de cablu: cablu de rețea CAT5E sau CAT6
- Lungime maximă: cablul de comunicație RS-485 nu trebuie să depășească 30 m
- Terminal RJ45: conectorul existent al cablului se taie și se sertizează un terminal RJ45 nou conform alocării pinilor; nu toate dispozitivele acceptă un cablu de rețea cu toate cele 8 fire conectate
- Poziția în suportul de cablu: terminalul RJ45 se introduce în slotul etichetat RS485 (nu în Parallel-1, Parallel-2, BMS-1, BMS-2 sau DRM); conectorul se fixează cu un clic în portul COM 1 și se asigură cu piulița rotativă
- Un singur master Modbus: portul poate fi folosit de un singur master Modbus. Deconectați orice altă monitorizare Modbus de pe același port, altfel invertorul le răspunde ambelor și citirile devin instabile
Manualul de utilizare nu oferă nicio regulă pentru terminarea magistralei RS-485 în poziția RS485 a portului COM 1.
Contor sau CT pentru valorile rețelei
Dispozitivele de rețea ale acestui șablon (Grid - power balance, Din rețea, Spre rețea, Consum) citesc puterea injectată pe care invertorul o măsoară cu propriul contor sau CT. Contorul sau CT-ul se conectează la portul COM 2 (Meter/CT: METER_485A pe pinul 4, METER_485B pe pinul 5 sau intrările CT) și se configurează pe afișajul invertorului în Menu → Setting → Advance Setting → Meter/CT Setting. Aceasta este o linie RS-485 separată — nu conectați TapHome la ea.
Variante de conectare
- Modbus RTU direct: conectați perechea RS485 de la COM 1 direct la magistrala RS-485 a TapHome Core. Oferă cea mai mică latență și este recomandată pentru controlul de la distanță al puterii.
- Gateway RS-485–Ethernet: când invertorul este departe de TapHome Core, se poate folosi un gateway RS-485–Ethernet terț pe perechea RS485 de la COM 1; șablonul se importă atunci pe o interfață Modbus TCP.
- Modul de monitorizare SolaX: invertorul în sine nu acceptă Modbus TCP. Modbus TCP (portul 502) este disponibil doar printr-un modul de monitorizare SolaX, cu un ciclu de interogare de aproximativ 1 secundă (protocolul V3.29).
Configurare
Activarea comunicației Modbus pe invertor
Pe afișajul LCD al invertorului mergeți la:
| |
Meniul Advance Setting necesită parola de instalator (inițial 2014 conform manualului de utilizare, care recomandă schimbarea ei). În meniul Modbus setați Baud Rate și Address pentru protocolul de comunicație extern:
| Parametru | Valoare implicită în șablon | Valoare implicită în invertor (protocolul V3.29) |
|---|---|---|
| Adresă Modbus (Slave ID) | 1 | 1 |
| Baud rate | 19200 | 19200 |
| Paritate | None | None |
| Biți de date | 8 | 8 |
| Biți de stop | 1 | 1 |
Baud rate-ul trebuie să fie același pe invertor și pe interfața Modbus RTU TapHome. Dacă comunicarea eșuează, verificați mai întâi baud rate-ul.
Invertorul raportează și adresa Modbus în registrul holding H:0x00AF și baud rate-ul în registrul holding H:0x00B0 (protocolul V3.29).
Parametrul de import
La importul șablonului, parametrul de import Modbus Slave ID (implicit 1) trebuie să corespundă adresei Modbus setate pe afișajul invertorului.
Funcțiile dispozitivului
Energy Dashboard
| Dispozitiv | Valoare citită |
|---|---|
| Productie PV | Puterea de intrare PV1 + PV2 + PV3 (A:0x000A, A:0x000B, A:0x0124) în kW; energia PV totală (A:0x0094–0x0095) în kWh. Puterea PV1–PV3 și energia AC totală la ieșirea invertorului (A:0x0052) sunt atribute de service. |
| Din rețea / Spre rețea | Partea de import și de export a puterii rețelei de la contor sau CT (A:0x0046–0x0047, cuvântul inferior primul), cu contoarele lor de energie totală (A:0x004A și A:0x0048, 0,01 kWh). |
| La baterie / De la baterie | Partea de încărcare și de descărcare a puterii bateriei 1 (A:0x0016), cu energia totală încărcată și descărcată (A:0x0021, A:0x001D). |
| Consum | Consumul calculat al casei: puterea AC a invertorului minus exportul în rețea. SolaX nu are registru pentru consum; consumatorii de pe ieșirea EPS (de rezervă) nu sunt incluși. |
| Baterie (SOC) | Starea de încărcare a bateriei 1 (A:0x001C). Energia rămasă și energia care mai poate fi încărcată (A:0x0118, A:0x0116) sunt atribute de service. |
Energy Manager
Pentru smart rule-ul Energy Manager selectați Grid - power balance. Valoarea are semn: pozitivă la importul din rețea, negativă la exportul surplusului. Contoarele Din rețea și Spre rețea nu devin niciodată negative și nu afișează surplusul.
Monitorizare
- Battery 2 - state of charge — al doilea terminal de baterie (BAT 2), cu puterea și temperatura sa ca atribute de service; fără a doua baterie afișează 0
- Battery - temperature — citită ca valoare cu semn, astfel încât temperaturile sub 0 °C se afișează corect
- Inverter - AC power — suma celor trei puteri de fază la portul AC al invertorului, în kW
- Grid - voltage L1 — cu tensiunea rețelei L2, L3 și cele trei frecvențe ale rețelei ca atribute de service
Setările invertorului
| Dispozitiv | Citire | Scriere |
|---|---|---|
| Settings - work mode | H:0x008B: Self use, Feed-in priority, Backup, Manual, Peak shaving, Time of use (ultimele două depind de firmware) | 0x001F |
| Settings - manual mode | H:0x008C: Stop charge and discharge, Force charge, Force discharge (au efect doar în modul de lucru Manual) | 0x0020 |
| Settings - self-use minimum SOC | octetul superior al H:0x0093 | 0x0061 |
| Settings - night charge from grid | octetul inferior al H:0x0093 | 0x0062 |
| Settings - night charge target SOC | H:0x0094 | 0x0063 |
| Settings - export limit | H:0x00B6, în kW (10 W pe unitate la X3) | 0x0042 |
SolaX citește aceste setări de la alte adrese decât cele la care le scrie, așa că funcția integrată TapHome „scrie doar dacă diferă" nu se poate folosi. De aceea, fiecare script de scriere citește mai întâi setarea și scrie (funcția 06) doar când noua valoare diferă; când invertorul raportează setările ca blocate, scrie mai întâi parola de setări 2014 în registrul 0x0000. SOC-ul minim și ținta încărcării de noapte nu scad niciodată sub 10 % (intervalul SolaX). Niciunul dintre aceste dispozitive nu scrie periodic.
Aceste setări sunt registre EEPROM (marcate cu ★ de SolaX, aproximativ 1 milion de cicluri de scriere). Modificați-le rar și niciodată din automatizări frecvente — pentru încărcarea și descărcarea în funcție de prețurile spot folosiți Remote control - AC power target.
Remote control - AC power target
Acest dispozitiv folosește modul 1 al controlului de la distanță SolaX (VPP) — controlul puterii la portul AC al invertorului.
- Semn: o țintă pozitivă înseamnă că invertorul preia putere la portul său AC (încarcă bateria, din rețea dacă PV nu este suficient); o țintă negativă înseamnă că livrează putere (descarcă bateria, iar ce nu consumă casa ajunge în rețea). Valoare în kW.
- 0 încheie controlul de la distanță: șablonul scrie o singură dată modul 0, iar invertorul revine la modul său de lucru. Țintele sub 0,5 W contează ca 0.
- Orice altă valoare: dacă invertorul este blocat, șablonul scrie mai întâi parola de setări 2014 (deblocarea se pierde după fiecare repornire a invertorului), apoi scrie cele 13 registre
0x007C–0x0088într-o singură cerere Modbus (funcția 0x10): modul 1, ținta, durata de 120 s și timeout-ul de 60 s. Comanda se repetă la fiecare 60 s cât timp ținta nu este 0. Dacă TapHome nu o mai trimite, invertorul păstrează ținta cel mult 2 minute, menține 0 W la portul AC încă 1 minut și apoi revine singur la modul său de lucru. - Modul de lucru Manual blochează controlul de la distanță. SolaX nu pornește controlul de la distanță cât timp invertorul este în modul de lucru Manual — comutați-l mai întâi pe Self use (sau pe alt mod).
- Invertorul limitează ținta la intervalul afișat în atributele modulului (ținta minimă și maximă a controlului de la distanță).
- Acțiunea de modul End remote control scrie imediat modul 0. Cât timp ținta nu este 0, următoarea repetare pornește din nou controlul de la distanță — pentru oprirea definitivă setați ținta la 0.
- Nu combinați acest dispozitiv cu controlul de la distanță din SolaX Cloud sau de la un agregator de energie: cât timp ținta este 0, șablonul încheie orice mod de control de la distanță în 60 s.
- Controlul de la distanță necesită un Core care scrie toate cele 13 registre într-o singură cerere. Așa este fiecare Core începând din 2022, dacă modulul păstrează valoarea
MaxPrefetchGroupSize32 din acest șablon. - Atributul de service Actual AC power afișează puterea activă pe care invertorul o raportează la portul său AC, în W (
A:0x0106).
SolaX nu marchează în protocolul său registrele de control de la distanță (
0x007C–0x0088) ca registre EEPROM, dar nici nu confirmă în scris contrariul. Acest șablon se bazează pe experiența comunităților Home Assistant și openHAB, care scriu aceste registre la intervale de câteva secunde până la câteva minute.
Atributele și acțiunile modulului
- Run mode (atribut de service) — starea invertorului ca text: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle, Standby, Remote control (codul 20); celelalte coduri apar ca Other
- Machine type (atribut de service) — X1 (monofazat) sau X3 (trifazat), registrul holding
H:0x0105 - Settings lock (atribut de service) — Locked sau Unlocked (
A:0x0054) - Remote control mode (atribut de service) — modul activ de control de la distanță (
A:0x0100): Off, Power control, Energy target, SOC target - Remote control - maximum target / minimum target (atribute de service) — intervalul permis al țintei de putere raportat de invertor, în W (
A:0x010A,A:0x010C) - Unlock settings (password 2014) (acțiune de service) — scrie
2014în registrul0x0000 - End remote control (acțiune de service) — scrie modul 0 în registrele de control de la distanță
0x007C–0x0088
Detectarea defecțiunilor
Scriptul de citire al modulului raportează o eroare TapHome când modul de funcționare (A:0x0009) este 3 (Fault) sau 4 (Permanent fault). De asemenea, analizează bit cu bit două registre de eroare, fiecare defecțiune cu propriul cod de eroare:
- Codul de defecțiune al invertorului (32 de biți,
A:0x0040–A:0x0041, citit cu cuvântul inferior primul) — toți cei 32 de biți, de la TZ Protect Fault, defecțiunile de tensiune ale rețelei, PV, magistralei și bateriei, defecțiunile de izolație și de supratemperatură până la Parallel Fault, Hard Limit Fault și defecțiunile releelor - Codul de eroare al managerului (16 biți,
A:0x0043) — Power Type Fault, Mgr EEPROM Fault, NTC Sample Invalid, temperatura scăzută și ridicată a bateriei, Meter Fault, Bypass Relay Fault și Fan 2 Fault ca erori, Port OC Warning ca avertisment
Rezolvarea problemelor
Nu există comunicare cu invertorul
- Verificați dacă firele RS-485 sunt pe pinii REMOTE_485A / REMOTE_485B (1 + 2 sau 7 + 8 în poziția RS485 a suportului de cablu COM 1), nu pe pinii PARALLEL_485 3–6 și nu pe linia contorului de la COM 2
- Verificați dacă baud rate-ul coincide între invertor (
Menu → Setting → Advance Setting → Modbus) și interfața Modbus RTU TapHome — implicit 19200 - Confirmați că parametrul de import Modbus Slave ID corespunde adresei Modbus a invertorului (implicit
1) - Asigurați-vă că la port este conectat un singur master Modbus
- Inversați firele A și B dacă polaritatea cablului este incertă
- Confirmați că cablul RS-485 nu depășește 30 m
Ținta controlului de la distanță revine la 0 imediat după setare
Invertorul este în modul de lucru Manual, firmware-ul nu acceptă modul 1 al controlului de la distanță sau ținta este în afara intervalului dintre ținta minimă și maximă afișate în atributele modulului. Verificați mai întâi modul de lucru.
Scrierea setărilor este respinsă
Invertorul este blocat. Rulați acțiunea de modul Unlock settings (password 2014); blocarea revine după fiecare repornire a invertorului (atributul de modul Settings lock).
Valorile rețelei sunt 0 sau Consum pare greșit
Grid - power balance, Din rețea, Spre rețea și Consum depind de contorul sau CT-ul invertorului. Verificați cablarea acestuia la COM 2 și configurarea în Menu → Setting → Advance Setting → Meter/CT Setting.
Puterea PV3 sau Battery 2 afișează 0
PV3 există doar la modelele cu trei trackere (de exemplu X3-ULT-25K și X3-ULT-30K; consultați numărul de MPPT în manualul de utilizare); Battery 2 doar când la BAT 2 este conectată a doua baterie. Ascundeți în TapHome dispozitivele neutilizate.
SolaX