
SolaX X1-HYBRID i X3-HYBRID Gen 4 to falowniki magazynowania energii obsługujące zarówno konfiguracje jednofazowe (3–7,5 kW), jak i trójfazowe (5–15 kW). Szablon TapHome komunikuje się przez Modbus RTU po RS-485, odczytując rejestry wejściowe i holding dla stanu naładowania baterii, mocy łańcucha PV, przepływu mocy sieciowej, sum energii, trybu ładowania i SOC ładowania nocnego. Wszystkie skrypty zapisu są zakomentowane, co czyni szablon efektywnie tylko do odczytu.
Szablon implementuje również kompleksowe wykrywanie usterek poprzez analizę 32-bitowych kodów błędów falownika i 16-bitowych kodów błędów menedżera, raportując poszczególne usterki jako błędy w TapHome.
Podłączenie sprzętu
Falownik SolaX Gen 4 zapewnia port COM RS-485 do komunikacji Modbus RTU na dolnym panelu. Port COM wykorzystuje złącze RJ45.

Przypisanie pinów terminala COM (RJ45):
| Pin | Przypisanie | Opis |
|---|---|---|
| 1 | Drycontact_A(in) | Podłączenie wyłącznika systemowego |
| 2 | Drycontact_B(in) | Podłączenie wyłącznika systemowego |
| 3 | +13V | — |
| 4 | 485A | RS-485 data+ (dla TapHome) |
| 5 | 485B | RS-485 data− (dla TapHome) |
| 6 | GND | Masa |
| 7 | Drycontact_A(out) | Podłączenie generatora |
| 8 | Drycontact_B(out) | Podłączenie generatora |
Podłącz TapHome do portu COM falownika:
- Pin 4 (485A) na porcie COM falownika do A+/D+ na RS-485 TapHome
- Pin 5 (485B) na porcie COM falownika do B-/D- na RS-485 TapHome
- Pin 6 (GND) — zalecany dla niezawodnej komunikacji
Falownik sam w sobie nie obsługuje natywnie Modbus TCP. Modbus TCP jest dostępny wyłącznie przez moduł monitorowania SolaX (dongle Wi-Fi) i nie jest używany przez szablon TapHome.
Dla instalacji, w których okablowanie RS-485 nie jest praktyczne, szablon SolaX Inverter (Cloud API) zapewnia monitoring przez platformę SolaxCloud za pośrednictwem HTTPS — bez fizycznego połączenia. Obsługuje wszystkie typy falowników SolaX, nie tylko Gen 4 Hybrid.
Niektóre rejestry holding są oznaczone ograniczoną liczbą cykli zapisu EEprom. Nadmierne operacje zapisu mogą spowodować nieodwracalne uszkodzenie sprzętu. Szablon TapHome ma wszystkie skrypty zapisu wyłączone, więc nie jest to problemem przy aktualnym szablonie.
Konfiguracja
Włączanie komunikacji Modbus
Modbus RTU jest domyślnie dostępny na porcie COM RS-485 falownika. Następujące parametry muszą być zgodne między falownikiem a modułem TapHome:
- Slave ID – domyślnie 1, konfigurowalne na wyświetlaczu falownika
- Baud rate – falownik domyślnie używa 19200 baud, ale szablon TapHome używa 9600 baud. Dostosuj jeden z nich, aby się zgadzały
- Format danych – 8 bitów danych, brak parzystości, 1 bit stopu
Konfiguracja na wyświetlaczu falownika: Menu > Setting > Advance Setting > Modbus. Ustaw adres slave i baud rate. Baud rate można również odczytać z rejestru holding H:0x00B0 i zapisać przez rejestr 0x00CA (wartości: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).
Aby uniknąć zmiany ustawień falownika, dostosuj baud rate w ustawieniach modułu TapHome do 19200, aby odpowiadał domyślnej wartości falownika.
Harmonogram komunikacji
Protokół wymaga minimalnego interwału 1 sekundy między kolejnymi instrukcjami Modbus i limitu czasu przerwy między znakami wynoszącego co najmniej 100 ms. Limit czasu odpowiedzi wynosi 1 sekundę. Szablon TapHome używa indywidualnych interwałów pollingu dla każdego urządzenia (od 2,5 s do 150 s), które spełniają te wymagania.
Funkcja portu COM RS-485
Rejestr H:0x013E (485CommFunSelect) określa, czy port RS-485 jest używany do komunikacji Modbus (wartość 0), czy do komunikacji ładowarki EV (wartość 1). Upewnij się, że jest ustawiony na 0 (Modbus 485) dla integracji TapHome.
Możliwości urządzenia
Monitorowanie baterii
- Battery SOC – odczytuje stan naładowania baterii (A:0x1C) jako procent. Surowa wartość rejestru w jednostkach 1% jest dzielona przez 100 dla zakresu wejścia analogowego TapHome 0–1 (np. 85% staje się 0,85)
- Battery Temperature – odczytuje temperaturę baterii (A:0x18) w stopniach Celsjusza. Polling co 80 sekund. Oficjalny szablon odczytuje rejestr jako liczbę bez znaku, więc temperatury poniżej 0 °C są wyświetlane błędnie (zobacz Znane błędy w oficjalnym szablonie poniżej)
Moc solarna PV
- PV1 Power – wyjście mocy DC z łańcucha PV 1 (A:0x0A), wyświetlane w kW po konwersji /1000 z watów
- PV2 Power – wyjście mocy DC z łańcucha PV 2 (A:0x0B), wyświetlane w kW po konwersji /1000 z watów
Moc sieciowa i pomiar energii
- Grid Feed-in Power – chwilowa moc sieciowa (A:0x46, LittleEndianInt32) w kW. Wartości dodatnie oznaczają eksport do sieci, wartości ujemne oznaczają pobór z sieci
- Daily / Actual Energy – w oficjalnym szablonie łączy dzienną energię z portu AC falownika (A:0x50, licznik zerowany każdej nocy) i moc sieciową jednofazowych modeli X1 (A:0x02). Obie wartości są błędne dla licznika energii typu produkcja fotowoltaiczna — zobacz Znane błędy w oficjalnym szablonie poniżej
- Total Energy – całkowita skumulowana produkcja energii z portu AC falownika (A:0x52). Rejestr liczy w jednostkach 0,1 kWh; oficjalny szablon dzieli przez 1000, więc wartość jest 100× za mała (zobacz Znane błędy w oficjalnym szablonie poniżej)
Tryb ładowania i ładowanie nocne
- Charger Use Mode – odczytuje aktywny tryb ładowania solarnego (H:0x8B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) lub Manual Mode (3). Wartości 4–9 są zarezerwowane. Rejestr zapisu (H:0x1F) istnieje w szablonie, ale jest zakomentowany, co czyni go tylko do odczytu
- Self-Use Night Charge SOC – odczytuje górną docelową wartość SOC dla ładowania nocnego w trybie Self-Use (H:0x94) jako procent. Rejestr zapisu (H:0x63) i rejestr włączania (H:0x62) są zakomentowane, więc konfiguracja ładowania nocnego nie może być zmieniana przez TapHome
Wykrywanie usterek
ReadScript na poziomie modułu monitoruje tryb pracy falownika (A:0x09) i dwa rejestry błędów:
- Run Mode usterki – wyzwala błąd, gdy Run Mode wynosi 3 (Usterka) lub 4 (Trwała usterka)
- Kody błędów falownika (A:0x40) – 32-bitowa bitmapa (najpierw młodsze słowo) analizowana dla 30 indywidualnych usterek, w tym usterek napięcia/częstotliwości sieci, usterek napięcia PV, usterek baterii, usterek izolacji, przegrzania, ochrony przed przeciążeniem, usterek przekaźnika i błędów komunikacji
- Kody błędów menedżera (A:0x43) – 16-bitowa bitmapa analizowana dla usterek typu mocy, błędów EEPROM, problemów z czujnikami NTC, ostrzeżeń temperatury baterii, usterek licznika i usterek wentylatora
Atrybut usługi Run Mode w module wyświetla bieżący stan falownika jako tekst: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle lub Standby.
Dodatkowe możliwości
Falownik udostępnia kompleksową mapę rejestrów z ponad 300 rejestrami holding i 200 rejestrami wejściowymi. Godne uwagi możliwości jeszcze nie zaimplementowane w szablonie obejmują monitorowanie napięcia i prądu na łańcuch PV (A:0x03–0x06), odczyty napięcia/prądu/mocy baterii, stan połączenia BMS, stan sieci on/off, X3 napięcie/prąd/moc sieciową na fazę (12 rejestrów w A:0x6A–0x75), skumulowaną energię oddaną do sieci i pobraną z sieci (przez licznik), całkowitą produkcję energii solarnej, SOC i SOH użytkownika BMS oraz minimalną/maksymalną temperaturę i napięcie ogniw baterii. Możliwości zapisu obejmują sterowanie włączaniem/wyłączaniem systemu, wybór trybu ładowania, ręczne wymuszenie ładowania/rozładowania, minimalne SOC rozładowania, konfigurację ładowania nocnego i zdalne sterowanie mocą z celami mocy czynnej/biernej. Można je dodać w przyszłej aktualizacji szablonu.
Oficjalny szablon odczytuje moc sieciową X1 (jednofazową) w A:0x02 jako moc swojego licznika energii. Poprawione skrypty poniżej odczytują zamiast tego produkcję PV, co działa tak samo w modelach X1 i X3.
Znane błędy w oficjalnym szablonie
Oficjalny szablon TapHome dla tego falownika błędnie odczytuje kilka rejestrów (sprawdzone na podstawie protokołu SolaX Modbus V3.21 i V001.02 oraz wartości w zainstalowanych systemach). Moduł zaimportowany z oficjalnego szablonu nie aktualizuje się sam po zmianie szablonu. Popraw ręcznie skrypty istniejącego modułu i jego urządzeń albo zaimportuj poprawiony szablon społeczności z portalu TapHome: SolaX X1/X3-Hybrid G4 — corrected monitoring (zaloguj się, pobierz XML i zaimportuj go jako nowy moduł).
| Gdzie | Oficjalny skrypt | Poprawiony skrypt | Skutek błędu |
|---|---|---|---|
| Moduł — ReadScript | var x3 := MODBUSR(A, 0x0040, Uint32); | var x3 := MODBUSR(A, 0x0040, LittleEndianUint32); | Dwie połowy 32-bitowego kodu błędu są zamienione: usterka w bicie 1 (Grid Lost Fault) jest zgłaszana jako bit 17 (Bat Power Low) |
| Total Energy | MODBUSR(A, 0x52, LittleEndianInt32) / 1000 | MODBUSR(A, 0x0052, LittleEndianUint32) / 10 | Wartość 100× za mała (rejestr liczy w jednostkach 0,1 kWh) |
| Daily / Actual Energy — całkowite zużycie | MODBUSR(A, 0x50, UInt16) /10 | MODBUSR(A, 0x0094, LittleEndianUint32) / 10 | 0x0050 to licznik dzienny, który każdej nocy spada do 0; 0x0094 to całkowita energia PV |
| Daily / Actual Energy — zapotrzebowanie | MODBUSR(A,0x02, Int16)/1000 | (MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000 | 0x0002 to moc sieciowa jednofazowych modeli X1, a nie produkcja PV; w wielu jednostkach X3 odczytuje 0 |
| Battery Temperature | MODBUSR(A,0x0018, UInt16) | MODBUSR(A, 0x0018, Int16) | Poniżej 0 °C oficjalny szablon pokazuje około 65535 °C |
| Prędkość interfejsu | 9600 baud | 19200 baud | 19200 to ustawienie fabryczne SolaX |
Z poprawionymi skryptami Daily / Actual Energy mierzy produkcję PV (PV1 + PV2), czyli to, czego oczekuje jego typ energii w Energy Dashboard. Poprawiony szablon społeczności, tak jak oficjalny, ma wszystkie zapisy wyłączone.
Rozwiązywanie problemów
Brak komunikacji z falownikiem
- Sprawdź połączenia kabla RS-485: A+ do A+, B- do B-, GND do GND
- Sprawdź, czy rejestr H:0x013E jest ustawiony na 0 (tryb Modbus 485, nie EV Charger)
- Potwierdź, że baud rate jest zgodny między falownikiem a TapHome – falownik domyślnie używa 19200, a szablon domyślnie 9600
- Sprawdź, czy Slave ID w TapHome odpowiada ustawieniu falownika (domyślnie: 1)
- Upewnij się, że żaden inny master Modbus nie jest podłączony do tego samego magistrali RS-485 – Modbus obsługuje tylko jednego mastera
Nieprawidłowy odczyt Battery SOC
Rejestr Battery SOC (A:0x1C) raportuje wartości w jednostkach 1%. Szablon dzieli przez 100 dla zakresu wejścia analogowego TapHome 0–1. Jeśli wyświetlana wartość wydaje się błędna, sprawdź, czy urządzenie TapHome jest skonfigurowane jako AnalogInput (zakres 0–1, nie 0–100).
Konwencja znaku mocy sieciowej
Grid Feed-in Power (A:0x46) używa konwencji znaku, gdzie wartości dodatnie oznaczają eksport (generowanie/oddawanie do sieci), a wartości ujemne oznaczają import (pobór z sieci). Rejestr mocy sieciowej Daily/Actual Energy (A:0x02) może również wykazywać wartości ujemne podczas poboru z sieci.
Różnice rejestrów X1 vs X3
Niektóre rejestry są specyficzne dla modelu. Napięcie sieci (A:0x00), prąd (A:0x01) i moc (A:0x02) to rejestry X1 jednofazowe. Dla trójfazowych modeli X3 odpowiednie odczyty na fazę znajdują się w A:0x6A–0x75. Szablon używa rejestru mocy sieciowej X1, który może nie raportować poprawnie na modelach X3.
