Multi-protocol gateway
X2B connects many protocols and devices through interchangeable interface modules. Each interface provides data points (channels). With the "channel gateway" control you couple data points of different interfaces, in both directions if needed.
- More than 30 interface modules, each configured in the user interface
- Data model: interface, data point (channel) and control
- Type conversion between boolean, integer, floating point, text and timestamp
- Channel gateway: up to 10 data point pairs, selectable direction, feedback loops are prevented
- Scaling with factor and offset, for example for XML, JSON and Modbus
Example: A Modbus meter delivers Wh, a KNX display expects kWh. A gateway control couples both data points and converts automatically.
Units and conversion
Every data point has a unit. X2B converts between compatible units for display, data point coupling and evaluations, for example W and kW, Wh and kWh, or °C and °F.
- More than 100 units and data types
- The data point stores the value in the selected unit
- Regional display: for example °C and km/h in Switzerland and Germany, °F and mph in the US
- KNX data points take their unit from the data point type
Example: A power data point in W is shown in kW in the control. A temperature stays stored in °C, even if a user sees °F.
Triggers and actions
A trigger defines when something fires. An action then does something. Dead time as well as lead and follow-up delays are adjustable.
- 10 triggers: edge, value change, time of day (with weekday, day, month), threshold, cyclic, system event, ekey, value age, file event, formula
- 12 actions: email, SMS, write value, copy value, multi-write, sequence, notification, record camera, delete recording, OCPP call, request read, Sonos announcement
- Sequence with up to 100 lines, each with delay, value formula and target
- Texts with placeholders for values and source
Example: A push button starts a sequence: light on immediately, off after 180 seconds. With parallelism set to "replace", the time restarts on every press.
Flow editor
Beta
The flow editor is a visual editor: place blocks on the canvas and connect them with lines. It reacts to triggers or value changes, combines values logically and writes data points or starts actions.
- 16 blocks: value input, trigger, interval, AND, OR, NAND, NOR, XOR, XNOR, NOT, formula, delay, staircase timer, data point, action
- Wire types boolean, number and text, only matching types can be connected
- Event driven, no global clock; cycles without a delay block are rejected
- Live mode with current values on the blocks, automatic saving
- No script or function block
Example: Push button, staircase timer (180 s), data point "light". Or: trigger and data point combined with AND, followed by delay and action.
Formulas
A formula calculates a value from data point values and constants and writes it to a target data point. It is recalculated as soon as an input changes.
- Arithmetic, power, root, logarithm, sin and cos, absolute value, rounding, modulo
- Bitwise operations with 64 bit
- Comparisons, AND, OR, NOT, maximum and minimum, condition ?:
- Value age and timestamp of a data point as operands
- "Abort" prevents writing, "if invalid" catches invalid values
- Stateless: intermediate values live in virtual channels
Example: Copy: A = B. Conditional write: x > 10 ? value : abort.
Import
In the "Import" menu the integrator selects an interface, uploads a file or lets the box search for devices, and picks the desired objects from a list. X2B creates the data points and, for some interfaces, controls and a list.
- KNX: ETS project (.knxproj, ETS5 and ETS6) with project password, and JSON-LD from ETS 6; group addresses become data points with data type, unit, command and status address
- Modbus: CSV file with slave ID, register, data type, unit and interval
- BACnet: the box finds devices itself, objects are offered per device
- Shelly (Gen1, Gen2, Gen3): network scan, data points and controls per capability
- Philips Hue: lamps and groups
- Telenot: security areas, detection areas and outputs
- Language texts as JSON for all texts in the system
Example: The integrator selects Import, KNX, uploads the ETS project, enters the password and picks groups. "1/2/3 Kitchen light" becomes a data point with command and status address.
Export and interfaces
In the "Export" menu the integrator sets up reports. They can be generated manually or are created automatically at the start of the month for the previous month. The files are stored in the box documents area.
- Charging sessions as CSV and PDF: charge point, start, end, duration, kWh, charge card
- DATEV file for payroll deduction per cost center: charged kWh times electricity price
- Data point export as CSV and PDF: any number of data points, resolution 15 minutes, 1 hour or 1 day, mean, minimum and maximum per data point
- WebSocket interface for the iOS app with live values and switching
- Webhooks for weather and cloud services
Example: Data point export of the outdoor temperature, 1 hour resolution, mean and maximum, as CSV for the previous month in the documents folder.
Power management
Surplus management measures grid import and export and distributes the available surplus in a fixed order to controllable loads and charge points. Charging profiles control priority and throttling.
- Control interval 15 seconds by default, adjustable reserve
- Smoothing: throttling acts immediately, an increase only after a time window with continuously positive surplus
- Controllable load: on/off or power range, on and off conditions as formula, minimum run time
- Charge point group: distribution "lowest charge first" or "everyone gets the minimum first"
- Charging profiles with priority (Min, Low, Normal, High, Max), maximum charging power and billing type
- Implemented via OCPP charging profiles; minimum current per charge point, 6 A by default
- Tibber electricity prices (current, forecast) as data points, usable in formulas and conditions
Example: Grid meter as source, smoothing 60 s, reserve 500 W. List: 1. charge point group, 2. heating element. When the surplus drops, the next cycle throttles.
Meters and billing
Beta
Meter controls for producers, consumers and others deliver readings and power. From these X2B creates an energy billing with cost centers, charge cards and charging sessions as a CSV file.
- Meter evaluation as its own menu item with its own right
- Meters can be assigned to charge points, function monitoring and meter replacement detection
- Billing daily, weekly, monthly, quarterly or yearly, plus interim billing
- Meter types: electricity, water, heat, gas, oil
- Billing type per charging profile: grid tariff or generation mix
- Connection to the Zevvy billing platform, charging report and DATEV export
Example: A property with tenant meters as cost centers and a grid meter is billed monthly.
Using renewable energy
Beta
PV surplus can be distributed automatically to switchable loads and charge points. In billing, generation and consumption are offset in time slots using generation shares.
- Producer types in billing: grid, PV, wind, hydro, battery
- Offsetting in time slots with shares per producer
- Battery storage and inverters can be connected as a data source via interfaces (E3DC, Sunny Home Manager, SolarLog)
- Controlling battery storage is not part of the scope
Example: PV 6 kW, two tenant meters as cost centers, charge card in generation mix: charging sessions are billed proportionally from PV and grid in time slots.
Data recording
X2B records measured values automatically. For each 5-minute window it stores mean, minimum and maximum. Meter readings are recorded separately every minute.
- Local database on the box
- Charts for day, week, month and year with suitable resolution
- Aggregation: value, delta, range, minimum, maximum
- Data sources: data point, meter, meter data point, charge point
- Two Y axes per chart
Example: A temperature data point is set as chart source: the weekly chart shows hourly points, the yearly chart daily points.
Scheduling and scenes
Controls with a timer switch on selected weekdays at a fixed time or relative to sunrise and sunset. Scenes store the state of selected controls and restore it by scene number.
- Timer: time of day, sunrise, sunset and civil twilight, with offset
- Selectable weekdays, several actions per entry, lock via a data point
- Astronomical times from the location of the box
- Scenes 1 to 64, learn and recall state, with adjustable delay per control
- KNX scenes are supported
Example: The light switches on every day 20 minutes after sunset and off at 23:00 Monday to Friday.
Notifications
Triggers can create an email, an SMS or an internal message through an action. Recipients are users, groups or freely entered numbers. Texts contain data values as placeholders.
- Email and SMS go through the innoEnergy proxy
- Internal messages with importance Ok, Info, Warning and Error, acknowledgeable and deletable
- Subscribers per message queue: users and groups
Example: The trigger "temperature above 30 °C" sends an email to the group "Caretaker" and also creates a warning in the queue "Technical".
Users and security
Rights are assigned through permission groups. A group has system rights and rights on individual controls, lists and visualizations. Individual controls can be protected with a PIN.
- Object rights: view, change, deny; objects without view right are invisible
- System rights, for example for configuration, remote access, export and factory reset
- Login mode per user: anywhere, local network only, via proxy only, or blocked
- Login with challenge-response, the password does not travel in clear text
- PIN for controls: 4 to 8 digits, with increasing lockout after failed attempts
- Remote access via an outgoing TLS connection from the box to the innoEnergy proxy, reachable as https://<ID>.x2.energy
Example: Apartment building: the group "Tenant apartment 3" may only change its own controls, the caretaker may view everything. The garage door has a 6-digit PIN.
Operation
Updates come from the innoEnergy proxy and are installed automatically by default. If an update fails, the box restores the previous version including the database.
- Update policy: manual, automatic at night or automatic immediately
- Release and beta channels; the proxy only delivers compatible versions
- Database backup before every update, health check after start, automatic rollback
- Nightly backup of the configuration database on the box
- Box2Box: share data points between two boxes, read-only or with write permission
- Hardware: Raspberry Pi CM4, PC Engines APU, virtual machine
Example: Policy "night": the box finds an update at 13:00 and installs it at a random time between 02:15 and 04:30.
More features
In addition there are features that make everyday use easier.
- User interface in 10 languages (de, en, es, fi, fr, it, nl, no, sv, tr), multilingual names, language and number format per user
- Company name and logo, tile size and system texts are customizable
- Documents area for reports and billings
- Telenot alarm systems: arm, disarm, lock detection areas, alarm status
- ekey fingerprint as trigger
- Voice control for Siri and Alexa (beta)