Solar Power Generation Monitoring

Created by: Trevor Sullivan

Resources used:

  • InfluxDB
  • InfluxDB Cloud
  • Docker

Trevor Sullivan has been a veteran of the software industry since 2004. With broad experience across Microsoft enterprise systems management, cloud development and automation, consulting, and training services, Trevor has seen a little of everything. Trevor’s latest role has been a full-time software instructor with CBT Nuggets, where he has spent nearly a year building high-quality and in-depth training on PowerShell automation, Amazon Web Services (AWS) cloud automation, InfluxDB training, and more!

Community Projects: Solar Power Generation Monitoring

Sullivan is using InfluxDB to store metrics from a solar charge controller, the EP Solar Tracer 3210an. Because the solar charge controller supports Modbus over RJ-45 interface, he can connect the controller to an embedded device and gather metrics from it. Some of the metrics he is gathering include: solar panel voltage, current (amps), power (watts), as well as the same metrics for his battery bank. Gathering and visualizing this data helps Sullivan to determine the power generation over the course of days, weeks, and months. He can also use this data to tune the positioning of solar panels for maximum power output during full sunlight.

Sullivan’s family now has an emergency power backup system for when grid power goes offline. They can generate power during the day, and use it to keep their phones charged, and essential network equipment running. InfluxDB helps them keep tabs on how much power they have in their system, and how much power they are generating during daylight hours.

Since InfluxDB Cloud is free for small-scale use cases, and because the open source version of InfluxDB is available to run inside Docker containers, it’s the obvious choice for Sullivan to store and graph solar power generation metrics. InfluxDB has excellent documentation, which made it easy for him to integrate his Python code to gather solar power generation metrics. As InfluxDB version 2.0 came out, the integrated graphing capabilities simplify your deployment (no separate Chronograf now), and provide beautiful dashboards to keep tabs on your solar power generation.

Sullivan recommends InfluxDB because it is easy to deploy, it provides beautiful graphs, and it supports data ingestion from virtually any source! There are client libraries for most programming languages, such as Python, JavaScript, C#, and others. The SaaS version of InfluxDB, InfluxDB Cloud, is free to use under certain limits, and makes onboarding even faster. Because development of InfluxDB is done as an open source project on GitHub, you can track the progress and upcoming features of the project, and report issues directly to the product team. Running open source InfluxDB as a Docker container is incredibly easy and gives you ultimate control over your data. You can run InfluxDB on low-powered ARM devices, such as Raspberry Pi, making it complementary to solar power setups.

Scroll to Top