Skip to content
Elausys

HyperVisu / Logic Engine

Function Setup & Outputs

Category, room, resident-visible settings, and materializing outputs as widgets.

elausys · 02 August 2026
On this page

Function setup

Select a function card and click Settings on its toolbar, or double-click the card's header, to open its setup dialog. Apply closes the dialog; the changes reach the server with Save on the canvas.

  • Name — name functions for the resident who will read them in the app ("Living room heating", not "Thermostat 3"). It is the title of the function's page in the app.
  • Description — optional, a note for the next installer. The app prints it in one place only: under the value of a calculated-value function. There is no icon to choose.
  • Enabled — a disabled function keeps its wiring but does not run. A new function starts switched off.
  • Sheet — where it is filed.
  • Category and Room — choosing a Category is what publishes the function in the apps (see “Functions in the App”); the Room becomes a filter there. Leave Internal — not in app for helper functions residents should not see.
  • Settings — the block's typed settings, with ranges, steps, units and conditional visibility (settings irrelevant to the current choices are hidden). A setting that is superseded by a bound input port is shown disabled — the wire wins.
  • Per-setting exposure — eligible settings carry an App toggle: switched on, residents can change that setting from the function's page in the app; switched off, it stays admin-only. The list of eligible settings is fixed for each block: the wind-alarm settings of an Automatic shutter and a Thermostat's frost and heat protection, for example, never carry the toggle.
  • Exposing an input (App-set) — some values residents adjust are inputs, not settings: a Thermostat's Setpoint, for example. Click the input on the card, open the App-set tab of its Bind dialog, type the Starting value, switch Let app users change it on and click Make app-set. The function then holds the value itself and the app shows a control for it. With the switch off, the value is held by the function and not offered in the app.

⚠️ Warning: Publishing a function always gives residents the Function active switch on its page in the app. They can switch a published function off, whatever you expose. Keep a function internal if it must never be stopped.

Function setup dialog.

Outputs

Click an output port to configure where its value goes. The output dialog has three tabs — Devices, Actions and Make a widget — and an output with nothing on any of them is not broken: it stays internal and feeds other functions through wires, which is the normal case for a comparator.

Devices. Each target device object is written in one of two modes:

ModeWhat it does
CommandActuates the object — as if a user operated the widget. Use it to drive real actuators.
Set stateSets the object's state without commanding anything. Use it to publish a computed reading — on a virtual object, or on an object that has no address of its own (the energy registers of a power-only meter, see “Logic Block Reference”).

The picker offers only objects the port can write (type-compatible and writable); read-only feedback objects are hidden and the dialog says how many. Most objects can honour exactly one mode, so the mode is stated rather than asked; where both fit, you choose.

Actions. A boolean output can also do something besides writing a value — the same things an automation's THEN can do:

ActionConfiguration
Trigger a scenarioThe scenario — runs exactly as pressing it in the app would.
Trigger an automationThe automation — its own conditions are still checked, and its actions run only if they pass. The tile's own text says it bypasses them; it does not. An automation that is switched off is not run however it is reached (the picker says "— disabled").
Global commandWhat (Lights in a room, Shutters in a room, Lights in a category, Shutters in a category), To (On, Off, Up, Down, Stop), and a Room or a Category.
Send a notificationTitle, Message, Recipients (leave empty to notify everyone).
Send an e-mailSubject, Message, Recipients (leave empty to e-mail every user with an address). Requires the Email service (see “Email Service”).

Two controls turn a value into an event, and both matter:

  • Trigger — When it turns on (default), When it turns off or Both ways. An action happens on a transition of the output, never on a repeat of it: a Direct link in every telegram mode re-writes its device targets on every telegram, but fires its actions only when the value actually changes. This is the value-vs-event contract — device targets carry a value, actions are events.
  • Not again within — a cooldown in seconds (default 60, minimum 1). Scenarios and global commands write many objects, and each one comes back and re-evaluates the functions bound to it; the cooldown is what stops that becoming a loop. Leave it generous unless you have a reason. A transition dropped by the cooldown is logged as dropped, not silently swallowed.

The Actions tab is available on boolean outputs, and on "any type" outputs (a Direct link) whose wire carries a boolean — the server checks what the port actually carries and reports a mismatch in the validation panel (see “Logic Validation, Monitoring & Safety”). A number has nothing to fire on. Actions appear on the canvas as pills on the output. In the execution history (History → All) a fired action is a row marked "action fired" with its time, and one dropped by the cooldown or by a test is marked "action dropped"; the row gives no other detail. For an e-mail the row is written before the Email service is checked, so also look in the mailbox.

In the Actions tab, Add this action adds the action you have just filled in; Done alone does not keep a draft you have not added.

Make a widget. The third tab creates a real device for the value (materializing the output):

  1. Check Widget name, Room and Category. They arrive filled in from the function; Room and Category are empty when the function has none, and you must choose them.
  2. For a numeric output, choose the Presentation — Value (a plain reading) or Trend (a tile that charts its history). A true/false output has no Presentation.
  3. Click Create the widget. The pending edits of this function are saved first, then the widget is created and wired to the output in Set state mode. The dialog closes when the server has answered; if it refuses, the reason is shown in the form. You do not need Save afterwards.

The result is a normal virtual widget — an Analog input for a number, a Digital input for a true/false output. It can be placed on views, bridged to KNX (see “KNX Bridge & Triggers”) and logged to history (see “Object Settings, Logging & Notifications”; logging starts off — switch it on from the Devices page). The block's unit and decimals are copied across. No range is set unless the output declares one (a Thermostat setpoint does, a Calculated value does not): enter a minimum and a maximum on the Devices page only if you want the tile's level bar to fill. The widget outlives the function: deleting the function later asks what to do with it rather than removing it silently.

Example: materialize a Calculated value summing three meters as "Total consumption", category Energy. It appears in the app as a reading, not as a meter, and its first value arrives when the output next changes.

Output port dialog on the Make a widget tab.

Frequently Asked Questions

How do I make a function visible in the app?

Assign it a category in its setup dialog. The room becomes a filter in the app, while eligible settings with the App toggle enabled become editable by residents.

Why is a function setting disabled?

A bound input overrides that setting. The wire supplies the value.

What is the difference between Command and Set state?

Command actuates the device as a user would. Set state updates an object’s value without issuing a device command, for example to publish a calculated reading.

When do output actions run?

They run on the selected boolean transition, subject to the Not again within cooldown. Repeating an unchanged value does not trigger an action.

Does creating an output widget enable history automatically?

No. The widget is a normal virtual device, but logging starts off. Enable it from the Devices page if you want history.

Keep exploring

Find the other guides for this product in the documentation.

Back to Logic Engine