{"id":13765,"date":"2019-10-25T13:35:03","date_gmt":"2019-10-25T11:35:03","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=13765"},"modified":"2019-10-25T16:22:07","modified_gmt":"2019-10-25T14:22:07","slug":"filtern-eines-json-objekt-per-rest-request-von-einem-raspberry-pi-in-einen-wert-per-nodered-transformieren","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=13765","title":{"rendered":"Filtern eines JSON Objekt per REST Request von einem Raspberry Pi in einen Wert per NodeRed transformieren"},"content":{"rendered":"<p>Wenn man REST Services abfragt, bekommt man oft viele Werte. Wie kann man nur einen davon leicht per NodeRed filtern?<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/node-red-admin.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/node-red-admin.png\" alt=\"\" width=\"1754\" height=\"1240\" class=\"aligncenter size-full wp-image-7091\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/node-red-admin.png 1754w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/node-red-admin-300x212.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/node-red-admin-768x543.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/node-red-admin-1024x724.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Diesen Flow erstellen:<br \/>\n<a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.21.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.21.png\" alt=\"\" width=\"2444\" height=\"700\" class=\"aligncenter size-full wp-image-13766\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.21.png 2444w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.21-300x86.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.21-768x220.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.21-1024x293.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Hier mal ein Beispiel eines JSON-Objekt mit mehreren Werten. Wir wollen da die Temperatur Filtern.<!--more--><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.34.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.34.png\" alt=\"\" width=\"702\" height=\"1698\" class=\"aligncenter size-full wp-image-13767\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.34.png 702w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.34-124x300.png 124w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.34-423x1024.png 423w\" sizes=\"auto, (max-width: 702px) 100vw, 702px\" \/><\/a><\/p>\n<p>Wichtig ist, da der Key aus zwei W\u00f6rter besteht: CPU und Temperatur, das die Werte in Klammern und Hochkommas gesetzt werden, und zwar so:  <\/p>\n<pre class=\"lang:default decode:true \" >[\"CPU Temperatur\"] <\/pre>\n<p>  wie auch hier zu sehen:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.43.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.43.png\" alt=\"\" width=\"1752\" height=\"644\" class=\"aligncenter size-full wp-image-13770\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.43.png 1752w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.43-300x110.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.43-768x282.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.43-1024x376.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Bei der Abfrage ist wichtig, das die IP eingetragen wird, und der doppelte Slash nicht vergessen wird:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.14.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.14.png\" alt=\"\" width=\"1018\" height=\"1088\" class=\"aligncenter size-full wp-image-13769\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.14.png 1018w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.14-281x300.png 281w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.14-768x821.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.59.14-958x1024.png 958w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>So, hier nun das Ergebnis:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.59.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.59.png\" alt=\"\" width=\"898\" height=\"690\" class=\"aligncenter size-full wp-image-13768\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.59.png 898w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.59-300x231.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2019\/10\/Bildschirmfoto-2019-10-25-um-12.58.59-768x590.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Wer den Flow kopieren will, kann das von der <a href=\"https:\/\/flows.nodered.org\/flow\/3e2894aaaef006667c5622a3f8ebf1d7\" rel=\"noopener noreferrer\" target=\"_blank\">NodeRed<\/a> Seite tun und da 5 Sterne vergeben oder hier:<\/p>\n<pre class=\"lang:default decode:true \" >[\r\n    {\r\n        \"id\": \"12ce7612.4a38aa\",\r\n        \"type\": \"tab\",\r\n        \"label\": \"REST JSON\",\r\n        \"disabled\": false,\r\n        \"info\": \"\"\r\n    },\r\n    {\r\n        \"id\": \"7ba54c13.dd120c\",\r\n        \"type\": \"http request\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"Raspberry Pi REST Systemabfrage\",\r\n        \"method\": \"GET\",\r\n        \"ret\": \"obj\",\r\n        \"paytoqs\": false,\r\n        \"url\": \"http:\/\/10.10.10.10:8080\/info\",\r\n        \"tls\": \"\",\r\n        \"proxy\": \"\",\r\n        \"x\": 400,\r\n        \"y\": 200,\r\n        \"wires\": [\r\n            [\r\n                \"8103ae1a.cb1288\",\r\n                \"c107ae7c.b96418\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"4513a22b.d7b27c\",\r\n        \"type\": \"debug\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"Debugausgabe\",\r\n        \"active\": true,\r\n        \"tosidebar\": true,\r\n        \"console\": false,\r\n        \"tostatus\": false,\r\n        \"complete\": \"true\",\r\n        \"targetType\": \"full\",\r\n        \"x\": 920,\r\n        \"y\": 200,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"b52bb406.5bdf48\",\r\n        \"type\": \"inject\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"Start Abfrage\",\r\n        \"topic\": \"\",\r\n        \"payload\": \"\",\r\n        \"payloadType\": \"str\",\r\n        \"repeat\": \"\",\r\n        \"crontab\": \"\",\r\n        \"once\": false,\r\n        \"onceDelay\": \"\",\r\n        \"x\": 150,\r\n        \"y\": 200,\r\n        \"wires\": [\r\n            [\r\n                \"7ba54c13.dd120c\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"eda0fc2a.1cda2\",\r\n        \"type\": \"comment\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"(c) 2019 Thomas Wenzlaff   www.wenzlaff.info\",\r\n        \"info\": \"\",\r\n        \"x\": 230,\r\n        \"y\": 120,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"8103ae1a.cb1288\",\r\n        \"type\": \"function\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"Filter Temperatur\",\r\n        \"func\": \"var nachricht=\\\"Die Temperatur ist \\\"  + msg.payload[\\\"CPU Temperature\\\"] + \\\" Grad Celsius\\\";\\nvar tstamp=(new Date()).toISOString().replace(\/t\/gi,' ').trim();\\nmsg.payload = nachricht + \\\" am \\\" + tstamp;\\nmsg.topic=nachricht;\\nreturn msg;\",\r\n        \"outputs\": 1,\r\n        \"noerr\": 0,\r\n        \"x\": 670,\r\n        \"y\": 200,\r\n        \"wires\": [\r\n            [\r\n                \"4513a22b.d7b27c\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"c107ae7c.b96418\",\r\n        \"type\": \"debug\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"Alle Daten Debugausgabe\",\r\n        \"active\": true,\r\n        \"tosidebar\": true,\r\n        \"console\": false,\r\n        \"tostatus\": false,\r\n        \"complete\": \"true\",\r\n        \"targetType\": \"full\",\r\n        \"x\": 690,\r\n        \"y\": 100,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"2748fe21.9dccf2\",\r\n        \"type\": \"comment\",\r\n        \"z\": \"12ce7612.4a38aa\",\r\n        \"name\": \"Filter einen Wert aus einer JSON REST Abfrage\",\r\n        \"info\": \"\",\r\n        \"x\": 240,\r\n        \"y\": 60,\r\n        \"wires\": []\r\n    }\r\n]<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Wenn man REST Services abfragt, bekommt man oft viele Werte. Wie kann man nur einen davon leicht per NodeRed filtern? Diesen Flow erstellen: Hier mal ein Beispiel eines JSON-Objekt mit mehreren Werten. Wir wollen da die Temperatur Filtern.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[220,852,2520,1023],"tags":[2516,1257,2824,2487,595,3781,3780,3779],"class_list":["post-13765","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-heimautomatisierung","category-node-red","category-raspberry-pi","tag-flow","tag-json","tag-nodered","tag-rest","tag-temperatur","tag-value","tag-wert","tag-zerlegen"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/13765","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=13765"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/13765\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13765"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}