Examples
#KNX/DALI gateway
A four-key push-button controls two DALI groups. A short press switches a group on or off; a long press sends DPT 3.007 relative dimming commands until release. The gateway translates KNX telegrams into DALI commands such as RECALL MAX LEVEL, DAPC, UP, DOWN, and OFF. Use step mode to follow this sequence.
- Hold Key 1 to brighten the office group (ballasts A0–A3). Status telegrams on 1/5/1 report the resulting level.
- Click a luminaire to simulate a ballast fault. On its next poll, the gateway reports a group fault on 1/7/x and a general fault on 1/7/0.
- Use the USB interface panel to write group address 1/1/0 or read status and fault addresses. 1/1/0 is an ordinary KNX group address; the gateway object associated with it sends a broadcast command on the DALI line. The KNX broadcast address is 0/0/0, which is not used for group communication.
<bus-diagram>
<script type="application/json">
{
"formatVersion": 2,
"title": "KNX/DALI gateway: groups, dimming, and faults",
"description": "A short press switches the light on or off; a long press dims it using DPT 3.007 until release. The gateway translates each telegram into a DALI command for its two groups: office (ballasts A0–A3) and corridor (A4–A5). Click a luminaire to simulate a ballast fault; the gateway detects it on its next poll and reports it on 1/7/x. Use the USB interface panel to write group address 1/1/0, which the gateway maps to a DALI broadcast command, or to read statuses and faults.",
"lines": [{ "address": "1.1", "name": "Example line" }],
"groupAddresses": [
{ "address": "1/1/0", "name": "All lighting (DALI broadcast)", "dpt": "1.001" },
{ "address": "1/1/1", "name": "Office switch", "dpt": "1.001" },
{ "address": "1/1/2", "name": "Corridor switch", "dpt": "1.001" },
{ "address": "1/2/1", "name": "Office dimming", "dpt": "3.007" },
{ "address": "1/2/2", "name": "Corridor dimming", "dpt": "3.007" },
{ "address": "1/3/1", "name": "Office level", "dpt": "5.001" },
{ "address": "1/3/2", "name": "Corridor level", "dpt": "5.001" },
{ "address": "1/4/1", "name": "Office status", "dpt": "1.001" },
{ "address": "1/4/2", "name": "Corridor status", "dpt": "1.001" },
{ "address": "1/5/1", "name": "Office level status", "dpt": "5.001" },
{ "address": "1/5/2", "name": "Corridor level status", "dpt": "5.001" },
{ "address": "1/7/0", "name": "General DALI fault", "dpt": "1.005" },
{ "address": "1/7/1", "name": "Office fault", "dpt": "1.005" },
{ "address": "1/7/2", "name": "Corridor fault", "dpt": "1.005" }
],
"devices": [
{
"id": "pushButton",
"name": "Four-key push-button",
"address": "1.1.1",
"kind": "pushButton",
"behavior": "pushButton/v1",
"objects": [
{
"id": "s1",
"name": "Key 1 Office on",
"ga": "1/1/1",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d1",
"name": "Key 1 Office brighter",
"ga": "1/2/1",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "s2",
"name": "Key 2 Office off",
"ga": "1/1/1",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d2",
"name": "Key 2 Office dimmer",
"ga": "1/2/1",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "s3",
"name": "Key 3 Corridor on",
"ga": "1/1/2",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d3",
"name": "Key 3 Corridor brighter",
"ga": "1/2/2",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "s4",
"name": "Key 4 Corridor off",
"ga": "1/1/2",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d4",
"name": "Key 4 Corridor dimmer",
"ga": "1/2/2",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "v1",
"name": "Office setpoint",
"ga": "1/3/1",
"dpt": "5.001",
"port": "input",
"flags": { "W": false, "T": true }
}
],
"buttons": [
{
"id": "key1",
"label": "Key 1 · Office brighter",
"short": { "object": "s1", "value": 1 },
"long": { "object": "d1", "value": 9 },
"release": { "object": "d1", "value": 0 }
},
{
"id": "key2",
"label": "Key 2 · Office dimmer",
"short": { "object": "s2", "value": 0 },
"long": { "object": "d2", "value": 1 },
"release": { "object": "d2", "value": 0 }
},
{
"id": "key3",
"label": "Key 3 · Corridor brighter",
"short": { "object": "s3", "value": 1 },
"long": { "object": "d3", "value": 9 },
"release": { "object": "d3", "value": 0 }
},
{
"id": "key4",
"label": "Key 4 · Corridor dimmer",
"short": { "object": "s4", "value": 0 },
"long": { "object": "d4", "value": 1 },
"release": { "object": "d4", "value": 0 }
}
],
"inputs": [
{
"id": "setpoint",
"type": "number",
"label": "Office %",
"object": "v1",
"min": 0,
"max": 100,
"step": 10
}
]
},
{
"id": "gw",
"name": "DALI gateway",
"address": "1.1.2",
"kind": "daliGateway",
"behavior": "daliGateway/v1",
"objects": [
{
"id": "g1s",
"name": "Office switch",
"ga": "1/1/1",
"dpt": "1.001",
"port": "switch",
"channel": "g1",
"flags": { "W": true, "T": false }
},
{
"id": "g1d",
"name": "Office dimming",
"ga": "1/2/1",
"dpt": "3.007",
"port": "dim",
"channel": "g1",
"flags": { "W": true, "T": false }
},
{
"id": "g1v",
"name": "Office level",
"ga": "1/3/1",
"dpt": "5.001",
"port": "value",
"channel": "g1",
"flags": { "W": true, "T": false }
},
{
"id": "g1e",
"name": "Office status",
"ga": "1/4/1",
"dpt": "1.001",
"port": "status",
"channel": "g1",
"flags": { "W": false, "T": true }
},
{
"id": "g1ev",
"name": "Office level status",
"ga": "1/5/1",
"dpt": "5.001",
"port": "valueStatus",
"channel": "g1",
"flags": { "W": false, "T": true }
},
{
"id": "g1err",
"name": "Office fault",
"ga": "1/7/1",
"dpt": "1.005",
"port": "error",
"channel": "g1",
"flags": { "W": false, "T": true }
},
{
"id": "g2s",
"name": "Corridor switch",
"ga": "1/1/2",
"dpt": "1.001",
"port": "switch",
"channel": "g2",
"flags": { "W": true, "T": false }
},
{
"id": "g2d",
"name": "Corridor dimming",
"ga": "1/2/2",
"dpt": "3.007",
"port": "dim",
"channel": "g2",
"flags": { "W": true, "T": false }
},
{
"id": "g2v",
"name": "Corridor level",
"ga": "1/3/2",
"dpt": "5.001",
"port": "value",
"channel": "g2",
"flags": { "W": true, "T": false }
},
{
"id": "g2e",
"name": "Corridor status",
"ga": "1/4/2",
"dpt": "1.001",
"port": "status",
"channel": "g2",
"flags": { "W": false, "T": true }
},
{
"id": "g2ev",
"name": "Corridor level status",
"ga": "1/5/2",
"dpt": "5.001",
"port": "valueStatus",
"channel": "g2",
"flags": { "W": false, "T": true }
},
{
"id": "g2err",
"name": "Corridor fault",
"ga": "1/7/2",
"dpt": "1.005",
"port": "error",
"channel": "g2",
"flags": { "W": false, "T": true }
},
{
"id": "bc",
"name": "Broadcast switch",
"ga": "1/1/0",
"dpt": "1.001",
"port": "broadcastSwitch",
"flags": { "W": true, "T": false }
},
{
"id": "gerr",
"name": "General fault",
"ga": "1/7/0",
"dpt": "1.005",
"port": "generalError",
"flags": { "W": false, "T": true }
}
],
"channels": [
{
"id": "g1",
"label": "Office",
"parameters": { "dimTimeMs": 4000 },
"equipment": { "type": "daliGroup", "parameters": { "ballasts": 4 } }
},
{
"id": "g2",
"label": "Corridor",
"parameters": { "dimTimeMs": 4000 },
"equipment": { "type": "daliGroup", "parameters": { "firstAddress": 4 } }
}
]
},
{
"id": "usbInterface",
"name": "USB interface",
"address": "1.1.255",
"kind": "interface",
"behavior": "usbInterface/v1",
"objects": []
}
],
"options": { "speed": 1, "filterTables": false }
}
</script>
</bus-diagram>{
"formatVersion": 2,
"title": "KNX/DALI gateway: groups, dimming, and faults",
"description": "A short press switches the light on or off; a long press dims it using DPT 3.007 until release. The gateway translates each telegram into a DALI command for its two groups: office (ballasts A0–A3) and corridor (A4–A5). Click a luminaire to simulate a ballast fault; the gateway detects it on its next poll and reports it on 1/7/x. Use the USB interface panel to write group address 1/1/0, which the gateway maps to a DALI broadcast command, or to read statuses and faults.",
"lines": [{ "address": "1.1", "name": "Example line" }],
"groupAddresses": [
{ "address": "1/1/0", "name": "All lighting (DALI broadcast)", "dpt": "1.001" },
{ "address": "1/1/1", "name": "Office switch", "dpt": "1.001" },
{ "address": "1/1/2", "name": "Corridor switch", "dpt": "1.001" },
{ "address": "1/2/1", "name": "Office dimming", "dpt": "3.007" },
{ "address": "1/2/2", "name": "Corridor dimming", "dpt": "3.007" },
{ "address": "1/3/1", "name": "Office level", "dpt": "5.001" },
{ "address": "1/3/2", "name": "Corridor level", "dpt": "5.001" },
{ "address": "1/4/1", "name": "Office status", "dpt": "1.001" },
{ "address": "1/4/2", "name": "Corridor status", "dpt": "1.001" },
{ "address": "1/5/1", "name": "Office level status", "dpt": "5.001" },
{ "address": "1/5/2", "name": "Corridor level status", "dpt": "5.001" },
{ "address": "1/7/0", "name": "General DALI fault", "dpt": "1.005" },
{ "address": "1/7/1", "name": "Office fault", "dpt": "1.005" },
{ "address": "1/7/2", "name": "Corridor fault", "dpt": "1.005" }
],
"devices": [
{
"id": "pushButton",
"name": "Four-key push-button",
"address": "1.1.1",
"kind": "pushButton",
"behavior": "pushButton/v1",
"objects": [
{
"id": "s1",
"name": "Key 1 Office on",
"ga": "1/1/1",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d1",
"name": "Key 1 Office brighter",
"ga": "1/2/1",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "s2",
"name": "Key 2 Office off",
"ga": "1/1/1",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d2",
"name": "Key 2 Office dimmer",
"ga": "1/2/1",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "s3",
"name": "Key 3 Corridor on",
"ga": "1/1/2",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d3",
"name": "Key 3 Corridor brighter",
"ga": "1/2/2",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "s4",
"name": "Key 4 Corridor off",
"ga": "1/1/2",
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "d4",
"name": "Key 4 Corridor dimmer",
"ga": "1/2/2",
"dpt": "3.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "v1",
"name": "Office setpoint",
"ga": "1/3/1",
"dpt": "5.001",
"port": "input",
"flags": { "W": false, "T": true }
}
],
"buttons": [
{
"id": "key1",
"label": "Key 1 · Office brighter",
"short": { "object": "s1", "value": 1 },
"long": { "object": "d1", "value": 9 },
"release": { "object": "d1", "value": 0 }
},
{
"id": "key2",
"label": "Key 2 · Office dimmer",
"short": { "object": "s2", "value": 0 },
"long": { "object": "d2", "value": 1 },
"release": { "object": "d2", "value": 0 }
},
{
"id": "key3",
"label": "Key 3 · Corridor brighter",
"short": { "object": "s3", "value": 1 },
"long": { "object": "d3", "value": 9 },
"release": { "object": "d3", "value": 0 }
},
{
"id": "key4",
"label": "Key 4 · Corridor dimmer",
"short": { "object": "s4", "value": 0 },
"long": { "object": "d4", "value": 1 },
"release": { "object": "d4", "value": 0 }
}
],
"inputs": [
{
"id": "setpoint",
"type": "number",
"label": "Office %",
"object": "v1",
"min": 0,
"max": 100,
"step": 10
}
]
},
{
"id": "gw",
"name": "DALI gateway",
"address": "1.1.2",
"kind": "daliGateway",
"behavior": "daliGateway/v1",
"objects": [
{
"id": "g1s",
"name": "Office switch",
"ga": "1/1/1",
"dpt": "1.001",
"port": "switch",
"channel": "g1",
"flags": { "W": true, "T": false }
},
{
"id": "g1d",
"name": "Office dimming",
"ga": "1/2/1",
"dpt": "3.007",
"port": "dim",
"channel": "g1",
"flags": { "W": true, "T": false }
},
{
"id": "g1v",
"name": "Office level",
"ga": "1/3/1",
"dpt": "5.001",
"port": "value",
"channel": "g1",
"flags": { "W": true, "T": false }
},
{
"id": "g1e",
"name": "Office status",
"ga": "1/4/1",
"dpt": "1.001",
"port": "status",
"channel": "g1",
"flags": { "W": false, "T": true }
},
{
"id": "g1ev",
"name": "Office level status",
"ga": "1/5/1",
"dpt": "5.001",
"port": "valueStatus",
"channel": "g1",
"flags": { "W": false, "T": true }
},
{
"id": "g1err",
"name": "Office fault",
"ga": "1/7/1",
"dpt": "1.005",
"port": "error",
"channel": "g1",
"flags": { "W": false, "T": true }
},
{
"id": "g2s",
"name": "Corridor switch",
"ga": "1/1/2",
"dpt": "1.001",
"port": "switch",
"channel": "g2",
"flags": { "W": true, "T": false }
},
{
"id": "g2d",
"name": "Corridor dimming",
"ga": "1/2/2",
"dpt": "3.007",
"port": "dim",
"channel": "g2",
"flags": { "W": true, "T": false }
},
{
"id": "g2v",
"name": "Corridor level",
"ga": "1/3/2",
"dpt": "5.001",
"port": "value",
"channel": "g2",
"flags": { "W": true, "T": false }
},
{
"id": "g2e",
"name": "Corridor status",
"ga": "1/4/2",
"dpt": "1.001",
"port": "status",
"channel": "g2",
"flags": { "W": false, "T": true }
},
{
"id": "g2ev",
"name": "Corridor level status",
"ga": "1/5/2",
"dpt": "5.001",
"port": "valueStatus",
"channel": "g2",
"flags": { "W": false, "T": true }
},
{
"id": "g2err",
"name": "Corridor fault",
"ga": "1/7/2",
"dpt": "1.005",
"port": "error",
"channel": "g2",
"flags": { "W": false, "T": true }
},
{
"id": "bc",
"name": "Broadcast switch",
"ga": "1/1/0",
"dpt": "1.001",
"port": "broadcastSwitch",
"flags": { "W": true, "T": false }
},
{
"id": "gerr",
"name": "General fault",
"ga": "1/7/0",
"dpt": "1.005",
"port": "generalError",
"flags": { "W": false, "T": true }
}
],
"channels": [
{
"id": "g1",
"label": "Office",
"parameters": { "dimTimeMs": 4000 },
"equipment": { "type": "daliGroup", "parameters": { "ballasts": 4 } }
},
{
"id": "g2",
"label": "Corridor",
"parameters": { "dimTimeMs": 4000 },
"equipment": { "type": "daliGroup", "parameters": { "firstAddress": 4 } }
}
]
},
{
"id": "usbInterface",
"name": "USB interface",
"address": "1.1.255",
"kind": "interface",
"behavior": "usbInterface/v1",
"objects": []
}
],
"options": { "speed": 1, "filterTables": false }
}