---
title: "Orno OR-WE-517"
description: "Orno OR-WE-517 trojfázový multitarifný elektromer s Modbus RTU (RS-485). TapHome číta energiu po fázach aj celkovú a 4 tarifné počítadlá."
url: "https://taphome.com/sk/compatibility/orno-or-we-517/"
language: sk
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","electric-meter","rs485","3-phase","energy-metering","din-rail","multitariff"]
  questions: ["Ako integrovať Orno OR-WE-517 s TapHome?","Čo meria šablóna Orno OR-WE-517 v TapHome?","Ako pripojiť Orno OR-WE-517 cez RS-485 k TapHome?","Ako konfigurovať tarifné plány na OR-WE-517?","Aký je rozdiel medzi OR-WE-516 a OR-WE-517?","Ako nastaviť Modbus slave adresu na OR-WE-517?"]
---

# Orno OR-WE-517

Komunikácia: Modbus RTU

- [Oficiálna stránka Orno](https://www.orno.pl)

## Návod na integráciu

Orno OR-WE-517 je trojfázový multitarifný elektromer na DIN lištu, ktorý komunikuje cez Modbus RTU po RS-485. Ide o priame pripojenie s menovitým prúdom do 80 A na fázu, certifikáciou MID (smernica 2014/32/EÚ) a šírkou 4,3 modulu na lište TH-35. Šablóna TapHome poskytuje 11 elektromerov pokrývajúcich prúd po fázach, energiu po fázach, celkovú trojfázovú energiu a 4-tarifné počítadlá energie spolu so servisnými atribútmi pre napätie, jalový/zdanlivý výkon, účinník a obojsmerné (príjem/výdaj) rozdelenie energie.

Všetky meracie registre používajú kódovanie IEEE 754 Float32 (2 Modbus slová na hodnotu), čítané cez funkčný kód 03 (holding registre). Šablóna tiež poskytuje servisné akcie na nastavenie hodín reálneho času merača, konfiguráciu tarifných plánov a zmenu Modbus slave ID.

## Hardvérové zapojenie

### Kabeláž RS-485

OR-WE-517 má zabudované rozhranie RS-485 pre Modbus RTU komunikáciu. Pripojte merač k TapHome Core RS-485 zbernici pomocou tienených komunikačných káblov s dvoma žilami:

- **A** svorka na merači k **A+/D+** na TapHome RS-485
- **B** svorka na merači k **B-/D-** na TapHome RS-485

> [!WARNING]
> Použite zapojenie typu **daisy-chain**. Hviezdicová alebo odbočková topológia spôsobuje odrazy signálu a chyby komunikácie. Prepojenie medzi konvertorom a meračom by malo byť realizované tieným komunikačným káblom prispôsobeným štandardu RS-485.

> [!TIP]
> Na úvodné nastavenie a testovanie je možné použiť aj štandardný USB-RS485 konvertor. Konvertor nie je súčasťou balenia merača.

## Konfigurácia

### Komunikačné parametre

Predvolené nastavenia Modbus zodpovedajú šablóne TapHome bez nutnosti úprav:

| Parameter | Predvolené | Rozsah |
|-----------|------------|--------|
| Prenosová rýchlosť | 9600 bps | 1200, 2400, 4800, 9600 |
| Dátové bity | 8 | Fixné |
| Parita | Párna | Fixná |
| Stop bity | 1 | Fixné |
| Slave ID | 1 | 1--255 |

Komunikačný rámec používa 11-bitový formát: 1 štart bit, 8 dátových bitov, 1 bit párnej parity a 1 stop bit s kontrolou CRC.

### Slave ID

Pri pripojení viacerých meračov na tú istú RS-485 zbernicu musí mať každý merač unikátne Slave ID. Predvolené Slave ID je 1 (konfigurovateľné od 1 do 255 cez holding register H:2). Po importovaní šablóny TapHome upravte Slave ID v nastaveniach pripojenia modulu tak, aby zodpovedalo fyzickému meraču. Šablóna tiež poskytuje servisnú akciu **Slave ID** na vzdialenú zmenu adresy cez Modbus.

Aktuálne Slave ID a prenosová rýchlosť sú viditeľné na LCD displeji merača (stránky 42 a 43).

## Možnosti zariadenia

Šablóna vytvára 11 zariadení ModbusElectricityMeter a ModbusVariable organizovaných do štyroch skupín: snímače prúdu po fázach, elektromery po fázach, celkové trojfázové zariadenie a tarifné počítadlá energie.

### Monitorovanie prúdu po fázach

Tri zariadenia poskytujú meranie prúdu v reálnom čase pre každú fázu:

- **L1 Prúd** — prúd fázy 1 (H:22, A) s napätím L1 ako servisný atribút (H:14, V)
- **L2 Prúd** — prúd fázy 2 (H:24, A) s napätím L2 (H:16, V)
- **L3 Prúd** — prúd fázy 3 (H:26, A) s napätím L3 (H:18, V)

### Meranie energie po fázach

Tri zariadenia sledujú spotrebu činnej energie a výkonový odber po fázach s komplexnou sadou servisných atribútov:

- **Fáza L1** — celková činná energia (H:258, kWh) a činný výkon (H:30, kW). Servisné atribúty zahŕňajú napätie, prúd, jalový výkon (kVAr), zdanlivý výkon (kVA), účinník a obojsmerné počítadlá energie (príjem/výdaj činnej a jalovej energie).
- **Fáza L2** — celková činná energia (H:260, kWh) a činný výkon (H:32, kW). Rovnaké servisné atribúty po fázach ako L1.
- **Fáza L3** — celková činná energia (H:262, kWh) a činný výkon (H:34, kW). Rovnaké servisné atribúty po fázach ako L1.

### Celková trojfázová energia

Jedno zariadenie poskytuje systémové súčty:

- **Celková energia (3-fázová)** — celková činná energia (H:256, kWh) a celkový odber činného výkonu (H:28, kW). Servisné atribúty zahŕňajú frekvenciu siete (Hz), celkový jalový výkon (kVAr), celkový zdanlivý výkon (kVA), celkový účinník a obojsmerné počítadlá energie (príjem/výdaj činnej a jalovej energie).

### Tarifné počítadlá energie

Štyri zariadenia sledujú kumulatívnu energiu podľa tarifných pásiem (T1--T4):

- **Tarifa T1** až **Tarifa T4** — každá uvádza celkovú činnú energiu (kWh) so servisnými atribútmi pre príjem/výdaj činnej energie a príjem/výdaj/celkovú jalovú energiu. Tarifné merače sledujú iba kumulatívnu energiu, nie okamžitý výkonový odber.

Merač podporuje až 8 časových intervalov denne (pondelok až nedeľa jednotlivo) na priradenie tarifných pásiem T1--T4. Tarifné plány sú konfigurovateľné cez servisnú akciu **Set Tariffs**, ktorá umožňuje naprogramovať intervaly pre konkrétny deň alebo všetky dni naraz.

> [!TIP]
> 4-tarifná schopnosť je kľúčovým odlíšením OR-WE-517 oproti OR-WE-516 (ktorý podporuje RS-485, ale nemá tarifné plánovanie). OR-WE-513 nemá ani RS-485 ani podporu taríf.

### Servisné akcie

Šablóna poskytuje štyri servisné akcie na vzdialenú konfiguráciu:

- **Date/Time** — nastavenie interných hodín reálneho času merača (rok, mesiac, deň, hodina, minúty, sekundy a deň v týždni) cez registre H:60--H:65
- **Set Tariffs** — konfigurácia až 8 denných tarifných intervalov (T1--T4) pre vybraný deň alebo všetky dni naraz, zápis do registrov tarifného plánu od H:768
- **LCD Cycle time** — nastavenie intervalu automatického posúvania LCD displeja (1--120 sekúnd)
- **Slave ID** — zmena Modbus adresy merača (1--255) cez holding register H:2

### Ďalšie možnosti

OR-WE-517 tiež sprístupňuje registre pre celkovú jalovú energiu po fázach (L1/L2/L3), sériové číslo, verziu firmvéru a hardvéru, kombinovaný konfiguračný kód a register priradenia taríf pre sviatky/víkendy. Tieto je možné pridať v budúcej aktualizácii šablóny.

## Riešenie problémov

### Žiadna komunikácia

1. Overte zapojenie svoriek RS-485 A/B -- vymeňte A a B, ak komunikácia nefunguje, pretože konvencie označovania sa líšia medzi výrobcami
2. Potvrďte, že prenosová rýchlosť v TapHome zodpovedá nastaveniu merača (predvolená 9600 bps, viditeľná na LCD stránke 43)
3. Overte, že Slave ID zodpovedá (predvolené 1, viditeľné na LCD stránke 42 vo formáte "Id 255", kde 255 je aktuálna adresa)
4. Skontrolujte, že nastavenie parity je **Even** (8E1) -- tento merač štandardne používa párnu paritu, na rozdiel od niektorých meračov, ktoré majú predvolenú žiadnu paritu (8N1)

### Nesprávne údaje

1. Uistite sa, že merač je zapojený ako trojfázový 4-vodičový systém so všetkými tromi fázovými vodičmi a neutrálnym vodičom prepojenými cez svorky merača
2. Pre obojsmerné meranie (príjem/výdaj energie) overte smer CT alebo smeru vodiča podľa toku energie -- obrátená kabeláž spôsobí, že prijímaná energia sa zaregistruje ako odoslaná

### Komunikácia cez Ethernet konvertor

OR-WE-517 je možné pripojiť aj cez RS-485 na Ethernet konvertor (napr. Waveshare RS485 to ETH). Pri použití takéhoto konvertora musí byť typ protokolu nastavený na **RTU over TCP** (nie štandardný Modbus TCP). Štandardné TCP rámovanie s týmto meračom nefunguje.

## Dostupné zariadenia 11

Tieto zariadenia sa po importe zobrazia v TapHome.

Orno OR-WE-517 Modul

Servisné atribúty

|                    |                                                                                          |
|--------------------|------------------------------------------------------------------------------------------|
| Slave ID           |                                                                                          |
| Prenosová rýchlosť |                                                                                          |
| Čas cyklu LCD      |                                                                                          |
| Pomer CT           | Prevod prúdového transformátora — platí len pre merače typu CT, nie pre priame zapojenie |
| Výstupná sadzba S0 |                                                                                          |
| Čas                | Aktuálny dátum a čas z interných hodín reálneho času merača                              |
| Tarify (Po)        |                                                                                          |
| Tarify (Ut)        |                                                                                          |
| Tarify (St)        |                                                                                          |
| Tarify (Št)        |                                                                                          |
| Tarify (Pi)        |                                                                                          |
| Tarify (So)        |                                                                                          |
| Tarify (Ne)        |                                                                                          |

Servisné akcie

|                 |                                                                                                       |
|-----------------|-------------------------------------------------------------------------------------------------------|
| Dátum/Čas       | Nastaví interné hodiny reálneho času merača — dátum, čas a deň v týždni pre prevádzku tarifného plánu |
| Nastaviť tarify | Konfigurácia až 8 denných tarifných intervalov (T1–T4) pre vybraný deň alebo všetky dni naraz         |
| Slave ID        | Zmena adresy Modbus slave (1–255) pre konfigurácie zbernice RS-485 s viacerými meračmi                |
| Čas cyklu LCD   | Nastavenie intervalu automatického posúvania LCD displeja v sekundách                                 |

Servisné atribúty

${device\_SlaveId}

```taphome
modbusr(H, 0x02, Uint16)
```

${baud\_rate} \[bps]

```taphome
modbusr(H, 0x03, Uint16)
```

LCD ${cycle\_time} \[s]

```taphome
modbusr(H, 0x0d, Uint16)
```

CT Rate

```taphome
modbusr(H, 0x08, Uint16)
```

S0 output rate \[imp/kWh]

```taphome
modbusr(H, 0x09, Float)
```

${time}

```taphome
var ret := modbusr(H, 0x3c, Uint32);
var ret1 := modbusr(H, 0x3e, Uint16);
var xx := modbusr(H, 0x40, Uint16);
tostring(getbyte(ret,1), "X2") 
+ ":" + tostring(getbyte(ret,2), "X2")
+ ":" + tostring(getbyte(ret,3), "X2")
+ " " + switch(getbyte(ret,0), 
1, "(Mo)",
2, "(Tu)",
3, "(We)",
4, "(Th)",
5, "(Fr)",
6, "(Sa)",
7, "(Su)", "Err")
+ " " + tostring(getbyte(ret1,1), "X2")
+ "." + tostring(getbyte(ret1,0), "X2")
+ ".20" + modbusr(H, 0x3f, LittleEndianUint16);

```

${tariff}s (Mo)

```taphome
var wd1 := modbusr(H, 0x300, Uint32);
var wd2 := modbusr(H, 0x300 +2, Uint32);
var wd3 := modbusr(H, 0x300 +4, Uint32);
var wd4 := modbusr(H, 0x300 +6, Uint32);
var wd5 := modbusr(H, 0x300 +8, Uint32);
var wd6 := modbusr(H, 0x300 +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

${tariff}s (Tu)

```taphome
var wd1 := modbusr(H, 0x30c, Uint32);
var wd2 := modbusr(H, 0x30c +2, Uint32);
var wd3 := modbusr(H, 0x30c +4, Uint32);
var wd4 := modbusr(H, 0x30c +6, Uint32);
var wd5 := modbusr(H, 0x30c +8, Uint32);
var wd6 := modbusr(H, 0x30c +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

${tariff}s (We)

```taphome
var wd1 := modbusr(H, 0x318, Uint32);
var wd2 := modbusr(H, 0x318 +2, Uint32);
var wd3 := modbusr(H, 0x318 +4, Uint32);
var wd4 := modbusr(H, 0x318 +6, Uint32);
var wd5 := modbusr(H, 0x318 +8, Uint32);
var wd6 := modbusr(H, 0x318 +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

${tariff}s (Th)

```taphome
var wd1 := modbusr(H, 0x324, Uint32);
var wd2 := modbusr(H, 0x324 +2, Uint32);
var wd3 := modbusr(H, 0x324 +4, Uint32);
var wd4 := modbusr(H, 0x324 +6, Uint32);
var wd5 := modbusr(H, 0x324 +8, Uint32);
var wd6 := modbusr(H, 0x324 +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

${tariff}s (Fr)

```taphome
var wd1 := modbusr(H, 0x330, Uint32);
var wd2 := modbusr(H, 0x330 +2, Uint32);
var wd3 := modbusr(H, 0x330 +4, Uint32);
var wd4 := modbusr(H, 0x330 +6, Uint32);
var wd5 := modbusr(H, 0x330 +8, Uint32);
var wd6 := modbusr(H, 0x330 +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

${tariff}s (Sa)

```taphome
var wd1 := modbusr(H, 0x33c, Uint32);
var wd2 := modbusr(H, 0x33c +2, Uint32);
var wd3 := modbusr(H, 0x33c +4, Uint32);
var wd4 := modbusr(H, 0x33c +6, Uint32);
var wd5 := modbusr(H, 0x33c +8, Uint32);
var wd6 := modbusr(H, 0x33c +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

${tariff}s (Su)

```taphome
var wd1 := modbusr(H, 0x348, Uint32);
var wd2 := modbusr(H, 0x348 +2, Uint32);
var wd3 := modbusr(H, 0x348 +4, Uint32);
var wd4 := modbusr(H, 0x348 +6, Uint32);
var wd5 := modbusr(H, 0x348 +8, Uint32);
var wd6 := modbusr(H, 0x348 +10, Uint32);

var out := "";
if ( getbyte(wd1,1) != 0, out := out +
    "[" + tostring(getbyte(wd1,3), "X2") + ":" + tostring(getbyte(wd1,2), "X2") + "-T" + tostring(getbyte(wd1,1), "X2") + "]" );
if ( getbyte(wd2,2) != 0, out := out +
    "[" + tostring(getbyte(wd1,0), "X2") + ":" + tostring(getbyte(wd2,3), "X2") + "-T" + tostring(getbyte(wd2,2), "X2") + "]" );
if ( getbyte(wd3,3) != 0, out := out +
    "[" + tostring(getbyte(wd2,1), "X2") + ":" + tostring(getbyte(wd2,0), "X2") + "-T" + tostring(getbyte(wd3,3), "X2") + "]" );
if ( getbyte(wd3,0) != 0, out := out +
    "[" + tostring(getbyte(wd3,2), "X2") + ":" + tostring(getbyte(wd3,1), "X2") + "-T" + tostring(getbyte(wd3,0), "X2") + "]" );
if ( getbyte(wd4,1) != 0, out := out +
    "[" + tostring(getbyte(wd4,3), "X2") + ":" + tostring(getbyte(wd4,2), "X2") + "-T" + tostring(getbyte(wd4,1), "X2") + "]" );
if ( getbyte(wd5,2) != 0, out := out +
    "[" + tostring(getbyte(wd4,0), "X2") + ":" + tostring(getbyte(wd5,3), "X2") + "-T" + tostring(getbyte(wd5,2), "X2") + "]" );
if ( getbyte(wd6,3) != 0, out := out +
    "[" + tostring(getbyte(wd5,1), "X2") + ":" + tostring(getbyte(wd5,0), "X2") + "-T" + tostring(getbyte(wd6,3), "X2") + "]" );
if ( getbyte(wd6,0) != 0, out := out +
    "[" + tostring(getbyte(wd6,2), "X2") + ":" + tostring(getbyte(wd6,1), "X2") + "-T" + tostring(getbyte(wd6,0), "X2") + "]" );

return(out)
```

Servisné akcie

Date/Time

Parametre: Year (22–99 YY), Month (1–12 MM), Day (1–31 DD), Hour (1–24 HH), Minutes (0–59 MI), Seconds (0–59 SS), Day of Week

```taphome
var out1 := (tobcd(MI) << 8) + tobcd(SS);
var out2 := (tobcd(DW) << 8) + tobcd(HH);
var out3 := (tobcd(MM) << 8) + tobcd(DD);

modbusw(H, 0x3c, LittleEndianUint16, out1, out2, out3, YY);
```

${set\_tarriffs}

Parametre: Interval 1 - ${hour} (0–23 HH1), Interval 1 - ${minutes} (0–59 MI1), Interval 1 - ${tariff} (0–4 T1), Interval 2 - Hour (0–23 HH2), Interval 2 - Minutes (0–59 MI2), Interval 2 - ${tariff} (0–4 T2), Interval 3 - Hour (0–23 HH3), Interval 3 - Minutes (0–59 MI3), Interval 3 - ${tariff} (0–4 T3), Interval 4 - Hour (0–23 HH4), Interval 4 - Minutes (0–59 MI4), Interval 4 - ${tariff} (0–4 T4), Interval 5 - Hour (0–23 HH5), Interval 5 - Minutes (0–59 MI5), Interval 5 - ${tariff} (0–4 T5), Interval 6 - Hour (0–23 HH6), Interval 6 - Minutes (0–59 MI6), Interval 6 - ${tariff} (0–4 T6), Interval 7 - Hour (0–23 HH7), Interval 7 - Minutes (0–59 MI7), Interval 7 - ${tariff} (0–4 T7), Interval 8 - Hour (0–23 HH8), Interval 8 - Minutes (0–59 MI8), Interval 8 - ${tariff} (0–4 T8), Day

```taphome
var wd1 := (tobcd(HH1) << 24) + (tobcd(MI1) << 16) + (tobcd(T1) << 8) + tobcd(HH2);
var wd2 := (tobcd(MI2) << 24) + (tobcd(T2) << 16) + (tobcd(HH3) << 8) + tobcd(MI3);
var wd3 := (tobcd(T3) << 24) + (tobcd(HH4) << 16) + (tobcd(MI4) << 8) + tobcd(T4);
var wd4 := (tobcd(HH5) << 24) + (tobcd(MI5) << 16) + (tobcd(T5) << 8) + tobcd(HH6);
var wd5 := (tobcd(MI6) << 24) + (tobcd(T6) << 16) + (tobcd(HH7) << 8) + tobcd(MI7);
var wd6 := (tobcd(T7) << 24) + (tobcd(HH8) << 16) + (tobcd(MI8) << 8) + tobcd(T8);

if DoW = 0 or DoW = 1
    modbusw(H, 0x300, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
if DoW = 0 or DoW = 2
    modbusw(H, 0x30c, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
if DoW = 0 or DoW = 3
    modbusw(H, 0x318, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
if DoW = 0 or DoW = 4
    modbusw(H, 0x324, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
if DoW = 0 or DoW = 5
    modbusw(H, 0x330, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
if DoW = 0 or DoW = 6
    modbusw(H, 0x33c, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
if DoW = 0 or DoW = 7
    modbusw(H, 0x348, Uint32, wd1, wd2, wd3, wd4, wd5, wd6);
end
```

Slave ID

Parametre: Parameter1 (1–255 ID)

```taphome
modbusw(H, 0x02, Uint16, ID)
```

LCD Cycle time

Parametre: Time \[s] (1–120 t)

```taphome
modbusw(H, 0x0d, Uint16, t)
```

Prúd L1 Premenná Len na čítanie

Register: H:22 Float Jednotka: A

Servisné atribúty

|            |
|------------|
| Napätie L1 |

Čítanie

```taphome
MODBUSR(H, 22, Float)
```

Servisné atribúty

L1 ${electric\_voltage} \[V]

```taphome
round(modbusr(H, 0x0e, Float)*10)/10
```

Prúd L2 Premenná Len na čítanie

Register: H:24 Float Jednotka: A

Servisné atribúty

|            |
|------------|
| Napätie L2 |

Čítanie

```taphome
MODBUSR(H, 24, Float)
```

Servisné atribúty

L2 ${electric\_voltage} \[V]

```taphome
round(modbusr(H, 0x10, Float)*10)/10
```

Prúd L3 Premenná Len na čítanie

Register: H:26 Float Jednotka: A

Servisné atribúty

|            |
|------------|
| Napätie L3 |

Čítanie

```taphome
MODBUSR(H, 26, Float)
```

Servisné atribúty

L3 ${electric\_voltage} \[V]

```taphome
round(modbusr(H, 0x12, Float)*10)/10
```

Fáza L1 Elektromer Len na čítanie

Merač energie fázy 1 — celková činná energia a činný výkon s napätím, prúdom, jalový/zdanlivý výkon, účinník a obojsmerné počítadlá energie

Register: H:258 (readtotalconsumption), H:30 (readdemand) Float Jednotka: kWh / kW

Servisné atribúty

|                        |
|------------------------|
| Napätie                |
| Prúd                   |
| Jalový výkon           |
| Zdanlivý výkon         |
| Účinník                |
| Činná energia odber    |
| Činná energia dodávka  |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x102, Float)
```

Čítanie odberu

```taphome
MODBUSR(H, 0x1e, Float)
```

Servisné atribúty

${electric\_voltage} \[V]

```taphome
tostring(modbusr(H, 0x0e,Float), "F2")
```

${electric\_current} \[A]

```taphome
tostring(modbusr(H, 0x16,Float), "F2")
```

${reactive\_power} \[kVAr]

```taphome
tostring(modbusr(H, 0x26,Float), "F2")
```

${apparent\_power} \[kVA]

```taphome
tostring(modbusr(H, 0x2e,Float), "F2")
```

${power\_factor}

```taphome
tostring(modbusr(H, 0x36,Float), "F2")
```

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x10a,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x112,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x122,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x12a,Float), "F2")
```

Fáza L2 Elektromer Len na čítanie

Register: H:260 (readtotalconsumption), H:32 (readdemand) Float Jednotka: kWh / kW

Servisné atribúty

|                        |
|------------------------|
| Napätie                |
| Prúd                   |
| Jalový výkon           |
| Zdanlivý výkon         |
| Účinník                |
| Činná energia odber    |
| Činná energia dodávka  |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x104, Float)
```

Čítanie odberu

```taphome
MODBUSR(H, 0x20, Float)
```

Servisné atribúty

${electric\_voltage} \[V]

```taphome
tostring(modbusr(H, 0x10,Float), "F2")
```

${electric\_current} \[A]

```taphome
tostring(modbusr(H, 0x18,Float), "F2")
```

${reactive\_power} \[kVAr]

```taphome
tostring(modbusr(H, 0x28,Float), "F2")
```

${apparent\_power} \[kVA]

```taphome
tostring(modbusr(H, 0x30,Float), "F2")
```

${power\_factor}

```taphome
tostring(modbusr(H, 0x38,Float), "F2")
```

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x10c,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x114,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x124,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x12c,Float), "F2")
```

Fáza L3 Elektromer Len na čítanie

Register: H:262 (readtotalconsumption), H:34 (readdemand) Float Jednotka: kWh / kW

Servisné atribúty

|                        |
|------------------------|
| Napätie                |
| Prúd                   |
| Jalový výkon           |
| Zdanlivý výkon         |
| Účinník                |
| Činná energia odber    |
| Činná energia dodávka  |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x106, Float)
```

Čítanie odberu

```taphome
MODBUSR(H, 0x22, Float)
```

Servisné atribúty

${electric\_voltage} \[V]

```taphome
tostring(modbusr(H, 0x12,Float), "F2")
```

${electric\_current} \[A]

```taphome
tostring(modbusr(H, 0x1a,Float), "F2")
```

${reactive\_power} \[kVAr]

```taphome
tostring(modbusr(H, 0x2a,Float), "F2")
```

${apparent\_power} \[kVA]

```taphome
tostring(modbusr(H, 0x32,Float), "F2")
```

${power\_factor}

```taphome
tostring(modbusr(H, 0x3a,Float), "F2")
```

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x10e,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x116,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x126,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x12e,Float), "F2")
```

Tarif T1 Elektromer Len na čítanie

Kumulatívny počítadlo energie tarify 1 — celková činná energia s rozpisom pre odber/dodávku činnej a jalovej energie

Register: H:304 (readtotalconsumption) Float Jednotka: kWh

Servisné atribúty

|                        |
|------------------------|
| Činná energia odber    |
| Činná energia dodávka  |
| Celková jalová energia |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x130, Float)
```

Servisné atribúty

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x132,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x134,Float), "F2")
```

${total\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x136,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x138,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x13a,Float), "F2")
```

Tarif T2 Elektromer Len na čítanie

Register: H:316 (readtotalconsumption) Float Jednotka: kWh

Servisné atribúty

|                        |
|------------------------|
| Činná energia odber    |
| Činná energia dodávka  |
| Celková jalová energia |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x13c, Float)
```

Servisné atribúty

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x13e,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x140,Float), "F2")
```

${total\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x142,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x144,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x146,Float), "F2")
```

Tarif T3 Elektromer Len na čítanie

Register: H:328 (readtotalconsumption) Float Jednotka: kWh

Servisné atribúty

|                        |
|------------------------|
| Činná energia odber    |
| Činná energia dodávka  |
| Celková jalová energia |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x148, Float)
```

Servisné atribúty

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x14a,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x14c,Float), "F2")
```

${total\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x14e,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x150,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x152,Float), "F2")
```

Tarif T4 Elektromer Len na čítanie

Register: H:340 (readtotalconsumption) Float Jednotka: kWh

Servisné atribúty

|                        |
|------------------------|
| Činná energia odber    |
| Činná energia dodávka  |
| Celková jalová energia |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x154, Float)
```

Servisné atribúty

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x156,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x158,Float), "F2")
```

${total\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x15a,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x15c,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x15e,Float), "F2")
```

Celková energia (3-fázová) Elektromer Len na čítanie

Celkový 3-fázový systém — činná energia a odber výkonu s frekvenciou siete, jalový/zdanlivý výkon, účinník a obojsmerné počítadlá energie

Register: H:256 (readtotalconsumption), H:28 (readdemand) Float Jednotka: kWh / kW

Servisné atribúty

|                        |
|------------------------|
| Frekvencia siete       |
| Celkový jalový výkon   |
| Celkový zdanlivý výkon |
| Celkový účinník        |
| Činná energia odber    |
| Činná energia dodávka  |
| Jalová energia odber   |
| Jalová energia dodávka |

Čítanie celkovej spotreby

```taphome
MODBUSR(H, 0x100, Float)
```

Čítanie odberu

```taphome
MODBUSR(H, 0x1c, Float)
```

Servisné atribúty

${grid\_frequency} \[Hz]

```taphome
tostring(modbusr(H, 0x14,Float), "F2")
```

${reactive\_power} \[kVAr]

```taphome
tostring(modbusr(H, 0x24,Float), "F2")
```

${apparent\_power} \[kVA]

```taphome
tostring(modbusr(H, 0x2c,Float), "F2")
```

${power\_factor}

```taphome
tostring(modbusr(H, 0x34,Float), "F2")
```

${forward\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x108,Float), "F2")
```

${reverse\_active\_energy} \[kWh]

```taphome
tostring(modbusr(H, 0x110,Float), "F2")
```

${forward\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x120,Float), "F2")
```

${reverse\_reactive\_energy} \[kVArh]

```taphome
tostring(modbusr(H, 0x128,Float), "F2")
```

**Pripojenie:** Modbus RTU • 9600 baud• 8E1 • Slave ID: $\[SlaveId]

Možné vylepšenia (9)

- H:280 Total Reactive Energy — Aggregate reactive energy counter (sum of all phases)
- H:282 L1 Reactive Energy — Per-phase reactive energy — only forward/reverse reactive exposed, not total per-phase
- H:284 L2 Reactive Energy — Per-phase reactive energy
- H:286 L3 Reactive Energy — Per-phase reactive energy
- H:0 Serial Number — 4-byte serial number, read-only
- H:4 Software Version — Firmware version as float
- H:6 Hardware Version — Hardware version as float
- H:11 Combined Code — Configuration code, R/W
- H:12 HOLIDAY-WEEKEND T — Holiday/weekend tariff assignment

## Parametre importu

Tieto hodnoty zadáte pri importe XML.

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

## Zdroje

- Orno OR-WE-517 Modbus Register Map
  
  2026-03-27
  
  [PDF](https://taphome.com/compatibility/devices/orno-or-we-517/manufacturer/Orno%20OR-WE-517.pdf)
- OR-WE-513/516/517 Installation Manual
  
  [files.orno.pl](https://files.orno.pl/manuals/OR-WE-513,516,517_manual_EN.pdf) 2026-03-27
  
  [PDF](https://taphome.com/compatibility/devices/orno-or-we-517/manufacturer/installation-manual.pdf)
- Home Assistant Community — OR-WE-517 Modbus Configuration
  
  [community.home-assistant.io](https://community.home-assistant.io/t/configuration-of-the-orno-or-we-517-three-phase-meter-waveshare-rs485-to-eth-converter/778679) 2026-03-27

Dokumenty výrobcov sú © ich príslušných vlastníkov. Poskytujeme ich tak, ako ich zverejnil výrobca, len na informačné účely.

## 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/)

