Scripting Logic Node for Gira X1 and L1

With the SCRIPTING Logic Node you can combine calculations, text processing and custom logic into a single powerful block, replacing multiple formula, formatter and parser modules at once.
Build compact logic flows, reduce wiring complexity and create advanced automations with just a few lines of code. From smart data handling to dynamic text generation and complex conditions: everything runs inside one fast, flexible node.

One block. Endless possibilities.

Download Gira Scripting Logic Node v.0.1.000024

Use below scripting editor and cut/paste the one-liner in the logic node.

Other X1/L1 Nodes you might like
Miele   Duco   CounterPlus



Click the line below to copy it into the Scripting Logic Node:
Successfully copied. Paste this into the Scripting Logic Node!

How it works

Sending any value to the Trigger port (bool/number/text, even false or zero) will execute the script.

Output ports will only change when set in the script. If the script doesn’t set the output port, it will not change, so

will only set the Output port when Input1=5. If you always want to set the value, use

Examples

Numbers

Strings (text)

Logic

JSON (extra data easily!)

 Sample JSON:
{
  "device": {
    "name": "LivingRoomController",
    "status": "online",
    "metrics": {
      "temperature": 21.6,
      "humidity": 48,
      "power": 312.4
    },
    "modes": [
      { "id": 1, "name": "Auto", "active": true },
      { "id": 2, "name": "Eco", "active": false },
      { "id": 3, "name": "Boost", "active": false }
    ]
  }
}

AI

Examples of asking ChatGPT, CoPilot or DeepSeek for a script:

“Can you generate JavaScript code for the Gira X1 Scripting Logic Module (see examples at https://www.roelbroersma.nl/scripting)?
I have 2 inputs and 1 output.

  • IN1 = weather information as text

  • IN2 = expected afternoon temperature (number)

Requirements:

  • Output format: Temp: XX°C - DESCRIPTION

  • DESCRIPTION must be truncated to 20 characters and end with .. if longer

  • Use only plain JavaScript compatible with Jint

  • Assign the result to OUT1″

Release notes

v0.1.000024  (02-feb-2026)

  • Fix: Update Notification in GPA (didn’t work!).
  • Fix: You couldn’t Trigger the block when not all inputs are set, fixed by pre-filling with 0 (zero).
  • Fix: A lot of small fixes ans possible NullPointerExceptions.
  • Future: Implemented great Debug logging (enable Debug to see what’s happening).
  • Future: Debugging shows script execution time. (a hard limit is set at 200ms).

v0.1.000018  (01-feb-2026)

  • Initial version
  • Tested on Gira GPA v6.0. X1: v3.0.52 and L1: v2.5.149, but may work on lower versions.