[
  {
    "id": "bgu_tab_1",
    "type": "tab",
    "label": "BooleanLogicUltimate - AND/OR/XOR",
    "disabled": false,
    "info": "Esempio base: 2 ingressi identificati da msg.topic (a/b). Il nodo calcola AND/OR/XOR e li espone su 3 uscite."
  },
  {
    "id": "bgu_cmt_1",
    "type": "comment",
    "z": "bgu_tab_1",
    "name": "Invia A e B (topic diversi) per calcolare AND/OR/XOR",
    "info": "Clicca gli inject (A/B true/false). Il nodo valuta quando ha ricevuto almeno un valore per ciascun topic, fino al conteggio inputCount.",
    "x": 250,
    "y": 60,
    "wires": []
  },
  {
    "id": "bgu_inj_a_true",
    "type": "inject",
    "z": "bgu_tab_1",
    "name": "A = true",
    "props": [
      { "p": "payload" },
      { "p": "topic", "vt": "str" }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "a",
    "payload": "true",
    "payloadType": "bool",
    "x": 120,
    "y": 120,
    "wires": [["bgu_gate_1"]]
  },
  {
    "id": "bgu_inj_a_false",
    "type": "inject",
    "z": "bgu_tab_1",
    "name": "A = false",
    "props": [
      { "p": "payload" },
      { "p": "topic", "vt": "str" }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "a",
    "payload": "false",
    "payloadType": "bool",
    "x": 120,
    "y": 160,
    "wires": [["bgu_gate_1"]]
  },
  {
    "id": "bgu_inj_b_true",
    "type": "inject",
    "z": "bgu_tab_1",
    "name": "B = true",
    "props": [
      { "p": "payload" },
      { "p": "topic", "vt": "str" }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "b",
    "payload": "true",
    "payloadType": "bool",
    "x": 120,
    "y": 220,
    "wires": [["bgu_gate_1"]]
  },
  {
    "id": "bgu_inj_b_false",
    "type": "inject",
    "z": "bgu_tab_1",
    "name": "B = false",
    "props": [
      { "p": "payload" },
      { "p": "topic", "vt": "str" }
    ],
    "repeat": "",
    "crontab": "",
    "once": false,
    "onceDelay": 0.1,
    "topic": "b",
    "payload": "false",
    "payloadType": "bool",
    "x": 120,
    "y": 260,
    "wires": [["bgu_gate_1"]]
  },
  {
    "id": "bgu_gate_1",
    "type": "BooleanLogicUltimate",
    "z": "bgu_tab_1",
    "name": "",
    "payloadPropName": "payload",
    "filtertrue": "both",
    "persist": false,
    "sInitializeWith": "WaitForPayload",
    "triggertopic": "trigger",
    "outputtriggeredby": "all",
    "inputCount": 2,
    "topic": "result",
    "restrictinputevaluation": false,
    "delayEvaluation": 0,
    "translatorConfig": "",
    "x": 380,
    "y": 200,
    "wires": [["bgu_dbg_and"], ["bgu_dbg_or"], ["bgu_dbg_xor"]]
  },
  {
    "id": "bgu_dbg_and",
    "type": "debug",
    "z": "bgu_tab_1",
    "name": "AND",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "statusVal": "",
    "statusType": "auto",
    "x": 590,
    "y": 160,
    "wires": []
  },
  {
    "id": "bgu_dbg_or",
    "type": "debug",
    "z": "bgu_tab_1",
    "name": "OR",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "statusVal": "",
    "statusType": "auto",
    "x": 590,
    "y": 200,
    "wires": []
  },
  {
    "id": "bgu_dbg_xor",
    "type": "debug",
    "z": "bgu_tab_1",
    "name": "XOR",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "payload",
    "targetType": "msg",
    "statusVal": "",
    "statusType": "auto",
    "x": 590,
    "y": 240,
    "wires": []
  }
]

