TapHome

Orno OR-WE-515

Modbus RTU
Přidal
Poslední aktualizace: 06. 2026
Orno OR-WE-515

Orno OR-WE-515 je jednofázový multitarifní elektroměr na DIN lištu, který komunikuje přes Modbus RTU po RS-485. S šířkou pouhých 18 mm (1 DIN modul) měří činnou energii, jalovou energii, napětí, proud, výkon, účiník a frekvenci. Hlavní rozdíl oproti jednoduššímu OR-WE-514 je podpora 4 nezávislých tarifů (špička, vysoký, nízký, plochý) s konfigurovatelným plánováním časových pásem a vestavěnou lithiovou baterií pro hodiny reálného času.

TapHome šablona poskytuje 6 zařízení: celkový elektroměr s okamžitým příkonem, 4 samostatná tarifní počítadla (T1–T4) a snímač elektrického proudu. Servisní akce na úrovni modulu umožňují konfigurovat tarifní plány, nastavit hodiny RTC, změnit Modbus slave adresu, upravit přenosovou rychlost a ovládat čas cyklování LCD displeje — vše vzdáleně přes TapHome.

Hardwarové připojení

Zapojení RS-485

OR-WE-515 má 3-svorkové RS-485 rozhraní na pravé straně elektroměru. Připojte pomocí řetězové (daisy-chain) topologie:

  • 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 slouží k připojení silového vedení: Svorka 1 je L-IN (vstup fáze), Svorka 3 je L-OUT (výstup fáze) a dvě svorky N jsou pro nulový vodič.

Pokud RS-485 převodník nemá svorku G (zem), připojení uzemnění na svorce 24 lze vynechat. Pro spolehlivou komunikaci na delších kabelových trasách se však připojení GND doporučuje.

Před instalací vždy odpojte napájení. Elektroměr zvládá proud až 100 A přes své svorky. Zajistěte správný průřez vodičů (šroubové svorky až do 25 mm2) a po zapojení uzavřete kryt svorek.

Konfigurace

Komunikační parametry

Výchozí Modbus nastavení odpovídají TapHome šabloně:

ParametrVýchozí hodnotaMožnosti
Přenosová rychlost96001200, 2400, 4800, 9600
Datové bity8Fixní
ParitaEvenFixní (8E1)
Stop bity1Fixní
Slave ID11–255

Hlavička PDF dokumentace registrů uvádí „N81" (bez parity), ale instalační manuál a komunitní implementace (Arduino knihovna, AGG Software) konzistentně potvrzují 8E1 (sudá parita) jako správné nastavení. V TapHome použijte sudou paritu.

Slave ID

Při připojení více elektroměrů na stejnou sběrnici RS-485 musí mít každý elektroměr jedinečné Slave ID. Výchozí Slave ID je 1, konfigurovatelné v rozsahu 1–255. TapHome šablona obsahuje servisní akci Set Slave ID, která zapisuje do holding registru H:272 a umožňuje vzdálenou změnu adresy bez fyzického přístupu k elektroměru.

Přenosová rychlost

Přenosovou rychlost lze změnit vzdáleně přes servisní akci Set Baud Rate. Dostupné možnosti jsou 1200, 2400, 4800 a 9600 bps. Hodnota je uložena v holding registru H:273 jako kódované celé číslo (1=1200, 2=2400, 3=4800, 4=9600). Po změně přenosové rychlosti aktualizujte nastavení připojení modulu v TapHome.

Schopnosti zařízení

Šablona vytváří 6 zařízení organizovaných do dvou skupin: měření energie a měření proudu. Všechny registry používají Modbus funkční kód 03H (holding registry).

Měření energie

Pět zařízení ModbusElectricityMeter sleduje spotřebu energie:

  • Total Energy — celková činná energie (H:40960, UInt32 / 100 na kWh) a okamžitý činný příkon (H:320, Int32 / 1000 na kW). Toto zařízení obsahuje 4 servisní atributy: frekvence sítě (Hz), jalový výkon (kVAr), zdánlivý výkon (kVA) a účiník (0,000–1,000).
  • Tariff T1 — činná energie akumulovaná během tarifních období 1 (H:40962, UInt32 / 100 na kWh). Obsahuje servisní atribut jalové energie pro T1 (kVArh).
  • Tariff T2 — činná energie akumulovaná během tarifních období 2 (H:40964, UInt32 / 100 na kWh). Obsahuje servisní atribut jalové energie pro T2 (kVArh).
  • Tariff T3 — činná energie akumulovaná během tarifních období 3 (H:40966, UInt32 / 100 na kWh). Obsahuje servisní atribut jalové energie pro T3 (kVArh).
  • Tariff T4 — činná energie akumulovaná během tarifních období 4 (H:40968, UInt32 / 100 na kWh). Obsahuje servisní atribut jalové energie pro T4 (kVArh).

Čtyři tarifní sazby odpovídají časovým pásmům spotřeby: 1 = špička (nejvyšší sazba), 2 = vysoký tarif, 3 = nízký tarif (mimo špičku), 4 = plochý tarif. Až 8 časových intervalů denně definuje, kdy se každý tarif uplatňuje.

Měření proudu
  • Electric Current — okamžitý proud v lince (H:313, UInt32 / 1000 na A). Obsahuje servisní atribut napětí (H:305, V).
Správa tarifů a hodin

Modul nabízí 5 servisních akcí pro vzdálenou konfiguraci:

  • Set Date/Time — nastaví vestavěné hodiny RTC (rok, měsíc, den, hodina, minuty, sekundy). OR-WE-515 má lithiovou baterii, která udržuje hodiny během výpadků napájení.
  • Set Tariffs — konfiguruje až 8 pracovních časových intervalů. Každý interval definuje čas začátku (hodina, minuta) a tarifní sazbu (0=vypnuto, 1=špička, 2=vysoký, 3=nízký, 4=plochý). Výchozí plán spouští tarif 2 (vysoký) v 07:00 a tarif 3 (nízký) ve 22:00.
  • Set Slave ID — změní Modbus adresu (1–255).
  • Set Baud Rate — změní rychlost komunikace RS-485 (1200/2400/4800/9600 bps).
  • Set LCD Cycle Time — nastaví interval automatického posouvání displeje (1–120 sekund).

Servisní atributy na úrovni modulu zobrazují aktuální Slave ID, přenosovou rychlost, datum/čas a 8 nakonfigurovaných plánů časových období s přiřazením tarifů.

Tarifní plán nakonfigurovaný přes TapHome se vztahuje pouze na pracovní dny (registry 0x8100–0x810F). OR-WE-515 podporuje také samostatné víkendové (0x8110) a sváteční (0x8130) plány, ale ty nejsou v aktuální šabloně dostupné. Lze je nakonfigurovat pomocí softwaru Orno nebo přidat jako vlastní Modbus zařízení v TapHome.

Další schopnosti

OR-WE-515 také poskytuje vysokopřesný registr napětí (UInt32, rozlišení 0,001 V) jako alternativu k registru UInt16 použitému v šabloně. Elektroměr podporuje obousměrné měření (činný výkon vpřed a zpět), exportní počítadla energie podle tarifů, kombinovaná obousměrná celková počítadla, celkovou jalovou energii napříč všemi tarify a celkové harmonické zkreslení (THD) pro napětí i proud. Tyto lze přidat v budoucí aktualizaci šablony.

Řešení problémů

Žádná komunikace
  1. Zkontrolujte zapojení RS-485: svorka 23 = A, svorka 25 = B — prohoďte A a B, pokud komunikace nefunguje
  2. Ověřte, že nastavení parity v TapHome je Even (8E1), nikoli None
  3. Zkontrolujte, zda přenosová rychlost v TapHome odpovídá elektroměru (výchozí 9600)
  4. Ověřte, že Slave ID v TapHome odpovídá elektroměru (výchozí 1)
  5. Při dlouhých kabelových trasách zajistěte připojení GND (svorka 24)
Nesprávné naměřené hodnoty energie
  1. Ověřte režim měření elektroměru — Možnost 1 (výchozí) měří činnou a jalovou energii; Možnost 2 měří energii vpřed a zpět (obousměrné)
  2. Tarifní počítadla (T1–T4) akumulují energii pouze během přiřazených časových období — pokud jsou všechny tarifní plány vypnuty (nastaveny na 0), tarifní počítadla zůstanou na nule, zatímco Total Energy pokračuje v počítání
  3. Konstanta elektroměru je konfigurovatelná (100, 1000 nebo 2000 imp/kWh) — výchozí 1000 imp/kWh odpovídá škálování registrů v šabloně
Poznámka ke škálování jalové energie

Oficiální dokumentace registrů uvádí škálování 0,01 kVArh pro registry jalové energie, zatímco TapHome šablona používá dělitel /1000 pro servisní atributy jalové energie podle tarifů. Tento rozdíl může způsobit 10násobný posun škálování hodnot jalové energie. Pokud se hodnoty jalové energie zdají nesprávné, porovnejte je s LCD displejem na fyzickém elektroměru.

Dostupná zařízení

Orno OR-WE-515 Modul
Servisní atributy
Slave ID
Přenosová rychlost
Datum/ČasČtení vestavěných hodin reálného času — datum a čas udržované lithiovou baterií
Časové období 1Tarifní plán slot 1 — čas začátku (HH:MM) a sazba (špička, vysoký, nízký nebo plochý)
Časové období 2Tarifní plán slot 2 — čas začátku a přiřazení sazby
Časové období 3Tarifní plán slot 3 — čas začátku a přiřazení sazby
Časové období 4Tarifní plán slot 4 — čas začátku a přiřazení sazby
Časové období 5Tarifní plán slot 5 — čas začátku a přiřazení sazby
Časové období 6Tarifní plán slot 6 — čas začátku a přiřazení sazby
Časové období 7Tarifní plán slot 7 — čas začátku a přiřazení sazby
Časové období 8Tarifní plán slot 8 — čas začátku a přiřazení sazby
Frekvence
Napětí
Jalový výkon fáze
Servisní akce
Nastavit datum/časNastaví vestavěné hodiny reálného času — rok, měsíc, den, hodina, minuty, sekundy
Nastavit tarifyKonfigurace až 8 pracovních časových intervalů — každý s časem začátku a tarifní sazbou (špička, vysoký, nízký, plochý)
Nastavit Slave ID
Nastavit čas cyklu LCDNastavení intervalu automatického posouvání LCD displeje (1--120 sekund)
Nastavit přenosovou rychlost

OR-WE-515

Servisní atributy
${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í akce
Date/Time
Parametry: 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}
Parametry: 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
Parametry: Parameter1 (1–255 ID)
modbusw(H, 0x110, Uint16, ID)
LCD Cycle time
Parametry: Time [s] (1–120 t)
modbusw(H, 0x0d, Uint16, t)
Baud rate
Parametry: Baud rate
modbusw(H,0x111,int16,Br)
Elektrický proud Proměnná Pouze ke čtení

Okamžitý jednofázový proud v lince (A) se servisním atributem napětí

Registr: H:313 UInt32 Jednotka: A numeric
Servisní atributy
Napětí

Elektrický proud

Čtení
MODBUSR(H, 0x139, UInt32)/1000
Servisní atributy
Voltage [V]
round(modbusr(H, 0x131, uint16)*0.01)
Celková energie Elektroměr Pouze ke čtení

Celková spotřeba činné energie (kWh) a okamžitý příkon (kW) s frekvencí sítě, jalovým výkonem, zdánlivým výkonem a účiníkem

Registr: H:40960 (readtotalconsumption), H:320 (readdemand) UInt32 / Int32 Jednotka: kWh / kW numeric
Servisní atributy
Frekvence sítě
Jalový výkon
Zdánlivý výkon
Účiník

Celková energie

Čtení celkové spotřeby
MODBUSR(H, 0xA000, UInt32)/100
Čtení odběru
MODBUSR(H, 0x140, Int32)/1000
Servisní atributy
${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 Elektroměr Pouze ke čtení

Činná energie akumulovaná během tarifních období 1 (špička) s počítadlem jalové energie

Registr: H:40962 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisní atributy
Celková jalová energie

Tarif T1

Čtení celkové spotřeby
MODBUSR(H, 0xA002, UInt32)/100
Servisní atributy
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0xA01E + 2,UInt32)/1000, "F2")
Tarif T2 Elektroměr Pouze ke čtení

Činná energie akumulovaná během tarifních období 2 (vysoký tarif) s počítadlem jalové energie

Registr: H:40964 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisní atributy
Celková jalová energie

Tarif T2

Čtení celkové spotřeby
MODBUSR(H, 0xA004, UInt32)/100
Servisní atributy
Total Reactive Energy [kwarh]
tostring(modbusr(H, 0xA01E + 4,UInt32)/1000, "F2")
Tarif T3 Elektroměr Pouze ke čtení

Činná energie akumulovaná během tarifních období 3 (nízký tarif / mimo špičku) s počítadlem jalové energie

Registr: H:40966 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisní atributy
Celková jalová energie

Tarif T3

Čtení celkové spotřeby
MODBUSR(H, 0xA006, UInt32)/100
Servisní atributy
Total Reactive Energy
tostring(modbusr(H, 0xA01E + 6,UInt32)/1000, "F2")
Tarif T4 Elektroměr Pouze ke čtení

Činná energie akumulovaná během tarifních období 4 (plochý tarif) s počítadlem jalové energie

Registr: H:40968 (readtotalconsumption) UInt32 Jednotka: kWh numeric
Servisní atributy
Celková jalová energie

Tarif T4

Čtení celkové spotřeby
MODBUSR(H, 0xA008, UInt32)/100
Servisní atributy
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0xA01E + 8,UInt32)/1000, "F2")
Připojení: Modbus RTU • 9600 baud• 8E1 • Slave ID: $[SlaveId]
Možná vylepšení (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

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Ověřeno TapHome

Chcete to použít ve svém TapHome jádře?

Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu.

Otevřít v portálu