TapHome
Közösség Béta Energia és mérés

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

Közösségi sablon a SolaX X1-HYBRID és X3-HYBRID Gen 4 inverterekhez Modbus RTU-n, RS-485 felett: a hivatalos TapHome Gen 4 sablon javított leolvasásokkal — a hibakód szósorrendje, a teljes energia skálája, a PV termelésmérő és az előjeles akkumulátor-hőmérséklet. Olvassa az akkumulátor SOC-értékét és hőmérsékletét, a PV1/PV2 teljesítményt, a hálózati betáplálást, az energiaösszesítőket, a töltési módot és az éjszakai töltés SOC-értékét; az írás le van tiltva. 19200 baud, 8N1, Slave ID 1.

SolaXModbus RTU9 eszközRevízió 1.0 Utoljára frissítve: 2026. november 12.

Beküldő Martin Keller

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

Importálás a TapHome alkalmazásbaHardver › Modbus › Hozzáadás sablonból

Sablon letöltése
Ezen az oldalon

Integrációs útmutató

A SolaX X1-HYBRID és X3-HYBRID Gen 4 energiatároló napelem inverterek napelemmel és akkumulátorral, egyfázisú (3–7,5 kW) és háromfázisú (5–15 kW) kivitelben. Ez a közösségi sablon a hivatalos TapHome SolaX Gen 4 sablon, amelynek leolvasásait a SolaX Modbus protokoll (V3.21 és V001.02) alapján javítottuk. Modbus RTU-n kommunikál RS-485 felett, és olvassa az akkumulátor töltöttségi állapotát és hőmérsékletét, a PV-stringek teljesítményét, a hálózati teljesítményáramlást, az energiaösszesítőket, a töltési módot és az éjszakai töltés SOC-értékét. Az eszközök neve ugyanaz, mint a hivatalos sablonban, így egy korábbi import eszközönként összehasonlítható. Minden írási szkript ki van kommentezve, ahogy a hivatalos sablonban is, így a sablon csak olvasható.

A modul a 32 bites inverter-hibakódot és a 16 bites menedzser-hibakódot is feldolgozza, és minden hibát saját hibakóddal jelez a TapHome-ban.

Hogyan szerezheted meg a sablont

A közösségi sablonok nem szerepelnek a TapHome alkalmazás sablonlistájában. Jelentkezz be a portal.taphome.com oldalon, töltsd le a sablon XML-jét, és importáld a Core-ba. A hivatalos SolaX Hybrid X1/X3 Gen 4 sablonból korábban importált modul nem frissül magától — vagy importáld ezt a sablont új modulként, vagy javítsd ki a régi modul szkriptjeit az alábbi „Mit javít ez a sablon” rész táblázata szerint.

Hardver csatlakoztatása

A SolaX Gen 4 inverter az alsó panelen RS-485 COM portot biztosít a Modbus RTU kommunikációhoz. A COM port RJ45 csatlakozót használ.

SolaX X3-HYBRID G4 alsó panel — csatlakozók elrendezése COM, BMS, Meter/CT, PV, BAT és GRID csatlakozásokkal

A COM csatlakozó tűkiosztása (RJ45):

TűKiosztásLeírás
1Drycontact_A(in)Rendszerkapcsoló csatlakozás
2Drycontact_B(in)Rendszerkapcsoló csatlakozás
3+13V—
4485ARS-485 data+ (a TapHome-hoz)
5485BRS-485 data− (a TapHome-hoz)
6GNDFöld
7Drycontact_A(out)Generátor csatlakozás
8Drycontact_B(out)Generátor csatlakozás

Csatlakoztasd a TapHome-ot az inverter COM portjához:

  • Az inverter COM portjának Pin 4 (485A) tűjét a TapHome RS-485 A+/D+ kapcsához
  • Az inverter COM portjának Pin 5 (485B) tűjét a TapHome RS-485 B-/D- kapcsához
  • A Pin 6 (GND) bekötése ajánlott a megbízható kommunikációhoz

A SolaX kézikönyve CAT5E hálózati kábelt ír elő, az inverterhez mellékelt RJ45 dugóba krimpelve, és a COM kábel legfeljebb 30 m hosszú lehet.

A 3-as (+13V) és a 6-os (GND) tűt nem szabad összekötni. A nem használt tűket szigeteld le.

Maga az inverter natívan nem támogatja a Modbus TCP-t. A Modbus TCP csak a SolaX monitorozó modulon (Wi-Fi dongle) keresztül érhető el, és ez a sablon nem használja.

Olyan telepítésekhez, ahol az RS-485 bekötés nem praktikus, a SolaX Inverter (Cloud API) sablon a SolaxCloud platformon keresztül, HTTPS-en biztosít monitorozást — fizikai csatlakozás nélkül. Minden SolaX invertertípust támogat, nem csak a Gen 4 Hybridet.

A töltési mód és az éjszakai töltés beállításai az inverter EEPROM regiszterei (a SolaX ★ jellel jelöli őket, kb. 1 millió írási ciklus). A túlzott írási műveletek visszafordíthatatlan hardverkárosodást okozhatnak — soha ne engedélyezz rájuk rendszeresen futó írást. Ebben a sablonban minden írási szkript le van tiltva.

Konfiguráció

A Modbus kommunikáció engedélyezése

A Modbus RTU alapértelmezés szerint elérhető az inverter RS-485 COM portján. A következő paramétereknek egyezniük kell az inverter és a TapHome modul között:

  1. Slave ID – alapértelmezés szerint 1, az inverter kijelzőjén állítható. A sablon egyetlen importparaméterként kéri, Modbus Slave ID néven (alapértelmezés 1)
  2. Baud rate – 19200 baud, a SolaX gyári alapértéke; a sablon is 19200-at használ. Ha az invertert más sebességre állították (például 9600), módosítsd az inverter beállítását vagy a TapHome interfész sebességét, hogy a kettő egyezzen
  3. Adatformátum – 8 adatbit, nincs paritás, 1 stopbit

Beállítás az inverter kijelzőjén: Menu > Setting > Advance Setting > Modbus. Állítsd be a slave-címet és a baud rate-et. A haladó beállításokhoz telepítői jelszó kell, amelyet a forgalmazótól kaphatsz meg. A baud rate a H:0x00B0 holding regiszterből is kiolvasható, és a 0x00CA regiszteren keresztül írható (értékek: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

A TapHome-ban ezután a sablont a Core RS-485 Modbus RTU interfészén importálod, amely ugyanarra a sebességre és adatformátumra van állítva, az inverter Slave ID-jával.

Kommunikációs időzítés

A protokoll legalább 1 másodperc szünetet ír elő az egymást követő Modbus utasítások között, és legalább 100 ms karakterköz-időtúllépést. A válasz időtúllépése 1 másodperc. A sablon eszközönként egyedi lekérdezési intervallumokat használ (2,5 s és 150 s között), amelyek megfelelnek ezeknek a feltételeknek.

Az RS-485 COM port funkciója

A H:0x013E regiszter (485CommFunSelect) határozza meg, hogy az RS-485 portot Modbus kommunikációra (0 érték) vagy EV töltő kommunikációra (1 érték) használja-e az inverter. A TapHome integrációhoz győződj meg róla, hogy 0 (Modbus 485) értékre van állítva.

Az eszköz képességei

Akkumulátor-felügyelet

  • Akkumulátor (SOC) – az akkumulátor töltöttségi állapotát olvassa (A:0x001C) százalékban, 15 másodpercenként. Az 1%-os egységekben megadott nyers regiszterértéket a sablon elosztja 100-zal a TapHome 0–1 analóg bemeneti tartományához (pl. 85% 0,85 lesz)
  • Battery Temperature – az akkumulátor hőmérsékletét olvassa (A:0x0018) Celsius-fokban, előjeles értékként (Int16), így a 0 °C alatti hőmérsékletek is helyesen jelennek meg. Lekérdezés 80 másodpercenként

Napelemes PV teljesítmény

  • PV1 – az 1. PV-string DC teljesítménye (A:0x000A), kW-ban megjelenítve, wattból /1000 átváltás után
  • PV2 – a 2. PV-string DC teljesítménye (A:0x000B), kW-ban megjelenítve, wattból /1000 átváltás után

A PV1 és a PV2 egyszerű értékek energiatípus nélkül, így az Energy Dashboardban nem számítanak kétszer.

Hálózati teljesítmény és energiamérés

  • Purchase/Feed to Grid – pillanatnyi hálózati teljesítmény (A:0x0046–0x0047, LittleEndianInt32) kW-ban, egyszerű érték energiatípus nélkül. A pozitív érték hálózatba táplálást, a negatív érték hálózatból vételezést jelent. Az inverter ezt az értéket a hozzá csatlakoztatott mérőből vagy CT-ből veszi
  • Daily/Actual Energy – a PV termelés mérője az Energy Dashboardhoz. Teljesítménye PV1 + PV2 (A:0x000A + A:0x000B) kW-ban, összesítője pedig a teljes PV energia (A:0x0094–0x0095, SolarEnergyTotal, 0,1 kWh egységekben) kWh-ban. A neve ellenére az összesítő éjjel nem nullázódik
  • Total Energy – az inverter AC portjáról leadott teljes kumulatív energia (A:0x0052–0x0053, LittleEndianUint32, 0,1 kWh egységekben), kWh-ban megjelenítve

Töltési mód és éjszakai töltés

  • Charger Use Mode – az aktív napelemes töltési módot olvassa (H:0x008B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) vagy Manual Mode (3). Az írási regiszter (H:0x001F) szerepel a sablonban, de ki van kommentezve, így az eszköz csak olvasható
  • SelfUse Night Charge – az éjszakai töltés felső SOC-célértékét olvassa Self Use módban (H:0x0094) százalékban. Az írási regiszter (H:0x0063) és az engedélyező regiszter (H:0x0062) egyaránt ki van kommentezve, így az éjszakai töltés beállítása a TapHome-ból nem módosítható

Hibafelismerés

A modul olvasó szkriptje figyeli az inverter üzemmódját (A:0x0009) és két hibaregisztert. Minden hibának saját hibakódja van:

  • Üzemmód-hibák – 1-es hiba, ha az üzemmód 3 (Fault), 2-es hiba, ha 4 (Permanent Fault)
  • Inverter-hibakód (A:0x0040–0x0041, LittleEndianUint32) – 30 egyedi hiba 100–131 kóddal (100 + a bit száma), köztük hálózati feszültség- és frekvenciahibák, PV-feszültséghibák, akkumulátorhibák, szigetelési hibák, túlmelegedés, túláramvédelem, reléhibák és kommunikációs hibák. A hibák neve a SolaX protokoll X3 táblázatát követi
  • Menedzser-hibakód (A:0x0043) – 200–211 kódok (200 + a bit száma) teljesítménytípus-hibákra, EEPROM-hibákra, NTC-érzékelő problémákra, alacsony/magas akkumulátor-hőmérsékletre, mérőhibákra, bypassrelé- és ventilátorhibákra. A Port OC Warning (201) figyelmeztetésként jelenik meg, a többi hibaként

A modul Run mode nevű szolgáltatás attribútuma szövegként mutatja az inverter aktuális állapotát: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle vagy Standby.

Mit javít ez a sablon

A hivatalos TapHome sablon, a SolaX Hybrid X1/X3 Gen 4, több regisztert hibásan olvas (a SolaX Modbus protokoll V3.21 és V001.02 verziója alapján ellenőrizve). Ez a sablon kijavítja őket:

HolHivatalos sablonEz a sablonA hiba következménye a hivatalos sablonban
Modul — olvasó szkriptvar x3 := MODBUSR(A, 0x0040, Uint32);VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);A 32 bites hibakód két fele fel van cserélve: az 1. bit hibája (Grid Lost Fault) 17. bitként (Bat Power Low) jelenik meg
Total EnergyMODBUSR(A, 0x52, LittleEndianInt32) / 1000MODBUSR(A, 0x0052, LittleEndianUint32) / 10Az érték 100× kisebb (a regiszter 0,1 kWh egységekben számol)
Daily/Actual Energy — összesítőMODBUSR(A, 0x50, UInt16) /10MODBUSR(A, 0x0094, LittleEndianUint32) / 10A 0x0050 az inverter AC portjának napi számlálója, amely minden éjjel 0-ra esik; a 0x0094 a teljes PV energia
Daily/Actual Energy — teljesítményMODBUSR(A,0x02, Int16)/1000(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000A 0x0002 az egyfázisú X1 modellek hálózati teljesítménye, nem a PV termelés; sok X3 egységen 0-t olvas
Battery TemperatureMODBUSR(A,0x0018, UInt16)MODBUSR(A, 0x0018, Int16)0 °C alatt a hivatalos sablon kb. 65535 °C-ot mutat
Interfész sebessége9600 baud19200 baudA 19200 a SolaX gyári alapértéke

A javított szkriptekkel a Daily/Actual Energy mérő a PV termelést (PV1 + PV2) méri, vagyis azt, amit az Energy Dashboardban beállított energiatípusa elvár. A PV1, a PV2 és a Purchase/Feed to Grid már nem hordoz energiatípust — egyszerű értékek. Minden írás le van tiltva, ahogy a hivatalos sablonban is.

Hibaelhárítás

Nincs kommunikáció az inverterrel

  1. Ellenőrizd az RS-485 kábel bekötését: A+ az A+-ra, B- a B–re, GND a GND-re
  2. Ellenőrizd, hogy a H:0x013E regiszter 0-ra van-e állítva (Modbus 485 mód, nem EV töltő)
  3. Győződj meg róla, hogy a baud rate egyezik az inverter és a TapHome között – a sablon 19200-at használ, ami az inverter alapértéke; a 9600-ra állított inverternél az egyik oldalt módosítani kell
  4. Ellenőrizd, hogy a TapHome-ban megadott Modbus Slave ID egyezik-e az inverter beállításával (alapértelmezés: 1)
  5. Győződj meg róla, hogy ugyanarra az RS-485 buszra nincs más Modbus master csatlakoztatva – a Modbus csak egyetlen mastert támogat

Az értékek olyanok, mint a hivatalos sablonban

Ha a Total Energy 100× kisebb, a Daily/Actual Energy minden éjjel 0-ra esik, vagy a Battery Temperature fagypont alatt kb. 65535 °C-ot mutat, a modul még a hivatalos sablon szkriptjeit futtatja. A modul nem frissül magától egy újabb sablonból — importáld ezt a sablont új modulként, vagy javítsd ki a szkripteket a fenti táblázat szerint.

Helytelen Akkumulátor (SOC) érték

Az Akkumulátor (SOC) regiszter (A:0x001C) 1%-os egységekben adja meg az értékeket. A sablon 100-zal oszt a TapHome 0–1 analóg bemeneti tartományához. Ha a megjelenített érték hibásnak tűnik, ellenőrizd, hogy a TapHome eszköz analóg bemenetként van-e beállítva (0–1 tartomány, nem 0–100).

A hálózati teljesítmény előjele

A Purchase/Feed to Grid (A:0x0046) olyan előjelkonvenciót használ, amelyben a pozitív érték betáplálást (export a hálózatba), a negatív érték vételezést (fogyasztás a hálózatból) jelent. Az inverter ezt az értéket a mérőjéből vagy CT-jéből kapja, így helyesen bekötött mérőt vagy CT-t igényel.

X1 és X3 különbségek

A sablon az X1 hálózati teljesítmény regisztere helyett a PV teljesítményt olvassa (A:0x000A és A:0x000B), így a Daily/Actual Energy mérő X1 és X3 modelleken egyaránt működik. A hibák neve a SolaX protokoll X3 táblázatát követi. X1 inverteren néhány hibabit más hibát jelent — a 9. bit és a 15. bittől felfelé a legtöbb bit (például a 15. bit X1-en Missed CT Fault, X3-on viszont Off-grid Overload).

Elérhető eszközök 9

Ezek az eszközök az importálás után jelennek meg a TapHome-ban.

SolaX X3-Hybrid G4 Modul
Szerviz attribútumok
Run mode

SolaX X3-Hybrid G4

Olvasás (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"));
Szerviz attribútumok
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óg bemenet

${deviceType_BatterySOC}

Bemeneti szint olvasása
MODBUSR(A, 0x001C, UInt16) / 100
Battery Temperature Hőmérséklet-érzékelő

Battery Temperature

Hőmérséklet olvasása
MODBUSR(A, 0x0018, Int16)
Daily/Actual Energy Villanyóra

Daily/Actual Energy

Összes fogyasztás olvasása
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
Igény olvasása
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000
Charger Use Mode Többértékű kapcsoló
Értékek / Állapotok: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Charger Use Mode

Kapcsoló állapot olvasása
MODBUSR(H, 0x008B, UInt16)
Kapcsoló állapot írása
#MODBUSW(SH, 0x001F, Uint16, Mu)
Purchase/Feed to Grid Változó

Purchase/Feed to Grid

Olvasás
MODBUSR(A, 0x0046, LittleEndianInt32) / 1000
PV1 Változó

PV1

Olvasás
MODBUSR(A, 0x000A, UInt16) / 1000
PV2 Változó

PV2

Olvasás
MODBUSR(A, 0x000B, UInt16) / 1000
SelfUse Night Charge Fényerőszabályzó

SelfUse Night Charge

Inicializálás
#MODBUSWNE(SH, 0x0062, Uint16, 1);
Szint olvasása
MODBUSR(H, 0x0094, UInt16) / 100
Szint írása
#MODBUSW(SH, 0x0063, Uint16, Le * 100)
Total Energy Változó

Total Energy

Olvasás
MODBUSR(A, 0x0052, LittleEndianUint32) / 10
Kapcsolat: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]

Importálási paraméterek

Ezeket az értékeket az XML importálásakor adja meg.

Az alkalmazás kériAlapérték
Modbus Slave ID1

Talált problémát ezzel az eszközsablonnal?

Írja meg, mi nem működik, mi hiányzik, vagy hogyan kellene a sablonnak viselkednie. Visszajelzése segít, hogy a katalógus pontos maradjon.

Sablon · TapHome portál SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU) Nyisd meg ezt a sablont az ügyfélportálon, hogy alkalmazd az otthonaid egyikére, vagy készíts egy módosítást és küldd vissza a katalógusba. Modbus RTU Megnyitás a TapHome portálon