{"id":8213,"date":"2017-05-28T15:21:32","date_gmt":"2017-05-28T13:21:32","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=8213"},"modified":"2023-08-20T14:55:13","modified_gmt":"2023-08-20T12:55:13","slug":"benzin-preise-per-nodered-ermitteln-und-in-echtzeit-grafisch-darstellen-mit-dem-raspberry-pi","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=8213","title":{"rendered":"Benzin Preise per NodeRED ermitteln und in Echtzeit grafisch darstellen mit dem Raspberry Pi"},"content":{"rendered":"<p>Tankstellen melden ihre Spritpreise ins Internet. Von dort k\u00f6nnen sie leicht abgerufen werden. Zum Beispiel die <a href=\"https:\/\/www.benzinpreis-aktuell.de\/30669-hannover-aktuelle-benzinpreise\" target=\"_blank\" rel=\"noopener\">Benzinpreise<\/a> von Langenhagen. Die Seite hat auch eine \u00f6ffentliche kostenlose API. Dort kann man nach Anmeldung bis zu 3 Tankstellen kostenlos abfragen.<\/p>\n<p>Ok, dann mal los, hier die Architektur:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Architektur-Benzin.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Architektur-Benzin.png\" alt=\"\" width=\"2732\" height=\"2048\" class=\"aligncenter size-full wp-image-8214\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Architektur-Benzin.png 2732w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Architektur-Benzin-300x225.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Architektur-Benzin-768x576.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Architektur-Benzin-1024x768.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>So kann man sich dann vor dem tanken informieren und den billigen Sprit tanken:<!--more--><\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Sprit.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Sprit.png\" alt=\"\" width=\"2732\" height=\"2048\" class=\"aligncenter size-full wp-image-8215\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Sprit.png 2732w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Sprit-300x225.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Sprit-768x576.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Sprit-1024x768.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>In NodeRED erzeugt man diesen Flow:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-13.35.36.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-13.35.36.png\" alt=\"\" width=\"1207\" height=\"751\" class=\"aligncenter size-full wp-image-8223\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-13.35.36.png 1207w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-13.35.36-300x187.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-13.35.36-768x478.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-13.35.36-1024x637.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Es wird von dem Anbieter eine JSon Datei geliefert, mit folgenden Aufbau:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-09.36.57.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-09.36.57.png\" alt=\"\" width=\"591\" height=\"886\" class=\"aligncenter size-full wp-image-8227\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-09.36.57.png 591w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-09.36.57-200x300.png 200w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/a><\/p>\n<p>Es wird dann jede Stunde der aktuelle Wert abgefragt und f\u00fcr die Grafik an Thingspeak gesendet:<\/p>\n<p><iframe loading=\"lazy\" width=\"450\" height=\"260\" style=\"border: 1px solid #cccccc;\" src=\"https:\/\/thingspeak.com\/channels\/278900\/charts\/1?bgcolor=%23ffffff&#038;color=%23d62020&#038;dynamic=true&#038;results=60&#038;type=line&#038;update=15\"><\/iframe><\/p>\n<p>\u00dcber einen Gui-Button kann man die Abfrage auch jederzeit ausl\u00f6sen. Hier wird der Preis oben links angezeigt:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-15.20.06.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-15.20.06.png\" alt=\"\" width=\"1148\" height=\"758\" class=\"aligncenter size-full wp-image-8235\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-15.20.06.png 1148w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-15.20.06-300x198.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-15.20.06-768x507.png 768w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2017\/05\/Bildschirmfoto-2017-05-28-um-15.20.06-1024x676.png 1024w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/a><\/p>\n<p>Hier der von mir erstellte Flow f\u00fcr eigene Experimente zum kopieren:<\/p>\n<pre class=\"lang:java decode:true \" >[\r\n    {\r\n        \"id\": \"3841143c.a8e13c\",\r\n        \"type\": \"http request\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Superpreise f\u00fcr Langenhagen abfragen\",\r\n        \"method\": \"GET\",\r\n        \"ret\": \"obj\",\r\n        \"url\": \"https:\/\/www.benzinpreis-aktuell.de\/api2\/fetch.php?key=KEY-EINFUEGEN\",\r\n        \"tls\": \"\",\r\n        \"x\": 220,\r\n        \"y\": 200,\r\n        \"wires\": [\r\n            [\r\n                \"a5e77532.4ed78\",\r\n                \"b12e99ed.63bad8\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"b64bcec9.890e2\",\r\n        \"type\": \"debug\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"\",\r\n        \"active\": true,\r\n        \"console\": \"false\",\r\n        \"complete\": \"false\",\r\n        \"x\": 650,\r\n        \"y\": 340,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"a5e77532.4ed78\",\r\n        \"type\": \"contrib-json\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"engine\": \"JSONPath\",\r\n        \"command\": \"jq\",\r\n        \"expr\": \"$.stations.0.price_super\",\r\n        \"complete\": \"property\",\r\n        \"prop\": \"payload\",\r\n        \"name\": \"Shell Bothfelder Str. 15\",\r\n        \"x\": 210,\r\n        \"y\": 280,\r\n        \"wires\": [\r\n            [\r\n                \"b64bcec9.890e2\",\r\n                \"ed76c1e.0a7794\",\r\n                \"9fc64464.bbdcb\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"b12e99ed.63bad8\",\r\n        \"type\": \"contrib-json\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"engine\": \"JSONPath\",\r\n        \"command\": \"jq\",\r\n        \"expr\": \"$.stations.1.price_super\",\r\n        \"complete\": \"property\",\r\n        \"prop\": \"payload\",\r\n        \"name\": \"Hoyer Am Kreisel bei Mc Donalds\",\r\n        \"x\": 240,\r\n        \"y\": 420,\r\n        \"wires\": [\r\n            [\r\n                \"b64bcec9.890e2\",\r\n                \"cd27d62d.41ef48\",\r\n                \"fc2bb2d.e4e8fd\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"ed76c1e.0a7794\",\r\n        \"type\": \"ThingspeakSendSimple\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"An Thingspeak Kanal 1 senden\",\r\n        \"writekey\": \"SCHREIB-KEY\",\r\n        \"fieldid\": \"1\",\r\n        \"x\": 310,\r\n        \"y\": 340,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"ab52c557.c4ba8\",\r\n        \"type\": \"comment\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"www.wenzlaff.info\",\r\n        \"info\": \"\",\r\n        \"x\": 790,\r\n        \"y\": 80,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"737c9c4a.56450c\",\r\n        \"type\": \"comment\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Ermittelt die Super-Benzin Preise in Langenhagen und sendet sie an Thingspeak\",\r\n        \"info\": \"https:\/\/www.benzinpreis-aktuell.de\/benzinpreise-langenhagen-heute\",\r\n        \"x\": 320,\r\n        \"y\": 80,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"d71c9200.4ecc\",\r\n        \"type\": \"inject\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Jede Stunde\",\r\n        \"topic\": \"\",\r\n        \"payload\": \"\",\r\n        \"payloadType\": \"date\",\r\n        \"repeat\": \"3600\",\r\n        \"crontab\": \"\",\r\n        \"once\": false,\r\n        \"x\": 140,\r\n        \"y\": 120,\r\n        \"wires\": [\r\n            [\r\n                \"3841143c.a8e13c\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"cd27d62d.41ef48\",\r\n        \"type\": \"delay\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Warte 2 Minute\",\r\n        \"pauseType\": \"delay\",\r\n        \"timeout\": \"2\",\r\n        \"timeoutUnits\": \"minutes\",\r\n        \"rate\": \"1\",\r\n        \"nbRateUnits\": \"1\",\r\n        \"rateUnits\": \"second\",\r\n        \"randomFirst\": \"1\",\r\n        \"randomLast\": \"5\",\r\n        \"randomUnits\": \"seconds\",\r\n        \"drop\": false,\r\n        \"x\": 200,\r\n        \"y\": 480,\r\n        \"wires\": [\r\n            [\r\n                \"cf4b7c99.f23e\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"cf4b7c99.f23e\",\r\n        \"type\": \"ThingspeakSendSimple\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"An Thingspeak Kanal 2 senden\",\r\n        \"writekey\": \"SCHREIB-KEY\",\r\n        \"fieldid\": \"2\",\r\n        \"x\": 310,\r\n        \"y\": 560,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"8946d715.3895d\",\r\n        \"type\": \"ui_button\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"\",\r\n        \"group\": \"c18727d3.1b7608\",\r\n        \"order\": 7,\r\n        \"width\": 0,\r\n        \"height\": 0,\r\n        \"label\": \"Tankstellen Preise Abfrage\",\r\n        \"color\": \"\",\r\n        \"bgcolor\": \"\",\r\n        \"icon\": \"\",\r\n        \"payload\": \"\",\r\n        \"payloadType\": \"str\",\r\n        \"topic\": \"\",\r\n        \"x\": 400,\r\n        \"y\": 120,\r\n        \"wires\": [\r\n            [\r\n                \"3841143c.a8e13c\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"9fc64464.bbdcb\",\r\n        \"type\": \"template\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Format\",\r\n        \"field\": \"payload\",\r\n        \"fieldType\": \"msg\",\r\n        \"format\": \"handlebars\",\r\n        \"syntax\": \"mustache\",\r\n        \"template\": \"Shell Bothfeld: {{payload}} Euro\\n\",\r\n        \"x\": 640,\r\n        \"y\": 280,\r\n        \"wires\": [\r\n            [\r\n                \"e1934597.0af95\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"e1934597.0af95\",\r\n        \"type\": \"ui_toast\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"position\": \"top right\",\r\n        \"displayTime\": \"10\",\r\n        \"outputs\": 0,\r\n        \"ok\": \"OK\",\r\n        \"cancel\": \"\",\r\n        \"topic\": \"\",\r\n        \"name\": \"Ergebnis Dialog\",\r\n        \"x\": 800,\r\n        \"y\": 280,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"d53e5bcb.204348\",\r\n        \"type\": \"template\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Format\",\r\n        \"field\": \"payload\",\r\n        \"fieldType\": \"msg\",\r\n        \"format\": \"handlebars\",\r\n        \"syntax\": \"mustache\",\r\n        \"template\": \"Hoyer Am Kreisel: {{payload}} Euro\\n\",\r\n        \"x\": 640,\r\n        \"y\": 480,\r\n        \"wires\": [\r\n            [\r\n                \"7280a9f4.7b75a\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"7280a9f4.7b75a\",\r\n        \"type\": \"ui_toast\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"position\": \"top right\",\r\n        \"displayTime\": \"30\",\r\n        \"outputs\": 0,\r\n        \"ok\": \"OK\",\r\n        \"cancel\": \"\",\r\n        \"topic\": \"\",\r\n        \"name\": \"Ergebnis Dialog\",\r\n        \"x\": 800,\r\n        \"y\": 480,\r\n        \"wires\": []\r\n    },\r\n    {\r\n        \"id\": \"fc2bb2d.e4e8fd\",\r\n        \"type\": \"delay\",\r\n        \"z\": \"8bbc7a94.ee94e8\",\r\n        \"name\": \"Warte 10 Sekunden\",\r\n        \"pauseType\": \"delay\",\r\n        \"timeout\": \"10\",\r\n        \"timeoutUnits\": \"seconds\",\r\n        \"rate\": \"1\",\r\n        \"nbRateUnits\": \"1\",\r\n        \"rateUnits\": \"second\",\r\n        \"randomFirst\": \"1\",\r\n        \"randomLast\": \"5\",\r\n        \"randomUnits\": \"seconds\",\r\n        \"drop\": false,\r\n        \"x\": 470,\r\n        \"y\": 480,\r\n        \"wires\": [\r\n            [\r\n                \"d53e5bcb.204348\"\r\n            ]\r\n        ]\r\n    },\r\n    {\r\n        \"id\": \"c18727d3.1b7608\",\r\n        \"type\": \"ui_group\",\r\n        \"z\": \"\",\r\n        \"name\": \"wenzlaff.info\",\r\n        \"tab\": \"a9e39ea1.b18f3\",\r\n        \"disp\": false,\r\n        \"width\": \"6\"\r\n    },\r\n    {\r\n        \"id\": \"a9e39ea1.b18f3\",\r\n        \"type\": \"ui_tab\",\r\n        \"z\": \"\",\r\n        \"name\": \"wenzlaff.info\",\r\n        \"icon\": \"dashboard\"\r\n    }\r\n]<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Tankstellen melden ihre Spritpreise ins Internet. Von dort k\u00f6nnen sie leicht abgerufen werden. Zum Beispiel die Benzinpreise von Langenhagen. Die Seite hat auch eine \u00f6ffentliche kostenlose API. Dort kann man nach Anmeldung bis zu 3 Tankstellen kostenlos abfragen. Ok, dann mal los, hier die Architektur: So kann man sich dann vor dem tanken informieren und &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=8213\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eBenzin Preise per NodeRED ermitteln und in Echtzeit grafisch darstellen mit dem 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,79],"tags":[2843,5238,2824,2844,2847,2845,2846],"class_list":["post-8213","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-node-red","category-programmierung","tag-benzin","tag-benzinpreis-rabatt","tag-nodered","tag-preise","tag-sprit","tag-super-preis","tag-tankstelle"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/8213","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=8213"}],"version-history":[{"count":0,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/8213\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8213"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}