Each of Saunder’s Power Distribution Units ensures that their customer's power is uninterrupted and consistent. This involves local power conversion along with battery and generator backup in the event of a local outage. Not only is it important for the operators to monitor for the local power supplies, but it is important to record the customer’s power draw and total utilization on-site for historical analysis.
All power conversion, distribution, and backups are provided by a mobile container, called a POD, that is deployed on-site. These PODs manage at minimum power input from the local grid and power input from the local generator backup.
Saunders Electric previously had the means to monitor these power inputs and outputs locally through a C++ utility which interfaces directly to Modbus, giving the Saunders team the ability to read voltage and current from each of their inputs.
While this tool provided visibility into the current state of each POD, there was no way to view the data as a time series or to push what had been captured to a centrally managed service for remote monitoring. Saunders wanted a new foundation to make the product both more extensible and easier to maintain.
To give POD operators real-time operational insights into the quality of service and overall utilization of power on-site
To alert operators and management when input levels are out of an acceptable range
To aggregate all data in a central location to allow for future analytics and reporting
In Q4 of 2018, Very established the initial conceptualization, design, and deployment of hardware, software, and cloud-driven application. The purpose of this product was to monitor, record, and analyze metrics from the power and UPS systems. Specifically, this system gives on-site operators the ability to monitor multiple metrics in a single real-time dashboard and easily spot deviations from standard operations and set options for alarms and their respective notification mechanisms. This system is currently in “active beta” running in parallel with the existing monitoring software on multiple PODs.
A Python application running on a local Raspberry Pi 3.0 polls real-time data through the local Modbus interface. This data was then made available to the dashboard through a local RESTful API, which is also hosted on the Raspberry Pi. The operator interfaces and dashboards were all built using modern web technologies so that this product could be installed and utilized by the other computers already running in each POD (a modern web browser). The only requirement for the administrators of these PODs is to install a Raspberry Pi, connect it to the local ethernet, and configure the appropriate network addresses.
Each Raspberry Pi is responsible for polling the Modbus, storing the metrics and data in a local SQL database and hosting the dashboard web application and the local API serving the web application. When the devices have internet access, data is streamed to AWS over MQTT and stored to AWS S3 for future analysis. Additionally, text message alerts are issued by AWS Lambda functions to Twilio if measurements go outside of acceptable ranges.
Updates to this system are deployed without any operator/system administrator intervention, utilizing modern continuous deployment strategies leveraging Yocto and Mender.
In just a few months, Very developed a custom operational dashboard for Saunders Electric's onsite operators along with data aggregation to a centrally managed cloud platform powered by Amazon Web Services.
In addition to the efficiency gains, Saunders Electric now has access to robust reporting tools. Instead of using spreadsheets to explain the ROI of investments to their clients, they’re able to use dashboards, providing a modern and intuitive customer experience.