Solar

As someone who started out as an electronics engineer, progressing to working with computers and networks; I believe that I’m firmly rooted to the maker ethos. So with the option to have access to free electricity (well nearly), it seems sensible to exploit as efficiently as possible.

Having moved house, we had a 4KW Solax Solar System installed with a LiPo battery, providing sufficient capacity to provide 4Kw of power for an hour when fully charged. The following are some of the projects I’ve built to exploit the energy, monitoring the sun via the inverter. Once the battery is at capacity, turning devices on to use any spare capacity.

Two projects have been created to support this requirement:

ESP8266_TimerPowerSwitch

This project makes use of a SONOFF BASIC, which has an Expressif Systems ESP8266 at its heart. I originally looked at home automation systems, and the problem was that the ones I found were centralised. I wanted something that would run standalone, but also had a JSON API to allow another device to monitor it, and make changes.

Source code: https://github.com/mickvaites/ESP8266_TimerPowerSwitch

ESP32_GetSolaxRealtimeData

This started out as a service written in Python on a RaspberryPi. However the libraries I wanted to use were needed me to use Python 3, which at the time is really buggy if you wanted to use threading. Something that was needed so I could monitor multiple things and make changes.

The project eventually got ported to an Expressif Systems ESP32; dual core with onboard Wifi. The current iteration on GitHub monitors a single Solax Inverter, and based on some rules about the amount of power being generated by the sun, and the amount of charge the battery has in it. Two TimerPowerSwitches are turned on and off. Full source code is tracked on Github.

Source code: https://github.com/mickvaites/ESP32_GetSolaxRealtimeData