TapHome
Komunita Beta Energie a měření

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

Komunitní šablona pro střídače SolaX X1-HYBRID a X3-HYBRID Gen 4 přes Modbus RTU po RS-485: oficiální šablona TapHome pro Gen 4 s opraveným čtením — pořadí slov chybového kódu, měřítko celkové energie, měřič výroby FV a teplota baterie se znaménkem. Čte SOC a teplotu baterie, výkon PV1/PV2, dodávku do sítě, součty energie, režim nabíječky a SOC nočního nabíjení; zápisy jsou vypnuté. 19200 baud, 8N1, Slave ID 1.

SolaXModbus RTU9 zařízeníRevize 1.0 Poslední aktualizace: 12. listopadu 2026

Přidal Martin Keller

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

Import do aplikace TapHomeHardware › Modbus › Přidat ze šablony

Stáhnout šablonu
Na této stránce

Návod na integraci

SolaX X1-HYBRID a X3-HYBRID Gen 4 jsou střídače pro akumulaci energie s FV a baterií, dostupné jako jednofázové (3–7,5 kW) a třífázové (5–15 kW) modely. Tato komunitní šablona je oficiální šablona TapHome pro SolaX Gen 4 se čtením hodnot opraveným podle protokolu SolaX Modbus (V3.21 a V001.02). Komunikuje přes Modbus RTU po RS-485 a čte stav nabití a teplotu baterie, výkon FV řetězců, tok výkonu sítě, celková množství energie, režim nabíječky a SOC nočního nabíjení. Názvy zařízení jsou stejné jako v oficiální šabloně, takže dřívější import lze porovnat zařízení po zařízení. Všechny zápisové skripty zůstávají zakomentované, stejně jako v oficiální šabloně, takže šablona je pouze pro čtení.

Modul také zpracovává 32bitový chybový kód střídače a 16bitový chybový kód správce a každou poruchu hlásí v TapHome s vlastním kódem chyby.

Jak získat šablonu

Komunitní šablony se v seznamu šablon aplikace TapHome nenabízejí. Přihlaste se na portal.taphome.com, stáhněte XML této šablony a importujte ho do Core. Modul importovaný dříve z oficiální šablony SolaX Hybrid X1/X3 Gen 4 se sám neaktualizuje — buď importujte tuto šablonu jako nový modul, nebo opravte skripty starého modulu podle tabulky v části „Co tato šablona opravuje“ níže.

Zapojení hardwaru

Střídač SolaX Gen 4 poskytuje na spodním panelu COM port RS-485 pro komunikaci Modbus RTU. COM port používá konektor RJ45.

Spodní panel SolaX X3-HYBRID G4 — rozložení terminálů s COM, BMS, Meter/CT, PV, BAT a GRID připojeními

Přiřazení pinů COM terminálu (RJ45):

PinPřiřazeníPopis
1Drycontact_A(in)Připojení systémového spínače
2Drycontact_B(in)Připojení systémového spínače
3+13V—
4485ARS-485 data+ (pro TapHome)
5485BRS-485 data− (pro TapHome)
6GNDUzemnění
7Drycontact_A(out)Připojení generátoru
8Drycontact_B(out)Připojení generátoru

Připojte TapHome k COM portu střídače:

  • Pin 4 (485A) na COM portu střídače k A+/D+ na RS-485 TapHome
  • Pin 5 (485B) na COM portu střídače k B-/D- na RS-485 TapHome
  • Pin 6 (GND) — doporučuje se připojit pro spolehlivou komunikaci

Návod SolaX předepisuje síťový kabel CAT5E zalisovaný do konektoru RJ45, který se dodává se střídačem, a délku kabelu COM nejvýše 30 m.

Pin 3 (+13V) a pin 6 (GND) se nesmí vzájemně propojit. Nepoužité piny zaizolujte.

Střídač sám o sobě nativně nepodporuje Modbus TCP. Modbus TCP je dostupný pouze přes monitorovací modul SolaX (Wi-Fi dongle) a tato šablona jej nepoužívá.

Pro instalace, kde zapojení RS-485 není praktické, šablona SolaX Inverter (Cloud API) poskytuje monitoring přes platformu SolaxCloud prostřednictvím HTTPS — bez fyzického připojení. Podporuje všechny typy střídačů SolaX, nejen Gen 4 Hybrid.

Režim nabíječky a nastavení nočního nabíjení jsou ve střídači registry EEPROM (SolaX je označuje ★, přibližně 1 milion zápisových cyklů). Nadměrné zápisové operace mohou způsobit nevratné poškození hardwaru — nikdy na nich nezapínejte zápis, který běží periodicky. Tato šablona má všechny zápisové skripty vypnuté.

Konfigurace

Aktivace komunikace Modbus

Modbus RTU je na COM portu RS-485 střídače dostupný standardně. Následující parametry se musí shodovat mezi střídačem a modulem TapHome:

  1. Slave ID – výchozí hodnota je 1, nastavitelná na displeji střídače. Šablona se na něj ptá jako na svůj jediný parametr importu Modbus Slave ID (výchozí 1)
  2. Baud rate – 19200 baud, tovární nastavení SolaX; šablona používá také 19200. Pokud byl střídač nastaven na jinou rychlost (například 9600), změňte buď nastavení střídače, nebo rychlost rozhraní TapHome tak, aby se obě shodovaly
  3. Formát dat – 8 datových bitů, bez parity, 1 stop bit

Konfigurace na displeji střídače: Menu > Setting > Advance Setting > Modbus. Nastavte slave adresu a baud rate. Pokročilá nastavení vyžadují heslo instalátora, které poskytne prodejce. Baud rate lze přečíst i z holding registru H:0x00B0 a zapsat přes registr 0x00CA (hodnoty: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

V TapHome se šablona poté importuje na rozhraní RS-485 Modbus RTU řídicí jednotky Core, nastaveném na stejnou rychlost a formát dat, se Slave ID střídače.

Časování komunikace

Protokol vyžaduje minimální interval 1 sekundy mezi po sobě jdoucími instrukcemi Modbus a timeout mezery mezi znaky alespoň 100 ms. Timeout odpovědi je 1 sekunda. Šablona používá individuální intervaly pollingu pro každé zařízení (2,5 s až 150 s), což tyto podmínky splňuje.

Funkce COM portu RS-485

Registr H:0x013E (485CommFunSelect) určuje, zda se port RS-485 používá pro komunikaci Modbus (hodnota 0), nebo pro komunikaci s nabíječkou EV (hodnota 1). Pro integraci s TapHome musí být nastaven na 0 (Modbus 485).

Možnosti zařízení

Monitorování baterie

  • Baterie (SOC) – čte stav nabití baterie (A:0x001C) v procentech, každých 15 sekund. Surová hodnota registru v jednotkách 1 % se dělí číslem 100 pro rozsah analogového vstupu TapHome 0–1 (např. 85 % se zobrazí jako 0,85)
  • Battery Temperature – čte teplotu baterie (A:0x0018) ve stupních Celsia jako hodnotu se znaménkem (Int16), takže teploty pod 0 °C se zobrazují správně. Polling každých 80 sekund

Solární výkon FV

  • PV1 – stejnosměrný výkon FV řetězce 1 (A:0x000A), zobrazený v kW po vydělení 1000 z wattů
  • PV2 – stejnosměrný výkon FV řetězce 2 (A:0x000B), zobrazený v kW po vydělení 1000 z wattů

PV1 a PV2 jsou prosté hodnoty bez typu energie, takže se v přehledu Energy Dashboard nezapočítají dvakrát.

Výkon sítě a měření energie

  • Purchase/Feed to Grid – okamžitý výkon sítě (A:0x0046–0x0047, LittleEndianInt32) v kW, prostá hodnota bez typu energie. Kladné hodnoty označují dodávku do sítě, záporné hodnoty odběr ze sítě. Střídač tuto hodnotu přebírá z elektroměru nebo proudového transformátoru (CT), který je k němu připojen
  • Daily/Actual Energy – měřič výroby FV pro přehled Energy Dashboard. Jeho výkon je PV1 + PV2 (A:0x000A + A:0x000B) v kW a jeho celková hodnota je celková energie FV (A:0x0094–0x0095, SolarEnergyTotal, jednotky 0,1 kWh) v kWh. Navzdory názvu se celková hodnota v noci nenuluje
  • Total Energy – celková kumulativní energie na výstupu z AC portu střídače (A:0x0052–0x0053, LittleEndianUint32, jednotky 0,1 kWh), zobrazená v kWh

Režim nabíječky a noční nabíjení

  • Charger Use Mode – čte aktivní režim solární nabíječky (H:0x008B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) nebo Manual Mode (3). Zápisový registr (H:0x001F) v šabloně existuje, ale je zakomentován, takže zařízení je pouze pro čtení
  • SelfUse Night Charge – čte horní cílovou hodnotu SOC pro noční nabíjení v režimu Self Use (H:0x0094) v procentech. Zápisový registr (H:0x0063) i aktivační registr (H:0x0062) jsou zakomentovány, takže konfiguraci nočního nabíjení nelze měnit přes TapHome

Detekce poruch

Skript pro čtení modulu monitoruje provozní režim střídače (A:0x0009) a dva chybové registry. Každá porucha má vlastní kód chyby:

  • Poruchy provozního režimu (Run mode) – chyba 1, když je provozní režim 3 (Fault), chyba 2, když je 4 (Permanent Fault)
  • Chybový kód střídače (A:0x0040–0x0041, LittleEndianUint32) – 30 jednotlivých poruch s kódy 100–131 (100 + číslo bitu) včetně poruch napětí/frekvence sítě, poruch napětí FV, poruch baterie, izolačních poruch, přehřátí, nadproudové ochrany, poruch relé a komunikačních chyb. Názvy poruch odpovídají tabulce X3 v protokolu SolaX
  • Chybový kód správce (A:0x0043) – kódy 200–211 (200 + číslo bitu) pro poruchy typu výkonu, chyby EEPROM, problémy NTC senzorů, nízkou/vysokou teplotu baterie, poruchy elektroměru, poruchy bypass relé a ventilátoru. Port OC Warning (201) se hlásí jako varování, ostatní jako chyby

Servisní atribut Run mode na modulu zobrazuje aktuální stav střídače jako text: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle nebo Standby.

Co tato šablona opravuje

Oficiální šablona TapHome SolaX Hybrid X1/X3 Gen 4 čte několik registrů chybně (ověřeno podle protokolu SolaX Modbus V3.21 a V001.02). Tato šablona je opravuje:

KdeOficiální šablonaTato šablonaDůsledek chyby v oficiální šabloně
Modul — skript pro čtenívar x3 := MODBUSR(A, 0x0040, Uint32);VAR inv := MODBUSR(A, 0x0040, LittleEndianUint32);Dvě poloviny 32bitového chybového kódu jsou prohozené: porucha v bitu 1 (Grid Lost Fault) se hlásí jako bit 17 (Bat Power Low)
Total EnergyMODBUSR(A, 0x52, LittleEndianInt32) / 1000MODBUSR(A, 0x0052, LittleEndianUint32) / 10Hodnota 100× menší (registr počítá v jednotkách 0,1 kWh)
Daily/Actual Energy — celková hodnotaMODBUSR(A, 0x50, UInt16) /10MODBUSR(A, 0x0094, LittleEndianUint32) / 100x0050 je denní čítač AC portu střídače, který každou noc klesne na 0; 0x0094 je celková energie FV
Daily/Actual Energy — výkonMODBUSR(A,0x02, Int16)/1000(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 10000x0002 je výkon sítě jednofázových modelů X1, ne výroba FV; na mnoha jednotkách X3 čte 0
Battery TemperatureMODBUSR(A,0x0018, UInt16)MODBUSR(A, 0x0018, Int16)Pod 0 °C zobrazuje oficiální šablona přibližně 65535 °C
Rychlost rozhraní9600 baud19200 baud19200 je tovární nastavení SolaX

S opravenými skripty měří měřič Daily/Actual Energy výrobu FV (PV1 + PV2), což odpovídá jeho typu energie v přehledu Energy Dashboard. PV1, PV2 a Purchase/Feed to Grid už nemají typ energie — jsou to prosté hodnoty. Všechny zápisy zůstávají vypnuté, stejně jako v oficiální šabloně.

Řešení problémů

Žádná komunikace se střídačem

  1. Ověřte zapojení kabelu RS-485: A+ na A+, B- na B-, GND na GND
  2. Zkontrolujte, zda je registr H:0x013E nastaven na 0 (režim Modbus 485, ne EV Charger)
  3. Potvrďte, že se baud rate střídače a TapHome shoduje – šablona používá 19200, výchozí hodnotu střídače; u střídače nastaveného na 9600 je třeba změnit jednu ze stran
  4. Ověřte, že Modbus Slave ID v TapHome se shoduje s nastavením střídače (výchozí hodnota: 1)
  5. Ujistěte se, že na stejné sběrnici RS-485 není připojen žádný jiný Modbus master – Modbus podporuje pouze jednoho mastera

Hodnoty vypadají jako z oficiální šablony

Když je Total Energy 100× menší, Daily/Actual Energy každou noc klesne na 0 nebo Battery Temperature pod bodem mrazu ukazuje přibližně 65535 °C, modul stále používá skripty oficiální šablony. Modul se z novější šablony sám neaktualizuje — importujte tuto šablonu jako nový modul, nebo opravte skripty podle tabulky výše.

Nesprávná hodnota Baterie (SOC)

Registr Baterie (SOC) (A:0x001C) hlásí hodnoty v jednotkách 1 %. Šablona je dělí číslem 100 pro rozsah analogového vstupu TapHome 0–1. Pokud se zobrazená hodnota zdá nesprávná, ověřte, že zařízení TapHome je nakonfigurováno jako analogový vstup (rozsah 0–1, ne 0–100).

Znaménková konvence výkonu sítě

Purchase/Feed to Grid (A:0x0046) používá znaménkovou konvenci, kde kladné hodnoty znamenají dodávku (export do sítě) a záporné hodnoty odběr (spotřebu ze sítě). Střídač tuto hodnotu získává ze svého elektroměru nebo CT, takže závisí na správně připojeném elektroměru nebo CT.

Rozdíly X1 a X3

Šablona čte výkon FV (A:0x000A a A:0x000B) místo registru výkonu sítě X1, takže měřič Daily/Actual Energy funguje stejně na modelech X1 i X3. Názvy poruch odpovídají tabulce X3 v protokolu SolaX. Na střídači X1 znamenají některé bity poruch jiné poruchy — bit 9 a většina bitů od bitu 15 výše (například bit 15 je na X1 Missed CT Fault, ale na X3 Off-grid Overload).

Dostupná zařízení 9

Tato zařízení se po importu zobrazí v TapHome.

SolaX X3-Hybrid G4 Modul
Servisní atributy
Run mode

SolaX X3-Hybrid G4

Čtení (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í atributy
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} Analogový vstup

${deviceType_BatterySOC}

Čtení vstupní úrovně
MODBUSR(A, 0x001C, UInt16) / 100
Battery Temperature Teplotní senzor

Battery Temperature

Čtení teploty
MODBUSR(A, 0x0018, Int16)
Daily/Actual Energy Elektroměr

Daily/Actual Energy

Čtení celkové spotřeby
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
Čtení odběru
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000
Charger Use Mode Vícestavový přepínač
Hodnoty / Stavy: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Charger Use Mode

Čtení stavu přepínače
MODBUSR(H, 0x008B, UInt16)
Zápis stavu přepínače
#MODBUSW(SH, 0x001F, Uint16, Mu)
Purchase/Feed to Grid Proměnná

Purchase/Feed to Grid

Čtení
MODBUSR(A, 0x0046, LittleEndianInt32) / 1000
PV1 Proměnná

PV1

Čtení
MODBUSR(A, 0x000A, UInt16) / 1000
PV2 Proměnná

PV2

Čtení
MODBUSR(A, 0x000B, UInt16) / 1000
SelfUse Night Charge Stmívač

SelfUse Night Charge

Inicializace
#MODBUSWNE(SH, 0x0062, Uint16, 1);
Čtení úrovně
MODBUSR(H, 0x0094, UInt16) / 100
Zápis úrovně
#MODBUSW(SH, 0x0063, Uint16, Le * 100)
Total Energy Proměnná

Total Energy

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

Parametry importu

Tyto hodnoty zadáte při importu XML.

Ptá se v aplikaciVýchozí
Modbus Slave ID1

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Šablona · portál TapHome SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU) Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu. Modbus RTU Zobrazit v portálu TapHome