TapHome

SolaX Hybrid X1/X3 Gen 4

Modbus RTU
Autor
Posljednje ažuriranje: 03. 2026
SolaX Hybrid X1/X3 Gen 4

SolaX X1-HYBRID i X3-HYBRID Gen 4 su hibridni izmjenjivači (inverteri) za pohranu energije, u jednofaznoj (3–7,5 kW) i trofaznoj (5–15 kW) izvedbi. Predložak TapHome komunicira preko Modbus RTU na RS-485 i očitava input i holding registre za stanje napunjenosti baterije, snagu fotonaponskih stringova, tok snage mreže, ukupnu energiju, način rada punjača i SOC noćnog punjenja. Sve skripte za upis su zakomentirane, pa predložak u praksi služi samo za čitanje.

Predložak ima i sveobuhvatno otkrivanje kvarova: raščlanjuje 32-bitne kodove pogrešaka izmjenjivača i 16-bitne kodove pogrešaka upravljača (manager) te pojedinačne kvarove javlja kao pogreške u sustavu TapHome.

Hardversko spajanje

Izmjenjivač SolaX Gen 4 na donjoj ploči ima priključak RS-485 COM za komunikaciju Modbus RTU. Priključak COM koristi konektor RJ45.

Donja ploča SolaX X3-HYBRID G4 — raspored priključaka COM, BMS, Meter/CT, PV, BAT i GRID

Raspored pinova priključka COM (RJ45):

PinDodjelaOpis
1Drycontact_A(in)Priključak sklopke sustava
2Drycontact_B(in)Priključak sklopke sustava
3+13V—
4485ARS-485 data+ (za TapHome)
5485BRS-485 data− (za TapHome)
6GNDMasa
7Drycontact_A(out)Spoj generatora
8Drycontact_B(out)Spoj generatora

TapHome spojite na priključak COM izmjenjivača:

  • Pin 4 (485A) na priključku COM izmjenjivača na A+/D+ na TapHome RS-485
  • Pin 5 (485B) na priključku COM izmjenjivača na B-/D- na TapHome RS-485
  • Spoj pina 6 (GND) preporučuje se za pouzdanu komunikaciju

Sam izmjenjivač ne podržava izvorno Modbus TCP. Modbus TCP dostupan je samo preko modula za nadzor SolaX (Wi-Fi dongl) i predložak TapHome ga ne koristi.

Za instalacije u kojima ožičenje RS-485 nije praktično, predložak SolaX Inverter (Cloud API) omogućuje praćenje preko platforme SolaxCloud putem HTTPS-a, bez fizičkog spajanja. Podržava sve vrste izmjenjivača SolaX, ne samo Gen 4 Hybrid.

Neki holding registri imaju ograničen broj ciklusa upisa u EEprom. Prekomjerni upisi mogu nepovratno oštetiti hardver. Predložak TapHome ima onemogućene sve skripte za upis, pa to s trenutačnim predloškom nije problem.

Konfiguracija

Uključivanje komunikacije Modbus

Modbus RTU je prema zadanim postavkama dostupan na priključku RS-485 COM izmjenjivača. Sljedeći parametri moraju biti isti na izmjenjivaču i u modulu TapHome:

  1. Slave ID — zadano 1, može se postaviti na zaslonu izmjenjivača
  2. Brzina prijenosa — izmjenjivač je tvornički postavljen na 19200 baud, a predložak TapHome koristi 9600 baud. Postavite istu brzinu prijenosa na izmjenjivaču i u modulu TapHome.
  3. Format podataka — 8 podatkovnih bitova, bez pariteta, 1 stop bit

Za postavljanje na zaslonu izmjenjivača: Menu > Setting > Advance Setting > Modbus. Postavite slave adresu i brzinu prijenosa. Brzina prijenosa može se očitati i iz holding registra H:0x00B0, a upisati preko registra 0x00CA (vrijednosti: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

Ako ne želite mijenjati postavke izmjenjivača, u postavkama modula TapHome postavite brzinu prijenosa na 19200, kao što je tvornički postavljeno na izmjenjivaču.

Vremenski parametri komunikacije

Protokol zahtijeva najmanji razmak od 1 sekunde između uzastopnih Modbus naredbi i vrijeme čekanja između znakova od najmanje 100 ms. Vrijeme čekanja na odgovor je 1 sekunda. Predložak TapHome koristi zasebne intervale očitavanja za svaki uređaj (od 2,5 s do 150 s) koji zadovoljavaju ta ograničenja.

Funkcija priključka RS-485 COM

Registar H:0x013E (485CommFunSelect) određuje koristi li se priključak RS-485 za komunikaciju Modbus (vrijednost 0) ili za komunikaciju s punionicom (EV Charger, vrijednost 1). Za integraciju sa sustavom TapHome mora biti postavljen na 0 (Modbus 485).

Mogućnosti uređaja

Praćenje baterije
  • SOC baterije — očitava stanje napunjenosti baterije (A:0x1C) u postocima. Neobrađena vrijednost registra u jedinicama od 1 % dijeli se sa 100 za raspon analognog ulaza 0–1 u sustavu TapHome (npr. 85 % postaje 0,85)
  • Temperatura baterije — očitava temperaturu baterije (A:0x18) u Celzijevim stupnjevima. Očitava se svakih 80 sekundi
Fotonaponska snaga
  • Snaga PV1 — izlazna DC snaga fotonaponskog stringa 1 (A:0x0A), prikazana u kW nakon pretvorbe iz vata (/1000)
  • Snaga PV2 — izlazna DC snaga fotonaponskog stringa 2 (A:0x0B), prikazana u kW nakon pretvorbe iz vata (/1000)
Mjerenje snage i energije mreže
  • Snaga predaje u mrežu — trenutačna snaga mreže (A:0x46, LittleEndianInt32) u kW. Pozitivne vrijednosti znače predaju u mrežu, negativne potrošnju iz mreže
  • Dnevna / trenutačna energija — objedinjuje dnevnu energiju s AC priključka izmjenjivača (A:0x50, razlučivost 0,1 kWh) i trenutačnu snagu mreže (A:0x02) u kW. Registar snage mreže vrijedi samo za X1 (jednofazni)
  • Ukupna energija — ukupna energija s AC priključka izmjenjivača od početka rada (A:0x52, LittleEndianInt32), prikazana u MWh
Način rada punjača i noćno punjenje
  • Način rada punjača — očitava aktivni način rada solarnog punjača (H:0x8B): Način vlastite potrošnje (0), Prednost predaje u mrežu (1), Način rezervnog napajanja (2) ili Ručni način (3). Vrijednosti 4–9 su rezervirane. Registar za upis (H:0x1F) postoji u predlošku, ali je zakomentiran, pa je uređaj samo za čitanje
  • SOC noćnog punjenja (vlastita potrošnja) — očitava gornju ciljnu vrijednost SOC za noćno punjenje u načinu vlastite potrošnje (H:0x94) u postocima. Registar za upis (H:0x63) i registar za uključivanje (H:0x62) su zakomentirani, pa se postavke noćnog punjenja ne mogu mijenjati preko sustava TapHome
Otkrivanje kvarova

ReadScript na razini modula prati način rada izmjenjivača (A:0x09) i dva registra pogrešaka:

  • Kvarovi načina rada — javljaju pogrešku kada je Način rada 3 (Fault) ili 4 (Permanent Fault)
  • Kodovi kvarova izmjenjivača (A:0x40) — 32-bitna bitovna maska raščlanjuje se na 28 pojedinačnih kvarova, uključujući kvarove napona/frekvencije mreže, kvarove fotonaponskog napona, kvarove baterije, kvarove izolacije, pregrijavanje, zaštitu od prekomjerne struje, kvarove releja i komunikacijske pogreške
  • Kodovi pogrešaka upravljača (manager) (A:0x43) — 16-bitna bitovna maska raščlanjuje se na kvarove vrste napajanja, pogreške EEPROM-a, probleme sa senzorom NTC, upozorenja o temperaturi baterije, kvarove brojila i kvarove ventilatora

Servisni atribut Način rada na modulu prikazuje trenutačno stanje izmjenjivača kao tekst: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle ili Standby.

Dodatne mogućnosti

Izmjenjivač nudi opsežnu mapu registara s više od 300 holding registara i 200 ulaznih registara. Važnije mogućnosti koje predložak još ne podržava: praćenje napona i struje po fotonaponskom stringu (A:0x03–0x06), očitanja napona/struje/snage baterije, stanje veze s BMS-om, stanje uključenosti mreže, napon/struja/snaga mreže po fazama za X3 (12 registara na A:0x6A–0x75), kumulativna energija predana u mrežu i preuzeta iz mreže (preko brojila), ukupna proizvodnja solarne energije, korisnički SOC i SOH iz BMS-a te najniža/najviša temperatura i napon ćelija baterije. Mogućnosti upisa uključuju uključivanje/isključivanje sustava, odabir načina rada punjača, ručno prisilno punjenje/pražnjenje, najniži SOC pražnjenja, konfiguraciju noćnog punjenja i daljinsko upravljanje snagom sa zadanim vrijednostima djelatne i jalove snage. Mogu se dodati u nekom budućem ažuriranju predloška.

Predložak trenutačno očitava snagu mreže za X1 (jednofazni) na A:0x02. Za instalacije X3 (trofazni) snaga mreže po fazama dostupna je u registrima A:0x6C, A:0x70 i A:0x74, ali nije uključena u trenutačni predložak.

Rješavanje problema

Nema komunikacije s izmjenjivačem
  1. Provjerite spojeve kabela RS-485: A+ na A+, B- na B-, GND na GND
  2. Provjerite je li registar H:0x013E postavljen na 0 (način Modbus 485, ne EV Charger)
  3. Provjerite je li brzina prijenosa na izmjenjivaču i u sustavu TapHome ista: izmjenjivač je tvornički postavljen na 19200, a predložak na 9600
  4. Provjerite odgovara li Slave ID u sustavu TapHome postavci izmjenjivača (zadano: 1)
  5. Provjerite da na istu sabirnicu RS-485 nije spojen nijedan drugi Modbus master: Modbus podržava samo jednog mastera
Netočno očitanje SOC baterije

Registar SOC baterije (A:0x1C) javlja vrijednosti u jedinicama od 1 %. Predložak ih dijeli sa 100 za raspon analognog ulaza 0–1 u sustavu TapHome. Ako se prikazana vrijednost čini pogrešnom, provjerite je li uređaj TapHome konfiguriran kao AnalogInput (raspon 0–1, ne 0–100).

Predznak snage mreže

Snaga predaje u mrežu (A:0x46) koristi konvenciju predznaka u kojoj pozitivne vrijednosti znače predaju (proizvodnja/predaja u mrežu), a negativne preuzimanje (potrošnja iz mreže). Registar snage mreže uređaja Dnevna / trenutačna energija (A:0x02) također može pokazivati negativne vrijednosti tijekom potrošnje iz mreže.

Razlike registara X1 i X3

Neki registri ovise o modelu. Napon (A:0x00), struja (A:0x01) i snaga (A:0x02) mreže registri su jednofaznog X1. Za trofazne modele X3 odgovarajuća očitanja po fazama nalaze se na A:0x6A–0x75. Predložak koristi registar snage mreže za X1, koji na modelima X3 možda neće javljati ispravne vrijednosti.

Dostupni uređaji

SolaX Hybrid Gen 4 Modul
Servisni atributi
Način radaRadno stanje izmjenjivača — Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby

SOLAX Hybrid Gen 4

Čitanje (modul)
var reg := MODBUSR(A, 0x09, UInt16);
IF(reg = 3, ADDERROR("Run Mode Fault"));
IF(reg = 4, ADDERROR("Run Mode Permanent Fault"));
#error table  2-3 for x3
var x3 := MODBUSR(A, 0x0040, Uint32);
IF(GETBIT(x3, 0) = 1, ADDERROR("TZ Protect Fault"));
IF(GETBIT(x3, 1) = 1, ADDERROR("Grid Lost Fault"));
IF(GETBIT(x3, 2) = 1, ADDERROR("Grid Volt Fault"));
IF(GETBIT(x3, 3) = 1, ADDERROR("Grid Freq Fault"));
IF(GETBIT(x3, 4) = 1, ADDERROR("PV Volt Fault"));
IF(GETBIT(x3, 5) = 1, ADDERROR("Bus Volt Fault"));
IF(GETBIT(x3, 6) = 1, ADDERROR("Bat Volt Fault"));
IF(GETBIT(x3, 7) = 1, ADDERROR("AC10mins Volt Fault"));
IF(GETBIT(x3, 8) = 1, ADDERROR("DCI OCP Fault"));
IF(GETBIT(x3, 9) = 1, ADDERROR("DCV OCP Fault"));
IF(GETBIT(x3, 10) = 1, ADDERROR("SW OCP Fault"));
IF(GETBIT(x3, 11) = 1, ADDERROR("RC OCP Fault"));
IF(GETBIT(x3, 12) = 1, ADDERROR("Isolation Fault"));
IF(GETBIT(x3, 13) = 1, ADDERROR("Temp Over Fault"));
IF(GETBIT(x3, 14) = 1, ADDERROR("BatConnDir Fault"));
IF(GETBIT(x3, 15) = 1, ADDERROR("Off-grid Overload"));
IF(GETBIT(x3, 16) = 1, ADDERROR("Overload"));
IF(GETBIT(x3, 17) = 1, ADDERROR("Bat Power Low"));
IF(GETBIT(x3, 18) = 1, ADDERROR("BMS Lost"));
IF(GETBIT(x3, 19) = 1, ADDERROR("Fan Fault"));
IF(GETBIT(x3, 20) = 1, ADDERROR("Low Temp Fault"));
IF(GETBIT(x3, 23) = 1, ADDERROR("INV Volt Sample Fault"));
IF(GETBIT(x3, 24) = 1, ADDERROR("Inner Comm Fault"));
IF(GETBIT(x3, 25) = 1, ADDERROR("INV EEPROM Fault"));
IF(GETBIT(x3, 26) = 1, ADDERROR("RCD Fault"));
IF(GETBIT(x3, 27) = 1, ADDERROR("Grid Relay Fault"));
IF(GETBIT(x3, 28) = 1, ADDERROR("Off-grid Relay Fault"));
IF(GETBIT(x3, 29) = 1, ADDERROR("PV ConnDir Fault"));
IF(GETBIT(x3, 30) = 1, ADDERROR("Charger Relay Fault"));
IF(GETBIT(x3, 31) = 1, ADDERROR("Earth Relay Fault"));

#error 2-5 Manager error code
var err := MODBUSR(A, 0x0043, Uint16);
IF(GETBIT(err, 0) = 1, ADDERROR("Power Type Fault"));
IF(GETBIT(err, 1) = 1, ADDERROR("Port OC Warning"));
IF(GETBIT(err, 2) = 1, ADDERROR("Mgr EEPROM Fault"));
IF(GETBIT(err, 4) = 1, ADDERROR("NTC Sample Invalid"));
IF(GETBIT(err, 5) = 1, ADDERROR("Battery Temperature Low"));
IF(GETBIT(err, 6) = 1, ADDERROR("Battery Temperature High"));
IF(GETBIT(err, 9) = 1, ADDERROR("Meter Fault"));
IF(GETBIT(err, 10) = 1, ADDERROR("Bypass Relay Fault"));
IF(GETBIT(err, 11) = 1, ADDERROR("Fan 2 Fault"));
Servisni atributi
Run Mode
SWITCH(MODBUSR(A, 0x09, UInt16), 
0, "Waiting",
1, "Checking",
2, "Normal",
3, "Fault",
4, "Permanent Fault",
5, "Update",
6, "Off-grid waiting",
7, "Off-grid",
8, "Self Testing ",
9, "Idle",
10, "Standby",
"Other"
);
SOC baterije Analogni ulaz Samo za čitanje

Stanje napunjenosti baterije u postocima (0–100 %) — u sustavu TapHome prikazano kao analogni ulaz 0–1

Registar: A:0x1C UInt16 Jedinica: % numeric

SOC baterije

Čitanje razine ulaza
MODBUSR(A, 0x1C, UInt16)/100
Temperatura baterije Senzor temperature Samo za čitanje
Registar: A:0x18 UInt16 Jedinica: °C numeric

Temperatura baterije

Čitanje temperature
MODBUSR(A,0x0018, UInt16)
Dnevna / trenutačna energija Brojilo električne energije Samo za čitanje

Objedinjuje dnevnu energiju predanu u mrežu (kWh) i trenutačnu snagu mreže (kW) — negativna snaga mreže znači preuzimanje iz mreže

Registar: A:0x50, A:0x02 UInt16, Int16 Jedinica: kWh / kW numeric

Dnevna / trenutačna energija

Čitanje ukupne potrošnje
MODBUSR(A, 0x50, UInt16) /10
Čitanje zahtjeva
MODBUSR(A,0x02, Int16)/1000
Način rada punjača Prekidač s više vrijednosti Samo za čitanje

Aktivni način rada solarnog punjača — vlastita potrošnja, prednost predaje u mrežu, rezervno napajanje ili ručno (samo za čitanje)

Registar: H:0x8B → H:0x1F UInt16 numeric
Vrijednosti / stanja: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Način rada punjača

Čitanje stanja sklopke
MODBUSR(H, 0x008B, Uint16)
Zapis stanja sklopke
#MODBUSW(H, 0x001F, uint16, Mu)
Snaga predaje u mrežu Varijabla Samo za čitanje

Trenutačna snaga mreže u kW — pozitivne vrijednosti znače predaju u mrežu, negativne preuzimanje iz mreže

Registar: A:0x46 LittleEndianInt32 Jedinica: kW numeric

Snaga predaje u mrežu

Čitanje
MODBUSR(A, 0x46,LittleEndianInt32)/1000
Snaga PV1 Varijabla Samo za čitanje
Registar: A:0x0A UInt16 Jedinica: kW numeric

Snaga PV1

Čitanje
MODBUSR(A,0x0a, UInt16)/1000
Snaga PV2 Varijabla Samo za čitanje
Registar: A:0x0B UInt16 Jedinica: kW numeric

Snaga PV2

Čitanje
MODBUSR(A,0x0b, UInt16)/1000
SOC noćnog punjenja (vlastita potrošnja) Dimer Samo za čitanje

Gornja ciljna vrijednost SOC za noćno punjenje u načinu vlastite potrošnje (samo za čitanje, 10–100 %)

Registar: H:0x94 → H:0x63 UInt16 Jedinica: % numeric

SOC noćnog punjenja (vlastita potrošnja)

Inicijalizacija
#MODBUSWNE(H, 0x0062, Uint16, 1);
Čitanje razine
MODBUSR(H, 0x0094, Uint16) / 100
Zapis razine
#MODBUSW(H, 0x0063, Uint16, Le * 100)
Ukupna energija Varijabla Samo za čitanje

Ukupna energija s AC priključka izmjenjivača od početka rada u MWh

Registar: A:0x52 LittleEndianInt32 Jedinica: MWh numeric

Ukupna energija

Čitanje
MODBUSR(A, 0x52,LittleEndianInt32) / 1000
Povezivanje: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Moguća poboljšanja (25)
  • A:0x00 Grid Voltage (X1) — 0.1V, UInt16. X3 per-phase voltages at A:0x6A/0x6E/0x72
  • A:0x01 Grid Current (X1) — 0.1A, Int16. X3 per-phase currents at A:0x6B/0x6F/0x73
  • A:0x03, A:0x04 PV Voltage 1 & 2 — 0.1V, UInt16. Useful for string-level diagnostics
  • A:0x05, A:0x06 PV Current 1 & 2 — 0.1A, UInt16. Useful for string-level diagnostics
  • A:0x08 Radiator Temperature — 1°C, Int16. Inverter internal radiator/heatsink temperature
  • A:0x14 Battery Voltage — 0.1V, Int16. Battery pack voltage
  • A:0x15 Battery Current — 0.1A, Int16. Positive=charge, negative=discharge
  • A:0x16 Battery Power — 1W, Int16. Positive=charging, negative=discharging
  • A:0x17 BMS Connect State — 0=Disconnected, 1=Connected. Critical for battery health monitoring
  • A:0x1A Grid Status — 0=OnGrid, 1=OffGrid. Important for backup/off-grid scenarios
  • A:0x48–0x49 Feed-in Energy Total (Meter) — 0.01kWh, UInt32 LE. Cumulative energy exported to grid via meter
  • A:0x4A–0x4B Consumed Energy Total (Meter) — 0.01kWh, UInt32 LE. Cumulative energy consumed from grid via meter
  • A:0x6A–0x75 X3 Per-Phase Grid Readings — Voltage/current/power/frequency per phase R/S/T. 12 registers total. Essential for 3-phase monitoring
  • A:0x94–0x95 Solar Energy Total — 0.1kWh, UInt32 LE. Cumulative PV production (both strings combined)
  • A:0x96 Solar Energy Today — 0.1kWh, UInt16. Today PV production
  • A:0xBE BMS User SOC — 1%, UInt16. SOC as reported by BMS (may differ from A:0x1C)
  • A:0xBF BMS User SOH — 1%, UInt16. Battery state of health
  • Write 0x001C System ON/OFF — 0=OFF, 1=ON. Remote system power control
  • Write 0x001F Charger Use Mode (write) — Write register exists in template but is COMMENTED OUT. 0=Self Use, 1=Feed-in, 2=Backup, 3=Manual
  • Write 0x0020 Manual Mode — 0=Stop, 1=Force charge, 2=Force discharge. Requires Charger Use Mode = 3 (Manual)
  • Write 0x0061 SelfUse Discharge Min SOC — 10%–100%. Minimum SOC before discharge stops in Self-Use mode
  • H:0x8C Manual Mode Readback — 0=Stop, 1=Force charge, 2=Force discharge. Readback of current manual mode setting
  • A:0xBA, A:0xBB Battery Temp High/Low — 0.1°C, Int16. Min/max battery cell temperatures
  • A:0xBC, A:0xBD Cell Voltage High/Low — 0.001V, UInt16. Min/max individual cell voltages. Important for battery health
  • Write 0x007C–0x0082 Remote Power Control — Active/reactive power targets, duration. Enables advanced energy management and grid services

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu