---
title: "SolaX X3-Ultra Hybrid Inverter — monitoring and power control (Modbus RTU)"
description: "SolaX X3-Ultra Modbus RTU-n (RS-485): Energy Dashboard mérők, akku SOC, hálózat, hibák és távoli AC teljesítményvezérlés az akku töltéséhez és kisütéséhez."
url: "https://taphome.com/hu/compatibility/solax-x3-ultra-power-control-modbus-rtu/"
language: hu
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: ["Hogyan integrálható a SolaX X3-Ultra hibrid inverter a TapHome-mal?","Mit mér és mit vezérel a SolaX X3-Ultra teljesítményvezérlő sablon?","Hogyan kell bekötni az RS-485-öt a SolaX X3-Ultra COM 1 portjáról a TapHome-hoz?","Hogyan tölthető vagy süthető ki a SolaX X3-Ultra akkumulátora a TapHome-ból a spot villamosenergia-árak szerint?","Miért áll vissza 0-ra a SolaX X3-Ultra távvezérlési célértéke rögtön a beállítás után?","Melyik eszközt használja a TapHome Energiamenedzser a SolaX X3-Ultra esetén?"]
---

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

Kommunikáció: Modbus RTU

## Integrációs útmutató

A SolaX X3-Ultra (X3-ULT-15K, 20K, 25K, 30K) háromfázisú hibrid napelem inverter PV-hez és akkumulátorhoz. Martin Keller közösségi sablonja **Modbus RTU-n, a COM 1 RS-485 porton** (19200 baud, 8N1) köti össze a TapHome-mal, és a SolaX Modbus V3.29 protokoll olvasási regiszterein, valamint a SolaX Modbus V001.02 protokollon alapul. Teljes mérőkészletet ad az Energy Dashboardhoz, akkumulátor-, hálózat- és hibafigyelést, olyan inverterbeállításokat, amelyeket csak akkor ír, ha az értékük valóban megváltozik, valamint távoli AC teljesítményvezérlést (SolaX távvezérlés, 1-es üzemmód) — parancsra tölti az akkumulátort a hálózatról, vagy kisüti a hálózatba, például a spot villamosenergia-árak szerint.

## Hogyan szerezheted meg a sablont

A közösségi sablonok nem szerepelnek a TapHome alkalmazás sablonlistájában. Jelentkezz be a portal.taphome.com oldalon, töltsd le a sablon XML-jét, és importáld a Core-ba a Modbus RTU interfészen (vagy Modbus TCP interfészen, ha RS-485–Ethernet átjárót használsz). Távoli teljesítményvezérlés nélküli monitorozáshoz elérhető a hivatalos [SolaX X3 Hybrid Ultra](https://taphome.com/hu/compatibility/solax-hybrid-ultra-x3/) sablon. A hivatalos sablonból korábban importált modul nem frissül magától — ezt a sablont új modulként importáld, a régit pedig távolítsd el.

## Hardver csatlakozás

Az X3-Ultra egyetlen többfunkciós **COM 1 porttal** rendelkezik (RJ45 csatlakozó címkézett kábelrögzítővel). Ugyanazok a fizikai csapok különböző funkciókat látnak el attól függően, hogy a kábelrögzítő melyik címkézett pozícióját használod. Harmadik féltől származó Modbus integrációhoz az **RS485** pozíciót használd — a **REMOTE_485A** és **REMOTE_485B** vezetékeket.

### COM 1 port pinout

![A SolaX X3-Ultra COM 1 port csapkiosztása mind a hat címkézett pozícióra (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)

Az **RS485 pozíció** csapkiosztása (az egyetlen pozíció, amely a TapHome szempontjából releváns):

| Csap | Jel | TapHome bekötés |
|------|-----|-----------------|
| **1** | **REMOTE_485A** | A+ / D+ |
| **2** | **REMOTE_485B** | B− / D− |
| 3 | PARALLEL_485AA | ne használd (csak SolaX kiegészítőkhöz) |
| 4 | PARALLEL_485AA | ne használd (csak SolaX kiegészítőkhöz) |
| 5 | PARALLEL_485BB | ne használd (csak SolaX kiegészítőkhöz) |
| 6 | PARALLEL_485BB | ne használd (csak SolaX kiegészítőkhöz) |
| **7** | **REMOTE_485A** | ugyanaz a jel, mint az 1. csapon |
| **8** | **REMOTE_485B** | ugyanaz a jel, mint a 2. csapon |

> [!WARNING]
> A 3–6. csapok a SolaX PARALLEL_485 csatornájához tartoznak, és SolaX termékek (Adapter Box G2, EV-Charger, DataHub) számára vannak fenntartva. Az 1., 2., 7. és 8. csap a nem SolaX gyártmányú eszközöknek szól. **Ne** csatlakoztass harmadik féltől származó Modbus mastert a 3–6. csapokhoz.

### RS-485 bekötés

![Az RJ45 terminál behelyezése a COM 1 kábelrögzítő RS485 pozíciójába](https://taphome.com/images/compatibility/solax-x3-ultra-power-control-modbus-rtu/wiring-rs485_hu_ac07cf89af382c1.jpg)

Bekötési szabályok az X3-Ultra felhasználói kézikönyvéből (8.6.4. fejezet):

- **Kábel típusa:** CAT5E vagy CAT6 hálózati kábel
- **Maximális hossz:** az RS-485 kommunikációs kábel nem lehet hosszabb **30 m**-nél
- **RJ45 terminál:** a kábel meglévő csatlakozóját le kell vágni, és a csapkiosztás szerint új RJ45 terminált kell krimpelni; nem minden eszköz fogadja el a teljesen bekötött 8 eres hálózati kábelt
- **Pozíció a kábelrögzítőn:** az RJ45 terminál az **RS485** címkéjű helyre kerül (nem a Parallel-1, Parallel-2, BMS-1, BMS-2 vagy DRM pozícióba); a csatlakozó bekattan a COM 1 portba, és a forgó anyával rögzíted
- **Egyetlen Modbus master:** a portot csak egy Modbus master használhatja. Az ugyanezen a porton lévő más Modbus monitorozást válaszd le, különben az inverter mindkettőnek válaszol, és a mért értékek instabillá válnak

A felhasználói kézikönyv nem ad szabályt az RS-485 busz lezárására a COM 1 RS485 pozícióján.

### Mérő vagy CT a hálózati értékekhez

A sablon hálózati eszközei (**Grid - power balance**, **A hálózatról**, **A hálózathoz**, **Fogyasztás**) azt a betáplálási teljesítményt olvassák, amelyet az inverter a saját mérőjével vagy CT-jével mér. A mérő vagy CT a **COM 2** portra csatlakozik (Meter/CT: METER_485A a 4. csapon, METER_485B az 5. csapon, vagy a CT bemenetek), és az inverter kijelzőjén a `Menu → Setting → Advance Setting → Meter/CT Setting` menüben állítható be. Ez egy külön RS-485 vonal — ne csatlakoztasd rá a TapHome-ot.

### Csatlakozási lehetőségek

- **Közvetlen Modbus RTU:** kösd a COM 1 RS485 érpárt közvetlenül a TapHome Core RS-485 buszára. Ez adja a legkisebb késleltetést, távoli teljesítményvezérléshez ezt ajánljuk.
- **RS-485–Ethernet átjáró:** ha az inverter messze van a TapHome Core-tól, a COM 1 RS485 érpáron harmadik féltől származó RS-485–Ethernet átjárót is használhatsz; a sablont ilyenkor Modbus TCP interfészen importálod.
- **SolaX monitorozó modul:** maga az inverter nem támogatja a Modbus TCP-t. A Modbus TCP (502-es port) csak SolaX monitorozó modulon keresztül érhető el, kb. 1 másodperces lekérdezési ciklussal (V3.29 protokoll).

## Konfiguráció

### A Modbus kommunikáció engedélyezése az inverteren

Az inverter LCD-jén lépj ide:

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

Az Advance Setting menühöz telepítői jelszó kell (a felhasználói kézikönyv szerint kezdetben **2014**, és a kézikönyv azt javasolja, hogy változtasd meg). A Modbus menüben állítsd be a külső kommunikációs protokoll **Baud Rate** és **Address** értékét:

| Paraméter | Sablon alapértelmezés | Inverter alapértelmezés (V3.29 protokoll) |
|-----------|-----------------------|-------------------------------------------|
| Modbus cím (Slave ID) | 1 | 1 |
| Baudráta | 19200 | 19200 |
| Paritás | None | None |
| Adatbitek | 8 | 8 |
| Stopbitek | 1 | 1 |

> [!WARNING]
> A baudrátának meg kell egyeznie az inverteren és a TapHome Modbus RTU interfészen. Ha a kommunikáció sikertelen, először a baudrátát ellenőrizd.

Az inverter a Modbus címet a `H:0x00AF`, a baudrátát a `H:0x00B0` holding regiszterben is közli (V3.29 protokoll).

### Importparaméter

A sablon importálásakor a **Modbus Slave ID** importparaméternek (alapértelmezés `1`) meg kell egyeznie az inverter kijelzőjén beállított Modbus címmel.

## Az eszköz képességei

### Energy Dashboard

| Eszköz | Mért érték |
|---|---|
| **PV gyártás** | PV1 + PV2 + PV3 bemeneti teljesítmény (`A:0x000A`, `A:0x000B`, `A:0x0124`) kW-ban; teljes PV energia (`A:0x0094`–`0x0095`) kWh-ban. A PV1–PV3 teljesítmény és az inverter teljes AC kimeneti energiája (`A:0x0052`) szervizattribútum. |
| **A hálózatról** / **A hálózathoz** | A hálózati teljesítmény vételezési és betáplálási része a mérőből vagy CT-ből (`A:0x0046`–`0x0047`, alsó szó elöl), a hozzájuk tartozó teljes energiaszámlálókkal (`A:0x004A` és `A:0x0048`, 0,01 kWh). |
| **Az akkumulátorhoz** / **Az akkumulátortól** | Az 1. akkumulátor teljesítményének (`A:0x0016`) töltési és kisütési része, a teljes töltött és kisütött energiával (`A:0x0021`, `A:0x001D`). |
| **Fogyasztás** | Számított háztartási fogyasztás: az inverter AC teljesítménye mínusz a hálózati betáplálás. A SolaX-nak nincs fogyasztási regisztere; az EPS (tartalék) kimenetre kötött fogyasztók nincsenek benne. |
| **Akkumulátor (SOC)** | Az 1. akkumulátor töltöttségi állapota (`A:0x001C`). A maradék és a még betölthető energia (`A:0x0118`, `A:0x0116`) szervizattribútum. |

### Energiamenedzser

Az Energiamenedzser smart rule-hoz a **Grid - power balance** eszközt válaszd. Előjeles: pozitív, amikor a hálózatból vételezel, negatív, amikor többletet táplálsz be. Az **A hálózatról** és az **A hálózathoz** mérő soha nem negatív, és nem mutatja a többletet.

### Monitorozás

- **Battery 2 - state of charge** — a második akkumulátorcsatlakozó (BAT 2), a teljesítményével és hőmérsékletével szervizattribútumként; második akkumulátor nélkül 0-t mutat
- **Battery - temperature** — előjeles értékként olvassa, így a 0 °C alatti hőmérséklet is helyesen jelenik meg
- **Inverter - AC power** — az inverter AC portján mért három fázisteljesítmény összege kW-ban
- **Grid - voltage L1** — a hálózati L2 és L3 feszültséggel, valamint a három hálózati frekvenciával szervizattribútumként

### Inverterbeállítások

| Eszköz | Olvasás | Írás |
|---|---|---|
| **Settings - work mode** | `H:0x008B`: Self use, Feed-in priority, Backup, Manual, Peak shaving, Time of use (az utolsó kettő a firmware-től függ) | `0x001F` |
| **Settings - manual mode** | `H:0x008C`: Stop charge and discharge, Force charge, Force discharge (csak Manual üzemmódban érvényes) | `0x0020` |
| **Settings - self-use minimum SOC** | a `H:0x0093` felső bájtja | `0x0061` |
| **Settings - night charge from grid** | a `H:0x0093` alsó bájtja | `0x0062` |
| **Settings - night charge target SOC** | `H:0x0094` | `0x0063` |
| **Settings - export limit** | `H:0x00B6`, kW-ban (X3-on egységenként 10 W) | `0x0042` |

A SolaX ezeket a beállításokat más címekről olvassa, mint ahová írja őket, ezért a TapHome beépített „csak eltérés esetén írjon" funkciója nem használható. Minden írási szkript ezért először kiolvassa a beállítást, és csak akkor ír (06-os funkció), ha az új érték eltér; ha az inverter zároltnak jelzi a beállításokat, előbb beírja a 2014-es beállítási jelszót a `0x0000` regiszterbe. A minimális SOC és az éjszakai töltési cél soha nem megy 10 % alá (a SolaX tartománya). Egyik eszköz sem ír időszakosan.

> [!WARNING]
> Ezek a beállítások EEPROM regiszterek (a SolaX ★ jellel jelöli őket, kb. 1 millió írási ciklus). Ritkán módosítsd őket, és soha ne gyakori automatizálásokból — a spot árak szerinti töltéshez és kisütéshez a **Remote control - AC power target** eszközt használd.

### Remote control - AC power target

Ez az eszköz a SolaX távvezérlés (VPP) 1-es üzemmódját használja — teljesítményvezérlés az inverter AC portján.

- **Előjel:** pozitív célérték esetén az inverter teljesítményt vesz fel az AC portján (tölti az akkumulátort, a hálózatból is, ha a PV nem elég); negatív célérték esetén teljesítményt ad le (kisüti az akkumulátort, és amit a ház nem használ fel, az a hálózatba kerül). Az érték kW-ban van.
- **0** befejezi a távvezérlést: a sablon egyszer beírja a 0-s üzemmódot, és az inverter visszatér a saját üzemmódjába. A 0,5 W alatti célérték 0-nak számít.
- **Bármely más érték:** ha az inverter zárolt, a sablon előbb beírja a 2014-es beállítási jelszót (a feloldás minden inverter-újraindítás után elvész), majd egyetlen Modbus kérésben (0x10-es funkció) beírja a `0x007C`–`0x0088` 13 regisztert: 1-es üzemmód, célérték, 120 s időtartam és 60 s időtúllépés. A parancs 60 másodpercenként ismétlődik, amíg a célérték nem 0. Ha a TapHome abbahagyja a küldést, az inverter legfeljebb 2 percig tartja a célértéket, további 1 percig 0 W-ot tart az AC portján, majd magától visszatér a saját üzemmódjába.
- **A Manual üzemmód blokkolja a távvezérlést.** A SolaX nem indítja el a távvezérlést, amíg az inverter Manual üzemmódban van — előbb kapcsold Self use (vagy más) üzemmódba.
- Az inverter a célértéket a modulattribútumokban látható tartományra korlátozza (a távvezérlés minimális és maximális célértéke).
- Az **End remote control** modulművelet azonnal beírja a 0-s üzemmódot. Amíg a célérték nem 0, a következő ismétlés újra elindítja a távvezérlést — a végleges leállításhoz állítsd a célértéket 0-ra.
- Ne kombináld ezt az eszközt a SolaX Cloudból vagy energiaaggregátortól érkező távvezérléssel: amíg a célérték 0, a sablon 60 másodpercen belül befejez minden távvezérlési üzemmódot.
- A távvezérléshez olyan Core kell, amely mind a 13 regisztert egy kérésben írja. 2022 óta ez minden Core-ra igaz, ha a modul megtartja a sablonból származó `MaxPrefetchGroupSize` 32 értéket.
- Az **Actual AC power** szervizattribútum az inverter által az AC portján jelentett hatásos teljesítményt mutatja W-ban (`A:0x0106`).

> [!WARNING]
> A SolaX a protokolljában nem jelöli EEPROM regiszterként a távvezérlési regisztereket (`0x007C`–`0x0088`), de írásban az ellenkezőjét sem erősíti meg. Ez a sablon a Home Assistant és az openHAB közösségek tapasztalatára támaszkodik, amelyek ezeket a regisztereket néhány másodperctől néhány percig terjedő időközönként írják.

### Modulattribútumok és -műveletek

- **Run mode** (szervizattribútum) — az inverter állapota szövegként: Waiting, Checking, Normal, Fault, Permanent fault, Update, Off-grid waiting, Off-grid, Self testing, Idle, Standby, Remote control (20-as kód); a többi kód Other-ként jelenik meg
- **Machine type** (szervizattribútum) — X1 (egyfázisú) vagy X3 (háromfázisú), `H:0x0105` holding regiszter
- **Settings lock** (szervizattribútum) — Locked vagy Unlocked (`A:0x0054`)
- **Remote control mode** (szervizattribútum) — az aktív távvezérlési üzemmód (`A:0x0100`): Off, Power control, Energy target, SOC target
- **Remote control - maximum target** / **minimum target** (szervizattribútumok) — az inverter által jelentett megengedett teljesítmény-céltartomány W-ban (`A:0x010A`, `A:0x010C`)
- **Unlock settings (password 2014)** (szervizművelet) — `2014`-et ír a `0x0000` regiszterbe
- **End remote control** (szervizművelet) — 0-s üzemmódot ír a `0x007C`–`0x0088` távvezérlési regiszterekbe

### Hibafelismerés

A modul olvasási szkriptje TapHome hibát jelez, ha az üzemmód (`A:0x0009`) értéke 3 (Fault) vagy 4 (Permanent fault). Emellett két hibaregisztert bitenként elemez, minden hibát saját hibakóddal:

- **Inverter hibakód** (32 bites, `A:0x0040`–`A:0x0041`, alsó szó elöl olvasva) — mind a 32 bit, a TZ Protect Faulttól a hálózati, PV-, busz- és akkumulátorfeszültség-hibákon, a szigetelési és túlmelegedési hibákon át a Parallel Faultig, a Hard Limit Faultig és a reléhibákig
- **Manager hibakód** (16 bites, `A:0x0043`) — Power Type Fault, Mgr EEPROM Fault, NTC Sample Invalid, alacsony és magas akkumulátor-hőmérséklet, Meter Fault, Bypass Relay Fault és Fan 2 Fault hibaként, Port OC Warning figyelmeztetésként

## Hibaelhárítás

### Nincs kommunikáció az inverterrel

1. Ellenőrizd, hogy az RS-485 vezetékek a **REMOTE_485A / REMOTE_485B** csapokon vannak (1 + 2 vagy 7 + 8 a COM 1 kábelrögzítő RS485 pozíciójában), nem a PARALLEL_485 3–6. csapokon, és nem a COM 2 mérővonalán
2. Ellenőrizd, hogy a baudráta egyezik az inverteren (`Menu → Setting → Advance Setting → Modbus`) és a TapHome Modbus RTU interfészen — alapértelmezés szerint 19200
3. Győződj meg róla, hogy a **Modbus Slave ID** importparaméter megegyezik az inverter Modbus címével (alapértelmezés `1`)
4. Győződj meg róla, hogy csak **egy** Modbus master csatlakozik a porthoz
5. Cseréld fel az A és B vezetéket, ha a kábel polaritása bizonytalan
6. Győződj meg róla, hogy az RS-485 kábel nem hosszabb **30 m**-nél

### A távvezérlési célérték a beállítás után rögtön visszaáll 0-ra

Az inverter Manual üzemmódban van, a firmware nem támogatja a távvezérlés 1-es üzemmódját, vagy a célérték kívül esik a modulattribútumokban látható minimális és maximális célértéken. Először az üzemmódot ellenőrizd.

### Az inverter elutasítja a beállítások írását

Az inverter zárolt. Futtasd az **Unlock settings (password 2014)** modulműveletet; a zárolás minden inverter-újraindítás után visszatér (**Settings lock** modulattribútum).

### A hálózati értékek 0-t mutatnak, vagy a Fogyasztás hibásnak tűnik

A **Grid - power balance**, az **A hálózatról**, az **A hálózathoz** és a **Fogyasztás** az inverter mérőjétől vagy CT-jétől függ. Ellenőrizd a bekötését a COM 2 porton és a beállítását a `Menu → Setting → Advance Setting → Meter/CT Setting` menüben.

### A PV3 teljesítmény vagy a Battery 2 0-t mutat

PV3 csak a háromkövetős modelleken van (például X3-ULT-25K és X3-ULT-30K, az MPPT-k számát lásd a felhasználói kézikönyvben); Battery 2 csak akkor, ha a BAT 2-re második akkumulátor csatlakozik. A nem használt eszközöket rejtsd el a TapHome-ban.

## Elérhető eszközök 19

Ezek az eszközök az importálás után jelennek meg a TapHome-ban.

SolaX X3-Ultra Modul

Szerviz attribútumok

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

Szerviz műveletek

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

Olvasás (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"));
```

Szerviz attribútumok

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"
```

Szerviz műveletek

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} Villanyóra

Szerviz attribútumok

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

Összes fogyasztás olvasása

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

Igény olvasása

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

Szerviz attribútumok

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 Villanyóra

Igény olvasása

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

${deviceType\_PVFromGrid} Villanyóra

Összes fogyasztás olvasása

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

Igény olvasása

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

${deviceType\_PVToGrid} Villanyóra

Összes fogyasztás olvasása

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

Igény olvasása

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

${deviceType\_PVToBattery} Villanyóra

Összes fogyasztás olvasása

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

Igény olvasása

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

${deviceType\_PVFromBattery} Villanyóra

Összes fogyasztás olvasása

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

Igény olvasása

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

${deviceType\_PVLoad} Villanyóra

Igény olvasása

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

${deviceType\_BatterySOC} Analóg bemenet

Szerviz attribútumok

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

Bemeneti szint olvasása

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

Szerviz attribútumok

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óg bemenet

Szerviz attribútumok

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

Bemeneti szint olvasása

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

Szerviz attribútumok

Battery 2 power

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

Battery 2 temperature

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

Battery - temperature Hőmérséklet-érzékelő

Hőmérséklet olvasása

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

Inverter - AC power Változó

Olvasás

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

Grid - voltage L1 Változó

Szerviz attribútumok

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

Olvasás

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

Szerviz attribútumok

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 Többértékű kapcsoló

Értékek / Állapotok: Self use · Feed-in priority · Backup · Manual · Peak shaving · Time of use

Kapcsoló állapot olvasása

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

Kapcsoló állapot írása

```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 Többértékű kapcsoló

Értékek / Állapotok: Stop charge and discharge · Force charge · Force discharge

Kapcsoló állapot olvasása

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

Kapcsoló állapot írása

```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 Fényerőszabályzó

Szint olvasása

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

Szint írása

```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 Kapcsoló

Értékek / Állapotok: ON · OFF

Kapcsoló állapot olvasása

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

Kapcsoló állapot írása

```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 Fényerőszabályzó

Szint olvasása

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

Szint írása

```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 Változó

Olvasás

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

Írás

```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 Változó

Szerviz attribútumok

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

Olvasás

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

Írás

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

Szerviz attribútumok

Actual AC power

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

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

## Importálási paraméterek

Ezeket az értékeket az XML importálásakor adja meg.

| Az alkalmazás kéri | Alapérték |
|--------------------|-----------|
| Modbus Slave ID    | `1`       |

## Kapcsolódó dokumentáció

- [Modbus Integration](https://taphome.com/hu/compatibility/modbus-guide/)
- [Modbus útmutató a TapHome készülékekhez](https://taphome.com/hu/docs/integration/modbus/)
- [Egyszerű konfiguráció sablonok használatával](https://taphome.com/hu/docs/integration/modbus/templates/)
- [Modbus szkriptek és prefetch](https://taphome.com/hu/docs/script/modbus-scripts/)
- [Modbus függvények](https://taphome.com/hu/docs/script/modbus/)
- [Modbus adattípusok](https://taphome.com/hu/docs/script/modbus-data-types/)

