top of page

Adding solar to Wilhelm and getting data into SignalK

My main project this winter has been getting solar installed so that I can keep things up at anchor without running the diesel.

I ordered a 100W panel, a Victron Solar Controller, the cable and some of the hardware from I sized the controller so I can add another 100W panel if needed. This included a Bluetooth LE dongle for the controller, which would allow me to monitor and configure the controller with my phone.

I ordered the rest of the stainless tubing and fittings from those guys! Always buy from them when I can.

First, I got everything mocked up and tested at home:

With everything hooked up, tested and working, I started to try to reverse engineer the Bluetooth LE protocol with the Victron controller.

They do not provide any documentation for the protocol, so I would have to try to figure it out myself. I ordered the Bluefruit LE Sniffer from adafruit and got it working on my mac. After a few evenings of trying to figure out what was going on, I just duplicated exactly what their app was doing and was able to get data using the raspberry pi. It was a nightmare to get the pi connected to the dongle and the connection was really unreliable. Without documentation, I just could not get it working the way I wanted. The python code which uses gattool and pexpect is here.

So I ordered the Victron VE.Direct USB cable. This ended up being very easy since there was already a python module for reading this on GitHub. I added SignalK delta output to the project, my fork is here.

I got a decent warm day and got everything installed on Wilhelm:

Everything was working and getting great data into WilhelmSK:

It's winter and today was very cloudy, so not much help.

Now, so I can keep track of the performance of the system, time to start recording data from the SignalK. I installed and setup InfluxDB and Grafana and then the signalk-to-influxdb node server plugin.

Here's an example of the result:

Now just waiting for the Sun to come back and get back out on the water!

bottom of page