# Gateway Software 3.0

Gateway 3.0

Gateway Software 3.0 is the central component of the Enapter EMS Toolkit 3.0, managing all connected devices and enabling automation. It follows a local-first architecture with optional Enapter Cloud connectivity for remote access, synchronization, and monitoring.


# Features & Capabilities

Gateway Software 3.0 is built on Enapter Industrial Linux, an open-source, secure, and reliable Linux distribution designed for industrial applications. It supports advanced automation, containerized applications, and flexible integration with third-party systems. Data aggregation and storage, combined with Virtual UCMs, enable scalable and efficient energy management.

Main Features:

  • Modern architecture with high reliability
  • Rule Engine with Lua scripting for automation
  • Aggregated and compressed data storage
  • HTTP API, Enapter LINK
  • Optional OPC UA Server
  • Podman container support
  • Virtual UCM with support for running an unlimited number of Lua devices
  • Built-in Web Interface and Mobile App
  • Enapter IDE for Visual Studio Code
  • Enapter CLI 3.0

# Migration from Gateway Software 2.5 to 3.0

No migration of historical data, configurations, or sites from Gateway Software 2.5 to 3.0.

Each Gateway Software 3.0 installation always starts as a clean Gateway and a clean Site. Existing systems must be reconfigured manually using the new tools and workflows provided in EMS Toolkit 3.0.

WARNING

When booting Gateway 3.x firmware on hardware previously running Gateway 2.x, the setup process may offer to reuse the existing data disk.

If the data disk is reused, all existing data from Gateway 2.x will be permanently deleted.

Gateway 3.x does not migrate any data, configurations, or sites from earlier versions.

Create Bootable USB Flash (opens new window)


# How to Start from Scratch


# Connecting Gateway Software 3.0 to Enapter Cloud 3.0

Gateway Software 3.0 can securely connect to Enapter Cloud 3.0 to synchronize to synchronize devices, telemetry, rules, properties, and configurations. Offline buffering ensures reliable data delivery during internet outages. Users can manage devices locally or via the cloud for unified monitoring and control.

To access your device remotely using Enapter Cloud 3.0 Enable Connection to Enapter Cloud in System Settings of your Gateway Software 3.0.


# Mobile App Connection

Gateway 3.0 - Mobile

The Enapter Mobile App allows direct access to device dashboards, logs, and commands.

To connect Gateway Software 3.0 to Enapter Mobile App:

  1. Navigate to Accounts in the app and press + Add Connection button under the Gateways section.

Gateway 3.0 - Mobile - Add

  1. Enter the gateway’s IP address, along with the superuser login and password you created during setup.

Gateway 3.0 - Mobile - New Connection


# New Concept of Communication and Energy Devices

Gateway Software 3.0 introduces a new way of thinking about devices in energy systems.

Instead of treating each device as a fixed, standalone unit, version 3.0 is built around the concept of runtimes — intelligent devices that can host and run other devices.

# Devices Are No Longer Just Hardware

In Gateway Software 2.x:

  • A Blueprint was installed directly onto a UCM
  • The UCM itself was the final device

In Gateway Software 3.0:

  • A UCM (or similar device) acts as a runtime
  • One or more logical devices are created and executed inside that runtime

This allows a single physical device such as a Virtual UCM or UCM M2 to host multiple independent Lua devices.

# Runtimes in Gateway Software 3.0

A runtime is a device capable of running other devices.

Runtimes provide:

  • Connectivity
  • Execution of logic
  • Telemetry and control
  • Lifecycle management

UCMs M2 and Virtual UCMs act as runtimes, creating a unified and consistent system architecture.

# Software-Defined Devices

Devices in Gateway Software 3.0 are defined by code.

A Lua Device:

  • Is created from a Blueprint
  • Runs inside a runtime
  • Behaves as a full EMS device with its own data, commands, and automation
  • Multiple devices can coexist on the same runtime, enabling dense, modular deployments.

# Examples

# Direct Runtime Connection

Gateway 3.0 - Example - Direct Runtime Connection

A Lua Device (Switch) communicates using its native device protocol with a UCM M2 (ENP-RL6 M2 (opens new window)), which acts as its runtime.

The runtime connects directly to the Enapter Gateway 3.0 over Wi-Fi, where the device is managed, monitored, and automated.


# Uploading Blueprints

Enapter IDE and CLI 3.0 streamline creating, editing, and uploading Blueprints.

# Enapter IDE for Visual Studio Code

Enapter IDE for EMS Toolkit 3.0 (opens new window)

Create and upload Blueprints for Enapter's Energy Management System. It provides integrated tools for authoring Blueprints, connecting to Enapter Gateways, and managing of provisioned devices.

  1. Connect to Enapter Gateway
    • Open the Enapter sidebar.
    • In the Site Connections view, click the + button.
    • Enter Gateway address and API token.
  2. Select an Active Device
    • Browse available devices in the All Devices On Site view.
    • Click the Connect button on any device to make it active.
    • The device will appear in the Active Device view
  3. Develop Blueprints
    • Create or open a manifest.yml file.
    • Edit your Blueprint configuration and Lua code.
    • Monitor device logs in real-time through the Active Device view.

# Enapter CLI 3.0

Enapter CLI 3.0 is the command-line interface tool designed for managing Enapter energy management systems, Blueprints, and Devices. It allows developers and operators to manage Gateway Software 3.0, upload Blueprints, manage Devices, and automate workflows directly from a terminal or script, providing a lightweight alternative to the IDE, as well as direct interaction via the HTTP API

Enapter CLI 3.0 requires access token for authentication. Obtaining of the token is easy and can be done by following few steps:

  1. Navigate to your Enapter Gateway 3.0 Web Interface System Settings page by using IP address or mDNS name http://enapter-gateway.local/settings.
  2. Enter your Enapter Gateway password.
  3. Click API Token and copy token to clipboard.
  4. Set environment variables ENAPTER3_API_TOKEN, ENAPTER3_API_URL and ENAPTER3_API_ALLOW_INSECURE. To make it permanent don't forget to add it to configuration files of your shell.
export ENAPTER3_API_TOKEN="your token"
export ENAPTER3_API_URL="http://ip_address/api"
export ENAPTER3_API_ALLOW_INSECURE=true
  1. Check connection works by running
enapter3 device list

# Developers API 3.0

API v3 introduces a structured, modular data model, hierarchical telemetry, and strongly typed commands. Extensions and plugins are supported, with IDE + CLI 3.0 workflows for better scalability.

Developers Documentation (opens new window)


Was this page useful?