diy solar

diy solar

Renogy Devices and Raspberry Pi - bluetooth/WiFi

I might be wrong - looking at the code the way I interpret it, it looks for devices for 15seconds then if nothing new is discovered after another 5 it then checks to see if it found one that matches the MAC in the .ini and then tries to connect.
It would be straight forward to detect the failure to connect to the given device and build say 3 retries around it though

You can see though from the Journal it works first time for mine (consistently)

Mar 08 17:07:51 solarpi systemd[1]: Started Solar Monitor.
Mar 08 17:07:55 solarpi solar-monitor.py[8384]: INFO: Adapter status - Powered: True
Mar 08 17:07:55 solarpi solar-monitor.py[8384]: INFO: Starting discovery...
Mar 08 17:08:10 solarpi solar-monitor.py[8384]: INFO: Found 13 BLE-devices
Mar 08 17:08:10 solarpi solar-monitor.py[8384]: INFO: Trying to connect to 80:6f:b0:10:4d:c6...
Mar 08 17:08:10 solarpi solar-monitor.py[8384]: INFO: Successfully imported SolarLink.
Mar 08 17:08:10 solarpi solar-monitor.py[8384]: INFO: [regulator] Connecting to 80:6f:b0:10:4d:c6
Mar 08 17:08:11 solarpi solar-monitor.py[8384]: INFO: [regulator] Connected to BT-TH-B0104DC6
Mar 08 17:08:11 solarpi solar-monitor.py[8384]: INFO: [regulator] Resolved services
.....
for dev in device_manager.devices():
logging.debug("Processing device {} {}".format(dev.mac_address, dev.alias()))
for section in config.sections():
if config.get(section, "mac", fallback=None) and config.get(section, "type", fallback=None):
mac = config.get(section, "mac").lower()
if dev.mac_address.lower() == mac:
logging.info("Trying to connect to {}...".format(dev.mac_address))
try:
device = SolarDevice(mac_address=dev.mac_address, manager=device_manager, logger_name=section, config=config, datalogger=datalogger)
except Exception as e:
logging.error(e)
continue
device.connect()
 
I think I've finally had some success. Added some code to the datalogger.py to log to my prometheus setup and could pretty much re-import my original Grafana dashboard. Pretty overcast snowy day today. Haven't checked the panels so they might be partially covered with snow from the day's storm.

Has anyone been able to reconfigure to bring in the charging status? It looks like there's some code there to read those registers, but now that it's running I don't want to take it down. I've uncommented the sections that read that register, but it looks like it just outputs to the log. I'd like to get that included as well.

Screen Shot 2022-03-12 at 3.49.38 PM.png
 
There's been an update to the script thanks to a fella named acmagn, the script now properly reconnects every 10 seconds if there's a disconnect and now reads data fron renogy batteries including the built-in Bluetooth one and those running on the BT-2 module.

It hasn't been merged with the original one yet but you can download it here.

 
I think I've finally had some success. Added some code to the datalogger.py to log to my prometheus setup and could pretty much re-import my original Grafana dashboard. Pretty overcast snowy day today. Haven't checked the panels so they might be partially covered with snow from the day's storm.

Has anyone been able to reconfigure to bring in the charging status? It looks like there's some code there to read those registers, but now that it's running I don't want to take it down. I've uncommented the sections that read that register, but it looks like it just outputs to the log. I'd like to get that included as well.
@scottnichol Just curious how you got the charge contoller to report the state MPPT/BOOST etc? Did you also get the history going?

@oedo808 got the history going in the debug logs file.
 
@scottnichol Just curious how you got the charge contoller to report the state MPPT/BOOST etc? Did you also get the history going?

@oedo808 got the history going in the debug logs file.
@SolarShed I never got the charge state to work with the solution from Olen/solar-monitor. Eventually, I took a look at the script mentioned earlier from cyrils/renogy-bt1, which grabs a lot more data than Olen's solution including the charge status. Cyrils' solution is much simpler and that took me down the path of coding my own solution based on it that worked better for my particular setup. So, I created my own project in GitHub which pulls some of the best elements from both of these projects.

You can check it out here: snichol67/solar-bt-monitor

Here's a screen capture of my current dashboard:
Screen Shot 2022-03-29 at 1.22.39 PM.png
 
@SolarShed I never got the charge state to work with the solution from Olen/solar-monitor. Eventually, I took a look at the script mentioned earlier from cyrils/renogy-bt1, which grabs a lot more data than Olen's solution including the charge status. Cyrils' solution is much simpler and that took me down the path of coding my own solution based on it that worked better for my particular setup. So, I created my own project in GitHub which pulls some of the best elements from both of these projects.

You can check it out here: snichol67/solar-bt-monitor

Here's a screen capture of my current dashboard:
That looks preety sweet, and looks like you do have history there with power generation, max and min, and charge status.

Olen script now has the ability to grab data from Renogy batteries. Probably with copy paste, i would imagine that combining both the benefits of the scripts, coud lead to a more complete script!

By they way, does you script output data via mqtt? nice work.
 
Last edited:
That looks preety sweet, and looks like you do have history there with power generation, max and min, and charge status.

Olen script now has the ability to grab data from Renogy batteries. Probably with copy paste, i would imagine that combining both the benefits of the scripts, coud lead to a more complete script!

By they way, does you script output data via mqtt? nice work.
I could look at adding support for other devices down the road, but difficult for me to test since I don't have one of those batteries!

As for MQTT data output, that's possible. I've got a configuration and there are hooks for where to send the data. I wanted to make it easily extensible.

Being a software engineer by trade, it's always nicer to have your own solution vs. someone else's code.
 
@SolarShed I never got the charge state to work with the solution from Olen/solar-monitor. Eventually, I took a look at the script mentioned earlier from cyrils/renogy-bt1, which grabs a lot more data than Olen's solution including the charge status. Cyrils' solution is much simpler and that took me down the path of coding my own solution based on it that worked better for my particular setup. So, I created my own project in GitHub which pulls some of the best elements from both of these projects.

You can check it out here: snichol67/solar-bt-monitor

Here's a screen capture of my current dashboard:
View attachment 89154

Thanks for this!

I used it and modified the code to make my own external display and logger using a C.H.I.P. computer (linux), comparable to a pi zero w. Using it in van solar setup.

renogydisp.jpg
 
I'm running this on a Renogy Rover Elite 40a MPPT. If anyone needs any tests performed, I'm willing to contribute anything I can
Hi,

I have problem with Elite 40A MPPT with BT-2 using solar-monitor

Code:
Debug enabled
INFO: Adapter status - Powered: True
INFO: Starting discovery...
DEBUG: Found 8 BLE-devices so far
DEBUG: Found 8 BLE-devices so far
DEBUG: Found 8 BLE-devices so far
DEBUG: Found 9 BLE-devices so far
DEBUG: Found 11 BLE-devices so far
DEBUG: Found 13 BLE-devices so far
DEBUG: Found 13 BLE-devices so far
DEBUG: Found 13 BLE-devices so far
DEBUG: Found 14 BLE-devices so far
DEBUG: Found 17 BLE-devices so far
DEBUG: Found 17 BLE-devices so far
DEBUG: Found 21 BLE-devices so far
DEBUG: Found 23 BLE-devices so far
DEBUG: Found 23 BLE-devices so far
DEBUG: Found 23 BLE-devices so far
INFO: Found 23 BLE-devices
DEBUG: Processing device 80:6f:b0:10:3a:b0 BT-TH-B0103AB0
INFO: Trying to connect to 80:6f:b0:10:3a:b0...
INFO: Successfully imported SolarLink.
DEBUG: New PowerDevice
DEBUG: New RegulatorDevice
INFO: [regulator] Connecting to 80:6f:b0:10:3a:b0
DEBUG: Processing device a4:da:32:0f:47:ca A4-DA-32-0F-47-CA
DEBUG: Processing device 5a:ef:15:bf:29:0c None
DEBUG: Processing device c6:05:d3:49:b7:bb None
DEBUG: Processing device 0f:a8:89:5a:1a:fb 0F-A8-89-5A-1A-FB
DEBUG: Processing device d1:39:38:38:3d:50 Govee_H6053_3D50
DEBUG: Processing device 36:b6:91:d9:87:ba 36-B6-91-D9-87-BA
DEBUG: Processing device 44:c6:5d:74:40:b4 44-C6-5D-74-40-B4
DEBUG: Processing device 42:58:1d:ca:da:89 42-58-1D-CA-DA-89
DEBUG: Processing device 00:35:ff:2e:22:33 None
DEBUG: Processing device 6d:20:ac:93:d0:fc 6D-20-AC-93-D0-FC
DEBUG: Processing device 43:a8:1d:1b:78:42 None
DEBUG: Processing device e0:89:7e:75:55:c5 E0-89-7E-75-55-C5
DEBUG: Processing device 59:19:d9:38:d9:d6 None
DEBUG: Processing device cc:7f:68:6b:ff:32 None
DEBUG: Processing device 4e:25:f9:e4:17:47 None
DEBUG: Processing device 70:b0:b0:27:99:28 None
DEBUG: Processing device ca:6a:21:2f:2e:ae None
DEBUG: Processing device 75:51:8e:da:b2:7d 75-51-8E-DA-B2-7D
DEBUG: Processing device 5c:8a:64:37:98:db 5C-8A-64-37-98-DB
DEBUG: Processing device ce:60:f3:85:12:db None
DEBUG: Processing device fb:88:b2:d0:90:20 None
DEBUG: Processing device 78:41:c3:98:44:bd 78-41-C3-98-44-BD
INFO: Terminate with Ctrl+C
INFO: [80:6f:b0:10:3a:b0] Discovered, alias = BT-TH-B0103AB0
INFO: [regulator] Connected to BT-TH-B0103AB0
INFO: [80:6f:b0:10:3a:b0] Discovered, alias = BT-TH-B0103AB0
INFO: [80:6f:b0:10:3a:b0] Discovered, alias = BT-TH-B0103AB0
INFO: [regulator] Connected to BT-TH-B0103AB0
INFO: [regulator] Resolved services
INFO: [regulator]  Service [f000ffd0-0451-4000-b000-000000000000]
INFO: [regulator]    Characteristic [f000ffd1-0451-4000-b000-000000000000]
INFO: [regulator]  Service [0000fff0-0000-1000-8000-00805f9b34fb]
INFO: [regulator]  - Found dev notify service [0000fff0-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [0000fff1-0000-1000-8000-00805f9b34fb]
INFO: [regulator]  Service [0000ffd0-0000-1000-8000-00805f9b34fb]
INFO: [regulator]  - Found dev write service [0000ffd0-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [0000ffd5-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [0000ffd4-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [0000ffd3-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [0000ffd2-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [0000ffd1-0000-1000-8000-00805f9b34fb]
INFO: [regulator]  Service [0000180a-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a50-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a2a-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a29-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a28-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a27-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a26-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a25-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a24-0000-1000-8000-00805f9b34fb]
INFO: [regulator]    Characteristic [00002a23-0000-1000-8000-00805f9b34fb]
INFO: [regulator] Found dev notify char [0000fff1-0000-1000-8000-00805f9b34fb]
INFO: [regulator] Subscribing to notify char [0000fff1-0000-1000-8000-00805f9b34fb]
INFO: [regulator] Found dev write polling char [0000ffd1-0000-1000-8000-00805f9b34fb]
INFO: [regulator] Found dev write polling char [0000ffd1-0000-1000-8000-00805f9b34fb]
INFO: [regulator] Starting new thread Device-poller-thread regulator
DEBUG: [regulator] Looping thread Device-poller-thread regulator
DEBUG: create_poll_request BatteryParamInfo
DEBUG: create_poll_request BatteryParamInfo => [255, 3, 1, 0, 0, 7, 16, 42]
DEBUG: [regulator] Writing data to 0000ffd1-0000-1000-8000-00805f9b34fb - [255, 3, 1, 0, 0, 7, 16, 42] (ff0301000007102a)
INFO: [regulator] Notifications enabled for: [0000fff1-0000-1000-8000-00805f9b34fb]
DEBUG: [regulator] Write to characteristic done for: [0000ffd1-0000-1000-8000-00805f9b34fb]
DEBUG: [regulator] Writing data to 0000ffd1-0000-1000-8000-00805f9b34fb - bytearray(b'main recv da ta[02] [') (6d61696e20726563762064612074615b30325d205b)
DEBUG: REG: BatteryParamInfo VAL: b'\x02\xc0\xfe'
WARNING: Invalid BS b'\x02\xc0\xfe'
WARNING: PollerUpdate - Invalid data: b'\x02\xc0\xfe'
DEBUG: [regulator] Write to characteristic done for: [0000ffd1-0000-1000-8000-00805f9b34fb]
DEBUG: [regulator] Looping thread Device-poller-thread regulator
DEBUG: [regulator] Looping thread Device-poller-thread regulator
DEBUG: create_poll_request SolarPanelInfo
DEBUG: create_poll_request SolarPanelInfo => [255, 3, 1, 7, 0, 4, 225, 234]
DEBUG: [regulator] Writing data to 0000ffd1-0000-1000-8000-00805f9b34fb - [255, 3, 1, 7, 0, 4, 225, 234] (ff0301070004e1ea)
DEBUG: [regulator] Write to characteristic done for: [0000ffd1-0000-1000-8000-00805f9b34fb]
DEBUG: [regulator] Writing data to 0000ffd1-0000-1000-8000-00805f9b34fb - bytearray(b'main recv da ta[ff] [') (6d61696e20726563762064612074615b66665d205b)
DEBUG: REG: SolarPanelInfo VAL: b'\xff'
WARNING: Invalid BS b'\xff'
WARNING: PollerUpdate - Invalid data: b'\xff'

I have some invalid response.

I'm using solarLink plugin like yours. Did you modify something in plugin for SolarLink profile?
 
Hi,

I'm looking for the ability of my Renogy Bluetooth devices (via BT-1 and BT-2 modules) to connect to a raspberry pi and log the data, and thus have a wifi connection to view my devices when I'm not in Bluetooth range

I found this, which is great, seems to only support the Rover (not batteries or inverters) which is still awesome, but it also requires a wired connection to the Rover so you'll have to use up the port:


Anybody know if something like this exists, bit can take the data off of the existing BT-1/2 module for Renogy smart devices?

Found this ready to plugin device
 
Hi @scottnichol, can you give me a pointer on the likely cause of this error when I try to start the prometheus service.

I've followed all the instructions making changes to paths as my user is 'solarpi2' but cannot work out whats going wrong here

Code:
prometheus.service - Prometheus Server
     Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; vendor preset: enabled)
     Active: failed (Result: signal) since Tue 2022-10-11 20:26:43 BST; 1min 21s ago
       Docs: https://prometheus.io/docs/introduction/overview/
    Process: 354 ExecStart=/home/solarpi2/prometheus/prometheus --config.file=/home/solarpi2/prometheus/prometheus.yml --storage.tsdb.path=/home/solarp>
   Main PID: 354 (code=killed, signal=ILL)
        CPU: 16ms

Oct 11 20:26:43 raspberrypi systemd[1]: prometheus.service: Scheduled restart job, restart counter is at 5.
Oct 11 20:26:43 raspberrypi systemd[1]: Stopped Prometheus Server.
Oct 11 20:26:43 raspberrypi systemd[1]: prometheus.service: Start request repeated too quickly.
Oct 11 20:26:43 raspberrypi systemd[1]: prometheus.service: Failed with result 'signal'.
Oct 11 20:26:43 raspberrypi systemd[1]: Failed to start Prometheus Server.
 
@SolarShed
Finally added in the historical data for mqtt publishing and a couple of bug fixes. Are people still using solar-monitor? Seeing some folks using other scripts. I need to spend some time reviewing this topic because I saw someone saying there was a fix for the disconnect issues but I haven't noticed any, maybe on another fork.

I'll submit a PR, but I'm not sure if it'll get accepted. I added a TON to the solardevice class that probably isn't applicable to all charge controllers. Point me to the right project everyone is using and I can see if I can port anything over.

All changes have been made in my develop branch: https://github.com/oedo808/solar-monitor/tree/develop

Edit: I only looked at what was merged in, I'll take a look at the fixes from the other fork and try to merge into my develop.
 
Last edited:
All -- a number of you have been trying to communicate with the Renogy BT2 over bluetooth, and I'm glad to report that it's possible and I've done it and released an Arduino library. I've got it working happily with a Renogy DCC30S. There may be other devices it can support; I haven't tried them though. See https://github.com/neilsheps/Renogy-BT2-Reader

Some key points I found out:
Code:
There are two services and two characteristics that need to be set up

txService        0000ffd0-0000-1000-8000-00805f9b34fb     // Tx service
txCharacteristic 0000ffd1-0000-1000-8000-00805f9b34fb     // Tx characteristic. Sends data to the BT2
rxService        0000fff0-0000-1000-8000-00805f9b34fb     // Rx service
rxCharacteristic 0000fff1-0000-1000-8000-00805f9b34fb     // Rx characteristic. Receives notifications from the BT2

The communications format is relatively simple. The client bluetooth device (usually an android phone, raspberry Pi, Arduino Feather or whatever) sends a request for N registers starting at a particular register. About 70-120 ms later the BT2 responds with those requested registers split across as many 20 byte packets are required. An example flow is below:

Code:
ff 03 01 00  00 07 10 2a                                     Command sent to BT2 on characteristic FFD1
[]                                                           All commands seem to start with 0xFF
   []                                                        0x03 appears to be the command for "read"
      [___]                                                  Starting register to read (0x0100)
             [___]                                           How many registers to read (7)
                   [___]                                     Modbus 16 checksum, MSB first on bytes 0 - 5 inclusive

ff 03 0e 00 64 00 85 00 00 10 10 00 7a 00 00 00 00 31 68     Data response from BT2 through notification on characteristic FFF1
[]                                                           Replies also start with 0xFF
   []                                                        Acknowledges "read", I believe
      []                                                     Length of data response in bytes (usually 2x registers requested, so 14 here)
         [___]                                               Contents of register 0x0100 (Aux batt SOC, which is 100%)
               [___]                                         Contents of register 0x0101 (Aux batt voltage * 10, so 13.3v)
                     [___] [___] [___] [___] [___]           Contents of registers 0x0102 through 0x0106
                                                   [___]     Modbus 16 checksum on bytes 0 - 16 inclusive (in this case)


6d 61 69 6e 20 72 65 63 76 20 64 61 74 61 5b 66 66 5d 20 5b  20 byte ACK sent to BT2 on characteristic FFD1
 m  a  i  n     r  e  c  v     d  a  t  a  [  f  f  ]     [  it reads "main recv data[ff] [" and the ff corresponds to the first byte
                                                             of every 20 byte notification received; so a 50 byte datagram (3 notifications)
                                                             might trigger an ack sequence like "main recv data[ff] [", "main recv data[77] [",
                                                             and "main recv data[1e] [" depending on data received.
                                                             The BT2 seems to respond OK without this ACK, but I do it also, as that's what the
                                                             Renogy BT app does

Hope this helps people in the same boat
 
I can’t seem to find my MAC address for my BT1 only UUID use BLE scanner.

I think I’ve got everything working.

I did have an issue as the PI standard user isn’t included anymore. This caused me issues installing Prometheus until I added the user to start with and all was good.

I’ve got everything installed and seems to be working but can’t get the BT connected as I can’t see the MAC. Only alias which I wondered if it was the MAC as it has the same amount of characters!
 
I can’t seem to find my MAC address for my BT1 only UUID use BLE scanner.

I think I’ve got everything working.

I did have an issue as the PI standard user isn’t included anymore. This caused me issues installing Prometheus until I added the user to start with and all was good.

I’ve got everything installed and seems to be working but can’t get the BT connected as I can’t see the MAC. Only alias which I wondered if it was the MAC as it has the same amount of characters!
The MAC is broadcasted from the BT1. You should be able to do a discovery either from a Pi, laptop, app on your phone, pretty much anything that will show you broadcasting Bluetooth devices. I thought Android showed the paired MAC, but I'm not seeing it. I'm fairly sure using one of the renogy apps it shows while trying to initially pair.
 
I'm also interested in a BT-2 logging solution, specifically for the Renogy Lycan 5000. The code provided by neilshep is useful in understanding how BT-2 works, but wireshark is not available on android, and that's all I have available, so I cannot see exactly what the DC Home app is doing.

I tried to pair using bluetoothctl, but it always fails authentication, and I am never prompted to provide any. Using gatttool, I can view the services and characteristics. gatttool can write to the tx service characteristic(s), but I don't seem to get any response on the rx service characteristic. Of course, I don't know what the commands are, so I am just playing; one really needs to use wireshark to figure it out. So if anyone has access to a Lycan 5000 and wireshark and can post the data transfer using DC Home app, I would be interested in looking at it to figure out how to use gatttool to duplicate it.

For now, I am using a vnc server (droidvnc-ng) and the DC Home app on an android phone kept by the Lycan. Using a vnc client on my desktop, I can view the DC Home app screen remotely. So at least I am able to monitor the Lycan 5000 remotely. I just am missing logging capability.

UPDATE 12/30/23

On github, I created a fork https://github.com/braathwaate/renogy-bt from https://github.com/cyrils/renogy-bt with very basic support for the Lycan 5000. I tested this using a Raspberry PI running OS Lite as well as a laptop running ubuntu 18. The python code connects to the Lycan using bluetooth and prints out the basic info, like incoming solar voltage, current, watts, etc. More work is needed to get all the data available from the DC Home app.
 
Last edited:
I'm also interested in a BT-2 logging solution, specifically for the Renogy Lycan 5000. The code provided by neilshep is useful in understanding how BT-2 works, but wireshark is not available on android, and that's all I have available, so I cannot see exactly what the DC Home app is doing.

I tried to pair using bluetoothctl, but it always fails authentication, and I am never prompted to provide any. Using gatttool, I can view the services and characteristics. gatttool can write to the tx service characteristic(s), but I don't seem to get any response on the rx service characteristic. Of course, I don't know what the commands are, so I am just playing; one really needs to use wireshark to figure it out. So if anyone has access to a Lycan 5000 and wireshark and can post the data transfer using DC Home app, I would be interested in looking at it to figure out how to use gatttool to duplicate it.

For now, I am using a vnc server (droidvnc-ng) and the DC Home app on an android phone kept by the Lycan. Using a vnc client on my desktop, I can view the DC Home app screen remotely. So at least I am able to monitor the Lycan 5000 remotely. I just am missing logging capability.
Hi - you don’t need wireshark ON the android device. There’s a way to store all the Bluetooth calls on an android device if it’s in developer mode (look up Bluetooth HCI snoop log) and it then creates a file that you can copy over to a PC or Mac that does have wireshark. I’ve forgotten exactly how I did it, but that’s the principle. The most important thing I found was to turn on logging, do whatever connecting etc you need on the DC Home app, follow an EXACT sequence of events to read or write on the DC home app, then turn off the logging. The reason is that the logs are really verbose, and they will log what looks like every Bluetooth advertisement near you too, so the less time you log, the easier it will be to read the logs

I’d be very surprised if the Bluetooth protocol and the register request format is any different. At most I’d expect that the register map might change for your device. Let us know how it goes!
 
@SolarShed I never got the charge state to work with the solution from Olen/solar-monitor. Eventually, I took a look at the script mentioned earlier from cyrils/renogy-bt1, which grabs a lot more data than Olen's solution including the charge status. Cyrils' solution is much simpler and that took me down the path of coding my own solution based on it that worked better for my particular setup. So, I created my own project in GitHub which pulls some of the best elements from both of these projects.

You can check it out here: snichol67/solar-bt-monitor

Here's a screen capture of my current dashboard:
View attachment 89154
This is an epic project I am so glad I finally found it! I got as far as your last step - importing the dashboard into grafana. I did, and it sketched up the dashboard just like yours looks but the default data source is being used (graphite) and not prometheus (which is spitting out data like crazy). I'm using a renogy 100amp rover and the data all looks good but this is where I'm stuck, getting grafana to use it. I've got it prometheus setup to listen on the ip of the raspberry pi its running on (grafana runs on my pi server) and that checks out in grafana. I'm not sure if I'm missing something from your project or if I'm going to now have to teach myself how to populate each panel manually via queries (which I should learn anyway, I just haven't yet). Thoughts? Again, EPIC project. Renogy software sucks and this is sooooo much better than trying to pull data from the communication ports which are buggy as hell.
 
UPDATE 12/30/23

On github, I created a fork https://github.com/braathwaate/renogy-bt from https://github.com/cyrils/renogy-bt with very basic support for the Lycan 5000. I tested this using a Raspberry PI running OS Lite as well as a laptop running ubuntu 18. The python code connects to the Lycan using bluetooth and prints out the basic info, like incoming solar voltage, current, watts, etc. More work is needed to get all the data available from the DC Home app.
Tried the inverter branch? https://github.com/cyrils/renogy-bt/tree/inverter
May be the fields related to inverter features might work.
 
Back
Top