devices.esphome.io
Earu EA777
Earu EA777
Device Type: sensorElectrical Standard: global
Setup & requirements
- ESP32 Board
- MAX485 transceiver
Basic configuration
Latest version can be found here Github
esphome: name: ${name} friendly_name: Energy Meter EA777 (ModBus RTU) min_version: 2025.5.0 name_add_mac_suffix: false
# ESP32 Boardesp32: board: esp32dev framework: type: esp-idf
# Home Assistant APIapi:
# Over-The-Air updatesota:- platform: esphome
# Wi-Fi settings with secretswifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Optional manual IP # manual_ip: # static_ip: 192.168.0.100 # gateway: 192.168.0.1 # subnet: 255.255.255.0
# UART Bus for the MAX485 transceiveruart: id: uart_modbus_server baud_rate: 9600 # Adjust Baudrate tx_pin: 19 # Adjust TX PIN rx_pin: 18 # Adjust RX PIN stop_bits: 1 # Adjust Stop bits parity: EVEN # Adjust Parity
modbus: uart_id: uart_modbus_server id: modbus_server flow_control_pin: 4 send_wait_time: 1000ms
modbus_controller: - id: earu_ea777 address: 0x1 # Adjust device address modbus_id: modbus_server setup_priority: -10 update_interval: 10s
sensor: # Voltage section, Phase A, B, C as per the EA777 markings, Can also be named L1, L2, L3 # In Volts, precision 0.1V - platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_a_voltage name: "Phase A voltage" address: 0x00 register_type: read accuracy_decimals: 1 value_type: U_WORD unit_of_measurement: "V" filters: - multiply: 0.1
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_b_voltage name: "Phase B voltage" address: 0x01 register_type: read accuracy_decimals: 1 value_type: U_WORD unit_of_measurement: "V" filters: - multiply: 0.1
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_c_voltage name: "Phase C voltage" address: 0x02 register_type: read accuracy_decimals: 1 value_type: U_WORD unit_of_measurement: "V" filters: - multiply: 0.1
# Current section in Amperes, precision 0.1A - platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_a_current name: "Phase A current" address: 0x03 register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "A" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_b_current name: "Phase B current" address: 0x04 register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "A" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_c_current name: "Phase C current" address: 0x05 register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "A" filters: - multiply: 0.01
# Active power in Watts: Total, Phases A, B, C # Precision 1W - platform: modbus_controller modbus_controller_id: earu_ea777 id: active_power name: "Active power" address: 0x07 register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_a_active_power name: "Phase A active power" address: 0x08 register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_b_active_power name: "Phase B active power" address: 0x09 register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_c_active_power name: "Phase C active power" address: 0x0A register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
# Active power in Watts: Total, Phases A, B, C # Precision 1W - platform: modbus_controller modbus_controller_id: earu_ea777 id: reactive_power name: "Reactive power" address: 0x0B register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_a_reactive_power name: "Phase A reactive power" address: 0x0C register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_b_reactive_power name: "Phase B reactive power" address: 0x0D register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_c_reactive_power name: "Phase C reactive power" address: 0x0E register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "W"
# Power factor, cos phi # Range 0-1.000, precision 0.001 - platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_a_power_factor name: "Phase A power factor" address: 0x14 register_type: read accuracy_decimals: 3 value_type: U_WORD unit_of_measurement: "cos φ" filters: - multiply: 0.001
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_b_power_factor name: "Phase B power factor" address: 0x15 register_type: read accuracy_decimals: 3 value_type: U_WORD unit_of_measurement: "cos φ" filters: - multiply: 0.001
- platform: modbus_controller modbus_controller_id: earu_ea777 id: phase_c_power_factor name: "Phase C power factor" address: 0x16 register_type: read accuracy_decimals: 3 value_type: U_WORD unit_of_measurement: "cos φ" filters: - multiply: 0.001
# Frequency, Hertz, precision 0.01Hz - platform: modbus_controller modbus_controller_id: earu_ea777 id: current_voltage_frequency name: "Current voltage frequency" address: 0x1A register_type: read accuracy_decimals: 2 value_type: U_WORD unit_of_measurement: "Hz" filters: - multiply: 0.01
# Settings - platform: modbus_controller modbus_controller_id: earu_ea777 id: instrument_communication_address name: "Instrument communication address" address: 0x61 register_type: read value_type: U_WORD - platform: modbus_controller modbus_controller_id: earu_ea777 id: communication_baud_rate name: "Communication baud rate" address: 0x62 register_type: read value_type: U_WORD
- platform: modbus_controller modbus_controller_id: earu_ea777 id: communication_data_format name: "Communication data format" address: 0x63 register_type: read value_type: U_WORD
# Energy - platform: modbus_controller modbus_controller_id: earu_ea777 id: current_total_active_energy name: "Current total active energy" address: 0x001D register_type: read register_count: 2 accuracy_decimals: 2 value_type: U_DWORD unit_of_measurement: "kWh" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: current_positive_total_active_energy name: "Current positive total active energy" address: 0x0027 register_type: read register_count: 2 accuracy_decimals: 2 value_type: U_DWORD unit_of_measurement: "kWh" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: current_reverse_total_active_energy name: "Current reverse total active energy" address: 0x0031 register_type: read register_count: 2 accuracy_decimals: 2 value_type: U_DWORD unit_of_measurement: "kWh" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: current_total_reactive_energy name: "Current total reactive energy" address: 0x003B register_type: read register_count: 2 accuracy_decimals: 2 value_type: U_DWORD unit_of_measurement: "kVArh" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: current_positive_total_reactive_energy name: "Current positive total reactive energy" address: 0x0045 register_type: read register_count: 2 accuracy_decimals: 2 value_type: U_DWORD unit_of_measurement: "kVArh" filters: - multiply: 0.01
- platform: modbus_controller modbus_controller_id: earu_ea777 id: current_reverse_total_reactive_energy name: "Current reverse total reactive energy" address: 0x004F register_type: read register_count: 2 accuracy_decimals: 2 value_type: U_DWORD unit_of_measurement: "kVArh" filters: - multiply: 0.01