Wondering if anyone can assist with my predicament. Renogy only created a phone app to monitor their devices. Whereas this is handy, it is not conducive to integrating into HA.
I have 2 solar installations.
A small one using a Renogy Wanderer 10A utiliing @Olen BT-1 set up (works great)
A larger one with a Renogy 48V 3500W Inverter Charger with a communications hub and BT-2 and unable to monitor with HA
My attempts to decode the communications of the BT-2 has thus far failed and I cannot seem to wrap my head around the process so wondering if anyone else has any ideas or solutions.
What I have tried is:
Trying Olenās BT-1 solution (did not work)
Trying a few other similar
Using the Renogy RS485 to USB cable on a pi
What I am wondering is if I setup a dedicated tablet/phone running the Renogy app, is there a way to scrap or otherwise extract the data from the device and send to HA?
My ultimate goal is to be able to monitor:
PV wattage, volt, and current
AC input wattage
AC (load) output wattage, volts, amps
DC/battery charging watts, amps
DC/battery volts, current, temp
What options are there? I am happy with the device itself but regret the purchase due to not understanding the limitations of monitoring.
That was actually how my project started out. I set up an android tablet with the vendor app running. Then I ran an automatic screenshot every 10 minutes or so. The image was then automatically sent by email to a dedicated address, where the attachment was processed and sent through an ocr-scan, and the resulting text was then interpreted and whatever info I was able to retrieve was then added to HA.
As you can imagine this was not very reliable in the long runā¦
I think your best bet is to continue the effort of reverse engineering either the official app, or the protocol directly. Unfortunatly, without access to the equipment, that is quite hard to do.
I still have had 0 luck getting anything to work. Would you mind sharing how you captured a screen shot and emailed it and then ran it through an ocr to get usable data?
I have plenty of hardware available to dedicate to accomplishing this.
I donāt remember the details, but I believe I used the app āTaskerā on a simple Android tablet to start the monitoring app, wait for a few seconds, and then take a screenshot, and send the screenshot either using a HTTP POST or by email (canāt remember exactly) to a server and then go back to sleep again.
When the image was received, I pushed it through some OCR application to extract the text, and then a python script parsed the resulting text and pushed data to HA with MQTT.
But his whole process was highly unreliable, and quite often the OCR would give unexpected results which gave me the wrong values in HA. Other times, tasker was not able to start the vendor application, or it did not wait long enough to take the screenshot if the bluetooth connection failed for some reason and the app took longer time to start up.
And sometimes the whole process would stop, and there was no way to restart it without travelling up there and restart the tablet.
And ALSO, a tablet is using much more power than you would think when running 24/7 like that. So after a few days without much sun, the solar charged batteries would be empty, and the whole project caused more problems than it solved.
Thank you. Iām just making myself sick trying to figure something out to be able to monitor this unit. I canāt seem to wrap my head around a solution - or get through some of the alternatives. I emailed Renogy last night again begging and offering to pay to get something in place to allow recording from the controller.
I still think your best bet is to reverse engineer the protocol - or the vendor app.
Dump the traffic between the vendor app and the device to a file using e.g. wireshark while you note down the timestamps and what you do in the app and the values you can see in the app.
Study the traffic in the dump-file, and try to understand how requests and responses are encoded and what they mean. Usually, it is pretty easy to get the basic stuff, like reading power values etc.
For example. You might see a packet from the device with the value like FE80003E8 and you see in your notes that this was sent just when the app updated the SOC value to 100%.
Then, later you see that you get a packet with FE80003E3 and the app showed 99.5%, and then you find a packet with FE80003DE and the app showed 99%.
Ok, now you can be pretty sure that packets starting with FE80 will contain the SOC-value, and that it is returned in 1/10 of a percent. (3E8 = 1000, 3E3 = 995 and 3DE = 990).
Then you have to see if there are any other packets with FE80, but with values that are clearly NOT the SOC. How do you interpret them? How do you seperate them from the SOC values?
Do you need to send anything to the device to get the SOC, or is is sent unsolicited every time it changes?
Try to send the same things to the device that you see the app is sending from a computer with a bluetooth dongle.
Try to understand the responses you get back again.
Try to remove requests you do not understand, and see if they are superfluous.
Sometimes there are āsecretā handshakes that are not aesy to understand, but that can just be sent ārawā and you donāt really need to understand what they are for. Just live with that.
After a while, you will be able to make a connection, send requests and interpret responses from the device using a computer, just like the app is doing on your phone.
THEN you can start documenting the parts of the protocol you have decoded so far and can start scripting the process.
Thanks again. Iāll try again and spend more time with it.
I wasnāt able to get wireshark for android but used a dump file and then reviewed on a pc. I wonder if I could use an android emulator to run the app from the pc (bluetooth needed) to get a better real-time view.
The only manual interaction with the app (after opening) is to select either the charge controller or the battery to get detailed status. The cover page loads the devices with almost no data reflected until you select the device.
Not for the equipment you have specifically, but for the modbus port directly and renogy equipment.
The above guys seem to be from the T6 Forum so possibly worth poking around there too, you might not get the specific answers you need, but starting points help!
Renogy just released a new device, the Renogy One M1, that allows better monitoring, historical data logs, and supposedly an API on the horizon. I guess Iāll order it and see how it goes.
Agreed on your points but Iām just so frustrated with this. I email then back and forth every couple of days letting them know how disappointed I am that after shelling out so much $$ to their brand, I cannot simply record my systemās usage. Iām actually not a zigbee fan and have been reducing that type of device in my home but may rethink thatā¦ time will tell.
For ZigBee, Iām heading towards using more zigbee stuff when I can, as most IoT devices like phoning home for no reason, needing apps to log into a server somewhere just to provision stuff. Completely unnecessary imho.
For my own solar project, Iām writing some python to talk to my DCDC50S and 100Ah āsmartā battery via modbus, but Iām struggling how to figure out how to integrate with HAās energy subsystem. āJust use these integrationsā just isnāt helpful! (this is via modbus and a USB cable)
Iām guessing that Iāll need a MQTT lashup and write my own yaml template sensors
Below is a link to a copy I have of the Renogy Modbus Protocol specification in my Google Drive. I was looking at using a Raspberry Pi to build a solar charge monitoring system. Iāve had little time to work on the project so I would appreciate it if you can post any efforts as they evolve.
Helping a client look for the same. I work for a company that makes an IOT gateway which has bluetooth and other radios on it.
I found this after searching every month for something new out there and thought Iād share with the crowd. Iām hoping I can get a dev to help me make this work on our gateway as it is being used out at a remote site over LTE connection.
As another path, I considered if an ESP32 with ESPhome can handle this for you all as I have a few of those with an RS485->TTL transceiver. ESPhome would set up the right sensors for HA.
With bluetooth being available now on home assistant, an app in home assistant that could communicate directly with the BT2 would be fantastic. Anyone?
I am using the modbus integration in home assistant with the Renogy usb rj45 cable. Iām collecting data from a Renogy Rover Elite 40a Charger/Controller and a Renogy 100ah battery. Works great so far. I have everything I would want directly in home assistant. No more stupid Bluetooth app.
Renogy will be releasing a new product on June 1st, the One Core
What is nice about this is that its a hub for all Renogy Device via BT/Wifi/Zigbee and it also has an RJ-485 port. Wondering if we can tap into the RJ-485 port capture all the data that ONE Core is connected to?