The RasPi2Pv Project
Why let others make money with your electric power if you can do the same yourself?
The RasPi2Pv Project is a small (3 TE) DIN rail Hardwarebox that can collect data from up to 10 SMA® Solar inverters, 3 power consumers (S0 wire) and from a unlimited amount of Modbus devices. The module is specially designed to maximize self consumption of produced power instead of feed others with cheap electricity.
Beside controlling LAN enabled power sockets the interface can control any SSH enabled device and has 8 independent relais outputs. It is possible to define sequence jobs so even complex things, like powering, starting and stopping crypto mining hardware, can be realized.
The RasPi2Pv Hardware is using a Raspberry PI Zero W and all configuration is done by a WebInterface. Even the Softwareupdate and the visualisation of the power data is realized by this Webinterface so no external services are required.
Why the RasPi2Pv Project and what are the goals of the Project?
The RasPi2Pv Project was developed because I was searching for a Solution that:
- Is low cost in Hardware.
- Support a wide range of external Devices.
- Is not only a Datalogger but can do so.
- Can control more than just a power socket.
- Can run job actions in a sequence.
- Has a secure multiuser Webinterface.
- Can send eMail notifications on demand.
- Is easy to extend with extra features.
- Do not require any external services.
- As few restrictions as possible.
The RasPi2Pv System Overview
The RasPi2Pv Project is divided in several modules. This makes it easy to maintain the components and to have a modular design that can be used by additional services. As shown below the RasPi2Pv Service is controlled by a kernel driver called RasPi2PvIO. This driver is used by the Webservice to get Data from the Inverters and Hardware driven by the RasPi2Pv Service.
The Modules are:
- The RasPi2Pv Service
This Service is the main worker, it collect the data from the inverters, controls the hardware, is running the schedulers and provides the bridge to the kernel driver.
- The RasPi2PvIO Kernel Driver
This Kernel driver is the connector between external components like the web service and the RasPi2Pv Service with all the connected hardware modules. Over this Kernel module all data exchange is processed and the driver is decoupling the hardware layer from the user interface.
- The RasPi2Pv.js WebService
This NodeJS Web Service is the main user interface to configure and control the whole system. The Web Service uses the Kernel Module to exchange data and requests with the RasPi2Pv Service module. Over the Web service the whole configuration is set. Even the hardware can be controlled by this interface. Within the Usermanager it is possible to define access rights to the various parts of the User Interface. Even a Guest access can be allowed to view the main system state without a login. The Web service is easily extendable by additional features or user components.
- The User Components
User components are any extensions to the Web service or programs using the RasPi2PvIO Driver. Currently the statistic module that is showing the power status and logged data in a graph and the RasPi2PvGW command line tool is such a component. There is no limit in additional user components.
- SMA® Solar Inverters
Almost any SMA® Solar Inverter (SunnyBoy, Sunny Tripower etc.) with a Bluetooth or Speedwire® interface. (SMA, SunnyBoy, Sunny Tripower, Speedwire are registered trademarks of SMA Solar Technology AG)
- Modbus Powermeter
Any Modbus enabled Device connected by RS485 or TCP/IP. There is no limitation in the amount of connected devices.
- The Raspberry PI and Hardware
The Hardware contain 8 independent relay switches, 3 opto divided S0 interfaces, 8 independent status LEDs, and all interfaces the Raspberry PI Zero W comes with. So USB, LAN (over USB), WLAN, Bluetooth and RS485 (over USB) is available. As the Service uses just about 10% of the CPU Power and Memory the System has enough capacity for additional extensions.
Get started with the RasPi2Pv Project
To get started with the Project you will need the RasPi2Pv, or a similar, Hardware Module and the RasPi2Pv SD Card Image.
If you like to build the Hardware by your self, just follow the self construction guide or buy the parts or module.
The SD Image can be saved with any Imagewriter Tool to the Card. Make sure the SD Card is at least 8 GB in size. At the first boot process the card is prepared for you, so no need to format or configure the card in advance.
Please accept that I can not give support to all of you for free so support is bound to those that support the project in reverse as well! If you have the Hardware up and running just insert the RasPi2Pv SD-Card and enter the IP Adress of the Module into your Webbrowser. The IP Adress will be offered by your DHCP Server or your Internet Router. On any Network questions here please ask your administrator.
If all is fine so far you will see the PV Master Webinterface and you can start to configure the system.
Support the RasPi2Pv Project
If you like to support the project, what is very welcome, you can help with a donation (just use the button on the left side) or help with translation or other work that is helpful. If you like to work on the project or add your extra features just contact me!