TapHome

SolaX X3 Hybrid Ultra

Modbus RTU
Inviato da
Ultimo aggiornamento: 06. 2026
SolaX X3 Hybrid Ultra

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.

ModelloPotenza AC nominaleTracker MPPTNote
X3-ULT-15K15 kW22-MPPT standard
X3-ULT-15KP15 kW33-MPPT (codice modello H3BC)
X3-ULT-19.9K19,9 kW22-MPPT standard
X3-ULT-20K20 kW22-MPPT standard (codice modello H3BD)
X3-ULT-20KP20 kW33-MPPT
X3-ULT-25K25 kW3Codice modello H3BF
X3-ULT-25KW25 kW3
X3-ULT-30K30 kW3Doppia batteria, PV3 attivo (codice modello H3BG)
X3-ULT-10K-GLV10 kWVariante a bassa tensione (GLV)
X3-ULT-15K-GLV15 kWVariante 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 porta COM 1 SolaX X3-Ultra per tutte e sei le posizioni etichettate (Parallel-1, Parallel-2, BMS-1, BMS-2, RS485, DRM)

Assegnazione pin della posizione RS485 (l’unica posizione rilevante per TapHome):

PinSegnaleCablaggio TapHome
1REMOTE_485AA+ / D+
2REMOTE_485BB− / D−
3PARALLEL_485AAnon utilizzare (solo accessori SolaX)
4PARALLEL_485AAnon utilizzare (solo accessori SolaX)
5PARALLEL_485BBnon utilizzare (solo accessori SolaX)
6PARALLEL_485BBnon utilizzare (solo accessori SolaX)
7REMOTE_485Aduplicato del pin 1 (per daisy-chain)
8REMOTE_485Bduplicato 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
Installazione del terminale RJ45 nella posizione RS485 del fissaggio del cavo COM 1

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 IpAddress del 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:

1
Menu → Setting → Advance Setting → Modbus

Il menu Advanced Settings può richiedere una password installatore. Verificare o impostare quanto segue:

ParametroDefault template TapHomeDefault inverterIntervallo
Indirizzo Modbus (Slave ID)111–255
Baud rate19200192009600 / 19200 / 38400 / 57600 / 115200
ParitàNoneNoneNone / Odd / Even
Bit di dati88
Bit di stop111 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:

ParametroScopo
IpAddressIndirizzo 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.
SlaveIdIndirizzo 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, registro A: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 2014 in SH:0x0000 per 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:0x0040A: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
  1. 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
  2. Verificare che il baud rate corrisponda tra inverter (Menu → Setting → Advance Setting → Modbus) e modulo TapHome — entrambi devono essere 19200 per impostazione predefinita
  3. Confermare che lo Slave ID corrisponda (default 1)
  4. Verificare che solo un master Modbus sia collegato al bus RS-485 — Modbus non supporta multi-master
  5. Scambiare i cavi A e B se la polarità del cavo è incerta
  6. 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.

Dispositivi disponibili

SolaX X3 Hybrid Ultra Modulo
Attributi di servizio
Modalità operativaStato operativo dell'inverter — Waiting, Checking, Normal, Fault, Permanent Fault, Update, Off-grid waiting, Off-grid, Self Testing, Idle, Standby
ModelloCodice modello dell'inverter come stringa ASCII a 4 caratteri (H3BC = 15K/15KP, H3BD = 19,9K/20K/20KP, H3BF = 25K, H3BG = 30K)
Azioni di servizio
Sblocca adminScrive la costante 2014 nel registro SH:0x0000 per sbloccare le impostazioni avanzate dell'inverter — raramente necessario, solo per diagnostica

FVE SOLAX Hybrid Ultra

Lettura (modulo)
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
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"
);
Model
MODBUSR(H, 14, String, 4)
Azioni di servizio
Unlock admin
MODBUSW(SH, 0x0000, Uint16, 2014);
SOC batteria 1 Ingresso analogico Solo lettura

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

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

SOC batteria 1

Lettura livello ingresso
MODBUSR(A, 0x1C, UInt16)/100
SOC batteria 2 Ingresso analogico Solo lettura

Stato di carica della seconda batteria in percentuale — funzionante solo nella variante X3-ULT-30K a doppia batteria; gli altri modelli leggono 0

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

SOC batteria 2

Lettura livello ingresso
MODBUSR(A, 0x012D, Uint16) / 100
Energia totale prodotta Variabile Solo lettura

Energia cumulativa totale fornita dalla porta AC dell'inverter alla rete, in kWh

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

Energia totale prodotta

Lettura
MODBUSR(A, 0x52,LittleEndianInt32) / 10
Produzione inverter giornaliera / attuale Contatore elettrico Solo lettura

Contatore elettrico che combina l'energia odierna immessa in rete (kWh) e la potenza di rete in tempo reale (kW); potenza di rete positiva indica esportazione dall'inverter

Registro: A:0x0050, A:0x0002 UInt16, Int16 Unità: kWh / kW numeric

Produzione inverter giornaliera / attuale

Lettura consumo totale
MODBUSR(A, 0x50, UInt16) /10
Lettura domanda
MODBUSR(A,0x02, Int16)/1000
Potenza immessa in rete (contatore) Variabile Solo lettura

Potenza di rete in tempo reale misurata dal contatore SolaX esterno o dalla pinza CT; valori positivi indicano esportazione in rete, valori negativi indicano importazione

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

Potenza immessa in rete (contatore)

Lettura
MODBUSR(A,0x0046, Int32)/1000
Frequenza di rete L1 Variabile Solo lettura
Registro: A:0x006D Int16 Unità: Hz numeric

Frequenza di rete L1

Lettura
MODBUSR(A, 0x006D, Int16)/100
Frequenza di rete L2 Variabile Solo lettura
Registro: A:0x0071 Int16 Unità: Hz numeric

Frequenza di rete L2

Lettura
MODBUSR(A,0x0071, Int16)/100
Frequenza di rete L3 Variabile Solo lettura
Registro: A:0x0075 Int16 Unità: Hz numeric

Frequenza di rete L3

Lettura
MODBUSR(A,0x0075, Int16)/100
Modalità di ricarica Interruttore multivalore

Modalità operativa del caricabatterie — Self Use, Feed-in Priority, Backup o Manual. La scrittura è basata su EEprom: non modificare frequentemente da automazioni

Registro: H:0x008BSH:0x001F UInt16 numeric
Valori / Stati: ON · OFF

Modalità di ricarica

Lettura stato interruttore
MODBUSR(H, 0x008B, Uint16)
Scrittura stato interruttore
MODBUSW(SH, 0x001F, uint16, Mu)
Tensione di rete L1 Variabile Solo lettura
Registro: A:0x006A Int16 Unità: V numeric

Tensione di rete L1

Lettura
MODBUSR(A,0x006A, Int16)/10
Tensione di rete L2 Variabile Solo lettura
Registro: A:0x006E Int16 Unità: V numeric

Tensione di rete L2

Lettura
MODBUSR(A, 0x006E, Int16)/10
Tensione di rete L3 Variabile Solo lettura
Registro: A:0x0072 Int16 Unità: V numeric

Tensione di rete L3

Lettura
MODBUSR(A,0x0072, Int16)/10
Potenza importazione / esportazione rete Variabile Solo lettura

Potenza di immissione / consumo dalla rete in tempo reale dal contatore esterno; valori positivi indicano esportazione, valori negativi indicano importazione. Legge lo stesso registro della Potenza immessa in rete

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

Potenza importazione / esportazione rete

Lettura
MODBUSR(A, 0x46,LittleEndianInt32)/1000
Potenza PV1 (est) Variabile Solo lettura

Potenza DC dalla stringa PV 1, tipicamente l'array rivolto a est nella nomenclatura originale del template slovacco

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

Potenza PV1 (est)

Lettura
MODBUSR(A,0x0a, UInt16)/1000
Potenza PV2 (est) Variabile Solo lettura

Potenza DC dalla stringa PV 2, tipicamente l'array rivolto a est nella nomenclatura originale del template slovacco

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

Potenza PV2 (est)

Lettura
MODBUSR(A,0x0b, UInt16)/1000
Potenza PV3 (ovest) Variabile Solo lettura

Potenza DC dalla stringa PV 3 — funzionante solo nella variante X3-ULT-30K a 3 MPPT; gli altri modelli leggono 0

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

Potenza PV3 (ovest)

Lettura
MODBUSR(A, 0x0124, Uint16)/1000
SOC carica notturna (autoconsumo) Dimmer

Target SOC superiore (10–100%) per la carica della batteria dalla rete durante la notte in modalità autoconsumo. La scrittura è basata su EEprom: non modificare frequentemente da automazioni

Registro: H:0x0094SH:0x0063 UInt16 Unità: % numeric

SOC carica notturna (autoconsumo)

Lettura livello
MODBUSR(H, 0x0094, Uint16) / 100
Scrittura livello
MODBUSW(SH, 0x0063,  Uint16, Le * 100)
Temperatura batteria Sensore di temperatura Solo lettura
Registro: A:0x0018 UInt16 Unità: °C numeric

Temperatura batteria

Lettura temperatura
MODBUSR(A,0x0018, UInt16)
Limite max. potenza immissione Variabile

Potenza massima di esportazione consentita verso la rete come percentuale della capacità nominale (10–100%). La scrittura è basata su EEprom: non modificare frequentemente da automazioni

Registro: H:0x00B6SH:0x0042 UInt16 Unità: % numeric

Limite max. potenza immissione

Lettura
MODBUSR(H, 0x00B6, Uint16)/100
Scrittura
MODBUSW(SH, 0x0042, Uint16, Va*100)
Connessione: Modbus RTU • 19200 baud• 8N1 • Slave ID: $[SlaveId]
Possibili miglioramenti (40)
  • A:0x0017 BMS Connect State — 0=Disconnected, 1=Connected. Critical for battery health monitoring
  • A:0x001A Grid Status — 0=On-grid, 1=Off-grid. Important for backup/off-grid scenarios
  • A:0x0014, A:0x0015, A:0x0016 Battery Voltage / Current / Power — Battery 1 pack telemetry: 0.1V int16, 0.1A int16, 1W int16. Positive current/power = charge, negative = discharge
  • A:0x0127, A:0x0128, A:0x0129 Battery 2 Voltage / Current / Power — Battery 2 pack telemetry. X3-ULT-30K only
  • A:0x0131 Battery 2 Temperature — 1°C, int16. Battery 2 temperature. X3-ULT-30K only
  • A:0x0008 Radiator Temperature — 1°C, int16. Inverter internal radiator/heatsink temperature
  • A:0x0003, A:0x0004 PV1 / PV2 Voltage — 0.1V, uint16. Useful for string-level diagnostics
  • A:0x0005, A:0x0006 PV1 / PV2 Current — 0.1A, uint16. Useful for string-level diagnostics
  • A:0x0122, A:0x0123 PV3 Voltage / Current — 0.1V uint16 / 0.1A uint16. X3-ULT-30K only
  • A:0x006B, A:0x006F, A:0x0073 Per-Phase Grid Current L1/L2/L3 — 0.1A, int16 each. Per-phase current for 3-phase monitoring
  • A:0x006C, A:0x0070, A:0x0074 Per-Phase Grid Power L1/L2/L3 — 1W, int16 each. Per-phase grid power — essential for 3-phase load balancing
  • A:0x0082–0x0087 Per-Phase Feed-in Power L1/L2/L3 (Meter) — 1W, int32 LE × 3 phases. Per-phase feed-in from meter/CT
  • A:0x0048–0x0049 Feed-in Energy Total (Meter) — 0.01kWh, uint32 LE. Lifetime energy exported via meter
  • A:0x004A–0x004B Consumed Energy Total (Meter) — 0.01kWh, uint32 LE. Lifetime energy consumed from grid via meter
  • A:0x0094–0x0095 Solar Energy Total — 0.1kWh, uint32 LE. Cumulative PV production (all strings combined)
  • A:0x0096 Solar Energy Today — 0.1kWh, uint16. Today's PV production
  • A:0x0091, A:0x0092–0x0093 Charged Energy Today / Total — 0.1kWh, uint16 / uint32 LE. Energy charged to battery via inverter AC port
  • A:0x001D–0x001E, A:0x0020 Battery Discharge Energy Today / Total — 0.1kWh, uint32 LE / uint16. Battery discharge energy
  • A:0x0021–0x0022, A:0x0023 Battery Charge Energy Today / Total — 0.1kWh, uint32 LE / uint16. Battery charge energy
  • A:0x00BA, A:0x00BB Battery Temp High / Low — 0.1°C, int16. Min/max battery cell temperatures
  • A:0x00BC, A:0x00BD Cell Voltage High / Low — 0.001V, uint16. Min/max individual cell voltages — important for battery health
  • A:0x00BE, A:0x00BF BMS User SOC / SOH — 1%, uint16. SOC and state-of-health as reported by BMS (may differ from A:0x001C)
  • A:0x00B8, A:0x00B9 Meter 1 / Meter 2 Communication State — 0=Com Error, 1=Normal. Diagnostic for meter/CT connectivity
  • A:0x0019 BDC Status — 0=discharge, 1=charge, 2=stop. Battery DC converter status
  • A:0x008E–0x008F, A:0x0090 Off-grid Yield Total / Today — 0.1kWh, uint32 LE / uint16. Energy delivered in off-grid mode
  • A:0x0088–0x008B On-grid / Off-grid Running Time — 0.1h, uint32 LE each. Lifetime runtime counters
  • A:0x012F–0x0130 Inverter Total AC Power — 1W, int32. Sum of all 3 phases AC output. X3-ULT-30K only
  • A:0x0042 Manager Error Code (as Value) — Note: register A:0x0043 is parsed in module readscript for bit-level fault decoding (11 manager fault bits). V3.29 protocol places Manager error at A:0x0042 and BMS error at A:0x0043 — template uses A:0x0043 as 'Manager error code' which may actually be BMS Warning Code (Table 2-6). Potential mismatch — verify
  • Write SH:0x0020 Manual Mode — 0=Stop charge & discharge, 1=Force charge, 2=Force discharge. Requires Charger Use Mode = 3 (Manual)
  • Write SH:0x0061 Self-Use Discharge Min SOC — 10–100%. Minimum SOC before discharge stops in Self-Use mode
  • Write SH:0x0062 Self-Use Night Charge Enable — 0=Disable, 1=Enable night charging from grid. Currently always-on assumption in template — explicit enable would allow user toggle
  • H:0x0093 Self-Use Discharge Min SOC (Read) — Readback of discharge min SOC limit
  • H:0x008C Manual Mode Readback — 0=Stop, 1=Force charge, 2=Force discharge. Readback of current manual sub-mode
  • H:0x008D Battery Type — 0=Lead Acid, 1=Lithium. Battery chemistry diagnostic
  • H:0x0100–0x011F Modbus Power Control (Remote) — Active/reactive power targets, SOC targets, time-of-duration. Enables advanced energy management and grid services (peak shaving, FCR, etc.)
  • A:0x0120, A:0x0121 BMS Relay State / Restart Flag — 0/1 each. BMS relay status and restart indicator
  • H:0x001D Safety Code (Country Standard) — 0–39 enum. Grid safety standard (VDE0126, VDE4105, AS4777, G98/G99, EN50549, etc.) — useful for installation diagnostics
  • H:0x0023 Power Limits Percent — 0–100%, uint16. Inverter output power limit
  • H:0x00BA Inverter Power Type — Model variant code (15K/20K/25K/30K). Useful for runtime model detection
  • H:0x0000–0x0006 Inverter Serial Number — 14-character ASCII string across 7 registers. Service attribute candidate

Fonti

Hai trovato un problema con questo template?

Dicci cosa non funziona, cosa manca o come dovrebbe comportarsi il template. Il tuo feedback ci aiuta a mantenere il catalogo accurato.

Verificato da TapHome

Vuoi usarlo nel tuo TapHome Core?

Apri questo template nel Customer Portal per applicarlo a una delle tue case, o crea una proposta di modifica e inviala al catalogo.

Apri nel portale