Examples
#Full topology
Two areas connect through an IP network. KNXnet/IP routers 1.0.0 and 2.0.0 act as area couplers; the installation also contains four lines, a switchable line extension, and an IP supervisor. Compare a local Key 3 command from 1.1.10, which is filtered by the line coupler, with a shutter command on 2/1/1, which crosses the IP network. Follow the routing counter as it changes from 6 to 1. Switch the extension to segment-coupler mode and inspect each coupler's filter table.
<bus-diagram>
<script type="application/json">
{
"formatVersion": 2,
"title": "KNX topology: couplers, repeater, and KNXnet/IP routers",
"description": "Two areas are connected by an IP network. KNXnet/IP routers 1.0.0 and 2.0.0 act as area couplers. The installation has four lines, a line extension, and a supervisor on the IP network. Compare the route of a local command with that of a status telegram.",
"lines": [
{ "address": "1.1", "powerSupply": { "currentMa": 640 } },
{ "address": "1.2", "powerSupply": { "currentMa": 640 } },
{
"address": "2.1",
"powerSupply": { "currentMa": 640 },
"extension": {
"address": "2.1.64",
"mode": "repeater",
"switchable": true,
"powerSupply": { "currentMa": 320 }
}
},
{ "address": "2.2", "name": "no device", "powerSupply": { "currentMa": 640 } }
],
"topology": { "ip": "areaCouplers" },
"groupAddresses": [
{ "address": "1/1/1", "name": "Living-room lighting", "dpt": "1.001" },
{ "address": "1/3/1", "name": "Corridor lighting", "dpt": "1.001" },
{ "address": "1/4/1", "name": "Living-room lighting status", "dpt": "1.001" },
{ "address": "1/4/2", "name": "Corridor lighting status", "dpt": "1.001" },
{ "address": "2/1/1", "name": "Shutter 1 up/down", "dpt": "1.008" },
{ "address": "2/2/1", "name": "Shutter 1 stop/step", "dpt": "1.007" },
{ "address": "2/4/1", "name": "Shutter 1 position", "dpt": "5.001" }
],
"devices": [
{
"id": "sup",
"name": "Supervisor",
"kind": "supervisor",
"behavior": "display/v1",
"description": "The supervisor listens through the KNX/IP router. It sends no commands; it observes shutter commands and displays status feedback.",
"objects": [
{
"id": "pos",
"name": "Shutter 1 position",
"ga": "2/4/1",
"dpt": "5.001",
"port": "display",
"flags": { "W": true, "T": false }
},
{
"id": "l1",
"name": "Living room",
"ga": "1/4/1",
"dpt": "1.001",
"port": "display",
"flags": { "W": true, "T": false }
},
{
"id": "l2",
"name": "Corridor",
"ga": "1/4/2",
"dpt": "1.001",
"port": "display",
"flags": { "W": true, "T": false }
}
]
},
{
"id": "p1",
"name": "Three-key push-button · living room",
"address": "1.1.10",
"kind": "pushButton",
"behavior": "pushButton/v1",
"description": "One device has a separate object for each key and function. Key 1 raises the shutter and Key 2 lowers it: long presses use 2/1/1; short presses use 2/2/1. Key 3 toggles the light through 1/1/1 and also listens to status feedback on 1/4/1.",
"objects": [
{
"id": "key1Long",
"name": "Key 1 long press",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key1Short",
"name": "Key 1 short press",
"ga": "2/2/1",
"dpt": "1.007",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key2Long",
"name": "Key 2 long press",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key2Short",
"name": "Key 2 short press",
"ga": "2/2/1",
"dpt": "1.007",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key3",
"name": "Key 3",
"ga": ["1/1/1", "1/4/1"],
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
}
],
"buttons": [
{
"id": "button-0",
"label": "Key 1",
"icon": "up",
"short": { "object": "key1Short", "value": 0 },
"long": { "object": "key1Long", "value": 0 }
},
{
"id": "button-1",
"label": "Key 2",
"icon": "down",
"short": { "object": "key2Short", "value": 1 },
"long": { "object": "key2Long", "value": 1 }
},
{
"id": "button-2",
"label": "Key 3",
"press": { "object": "key3", "value": "toggle" },
"led": "key3"
}
]
},
{
"id": "c1",
"name": "Switching actuator",
"address": "1.1.20",
"kind": "switchActuator",
"behavior": "switchActuator/v1",
"objects": [
{
"id": "cmd",
"name": "Channel 1",
"ga": "1/1/1",
"dpt": "1.001",
"port": "switch",
"channel": "a",
"flags": { "W": true, "T": false }
},
{
"id": "status",
"name": "Status 1",
"ga": "1/4/1",
"dpt": "1.001",
"port": "status",
"channel": "a",
"flags": { "W": true, "T": true }
}
],
"channels": [{ "id": "a", "label": "Living room", "equipment": { "type": "lamp" } }]
},
{
"id": "p2",
"name": "One-key push-button · entrance",
"address": "1.2.10",
"kind": "pushButton",
"behavior": "pushButton/v1",
"description": "One shutter key: a long press reverses direction through 2/1/1; a short press stops through 2/2/1. Its 2/1/1 object listens to the bus. If device 1.1.10 lowers the shutter, the next long press raises it.",
"objects": [
{
"id": "md",
"name": "Key 1 long press",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "st",
"name": "Key 1 short press",
"ga": "2/2/1",
"dpt": "1.007",
"port": "input",
"flags": { "W": true, "T": true }
}
],
"buttons": [
{
"id": "button-0",
"label": "Key 1",
"short": { "object": "st", "value": 0 },
"long": { "object": "md", "value": "toggle" }
}
]
},
{
"id": "p3",
"name": "Push-button · corridor",
"address": "2.1.5",
"kind": "pushButton",
"behavior": "pushButton/v1",
"objects": [
{
"id": "key1",
"name": "Key 1",
"ga": ["1/3/1", "1/4/2"],
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
}
],
"buttons": [
{
"id": "button-0",
"label": "Key 1",
"press": { "object": "key1", "value": "toggle" },
"led": "key1"
}
]
},
{
"id": "c2",
"name": "Switching actuator",
"address": "2.1.6",
"kind": "switchActuator",
"behavior": "switchActuator/v1",
"objects": [
{
"id": "cmd",
"name": "Channel 1",
"ga": "1/3/1",
"dpt": "1.001",
"port": "switch",
"channel": "a",
"flags": { "W": true, "T": false }
},
{
"id": "status",
"name": "Status 1",
"ga": "1/4/2",
"dpt": "1.001",
"port": "status",
"channel": "a",
"flags": { "W": true, "T": true }
}
],
"channels": [{ "id": "a", "label": "Corridor", "equipment": { "type": "lamp" } }]
},
{
"id": "shutterActuator",
"name": "Shutter actuator",
"address": "2.1.20",
"kind": "shutterActuator",
"behavior": "shutterActuator/v1",
"downstream": true,
"objects": [
{
"id": "md",
"name": "MD 1",
"ga": "2/1/1",
"dpt": "1.008",
"port": "move",
"channel": "shutter1",
"flags": { "W": true, "T": false }
},
{
"id": "st",
"name": "Stop 1",
"ga": "2/2/1",
"dpt": "1.007",
"port": "stopStep",
"channel": "shutter1",
"flags": { "W": true, "T": false }
},
{
"id": "pos",
"name": "Position 1",
"ga": "2/4/1",
"dpt": "5.001",
"port": "positionStatus",
"channel": "shutter1",
"flags": { "W": true, "T": true }
}
],
"channels": [
{
"id": "shutter1",
"label": "Shutter 1",
"parameters": { "estimatedTravelTimeMs": 12000 },
"equipment": { "type": "shutter", "parameters": { "actualTravelTimeMs": 12000 } }
}
]
}
],
"options": { "speed": 1, "filterTables": false }
}
</script>
</bus-diagram>{
"formatVersion": 2,
"title": "KNX topology: couplers, repeater, and KNXnet/IP routers",
"description": "Two areas are connected by an IP network. KNXnet/IP routers 1.0.0 and 2.0.0 act as area couplers. The installation has four lines, a line extension, and a supervisor on the IP network. Compare the route of a local command with that of a status telegram.",
"lines": [
{ "address": "1.1", "powerSupply": { "currentMa": 640 } },
{ "address": "1.2", "powerSupply": { "currentMa": 640 } },
{
"address": "2.1",
"powerSupply": { "currentMa": 640 },
"extension": {
"address": "2.1.64",
"mode": "repeater",
"switchable": true,
"powerSupply": { "currentMa": 320 }
}
},
{ "address": "2.2", "name": "no device", "powerSupply": { "currentMa": 640 } }
],
"topology": { "ip": "areaCouplers" },
"groupAddresses": [
{ "address": "1/1/1", "name": "Living-room lighting", "dpt": "1.001" },
{ "address": "1/3/1", "name": "Corridor lighting", "dpt": "1.001" },
{ "address": "1/4/1", "name": "Living-room lighting status", "dpt": "1.001" },
{ "address": "1/4/2", "name": "Corridor lighting status", "dpt": "1.001" },
{ "address": "2/1/1", "name": "Shutter 1 up/down", "dpt": "1.008" },
{ "address": "2/2/1", "name": "Shutter 1 stop/step", "dpt": "1.007" },
{ "address": "2/4/1", "name": "Shutter 1 position", "dpt": "5.001" }
],
"devices": [
{
"id": "sup",
"name": "Supervisor",
"kind": "supervisor",
"behavior": "display/v1",
"description": "The supervisor listens through the KNX/IP router. It sends no commands; it observes shutter commands and displays status feedback.",
"objects": [
{
"id": "pos",
"name": "Shutter 1 position",
"ga": "2/4/1",
"dpt": "5.001",
"port": "display",
"flags": { "W": true, "T": false }
},
{
"id": "l1",
"name": "Living room",
"ga": "1/4/1",
"dpt": "1.001",
"port": "display",
"flags": { "W": true, "T": false }
},
{
"id": "l2",
"name": "Corridor",
"ga": "1/4/2",
"dpt": "1.001",
"port": "display",
"flags": { "W": true, "T": false }
}
]
},
{
"id": "p1",
"name": "Three-key push-button · living room",
"address": "1.1.10",
"kind": "pushButton",
"behavior": "pushButton/v1",
"description": "One device has a separate object for each key and function. Key 1 raises the shutter and Key 2 lowers it: long presses use 2/1/1; short presses use 2/2/1. Key 3 toggles the light through 1/1/1 and also listens to status feedback on 1/4/1.",
"objects": [
{
"id": "key1Long",
"name": "Key 1 long press",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key1Short",
"name": "Key 1 short press",
"ga": "2/2/1",
"dpt": "1.007",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key2Long",
"name": "Key 2 long press",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key2Short",
"name": "Key 2 short press",
"ga": "2/2/1",
"dpt": "1.007",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "key3",
"name": "Key 3",
"ga": ["1/1/1", "1/4/1"],
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
}
],
"buttons": [
{
"id": "button-0",
"label": "Key 1",
"icon": "up",
"short": { "object": "key1Short", "value": 0 },
"long": { "object": "key1Long", "value": 0 }
},
{
"id": "button-1",
"label": "Key 2",
"icon": "down",
"short": { "object": "key2Short", "value": 1 },
"long": { "object": "key2Long", "value": 1 }
},
{
"id": "button-2",
"label": "Key 3",
"press": { "object": "key3", "value": "toggle" },
"led": "key3"
}
]
},
{
"id": "c1",
"name": "Switching actuator",
"address": "1.1.20",
"kind": "switchActuator",
"behavior": "switchActuator/v1",
"objects": [
{
"id": "cmd",
"name": "Channel 1",
"ga": "1/1/1",
"dpt": "1.001",
"port": "switch",
"channel": "a",
"flags": { "W": true, "T": false }
},
{
"id": "status",
"name": "Status 1",
"ga": "1/4/1",
"dpt": "1.001",
"port": "status",
"channel": "a",
"flags": { "W": true, "T": true }
}
],
"channels": [{ "id": "a", "label": "Living room", "equipment": { "type": "lamp" } }]
},
{
"id": "p2",
"name": "One-key push-button · entrance",
"address": "1.2.10",
"kind": "pushButton",
"behavior": "pushButton/v1",
"description": "One shutter key: a long press reverses direction through 2/1/1; a short press stops through 2/2/1. Its 2/1/1 object listens to the bus. If device 1.1.10 lowers the shutter, the next long press raises it.",
"objects": [
{
"id": "md",
"name": "Key 1 long press",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": true, "T": true }
},
{
"id": "st",
"name": "Key 1 short press",
"ga": "2/2/1",
"dpt": "1.007",
"port": "input",
"flags": { "W": true, "T": true }
}
],
"buttons": [
{
"id": "button-0",
"label": "Key 1",
"short": { "object": "st", "value": 0 },
"long": { "object": "md", "value": "toggle" }
}
]
},
{
"id": "p3",
"name": "Push-button · corridor",
"address": "2.1.5",
"kind": "pushButton",
"behavior": "pushButton/v1",
"objects": [
{
"id": "key1",
"name": "Key 1",
"ga": ["1/3/1", "1/4/2"],
"dpt": "1.001",
"port": "input",
"flags": { "W": true, "T": true }
}
],
"buttons": [
{
"id": "button-0",
"label": "Key 1",
"press": { "object": "key1", "value": "toggle" },
"led": "key1"
}
]
},
{
"id": "c2",
"name": "Switching actuator",
"address": "2.1.6",
"kind": "switchActuator",
"behavior": "switchActuator/v1",
"objects": [
{
"id": "cmd",
"name": "Channel 1",
"ga": "1/3/1",
"dpt": "1.001",
"port": "switch",
"channel": "a",
"flags": { "W": true, "T": false }
},
{
"id": "status",
"name": "Status 1",
"ga": "1/4/2",
"dpt": "1.001",
"port": "status",
"channel": "a",
"flags": { "W": true, "T": true }
}
],
"channels": [{ "id": "a", "label": "Corridor", "equipment": { "type": "lamp" } }]
},
{
"id": "shutterActuator",
"name": "Shutter actuator",
"address": "2.1.20",
"kind": "shutterActuator",
"behavior": "shutterActuator/v1",
"downstream": true,
"objects": [
{
"id": "md",
"name": "MD 1",
"ga": "2/1/1",
"dpt": "1.008",
"port": "move",
"channel": "shutter1",
"flags": { "W": true, "T": false }
},
{
"id": "st",
"name": "Stop 1",
"ga": "2/2/1",
"dpt": "1.007",
"port": "stopStep",
"channel": "shutter1",
"flags": { "W": true, "T": false }
},
{
"id": "pos",
"name": "Position 1",
"ga": "2/4/1",
"dpt": "5.001",
"port": "positionStatus",
"channel": "shutter1",
"flags": { "W": true, "T": true }
}
],
"channels": [
{
"id": "shutter1",
"label": "Shutter 1",
"parameters": { "estimatedTravelTimeMs": 12000 },
"equipment": { "type": "shutter", "parameters": { "actualTravelTimeMs": 12000 } }
}
]
}
],
"options": { "speed": 1, "filterTables": false }
}