Middleware Project for BTM: IoTapi Manager
Streamlining Energy Data Management with Custom API Integrations
Streamlining Energy Data Management with Custom API Integrations
The BTM IoTapi Manager is a middleware solution developed for our partner BTM, designed for comprehensive energy management by retrieving and distributing data from various APIs.
BTM Energy GmbH is a company focused on helping their customers reduce their CO2 emissions sustainably. They achieve this by offering professional climate and energy management systems and IoT solutions for businesses, in collaboration with their partners.
Client Name
BTM Energy
Services Provided
Project Management, Software Engineering, Full Stack Development
Duration
Ongoing since 2019
Country
Austria
Industry
Energy
BTM Energy previously operated multiple systems, but they lacked a unified platform to connect them all. They needed a solution that would centralise the diverse energy data from these systems, presenting it clearly in one place. The challenge was to construct a custom web application, capable of pulling data from various APIs, each providing different yet vital information. The application also had to operate at configurable intervals, ensuring smooth data data distribution across various channels.
Our technical task was to develop and integrate various data connectors for specific data types such as weather forecasts, energy stats, and current electricity prices. The main challenge was managing different data formats from numerous sources. We also needed to set up queues for proper data synchronisation and integrate Laravel tools for better system monitoring and administration.
The BTM IoTapi Manager serves as a middleware solution designed for comprehensive data integration. The system utilises connectors to pull data from a range of sources, including:
Further information on BTM’s website: https://btm-iot.at/iotapimanager/
The BTM IoTapi Manager, as a middleware solution for energy management, IoTapi is based on the PHP framework Laravel and uses some tools from the Laravel ecosystem:
Laravel Nova for the admin interface,
Laravel Horizon for monitoring the queues
The asynchronous nature of the application – synchronising data – is an optimal use case for queues. Tasks first land in a queue, which a worker then processes in the background. Each connected service is implemented as a connector and takes care of everything – authentication (API-Key, OAuth, etc.), retrieval and reformatting of data, as well as defining the available output channels.