Monitor Your Solar Power Equipment using a Raspberry Pi + other sensors.
Explore the docs »
View Demo |
Review Wiki |
Request Feature
Senses, Saves, & Shows Solar Power Time-series Metrics via a web interface
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!
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
For more examples, please refer to the Documentation
NodeRed
Options for User Friendly ProgrammingSee 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!
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)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