[
  {
    "id": "utility-examples",
    "type": "tab",
    "label": "KNX Utility examples"
  },
  {
    "id": "utility-guide",
    "type": "comment",
    "z": "utility-examples",
    "name": "Configure a KNX gateway for bus functions; Translator works without one",
    "info": "Each KNX Utility instance has one function. This flow shows all eleven functions. Select a gateway and configure addresses for bus functions before deploying. Home Assistant Translator converts message values without a gateway; see the HA Translator - Payload Conversion example for a ready-to-run flow. Alerter has three outputs, Logger has two, and AutoResponder, DateTime and GlobalContext have no flow ports. GlobalContext uses its name for global variables, so keep KNXGlobalContext or choose letters only. AutoResponder starts with an empty list. DateTime schedules and Logger automatic output timers are disabled; WatchDog automatic start is disabled. No example supplies KNX group addresses. LoadControl uses message control. Read the selected function help before enabling it.",
    "x": 340,
    "y": 80,
    "wires": []
  },
  {
    "id": "utility-alert",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "name": "Alerter",
    "utilityType": "alerter",
    "server": "",
    "inputs": 1,
    "outputs": 3,
    "rules": [],
    "whentostart": "ifnewalert",
    "timerinterval": "2",
    "initialreadGAInRules": "1",
    "x": 180,
    "y": 180,
    "wires": [
      [
        "utility-debug-each"
      ],
      [
        "utility-debug-all"
      ],
      [
        "utility-debug-last"
      ]
    ]
  },
  {
    "id": "utility-response",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "name": "AutoResponder",
    "utilityType": "autoresponder",
    "server": "",
    "inputs": 0,
    "outputs": 0,
    "commandText": "[]",
    "x": 190,
    "y": 340,
    "wires": []
  },
  {
    "id": "utility-datetime",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "name": "Date / Time",
    "utilityType": "datetime",
    "server": "",
    "inputs": 0,
    "outputs": 0,
    "gaDateTime": "",
    "gaDate": "",
    "gaTime": "",
    "dptDateTime": "19.001",
    "dptDate": "11.001",
    "dptTime": "10.001",
    "sendOnDeploy": false,
    "sendOnDeployDelay": 30,
    "periodicSend": false,
    "periodicSendInterval": 60,
    "periodicSendUnit": "m",
    "x": 190,
    "y": 400,
    "wires": []
  },
  {
    "id": "utility-debug-each",
    "type": "debug",
    "z": "utility-examples",
    "name": "Each alerted device",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "targetType": "full",
    "statusVal": "",
    "statusType": "auto",
    "x": 470,
    "y": 140,
    "wires": []
  },
  {
    "id": "utility-debug-all",
    "type": "debug",
    "z": "utility-examples",
    "name": "All alerted devices",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "targetType": "full",
    "statusVal": "",
    "statusType": "auto",
    "x": 470,
    "y": 200,
    "wires": []
  },
  {
    "id": "utility-debug-last",
    "type": "debug",
    "z": "utility-examples",
    "name": "Last alerted device",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "targetType": "full",
    "statusVal": "",
    "statusType": "auto",
    "x": 470,
    "y": 260,
    "wires": []
  },
  {
    "server": "",
    "topic": "",
    "maxRetry": 6,
    "retryInterval": 10,
    "name": "WatchDog",
    "autoStart": false,
    "listenToKnxUltimateNodeErrors": true,
    "checkLevel": "Ethernet",
    "id": "utility-watchdog",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "watchdog",
    "inputs": 1,
    "outputs": 1,
    "x": 200,
    "y": 490,
    "wires": [
      []
    ]
  },
  {
    "server": "",
    "name": "KNXGlobalContext",
    "exposeAsVariable": "exposeAsVariableREADWRITE",
    "writeExecutionInterval": 1000,
    "contextStorage": "",
    "id": "utility-globalcontext",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "globalcontext",
    "inputs": 0,
    "outputs": 0,
    "x": 200,
    "y": 560,
    "wires": []
  },
  {
    "server": "",
    "topic": "",
    "intervalCreateETSXML": 15,
    "name": "Logger",
    "autoStartTimerCreateETSXML": false,
    "maxRowsInETSXML": 0,
    "saveMode": "emit",
    "filePath": "",
    "autoStartTimerTelegramCounter": false,
    "intervalTelegramCount": 60,
    "id": "utility-logger",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "logger",
    "inputs": 1,
    "outputs": 2,
    "x": 200,
    "y": 630,
    "wires": [
      [],
      []
    ]
  },
  {
    "server": "",
    "name": "Staircase",
    "outputtopic": "",
    "gaTrigger": "",
    "nameTrigger": "",
    "dptTrigger": "1.001",
    "gaOutput": "",
    "nameOutput": "",
    "dptOutput": "1.001",
    "gaStatus": "",
    "nameStatus": "",
    "dptStatus": "1.001",
    "gaOverride": "",
    "nameOverride": "",
    "dptOverride": "1.001",
    "gaBlock": "",
    "nameBlock": "",
    "dptBlock": "1.001",
    "timerSeconds": 120,
    "extendMode": "restart",
    "triggerOffCancels": "yes",
    "preWarnEnable": false,
    "preWarnSeconds": 15,
    "preWarnMode": "status",
    "preWarnFlashMs": 400,
    "blockAction": "off",
    "emitEvents": false,
    "id": "utility-staircase",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "staircase",
    "inputs": 1,
    "outputs": 1,
    "x": 200,
    "y": 700,
    "wires": [
      []
    ]
  },
  {
    "server": "",
    "name": "Garage",
    "outputtopic": "",
    "gaCommand": "",
    "nameCommand": "",
    "dptCommand": "1.001",
    "gaImpulse": "",
    "nameImpulse": "",
    "dptImpulse": "1.017",
    "gaHoldOpen": "",
    "nameHoldOpen": "",
    "dptHoldOpen": "1.001",
    "gaDisable": "",
    "nameDisable": "",
    "dptDisable": "1.001",
    "gaPhotocell": "",
    "namePhotocell": "",
    "dptPhotocell": "1.001",
    "gaMoving": "",
    "nameMoving": "",
    "dptMoving": "1.001",
    "gaObstruction": "",
    "nameObstruction": "",
    "dptObstruction": "1.001",
    "autoCloseEnable": true,
    "autoCloseSeconds": 120,
    "emitEvents": false,
    "id": "utility-garage",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "garage",
    "inputs": 1,
    "outputs": 1,
    "x": 200,
    "y": 770,
    "wires": [
      []
    ]
  },
  {
    "server": "",
    "name": "Scene Controller",
    "outputtopic": "",
    "topic": "",
    "dpt": "",
    "topicTrigger": "true",
    "topicSave": "",
    "dptSave": "",
    "topicSaveTrigger": "true",
    "rules": [],
    "id": "utility-scenecontroller",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "scenecontroller",
    "inputs": 1,
    "outputs": 1,
    "x": 200,
    "y": 840,
    "wires": [
      []
    ]
  },
  {
    "server": "",
    "name": "Load Control",
    "controlMode": "msg",
    "topic": "",
    "dpt": "",
    "wattLimit": 3000,
    "sheddingCheckInterval": 15,
    "sheddingRestoreDelay": 60,
    "GA1": "",
    "DPT1": "",
    "Name1": "",
    "autoRestore1": true,
    "MonitorGA1": "",
    "MonitorDPT1": "",
    "MonitorName1": "",
    "GA2": "",
    "DPT2": "",
    "Name2": "",
    "autoRestore2": true,
    "MonitorGA2": "",
    "MonitorDPT2": "",
    "MonitorName2": "",
    "GA3": "",
    "DPT3": "",
    "Name3": "",
    "autoRestore3": true,
    "MonitorGA3": "",
    "MonitorDPT3": "",
    "MonitorName3": "",
    "GA4": "",
    "DPT4": "",
    "Name4": "",
    "autoRestore4": true,
    "MonitorGA4": "",
    "MonitorDPT4": "",
    "MonitorName4": "",
    "GA5": "",
    "DPT5": "",
    "Name5": "",
    "autoRestore5": true,
    "MonitorGA5": "",
    "MonitorDPT5": "",
    "MonitorName5": "",
    "id": "utility-loadcontrol",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "utilityType": "loadcontrol",
    "inputs": 1,
    "outputs": 1,
    "x": 200,
    "y": 910,
    "wires": [
      []
    ]
  },
  {
    "id": "utility-hatranslator",
    "type": "knxUltimateUtility",
    "z": "utility-examples",
    "name": "HA Translator",
    "payloadPropName": "payload",
    "x": 220,
    "y": 1000,
    "wires": [
      [
        "utility-ha-debug"
      ]
    ],
    "utilityType": "hatranslator",
    "inputs": 1,
    "outputs": 1,
    "server": "",
    "haTranslationTable": "on:true\noff:false\nopen:true\nclosed:false\nhome:true\nnot_home:false"
  },
  {
    "id": "utility-ha-debug",
    "type": "debug",
    "z": "utility-examples",
    "name": "Translated HA boolean",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "true",
    "targetType": "full",
    "statusVal": "",
    "statusType": "auto",
    "x": 520,
    "y": 1000,
    "wires": []
  }
]
