ACE IoT Solutions has released a new Python library to enable organizations to stream data into the industry-leading building analytics system, SkySpark, using conventional data pipelines. Now available in ACE IoT’s GitHub Repository, the open-source tool employs standard Python runtime—meaning it will run anywhere Python is supported—and is designed to enable organizations to efficiently stream time series data into SkySpark. ACE IoT announced the release of the library at SkyPosium 2022, the annual gathering of the SkySpark ecosystem.
Why Develop a New Library?
At ACE IoT, we consider ourselves data plumbers. In this role, ACE IoT provides our customers with low-cost approaches to acquire, access and manage data from distributed control systems, power meters and sensors. More and more of ACE IoT’s customers are asking us to deliver data directly into SkySpark. To these customers, data acquisition—and the associated wrestling with firewalls, VPN access and network segmentation–is a burden that too often delays or otherwise interferes with the data analysis and building optimization work they do for their customers.
To meet the needs of our customers, ACE IoT examined several approaches to stream data into SkySpark including implementing an API adaptor in SkySpark, implementing PySession/hxpy and utilizing PyHaystack. In our assessment, each of the existing approaches has limitations that did not lend themselves to modern, event-driven architectures. Using a Native API connector would require an organization to engage a Fantom or Axon development resource and would not allow ACE IoT to benefit from our evented architecture, resulting in higher API loads. Using PySession/hxpy requires SkySpark to manage containers. Moreover, PySession/hxpy is not compatible with AWS Lambda or other FaaS infrastructure. Our evaluation of PyHaystack included an implementation at a small site and during our test we saw surprisingly large number of API calls to SkySpark for each step. We concluded that the orientation of PyHaystack around syncing metadata and bulk data import/export means that PyHaystack is not ideal for an organization with a real-time use case—namely, streaming time series data.
About the ACE IoT-SkySpark Tool?
Ultimately, we determined the best pathway to stream time series data reliably and conveniently was to develop a new, modular and lightweight library. We wrote the code specifically as a single purpose tool, one intended to be useful to the SkySpark community. Because it was not designed to support broader ecosystems, the tool is attractively lightweight. It also has composable architecture that allows SkySpark community members to use the functionality they need and ignore functionality they do not need.
ACE IoT expects to make additional commits to the library in the future. For example, in the coming months the library will support more metadata synchronization options and will include more direct support for Pandas/Numpy data structures. We would warmly receive feedback from the community and welcome commits from the ecosystem.
Also, please keep an eye on ACE IoT’s Github Repository for the release of additional open-source tools in the coming months, including a nifty driver for accessing data in Siemens Desigo systems.
If you have questions about ACE IoT Solutions and/or the ACE IoT SkySpark library, please contact Bill Maguire (bill@aceiotsolutions.com).
Please follow ACE IoT on our LinkedIN page.