Monitor 5 photovoltaic plants for issues and, in case, send alerts.
Excerpt of one Grafana dashboard with some reported metrics
Excerpt of a Slack error notification with the rule which failed and details why it failed
- Datalogger for Kaco Inverter using ESP8266 and Softuart to talk to GSM modem (remote location)
- Upgraded Datalogger to use Raspberry PIs to be able to remotely updated software and fix bugs
- Interface with RS485 or bluetooth for Kaco or SMA
- Unsupervised Raspbery PIs for running in remote location (e.g. watchdog, read-only root, reverse ssh connection for updates and debugging)
- Python pv monitoring app on raspberry to tie it all together
- Configuration file
- Watchdog
- Store measurements offline and sync with InfluxDB server once back online
- Webserver running InfluxDB and Grafana setup with Ansible
- Using Ansible managed reverse NGINX and letsencrypt for SSL protected access to Grafana
- Script on web server doing some tests every day and sending alerts in Telegram, Mail or Slack with overview of failed tests. Initially built with Kapacitor, but did not support calculation on separate series at the time. Furthermore Grafana did not support alerts at the time and later could not calculate the results, because InfluxDB's query language could not compare different series.
The time it takes to build versus the time it takes to maintain is very important to keep in mind.
- In the beginning at every device failure, had to drive half an hour to fix issues
- It took a lot of effort to fix every bug until it is now running flawlessly since 3 years
- Still, maintaining the web server, even mostly automated (upgrades, letsencrypt, etc) requires some work form time to time
- Overall effort until now was maybe 10x what I initially anticipated
The SMA interface is quite complex: Several issues require workarounds as well as retries in case of sudden random failures.
InfluxDB was released with a big splash and used by many companies already, when I started this project. It was the "cool" new IoT database on the height of the IoT hype back then. Unfortunately, many key features were still missing after several years (calculation between series). Learning: Be skeptical of new technology and check key requirements first