BusDiagram GitHub Download

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.

<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>