---
title: "SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU)"
description: "SolaX X3-Ultra cez Modbus RTU (RS-485): merače Energy Dashboard, SOC batérie, sieť, poruchy a vzdialené riadenie AC výkonu na nabitie či vybitie batérie."
url: "https://taphome.com/sk/compatibility/solax-x3-ultra-power-control-modbus-rtu/"
language: sk
lastmod: 2026-11-10
generator: hugo
ai:
  topics: ["modbus-rtu","rs485","inverter","solar","battery-storage","3-phase","hybrid-inverter","energy-monitoring","remote-power-control"]
  questions: ["Ako integrovať hybridný solárny invertor SolaX X3-Ultra s TapHome?","Čo meria a ovláda šablóna SolaX X3-Ultra na riadenie výkonu?","Ako zapojiť RS-485 z portu COM 1 SolaX X3-Ultra k TapHome?","Ako z TapHome nabíjať alebo vybíjať batériu SolaX X3-Ultra podľa spotových cien elektriny?","Prečo sa cieľ vzdialeného ovládania SolaX X3-Ultra hneď po nastavení vráti na 0?","Ktoré zariadenie má Energetický manažér TapHome použiť so SolaX X3-Ultra?"]
---

# SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU)

Komunikácia: Modbus RTU

## Návod na integráciu

SolaX X3-Ultra (X3-ULT-15K, 20K, 25K, 30K) je trojfázový hybridný solárny invertor pre FV a batériu. Táto komunitná šablóna od Martina Kellera ho pripája k TapHome cez **Modbus RTU na RS-485 porte COM 1** (19200 baud, 8N1) a vychádza z čítacích registrov protokolu SolaX Modbus V3.29 a z protokolu SolaX Modbus V001.02. Poskytuje kompletnú sadu meračov pre Energy Dashboard, monitorovanie batérie, siete a porúch, nastavenia solárneho invertora, ktoré sa zapisujú len vtedy, keď sa ich hodnota naozaj zmení, a vzdialené riadenie AC výkonu (režim 1 vzdialeného ovládania SolaX) — nabíjanie batérie zo siete alebo jej vybíjanie do siete na povel, napríklad podľa spotových cien elektriny.

## Ako získať šablónu

Komunitné šablóny sa v zozname šablón aplikácie TapHome neponúkajú. Prihláste sa na portal.taphome.com, stiahnite XML tejto šablóny a importujte ho do Core na rozhraní Modbus RTU (alebo na rozhraní Modbus TCP, ak sa použije brána RS-485-Ethernet). Na monitorovanie bez vzdialeného riadenia výkonu je k dispozícii oficiálna šablóna [SolaX X3 Hybrid Ultra](https://taphome.com/sk/compatibility/solax-hybrid-ultra-x3/). Modul importovaný skôr z oficiálnej šablóny sa sám neaktualizuje — importujte túto šablónu ako nový modul a starý odstráňte.

## Hardvérové pripojenie

X3-Ultra má jediný viacúčelový **port COM 1** (konektor RJ45 s označeným káblovým prípravkom). Tie isté fyzické piny slúžia na rôzne funkcie podľa toho, ktorá označená pozícia káblového prípravku sa použije. Na integráciu Modbus tretej strany použite pozíciu **RS485** — vodiče **REMOTE_485A** a **REMOTE_485B**.

### Pinout portu COM 1

![Priradenie pinov portu COM 1 SolaX X3-Ultra pre všetkých šesť označených pozícií (Parallel-1, Parallel-2, BMS-1, BMS-2, RS485, DRM)](https://taphome.com/images/compatibility/solax-x3-ultra-power-control-modbus-rtu/com1-pinout_hu_4124a3cd9e8bc981.jpg)

Priradenie pinov **pozície RS485** (jediná pozícia relevantná pre TapHome):

| Pin | Signál | Zapojenie TapHome |
|-----|--------|-------------------|
| **1** | **REMOTE_485A** | A+ / D+ |
| **2** | **REMOTE_485B** | B− / D− |
| 3 | PARALLEL_485AA | nepoužívať (len pre príslušenstvo SolaX) |
| 4 | PARALLEL_485AA | nepoužívať (len pre príslušenstvo SolaX) |
| 5 | PARALLEL_485BB | nepoužívať (len pre príslušenstvo SolaX) |
| 6 | PARALLEL_485BB | nepoužívať (len pre príslušenstvo SolaX) |
| **7** | **REMOTE_485A** | rovnaký signál ako pin 1 |
| **8** | **REMOTE_485B** | rovnaký signál ako pin 2 |

> [!WARNING]
> Piny 3–6 patria kanálu SolaX PARALLEL_485 a sú vyhradené pre produkty SolaX (Adapter Box G2, EV-Charger, DataHub). Piny 1, 2, 7 a 8 sú určené pre iné zariadenia než produkty SolaX. K pinom 3–6 **nepripájajte** Modbus master tretej strany.

### Zapojenie RS-485

![Inštalácia RJ45 terminálu do pozície RS485 káblového prípravku COM 1](https://taphome.com/images/compatibility/solax-x3-ultra-power-control-modbus-rtu/wiring-rs485_hu_ac07cf89af382c1.jpg)

Pravidlá zapojenia z používateľského manuálu X3-Ultra (sekcia 8.6.4):

- **Typ kábla:** sieťový kábel CAT5E alebo CAT6
- **Maximálna dĺžka:** komunikačný kábel RS-485 nesmie presiahnuť **30 m**
- **RJ45 terminál:** pôvodný konektor kábla sa odstrihne a podľa priradenia pinov sa zalisuje nový RJ45 terminál; nie všetky zariadenia prijmú plne zapojený 8-pinový sieťový kábel
- **Pozícia v káblovom prípravku:** RJ45 terminál patrí do otvoru označeného **RS485** (nie do Parallel-1, Parallel-2, BMS-1, BMS-2 ani DRM); konektor zacvakne do portu COM 1 a zaistí sa prevlečnou maticou
- **Jeden Modbus master:** port smie používať len jeden Modbus master. Iné monitorovanie Modbus na tom istom porte odpojte, inak solárny invertor odpovedá obom a hodnoty sú nestabilné

Používateľský manuál neuvádza pravidlo pre zakončenie zbernice RS-485 na pozícii RS485 portu COM 1.

### Elektromer alebo CT pre hodnoty siete

Zariadenia siete v tejto šablóne (**Grid - power balance**, **Zo siete**, **Do siete**, **Spotreba**) čítajú výkon dodávky do siete, ktorý solárny invertor meria vlastným elektromerom alebo CT. Elektromer alebo CT sa zapája do portu **COM 2** (Meter/CT: METER_485A na pine 4, METER_485B na pine 5, alebo vstupy CT) a nastavuje sa na displeji solárneho invertora v `Menu → Setting → Advance Setting → Meter/CT Setting`. Je to samostatná linka RS-485 — TapHome k nej nepripájajte.

### Možnosti pripojenia

- **Priame Modbus RTU:** zapojte pár RS485 portu COM 1 priamo na zbernicu RS-485 riadiacej jednotky TapHome Core. Najnižšia latencia, odporúča sa pre vzdialené riadenie výkonu.
- **Brána RS-485-Ethernet:** ak je solárny invertor ďaleko od TapHome Core, možno na pár RS485 portu COM 1 použiť bránu RS-485-Ethernet tretej strany; šablóna sa potom importuje na rozhraní Modbus TCP.
- **Monitorovací modul SolaX:** samotný solárny invertor Modbus TCP nepodporuje. Modbus TCP (port 502) je dostupný len cez monitorovací modul SolaX, s dotazovacím cyklom približne 1 sekunda (protokol V3.29).

## Konfigurácia

### Povolenie komunikácie Modbus na solárnom invertore

Na LCD solárneho invertora prejdite na:

```
Menu → Setting → Advance Setting → Modbus
```

Menu Advance Setting vyžaduje heslo inštalatéra (podľa používateľského manuálu na začiatku **2014**; manuál odporúča heslo zmeniť). V menu Modbus nastavte **Baud Rate** a **Address** externého komunikačného protokolu:

| Parameter | Predvolená hodnota šablóny | Predvolená hodnota solárneho invertora (protokol V3.29) |
|-----------|----------------------------|---------------------------------------------------------|
| Modbus adresa (Slave ID) | 1 | 1 |
| Prenosová rýchlosť | 19200 | 19200 |
| Parita | None | None |
| Dátové bity | 8 | 8 |
| Stop bity | 1 | 1 |

> [!WARNING]
> Prenosová rýchlosť musí byť rovnaká na solárnom invertore aj na rozhraní Modbus RTU v TapHome. Ak komunikácia zlyhá, najprv skontrolujte prenosovú rýchlosť.

Solárny invertor hlási Modbus adresu aj v holding registri `H:0x00AF` a prenosovú rýchlosť v holding registri `H:0x00B0` (protokol V3.29).

### Parameter importu

Pri importe šablóny sa parameter importu **Modbus Slave ID** (predvolene `1`) musí zhodovať s Modbus adresou nastavenou na displeji solárneho invertora.

## Schopnosti zariadenia

### Energy Dashboard

| Zariadenie | Čítanie |
|---|---|
| **FV Výroba** | Výkon vstupov PV1 + PV2 + PV3 (`A:0x000A`, `A:0x000B`, `A:0x0124`) v kW; celková energia z FV (`A:0x0094`–`0x0095`) v kWh. Výkon PV1–PV3 a celková energia na AC výstupe solárneho invertora (`A:0x0052`) sú servisné atribúty. |
| **Zo siete** / **Do siete** | Odberová a dodávková časť výkonu siete z elektromera alebo CT (`A:0x0046`–`0x0047`, najprv nižšie slovo) s počítadlami celkovej energie (`A:0x004A` a `A:0x0048`, 0,01 kWh). |
| **Do batérie** / **Z batérie** | Nabíjacia a vybíjacia časť výkonu batérie 1 (`A:0x0016`) s celkovou nabitou a vybitou energiou (`A:0x0021`, `A:0x001D`). |
| **Spotreba** | Vypočítaná spotreba domu: AC výkon solárneho invertora mínus dodávka do siete. SolaX nemá register spotreby; záťaž na výstupe EPS (záložnom) sa nezapočítava. |
| **Batéria (SOC)** | Stav nabitia batérie 1 (`A:0x001C`). Zostávajúca a dobíjateľná energia (`A:0x0118`, `A:0x0116`) sú servisné atribúty. |

### Energetický manažér

Pre smart rule Energetický manažér vyberte **Grid - power balance**. Hodnota má znamienko: kladná pri odbere zo siete, záporná pri dodávke prebytku. Merače **Zo siete** a **Do siete** nikdy nie sú záporné a prebytok neukazujú.

### Monitorovanie

- **Battery 2 - state of charge** — druhý batériový vstup (BAT 2), jeho výkon a teplota sú servisné atribúty; bez druhej batérie číta 0
- **Battery - temperature** — číta sa ako hodnota so znamienkom, takže teploty pod 0 °C sa zobrazujú správne
- **Inverter - AC power** — súčet výkonov troch fáz na AC porte solárneho invertora v kW
- **Grid - voltage L1** — napätie siete L2, L3 a tri frekvencie siete sú servisné atribúty

### Nastavenia solárneho invertora

| Zariadenie | Čítanie | Zápis |
|---|---|---|
| **Settings - work mode** | `H:0x008B`: Self use, Feed-in priority, Backup, Manual, Peak shaving, Time of use (posledné dva závisia od firmvéru) | `0x001F` |
| **Settings - manual mode** | `H:0x008C`: Stop charge and discharge, Force charge, Force discharge (účinné len v pracovnom režime Manual) | `0x0020` |
| **Settings - self-use minimum SOC** | horný bajt `H:0x0093` | `0x0061` |
| **Settings - night charge from grid** | dolný bajt `H:0x0093` | `0x0062` |
| **Settings - night charge target SOC** | `H:0x0094` | `0x0063` |
| **Settings - export limit** | `H:0x00B6`, v kW (na X3 10 W na jednotku) | `0x0042` |

SolaX tieto nastavenia číta z iných adries, než na ktoré ich zapisuje, preto nemožno použiť vstavanú funkciu TapHome „zapisovať len pri zmene“. Každý zápisový skript preto nastavenie najprv prečíta a zapíše ho (funkcia 06) len vtedy, keď sa nová hodnota líši; keď solárny invertor hlási nastavenia ako zamknuté, najprv zapíše heslo nastavení 2014 do registra `0x0000`. Minimálne SOC a cieľ nočného nabíjania nikdy neklesnú pod 10 % (rozsah SolaX). Žiadne z týchto zariadení nezapisuje periodicky.

> [!WARNING]
> Tieto nastavenia sú registre EEPROM (SolaX ich označuje ★, približne 1 milión zápisových cyklov). Meňte ich zriedka a nikdy z častých automatizácií — na nabíjanie a vybíjanie podľa spotových cien použite **Remote control - AC power target**.

### Remote control - AC power target

Toto zariadenie využíva režim 1 vzdialeného ovládania SolaX (VPP) — riadenie výkonu na AC porte solárneho invertora.

- **Znamienko:** kladný cieľ znamená, že solárny invertor odoberá výkon na svojom AC porte (nabíja batériu, zo siete, ak FV nestačí); záporný cieľ znamená, že výkon dodáva (vybíja batériu a čo dom nespotrebuje, ide do siete). Hodnota v kW.
- **0** ukončí vzdialené ovládanie: šablóna raz zapíše režim 0 a solárny invertor sa vráti do svojho pracovného režimu. Ciele pod 0,5 W sa počítajú ako 0.
- **Akákoľvek iná hodnota:** ak je solárny invertor zamknutý, šablóna najprv zapíše heslo nastavení 2014 (odomknutie sa stratí po každom reštarte solárneho invertora), potom zapíše 13 registrov `0x007C`–`0x0088` jednou požiadavkou Modbus (funkcia 0x10): režim 1, cieľ, trvanie 120 s a timeout 60 s. Kým cieľ nie je 0, príkaz sa opakuje každých 60 s. Ak ho TapHome prestane posielať, solárny invertor drží cieľ najviac 2 minúty, ďalšiu 1 minútu drží na AC porte 0 W a potom sa sám vráti do svojho pracovného režimu.
- **Pracovný režim Manual blokuje vzdialené ovládanie.** SolaX nespustí vzdialené ovládanie, kým je solárny invertor v pracovnom režime Manual — najprv ho prepnite na Self use (alebo iný režim).
- Solárny invertor obmedzí cieľ na rozsah zobrazený v atribútoch modulu (minimálny a maximálny cieľ vzdialeného ovládania).
- Akcia modulu **End remote control** okamžite zapíše režim 0. Kým cieľ nie je 0, ďalšie opakovanie vzdialené ovládanie znova spustí — na trvalé zastavenie nastavte cieľ na 0.
- Toto zariadenie nekombinujte so vzdialeným ovládaním zo SolaX Cloud ani od energetického agregátora: kým je cieľ 0, šablóna do 60 s ukončí akýkoľvek režim vzdialeného ovládania.
- Vzdialené ovládanie potrebuje Core, ktorý zapíše všetkých 13 registrov jednou požiadavkou. To platí pre každý Core od roku 2022, ak modul ponechá `MaxPrefetchGroupSize` 32 z tejto šablóny.
- Servisný atribút **Actual AC power** ukazuje činný výkon, ktorý solárny invertor hlási na svojom AC porte, vo W (`A:0x0106`).

> [!WARNING]
> SolaX v protokole neoznačuje registre vzdialeného ovládania (`0x007C`–`0x0088`) ako registre EEPROM, ale ani písomne nepotvrdzuje opak. Táto šablóna sa opiera o skúsenosti komunít Home Assistant a openHAB, ktoré tieto registre zapisujú každých niekoľko sekúnd až minút.

### Atribúty a akcie modulu

- **Run mode** (servisný atribút) — stav solárneho invertora ako text: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle, Standby, Remote control (kód 20); ostatné kódy sa zobrazia ako Other
- **Machine type** (servisný atribút) — X1 (jednofázový) alebo X3 (trojfázový), holding register `H:0x0105`
- **Settings lock** (servisný atribút) — Locked alebo Unlocked (`A:0x0054`)
- **Remote control mode** (servisný atribút) — aktívny režim vzdialeného ovládania (`A:0x0100`): Off, Power control, Energy target, SOC target
- **Remote control - maximum target** / **minimum target** (servisné atribúty) — povolený rozsah cieľového výkonu, ktorý hlási solárny invertor, vo W (`A:0x010A`, `A:0x010C`)
- **Unlock settings (password 2014)** (servisná akcia) — zapíše `2014` do registra `0x0000`
- **End remote control** (servisná akcia) — zapíše režim 0 do registrov vzdialeného ovládania `0x007C`–`0x0088`

### Detekcia porúch

Čítací skript modulu hlási chybu TapHome, keď je prevádzkový režim (`A:0x0009`) 3 (Fault) alebo 4 (Permanent fault). Okrem toho analyzuje bit po bite dva chybové registre, každú poruchu s vlastným kódom chyby:

- **Chybový kód solárneho invertora** (32-bit, `A:0x0040`–`A:0x0041`, číta sa najprv nižšie slovo) — všetkých 32 bitov, od TZ Protect Fault, porúch napätia siete, FV, zbernice a batérie, izolačných porúch a prehriatia až po Parallel Fault, Hard Limit Fault a poruchy relé
- **Chybový kód správcu** (16-bit, `A:0x0043`) — Power Type Fault, Mgr EEPROM Fault, NTC Sample Invalid, nízka a vysoká teplota batérie, Meter Fault, Bypass Relay Fault a Fan 2 Fault ako chyby, Port OC Warning ako varovanie

## Riešenie problémov

### Žiadna komunikácia so solárnym invertorom

1. Overte, že vodiče RS-485 sú na pinoch **REMOTE_485A / REMOTE_485B** (1 + 2 alebo 7 + 8 v pozícii RS485 káblového prípravku COM 1), nie na pinoch PARALLEL_485 3–6 a nie na linke elektromera portu COM 2
2. Skontrolujte, či sa prenosová rýchlosť zhoduje medzi solárnym invertorom (`Menu → Setting → Advance Setting → Modbus`) a rozhraním Modbus RTU v TapHome — predvolene 19200
3. Overte, že parameter importu **Modbus Slave ID** zodpovedá Modbus adrese solárneho invertora (predvolene `1`)
4. Uistite sa, že k portu je pripojený len **jeden** Modbus master
5. Ak si nie ste istí polaritou kábla, vymeňte vodiče A a B
6. Overte, že kábel RS-485 nepresahuje **30 m**

### Cieľ vzdialeného ovládania sa hneď po nastavení vráti na 0

Solárny invertor je v pracovnom režime Manual, firmvér nepodporuje režim 1 vzdialeného ovládania alebo je cieľ mimo minimálneho a maximálneho cieľa zobrazeného v atribútoch modulu. Najprv skontrolujte pracovný režim.

### Zápis nastavení je odmietnutý

Solárny invertor je zamknutý. Spustite akciu modulu **Unlock settings (password 2014)**; zámok sa vráti po každom reštarte solárneho invertora (atribút modulu **Settings lock**).

### Hodnoty siete sú 0 alebo Spotreba nesedí

**Grid - power balance**, **Zo siete**, **Do siete** a **Spotreba** závisia od elektromera alebo CT solárneho invertora. Skontrolujte jeho zapojenie na COM 2 a nastavenie v `Menu → Setting → Advance Setting → Meter/CT Setting`.

### Výkon PV3 alebo Battery 2 ukazuje 0

PV3 existuje len na modeloch s tromi trackermi (napríklad X3-ULT-25K a X3-ULT-30K, počet MPPT pozrite v používateľskom manuáli); Battery 2 len vtedy, keď je k BAT 2 pripojená druhá batéria. Nepoužívané zariadenia v TapHome skryte.

## Dostupné zariadenia 19

Tieto zariadenia sa po importe zobrazia v TapHome.

SolaX X3-Ultra Modul

Servisné atribúty

|                                 |
|---------------------------------|
| Run mode                        |
| Machine type                    |
| Settings lock                   |
| Remote control mode             |
| Remote control - maximum target |
| Remote control - minimum target |

Servisné akcie

|                                 |
|---------------------------------|
| Unlock settings (password 2014) |
| End remote control              |

Čítanie (modul)

```taphome
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, 21) = 1, ADDERROR(121, "Parallel Fault"));
IF(GETBIT(inv, 22) = 1, ADDERROR(122, "Hard Limit 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é atribúty

Run mode

```taphome
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", 20, "Remote control", "Other")
```

Machine type

```taphome
SWITCH(MODBUSR(H, 0x0105, UInt16), 1, "X1 (single-phase)", 3, "X3 (three-phase)", "Unknown")
```

Settings lock

```taphome
SWITCH(MODBUSR(A, 0x0054, UInt16), 0, "Locked", 1, "Unlocked", "Unknown")
```

Remote control mode

```taphome
SWITCH(MODBUSR(A, 0x0100, UInt16), 0, "Off", 1, "Power control", 2, "Energy target", 3, "SOC target", "Other")
```

Remote control - maximum target

```taphome
TOSTRING(MODBUSR(A, 0x010A, LittleEndianInt32)) + " W"
```

Remote control - minimum target

```taphome
TOSTRING(MODBUSR(A, 0x010C, LittleEndianInt32)) + " W"
```

Servisné akcie

Unlock settings (password 2014)

```taphome
MODBUSW(SH, 0x0000, Uint16, 2014);
```

End remote control

```taphome
MODBUSW(H, 0x007C, Uint16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
```

${deviceType\_PVProduction} Elektromer

Servisné atribúty

|                                   |
|-----------------------------------|
| PV1 power                         |
| PV2 power                         |
| PV3 power                         |
| Inverter AC output - total energy |

Čítanie celkovej spotreby

```taphome
MODBUSR(A, 0x0094, LittleEndianUint32) / 10
```

Čítanie odberu

```taphome
(MODBUSR(A, 0x000A, UInt16) + MODBUSR(A, 0x000B, UInt16) + MODBUSR(A, 0x0124, UInt16)) / 1000
```

Servisné atribúty

PV1 power

```taphome
TOSTRING(MODBUSR(A, 0x000A, UInt16)) + " W"
```

PV2 power

```taphome
TOSTRING(MODBUSR(A, 0x000B, UInt16)) + " W"
```

PV3 power

```taphome
TOSTRING(MODBUSR(A, 0x0124, UInt16)) + " W"
```

Inverter AC output - total energy

```taphome
TOSTRING(MODBUSR(A, 0x0052, LittleEndianUint32) / 10, "F1") + " kWh"
```

Grid - power balance Elektromer

Čítanie odberu

```taphome
MODBUSR(A, 0x0046, LittleEndianInt32) / -1000
```

${deviceType\_PVFromGrid} Elektromer

Čítanie celkovej spotreby

```taphome
MODBUSR(A, 0x004A, LittleEndianUint32) / 100
```

Čítanie odberu

```taphome
MAX(-MODBUSR(A, 0x0046, LittleEndianInt32), 0) / 1000
```

${deviceType\_PVToGrid} Elektromer

Čítanie celkovej spotreby

```taphome
MODBUSR(A, 0x0048, LittleEndianUint32) / 100
```

Čítanie odberu

```taphome
MAX(MODBUSR(A, 0x0046, LittleEndianInt32), 0) / 1000
```

${deviceType\_PVToBattery} Elektromer

Čítanie celkovej spotreby

```taphome
MODBUSR(A, 0x0021, LittleEndianUint32) / 10
```

Čítanie odberu

```taphome
MAX(MODBUSR(A, 0x0016, Int16), 0) / 1000
```

${deviceType\_PVFromBattery} Elektromer

Čítanie celkovej spotreby

```taphome
MODBUSR(A, 0x001D, LittleEndianUint32) / 10
```

Čítanie odberu

```taphome
MAX(-MODBUSR(A, 0x0016, Int16), 0) / 1000
```

${deviceType\_PVLoad} Elektromer

Čítanie odberu

```taphome
((MODBUSR(A, 0x006C, Int16) + MODBUSR(A, 0x0070, Int16) + MODBUSR(A, 0x0074, Int16)) - MODBUSR(A, 0x0046, LittleEndianInt32)) / 1000
```

${deviceType\_BatterySOC} Analógový vstup

Servisné atribúty

|                   |
|-------------------|
| Remaining energy  |
| Chargeable energy |

Čítanie vstupnej úrovne

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

Servisné atribúty

Remaining energy

```taphome
TOSTRING(MODBUSR(A, 0x0118, LittleEndianUint32) / 1000, "F2") + " kWh"
```

Chargeable energy

```taphome
TOSTRING(MODBUSR(A, 0x0116, LittleEndianUint32) / 1000, "F2") + " kWh"
```

Battery 2 - state of charge Analógový vstup

Servisné atribúty

|                       |
|-----------------------|
| Battery 2 power       |
| Battery 2 temperature |

Čítanie vstupnej úrovne

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

Servisné atribúty

Battery 2 power

```taphome
TOSTRING(MODBUSR(A, 0x0129, Int16)) + " W"
```

Battery 2 temperature

```taphome
TOSTRING(MODBUSR(A, 0x0131, Int16)) + " °C"
```

Battery - temperature Teplotný senzor

Čítanie teploty

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

Inverter - AC power Premenná

Čítanie

```taphome
(MODBUSR(A, 0x006C, Int16) + MODBUSR(A, 0x0070, Int16) + MODBUSR(A, 0x0074, Int16)) / 1000
```

Grid - voltage L1 Premenná

Servisné atribúty

|                   |
|-------------------|
| Grid voltage L2   |
| Grid voltage L3   |
| Grid frequency L1 |
| Grid frequency L2 |
| Grid frequency L3 |

Čítanie

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

Servisné atribúty

Grid voltage L2

```taphome
TOSTRING(MODBUSR(A, 0x006E, UInt16) / 10, "F1") + " V"
```

Grid voltage L3

```taphome
TOSTRING(MODBUSR(A, 0x0072, UInt16) / 10, "F1") + " V"
```

Grid frequency L1

```taphome
TOSTRING(MODBUSR(A, 0x006D, UInt16) / 100, "F2") + " Hz"
```

Grid frequency L2

```taphome
TOSTRING(MODBUSR(A, 0x0071, UInt16) / 100, "F2") + " Hz"
```

Grid frequency L3

```taphome
TOSTRING(MODBUSR(A, 0x0075, UInt16) / 100, "F2") + " Hz"
```

Settings - work mode Viacstavový prepínač

Hodnoty / Stavy: Self use · Feed-in priority · Backup · Manual · Peak shaving · Time of use

Čítanie stavu prepínača

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

Zápis stavu prepínača

```taphome
IF(MODBUSR(H, 0x008B, UInt16) != Mu AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x008B, UInt16) != Mu, MODBUSW(SH, 0x001F, Uint16, Mu));
```

Settings - manual mode Viacstavový prepínač

Hodnoty / Stavy: Stop charge and discharge · Force charge · Force discharge

Čítanie stavu prepínača

```taphome
MODBUSR(H, 0x008C, UInt16)
```

Zápis stavu prepínača

```taphome
IF(MODBUSR(H, 0x008C, UInt16) != Mu AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x008C, UInt16) != Mu, MODBUSW(SH, 0x0020, Uint16, Mu));
```

Settings - self-use minimum SOC Stmievač

Čítanie úrovne

```taphome
GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) / 100
```

Zápis úrovne

```taphome
VAR v := MAX(ROUND(Le * 100), 10);
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) != v AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 1) != v, MODBUSW(SH, 0x0061, Uint16, v));
```

Settings - night charge from grid Prepínač

Hodnoty / Stavy: ON · OFF

Čítanie stavu prepínača

```taphome
GETBYTE(MODBUSR(H, 0x0093, UInt16), 0)
```

Zápis stavu prepínača

```taphome
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 0) != St AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(GETBYTE(MODBUSR(H, 0x0093, UInt16), 0) != St, MODBUSW(SH, 0x0062, Uint16, St));
```

Settings - night charge target SOC Stmievač

Čítanie úrovne

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

Zápis úrovne

```taphome
VAR v := MAX(ROUND(Le * 100), 10);
IF(MODBUSR(H, 0x0094, UInt16) != v AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x0094, UInt16) != v, MODBUSW(SH, 0x0063, Uint16, v));
```

Settings - export limit Premenná

Čítanie

```taphome
MODBUSR(H, 0x00B6, UInt16) / 100
```

Zápis

```taphome
VAR v := MAX(ROUND(Va * 100), 0);
IF(MODBUSR(H, 0x00B6, UInt16) != v AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(MODBUSR(H, 0x00B6, UInt16) != v, MODBUSW(SH, 0x0042, Uint16, v));
```

Remote control - AC power target Premenná

Servisné atribúty

|                 |
|-----------------|
| Actual AC power |

Čítanie

```taphome
IF(MODBUSR(A, 0x0100, UInt16) = 1, MODBUSR(A, 0x0102, LittleEndianInt32) / 1000, 0)
```

Zápis

```taphome
VAR w := ROUND(Va * 1000);
VAR u := IF(w < 0, w + 4294967296, w);
IF(w = 0 AND MODBUSR(A, 0x0100, UInt16) != 0, MODBUSW(H, 0x007C, Uint16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0));
IF(w != 0 AND MODBUSR(A, 0x0054, UInt16) = 0, MODBUSW(SH, 0x0000, Uint16, 2014));
IF(w != 0, MODBUSW(H, 0x007C, Uint16, 1, 1, MOD(u, 65536), FLOOR(u / 65536), 0, 0, 120, 0, 0, 0, 0, 0, 60));
```

Servisné atribúty

Actual AC power

```taphome
TOSTRING(MODBUSR(A, 0x0106, LittleEndianInt32)) + " W"
```

**Pripojenie:** Modbus RTU • 19200 baud• 8N1 • Slave ID: $\[SlaveId]

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

| Pýta sa v aplikácii | Predvolené |
|---------------------|------------|
| Modbus Slave ID     | `1`        |

## Súvisiaca dokumentácia

- [Modbus Integration](https://taphome.com/sk/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/sk/docs/integration/modbus/)
- [Jednoduchá konfigurácia pomocou šablón](https://taphome.com/sk/docs/integration/modbus/templates/)
- [Skripty Modbus a prefetch](https://taphome.com/sk/docs/script/modbus-scripts/)
- [Funkcie Modbus](https://taphome.com/sk/docs/script/modbus/)
- [Dátové typy Modbus](https://taphome.com/sk/docs/script/modbus-data-types/)

