wildmountainfarms / solarthing

Monitors an Outback MATE, Renogy Rover - MPPT Charge Controller and EPEver Tracer. Integrates with Grafana, PVOutput and more!
https://solarthing.readthedocs.io
MIT License
127 stars 28 forks source link

Support over BT #44

Closed Anto79-ops closed 2 years ago

Anto79-ops commented 2 years ago

Hi, great feature here!

Any way this can work over bluetooth (BT-1 and BT-2) instead of using the cable? Like Raspberry Pi blupy as the data logger?

retrodaredevil commented 2 years ago

I currently don't know of any way this could work over Bluetooth. It's probably possible, but I won't add support for it because:

As far as I know, Renogy's Bluetooth stuff is proprietary, so getting data off of their Bluetooth stuff would probably require reverse engineering it by decompiling their Android app and seeing what they do. (I don't think reverse engineering their Bluetooth stuff is worth the time.)

Also, I know that people have complained about the reliability of the BT-1 with their phones, so I really wouldn't want to count on that to be reliable, especially if we had to reverse engineer it. The BT-2 might be better, or it might just be the same technology with a different connection, I'm not sure.

Anto79-ops commented 2 years ago

Hi, just wanted to follow up on this, looks like there is a way to get this work over the bluetooth module, BT-1. Please see this thread:

https://diysolarforum.com/threads/renogy-devices-and-raspberry-pi-bluetooth-wifi.30235/

Seems to work well with the Rover and BT-1. Any ides how to get this to work with BT-2 modules (i.e. battery/inverters)? Your input would be greatly apprecaited on the forum.

retrodaredevil commented 2 years ago

That's cool that people are figuring out how to read from the bluetooth. I didn't realize someone already reverse engineered that for Rengoy BT.

I don't know how to get it to work with BT-2 modules. Like I said, I don't know if the BT-1 and BT-2 modules do the same thing (just with a different connection). I would have guessed that BT-1 and BT-2 modules are pretty similar, but if people cannot get BT-2 modules to work with software that works with BT-1 then I guess that might prove that wrong.

I've had brief looks at the Renogy DC Home's decompiled code, and from what I can tell, BT-1 and BT-2 modules are treated the same in the code. I'm only aware of the app treating some registers differently for the DCDC Dual Input Charger, but that isn't bluetooth related. SolarThing also has to treat some of the registers differently for DCDC controllers.

I imagine that once you establish connection with a bluetooth module, you don't have to treat it differently based on if it is a battery, inverter or charge controller. From what I can tell, the bluetooth module is just an interface around making modbus requests to the controller. Batteries, inverters, and charge controllers all have different modbus documents, meaning that most of their registers are different from each other. Again, this isn't bluetooth related, but I figured it's worth mentioning.

Also the decompiled Renogy DC Home code is some of the ugliest code I've ever seen (I think some of it is obfuscated), so I could have easily missed something.

Thanks for asking for my input. This is interesting stuff. I'll be watching that thread and might reply if I think there's anything useful I can add.

Anto79-ops commented 2 years ago

Sounds good, even your reply already helped! Hopefully, with enough brain-power and expertise like yours, we can get it to work!