Our inspiration came from wanting to deliver a combination of automatic scheduling for both machines and people. People and businesses are extremely busy due to being constantly connected, but the one thing that seems to keep people on track is their calendar. Additionally, machines aren't yet fully aware of how they should run to optimize power usage from the grid. Nest and other utilities have made an attempt at this, but we wanted to provide an app that would provide power schedules for machines too.
What it does
It reads in live power data from a resource, such as a solar grid, and then evaluates any IIoT connected assets that are producing power consumption figures. At planned intervals (15 mins right now) a real time analytic runs on the streaming data to determine a projected operation schedule(s) for the connected devices. Users can evaluate the schedule and determine whether the operational schedule fits their needs or is unreasonable. Multiple schedules and user feedback is taken into account and then retrains the analytic to become smarter.
How we built it
We built on GE Predix and used some of our favorite coding tools such as ReactJS and NodeJS. It's a simple two tiered design. The assets and real time time series data are stored in the predix-asset and predix-timeseries services respectively. We then created a front end in ReactJS that uses a reverse proxy to access the REST apis of the aforementioned services. Our real time analytic is currently run in the front end as the volume of data is small, however; we found that we could easily port the algorithm that we wrote to the Analytics Catalog.
Challenges we ran into
We had several CORS issues when dealing with the predix services. Figuring out how to make React talk to the backend REST services proved very time consuming and set us back coding. We also found that there was a lack of real time pricing data for the electrical industry and thus we had to work with batch data sets from utilities.
Accomplishments that we're proud of
We feel very accomplished on a number of things but we would like to highlight a few. First, we believe the overall concept of a real time power scheduler that uses real time analytics and streaming data on predix is incredibly valuable and could be used and scaled for multiple residential and business assets. Additionally, our scheduling algorithm was a unique merge of algorithms from the "Quarter, Nickle, Dime - problem" and active matrix correlation. Finally, we're proud of the icon, vision statement, and theme we developed for the product.
What we learned
We learned a lot about the predix eco system and the services that it offers. Additionally, we felt that we really came together as team Arundo and we found that we were able to accomplish a lot despite several ambiguities and adversities in coding.
What's next for Power Scheduler
We're hoping to fine tune the algorithm a bit more and add an additional features for users to add their own assets in real time. We then plan on pushing to the GE App Store.