I followed Andrew’s Epsolar Dashboard tutorial so I am going to give no more than a brief description of the system here.
The Epsolar MPPT controller captures and saves data from the array and makes it accessible through its RS485 port, which in this case is in the form of an RJ45 network port. Epsolar provide a monitoring display unit (MT50) which plugs directly into the controller. They also supply a USB cable which allows the user to connect a windows PC to the controller and with the dedicated Epsolar software it is possible to monitor and set the controller’s parameters.
Epsolar have provided enough information to allow some dedicated enthusiasts to monitor their controllers and customise the output to suit their needs. This project has been possible because of their hard work.
The computer at the heart of this system is a Raspberry Pi and fortunately enough, I had a spare one just lying around waiting to be used. The Pi is set up as a webserver with a MySQL database, Andrew suggests NGINX as the webserver (LEMP) but I found it easier to set up with Apache (LAMP) and it still worked.
The next thing was the connection between the Pi and the Controller. I had hoped that the Epsolar usb adapter would work but the Pi recognised it as something incompatible with the software. Frustratingly, when I plugged the adapter into a desktop PC running Ubuntu, it was recognised correctly – all Linux distributions are clearly not created equally!
Option two was to buy a cheap RS485 – usb adapter and combine it with a spare network patch cable and this is the solution that I used. Epsolar kindly provide the user with the pinout configuration for the controller and the first that I chose worked with the Windows PC and software. It didn’t work with the Pi so I tried all possible combinations and found that only one of them worked. It is possible to set up a wifi connection either by building your own interface (Colin Hickey’s device) or by using Epsolar’s own unit. This would be ideal if you want to have the Pi in a different location to the controller but really only works if you can put the unit on your home network. I believe that Colin’s unit can be made to work in that way and indeed the original Epsolar unit could too but the latest Epsolar wifi connection can only be set up as an access point, not as a station and it is not possible to change the IP address. All of these conditions led me using Adam Welche’s wired device and since I was able to mount the Pi next to the controller anyway, it was convenient and easy for me.
I also discovered that by using a cheap network splitter (not a router or a hub, this piece cost just £1.50), I was able to connect the MT50 and the RS485/usb interface at the same time.
Andrew’s setup interrogates the controller at one minute intervals by activating a PHP file on the Pi. This file then stores the harvested information in a MySQL database on the Pi. Once there, it is relatively easy to display the information on a locally served web page or to use node red to do various clever things including displaying the information on a customised dashboard.
With the solar installation being on a boat that we only live on for half of the year (the sunny half), I wanted to be able to monitor the performance remotely. We have a mobile broadband connection on board and a couple of contracts (3 & EE) so internet access wasn’t a problem. I have a hosting account so setting up a remote database was easy enough and the final step was to power the Pi and the mobile broadband router from the low voltage circuit on board rather the mains so that the inverter could be switched off, saving power.
Hopefully, the power produced will be enough to run the Pi and the router and keep the battery bank topped up.
There are, however, some potential issues. If the power isn’t sufficient, I will be unable to switch the charger on remotely. If the Pi freezes or crashes, I will be unable to reboot it. If the router freezes, I will be unable to reboot that remotely either.
These “Single points of failure” are a concern but at this stage so minor that isn’t worth trying to create a fallback strategy.