Skip to content
Get started

Renogy Inverter BLE Sensor

The renogy_inverter_ble sensor platform reads live data from a Renogy inverter with built-in Bluetooth over Bluetooth Low Energy — for example the Renogy PUH 12V 3000W Pure Sine Wave Inverter (with UPS transfer switch, SKU RIV1230PU-126) and other units in the RNGRIU family.

These inverters speak Modbus over BLE, but require a proprietary “wake” read on a vendor characteristic before they answer any request — which is why a generic Modbus Controller over a BLE bridge times out against them. This component performs that handshake, then reads the inverter’s holding registers and publishes the values.

It depends on the BLE Client component, which in turn requires the ESP32 BLE Tracker.

The inverter’s BLE MAC address is not the same as the UUID shown by some operating systems. To find it, flash a temporary tracker build and watch the logs for a device whose name starts with RNGRIU:

logger:
level: DEBUG
esp32_ble_tracker:
on_ble_advertise:
then:
- lambda: |-
ESP_LOGD("scan", "Found %s '%s'", x.address_str().c_str(), x.get_name().c_str());

A phone app such as nRF Connect can also be used. Once you have the MAC, remove the tracker logging and configure the component below.

NOTE

The inverter accepts only one BLE connection at a time. If a phone app or another client is connected to it, this component cannot read it.

Set up a BLE Client with the inverter’s MAC address first; inverter_client below is the id of that entry.

renogy_inverter_ble:
ble_client_id: inverter_client
sensor:
- platform: renogy_inverter_ble
ac_output_voltage:
name: "Inverter Output Voltage"
battery_voltage:
name: "Inverter Battery Voltage"
  • id (Optional, ID): Manually specify the ID used for code generation.
  • ble_client_id (Required, ID): The ID of the BLE Client to read from.
  • update_interval (Optional, Time): The interval to poll the inverter. Defaults to 30s.
  • renogy_inverter_ble_id (Optional, ID): The ID of the renogy_inverter_ble hub to read from. Only needed when more than one hub is configured.
  • ac_input_voltage (Optional): AC input (grid pass-through) voltage, in V. All options from Sensor.
  • ac_output_voltage (Optional): AC output voltage, in V. All options from Sensor.
  • ac_output_current (Optional): AC output current, in A. All options from Sensor.
  • ac_output_frequency (Optional): AC output frequency, in Hz. All options from Sensor.
  • input_frequency (Optional): AC input (grid) frequency, in Hz. All options from Sensor.
  • battery_voltage (Optional): Battery voltage, in V. All options from Sensor.
  • temperature (Optional): Inverter temperature, in °C. All options from Sensor.
  • load_current (Optional): Load current, in A. All options from Sensor.
  • load_active_power (Optional): Load active power, in W. All options from Sensor.
  • load_apparent_power (Optional): Load apparent power, in VA. All options from Sensor.