{"id":10086,"date":"2018-05-13T07:51:25","date_gmt":"2018-05-13T05:51:25","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=10086"},"modified":"2018-08-17T17:25:43","modified_gmt":"2018-08-17T15:25:43","slug":"filtern-von-doppelten-nachrichten-in-nodered-auf-einem-raspberry-pi","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=10086","title":{"rendered":"Filtern von doppelten Nachrichten in NodeRED auf einem Raspberry Pi"},"content":{"rendered":"<p>Wie k\u00f6nnen 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 <a href=\"https:\/\/www.npmjs.com\/package\/node-red-contrib-deduplicate\" rel=\"noopener\" target=\"_blank\">deduplicate Node<\/a>. Wenn der mit <strong>npm i node-red-contrib-deduplicate<\/strong> installiert wurde, kann er wie folgt eingesetzt werden:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.40.30.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.40.30.png\" alt=\"\" width=\"1822\" height=\"751\" class=\"aligncenter size-full wp-image-10087\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.40.30.png 1822w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.40.30-300x124.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.40.30-768x317.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.40.30-1024x422.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>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:<!--more--><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.46.50.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.46.50.png\" alt=\"\" width=\"667\" height=\"385\" class=\"aligncenter size-full wp-image-10088\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.46.50.png 667w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.46.50-300x173.png 300w\" sizes=\"auto, (max-width: 667px) 100vw, 667px\" \/><\/a><\/p>\n<p>Und auch die Aus.- und Eing\u00e4nge k\u00f6nnen einen Namen erhalten:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.47.02.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.47.02.png\" alt=\"\" width=\"657\" height=\"589\" class=\"aligncenter size-full wp-image-10089\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.47.02.png 657w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2018\/05\/Bildschirmfoto-2018-05-13-um-07.47.02-300x269.png 300w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/a> <\/p>\n<p>Mein Beispielflow kann hier kopiert und eingef\u00fcgt werden:<\/p>\n<pre class=\"lang:js decode:true \" >[\r\n    {\r\n        \"id\": \"3328263d.a9beaa\",\r\n        \"type\": \"tab\",\r\n        \"label\": \"Test Filter\",\r\n        \"disabled\": false,\r\n        \"info\": \"\"\r\n    },\r\n    {\r\n        \"id\": \"ea699d27.d25\",\r\n        \"type\": \"deduplicate\",\r\n        \"z\": \"3328263d.a9beaa\",\r\n        \"name\": \"Filter doppelte Nachrichten f\u00fcr 5 Sekunden\",\r\n        \"keyproperty\": \"\",\r\n        \"expiry\": 5,\r\n        \"x\": 370,\r\n        \"y\": 140,\r\n        \"wires\": [\r\n            [\r\n                \"a83a8014.f47d8\"\r\n            ],\r\n            [\r\n                \"c82d007.5162a8\"\r\n            ]\r\n        ],\r\n        \"inputLabels\": [\r\n            \"Eingang\"\r\n        ],\r\n        \"outputLabels\": [\r\n            \"Einmal\",\r\n            \"Duplikat\"\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"216fab0b.558d8c\",\r\n        \"type\": \"inject\",\r\n        \"z\": \"3328263d.a9beaa\",\r\n        \"name\": \"\",\r\n        \"topic\": \"\",\r\n        \"payload\": \"Test\",\r\n        \"payloadType\": \"str\",\r\n        \"repeat\": \"\",\r\n        \"crontab\": \"\",\r\n        \"once\": false,\r\n        \"onceDelay\": 0.1,\r\n        \"x\": 110,\r\n        \"y\": 140,\r\n        \"wires\": [\r\n            [\r\n                \"ea699d27.d25\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"a83a8014.f47d8\",\r\n        \"type\": \"debug\",\r\n        \"z\": \"3328263d.a9beaa\",\r\n        \"name\": \"Einmal\",\r\n        \"active\": true,\r\n        \"tosidebar\": true,\r\n        \"console\": false,\r\n        \"tostatus\": false,\r\n        \"complete\": \"payload\",\r\n        \"x\": 650,\r\n        \"y\": 120,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"c82d007.5162a8\",\r\n        \"type\": \"debug\",\r\n        \"z\": \"3328263d.a9beaa\",\r\n        \"name\": \"Duplikat\",\r\n        \"active\": true,\r\n        \"tosidebar\": true,\r\n        \"console\": false,\r\n        \"tostatus\": false,\r\n        \"complete\": \"payload\",\r\n        \"x\": 660,\r\n        \"y\": 180,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"8cc38fe2.7330d8\",\r\n        \"type\": \"comment\",\r\n        \"z\": \"3328263d.a9beaa\",\r\n        \"name\": \"(c) 2018 Thomas Wenzlaff http:\/\/www.wenzlaff.info\",\r\n        \"info\": \"\",\r\n        \"x\": 230,\r\n        \"y\": 40,\r\n        \"wires\": []\r\n    }\r\n]<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Wie k\u00f6nnen 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 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=10086\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eFiltern von doppelten Nachrichten in NodeRED auf einem Raspberry Pi\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[220,2520,1023,2752],"tags":[112,2906,3249,3248,2824],"class_list":["post-10086","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-node-red","category-raspberry-pi","category-raspberry-pi-zero-w","tag-beispiel","tag-doppelte","tag-doppelte-nachrichen","tag-filter","tag-nodered"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/10086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10086"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/10086\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10086"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}