Wie können doppelte Nachrichten gefiltert werden? Manchmal will man das eine Nachricht nur einmal versendet wird, auch wenn sie innerhalb einer bestimmten Zeit nochmal mit dem gleichen Wert versendet wird. Das geht mit dem deduplicate Node. Wenn der mit npm i node-red-contrib-deduplicate installiert wurde, kann er wie folgt eingesetzt werden:
Rechts im Debug Fenstern kann man auch am Zeitstempel sehen, das die Test-Nachricht nur einmal ausgegeben wird, auch wenn man innerhalb von 5 Sekunden mehrmals klickt. Die Zeit kann in den Eigenschaften angepasst werden:
Und auch die Aus.- und Eingänge können einen Namen erhalten:
Mein Beispielflow kann hier kopiert und eingefügt werden:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
[ { "id": "3328263d.a9beaa", "type": "tab", "label": "Test Filter", "disabled": false, "info": "" }, { "id": "ea699d27.d25", "type": "deduplicate", "z": "3328263d.a9beaa", "name": "Filter doppelte Nachrichten für 5 Sekunden", "keyproperty": "", "expiry": 5, "x": 370, "y": 140, "wires": [ [ "a83a8014.f47d8" ], [ "c82d007.5162a8" ] ], "inputLabels": [ "Eingang" ], "outputLabels": [ "Einmal", "Duplikat" ] }, { "id": "216fab0b.558d8c", "type": "inject", "z": "3328263d.a9beaa", "name": "", "topic": "", "payload": "Test", "payloadType": "str", "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "x": 110, "y": 140, "wires": [ [ "ea699d27.d25" ] ] }, { "id": "a83a8014.f47d8", "type": "debug", "z": "3328263d.a9beaa", "name": "Einmal", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 650, "y": 120, "wires": [] }, { "id": "c82d007.5162a8", "type": "debug", "z": "3328263d.a9beaa", "name": "Duplikat", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 660, "y": 180, "wires": [] }, { "id": "8cc38fe2.7330d8", "type": "comment", "z": "3328263d.a9beaa", "name": "(c) 2018 Thomas Wenzlaff http://www.wenzlaff.info", "info": "", "x": 230, "y": 40, "wires": [] } ] |