
Il SolaX X3 Hybrid Ultra (Gen5) è un inverter ibrido fotovoltaico/batteria trifase con potenza nominale da 10 kW a 30 kW. Il template TapHome comunica con l’inverter tramite Modbus RTU sulla porta COM 1 RS-485 (pin REMOTE_485A / REMOTE_485B) e implementa la mappa registri del protocollo SolaX Modbus V3.29. Legge la potenza delle stringhe FV, lo stato di carica e la temperatura della batteria, la tensione e la frequenza di rete trifase, i totali energetici cumulativi e giornalieri, la potenza di immissione dal contatore esterno, ed espone la modalità di ricarica, il SOC di carica notturna (autoconsumo) e il limite massimo di potenza di immissione in scrittura.
L’X3-Ultra non supporta Modbus TCP nativamente — il TCP è disponibile solo tramite un modulo di monitoraggio SolaX (Pocket WiFi 3.0, Pocket LAN o DataHub) che fa da bridge RTU a TCP sulla porta 502. Per installazioni remote TapHome può anche essere collegato tramite un gateway RS-485-Ethernet di terze parti (ad es. Waveshare, USR-DR302) configurato come Modbus RTU-over-TCP.
Modelli
Il template TapHome copre l’intera serie X3-Ultra. I sensori PV3 e Batteria 2 SOC sono funzionali solo sulla variante a 3-MPPT / doppia batteria da 30 kW.
| Modello | Potenza AC nominale | Tracker MPPT | Note |
|---|---|---|---|
| X3-ULT-15K | 15 kW | 2 | 2-MPPT standard |
| X3-ULT-15KP | 15 kW | 3 | 3-MPPT (codice modello H3BC) |
| X3-ULT-19.9K | 19,9 kW | 2 | 2-MPPT standard |
| X3-ULT-20K | 20 kW | 2 | 2-MPPT standard (codice modello H3BD) |
| X3-ULT-20KP | 20 kW | 3 | 3-MPPT |
| X3-ULT-25K | 25 kW | 3 | Codice modello H3BF |
| X3-ULT-25KW | 25 kW | 3 | — |
| X3-ULT-30K | 30 kW | 3 | Doppia batteria, PV3 attivo (codice modello H3BG) |
| X3-ULT-10K-GLV | 10 kW | — | Variante a bassa tensione (GLV) |
| X3-ULT-15K-GLV | 15 kW | — | Variante a bassa tensione (GLV) |
Il codice modello può essere letto a runtime tramite l’attributo del modulo Model (registro H:0x000E, stringa ASCII di 4 caratteri).
Ambito di compatibilità
Il template implementa il sottoinsieme del protocollo SolaX Modbus V3.29 più comunemente utilizzato per la gestione energetica domestica — 19 dispositivi, 2 attributi di servizio a livello di modulo e un’azione di servizio. Il protocollo completo espone molti più registri; le capacità non implementate più utili (potenza e corrente di rete per fase, tensione/corrente/potenza della batteria, stato BMS, tempo di funzionamento off-grid, controllo remoto della potenza, ecc.) sono elencate nella sezione Possibili miglioramenti più sotto.
Connessione hardware
L’X3-Ultra ha una sola porta COM 1 multifunzione (connettore in stile RJ45 con fissaggio del cavo etichettato). Gli stessi pin fisici svolgono funzioni diverse a seconda della posizione etichettata sul fissaggio del cavo in cui si effettua il cablaggio. Per l’integrazione Modbus di terze parti utilizzare la posizione RS485 — le linee REMOTE_485A e REMOTE_485B.
Pinout della porta COM 1

Assegnazione pin della posizione RS485 (l’unica posizione rilevante per TapHome):
| Pin | Segnale | Cablaggio TapHome |
|---|---|---|
| 1 | REMOTE_485A | A+ / D+ |
| 2 | REMOTE_485B | B− / D− |
| 3 | PARALLEL_485AA | non utilizzare (solo accessori SolaX) |
| 4 | PARALLEL_485AA | non utilizzare (solo accessori SolaX) |
| 5 | PARALLEL_485BB | non utilizzare (solo accessori SolaX) |
| 6 | PARALLEL_485BB | non utilizzare (solo accessori SolaX) |
| 7 | REMOTE_485A | duplicato del pin 1 (per daisy-chain) |
| 8 | REMOTE_485B | duplicato del pin 2 (per daisy-chain) |
I pin 3–6 appartengono al canale PARALLEL_485 proprietario SolaX e sono riservati agli accessori SolaX (Adapter Box G2, EV-Charger, DataHub, inverter in parallelo). Non collegare un master Modbus di terze parti a questi pin.
I vecchi inverter SolaX (Gen4 X3-Hybrid) utilizzavano pin 4 = 485A e pin 5 = 485B. Il pinout della porta COM 1 dell’X3-Ultra è diverso — prima della crimpatura verificare sempre l’etichettatura del fissaggio del cavo sulla propria unità. Alcuni documenti della community fanno ancora riferimento al pinout Gen4 più vecchio.
Cablaggio RS-485

Regole di cablaggio dal manuale utente dell’X3-Ultra (sezione 8.6.4):
- Tipo di cavo: doppino intrecciato UTP Cat5 o Cat6 standard
- Lunghezza massima: 30 m di cavo RS-485 tra l’inverter e il CCU TapHome
- La polarità conta: se non c’è comunicazione, scambiare A e B
- Master Modbus singolo: sul bus è ammesso un solo master. Se un modulo di monitoraggio SolaX condivide la linea, prevedere conflitti
Il fissaggio del cavo COM 1 ha posizioni etichettate dedicate per ogni canale — collegare il cavo Cat5/Cat6 nello slot etichettato RS485 (non in Parallel-1, Parallel-2, BMS-1, BMS-2 o DRM).
Opzioni di connessione
- CCU Modbus RTU diretto: collegare la coppia RS485 della porta COM 1 direttamente al CCU Modbus RTU di TapHome. Latenza minima, raccomandato per il controllo in tempo reale.
- Gateway RS-485-Ethernet (Modbus RTU-over-TCP): per installazioni in cui l’inverter è lontano dal TapHome Core, utilizzare un gateway Waveshare RS485-Ethernet, USR-DR302 o simile configurato come Modbus RTU-over-TCP sulla porta 502. Il parametro di importazione
IpAddressdel template lo permette. - SolaX Pocket WiFi 3.0 / Pocket LAN / DataHub (Modbus TCP): se il modulo di monitoraggio SolaX è già installato, fa da bridge RTU a TCP sulla porta 502 con un ciclo di interrogazione di circa 1 secondo — più lento del RTU diretto e non raccomandato per loop di controllo in tempo reale.
Configurazione
Abilitazione della comunicazione Modbus sull’inverter
Sul display LCD dell’inverter navigare a:
| |
Il menu Advanced Settings può richiedere una password installatore. Verificare o impostare quanto segue:
| Parametro | Default template TapHome | Default inverter | Intervallo |
|---|---|---|---|
| Indirizzo Modbus (Slave ID) | 1 | 1 | 1–255 |
| Baud rate | 19200 | 19200 | 9600 / 19200 / 38400 / 57600 / 115200 |
| Parità | None | None | None / Odd / Even |
| Bit di dati | 8 | 8 | — |
| Bit di stop | 1 | 1 | 1 o 2 |
Il baud rate deve corrispondere tra inverter e TapHome. Il protocollo V3.29 specifica 19200 come default X3-Ultra; alcuni template SolaX e documentazione più vecchi menzionano ancora 9600. Se la comunicazione fallisce, controllare prima il baud rate.
L’inverter può anche esporre l’indirizzo slave Modbus tramite il registro holding H:0x00AC e il baud rate tramite il registro holding H:0x00AD.
Parametri di importazione in TapHome
Quando si importa il template in TapHome, devono essere impostati due parametri:
| Parametro | Scopo |
|---|---|
| IpAddress | Indirizzo IP del gateway RS-485-TCP (o del modulo di monitoraggio SolaX Pocket WiFi / LAN). Lasciare il valore predefinito se l’inverter è collegato direttamente al CCU Modbus RTU di TapHome. |
| SlaveId | Indirizzo slave Modbus dell’inverter (default 1). Deve corrispondere all’impostazione Modbus Address dell’inverter. |
Tempistica delle comunicazioni
Il protocollo SolaX Modbus richiede un intervallo minimo tra richieste successive e utilizza intervalli di interrogazione individuali per ciascun dispositivo nel template (da pochi secondi per tensione/frequenza di rete fino a 80 s per la temperatura della batteria). Non interrogare aggressivamente alcun dispositivo — l’inverter limita internamente le richieste.
Funzionalità dei dispositivi
Monitoraggio batteria
- Batteria 1 SOC — stato di carica della batteria primaria come ingresso analogico 0–1 (registro grezzo in unità di 1 %, diviso per 100 per l’intervallo TapHome 0–1)
- Batteria 2 SOC — stato di carica della seconda batteria, funzionante solo sulla X3-ULT-30K variante a doppia batteria; gli altri modelli leggono 0
- Temperatura batteria — temperatura del pacco batteria in °C, interrogata ogni 80 secondi
Potenza solare FV
- Potenza PV1 (est) — potenza DC dalla stringa FV 1 in kW
- Potenza PV2 (est) — potenza DC dalla stringa FV 2 in kW
- Potenza PV3 (ovest) — potenza DC dalla stringa FV 3 in kW, funzionante solo sui modelli a 3-MPPT (X3-ULT-30K); gli altri modelli leggono 0
I suffissi „est" / „ovest" sono una convenzione di denominazione direzionale ereditata dal template slovacco originale — il numero della stringa FV corrisponde all’ingresso MPPT fisico sull’inverter, non all’orientamento effettivo dell’array.
Misurazione rete ed energia
- Tensione di rete L1 / L2 / L3 — tensione di rete per fase in volt (registri
A:0x006A,A:0x006E,A:0x0072) - Frequenza di rete L1 / L2 / L3 — frequenza di rete per fase in hertz (registri
A:0x006D,A:0x0071,A:0x0075) - Potenza immessa in rete (contatore) — potenza istantanea di immissione dal contatore SolaX esterno / CT in kW; positivo = esportazione, negativo = importazione
- Potenza importazione / esportazione rete — alias della Potenza immessa in rete (stesso registro sottostante
A:0x0046); mantenuto per compatibilità con la nomenclatura legacy - Produzione inverter giornaliera / attuale — combina l’energia odierna immessa in rete (kWh, registro
A:0x0050) con la potenza di rete in tempo reale dell’inverter (kW, registroA:0x0002) - Energia totale prodotta — energia cumulativa totale fornita dalla porta AC dell’inverter alla rete, in kWh
Controllo carica e immissione (scrivibili)
- Modalità di ricarica — modalità operativa del caricabatteria: Self Use, Feed-in Priority, Backup o Manual
- SOC carica notturna (autoconsumo) — target SOC superiore (10–100 %) per la carica della batteria dalla rete durante la notte in modalità autoconsumo
- Limite max. potenza immissione — potenza massima di esportazione consentita in percentuale della capacità nominale (10–100 %)
Si applica il limite di scrittura EEprom a tutti e tre i dispositivi scrivibili sopra (Modalità di ricarica →
SH:0x001F, SOC carica notturna →SH:0x0063, Max potenza immissione →SH:0x0042). I registri sottostanti sono basati su EEprom con cicli di scrittura limitati — scritture frequenti (ogni pochi secondi in un loop di automazione) danneggiano permanentemente l’EEprom dell’inverter. Utilizzare solo modifiche manuali o scritture programmate a bassa frequenza.
Attributi e azioni a livello di modulo
- Modalità operativa (attributo di servizio) — stato operativo dell’inverter come testo: Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby
- Modello (attributo di servizio) — codice modello dell’inverter come stringa ASCII a 4 caratteri (H3BC = 15K/15KP, H3BD = 19,9K/20K/20KP, H3BF = 25K, H3BG = 30K)
- Sblocca admin (azione di servizio) — scrive la costante
2014inSH:0x0000per sbloccare le impostazioni avanzate dell’inverter (raramente necessario, solo per diagnostica)
Rilevamento errori
Il ReadScript del modulo monitora il registro Modalità operativa (A:0x0009) e segnala un errore di sistema TapHome quando l’inverter entra nello stato 3 (Fault) o 4 (Permanent Fault). Due registri di errore vengono analizzati bit per bit:
- Codici errore inverter (32 bit,
A:0x0040–A:0x0041) — 31 errori individuali tra cui errori di tensione/frequenza di rete, errori di tensione FV, errori della batteria, errori di isolamento, sovratemperatura, protezione da sovracorrente, errori di relè ed errori di comunicazione - Codici errore Manager (16 bit,
A:0x0043) — 11 bit di errore tra cui errori di tipo potenza, errori EEPROM, problemi sensore NTC, avvisi temperatura batteria, errori contatore ed errori ventola
I singoli errori appaiono come errori discreti nel registro di sistema TapHome, in modo che gli installatori possano individuare il sottosistema in errore senza dover leggere il display LCD dell’inverter.
Risoluzione dei problemi
Nessuna comunicazione con l’inverter
- Verificare che il cablaggio RS-485 sia sui pin REMOTE_485A / REMOTE_485B (1+2 o 7+8 sulla posizione RS485 della COM 1), non sui pin PARALLEL_485 3–6
- Verificare che il baud rate corrisponda tra inverter (
Menu → Setting → Advance Setting → Modbus) e modulo TapHome — entrambi devono essere 19200 per impostazione predefinita - Confermare che lo Slave ID corrisponda (default
1) - Verificare che solo un master Modbus sia collegato al bus RS-485 — Modbus non supporta multi-master
- Scambiare i cavi A e B se la polarità del cavo è incerta
- Confermare che il cavo non superi 30 m di lunghezza totale RS-485
PV3 o Batteria 2 SOC legge zero
Questi dispositivi sono funzionanti solo sull’X3-ULT-30K (variante 3-MPPT / doppia batteria). Sui modelli più piccoli i registri A:0x0124 (potenza PV3) e A:0x012D (Batteria 2 SOC) restituiscono zero. Nascondere i dispositivi non utilizzati nell’interfaccia TapHome per installazioni non 30K.
La temperatura della batteria legge un valore inaspettatamente alto
Il registro di temperatura della batteria (A:0x0018) viene letto come UInt16 dal template, ma il valore sottostante è in realtà con segno. Le temperature sotto lo zero (ad es. −1 °C) si arrotolano a grandi valori positivi (ad es. 65535). In climi in cui la batteria può scendere sotto 0 °C, trattare qualsiasi valore superiore a ~1000 °C come una lettura negativa.
Le scritture in Modalità di ricarica / SOC carica notturna / Max immissione non hanno effetto
Questi registri sono basati su EEprom e l’inverter limita le scritture per proteggere l’EEprom. Assicurarsi che le scritture siano infrequenti (manuali o pianificate, non in un loop di automazione stretto). Alcune versioni firmware richiedono inoltre che la Modalità di ricarica sia impostata su Manual (3) prima che certe sub-modalità di forza-carica / forza-scarica rispondano.
Il Modbus TCP tramite modulo di monitoraggio SolaX è lento
Il Pocket WiFi 3.0 / Pocket LAN / DataHub fa da bridge RTU a TCP con un ciclo di interrogazione di circa 1 secondo e gestisce solo un client Modbus TCP alla volta. Se anche il monitoraggio SolaX Cloud sta estraendo dati, prevedere conflitti. Per il controllo in tempo reale (risposta in frequenza, peak shaving) utilizzare Modbus RTU diretto o un gateway RS-485-Ethernet di terze parti dedicato.
