Skip to main content
Device Type:misc
Electrical Standard:eu
Board:esp32

Orno Single Phase Energy meter OR-WE-504

GPIO Pinout

PinFunction
GPIO03RS485 adapter TX
GPIO01RS485 adapter RX

Note: you may need to reverse the RX/TX cabling depending on your platform.

Connection

Use a RS485 adapter (RS485 to TTL) like this one.

ESPHome configuration

Available memory registries can be found in the Tasmota discussions.

esphome:
name: energy_meter

esp32:
board: esp32doit-devkit-v1

api:

ota:
password: "CHANGE_ME"

wifi:
ssid: "your ssid"
password: "your password"

# Turn off logging because RX/TX pins used for modbus
logger:
level: DEBUG
baud_rate: 0 # off

uart:
id: mod_bus
rx_pin: GPIO03
tx_pin: GPIO01
baud_rate: 9600
parity: EVEN
stop_bits: 1

modbus:
id: modbus1

modbus_controller:
- id: orno_we_504
address: 0x1
modbus_id: modbus1
setup_priority: -10
update_interval: 20s

sensor:
# Voltage
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Voltage"
id: orno_we_504_modbus_voltage
register_type: holding
address: 0
device_class: VOLTAGE
unit_of_measurement: "V"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1

# Current
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Current"
id: orno_we_504_modbus_current
register_type: holding
address: 1
device_class: CURRENT
unit_of_measurement: "A"
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.1

# Grid frequency
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Grid frequency"
id: orno_we_504_modbus_grid_frequency
register_type: holding
address: 2
device_class: FREQUENCY
unit_of_measurement: "Hz"
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.1

# Active power
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Active power"
id: orno_we_504_active_power
register_type: holding
address: 3
device_class: POWER
unit_of_measurement: "W"
value_type: U_WORD
accuracy_decimals: 0

# Reactive power
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Reactive power"
id: orno_we_504_reactive_power
register_type: holding
address: 4
device_class: REACTIVE_POWER
unit_of_measurement: "var"
value_type: U_WORD
accuracy_decimals: 0

# Apparent power
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Apparent power"
id: orno_we_504_apparent_power
register_type: holding
address: 5
device_class: APPARENT_POWER
unit_of_measurement: "VA"
value_type: U_WORD
accuracy_decimals: 0

# Power factor
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Power factor"
id: orno_we_504_power_factor
register_type: holding
address: 6
device_class: POWER_FACTOR
unit_of_measurement: ""
value_type: U_WORD
accuracy_decimals: 3
filters:
- multiply: 0.001

# Active energy
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Active energy"
id: orno_we_504_power_active_energy
register_type: holding
address: 7
device_class: ENERGY
state_class: total
unit_of_measurement: "kWh"
value_type: U_DWORD
accuracy_decimals: 2
filters:
- multiply: 0.001

# Reactive energy
- platform: modbus_controller
modbus_controller_id: orno_we_504
name: "Reactive energy"
id: orno_we_504_power_reactive_energy
register_type: holding
address: 9
device_class: ENERGY
state_class: total
unit_of_measurement: "kvarh"
value_type: U_DWORD
accuracy_decimals: 2
filters:
- multiply: 0.001