TapHome

Orno OR-WE-515

Modbus RTU
Pridal
Posledná aktualizácia: 03. 2026
Orno OR-WE-515

Orno OR-WE-515 je jednofázový multitarifný elektromer na DIN lištu, ktorý komunikuje cez Modbus RTU po RS-485. So šírkou iba 18 mm (1 DIN modul) meria činnú energiu, jalovú energiu, napätie, prúd, výkon, účinník a frekvenciu. Hlavný rozdiel oproti jednoduchšiemu OR-WE-514 je podpora 4 nezávislých tarifov (špička, vysoký, nízky, plochý) s konfigurovateľným plánovaním časových pásiem a vstavanou lítiovou batériou pre hodiny reálneho času.

TapHome šablóna poskytuje 6 zariadení: celkový elektromer s okamžitým príkonom, 4 samostatné tarifné počítadlá (T1–T4) a snímač elektrického prúdu. Servisné akcie na úrovni modulu umožňujú konfigurovať tarifné plány, nastaviť hodiny RTC, zmeniť Modbus slave adresu, upraviť prenosovú rýchlosť a ovládať čas cyklovania LCD displeja — všetko vzdialene cez TapHome.

Hardvérové pripojenie

Zapojenie RS-485

OR-WE-515 má 3-svorkovú RS-485 rozhranie na pravej strane elektromera. Pripojte pomocou reťazovej (daisy-chain) topológie:

  • Svorka 23 (A) na A+/D+ na TapHome RS-485
  • Svorka 24 (G) na GND na TapHome RS-485
  • Svorka 25 (B) na B-/D- na TapHome RS-485

Ostatné svorky slúžia na pripojenie silovej linky: Svorka 1 je L-IN (vstup fázy), Svorka 3 je L-OUT (výstup fázy) a dve svorky N sú pre nulový vodič.

Ak RS-485 prevodník nemá svorku G (zem), pripojenie uzemnenia na svorke 24 je možné vynechať. Pre spoľahlivú komunikáciu na dlhších káblových trasách sa však pripojenie GND odporúča.

Pred inštaláciou vždy odpojte napájanie. Elektromer zvláda prúd až 100 A cez svoje svorky. Zabezpečte správny prierez vodičov (skrutkové svorky až do 25 mm2) a po zapojení uzavrite kryt svoriek.

Konfigurácia

Komunikačné parametre

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

ParameterPredvolená hodnotaMožnosti
Prenosová rýchlosť96001200, 2400, 4800, 9600
Dátové bity8Fixné
ParitaEvenFixná (8E1)
Stop bity1Fixné
Slave ID11–255

Hlavička PDF dokumentácie registrov uvádza „N81" (bez parity), ale inštalačný manuál a komunitné implementácie (Arduino knižnica, AGG Software) konzistentne potvrdzujú 8E1 (párna parita) ako správne nastavenie. V TapHome použite párnu paritu.

Slave ID

Pri pripojení viacerých elektromerov na rovnakú zbernicu RS-485 musí mať každý elektromer jedinečné Slave ID. Predvolené Slave ID je 1, konfigurovateľné v rozsahu 1–255. TapHome šablóna obsahuje servisnú akciu Set Slave ID, ktorá zapisuje do holding registra H:272 a umožňuje vzdialenú zmenu adresy bez fyzického prístupu k elektromeru.

Prenosová rýchlosť

Prenosovú rýchlosť je možné zmeniť vzdialene cez servisnú akciu Set Baud Rate. Dostupné možnosti sú 1200, 2400, 4800 a 9600 bps. Hodnota je uložená v holding registri H:273 ako kódované celé číslo (1=1200, 2=2400, 3=4800, 4=9600). Po zmene prenosovej rýchlosti aktualizujte nastavenia pripojenia modulu v TapHome.

Schopnosti zariadenia

Šablóna vytvára 6 zariadení organizovaných do dvoch skupín: meranie energie a meranie prúdu. Všetky registre používajú Modbus funkčný kód 03H (holding registre).

Meranie energie

Päť zariadení ModbusElectricityMeter sleduje spotrebu energie:

  • Total Energy — celková činná energia (H:40960, UInt32 / 100 na kWh) a okamžitý činný príkon (H:320, Int32 / 1000 na kW). Toto zariadenie obsahuje 4 servisné atribúty: frekvencia siete (Hz), jalový výkon (kVAr), zdanlivý výkon (kVA) a účinník (0,000–1,000).
  • Tariff T1 — činná energia akumulovaná počas tarifných období 1 (H:40962, UInt32 / 100 na kWh). Obsahuje servisný atribút jalovej energie pre T1 (kVArh).
  • Tariff T2 — činná energia akumulovaná počas tarifných období 2 (H:40964, UInt32 / 100 na kWh). Obsahuje servisný atribút jalovej energie pre T2 (kVArh).
  • Tariff T3 — činná energia akumulovaná počas tarifných období 3 (H:40966, UInt32 / 100 na kWh). Obsahuje servisný atribút jalovej energie pre T3 (kVArh).
  • Tariff T4 — činná energia akumulovaná počas tarifných období 4 (H:40968, UInt32 / 100 na kWh). Obsahuje servisný atribút jalovej energie pre T4 (kVArh).

Štyri tarifné sadzby zodpovedajú časovým pásmam spotreby: 1 = špička (najvyššia sadzba), 2 = vysoký tarif, 3 = nízky tarif (mimo špičku), 4 = plochý tarif. Až 8 časových intervalov denne definuje, kedy sa každý tarif uplatňuje.

Meranie prúdu
  • Electric Current — okamžitý prúd v linke (H:313, UInt32 / 1000 na A). Obsahuje servisný atribút napätia (H:305, V).
Správa tarifov a hodín

Modul ponúka 5 servisných akcií pre vzdialenú konfiguráciu:

  • Set Date/Time — nastaví vstavané hodiny RTC (rok, mesiac, deň, hodina, minúty, sekundy). OR-WE-515 má lítiovú batériu, ktorá udržuje hodiny počas výpadkov napájania.
  • Set Tariffs — konfiguruje až 8 pracovných časových intervalov. Každý interval definuje čas začiatku (hodina, minúta) a tarifnú sadzbu (0=vypnutý, 1=špička, 2=vysoký, 3=nízky, 4=plochý). Predvolený plán spúšťa tarif 2 (vysoký) o 07:00 a tarif 3 (nízky) o 22:00.
  • Set Slave ID — zmení Modbus adresu (1–255).
  • Set Baud Rate — zmení rýchlosť komunikácie RS-485 (1200/2400/4800/9600 bps).
  • Set LCD Cycle Time — nastaví interval automatického posúvania displeja (1–120 sekúnd).

Servisné atribúty na úrovni modulu zobrazujú aktuálne Slave ID, prenosovú rýchlosť, dátum/čas a 8 nakonfigurovaných plánov časových období s priradením tarifov.

Tarifný plán nakonfigurovaný cez TapHome sa vzťahuje len na pracovné dni (registre 0x8100–0x810F). OR-WE-515 podporuje aj samostatné víkendové (0x8110) a sviatočné (0x8130) plány, ale tie nie sú v aktuálnej šablóne dostupné. Dajú sa nakonfigurovať pomocou softvéru Orno alebo pridať ako vlastné Modbus zariadenia v TapHome.

Ďalšie schopnosti

OR-WE-515 tiež poskytuje vysokopresný register napätia (UInt32, rozlíšenie 0,001 V) ako alternatívu k registru UInt16 použitému v šablóne. Elektromer podporuje obojsmerné meranie (činný výkon vpred a vzad), exportné počítadlá energie podľa tarifov, kombinované obojsmerné celkové počítadlá, celkovú jalovú energiu naprieč všetkými tarifmi a celkové harmonické skreslenie (THD) pre napätie aj prúd. Tieto je možné pridať v budúcej aktualizácii šablóny.

Riešenie problémov

Žiadna komunikácia
  1. Skontrolujte zapojenie RS-485: svorka 23 = A, svorka 25 = B — prehoďte A a B, ak komunikácia nefunguje
  2. Overte, že nastavenie parity v TapHome je Even (8E1), nie None
  3. Skontrolujte, či prenosová rýchlosť v TapHome zodpovedá elektromeru (predvolená 9600)
  4. Overte, že Slave ID v TapHome zodpovedá elektromeru (predvolené 1)
  5. Pri dlhých káblových trasách zabezpečte pripojenie GND (svorka 24)
Nesprávne namerané hodnoty energie
  1. Overte režim merania elektromera — Možnosť 1 (predvolená) meria činnú a jalovú energiu; Možnosť 2 meria energiu vpred a vzad (obojsmerné)
  2. Tarifné počítadlá (T1–T4) akumulujú energiu iba počas priradených časových období — ak sú všetky tarifné plány vypnuté (nastavené na 0), tarifné počítadlá zostanú na nule, zatiaľ čo Total Energy pokračuje v počítaní
  3. Konštanta elektromera je konfigurovateľná (100, 1000 alebo 2000 imp/kWh) — predvolená 1000 imp/kWh zodpovedá škálovaniu registrov v šablóne
Poznámka ku škálovaniu jalovej energie

Oficiálna dokumentácia registrov uvádza škálovanie 0,01 kVArh pre registre jalovej energie, zatiaľ čo TapHome šablóna používa deliteľa /1000 pre servisné atribúty jalovej energie podľa tarifov. Tento rozdiel môže spôsobiť 10-násobný posun škálovania hodnôt jalovej energie. Ak sa hodnoty jalovej energie zdajú nesprávne, porovnajte ich s LCD displejom na fyzickom elektromere.

Dostupné zariadenia

Orno OR-WE-515 Modul
Servisné atribúty
Slave ID
Prenosová rýchlosť
Dátum/ČasČítanie vstavaných hodín reálneho času — dátum a čas udržiavané lítiovou batériou
Časové obdobie 1Tarifný plán slot 1 — čas začiatku (HH:MM) a sadzba (špička, vysoký, nízky alebo plochý)
Časové obdobie 2Tarifný plán slot 2 — čas začiatku a priradenie sadzby
Časové obdobie 3Tarifný plán slot 3 — čas začiatku a priradenie sadzby
Časové obdobie 4Tarifný plán slot 4 — čas začiatku a priradenie sadzby
Časové obdobie 5Tarifný plán slot 5 — čas začiatku a priradenie sadzby
Časové obdobie 6Tarifný plán slot 6 — čas začiatku a priradenie sadzby
Časové obdobie 7Tarifný plán slot 7 — čas začiatku a priradenie sadzby
Časové obdobie 8Tarifný plán slot 8 — čas začiatku a priradenie sadzby
Frekvencia
Napätie
Jalový výkon fázy
Servisné akcie
Nastaviť dátum/časNastaví vstavané hodiny reálneho času — rok, mesiac, deň, hodina, minúty, sekundy
Nastaviť tarifyKonfigurácia až 8 pracovných časových intervalov — každý s časom začiatku a tarifnou sadzbou (špička, vysoký, nízky, plochý)
Nastaviť Slave ID
Nastaviť čas cyklu LCDNastavenie intervalu automatického posúvania LCD displeja (1--120 sekúnd)
Nastaviť prenosovú rýchlosť

OR-WE-515

Servisné atribúty
${device_SlaveId}
modbusr(H, 0x110, Int16)
${baud_rate} [bps]
switch(getbyte(modbusr(H, 0x111, Int16),0),0,0,1,1200,2,2400,3,4800,4,9600,"Invalid")
${time}
var Y := getbyte( modbusr(H,0x8120,uint16),1);
var M := getbyte( modbusr(H,0x8120,uint16),0);
var D := getbyte( modbusr(H,0x8121,uint16),1);
var H := getbyte( modbusr(H,0x8121,uint16),0);
var min := getbyte( modbusr(H,0x8122,uint16),1);
var sec := getbyte( modbusr(H,0x8122,uint16), 0);

tostring(tostring(H,"D2") + ":" + tostring(min,"D2") + ":" + tostring(sec, "D2") + " " + tostring(D,"D2") + "." + tostring(M,"D2") + ".20" + Y)


{1. time period starting time}, {rate}
var date := modbusr(H, 0x8100, INT16);
var belong := modbusr(H,0x8101,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{2. time period starting time}, {rate}
var date := modbusr(H, 0x8100+2, INT16);
var belong := modbusr(H,0x8101+2,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{3. time period starting time}, {rate}
var date := modbusr(H, 0x8100+4, INT16);
var belong := modbusr(H,0x8101+4,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{4. time period starting time}, {rate}
var date := modbusr(H, 0x8100+6, INT16);
var belong := modbusr(H,0x8101+6,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{5. time period starting time}, {rate}
var date := modbusr(H, 0x8100+8, INT16);
var belong := modbusr(H,0x8101+8,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{6. time period starting time}, {rate}
var date := modbusr(H, 0x8100+10, INT16);
var belong := modbusr(H,0x8101+10,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{7. time period starting time}, {rate}
var date := modbusr(H, 0x8100+12, INT16);
var belong := modbusr(H,0x8101+12,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
{8. time period starting time}, {rate}
var date := modbusr(H, 0x8100+14, INT16);
var belong := modbusr(H,0x8101+14,INT16);
tostring(tostring(getbyte(date,1),"D2") + ":" + tostring(getbyte(date,0),"D2") + ", " + belong + " (" + switch(belong,1,"sharp",2,"peak",3,"Valley",4,"flat","NaN")+")")
Frequency [Hz]
round(modbusr(h,0x130,uint16)*0.01)
Voltage [V]
round(modbusr(h,0x131,int16)*0.01)
Split phase reactive power [kwar]
round(modbusr(h, 0x148,uint32)*0.001*10)/10
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)
var out1 := (YY<<8) + MM;
var out2 := (DD<<8) + HH;
var out3 := (MI<<8) + SS;

modbusw(H, 0x8120, uint16, out1);
modbusw(H, 0x8121, uint16, out2);
modbusw(H, 0x8122, uint16, out3);



#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)
modbusw(H, 0x8100, uint16, (HH1<<8) + MI1);
modbusw(H, 0x8101, uint16, T1);

modbusw(H, 0x8100+2, uint16, (HH2<<8) + MI2);
modbusw(H, 0x8101+2, uint16, T2);

modbusw(H, 0x8100+4, uint16, (HH3<<8) + MI3);
modbusw(H, 0x8101+4, uint16, T3);

modbusw(H, 0x8100+6, uint16, (HH4<<8) + MI4);
modbusw(H, 0x8101+6, uint16, T4);

modbusw(H, 0x8100+8, uint16, (HH5<<8) + MI5);
modbusw(H, 0x8101+8, uint16, T5);

modbusw(H, 0x8100+10, uint16, (HH6<<8) + MI6);
modbusw(H, 0x8101+10, uint16, T6);

modbusw(H, 0x8100+12, uint16, (HH7<<8) + MI7);
modbusw(H, 0x8101+12, uint16, T7);

modbusw(H, 0x8100+14, uint16, (HH8<<8) + MI8);
modbusw(H, 0x8101+14, uint16, T8);
Slave ID
Parametre: Parameter1 (1–255 ID)
modbusw(H, 0x110, Uint16, ID)
LCD Cycle time
Parametre: Time [s] (1–120 t)
modbusw(H, 0x0d, Uint16, t)
Baud rate
Parametre: Baud rate
modbusw(H,0x111,int16,Br)
Elektrický prúd Premenná Len na čítanie

Okamžitý jednofázový prúd v linke (A) so servisným atribútom napätia

Register: H:313 UInt32 Jednotka: A numeric
Servisné atribúty
Napätie

Elektrický prúd

Čítanie
MODBUSR(H, 0x139, UInt32)/1000
Servisné atribúty
Voltage [V]
round(modbusr(H, 0x131, uint16)*0.01)
Celková energia Elektromer Len na čítanie

Celková spotreba činnej energie (kWh) a okamžitý príkon (kW) s frekvenciou siete, jalovým výkonom, zdanlivým výkonom a účinníkom

Register: H:40960 (readtotalconsumption), H:320 (readdemand) UInt32 / Int32 Jednotka: kWh / kW numeric
Servisné atribúty
Frekvencia siete
Jalový výkon
Zdanlivý výkon
Účinník

Celková energia

Čítanie celkovej spotreby
MODBUSR(H, 0xA000, UInt32)/100
Čítanie odberu
MODBUSR(H, 0x140, Int32)/1000
Servisné atribúty
${grid_frequency} [Hz]
tostring(modbusr(H, 0x130,UInt16)/100, "F2")
${reactive_power} [kVAr]
tostring(modbusr(H, 0x148,Int32)/1000, "F2")
${apparent_power} [kVA]
tostring(modbusr(H, 0x150,Int32)/1000, "F2")
${power_factor}
tostring(modbusr(H, 0x158,Int16)/1000, "F2")
Tarif T1 Elektromer Len na čítanie

Činná energia akumulovaná počas tarifných období 1 (špička) s počítadlom jalovej energie

Register: H:40962 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisné atribúty
Celková jalová energia

Tarif T1

Čítanie celkovej spotreby
MODBUSR(H, 0xA002, UInt32)/100
Servisné atribúty
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0xA01E + 2,UInt32)/1000, "F2")
Tarif T2 Elektromer Len na čítanie

Činná energia akumulovaná počas tarifných období 2 (vysoký tarif) s počítadlom jalovej energie

Register: H:40964 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisné atribúty
Celková jalová energia

Tarif T2

Čítanie celkovej spotreby
MODBUSR(H, 0xA004, UInt32)/100
Servisné atribúty
Total Reactive Energy [kwarh]
tostring(modbusr(H, 0xA01E + 4,UInt32)/1000, "F2")
Tarif T3 Elektromer Len na čítanie

Činná energia akumulovaná počas tarifných období 3 (nízky tarif / mimo špičku) s počítadlom jalovej energie

Register: H:40966 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisné atribúty
Celková jalová energia

Tarif T3

Čítanie celkovej spotreby
MODBUSR(H, 0xA006, UInt32)/100
Servisné atribúty
Total Reactive Energy
tostring(modbusr(H, 0xA01E + 6,UInt32)/1000, "F2")
Tarif T4 Elektromer Len na čítanie

Činná energia akumulovaná počas tarifných období 4 (plochý tarif) s počítadlom jalovej energie

Register: H:40968 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisné atribúty
Celková jalová energia

Tarif T4

Čítanie celkovej spotreby
MODBUSR(H, 0xA008, UInt32)/100
Servisné atribúty
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0xA01E + 8,UInt32)/1000, "F2")
Pripojenie: Modbus RTU • 9600 baud• 8E1 • Slave ID: $[SlaveId]
Možné vylepšenia (8)
  • H:312 (0x138) Voltage (high-precision UInt32) — UInt32 voltage register with 0.001V resolution — template uses H:305 (UInt16, 0.01V) instead
  • H:320 (0x140) — export Active Power (export/negative) — Template reads H:320 for total power but does not split into import/export — no bidirectional energy separation
  • H:0xA00A–0xA00E Tariff T1–T4 Export Active Energy — Per-tariff export (reverse) energy counters — template only reads import direction
  • H:0xA010 Total Active Energy (combined import+export) — Combined bidirectional total — template uses H:0xA000 (import only)
  • H:0xA01C Total Reactive Energy (all tariffs) — Grand total reactive energy across all tariffs — template only reads per-tariff reactive counters
  • H:0xA01E (40990) Total Reactive Energy (import) — Total reactive import energy — base address used by per-tariff SA formulas (0xA01E + offset)
  • H:0x160 (352) Current THD — Total harmonic distortion of current, %
  • H:0x168 (360) Voltage THD — Total harmonic distortion of voltage, %

Zdroje

  • Orno OR-WE-514 & OR-WE-515 Register Description
    2026-03-27
    PDF
  • Orno OR-WE-512/514/515 Installation Manual
    PDF
  • AGG Software — OR-WE-514/515 Modbus Register Map
  • OR_WE_Energy_Meter Arduino Library — Register Definitions
    github.com 2026-03-27