---
title: "SolaX Hybrid X1/X3 Gen 4"
description: "Integrazione degli inverter ad accumulo di energia SolaX X1-HYBRID e X3-HYBRID Gen 4 tramite Modbus RTU su RS-485."
url: "https://taphome.com/it/compatibility/solax-hybrid-x3-gen-4/"
language: it
lastmod: 2026-10-14
generator: hugo
ai:
  topics: ["modbus-rtu","inverter","rs485","solar","battery-storage","3-phase","energy-monitoring"]
  questions: ["Come integrare l'inverter SolaX Hybrid X3 Gen 4 con TapHome?","Cosa monitora il template TapHome per SolaX Hybrid Gen 4?","Come collegare l'inverter SolaX tramite RS-485 a TapHome?","Come configurare il baud rate Modbus RTU sull'inverter SolaX Gen 4?","Quali codici di errore rileva il template TapHome per SolaX Gen 4?","TapHome può controllare la modalità di ricarica SolaX o solo monitorarla?"]
---

# SolaX Hybrid X1/X3 Gen 4

Comunicazione: Modbus RTU

- [Sito ufficiale SolaX Power](https://www.solaxpower.com)

## Guida all'integrazione

I SolaX X1-HYBRID e X3-HYBRID Gen 4 sono inverter ad accumulo di energia che supportano configurazioni sia monofase (3--7,5 kW) che trifase (5--15 kW). Il template TapHome comunica tramite Modbus RTU su RS-485, leggendo registri di ingresso e holding per lo stato di carica della batteria, la potenza del string FV, il flusso di potenza dalla rete, i totali di energia, la modalità di ricarica e il SOC della carica notturna. Tutti gli script di scrittura sono commentati, rendendo il template di fatto in sola lettura.

Il template implementa inoltre un rilevamento completo dei guasti analizzando i codici di errore a 32 bit dell'inverter e i codici di errore a 16 bit del gestore, segnalando i singoli guasti come errori in TapHome.

## Collegamento hardware

L'inverter SolaX Gen 4 fornisce una porta COM RS-485 per la comunicazione Modbus RTU sul pannello inferiore. La porta COM utilizza un connettore RJ45.

![Pannello inferiore SolaX X3-HYBRID G4 — layout dei terminali con connessioni COM, BMS, Meter/CT, PV, BAT e GRID](https://taphome.com/images/compatibility/solax-hybrid-x3-gen-4/system-overview_hu_369f8976dd0be2fb.jpg)

Assegnazione dei pin del terminale COM (RJ45):

| Pin | Assegnazione | Descrizione |
|-----|-------------|-------------|
| 1 | Drycontact_A(in) | Connessione interruttore di sistema |
| 2 | Drycontact_B(in) | Connessione interruttore di sistema |
| 3 | +13V | — |
| 4 | **485A** | RS-485 data+ (per TapHome) |
| 5 | **485B** | RS-485 data− (per TapHome) |
| 6 | GND | Massa |
| 7 | Drycontact_A(out) | Connessione generatore |
| 8 | Drycontact_B(out) | Connessione generatore |

Collegare TapHome alla porta COM dell'inverter:

- **Pin 4 (485A)** sulla porta COM dell'inverter a **A+/D+** su RS-485 TapHome
- **Pin 5 (485B)** sulla porta COM dell'inverter a **B-/D-** su RS-485 TapHome
- **Pin 6 (GND)** — raccomandato per una comunicazione affidabile

> [!WARNING]
> L'inverter stesso non supporta nativamente Modbus TCP. Modbus TCP è disponibile solo tramite il modulo di monitoraggio SolaX (dongle Wi-Fi) e non viene utilizzato dal template TapHome.

> [!TIP]
> Per installazioni in cui il cablaggio RS-485 non è pratico, il template [SolaX Inverter (Cloud API)](https://taphome.com/it/compatibility/solax-inverter/) fornisce monitoraggio attraverso la piattaforma SolaxCloud via HTTPS — senza connessione fisica. Supporta tutti i tipi di inverter SolaX, non solo il Gen 4 Hybrid.

> [!WARNING]
> Alcuni registri holding sono contrassegnati con cicli di scrittura EEprom limitati. Le operazioni di scrittura eccessive possono causare danni hardware irreversibili. Il template TapHome ha tutti gli script di scrittura disabilitati, quindi non è un problema con il template attuale.

## Configurazione

### Abilitazione della comunicazione Modbus

Modbus RTU è disponibile di default sulla porta COM RS-485 dell'inverter. I seguenti parametri devono corrispondere tra l'inverter e il modulo TapHome:

1. **Slave ID** -- predefinito 1, configurabile sul display dell'inverter
2. **Baud rate** -- l'inverter usa per default **19200 baud**, ma il template TapHome usa **9600 baud**. Modificare uno dei due per farli corrispondere
3. **Formato dati** -- 8 bit dati, nessuna parità, 1 stop bit

Configurazione sul display dell'inverter: **Menu > Setting > Advance Setting > Modbus**. Impostare l'indirizzo slave e il baud rate. Il baud rate può essere letto anche dal registro holding H:0x00B0 e scritto tramite il registro 0x00CA (valori: 0=115200, 1=57600, 2=56000, 3=38400, 4=19200, 5=14400, 6=9600).

> [!TIP]
> Per evitare di modificare le impostazioni dell'inverter, regolare il baud rate nelle impostazioni del modulo TapHome a 19200 per corrispondere al valore predefinito dell'inverter.

### Temporizzazione della comunicazione

Il protocollo richiede un intervallo minimo di **1 secondo** tra le istruzioni Modbus consecutive e un timeout di gap tra caratteri di almeno 100 ms. Il timeout di risposta è 1 secondo. Il template TapHome utilizza intervalli di polling individuali per dispositivo (da 2,5 s a 150 s) che soddisfano questi requisiti.

### Funzione della porta COM RS-485

Il registro H:0x013E (485CommFunSelect) determina se la porta RS-485 viene utilizzata per la comunicazione Modbus (valore 0) o per la comunicazione del caricabatterie EV (valore 1). Assicurarsi che sia impostato su **0 (Modbus 485)** per l'integrazione TapHome.

## Funzionalità del dispositivo

### Monitoraggio della batteria

- **Battery SOC** -- legge lo stato di carica della batteria (A:0x1C) come percentuale. Il valore grezzo del registro in unità dell'1% viene diviso per 100 per l'intervallo di ingresso analogico TapHome 0--1 (es. 85% diventa 0,85)
- **Battery Temperature** -- legge la temperatura della batteria (A:0x18) in gradi Celsius. Polling ogni 80 secondi. Il template ufficiale legge il registro come valore senza segno, quindi le temperature inferiori a 0 °C vengono mostrate in modo errato (vedere Problemi noti nel template ufficiale più avanti)

### Potenza FV solare

- **PV1 Power** -- potenza DC di uscita dallo string FV 1 (A:0x0A), visualizzata in kW dopo la conversione /1000 da watt
- **PV2 Power** -- potenza DC di uscita dallo string FV 2 (A:0x0B), visualizzata in kW dopo la conversione /1000 da watt

### Potenza di rete e misurazione dell'energia

- **Grid Feed-in Power** -- potenza di rete istantanea (A:0x46, LittleEndianInt32) in kW. I valori positivi indicano l'esportazione in rete, i valori negativi indicano il consumo dalla rete
- **Daily / Actual Energy** -- nel template ufficiale combina l'energia giornaliera prodotta dalla porta AC dell'inverter (A:0x50, un contatore che si azzera ogni notte) e la potenza di rete dei modelli monofase X1 (A:0x02). Entrambi i valori sono errati per un contatore di energia di tipo produzione fotovoltaica — vedere Problemi noti nel template ufficiale più avanti
- **Total Energy** -- energia cumulativa totale prodotta dalla porta AC dell'inverter (A:0x52). Il registro conta in unità di 0,1 kWh; il template ufficiale divide per 1000, quindi il valore è 100× troppo piccolo (vedere Problemi noti nel template ufficiale più avanti)

### Modalità di ricarica e carica notturna

- **Charger Use Mode** -- legge la modalità del caricabatterie solare attiva (H:0x8B): Self Use Mode (0), Feedin Priority (1), Backup Mode (2) o Manual Mode (3). I valori 4--9 sono riservati. Il registro di scrittura (H:0x1F) esiste nel template ma è commentato, rendendolo in sola lettura
- **Self-Use Night Charge SOC** -- legge il target SOC superiore per la carica notturna in modalità Self-Use (H:0x94) come percentuale. Il registro di scrittura (H:0x63) e il registro di abilitazione (H:0x62) sono entrambi commentati, quindi la configurazione della carica notturna non può essere modificata tramite TapHome

### Rilevamento guasti

Lo ReadScript a livello di modulo monitora la modalità di esecuzione dell'inverter (A:0x09) e due registri di errore:

- **Run Mode** guasti -- attiva un errore quando Run Mode è 3 (Guasto) o 4 (Guasto Permanente)
- **Codici di errore dell'inverter** (A:0x40) -- bitmap a 32 bit (word meno significativa per prima) analizzata per 30 guasti individuali inclusi guasti di tensione/frequenza della rete, guasti di tensione FV, guasti della batteria, guasti di isolamento, sovratemperatura, protezione da sovracorrente, guasti dei relè ed errori di comunicazione
- **Codici di errore del gestore** (A:0x43) -- bitmap a 16 bit analizzata per guasti di tipo di potenza, errori EEPROM, problemi di sensori NTC, avvertimenti di temperatura della batteria, guasti del contatore e guasti della ventola

L'attributo di servizio Run Mode sul modulo visualizza lo stato corrente dell'inverter come testo: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle o Standby.

### Funzionalità aggiuntive

L'inverter espone una mappa di registri completa con oltre 300 registri holding e 200 registri di ingresso. Le funzionalità notevoli non ancora implementate nel template includono il monitoraggio di tensione e corrente per ogni string FV (A:0x03--0x06), letture di tensione/corrente/potenza della batteria, stato di connessione BMS, stato rete on/off, X3 tensione/corrente/potenza di rete per fase (12 registri a A:0x6A--0x75), energia cumulativa immessa e consumata dalla rete (tramite contatore), produzione totale di energia solare, SOC e SOH utente BMS, e temperatura e tensione minima/massima delle celle della batteria. Le funzionalità di scrittura includono il controllo accensione/spegnimento del sistema, selezione della modalità di ricarica, forza manuale di carica/scarica, SOC minimo di scarica, configurazione della carica notturna e controllo remoto della potenza con target di potenza attiva/reattiva. Questi possono essere aggiunti in un futuro aggiornamento del template.

> [!TIP]
> Il template ufficiale legge la potenza di rete X1 (monofase) in A:0x02 come potenza del suo contatore di energia. Gli script corretti riportati più avanti leggono invece la produzione FV, il che funziona allo stesso modo sui modelli X1 e X3.

## Problemi noti nel template ufficiale

Il template TapHome ufficiale per questo inverter legge diversi registri in modo errato (verificato sul protocollo Modbus SolaX V3.21 e V001.02 e sui valori di impianti installati). Un modulo importato dal template ufficiale **non si aggiorna da solo** quando il template cambia. È possibile correggere manualmente gli script del modulo esistente e dei suoi dispositivi, oppure importare il template della community corretto dal portale TapHome: [SolaX X1/X3-Hybrid G4 — corrected monitoring](https://portal.taphome.com/portal/community/solax-x3-hybrid-gen4-corrected-modbus-rtu) (accedere, scaricare l'XML e importarlo come nuovo modulo).

**[SolaX X1/X3-Hybrid G4 — corrected monitoring (Modbus RTU)](https://portal.taphome.com/it/portal/community/solax-x3-hybrid-gen4-corrected-modbus-rtu)** — SolaX, Modbus RTU. SolaX X1/X3-Hybrid G4 over Modbus RTU — the official Gen4 template with corrected readings (fault codes, total energy, PV meter, battery temperature); writes stay disabled.

| Dove | Script ufficiale | Script corretto | Effetto dell'errore |
|------|------------------|-----------------|---------------------|
| Modulo — ReadScript | `var x3 := MODBUSR(A, 0x0040, Uint32);` | `var x3 := MODBUSR(A, 0x0040, LittleEndianUint32);` | Le due metà del codice di guasto a 32 bit sono invertite: un guasto nel bit 1 (Grid Lost Fault) viene segnalato come bit 17 (Bat Power Low) |
| Total Energy | `MODBUSR(A, 0x52, LittleEndianInt32) / 1000` | `MODBUSR(A, 0x0052, LittleEndianUint32) / 10` | Valore 100× troppo piccolo (il registro conta in unità di 0,1 kWh) |
| Daily / Actual Energy — consumo totale | `MODBUSR(A, 0x50, UInt16) /10` | `MODBUSR(A, 0x0094, LittleEndianUint32) / 10` | 0x0050 è un contatore giornaliero che ogni notte scende a 0; 0x0094 è l'energia FV totale |
| Daily / Actual Energy — potenza | `MODBUSR(A,0x02, Int16)/1000` | `(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16)) / 1000` | 0x0002 è la potenza di rete dei modelli monofase X1, non la produzione FV; su molte unità X3 legge 0 |
| Battery Temperature | `MODBUSR(A,0x0018, UInt16)` | `MODBUSR(A, 0x0018, Int16)` | Sotto 0 °C il template ufficiale mostra circa 65535 °C |
| Velocità dell'interfaccia | 9600 baud | 19200 baud | 19200 è il valore di fabbrica di SolaX |

Con gli script corretti, Daily / Actual Energy misura la produzione FV (PV1 + PV2), cioè ciò che si aspetta il suo tipo di energia nell'Energy Dashboard. Il template della community corretto mantiene disabilitate tutte le scritture, come quello ufficiale.

## Risoluzione dei problemi

### Nessuna comunicazione con l'inverter

1. Verificare i collegamenti del cavo RS-485: A+ ad A+, B- a B-, GND a GND
2. Controllare che il registro H:0x013E sia impostato a 0 (modalità Modbus 485, non EV Charger)
3. Confermare che il baud rate corrisponda tra inverter e TapHome -- l'inverter ha come default 19200 mentre il template ha come default 9600
4. Verificare che lo Slave ID in TapHome corrisponda all'impostazione dell'inverter (default: 1)
5. Assicurarsi che nessun altro master Modbus sia collegato allo stesso bus RS-485 -- Modbus supporta solo un singolo master

### Lettura Battery SOC errata

Il registro Battery SOC (A:0x1C) riporta valori in unità dell'1%. Il template divide per 100 per l'intervallo di ingresso analogico TapHome 0--1. Se il valore visualizzato sembra errato, verificare che il dispositivo TapHome sia configurato come AnalogInput (intervallo 0--1, non 0--100).

### Convenzione dei segni della potenza di rete

Grid Feed-in Power (A:0x46) utilizza una convenzione dei segni in cui i valori positivi significano esportazione (generazione/immissione in rete) e i valori negativi significano importazione (consumo dalla rete). Il registro della potenza di rete Daily/Actual Energy (A:0x02) può anche mostrare valori negativi durante il consumo dalla rete.

### Differenze tra registri X1 e X3

Alcuni registri sono specifici del modello. Tensione di rete (A:0x00), corrente (A:0x01) e potenza (A:0x02) sono registri X1 monofase. Per i modelli X3 trifase, le corrispondenti letture per fase si trovano in A:0x6A--0x75. Il template utilizza il registro di potenza di rete X1, che potrebbe non riportare correttamente sui modelli X3.

## Dispositivi disponibili 9

Questi dispositivi compaiono in TapHome dopo l'importazione.

SolaX Hybrid Gen 4 Modulo

Attributi di servizio

|                    |                                                                                                                                                    |
|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|
| Modalità operativa | Stato operativo dell'inverter — Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby |

Lettura (modulo)

```taphome
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"));
```

Attributi di servizio

Run Mode

```taphome
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 batteria Ingresso analogico Solo lettura

Stato di carica della batteria in percentuale (0–100%) — visualizzato come ingresso analogico 0–1 in TapHome

Registro: A:0x1C UInt16 Unità: % numeric

Lettura livello ingresso

```taphome
MODBUSR(A, 0x1C, UInt16)/100
```

Temperatura batteria Sensore di temperatura Solo lettura

Registro: A:0x18 UInt16 Unità: °C numeric

Lettura temperatura

```taphome
MODBUSR(A,0x0018, UInt16)
```

Energia giornaliera / attuale Contatore elettrico Solo lettura

Template ufficiale: energia giornaliera dell'inverter (0x0050, si azzera ogni notte) e potenza di rete dei modelli X1 (0x0002) — entrambe errate per un contatore di produzione FV; gli script corretti leggono la potenza PV1 + PV2 e l'energia FV totale (0x0094)

Registro: A:0x50, A:0x02 UInt16, Int16 Unità: kWh / kW numeric

Lettura consumo totale

```taphome
MODBUSR(A, 0x50, UInt16) /10
```

Lettura domanda

```taphome
MODBUSR(A,0x02, Int16)/1000
```

Modalità di ricarica Interruttore multivalore Solo lettura

Modalità del caricabatterie solare attiva — Self Use, Feedin Priority, Backup o Manual (sola lettura)

Registro: H:0x8B → H:0x1F UInt16 numeric

Valori / Stati: Self Use Mode · Feedin Priority · Backup Mode · Manual Mode

Lettura stato interruttore

```taphome
MODBUSR(H, 0x008B, Uint16)
```

Scrittura stato interruttore

```taphome
#MODBUSW(H, 0x001F, uint16, Mu)
```

Potenza immessa in rete Variabile Solo lettura

Potenza di rete istantanea in kW — valori positivi indicano esportazione, valori negativi indicano importazione

Registro: A:0x46 LittleEndianInt32 Unità: kW numeric

Lettura

```taphome
MODBUSR(A, 0x46,LittleEndianInt32)/1000
```

Potenza PV1 Variabile Solo lettura

Registro: A:0x0A UInt16 Unità: kW numeric

Lettura

```taphome
MODBUSR(A,0x0a, UInt16)/1000
```

Potenza PV2 Variabile Solo lettura

Registro: A:0x0B UInt16 Unità: kW numeric

Lettura

```taphome
MODBUSR(A,0x0b, UInt16)/1000
```

SOC carica notturna (autoconsumo) Dimmer Solo lettura

Target SOC superiore per la carica notturna in modalità autoconsumo (sola lettura, 10–100%)

Registro: H:0x94 → H:0x63 UInt16 Unità: % numeric

Inizializzazione

```taphome
#MODBUSWNE(H, 0x0062, Uint16, 1);
```

Lettura livello

```taphome
MODBUSR(H, 0x0094, Uint16) / 100
```

Scrittura livello

```taphome
#MODBUSW(H, 0x0063, Uint16, Le * 100)
```

Energia totale Variabile Solo lettura

Energia totale prodotta dalla porta AC dell'inverter (0x0052, 0,1 kWh). Il template ufficiale divide per 1000 — il valore è 100× troppo piccolo; il divisore corretto è 10 (kWh)

Registro: A:0x52 LittleEndianInt32 Unità: kWh numeric

Lettura

```taphome
MODBUSR(A, 0x52,LittleEndianInt32) / 1000
```

**Connessione:** Modbus RTU • 9600 baud• 8N1 • Slave ID: $\[SlaveId]

Possibili miglioramenti (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

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app | Predefinito   |
|--------------------|---------------|
| Slave ID           | `1`           |
| Indirizzo IP       | `192.168.1.0` |

## Fonti

- SolaX Hybrid X1/X3 Gen 4 — Modbus TCP & RTU Communication Protocol V3.21
  
  [www.gbc-solino.cz](https://www.gbc-solino.cz/files/uploads/FAQ%20SolaX/Hybrid-X1X3-G4-ModbusTCPRTU-V3.21-English_0622-public-version.pdf) 2026-03-28
  
  [PDF](https://taphome.com/compatibility/devices/solax-hybrid-x3-gen-4/manufacturer/Hybrid-X1X3-G4-ModbusTCPRTU-V3.21.pdf)
- SolaX X3-Hybrid G4 Series User Manual V7 (Installation & Wiring)
  
  [www.solaxpower.com](https://www.solaxpower.com/uploads/file/x3-hybrid-g4-series-user-manual-v7-en.pdf) 2026-03-28
  
  [PDF](https://taphome.com/compatibility/devices/solax-hybrid-x3-gen-4/manufacturer/x3-hybrid-g4-user-manual-v7.pdf)
- Home Assistant SolaX Modbus Integration — Gen4 Register Map
  
  [github.com](https://github.com/wills106/homeassistant-solax-modbus) 2026-03-28
- SolaX KB: How to Get Device Data by Modbus TCP
  
  [kb.solaxpower.com](https://kb.solaxpower.com/solution/detail/ff8080818407e2a701840a22dec20032) 2026-03-28

I documenti del produttore sono © dei rispettivi proprietari. Sono forniti così come pubblicati dal produttore, solo a titolo informativo.

## Documentazione correlata

- [Modbus Integration](https://taphome.com/it/compatibility/modbus-guide/)
- [Modbus - Configurazione](https://taphome.com/it/docs/integration/modbus/)
- [Configurazione semplice utilizzando modelli](https://taphome.com/it/docs/integration/modbus/templates/)
- [Script Modbus e prefetch](https://taphome.com/it/docs/script/modbus-scripts/)
- [Funzioni Modbus](https://taphome.com/it/docs/script/modbus/)
- [Tipi di dati Modbus](https://taphome.com/it/docs/script/modbus-data-types/)

