Monitor Your Solar Power Equipment using a Raspberry Pi + other sensors.
Explore the docs »
View Demo |
Review Wiki |
Request Feature
Table of Contents
Senses, Saves, & Shows Solar Power Time-series Metrics via a web interface
- MPPT / Battery
- Voltage
- State of Charge %
- Lifetime Cycles
- Lifetime kWH output
- Panels (Before MPPT)
- Voltages
- Amp
- Power
- Load
- instant Power Consumption (Watts)
- Historical Net-Power Consumption/Generation
- Environmental
- Indoor Temp
- Outdoor Temp
- Light/Irridescence Score
- Lifetime Solar Power Generated
- Total solar PV generation
- Total current, voltage, power, and power factor values
- See Victron Stats
This project is a collection of components that make up a larger ecosystem. You may you use them independently, or collecively. TFor Example, there is software to run on a raspberry pi, or perhaps you have a sensor network already deployed, then look at the cloud-based software to render the data on screen.
This is an electronics project. As such there are some hardware requirements for this project. You can buy what I bought ( the link might be to what I whish I bought) in the links below (note: they are affiliate links).
Or perhaps you already have a solar power system and just need monitoring via Solar-Pi
, Great! then you just need to look at the sections starting with installing your sensors.
Secton Coming Soon!
- Raspberry Pi Install
- Cloud Install
- Alexa Install
Basic(Unmonitored) Hardware / Power Connections:
graph TD;
Panels(Solar Panels)-->cb1(Circuit Breaker)
cb1(Circuit Breaker)-->MPPT
MPPT-->Batteries
Batteries-->LVD(Low Voltage Disconnect)
LVD-->cb2(Circuit Breaker)
cb2(Circuit Breaker)-->24vFuseBox/Load
LVD-->VReg(Voltage Regulator)
VReg-->cb3(Circuit Breaker)
cb3(Circuit Breaker)-->12vFuseBox/Load
graph TD;
subgraph sensors [Sensor Layer]
Sensor1(Temperature)-->HWIntf
Sensor2(Voltage)-->HWIntf
Sensor3(Amps)-->HWIntf
Sensor4(Humidity)-->HWIntf
Sensor5(Light)-->HWIntf
Sensor6(Motion)-->HWIntf
Sensor7(UV)-->HWIntf
Sensor8(Wind)-->HWIntf
Sensor9(etc)-->HWIntf
HWIntf(Pi HW Interface)-->solDataWrangle(Solar Pi Data Wrangling)
end
subgraph data [Data Layer]
solDataWrangle==>solLocalStorage[(Solar Pi HDD/SQLite)]
solLocalStorage-. B: Do A or B -.->solCloudStorage
solDataWrangle-. A: Do A or B -.->solCloudStorage[(Solar Pi Cloud Storage)]
end
subgraph api [API Layer]
solLocalStorage-- Only On Local Network ---ApiIntf1(λ:HTTP/WS/JSON Data API)
solCloudStorage==>ApiIntf1
solLocalStorage-- Only On Local Network ---ApiIntf2(λ:MQQT Data API)
solCloudStorage==>ApiIntf2
solLocalStorage-- Only On Local Network ---ApiIntfN(...Other Data λ:APIs)
solCloudStorage==>ApiIntfN
end
subgraph apps [Application Layer]
ApiIntf1==>solVizApp(Solar Pi Data Viz Application)
ApiIntf1-.->alexaApp(WIP: Alexa Integration)
ApiIntf2-.->homeAssistant(WIP: Home Assistant Integration)
ApiIntfN-.->zmq(WIP: ZeroMQ Integration, etc)
end
subgraph notifications [Notification Layer]
ApiIntf1-->email(Email Notifications)
ApiIntf1-->slack(Slack Notifications)
ApiIntf1-->rss(Rss Alert Log)
end
- Power Components
- Solar Panels - Creates the power from the Sun but your voltage and power can be all over the place
- MPPT - This boxes "resizes the power" to useful levels that make your battery happy - and keep it at a healthy charge (EPEVER: Supported)
- MPTT Data Cord - Send your MPPT data to the SolarPi over USB
- Batteries (Recommended 2x for a 24 system) - holds the power for later, duh
- Voltage Regulators - Takes a noisy 24volts down to a VERY stable 12v
- Raspberry Pi - Hopefully you already have one - because prices seem silly right now.
- Low Voltage Disconnect - So that you dont run your batteries down too far
- DC Circuit Breakers - to isolate parts of your circuit
- Fusebox For Load - to keep things isolated, safe, and tidy
- Your Stuff that Needs Power (DC)
- Lights - Because if you learn one thing from Matt From DIY Perks - it's that LED strips are incredible, and how is instantly imporved vision not at the top of your list?
- PhotoCell Switch - Because some stuff only runs at night, & you have better stuff to do than to flip them on/off EVERYDAY
- USB Sockets - Because sometimes your phone has a low battery
- Water Pumps - Because sometimes you want to start a green house with all this stuff
- 12v Digital Timer - Because you are not a knuckle dragger who wants to turn the pump on and off EVERYDAY for the rest of your life
- Space Fans - Because sometimes you're hot
- Vent Fans - Because batteries prefer roughly the same temps as people
- Thermal Relays - Because you don't want to turn your vent fans on when it get's too hot, EVERYDAY for the rest of your life
- AC Inverter - Because some stuff just needs AC power. And 2000 Watts w/ 2 outlets is almost always enough.
- DC Garage Door Openers
- DC Ceiling Fans
- POE based Home Security
- Sprinkler Systems
- Sensors
- Tools & Misc
- Buy Hardware.
- Connect the parts.
- Configure Solar-Pi.
- Sun Handles Everything Else From There (TSTCOEFT) SHEEFT (except the internet conection)
- Energy Independence: Checked
- Prepper Status: Checked
For more examples, please refer to the Documentation
- Configuration Model per Node
- What would a MultiNode Setup do/look like?
- Support via Data Source for Grafana/Prometheus
- Alerts Log
- Temperature Battery Protection
- Low Voltage Charging Protection
- High Temp Discharging
- Notifications
- Temperature Battery Protection
- Relay Drivers for Terraced Batteries
- aka: Water Heating with "Excess Energy"
- "Battery" Interface
- Status/Progress Signal
- Fill Circuit
- Direct Support For Other Vendors
- Explore Renogy Charge Controllers
- Amazon Alexa Integration
- Alternative Network Interfaces
- LoRa
- 3G / 5G Cellular
- BLE (access in browser is currently experimental)
- Alternative Data API Flavors
- Raw Streaming
- Websocket/JSONND
- MQTT
- ZMQ
- Filtered Streaming
- Registered Query - then subscribed for results
- Query
- GraphQL
- RESTful (HTTP/JSON.GZ)
- Raw Streaming
- Explore
NodeRed
Options for User Friendly Programming - Explore Solar Tracker Motor Control
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- RPI Power Meter
- Powerwall Monitor
- Solarpi
- Solar Thing
- Solar Observatory
- Solar PV Monitoring
- Solarshed
- Olen/solar-monitor
- EPEVER
- Solar Mon
- Solar Energy Grafana
- EPEVER Modbus
- Solar Log
Distributed under the MIT License. See LICENSE
for more information.
Eric D Moore - @ericdmoore - eric [𝓪𝓽] mooore [𝓭𝓸𝓽] cc
Project Link: https://github.com/ericdmoore/solar-pi