node-red-contrib-boolean-logic-ultimate
Version:
A set of Node-RED enhanced boolean logic and utility nodes, flow interruption, blinker, invert, filter, toggle etc.., with persistent values after reboot. Compatible also with Homeassistant values.
172 lines (170 loc) • 3.67 kB
JSON
[
{
"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": []
}
]