Enapter Blueprints is a technology that allows integration of various devices (electrolysers, power meters, inverters, batteries, sensors, etc.) into the Enapter Cloud platform with Lua scripts.
Blueprint technology uses a simple and unified device model that consists of:
- properties,
- telemetry,
- commands,
- alerts.
It describes which charts will be shown on a dashboard on mobile app or web, which commands can be executed, when to notify you about device alerts, etc. Using this model Enapter platform understands the capabilities of the device and how it can interact with other parts of an energy system.
Blueprint Marketplace is a collection of already developed Blueprints for most common energy devices as solar inverters, batteries, relays and others. You are welcome to contribute into Enapter Blueprint Marketplace with your devices integrations.
Go through the tutorial to learn about the blueprint concept and development workflow.
Integrating and monitoring of energy devices is first step for building your Energy Management System (EMS) or creating Energy Management Plan.
Energy management is the process of monitoring, controlling, and saving energy in a home or business. It is important for a number of reasons:
- Cost savings: Energy management can help reduce energy consumption, which can lower energy bills.
- Environmental impact: Reducing energy consumption can also help to reduce greenhouse gas emissions and other environmental impacts associated with energy production.
- Reliability: Proper energy management can help ensure that a home or business has a stable and reliable energy supply.
- Safety: Energy management can help identify and address any potential safety hazards related to energy use.
Top-level directories represent energy and industrial device types. Each directory contains a number of blueprints for specific device models.
The blueprint is an entity containing all aspects pertaining to device integration. It consists of two files:
manifest.yml
describes your device interfaces (telemetry it sends, commands it executes, alerts it raises);firmware.lua
implements these interfaces for the specific piece of hardware using the Lua programming language and high-level platform APIs.
There are two types of hardware that can run your blueprint:
- a physical Enapter UCM that implements communication through RS-485, CAN, your own hardware based on UCM Kit and other standards,
- a virtual UCM – a software element of the Enapter f 2.X (runs on an Intel-based server) that implements communication either over a local network (Ethernet) or by using a direct USB connection (serial communication).
Regardless of the underlying hardware, UCMs provide a runtime for Lua execution and expose APIs for Enapter Cloud connection, physical connections and protocols (e.g. 6-channel relay, RS-485 serial communication, Modbus RTU, Modbus TCP, etc).
- Select a hardware (UCM or gateway) suitable for communicating with your target device.
- Provision your UCM to the Enapter Cloud using the mobile app or run a new virtual UCM on the Enapter Gateway.
- Follow one of the options below to upload a blueprint to the UCM.
→ Use Enapter Mobile App and Blueprint Marketplace
- Click
More
on main navigation pannel. - Click
Blueprint Marketplace
. - Find the required Blueprint and click
Install Blueprint
. - Select the UCM from the list and confirm.
→ Use Web IDE
- Open Blueprint tab in the Enapter Cloud.
- Drag and drop the blueprint files into the IDE or copy and paste its contents.
- Press "Select Device" and choose your UCM.
- Press "Upload to" to upload the blueprint.
→ Use Enapter CLI
- Follow the steps described in the tutorial to get the CLI tool and your API access token.
- Switch the current directory to the desired blueprint.
- Execute the command
enapter-cli devices upload --hardware-id UCMID --blueprint-dir .
. SubstituteUCMID
with your UCM ID.
After uploading the blueprint, your device data will appear on the device page in the Enapter Cloud and the mobile application.
Take a look at our Contributing guideline.