TapHome
Komunita Beta Energia a meranie

SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU)

Komunitná šablóna pre striedače SolaX X1-HYBRID a X3-HYBRID Gen 4 cez Modbus RTU po RS-485: oficiálna šablóna TapHome pre Gen 4 s opraveným čítaním — poradie slov chybového kódu, mierka celkovej energie, merač výroby FV a teplota batérie so znamienkom. Číta SOC a teplotu batérie, výkon PV1/PV2, dodávku do siete, súčty energie, režim nabíjačky a SOC nočného nabíjania; zápisy sú vypnuté. 19200 baud, 8N1, Slave ID 1.

SolaXModbus RTU9 zariadeníRevízia 1.0 Posledná aktualizácia: 12. novembra 2026

Pridal Martin Keller

SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU)

Import do aplikácie TapHomeHardvér › Modbus › Pridať zo šablóny

Stiahnuť šablónu
Na tejto stránke

Návod na integráciu

SolaX X1-HYBRID a X3-HYBRID Gen 4 sú striedače na akumuláciu energie s FV a batériou, dostupné ako jednofázové (3–7,5 kW) a trojfázové (5–15 kW) modely. Táto komunitná šablóna je oficiálna šablóna TapHome pre SolaX Gen 4 s čítaním hodnôt opraveným podľa protokolu SolaX Modbus (V3.21 a V001.02). Komunikuje cez Modbus RTU po RS-485 a číta stav nabitia a teplotu batérie, výkon FV reťazcov, tok výkonu siete, celkové množstvá energie, režim nabíjačky a SOC nočného nabíjania. Mená zariadení sú rovnaké ako v oficiálnej šablóne, takže skorší import je možné porovnať zariadenie po zariadení. Všetky zápisové skripty zostávajú zakomentované, rovnako ako v oficiálnej šablóne, takže šablóna je iba na čítanie.

Modul tiež spracúva 32-bitový chybový kód striedača a 16-bitový chybový kód správcu a každú poruchu hlási v TapHome s vlastným kódom chyby.

Ako získať šablónu

Komunitné šablóny sa v zozname šablón aplikácie TapHome neponúkajú. Prihláste sa na portal.taphome.com, stiahnite XML tejto šablóny a importujte ho do Core. Modul importovaný skôr z oficiálnej šablóny SolaX Hybrid X1/X3 Gen 4 sa sám neaktualizuje — buď importujte túto šablónu ako nový modul, alebo opravte skripty starého modulu podľa tabuľky v časti „Čo táto šablóna opravuje“ nižšie.

Zapojenie hardvéru

Striedač SolaX Gen 4 poskytuje na spodnom paneli COM port RS-485 pre komunikáciu Modbus RTU. COM port používa konektor RJ45.

Spodný panel SolaX X3-HYBRID G4 — rozloženie terminálov s COM, BMS, Meter/CT, PV, BAT a GRID pripojeniami

Priradenie pinov COM terminálu (RJ45):

PinPriradeniePopis
1Drycontact_A(in)Pripojenie systémového spínača
2Drycontact_B(in)Pripojenie systémového spínača
3+13V—
4485ARS-485 data+ (pre TapHome)
5485BRS-485 data− (pre TapHome)
6GNDUzemnenie
7Drycontact_A(out)Pripojenie generátora
8Drycontact_B(out)Pripojenie generátora

Pripojte TapHome k COM portu striedača:

  • Pin 4 (485A) na COM porte striedača k A+/D+ na RS-485 TapHome
  • Pin 5 (485B) na COM porte striedača k B-/D- na RS-485 TapHome
  • Pin 6 (GND) — odporúča sa pripojiť pre spoľahlivú komunikáciu

Návod SolaX predpisuje sieťový kábel CAT5E zalisovaný do konektora RJ45, ktorý sa dodáva so striedačom, a dĺžku kábla COM najviac 30 m.

Pin 3 (+13V) a pin 6 (GND) sa nesmú navzájom spojiť. Nepoužité piny zaizolujte.

Striedač sám o sebe natívne nepodporuje Modbus TCP. Modbus TCP je dostupný iba cez monitorovací modul SolaX (Wi-Fi dongle) a táto šablóna ho nepoužíva.

Pre inštalácie, kde zapojenie RS-485 nie je praktické, šablóna SolaX Inverter (Cloud API) poskytuje monitorovanie cez platformu SolaxCloud prostredníctvom HTTPS — bez fyzického pripojenia. Podporuje všetky typy striedačov SolaX, nielen Gen 4 Hybrid.

Režim nabíjačky a nastavenia nočného nabíjania sú v striedači registre EEPROM (SolaX ich označuje ★, približne 1 milión zápisových cyklov). Nadmerné zápisové operácie môžu spôsobiť nenapraviteľné poškodenie hardvéru — nikdy na nich nezapínajte zápis, ktorý beží periodicky. Táto šablóna má všetky zápisové skripty vypnuté.

Konfigurácia

Aktivácia komunikácie Modbus

Modbus RTU je na COM porte RS-485 striedača dostupný štandardne. Nasledujúce parametre sa musia zhodovať medzi striedačom a modulom TapHome:

  1. Slave ID – predvolená hodnota je 1, nastaviteľná na displeji striedača. Šablóna sa naň pýta ako na svoj jediný parameter importu Modbus Slave ID (predvolene 1)
  2. Baud rate – 19200 baud, výrobné nastavenie SolaX; šablóna tiež používa 19200. Ak bol striedač nastavený na inú rýchlosť (napríklad 9600), zmeňte buď nastavenie striedača, alebo rýchlosť rozhrania TapHome tak, aby sa obe zhodovali
  3. Formát dát – 8 dátových bitov, bez parity, 1 stop bit

Konfigurácia na displeji striedača: Menu > Setting > Advance Setting > Modbus. Nastavte slave adresu a baud rate. Rozšírené nastavenia vyžadujú heslo inštalatéra, ktoré poskytne predajca. Baud rate je možné prečítať aj z holding registra H:0x00B0 a zapísať cez register 0x00CA (hodnoty: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

V TapHome sa šablóna potom importuje na rozhraní RS-485 Modbus RTU riadiacej jednotky Core, nastavenom na rovnakú rýchlosť a formát dát, so Slave ID striedača.

Časovanie komunikácie

Protokol vyžaduje minimálny interval 1 sekundy medzi po sebe idúcimi inštrukciami Modbus a timeout medzery medzi znakmi aspoň 100 ms. Timeout odpovede je 1 sekunda. Šablóna používa individuálne intervaly pollingu pre každé zariadenie (2,5 s až 150 s), čo tieto podmienky spĺňa.

Funkcia COM portu RS-485

Register H:0x013E (485CommFunSelect) určuje, či sa port RS-485 používa na komunikáciu Modbus (hodnota 0) alebo na komunikáciu s nabíjačkou EV (hodnota 1). Pre integráciu s TapHome musí byť nastavený na 0 (Modbus 485).

Možnosti zariadenia

Monitorovanie batérie

  • Batéria (SOC) – číta stav nabitia batérie (A:0x001C) v percentách, každých 15 sekúnd. Surová hodnota registra v jednotkách 1 % sa delí číslom 100 pre rozsah analógového vstupu TapHome 0–1 (napr. 85 % sa zobrazí ako 0,85)
  • Battery Temperature – číta teplotu batérie (A:0x0018) v stupňoch Celzia ako hodnotu so znamienkom (Int16), takže teploty pod 0 °C sa zobrazujú správne. Polling každých 80 sekúnd

Solárny výkon FV

  • PV1 – jednosmerný výkon FV reťazca 1 (A:0x000A), zobrazený v kW po vydelení 1000 z wattov
  • PV2 – jednosmerný výkon FV reťazca 2 (A:0x000B), zobrazený v kW po vydelení 1000 z wattov

PV1 a PV2 sú obyčajné hodnoty bez typu energie, takže sa v prehľade Energy Dashboard nezapočítajú dvakrát.

Výkon siete a meranie energie

  • Purchase/Feed to Grid – okamžitý výkon siete (A:0x0046–0x0047, LittleEndianInt32) v kW, obyčajná hodnota bez typu energie. Kladné hodnoty označujú dodávku do siete, záporné hodnoty odber zo siete. Striedač túto hodnotu preberá z elektromera alebo prúdového transformátora (CT), ktorý je k nemu pripojený
  • Daily/Actual Energy – merač výroby FV pre prehľad Energy Dashboard. Jeho výkon je PV1 + PV2 (A:0x000A + A:0x000B) v kW a jeho celková hodnota je celková energia FV (A:0x0094–0x0095, SolarEnergyTotal, jednotky 0,1 kWh) v kWh. Napriek názvu sa celková hodnota v noci nenuluje
  • Total Energy – celková kumulatívna energia na výstupe z AC portu striedača (A:0x0052–0x0053, LittleEndianUint32, jednotky 0,1 kWh), zobrazená v kWh

Režim nabíjačky a nočné nabíjanie

  • Charger Use Mode – číta aktívny režim solárnej nabíjačky (H:0x008B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) alebo Manual Mode (3). Zápisový register (H:0x001F) v šablóne existuje, ale je zakomentovaný, takže zariadenie je iba na čítanie
  • SelfUse Night Charge – číta hornú cieľovú hodnotu SOC pre nočné nabíjanie v režime Self Use (H:0x0094) v percentách. Zápisový register (H:0x0063) aj aktivačný register (H:0x0062) sú zakomentované, takže konfiguráciu nočného nabíjania nie je možné meniť cez TapHome

Detekcia porúch

Skript na čítanie modulu monitoruje prevádzkový režim striedača (A:0x0009) a dva chybové registre. Každá porucha má vlastný kód chyby:

  • Poruchy prevádzkového režimu (Run mode) – chyba 1, keď je prevádzkový režim 3 (Fault), chyba 2, keď je 4 (Permanent Fault)
  • Chybový kód striedača (A:0x0040–0x0041, LittleEndianUint32) – 30 individuálnych porúch s kódmi 100–131 (100 + číslo bitu) vrátane porúch napätia/frekvencie siete, porúch napätia FV, porúch batérie, izolačných porúch, prehriatia, nadprúdovej ochrany, porúch relé a komunikačných chýb. Názvy porúch zodpovedajú tabuľke X3 v protokole SolaX
  • Chybový kód správcu (A:0x0043) – kódy 200–211 (200 + číslo bitu) pre poruchy typu výkonu, chyby EEPROM, problémy NTC senzorov, nízku/vysokú teplotu batérie, poruchy elektromera, poruchy bypass relé a ventilátora. Port OC Warning (201) sa hlási ako varovanie, ostatné ako chyby

Servisný atribút Run mode na module zobrazuje aktuálny stav striedača ako text: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle alebo Standby.

Čo táto šablóna opravuje

Oficiálna šablóna TapHome SolaX Hybrid X1/X3 Gen 4 číta niekoľko registrov nesprávne (overené podľa protokolu SolaX Modbus V3.21 a V001.02). Táto šablóna ich opravuje:

KdeOficiálna šablónaTáto šablónaDôsledok chyby v oficiálnej šablóne
Modul — skript na čítanievar x3 := MODBUSR(A, 0x0040, Uint32);VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);Dve polovice 32-bitového chybového kódu sú prehodené: porucha v bite 1 (Grid Lost Fault) sa hlási ako bit 17 (Bat Power Low)
Total EnergyMODBUSR(A, 0x52, LittleEndianInt32) / 1000MODBUSR(A, 0x0052, LittleEndianUint32) / 10Hodnota 100× menšia (register počíta v jednotkách 0,1 kWh)
Daily/Actual Energy — celková hodnotaMODBUSR(A, 0x50, UInt16) /10MODBUSR(A, 0x0094, LittleEndianUint32) / 100x0050 je denné počítadlo AC portu striedača, ktoré každú noc klesne na 0; 0x0094 je celková energia FV
Daily/Actual Energy — výkonMODBUSR(A,0x02, Int16)/1000(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 10000x0002 je výkon siete jednofázových modelov X1, nie výroba FV; na mnohých jednotkách X3 číta 0
Battery TemperatureMODBUSR(A,0x0018, UInt16)MODBUSR(A, 0x0018, Int16)Pod 0 °C oficiálna šablóna zobrazuje približne 65535 °C
Rýchlosť rozhrania9600 baud19200 baud19200 je výrobné nastavenie SolaX

S opravenými skriptmi meria merač Daily/Actual Energy výrobu FV (PV1 + PV2), čo zodpovedá jeho typu energie v prehľade Energy Dashboard. PV1, PV2 a Purchase/Feed to Grid už nemajú typ energie — sú to obyčajné hodnoty. Všetky zápisy zostávajú vypnuté, rovnako ako v oficiálnej šablóne.

Riešenie problémov

Žiadna komunikácia so striedačom

  1. Overte zapojenie kábla RS-485: A+ na A+, B- na B-, GND na GND
  2. Skontrolujte, či je register H:0x013E nastavený na 0 (režim Modbus 485, nie EV Charger)
  3. Potvrďte, že sa baud rate striedača a TapHome zhoduje – šablóna používa 19200, predvolenú hodnotu striedača; pri striedači nastavenom na 9600 treba zmeniť jednu zo strán
  4. Overte, že Modbus Slave ID v TapHome sa zhoduje s nastavením striedača (predvolená hodnota: 1)
  5. Uistite sa, že na tej istej zbernici RS-485 nie je pripojený žiadny iný Modbus master – Modbus podporuje iba jedného mastera

Hodnoty vyzerajú ako z oficiálnej šablóny

Keď je Total Energy 100× menšia, Daily/Actual Energy každú noc klesne na 0 alebo Battery Temperature pod bodom mrazu ukazuje približne 65535 °C, modul stále používa skripty oficiálnej šablóny. Modul sa z novšej šablóny sám neaktualizuje — importujte túto šablónu ako nový modul, alebo opravte skripty podľa tabuľky vyššie.

Nesprávna hodnota Batéria (SOC)

Register Batéria (SOC) (A:0x001C) hlási hodnoty v jednotkách 1 %. Šablóna ich delí číslom 100 pre rozsah analógového vstupu TapHome 0–1. Ak sa zobrazená hodnota zdá nesprávna, overte, že zariadenie TapHome je nakonfigurované ako analógový vstup (rozsah 0–1, nie 0–100).

Znamienková konvencia výkonu siete

Purchase/Feed to Grid (A:0x0046) používa znamienkovú konvenciu, kde kladné hodnoty znamenajú dodávku (export do siete) a záporné hodnoty odber (spotrebu zo siete). Striedač túto hodnotu získava zo svojho elektromera alebo CT, takže závisí od správne pripojeného elektromera alebo CT.

Rozdiely X1 a X3

Šablóna číta výkon FV (A:0x000A a A:0x000B) namiesto registra výkonu siete X1, takže merač Daily/Actual Energy funguje rovnako na modeloch X1 aj X3. Názvy porúch zodpovedajú tabuľke X3 v protokole SolaX. Na striedači X1 znamenajú niektoré bity porúch iné poruchy — bit 9 a väčšina bitov od bitu 15 vyššie (napríklad bit 15 je na X1 Missed CT Fault, ale na X3 Off-grid Overload).

Dostupné zariadenia 9

Tieto zariadenia sa po importe zobrazia v TapHome.

SolaX X3-Hybrid G4 Modul
Servisné atribúty
Run mode

SolaX X3-Hybrid G4

Čítanie (modul)
VAR mode := MODBUSR(A, 0x0009, UInt16);
IF(mode = 3, ADDERROR(1, "Inverter fault (run mode 3)"));
IF(mode = 4, ADDERROR(2, "Inverter permanent fault (run mode 4)"));
VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);
IF(GETBIT(inv, 0) = 1, ADDERROR(100, "TZ Protect Fault"));
IF(GETBIT(inv, 1) = 1, ADDERROR(101, "Grid Lost Fault"));
IF(GETBIT(inv, 2) = 1, ADDERROR(102, "Grid Volt Fault"));
IF(GETBIT(inv, 3) = 1, ADDERROR(103, "Grid Freq Fault"));
IF(GETBIT(inv, 4) = 1, ADDERROR(104, "PV Volt Fault"));
IF(GETBIT(inv, 5) = 1, ADDERROR(105, "Bus Volt Fault"));
IF(GETBIT(inv, 6) = 1, ADDERROR(106, "Bat Volt Fault"));
IF(GETBIT(inv, 7) = 1, ADDERROR(107, "AC10mins Volt Fault"));
IF(GETBIT(inv, 8) = 1, ADDERROR(108, "DCI OCP Fault"));
IF(GETBIT(inv, 9) = 1, ADDERROR(109, "DCV OCP Fault"));
IF(GETBIT(inv, 10) = 1, ADDERROR(110, "SW OCP Fault"));
IF(GETBIT(inv, 11) = 1, ADDERROR(111, "RC OCP Fault"));
IF(GETBIT(inv, 12) = 1, ADDERROR(112, "Isolation Fault"));
IF(GETBIT(inv, 13) = 1, ADDERROR(113, "Temp Over Fault"));
IF(GETBIT(inv, 14) = 1, ADDERROR(114, "BatConnDir Fault"));
IF(GETBIT(inv, 15) = 1, ADDERROR(115, "Off-grid Overload"));
IF(GETBIT(inv, 16) = 1, ADDERROR(116, "Overload"));
IF(GETBIT(inv, 17) = 1, ADDERROR(117, "Bat Power Low"));
IF(GETBIT(inv, 18) = 1, ADDERROR(118, "BMS Lost"));
IF(GETBIT(inv, 19) = 1, ADDERROR(119, "Fan Fault"));
IF(GETBIT(inv, 20) = 1, ADDERROR(120, "Low Temp Fault"));
IF(GETBIT(inv, 23) = 1, ADDERROR(123, "INV Volt Sample Fault"));
IF(GETBIT(inv, 24) = 1, ADDERROR(124, "Inner Comm Fault"));
IF(GETBIT(inv, 25) = 1, ADDERROR(125, "INV EEPROM Fault"));
IF(GETBIT(inv, 26) = 1, ADDERROR(126, "RCD Fault"));
IF(GETBIT(inv, 27) = 1, ADDERROR(127, "Grid Relay Fault"));
IF(GETBIT(inv, 28) = 1, ADDERROR(128, "Off-grid Relay Fault"));
IF(GETBIT(inv, 29) = 1, ADDERROR(129, "PV ConnDir Fault"));
IF(GETBIT(inv, 30) = 1, ADDERROR(130, "Charger Relay Fault"));
IF(GETBIT(inv, 31) = 1, ADDERROR(131, "Earth Relay Fault"));
VAR mgr := MODBUSR(A, 0x0043, UInt16);
IF(GETBIT(mgr, 0) = 1, ADDERROR(200, "Power Type Fault"));
IF(GETBIT(mgr, 1) = 1, ADDWARNING(201, "Port OC Warning"));
IF(GETBIT(mgr, 2) = 1, ADDERROR(202, "Mgr EEPROM Fault"));
IF(GETBIT(mgr, 4) = 1, ADDERROR(204, "NTC Sample Invalid"));
IF(GETBIT(mgr, 5) = 1, ADDERROR(205, "Battery Temperature Low"));
IF(GETBIT(mgr, 6) = 1, ADDERROR(206, "Battery Temperature High"));
IF(GETBIT(mgr, 9) = 1, ADDERROR(209, "Meter Fault"));
IF(GETBIT(mgr, 10) = 1, ADDERROR(210, "Bypass Relay Fault"));
IF(GETBIT(mgr, 11) = 1, ADDERROR(211, "Fan 2 Fault"));
Servisné atribúty
Run mode
SWITCH(MODBUSR(A, 0x0009, 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")
${deviceType_BatterySOC} Analógový vstup

${deviceType_BatterySOC}

Čítanie vstupnej úrovne
MODBUSR(A, 0x001C, UInt16) / 100
Battery Temperature Teplotný senzor

Battery Temperature

Čítanie teploty
MODBUSR(A, 0x0018, Int16)
Daily/Actual Energy Elektromer

Daily/Actual Energy

Čítanie celkovej spotreby
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
Čítanie odberu
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000
Charger Use Mode Viacstavový prepínač
Hodnoty / Stavy: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Charger Use Mode

Čítanie stavu prepínača
MODBUSR(H, 0x008B, UInt16)
Zápis stavu prepínača
#MODBUSW(SH, 0x001F, Uint16, Mu)
Purchase/Feed to Grid Premenná

Purchase/Feed to Grid

Čítanie
MODBUSR(A, 0x0046, LittleEndianInt32) / 1000
PV1 Premenná

PV1

Čítanie
MODBUSR(A, 0x000A, UInt16) / 1000
PV2 Premenná

PV2

Čítanie
MODBUSR(A, 0x000B, UInt16) / 1000
SelfUse Night Charge Stmievač

SelfUse Night Charge

Inicializácia
#MODBUSWNE(SH, 0x0062, Uint16, 1);
Čítanie úrovne
MODBUSR(H, 0x0094, UInt16) / 100
Zápis úrovne
#MODBUSW(SH, 0x0063, Uint16, Le * 100)
Total Energy Premenná

Total Energy

Čítanie
MODBUSR(A, 0x0052, LittleEndianUint32) / 10
Pripojenie: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]

Parametre importu

Tieto hodnoty zadáte pri importe XML.

Pýta sa v aplikáciiPredvolené
Modbus Slave ID1

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Šablóna · portál TapHome SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU) Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu. Modbus RTU Zobraziť v portáli TapHome