rbAmp in Home Assistant — real energy data, native.
Read RMS voltage, current, power, PF and tariff energy as native Home Assistant entities — set up in a few lines of YAML with the ESPHome component. Works with the HA Energy Dashboard.
What you get in Home Assistant
Native HA entities
Voltage · Current · Power · PF · Frequency · Energy appear as ordinary HA sensors — graphs, history, automations.
HA Energy Dashboard
Energy flows into the built-in Energy Dashboard: daily/tariff totals, long-term statistics, cost. (Basic = consumption only; bidirectional = Standard, roadmap.)
Per-circuit / multi-module
Several modules on the bus → separate loads (water heater, kitchen, mains) as separate entities.
Automations & alerts
Thresholds, notifications, scenes — overload, "left the iron on", solar export alerts.
Choose your path
A — ESPHome (ESP32)
Module on ESP32 I²C → ESPHome component → native HA API. A few lines of YAML, no code. The plug-and-play route for almost everyone.
Set it up →B — SBC direct (Raspberry Pi)
Module on the Pi's I²C → Python library → MQTT autodiscovery → HA. For headless / Pi-centric / integrator setups without an ESP32.
For integrators →| ESPHome (ESP32) | SBC direct (Raspberry Pi) | |
|---|---|---|
| Hardware | ESP32 | Raspberry Pi |
| Effort | YAML, no code | Python + MQTT |
| Best for | Everyone | Integrators · headless |
Path A — ESPHome component
Flash → ~5 lines of YAML → entities in HA.
Flash ESP32
ESPHome firmware on the ESP32; module on I²C (SDA/SCL + DataReady).
Add the component
A few lines of YAML: external_component + platform: rbamp.
Entities appear
U / I / P / PF / Hz / energy show up in HA automatically; drop them on a dashboard.
external_components:
- source: github://rb-amp/rbamp-esphome@main
sensor:
- platform: rbamp
voltage: { name: "Voltage" }
power: { name: "Power" }
energy: { name: "Energy" }
- No code — pure YAML
- Multi-module on one bus
- NVS Wh persistence — the energy counter survives reboots
- Native HA API (not MQTT)
Path B — SBC direct (Raspberry Pi)
Module on the Pi's I²C → pip install rbamp → MQTT autodiscovery → entities in HA.
Wire to the Pi
Module on the Pi I²C (SDA/SCL, 3.3 V); enable I²C in raspi-config.
pip install rbamp
Read U / I / P / PF / Wh in Python — a few lines.
Bridge to HA
Publish to MQTT with autodiscovery → HA creates the entities itself.
from rbamp import RbAmp
m = RbAmp(bus=1, addr=0x60)
print(m.voltage(), m.current(), m.power()) # physical units
- For headless / Pi-centric / integrator setups
- No ESP32 required
- 3.3 V logic — no level shifter
- Full publisher example in the docs
Today's ready path = Python → MQTT autodiscovery. A native HA integration (direct I²C) = roadmap.
Get rbAmp into Home Assistant.
Follow the guide for your path — ESPHome or Raspberry Pi — and you're reading real energy in minutes.