New Renogy BLE Custom Integration for Charge Controllers

Hi all, I wanted to share a custom integration that I have been working on.

Renogy HA, a Home Assistant integration for Renogy BLE devices

I have two Renogy Rover solar controllers, and I wanted to pull data locally from the Bluetooth module. I found various scripts online, but wanted something more native to Home Assistant. I used Cyrils’ renogy-bt script as a reference for the mod bus commands, and built a custom integration. Disclaimer: I have worked a lot with Python over the years, but this is a new level for me. I also took this as an opportunity to play with GitHub Copilot agent mode, so 95% percent of the code was either generated, planned, or reviewed by AI.

The bad news first: Currently, only charge controllers are supported. I don’t own any other Renogy products, but the modbus commands for other device types are in the renogy-bt script. I could attempt to implement them if others are willing to test. Also, this integration connects directly to Renogy devices via the BT-1 or BT-2 Bluetooth Low Energy modules. It does not work with Renogy Cloud APIs. There are other solutions online if you want to use Renogy Cloud.

The good news: The integration is working well with my two Rover devices. You can easily install the integration by adding my repo to HACS. Instructions are in the README. Setup is all done from the UI, and MQTT is not required. This makes it the simplest setup for pulling in your Renogy metrics to HA, provided you already have a bluetooth adapter or proxy working.

I live in an RV, so this integration helps me monitor our energy production while we’re on the road. Home Assistant is the beating heart of our setup, coordinating everything from the furnace to our alarm system.

I’d love to hear if anyone finds this integration useful, or if there is interest in other features. And if you want to contribute, please do!

Some other notes… The integration communicates with Renogy devices over an active Bluetooth connection. There are certain caveats to this, the main one being that most Bluetooth adapters can only have 3-7 active connections at once. If you are getting connection errors, your Bluetooth adapter may be maxed out. This happened to me, so I added an ESP32 proxy for additional connections. Read more about Home Assistant and Bluetooth here.

8 Likes

All I can say is, wow, amazing. Thank you so much!

I setup an ESPHome Proxy like you mentioned and I’m able to connect to Renogy Wanderer 10A Charge Controller via BT-1.

Do you think it’s possible to switch the load on/off from Home Assistant?

2 Likes

Yes, it should be! That is the next feature I will work on implementing. There is an open issue for it here: Toggle DC Load Output · Issue #15 · IAmTheMitchell/renogy-ha · GitHub

1 Like

Thank you! very cool and helpful!

1 Like

Will this work with an ESPhome bluetooth proxy?
My HASS controller is on the opposite side of the house.

1 Like

Yes, in fact it works best with a ESPHome bluetooth proxy! I use several of them (ESP32).

1 Like

Thanks for sharing, this is great! I can confirm it works for Adventurer charge controller! It might be my ESP32 config or other devices, but every so often I get ESP_GATTC_DISCONNECT_EVT, reason 8

1 Like