Raspberry PI solar system 2.0

This guide describes how you can install the essential software running on a Raspberry PI to monitor and manage your solar system. Currently it supports MPP inverters and chargers, Batrium BMS. It also supports DIYBMS out of the box 🙂

This guide will describe from start to end how you set up your solar system. Note that the solar-image done earlier is now DEPRECATED and this is the correct way forward

If you want to support my work im more than happy if you help me get people to sign up to my youtube channel or even buy me a coke via patreon/paypal 🙂




Require sites:

  • Raspberry pi (Preffered is to use V4 with 2GB or more) If you use less than 2GB do not run graphical user interface on it and disable bunch of things
  • Latest Raspberry PI os
  • FAST SD card. Minimum Sandisk Extreme but preffered pro (100mbps) or even better SSD connected to USB3.0.

Links to buy the stuff






This guide is in x steps

  • Hardware setup please refer to building the ultimate solar system raspberry PI
  • Installing the OS (Please follow normal Raspbian OS installation)
  • Preparing the system by installion IOTStack from SensorsIOT (Thanks to him for that)
  • Installing Batrium listener (WatchmonUDPListener)
  • Installing Solar-sis (For those in need of the old software to read data from MPP systems). This can be swapped from using my ESP8266<-MPP reader system



Installing the IOTstack is done by

curl -fsSL https://raw.githubusercontent.com/SensorsIot/IOTstack/master/install.sh | bash

-> Answer yes on install and let it run
-> Reboot the machine after


-> after reboot go into the IOTStack folder
cd IOTstack/
-> Run menu

-> If it asks about installing software answer YES
-> Choose the software you need. For solarsystems i recommend
-> Grafana, Influxdb, Nodered, Mosquitto, Portainer
-> when choosing Nodered you need to go into and build the plugins

-> Answer Yes on the questions
-> If you want to change default passwords you can do that later

-> In menu now go to “docker commands” and run start stack
-> exit the menu

Installing WatchmonUDPListener

cd ~

-> Need to prepare the database for running below:

-> Install influxdb clinet
sudo apt install -y influxdb-client
-> Create batrium DB
influx -execute ‘create database batrium’

git clone https://github.com/Batrium/WatchMonUdpListener
cd WatchMonUdpListener/
docker-compose build

-> Wait for it to build and it will fail and then abort with ctrl +c

Edit the configuration in volumes with your favourite editor. I use vim

sudo vim volumes/watchmon/config/config.json
-> Configure what messages you want in the database. If using local database you dont have to change those parts.

-> And to start it up 🙂

docker-compose up -d


Install Solar-sis (Legacy)

->To install solar-sis
sudo apt install npm -y
cd ~
git clone https://github.com/opengd/solar-sis
cd solar-sis/example

-> then jump into the system you want to use. Below is example of PIP4048
cd PIP4084
npm install

-> If all works out fine you can now run the software. Dont forget to configure it first in session.json where you set the port and the server to send the data to.

-> start it with:
node project.js

-> if you want it to autostart you need to add service like xxxx….

Liked it? Take a second to support daromer on Patreon!