Tani licznik energii z Modbus do Home Assistant – EA777 (EARU)
Po co używać licznika energii w Home Assistant?
Home Assistant daje ogromne możliwości automatyzacji, ale bez dokładnych danych o zużyciu energii wiele scenariuszy po prostu nie ma sensu. Odczyty z falownika czy „inteligentnych gniazdek” są często zbyt ogólne albo niedokładne.
Dedykowany licznik energii pozwala opomiarować konkretne urządzenia lub całe obwody, takie jak:
- pompa ciepła,
- klimatyzacja,
- bojler lub grzałka,
- płyta indukcyjna,
- ładowarka samochodu elektrycznego,
- cały dom lub wybrane fazy.
Dzięki temu:
- widzisz realne zużycie energii w czasie rzeczywistym,
- możesz analizować koszty działania konkretnych urządzeń,
- budujesz automatyzacje reagujące na faktyczny pobór mocy,
- dane trafiają bezpośrednio do Energy Dashboard w Home Assistant.
Licznik energii z komunikacją Modbus RTU to dodatkowo pełna niezależność od chmury, stabilność działania i możliwość integracji dokładnie tak, jak tego potrzebujesz.
EA777 to tani licznik energii elektrycznej z interfejsem Modbus RTU (RS485). Nie jest to urządzenie „smart” z aplikacją w chmurze, tylko klasyczny licznik przemysłowy — dokładnie to, czego potrzebujemy w Home Assistant.
Najważniejsze cechy:
- komunikacja RS485 / Modbus RTU
- pomiar:
- napięcia
- prądu
- mocy chwilowej
- energii (import / eksport)
- montaż na szynę DIN
- bardzo dobra relacja cena → możliwości
To idealny kandydat:
- jako licznik główny domu,
- do pomiaru konkretnego obwodu (np. grzałka, falownik),
- do automatyzacji opartych o rzeczywiste zużycie.
Zalety EA777
1. Cena
EA777 kosztuje ułamek ceny markowych liczników typu DDSU czy SDM, a funkcjonalnie robi dokładnie to, czego potrzeba.
2. Modbus RTU (RS485)
Stabilna, przewidywalna komunikacja bez:
- chmury,
- aplikacji producenta,
- kont użytkownika.
3. Działa lokalnie
Home Assistant, ESPHome, brak internetu — wszystko działa nawet gdy sieć padnie.
4. Szybkie odczyty
Dane są dostępne praktycznie w czasie rzeczywistym, co jest kluczowe dla automatyzacji.
Dlaczego Modbus to nadal świetny wybór?
Modbus RTU to jeden z najstarszych, ale też najbardziej niezawodnych protokołów przemysłowych.
Dlaczego jest „fajny”:
- 📡 brak opóźnień i chmury
- 🔒 pełna kontrola nad danymi
- 🔧 łatwa integracja (HA, ESPHome, PLC)
- ⚙️ przewidywalne rejestry (liczby, nie „magia API”)
W przeciwieństwie do Wi-Fi liczników:
- nic się samo nie aktualizuje i nie psuje,
- urządzenie będzie działać tak samo za 5–10 lat.
Integracja EA777 z ESPHome
Do komunikacji wystarczy:
- ESP32 lub ESP8266,
- konwerter RS485 → UART (np. MAX485).
Przykładowa konfiguracja ESPHome
esphome:
name: ${name}
friendly_name: Energy Meter EA777 (ModBus RTU)
min_version: 2025.5.0
name_add_mac_suffix: false
# ESP32 Board
esp32:
board: esp32dev
framework:
type: esp-idf
# Home Assistant API
api:
# Over-The-Air updates
ota:
- platform: esphome
# Wi-Fi settings with secrets
wifi:
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 transceiver
uart:
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
Podsumowanie
EA777 to bardzo dobry wybór, jeśli:
- chcesz tani, ale solidny licznik energii,
- zależy Ci na pracy lokalnej,
- używasz Home Assistant i ESPHome,
- cenisz prostotę i stabilność.
To kolejny przykład, że proste rozwiązania przemysłowe świetnie sprawdzają się w smart home.

Witam
Do jakiego prądu max można wykorzystać licznik?
Bo nie ma on ctków