BusDiagram GitHub Download

Examples

#Flags W and T

Key 1 sends a telegram to L1 and L2. Both objects receive it, but L2 has its W flag disabled and ignores the write, so its output does not change. Key 2 has its T flag disabled: its local value changes without transmitting a telegram. Select the actuator to inspect all six declared channels, including its three unused outputs.

<bus-diagram>
<script type="application/json">
{
  "formatVersion": 2,
  "title": "W and T flags: six-output actuator",
  "description": "Key 1 toggles L1 and L2. L1 accepts writes, but the W flag is disabled on L2: its object receives the telegram without changing the output. Key 2 has its T flag disabled: its value changes locally without sending a telegram. Outputs S4–S6 are declared but unused. Select a device to inspect its flags.",
  "lines": [{ "address": "1.1", "name": "Example line" }],
  "groupAddresses": [
    { "address": "1/1/1", "name": "L1–L2 lighting", "dpt": "1.001" },
    { "address": "1/1/3", "name": "L3 lighting", "dpt": "1.001" },
    { "address": "1/4/1", "name": "L1 status feedback", "dpt": "1.001" }
  ],
  "devices": [
    {
      "id": "pushButton",
      "name": "Push-button",
      "address": "1.1.1",
      "kind": "pushButton",
      "behavior": "pushButton/v1",
      "description": "Key 1 also listens to status feedback on 1/4/1, so its indicator remains synchronized.",
      "objects": [
        {
          "id": "key1",
          "name": "Key 1 toggle",
          "ga": ["1/1/1", "1/4/1"],
          "dpt": "1.001",
          "port": "input",
          "flags": { "W": true, "T": true }
        },
        {
          "id": "key2",
          "name": "Key 2 · T disabled",
          "ga": "1/1/3",
          "dpt": "1.001",
          "port": "input",
          "flags": { "W": true, "T": false }
        }
      ],
      "buttons": [
        {
          "id": "key1",
          "label": "Key 1",
          "press": { "object": "key1", "value": "toggle" },
          "led": "key1"
        },
        {
          "id": "key2",
          "label": "Key 2",
          "press": { "object": "key2", "value": "toggle" },
          "led": "key2"
        }
      ]
    },
    {
      "id": "switchActuator",
      "name": "Six-output switching actuator",
      "address": "1.1.2",
      "kind": "switchActuator",
      "behavior": "switchActuator/v1",
      "description": "One device with one individual address and six channels. Only S1–S3 have connected loads.",
      "objects": [
        {
          "id": "c1",
          "name": "Channel 1",
          "ga": "1/1/1",
          "dpt": "1.001",
          "port": "switch",
          "channel": "s1",
          "flags": { "W": true, "T": false }
        },
        {
          "id": "e1",
          "name": "Status 1",
          "ga": "1/4/1",
          "dpt": "1.001",
          "port": "status",
          "channel": "s1",
          "flags": { "W": false, "T": true }
        },
        {
          "id": "c2",
          "name": "Channel 2 · W disabled",
          "ga": "1/1/1",
          "dpt": "1.001",
          "port": "switch",
          "channel": "s2",
          "flags": { "W": false, "T": false }
        },
        {
          "id": "c3",
          "name": "Channel 3",
          "ga": "1/1/3",
          "dpt": "1.001",
          "port": "switch",
          "channel": "s3",
          "flags": { "W": true, "T": false }
        }
      ],
      "channels": [
        { "id": "s1", "label": "L1", "equipment": { "type": "lamp" } },
        { "id": "s2", "label": "L2", "equipment": { "type": "lamp" } },
        { "id": "s3", "label": "L3", "equipment": { "type": "lamp" } },
        { "id": "s4", "label": "unused", "equipment": null },
        { "id": "s5", "label": "unused", "equipment": null },
        { "id": "s6", "label": "unused", "equipment": null }
      ]
    }
  ],
  "options": { "speed": 1, "filterTables": false }
}
</script>
</bus-diagram>