Skip to Content

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.

rbAmp energy data in a Home Assistant 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

Recommended

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 →
Alternative · Advanced

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)
HardwareESP32Raspberry Pi
EffortYAML, no codePython + MQTT
Best forEveryoneIntegrators · headless

Path A — ESPHome component

Flash → ~5 lines of YAML → entities in HA.

1

Flash ESP32

ESPHome firmware on the ESP32; module on I²C (SDA/SCL + DataReady).

2

Add the component

A few lines of YAML: external_component + platform: rbamp.

3

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.

1

Wire to the Pi

Module on the Pi I²C (SDA/SCL, 3.3 V); enable I²C in raspi-config.

2

pip install rbamp

Read U / I / P / PF / Wh in Python — a few lines.

3

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.