This is the last post of the PVMonitor series.
In this challenge, I created a system to monitor the performances of my PV system. The major steps of this project has been
- Install and configure the Omega Layer N devices. After a firmware upgrade, the installation and configuration was very smooth. After just an hour of tinkering, data from Smart Sensor were available on the Cloud N portal
- Build the protocol converter to talk to my inverter. My inverter exposes data using a proprietary protocol. Since Omega gateway con only talk Modbus, I created a Python application that runs on a Raspberry PI board and exposes inverter data using standard Modbus TCP protocol
- Data analysis: after about one week of data collection, I analyzed data in Colab to find an algorithm that can detect anomalies in PV power production
- Anomaly detection: the prediction model created in previous step, is executed every day to detect any abnormal condition that causes a fall in PC production. Here are some screenshots of the actual and predicted values for some different days
Throughout the challenge, the Omega Layer N devices (in my case, the gateway and the Smart Sensor) performed flawlessly and reliably. As I mentioned in a post, in my opinion some buffering mechanism should be implemented on both the gateway and the Smart Sensor to improve the overall system reliability but, apart from that, the platform proved to be well thought, designed and manufactured. In particular, the Smart Sensor has been very reliable even if installed in a harsh environment. like a roof. It has been exposed to humidity, direct sunlight and high temperatures and has kept sending data regularly. Since Omega is a company focused on industrial application, I think a more ruggedized case could be a plus.
In conclusion, I would like to thank Omega and Element14 for selecting me for this challenge and for giving the opportunity to work on this remarkable platform. For sure, it will help me to optimize the production of my PV plant!
All the source code developed as part of this challenge is available on my github
<< Prev: Anomaly detection (2)