TapHome

Orno OR-WE-525/526

Modbus RTU
Eingereicht von
Zuletzt aktualisiert: 03. 2026
Orno OR-WE-525/526

Der Orno OR-WE-525 und OR-WE-526 sind einphasige Energiezähler für die DIN-Hutschienenmontage, die über Modbus RTU per RS-485 kommunizieren. Beide Modelle sind MID-zertifiziert (Richtlinie 2014/32/EU), ausgelegt für 230 V AC mit einer Kapazität von 5(100) A, Genauigkeitsklasse B, und belegen nur 1 Modul (18 mm) auf einer TH-35-Schiene. Die TapHome-Vorlage stellt 4 Geräte bereit, die Gesamtenergie, Exportenergie (ins Netz), Importenergie (aus dem Netz) und Strommessung abdecken, zusammen mit umfangreichen Serviceattributen für Spannung, Leistungsfaktor, Frequenz, Scheinleistung, Blindleistung und Blindenergie pro Quadrant.

Der wesentliche Unterschied zwischen den Modellen besteht darin, dass der OR-WE-525 ein einfacher unidirektionaler Zähler mit EEPROM-Speicher ist, während der OR-WE-526 bidirektionale Messung, Mehrtarifunterstützung (T1–T4), eine integrierte RTC mit Li-Ion-Batterie-Backup und Datum/Uhrzeit-Register bietet. Beide Modelle teilen die gleiche Modbus-Registerkarte und RS-485-Schnittstelle. Alle Messregister verwenden Int32-Kodierung, gelesen über Funktionscode FC03 (Holding-Register).

Hardwareanschluss

RS-485-Verkabelung
Orno OR-WE-525/526 Schaltplan und RS-485-Verkabelung

Der OR-WE-525/526 verfügt über eine integrierte RS-485-Schnittstelle mit drei dedizierten Klemmen auf der Unterseite des Zählers:

  • Klemme 23 (A) — RS-485-Datenleitung A, verbinden mit A+/D+ am TapHome RS-485
  • Klemme 24 (G) — Ground / GND
  • Klemme 25 (B) — RS-485-Datenleitung B, verbinden mit B-/D- am TapHome RS-485

Wenn der RS-485-Kommunikationskonverter keinen G-Port hat, ist die GND-Verbindung nicht erforderlich.

Die Verbindung erfolgt mit einem zweiadrigen Kommunikationskabel nach RS-485-Standard, über einen Standard-USB-RS485-Konverter oder direkt an den RS-485-Bus des TapHome Core.

Konfiguration

Kommunikationsparameter

Die Standard-Modbus-Einstellungen entsprechen der TapHome-Vorlage direkt nach der Installation:

ParameterStandardOptionen
Baudrate9600 bps9600, 19200, 38400, 115200
Datenbits8Fest
ParitätNoneNone, Odd, Even
Stoppbits11, 2
Slave-ID11–247

Kommunikationsparameter können über die Taste an der Frontplatte geändert werden (Taste 2 mindestens 3 Sekunden gedrückt halten, um die Einstellungsseite aufzurufen) oder ferngesteuert über die Serviceaktionen der Vorlage.

Slave-ID

Beim Anschluss mehrerer Zähler am selben RS-485-Bus muss jeder Zähler eine eindeutige Slave-ID haben. Die Standard-Slave-ID ist 1 (konfigurierbar von 1 bis 247). Nach dem Import der TapHome-Vorlage passen Sie die Slave-ID in den Modulverbindungseinstellungen an den Zähler an. Die Vorlage bietet auch eine Slave ID-Serviceaktion zur Fernänderung der Adresse über Modbus.

Kombinationscode (Modus)

Das Kombinationscode-Register (H:0x100F) steuert, wie das Gerät „Total Active Energy" seinen Gesamtwert berechnet:

ModusWertBeschreibung
To Grid1Gesamt = nur Einspeisung
From Grid2Gesamt = nur Netzbezug
To Grid + From Grid3Gesamt = Einspeisung + Netzbezug (Standard)
To Grid - From Grid4Gesamt = Einspeisung - Netzbezug

Diese Einstellung ist über die Mode-Serviceaktion am Gerät Total Energy konfigurierbar. Die Import- und Export-Energiegeräte werden von dieser Einstellung nicht beeinflusst — sie lesen immer ihre dedizierten Register.

Gerätefunktionen

Die Vorlage erstellt 4 Geräte, organisiert in drei Gruppen: Gesamtenergie, bidirektionale Import-/Exportmessung und Strommessung. Jedes Stromzählergerät meldet kumulative Energie (kWh) und momentane Leistungsaufnahme (kW).

Gesamtenergiemessung
  • Total Energy — gesamte Wirkenergie (H:0x122, kWh) und Wirkleistungsaufnahme (H:0x104, kW). Der Gesamtenergiewert hängt von der Einstellung des Kombinationscodes ab. Dieses Gerät umfasst 12 Serviceattribute: Spannung (V), Strom (A), Netzfrequenz (Hz), Leistungsfaktor, Scheinleistung (VA), Blindleistung (VAr), gesamte Blindenergie (kVArh) und Blindenergie pro Quadrant (1. bis 4. Quadrant, kVArh). Eine Mode-Serviceaktion ermöglicht die Umschaltung des Kombinationscodes zwischen Einspeisung, Netzbezug, Summe oder Differenzberechnung.
Bidirektionale Energiemessung

Zwei Geräte verfolgen die Richtung des Energieflusses für die Überwachung von Solar-PV oder Netzinteraktion:

  • Export Energy — gesamte reverse Wirkenergie (H:0x118, kWh) und Exportleistung abgeleitet aus negativen Wirkleistungswerten (H:0x104). Serviceattribute umfassen die gesamte vorwärts Blindenergie (kVArh) und den vorwärts Blindleistungsbedarf (VAr).
  • Import Energy — gesamte vorwärts Wirkenergie (H:0x10E, kWh) und Importleistung abgeleitet aus positiven Wirkleistungswerten (H:0x104). Serviceattribute umfassen die gesamte reverse Blindenergie (kVArh) und den reversen Blindleistungsbedarf (VAr).

Die Aufteilung in Import/Export wird durch Lesen des vorzeichenbehafteten Wirkleistungsregisters (H:0x104) erreicht. Positive Werte zeigen Netzbezug (Import) an, negative Werte Einspeisung (Export). Dies ist besonders nützlich für die Überwachung des Solar-PV-Eigenverbrauchs und der Netzinteraktion.

Strommessung
  • Electric Current — Leitungsstrom (H:0x102, A) mit Spannung als Serviceattribut (H:0x131, V). Dieses Gerät verwendet ein schnelleres 1,5-Sekunden-Abfrageintervall für nahezu Echtzeit-Stromüberwachung.
Serviceaktionen

Die Vorlage bietet Serviceaktionen auf Modulebene für die Fernkonfiguration:

  • Date/Time — Synchronisation der internen Uhr des Zählers mit der aktuellen Zeit (Schreiben von BCD-kodierten Datum/Uhrzeit-Werten in die Register H:0x1007–H:0x100A). Nur funktionsfähig beim OR-WE-526 mit integrierter RTC.
  • Slave ID — Änderung der Modbus-Slave-Adresse (1–255)
  • LCD Cycle time — Einstellung des automatischen LCD-Display-Wechselintervalls (0–99 Sekunden)
  • Baud Rate — Änderung der Kommunikationsgeschwindigkeit (9600, 19200, 38400 oder 115200 bps)
Weitere Funktionen

Der OR-WE-525/526 bietet auch Register für tarifabhängige Energiezähler (T1–T4 für Einspeisung, Netzbezug und gesamte Wirk-/Blindenergie), rücksetzbare Energiezähler, gemittelten Leistungsbedarf mit aufgezeichneten Maximalwerten und Tarifplankonfiguration. Die tarifbezogenen Register sind nur beim OR-WE-526 funktionsfähig. Diese können in einem zukünftigen Vorlagen-Update ergänzt werden.

Fehlerbehebung

Keine Kommunikation
  1. Überprüfen Sie die RS-485-Klemmenverbindungen — Klemme 23 = A, Klemme 25 = B. Tauschen Sie A und B, wenn die Kommunikation fehlschlägt, da die Beschriftungskonventionen zwischen Herstellern variieren
  2. Bestätigen Sie, dass die Baudrate in TapHome der Zählereinstellung entspricht (Standard 9600 bps, sichtbar auf der Informationsseite des Zählers)
  3. Überprüfen Sie, ob die Slave-ID übereinstimmt (Standard 1)
  4. Prüfen Sie die Paritätseinstellung — dieser Zähler verwendet standardmäßig None (8N1), im Gegensatz zu einigen Zählern, die gerade Parität verwenden
Falsche Gesamtenergiewerte
  1. Überprüfen Sie die Einstellung des Kombinationscode-Modus (H:0x100F) — der Standardmodus 3 (Einspeisung + Netzbezug) summiert beide Richtungen, was möglicherweise nicht das gewünschte Verhalten für alle Installationen ist
  2. Für Solar-PV-Anlagen kann Modus 1 (nur Einspeisung) oder Modus 4 (Einspeisung - Netzbezug) je nach Lage des Messpunkts geeigneter sein
  3. Wenn die Export- oder Importenergie null anzeigt, während die Gesamtenergie steigt, überprüfen Sie, ob der Zähler an einem Punkt installiert ist, an dem tatsächlich bidirektionaler Energiefluss auftritt

Verfügbare Geräte

OR-WE-525/526 Modul
Serviceattribute
Slave-ID
Baudrate
Parität
Stoppbit
ZeitAktuelles Datum und Uhrzeit der internen RTC des Zählers — nur beim OR-WE-526 verfügbar
Serviceaktionen
Datum/UhrzeitSynchronisation der internen Uhr des Zählers mit dem aktuellen Datum und der Uhrzeit — nur beim OR-WE-526 funktionsfähig (mit integrierter RTC)
Slave-ID
LCD-Zykluszeit
Baudrate

OR-WE-525/526

Serviceattribute
${device_SlaveId}
modbusr(H, 0x1003, Int16)
${baud_rate} [bps]
switch(getbyte(modbusr(H, 0x100c, Int16),0),6,9600,7,19200,8,38400,9,115200,"Invalid")
${xml_parity}
switch(getbyte(modbusr(H, 0x100d, Int16),0),0,"None",1,"Odd",2,"Even","Invalid")
${xml_stop_bit}
modbusr(H, 0x100e, Int16)
${time}
var Y := 2000 + frombcd(modbusr(H,0x1007,uint16));
var M := frombcd(getbyte( modbusr(H,0x1008,uint16),1));
var D := frombcd(getbyte( modbusr(H,0x1008,uint16),0));
var W := frombcd(getbyte( modbusr(H,0x1009,uint16),1));
var H := frombcd(getbyte( modbusr(H,0x1009,uint16),0));
var min := frombcd(getbyte( modbusr(H,0x100a,uint16),1));
var sec := frombcd(getbyte( modbusr(H,0x100a,uint16), 0));

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


Serviceaktionen
Date/Time
var now := NOW();

var out1 := tobcd(now.YEAR - 2000);
var out2 := (tobcd(now.MONTH)<<8) + tobcd(now.DAY);
var out3 := (tobcd(now.DAYOFWEEK)<<8) + tobcd(now.HOUR);
var out4 := (tobcd(now.MINUTE)<<8) + tobcd(now.SECOND);

modbusw(H, 0x1007, uint16, out1, out2, out3, out4);

#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);
Slave ID
Parameter: Slave ID (1–255 ID)
modbusw(H, 0x1003, Uint16, ID)
LCD Cycle time
Parameter: Time [s] (0–99 t)
modbusw(H, 0x100b, Uint16, t)
${baud_rate}
Parameter: Baud rate
modbusw(H,0x100c,int16,Br)
Gesamtenergie Stromzähler Nur lesen

Gesamte Wirkenergie und Leistungsaufnahme — der konfigurierbare Kombinationscode bestimmt, ob Einspeisung, Netzbezug, Summe oder Differenz gezählt wird. Enthält 12 Serviceattribute für Spannung, Strom, Frequenz, Leistungsfaktor und Blindenergie pro Quadrant

Register: H:0x122 (readtotalconsumption), H:0x104 (readdemand) Int32 Einheit: kWh / kW / 100 (energy), / 1000 (power)
Serviceattribute
ModusKombinationscode — bestimmt die Berechnung der Gesamtenergie: Einspeisung, Netzbezug, Summe oder Differenz
Spannung
Strom
Netzfrequenz
Leistungsfaktor
Scheinleistung
Blindleistung
Gesamte Blindenergie
Gesamte Blindenergie (1. Quadrant)
Gesamte Blindenergie (2. Quadrant)
Gesamte Blindenergie (3. Quadrant)
Gesamte Blindenergie (4. Quadrant)
Serviceaktionen
Modus

Gesamtenergie

Gesamtverbrauch lesen
MODBUSR(H, 0x122, Int32) / 100
Bedarf lesen
MODBUSR(H, 0x104, Int32)/1000
Serviceattribute
${xml_mode}
switch(modbusr(H, 0x100f, uint16), 1, "To Grid", 2, "From Grid", 3, "To Grid + From Grid", 4, "To Grid - From Grid", "Unknown")
${electric_voltage} [V]
tostring(modbusr(H, 0x100,Int32)/1000, "F2")
${electric_current} [A]
tostring(modbusr(H, 0x102,Int32)/1000, "F2")
${grid_frequency} [Hz]
tostring(modbusr(H, 0x10a,Int16)/10, "F2")
${power_factor}
tostring(modbusr(H, 0x10b,Int16)/1000, "F2")
${apparent_power} [VA]
tostring(modbusr(H, 0x106,Int32), "F2")
${reactive_power} [VAr]
tostring(modbusr(H, 0x108,Int32), "F2")
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0x140,Int32)/100, "F2")
${total_reactive_energy} (1. q) [kVArh]
tostring(modbusr(H, 0x14a,Int32)/100, "F2")
${total_reactive_energy} (2. q) [kVArh]
tostring(modbusr(H, 0x154,Int32)/100, "F2")
${total_reactive_energy} (3. q) [kVArh]
tostring(modbusr(H, 0x15e,Int32)/100, "F2")
${total_reactive_energy} (4. q) [kVArh]
tostring(modbusr(H, 0x168,Int32)/100, "F2")
Serviceaktionen
${xml_mode}
Parameter: ${xml_mode}
modbusw(H, 0x100f, uint16, mode)
Exportenergie Stromzähler Nur lesen

Netzeinspeisung — gesamte reverse Wirkenergie (kWh) und Exportleistung aus negativen Wirkleistungswerten (kW)

Register: H:0x118 (readtotalconsumption), H:0x104 (readdemand) Int32 Einheit: kWh / kW / 100 (energy), / 1000 (power)
Serviceattribute
Gesamte vorwärts Blindenergie
Vorwärts-Blindleistungsbedarf

Exportenergie

Gesamtverbrauch lesen
MODBUSR(H, 0x0118, Int32) / 100
Bedarf lesen
var demand := MODBUSR(H, 0x104, Int32)/1000;
if (demand < 0, return(demand * -1), return(0));
Serviceattribute
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0x12c,Int32)/100, "F2")
${reactive_power} [VAr]
tostring(modbusr(H, 0x180,Int32) / 10, "F2")
Elektrischer Strom Variable Nur lesen
Register: H:0x102 (readstate) Int32 Einheit: A / 1000
Serviceattribute
Spannung

Elektrischer Strom

Lesen
MODBUSR(H, 0x102, Int32)/1000
Serviceattribute
Voltage [V]
round(modbusr(H, 0x131, uint16)*0.01)
Importenergie Stromzähler Nur lesen

Netzbezug — gesamte vorwärts Wirkenergie (kWh) und Importleistung aus positiven Wirkleistungswerten (kW)

Register: H:0x10E (readtotalconsumption), H:0x104 (readdemand) Int32 Einheit: kWh / kW / 100 (energy), / 1000 (power)
Serviceattribute
Gesamte reverse Blindenergie
Reverse-Blindleistungsbedarf

Importenergie

Gesamtverbrauch lesen
MODBUSR(H, 0x10e, Int32) / 100
Bedarf lesen
var demand := MODBUSR(H, 0x104, Int32)/1000;
if (demand > 0, return(demand), return(0));
Serviceattribute
${total_reactive_energy} [kVArh]
tostring(modbusr(H, 0x136,Int32)/100, "F2")
${reactive_power} [VAr]
tostring(modbusr(H, 0x184,Int32) / 10, "F2")
Verbindung: Modbus RTU • 9600 baud• 8N1 • Slave ID: $[SlaveId]
Mögliche Verbesserungen (32)
  • H:0x110 T1 Total Forward Active Energy — Tariff 1 forward active energy (kWh) — without tariffs T1 = total
  • H:0x112 T2 Total Forward Active Energy — Tariff 2 forward active energy (kWh)
  • H:0x114 T3 Total Forward Active Energy — Tariff 3 forward active energy (kWh)
  • H:0x116 T4 Total Forward Active Energy — Tariff 4 forward active energy (kWh)
  • H:0x11A T1 Total Reverse Active Energy — Tariff 1 reverse active energy (kWh)
  • H:0x11C T2 Total Reverse Active Energy — Tariff 2 reverse active energy (kWh)
  • H:0x11E T3 Total Reverse Active Energy — Tariff 3 reverse active energy (kWh)
  • H:0x120 T4 Total Reverse Active Energy — Tariff 4 reverse active energy (kWh)
  • H:0x124 T1 Total Active Energy — Tariff 1 total active energy (kWh)
  • H:0x126 T2 Total Active Energy — Tariff 2 total active energy (kWh)
  • H:0x128 T3 Total Active Energy — Tariff 3 total active energy (kWh)
  • H:0x12A T4 Total Active Energy — Tariff 4 total active energy (kWh)
  • H:0x12E T1 Total Forward Reactive Energy — Tariff 1 forward reactive energy (kVArh)
  • H:0x130 T2 Total Forward Reactive Energy — Tariff 2 forward reactive energy (kVArh)
  • H:0x132 T3 Total Forward Reactive Energy — Tariff 3 forward reactive energy (kVArh)
  • H:0x134 T4 Total Forward Reactive Energy — Tariff 4 forward reactive energy (kVArh)
  • H:0x138 T1 Total Reverse Reactive Energy — Tariff 1 reverse reactive energy (kVArh)
  • H:0x13A T2 Total Reverse Reactive Energy — Tariff 2 reverse reactive energy (kVArh)
  • H:0x13C T3 Total Reverse Reactive Energy — Tariff 3 reverse reactive energy (kVArh)
  • H:0x13E T4 Total Reverse Reactive Energy — Tariff 4 reverse reactive energy (kVArh)
  • H:0x142 T1 Total Reactive Energy — Tariff 1 total reactive energy (kVArh)
  • H:0x144 T2 Total Reactive Energy — Tariff 2 total reactive energy (kVArh)
  • H:0x146 T3 Total Reactive Energy — Tariff 3 total reactive energy (kVArh)
  • H:0x148 T4 Total Reactive Energy — Tariff 4 total reactive energy (kVArh)
  • H:0x172 Resettable Total Active Energy — Resettable counter (kWh)
  • H:0x174 Resettable Total Reactive Energy — Resettable counter (kVArh)
  • H:0x176 Forward Active Demand — Demand-averaged forward active power (W)
  • H:0x178 Forward Maximum Active Energy Demand — Maximum recorded forward active demand (W)
  • H:0x17A Reverse Active Demand — Demand-averaged reverse active power (W)
  • H:0x17C Reverse Maximum Active Energy Demand — Maximum recorded reverse active demand (W)
  • H:0x182 Forward Maximum Reactive Demand — Maximum recorded forward reactive demand (VAr)
  • H:0x186 Reverse Maximum Reactive Demand — Maximum recorded reverse reactive demand (VAr)

Quellen