{"id":7070,"date":"2016-05-16T19:30:52","date_gmt":"2016-05-16T17:30:52","guid":{"rendered":"http:\/\/blog.wenzlaff.de\/?p=7070"},"modified":"2026-03-11T10:35:37","modified_gmt":"2026-03-11T09:35:37","slug":"openhab-fluginfos-abfragen","status":"publish","type":"post","link":"http:\/\/blog.wenzlaff.de\/?p=7070","title":{"rendered":"Wie k\u00f6nnen mit einem Raspberry Pi aktuelle Flugdaten (aus HAJ) in OpenHAB angezeigt werden?"},"content":{"rendered":"<p>Meine <a href=\"http:\/\/blog.wenzlaff.de\/?p=4278\" target=\"_blank\" rel=\"noopener noreferrer\">Hausautomatisation<\/a> die auf einen Raspberry Pi mit Debian Linux l\u00e4uft, arbeitet mit <a href=\"http:\/\/blog.wenzlaff.de\/?p=6935\" target=\"_blank\" rel=\"noopener noreferrer\">Openhab<\/a>.<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/openhab-fluginfo.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/openhab-fluginfo-1024x724.png\" alt=\"openhab-fluginfo\" width=\"640\" height=\"453\" class=\"aligncenter size-large wp-image-7076\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/openhab-fluginfo-1024x724.png 1024w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/openhab-fluginfo-300x212.png 300w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/openhab-fluginfo-768x543.png 768w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>Wie k\u00f6nnen da nun die <a href=\"https:\/\/de.wikipedia.org\/wiki\/Transponder#Flugfunktransponder\" target=\"_blank\" rel=\"noopener noreferrer\">Transpondersignale<\/a> von den Flugzeugen in Hannover (EDDV) angezeigt werden? <\/p>\n<p>Das geht mit der REST Schnitstelle von ThinkSpeak.<\/p>\n<p>So sieht die Seite von  <a href=\"https:\/\/www.openhab.org\/\">Openhab<\/a> aus. <\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/Bildschirmfoto-2016-05-16-um-18.50.04.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/Bildschirmfoto-2016-05-16-um-18.50.04.png\" alt=\"openhab Fluginfos\" width=\"509\" height=\"313\" class=\"aligncenter size-full wp-image-7071\" srcset=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/Bildschirmfoto-2016-05-16-um-18.50.04.png 509w, http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/Bildschirmfoto-2016-05-16-um-18.50.04-300x184.png 300w\" sizes=\"auto, (max-width: 509px) 100vw, 509px\" \/><\/a><\/p>\n<p>Oben wird die aktuelle Anzahl von Flugzeugen und der Zeitpunkt der Daten die gerade empfangen werden angezeigt. Eine automatisch Aktualisierung ist bei mir auf 15 Minuten eingestellt. Der Feed wird alle 5 Minuten aktualisiert und wenn man die letzten Daten angezeigt bekommen will, braucht man nur auf den &#8222;aktualisieren&#8220; Schalter klicken.<\/p>\n<p>Die Daten kann jeder abfragen, da die API von ThinkSpeak \u00f6ffentlich ist!<\/p>\n<p>Was ist n\u00f6tig?<\/p>\n<p>Ein Eintrag in der Sitemap Datei:<\/p>\n<pre class=\"lang:default decode:true \" >Frame {\r\n\tGroup item=gFlug label=\"Fluginfos\" icon=\"flugzeug\"{ \t\r\n\t\t\r\n    \tFrame label=\"Hannover HAJ (EDDV)\" {\r\n\t\t       \tText \titem=flugzeugeAnzahl  \t\t  icon=\"flugzeug\"\t  \t\t       \r\n\t\t       \tText    item=flugzeugeUpdate          icon=\"flugzeug\"\t\r\n\t\t       \tSwitch  item=flugzeugeAktualisieren   icon=\"flugzeug\"  \t\r\n\t\t       \tText \titem=flugzeugeZeitpunkt\t\t  icon=\"flugzeug\"\t       \t\t\r\n\t\t}      \t\t\r\n\t} \r\n}<\/pre>\n<p>Eine neue Datei im Items Verzeichnis <strong>Flug.items<\/strong> mit diesm Inhalt:<\/p>\n<pre class=\"lang:default decode:true \" >\/\/\r\n\/\/ Steuerung des Fluginformationen via OpenHAB\r\n\/\/\r\n\/\/ (c) 2016 Thomas Wenzlaff http:\/\/www.wenzlaff.info \r\n\/\/\r\n\r\n\/\/ Liefert aus den Feed die Anzahl Flugzeuge als Json Feed\r\n\r\n\/\/ https:\/\/api.thingspeak.com\/channels\/44177\/feeds\/last.json\r\n\/\/\r\n\/\/ z.B.\r\n\/\/ {\"created_at\":\"2016-05-16T14:05:02Z\",\"entry_id\":80051,\"field1\":\"15\"}\r\n\r\nGroup gFlug\r\n\r\n\/\/ alle 15 Minuten abfragen\r\nString flugzeugeAnzahl \"Anzahl Flugzeuge [%s]\" { http=\"&lt;[https:\/\/api.thingspeak.com\/channels\/44177\/feeds\/last.json:900000:JS(getAnzahlFlugzeuge.js)]\" }\r\n\r\n\/\/ Zeitpunkt der letzten aktualisierung des Feeds\r\nString flugzeugeUpdate \"Letztes Feed update [%s]\"\r\n\r\n\/\/ Zeitpunkt der letzen aktualisierung\r\nString flugzeugeZeitpunkt \"Letzte aktualisierung [%s]\"\r\n\r\n\/\/ Schalter zum aktualisieren der Anzahl der Flugzeuge\r\nSwitch flugzeugeAktualisieren \t\"aktualisieren\" \r\n\r\n<\/pre>\n<p>Eine neue Datei im Transform Verzeichnis mit Namen <strong>getAnzahlFlugzeuge.js<\/strong> mit diesem Inhalt<\/p>\n<pre class=\"lang:default decode:true \" >JSON.parse(input).field1;<\/pre>\n<p>Und noch eine <strong>Flug.rules<\/strong> im Rules Verzeichnis, die bei klick auf den Schalter aktiv wird:<\/p>\n<pre class=\"lang:default decode:true \" >import org.openhab.core.library.types.*\r\nimport org.openhab.model.script.actions.*\r\nimport java.util.Date\r\nimport java.text.SimpleDateFormat\r\n\r\n\/\/\r\n\/\/  Fluginfos f\u00fcr OpenHAB\r\n\/\/\r\n\/\/ (c) 2016 Thomas Wenzlaff http:\/\/www.wenzlaff.info \r\n\/\/\r\n\r\n\/\/------------------------------------------------------------------------\r\n\/\/   Aktualisiert die Fluginfos, d.h die Anzahl der Flugzeuge aus ThingSpeak\r\n\/\/------------------------------------------------------------------------\r\n\r\nrule \"Aktualisiert die Fluginfos von ThingSpeak\"\r\n when\r\n    \t Item flugzeugeAktualisieren received command ON\r\n then    \t \r\n\t\t logInfo(\"Flug\",\"aktualisiere Fluginfos ...\")    \r\n     \r\n         var String result = sendHttpGetRequest(\"https:\/\/api.thingspeak.com\/channels\/44177\/feeds\/last.json\")        \r\n         \/\/ {\"created_at\":\"2016-05-16T16:10:02Z\",\"entry_id\":80076,\"field1\":\"11\"}' by the function '$.field1'\r\n         logInfo(\"Flug\", \"nur das Ergebnis der Abfrage: \" + result)\r\n                                 \t\t\t\r\n\t\t var String anzahl = transform(\"JSONPATH\", \"$.field1\", result)\t\t\r\n\t\t logInfo(\"Flug\", \"Anzahl der Flugzeuge, update auf: \" + anzahl)\r\n\t\t \r\n\t\t var String createdAt = transform(\"JSONPATH\", \"$.created_at\", result)\t\t\r\n\t\t logInfo(\"Flug\", \"Letztes update um: \" + createdAt)\r\n\t\t \r\n\t\t \/\/ aktualisierungs Datum setzen\r\n\t\t flugzeugeUpdate.postUpdate(createdAt)\r\n\t\t \/\/ aktualisiere Anzahl der Flugzeuge\r\n\t\t flugzeugeAnzahl.postUpdate(anzahl)\r\n\t\t \r\n\t\t \/\/ Schalter wieder zur\u00fccksetzen\r\n\t\t flugzeugeAktualisieren.postUpdate(\"OFF\")\r\n\t\t \r\n\t\t  var SimpleDateFormat df = new SimpleDateFormat( \"HH:mm:ss dd.MM.YYYY\" )\r\n          var String timestamp = df.format( new Date() )\r\n\t\t flugzeugeZeitpunkt.postUpdate(timestamp);\r\n\t\t  \r\nend<\/pre>\n<p>Und noch das von mir erstellte Icon des Flugzeuges:<\/p>\n<p><a href=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/flugzeug.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.wenzlaff.de\/wp-content\/uploads\/2016\/05\/flugzeug.png\" alt=\"flugzeug\" width=\"32\" height=\"32\" class=\"aligncenter size-full wp-image-7072\" \/><\/a><\/p>\n<p>Dies super Icon kann kostenlos von <a href=\"https:\/\/github.com\/IT-Berater\/openhab\/tree\/master\/karotz-openhab-icon\">hier<\/a> geladen und frei verwendet werden. Wer kann ein besseres zur freien Verwendung zeichnen?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meine Hausautomatisation die auf einen Raspberry Pi mit Debian Linux l\u00e4uft, arbeitet mit Openhab. Wie k\u00f6nnen da nun die Transpondersignale von den Flugzeugen in Hannover (EDDV) angezeigt werden? Das geht mit der REST Schnitstelle von ThinkSpeak. So sieht die Seite von Openhab aus. Oben wird die aktuelle Anzahl von Flugzeugen und der Zeitpunkt der Daten &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/blog.wenzlaff.de\/?p=7070\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eWie k\u00f6nnen mit einem Raspberry Pi aktuelle Flugdaten (aus HAJ) in OpenHAB angezeigt werden?\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,852,2426,1023,1101],"tags":[1298,1799,2515,1687,2514],"class_list":["post-7070","post","type-post","status-publish","format-standard","hentry","category-anleitung","category-heimautomatisierung","category-openhab","category-raspberry-pi","category-reisen","tag-anzahl","tag-flugzeuge","tag-flugzeuge-abfragen-openhab","tag-openhab","tag-thinkspeak"],"_links":{"self":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/7070","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=7070"}],"version-history":[{"count":1,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/7070\/revisions"}],"predecessor-version":[{"id":23133,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=\/wp\/v2\/posts\/7070\/revisions\/23133"}],"wp:attachment":[{"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7070"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7070"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.wenzlaff.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7070"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}