{"id":10951,"date":"2026-11-03T14:13:28","date_gmt":"2026-11-03T13:13:28","guid":{"rendered":"https:\/\/anb030.de\/a\/?p=10951"},"modified":"2026-11-03T21:13:28","modified_gmt":"2026-11-03T20:13:28","slug":"dein-netatmo-wetter-dein-scriptable-widget","status":"publish","type":"post","link":"https:\/\/anb030.de\/a\/dein-netatmo-wetter-dein-scriptable-widget\/","title":{"rendered":"Dein Wetter, dein Widget: Netatmo-Wetterstation trifft Scriptable-App"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1058\" src=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8626.jpeg\" alt=\"Das Titelbild zeigt ein Netatmo-Modul und ein daneben stehendes transparentes Display auf dem das Widget zu sehen ist. Im Hintergrund sind verschwommen Pflanzen auf einem Holztisch zu erkennen, au\u00dferdem das Icon der Scriptable-App oben links.\" class=\"wp-image-10950\" srcset=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8626.jpeg 1536w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8626-300x207.jpeg 300w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8626-768x529.jpeg 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-left p3 wp-block-paragraph\">Warum ein eigenes Widget? Wem das Home-Bildschirm-Widget der offiziellen Netatmo-App nicht gen\u00fcgt und wer eine schnelle Komplett\u00fcbersicht seiner Wetterdaten sucht, kann sich mit ein wenig JavaScript-Kenntnissen und der App Scriptable ein eigenes Large-Widget erstellen. So zeigt es dann bspw. auf einen Blick die Temperatur, CO\u2082-Konzentration und Luftfeuchtigkeit aller Innenr\u00e4ume, die Au\u00dfentemperatur inklusive Tages-Tiefst- und H\u00f6chstwert sowie den Luftdruck mit Trend und die Batteriest\u00e4nde der Module. Voraussetzung ist eine Netatmo-Wetterstation ab der Version mit Apple Home(Kit), diese mit bis zu drei zus\u00e4tzlichen Innenmodulen und einem Au\u00dfenmodul kompatibel ist. Bei mir steht das Hauptmodul im Wohnzimmer. Weitere Innenmodule befinden sich in der K\u00fcche, im Kinderzimmer und im Schlafzimmer. Das Au\u00dfenmodul ist auf dem Balkon installiert. Die Idee f\u00fcr ein eigenes Widget per Scriptable-Skript hatte ich schon l\u00e4nger. Mir fehlte allerdings der erste Schritt, um sie in die Tat umzusetzen. Schlie\u00dflich bin ich auf <strong><a href=\"https:\/\/github.com\/olf\/scriptable-netatmo-widget\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub<\/a><\/strong> auf ein Scriptable-Widget von Olf gesto\u00dfen. Dieses meldete sich noch mit E-Mail-Adresse und Passwort bei Netatmo an \u2013 ein Verfahren, das Netatmo seit Oktober 2022 nicht mehr zul\u00e4sst.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"has-text-align-left p3 wp-block-paragraph\">Bei der Recherche zu den aktuellen Authentifizierungsrichtlinien von Netatmo habe ich mir Unterst\u00fctzung durch die Claude-KI geholt. Dabei haben wir uns insbesondere mit dem von Netatmo vorgesehenen OAuth-2.0-Verfahren besch\u00e4ftigt. Auf dieser Grundlage habe ich das Skript eigenst\u00e4ndig angepasst und die Authentifizierung vollst\u00e4ndig auf den vorgesehenen Mechanismus mit Refresh-Token umgestellt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1466\" src=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8628.jpeg\" alt=\"Screenshot: So sieht das Scriptable-Widget voll funktionsf\u00e4hig auf dem Home-Bildschirm aus.\" class=\"wp-image-10959\" srcset=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8628.jpeg 1536w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8628-300x286.jpeg 300w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8628-768x733.jpeg 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Was wird ben\u00f6tigt?<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">F\u00fcr den Nachbau reichen f\u00fcnf Schritte und etwa 15-20 Minuten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\ud83c\udd50 Eine <strong><a href=\"https:\/\/www.netatmo.com\/de-de\/smart-weather-station\" target=\"_blank\" rel=\"noreferrer noopener\">Netatmo Wetterstation<\/a><\/strong> als Hauptmodul, optional mit bis zu 3 Innenmodulen oder 1 Au\u00dfenmodul. Ich habe nicht getestet, ob es mit je einem Windmesser und Regensensor pro Hauptmodul funktioniert, da ich solche Ger\u00e4te nicht besitze.<\/li>\n\n\n\n<li>\ud83c\udd51 Den <strong><a href=\"https:\/\/auth.netatmo.com\/de-de\/access\/login\" target=\"_blank\" rel=\"noreferrer noopener\">Netatmo-Haupt-Account<\/a><\/strong>, dem die Station geh\u00f6rt.<\/li>\n\n\n\n<li>\ud83c\udd52 Zugang zu <strong><a href=\"https:\/\/dev.netatmo.com\/apps\/createanapp#form\" target=\"_blank\" rel=\"noreferrer noopener\">Netatmo Developer<\/a><\/strong> mit denselben Account-Daten wie beim Haupt-Account.<\/li>\n\n\n\n<li>\ud83c\udd53 Ein iPhone oder iPad mit der kostenlosen App <strong><a href=\"https:\/\/apps.apple.com\/de\/app\/scriptable\/id1405459188\" target=\"_blank\" rel=\"noreferrer noopener\">Scriptable<\/a><\/strong>.<\/li>\n\n\n\n<li>\ud83c\udd54 Das Widget auf den Home-Bildschirm legen.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Schritt A: Die Netatmo Wetterstation<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Wenn die Standard-<a href=\"https:\/\/anb030.de\/a\/netatmo-wetterstation\/\">Netatmo-Wetterstation<\/a>, die aus einem Haupt- und einem Au\u00dfenmodul besteht, bereits in das eigene SmartHome-Setup integriert ist und eventuell mit Zusatzmodulen aufgewertet wurde, kann mit Schritt 2 fortgefahren werden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Schritt B: Der Netatmo Haupt-Account<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Die Registrierung erfolgt direkt bei der Ersteinrichtung deiner Wetterstation in der Netatmo-App auf dem iPhone oder iPad per E-Mail und Passwort. Dabei wird die Wetterstation automatisch dem Netatmo-Haupt-Account zugeordnet, mit dem man in der App angemeldet ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Schritt C: Netatmo-DEV-App anlegen und Token erzeugen<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Ab hier wird es etwas technischer: Damit das sp\u00e4tere Scriptable-Widget auf die Daten deiner Wetterstation zugreifen kann, erstellst du bei \u201e<strong>Netatmo Developer<\/strong>\u201c eine sogenannte eigene \u201e<strong>App<\/strong>\u201c. \u00dcber diese Verbindung kann das Widget sp\u00e4ter die Messwerte deiner Wetterstation abrufen und darstellen. Dabei erh\u00e4ltst du eine \u201e<strong>Client-ID<\/strong>\u201c und ein \u201e<strong>Client-Secret<\/strong>\u201c und generierst anschlie\u00dfend einen \u201e<strong>Refresh Token<\/strong>\u201c. Diese Zugangsdaten ben\u00f6tigt das Widget-Skript sp\u00e4ter, um auf deine Wetterstation zuzugreifen.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u00d6ffne&nbsp;<strong><a href=\"https:\/\/dev.netatmo.com\/apps\/createanapp\" target=\"_blank\" rel=\"noreferrer noopener\">dev.netatmo.com\/<\/a><\/strong>, melde dich mit deinem Netatmo-Haupt-Account an und lege eine neue \u201e<strong>App<\/strong>\u201c bei [<strong>My apps &gt; Create<\/strong>] an.<\/li>\n\n\n\n<li>Vergib einen Namen im Feld [app name], bspw. \u201e<strong>NetMoCloud<\/strong>\u201c, <\/li>\n\n\n\n<li>Schreibe einen Satz als Beschreibung [<strong>description<\/strong>] ein, etwa das: \u201e<em>I&#8217;m working on a private iOS scriptable widget project.<\/em>\u201c<\/li>\n\n\n\n<li>Trage deinen eigenen Namen als Datenschutz-Kontakt im Feld [<strong>data protection officer name<\/strong>] ein sowie deine E-Mail-Adresse bei [<strong>data protection officer email<\/strong>].<\/li>\n\n\n\n<li>Die Felder [<strong>website, company <\/strong>und<strong> company website<\/strong>] k\u00f6nnen leer bleiben.<\/li>\n\n\n\n<li>Setze das H\u00e4kchen \u201e\u2611\ufe0e\u201c beim Feld [<strong>I agree to the terms and conditions<\/strong>] und klicke anschlie\u00dfend auf [<strong>Save<\/strong>].<\/li>\n\n\n\n<li>Die Seite l\u00e4dt sich neu. <\/li>\n\n\n\n<li>Hier d\u00fcrfen die Felder [<strong>redirect URI<\/strong> und <strong>webhook URI<\/strong>] im Bereich \u201eApp Technical Parameters\u201c ebenfalls leer bleiben.<\/li>\n\n\n\n<li>Die beiden Felder [<strong>Client ID<\/strong> und <strong>Client Secret<\/strong>] mit ihren \u201e<strong>Zeichenfolgen<\/strong>\u201c sind sehr wichtig. Kopiere sie f\u00fcr den sp\u00e4teren Gebrauch z. B. in deine Apple Notizen-App.<\/li>\n\n\n\n<li>W\u00e4hle im Bereich \u201e<strong>Token generator<\/strong>\u201c im Feld [<strong>Choose scopes<\/strong>] den Eintrag<code> \u201e<strong>read_station<\/strong><\/code>\u201c&nbsp;und klicke anschlie\u00dfend auf \u201e<strong>Generate Token<\/strong>\u201c. <\/li>\n\n\n\n<li>Es erscheinen jeweils eine \u201e<strong>Zeichenfolgen<\/strong>\u201c im Feld [<strong>Access Token<\/strong>] und [<strong>Refresh Token<\/strong>]. Ben\u00f6tigt wird nur der \u201e<strong>Refresh Token<\/strong>\u201c, kopiere diesen ebenfalls in die Apple Notizen-App f\u00fcr sp\u00e4ter. Den Access Token holt sich das Script in Anschluss selbst.<\/li>\n\n\n\n<li>Es erscheint ein neues Fenster! Erlaube der sogenannten \u201eApp\u201c zum Schluss mit einem Klick auf die blaue Schaltfl\u00e4che \u201e<strong>JA, ICH AKZEPTIERE<\/strong>\u201c noch den Datenzugriff auf deine smarte Wetterstation! Anschlie\u00dfend landet man wieder in der \u00dcbersicht [My apps]. Das war\u2019s!<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Halte die drei Werte [<strong>Client ID<\/strong>, <strong>Client Secret<\/strong> und <strong>Refresh Token<\/strong>] auf deinem iPhone wie bereits erw\u00e4hnt z. B. in der Notizen-App auf deinem iPhone f\u00fcr die sp\u00e4tere Nutzung bereit. <strong><em>Ver\u00f6ffentliche sie nirgends und l\u00f6sche die Notiz nach dem Einrichten gegebenenfalls!<\/em><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Schritt D: Scriptable-Skript einf\u00fcgen und einrichten<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Das ben\u00f6tigte \u201eNetMoCloud\u201c-Skript findest du weiter unten im Artikel. Zur Info: Deine Zugangsdaten aus der Notizen-App deines iPhones werden ebenfalls ben\u00f6tigt, diese werden nach der Eingabe in der Apple-Keychain gespeichert und werden dann nicht mehr ben\u00f6tigt.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Installiere die <strong><a href=\"https:\/\/apps.apple.com\/de\/app\/scriptable\/id1405459188\" target=\"_blank\" rel=\"noreferrer noopener\">Scriptable-App<\/a><\/strong> aus dem App Store, sofern du dies noch nicht getan hast, und lege ein neues Skript mit dem Namen \u201e<strong>NetMoCloud<\/strong>\u201c an.<\/li>\n\n\n\n<li>F\u00fcge den kompletten Skript-Code von unten ein.<\/li>\n\n\n\n<li>Starte das Script einmal in der Scriptable-App per Play-Button \u201e\u25ba\u201c. Ein Popup-Fenster fragt nach \u201eLarge-Vorschau\u201c und den \u201eZugangsdaten\u201c, w\u00e4hle letzteres und trage die drei Werte (<strong>Client ID<\/strong>, <strong>Client Secret<\/strong> und <strong>Refresh Token<\/strong>) aus Schritt \u201eC\u201c ein.<\/li>\n\n\n\n<li>Danach erscheint die \u201e<strong>Large-Vorschau<\/strong>\u201c und man sieht das Vorschau-Widget in seiner vollen Pracht.<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Im Hintergrund l\u00e4uft nun Folgendes: <em>Die drei Schl\u00fcssel-Werte liegen jetzt im iOS-Keychain (<a href=\"https:\/\/de.wikipedia.org\/wiki\/Schl%C3%BCsselbund_(Software)\" target=\"_blank\" rel=\"noreferrer noopener\">Wiki<\/a>). L\u00e4uft der Access Token ab, holt sich das Skript mit dem Refresh Token einen neuen. Netatmo liefert dabei jedes Mal auch einen neuen Refresh-Token, den das Skript sofort speichert. Zus\u00e4tzlich sch\u00fctzt sich das Skript vor typischen Fehlern. Ein neuer Refresh-Token wird nur gespeichert, wenn Netatmo einen g\u00fcltigen Token liefert und im Keychain noch der Token steht, mit dem die Anfrage gesendet wurde. So \u00fcberschreiben sich Widget und App nicht gegenseitig, wenn sie gleichzeitig laufen. Die Meldung \u201eToken ung\u00fcltig\u201d erscheint nur bei einer eindeutigen Ablehnung durch Netatmo; vor\u00fcbergehende Serverfehler l\u00f6sen diese nicht aus. Im Zwischenspeicher sind nur die angezeigten Messwerte enthalten, jedoch keine Zugangsdaten, Ger\u00e4tekennungen oder Standortdaten.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Schritt E: Das Widget auf den Home-Bildschirm legen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das Widget funktioniert wie jedes andere Scriptable-Widget und braucht die gro\u00dfe \u201eGr\u00f6\u00dfe \/ Large\u201c.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Halte auf dem Home-Bildschirm eine freie Stelle gedr\u00fcckt bis <strong>alles wackelt<\/strong> (engl.: Wiggle-Mode). Tippe oben links auf das \u201e<strong>Plus<\/strong>\u201c- oder \u201e<strong>Pinsel<\/strong>\u201c-Symbol und w\u00e4hle aus dem Men\u00fc \u201e<strong>Widget hinzuf\u00fcgen<\/strong>\u201c.<\/li>\n\n\n\n<li>W\u00e4hle \u201e<strong>Scriptable<\/strong>\u201c aus der Widget-Galerie und die Gr\u00f6\u00dfe \u201e<strong>Large<\/strong>\u201c ganz rechts, anschlie\u00dfend \u201e<strong>Widget hinzuf\u00fcgen<\/strong>\u201c.<\/li>\n\n\n\n<li>Tippe auf das <strong>noch wackelnde<\/strong> neue gro\u00dfe Widget, w\u00e4hle bei \u201eScript [<strong>Ausw\u00e4hlen<\/strong>]\u201c dein Skript \u201e<strong>NetMoCloud<\/strong>\u201c.<\/li>\n\n\n\n<li><strong>Optional<\/strong> kann bei \u201eParameter [<strong>Text<\/strong>]\u201c das Wort <strong>light<\/strong> oder <strong>dark<\/strong> eingetragen werden, wenn man den Hell-\/Dunkelmodus (engl.: Light-\/DarkMode) fest pr\u00e4feriert haben m\u00f6chte. Wer das Feld leer l\u00e4sst, beh\u00e4lt den automatischen hell\/dunkel Wechsel bei.<\/li>\n\n\n\n<li>Best\u00e4tige das ganze mit einem <strong>Fingertap<\/strong> <strong>au\u00dferhalb<\/strong> des <strong>Widgets<\/strong>. <strong>Fertig<\/strong>!<\/li>\n<\/ol>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Das Skript bittet iOS, das Widget etwa alle 10 bis 15 Minuten zu aktualisieren. Wann es das Widget tats\u00e4chlich neu l\u00e4dt, entscheidet iOS allerdings selbst, je nach Faktoren wie bspw. der Akku-Ladung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Das Scriptable-Widget-Skript<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Ihr k\u00f6nnt das Skript einfach aus dem Textfeld kopieren (27 KB) oder bequem \u00fcber <strong><s>GitHub<\/s><\/strong> herunterladen.<\/p>\n\n\n\n<div style=\"text-align:center;\">\n  <iframe loading=\"lazy\"\n    src=\"https:\/\/anb030.de\/dl\/NetMoCloud.txt\"\n    height=\"240\"\n    width=\"640\"\n    style=\"width:100%; max-width:640px; border:1px solid #ccc;\">\n  <\/iframe>\n  <p>\n    <button\n      onclick=\"copyNetMoCloud()\"\n      style=\"padding:10px 20px; cursor:pointer;\">\n      NetMoCloud.js kopieren\n    <\/button>\n  <\/p>\n  <script>\n    async function copyNetMoCloud() {\n      try {\n        const response = await fetch(\n          'https:\/\/anb030.de\/dl\/NetMoCloud.js'\n        );\n        if (!response.ok) throw new Error('Datei nicht gefunden');\n        const code = await response.text();\n        await navigator.clipboard.writeText(code);\n        alert('NetMoCloud.js wurde kopiert!');\n      } catch (error) {\n        alert('Kopieren fehlgeschlagen: ' + error.message);\n      }\n    }\n  <\/script>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Das Widget auf einen Blick<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Das Widget besteht aus sechs Kacheln und passt sich automatisch dem Hell- oder Dunkelmodus von iOS an. Alternativ l\u00e4sst sich auch ein fester Darstellungsmodus einstellen per Widget-Parameter. Die Raumkacheln zeigen die Temperatur, den CO\u2082-Wert und die Luftfeuchtigkeit an. Farbige Punkte und Werte erleichtern die Einsch\u00e4tzung der Luftqualit\u00e4t (bis 999ppm \ud83d\udfe2, 1000-1200ppm \ud83d\udfe0, ab 1201ppm \ud83d\udd34) und der Luftfeuchtigkeit (von 40-60% \ud83d\udfe2, bei weniger oder mehr \ud83d\udd34). Die Balkonkachel zeigt die aktuelle Au\u00dfentemperatur, die aktuelle Luftfeuchtigkeit sowie die Tagesh\u00f6chst- und -tiefsttemperatur an. Die Luftdruckkachel gibt den aktuellen Wert in hPa samt farbigem Trend an. Ein Batteriesymbol informiert zus\u00e4tzlich \u00fcber den Ladezustand der Module (\u00fcber 25% \ud83d\udd0b, unter 25% \ud83e\udeab), w\u00e4hrend das netzbetriebene Hauptmodul mit einem Steckersymbol gekennzeichnet ist. Fehlende Werte werden mit einem \u201eN\/A\u201d-Symbol angezeigt, nicht erreichbare Module als \u201eoffline\u201d. Werden l\u00e4nger als 40 Minuten keine Daten \u00fcbermittelt, erscheint die Temperatur grau und der Zeitpunkt der letzten Aktualisierung samt Hinweis wird oben rechts als farbiger Badge eingeblendet. Das Widget aktualisiert sich etwa alle zehn Minuten, wobei iOS den tats\u00e4chlichen Aktualisierungszeitpunkt selbst bestimmt. \u00c4nderungen am Skript k\u00f6nnen daher verz\u00f6gert auf dem Home-Bildschirm erscheinen. In der Scriptable-App l\u00e4sst sich das Ergebnis jederzeit direkt \u00fcber die \u201eLarge-Vorschau\u201c kontrollieren.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Ein zweites Widget auf dem iPhone des Partners ben\u00f6tigt eine zweite Netatmo-DEV-App<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Um das Widget auch auf einem zweiten iPhone oder iPad nutzen zu k\u00f6nnen, muss zwingend eine zweite Netatmo-DEV-App mit eigenen Zugangsdaten erstellt werden. Grund: Man sollte denselben Refresh-Token nicht auf beiden Ger\u00e4ten verwenden, weil Netatmo bei jeder Verl\u00e4ngerung einen neuen Token vergibt und den alten in der Regel ung\u00fcltig macht. Wenn ein Ger\u00e4t den Token erneuert hat, passt der gespeicherte Wert auf dem anderen Ger\u00e4t nicht mehr und dessen Widget meldet einen Fehler.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lege auf dev.netatmo.com mit demselben Netatmo-Haupt-Account eine zweite DEV-App an, zum Beispiel \u201eNetMoCloud2\u201c. Erzeuge dort eigene Client ID, Client Secret und Refresh Token. Trage die drei Werte der zweiten DEV-App auf dem zweiten iPhone ein.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">So hat jedes Handy eine eigene Token-Kette, und beide lesen dieselbe Station aus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Wichtig zu wissen: Die Netatmo-Schnittstelle kann gelegentlich Schluckauf haben<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Auch die Netatmo-Schnittstelle im DEV-Bereich kann gelegentlich einen Schluckauf haben. Dabei kann es vorkommen, dass alle Module pl\u00f6tzlich als \u201eoffline\u201d angezeigt werden, obwohl die Station selbst funktioniert und die originale Netatmo-App aktuelle Werte liefert. Die Schnittstelle antwortet zwar ganz normal (HTTP 200), meldet die Station aber als nicht erreichbar, sodass vor\u00fcbergehend keine aktuellen Messwerte geliefert werden. In einem solchen Fall kann es etwa ein bis f\u00fcnf Stunden dauern, bis sich die Netatmo-Cloud wieder mit der Station synchronisiert hat und die fehlenden Daten nachgeladen wurden. Anschlie\u00dfend funktioniert das Widget wieder von selbst. Das Eingeben neuer Zugangsdaten oder das Neuinstallieren des Skripts bringt in dieser Situation nichts. Sollten also St\u00f6rungen bemerkt werden, wartet erst einmal ab, bevor ihr handelt. Manchmal kann es n\u00e4mlich zu Synchronisationsproblemen zwischen der Wetterstation zur Netatmo-Cloud zum DEV-App-Token kommen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"1469\" src=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8802.jpeg\" alt=\"Screenshot: Beispiel Fehlermeldung mit \u201eNetatmo-St\u00f6rung-Badge\u201c und Zeitstempel in der Widget Kopfzeile. \" class=\"wp-image-11031\" srcset=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8802.jpeg 1536w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8802-300x287.jpeg 300w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8802-768x735.jpeg 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Wenn die Cloud-Verbindung schweigt: Dann kl\u00e4rt ein Status-Badge im Widget auf<\/h2>\n\n\n\n<p class=\"has-text-align-left p1 wp-block-paragraph\">Das Widget holt seine Daten \u00fcber den DEV-App-Token aus der Netatmo-Cloud. F\u00e4llt die Verbindung aus, werden der letzte gespeicherte Stand sowie graue Temperaturen und ein grauer Luftdruck angezeigt. In der Kopfzeile oben rechts im Widget erscheint dann ein farbiges Badge mit der Ursache und der Uhrzeit (z.B. 19:41 Uhr) der Daten.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1536\" height=\"855\" src=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8679.jpeg\" alt=\"Tabelle mit m\u00f6glichen Fehlermeldungen und L\u00f6sungen.\" class=\"wp-image-11011\" srcset=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8679.jpeg 1536w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8679-300x167.jpeg 300w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/10\/img_8679-768x428.jpeg 768w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"has-text-align-left p1 wp-block-paragraph\">Wenn noch kein gespeicherter Stand vorliegt, erscheint bei einer Verbindungsst\u00f6rung eine Fehlermeldung. Liefert Netatmo eine Station ohne Messwerte, werden die Kacheln als \u201eOffline\u201d angezeigt und oben erscheint die Meldung \u201eKeine Daten\u201d. Der gespeicherte Stand wird dabei nie mit leeren Werten \u00fcberschrieben. Liefert Netatmo statt einer g\u00fcltigen Antwort bspw. eine HTML-Fehlerseite, wird \u201eNetatmo-St\u00f6rung\u201c angezeigt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Das Widget-Skript an die eigene Station anpassen<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Alle Einstellungen k\u00f6nnen im oberen Bereich des Skripts direkt vorgenommen werden. Die Modulnamen stammen bspw. aus der originalen Netatmo-App. Sollten deine R\u00e4ume dort anders lauten, kannst du die Bezeichnungen in den ersten beiden Zeilen des Skripts entsprechend anpassen. Wenn dir das zu kompliziert ist, kannst du das Skript auch in einen KI-Chatbot wie z. B. Claude von Anthropic hineinkippen und es nach deinen Bed\u00fcrfnissen anpassen lassen.<\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Wichtig: Achte dabei unbedingt darauf, keine Zugangsdaten und sonstige vertrauliche Informationen zu teilen. Diese haben in einem KI-Chat nichts zu suchen!<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Echte lokale Werte ohne Cloud liefert nur Apple Home(Kit)<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Als lokale (Not-)L\u00f6sung nutze ich zus\u00e4tzlich einen Kurzbefehl der \u201eKurzbefehle\u201c-App von Apple. Dieser holt die Werte direkt aus dem eigenen (Smart)Home-Bereich und zeigt sie in einem Fenster an, das dem Scriptable-Widget sehr \u00e4hnlich ist. Er ben\u00f6tigt lediglich das Heim-WLAN, nicht die Netatmo-Cloud. Selbst bei einem gekappten Internet zur Au\u00dfenwelt am Router oder bei Cloud-St\u00f6rungen liefert Apple Home(Kit) die Werte weiter, jedenfalls solange die Hauptstation im Heimnetz funkt. Ich habe die verschiedenen Wege in einem l\u00e4ngeren Zeitraum alle durchgespielt und somit getestet, um herauszufinden, welche sich am besten eignen. Die Grundidee samt Kurzbefehl findet ihr in meinem fr\u00fcheren Artikel \u201e<strong><a href=\"https:\/\/anb030.de\/a\/offline-netatmo-cloud\/\">Die Netatmo-Cloud ist offline? \u2026<\/a><\/strong>\u201c. Zur besseren Unterscheidung hei\u00dft das Scriptable-Widget \u201eNetMoCloud\u201d (Daten aus der Netatmo-Cloud) und der Kurzbefehl \u201eNetMoLokal\u201d (Daten lokal \u00fcber HomeKit).<\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Der Unterschied zur Cloud-Variante: Apple Home(Kit) liefert nur eine Momentaufnahme, d. h. es werden keine Verlaufsdaten oder Grafiken angezeigt, auch kein Tages-Tief und -Hoch sowie kein Trendwert. Das reicht als Notl\u00f6sung v\u00f6llig aus, wenn z. B. kein Internet zur Au\u00dfenwelt m\u00f6glich ist, die Wetterstation aber noch in deinem Heim-WLAN h\u00e4ngt und funkt. Voraussetzung ist, dass die Wetterstation Apple Home(Kit) unterst\u00fctzt und im Zusammenspiel mit dem iPhone in Apple Home eingebunden ist und im selben Heim-WLAN h\u00e4ngt. Ergo: Ohne WLAN, oder z.B. im Flugmodus, werden keine Werte angezeigt.<\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Nur diese vier folgenden Werte k\u00f6nnen von Apple Home(Kit) aktuell lokal abgerufen werden:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Luftqualit\u00e4tssensor <\/li>\n\n\n\n<li>Feuchtigkeits <\/li>\n\n\n\n<li>Temperatursensor <\/li>\n\n\n\n<li>Kohlendioxidsensor (Entdeckt\/Spiegel)<\/li>\n<\/ul>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Eine Schw\u00e4che hat die Kurzbefehle-App: Leider bricht der \u201eNetMoLokal\u201c-Kurzbefehl ab, sobald ein einzelnes Modul nicht antwortet, etwa weil es neu startet oder die Batterie leer ist. Die Kurzbefehle-App kennt auch keine Fehlerbehandlung und auch kein \u201eWenn\u201c-Baustein, der ein Modul \u00fcberspringt, das keine Werte liefert. Bei mir half es, das Offline-Modul neu zu starten (Batterie kurz herausnehmen, wieder einsetzen und 3-4 Minuten warten). Eine robustere L\u00f6sung ist je ein kleiner Kurzbefehl pro Raum, so f\u00e4llt dann nur der betroffene Raum aus, allerdings gibt es mit dieser L\u00f6sung keine sch\u00f6ne Gesamt\u00fcbersicht.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.icloud.com\/shortcuts\/01a85dd1298f42978f5cdf150b47fd84\"><strong>Neuer Kurzbefehl Okt. 2026 -&gt; Home(Kit)<\/strong><br \/><strong>\u201eNetMoLokal\u201c<\/strong><\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Wie ihr diesen Kurzbefehl einrichtet oder individuell nachbaut, um eure lokalen Messwerte abzurufen, erfahrt ihr \u2013 wie bereits oben erw\u00e4hnt \u2013 in meinem damaligen Blogartikel \u201e<strong><a href=\"https:\/\/anb030.de\/a\/offline-netatmo-cloud\/\">Die Netatmo-Cloud ist offline? \u2026<\/a><\/strong>\u201c.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1535\" height=\"1536\" src=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8849.jpeg\" alt=\"Screenshot: Darstellung der Lokalen Apple Home(Kit)-Werte von der Wetterstation. \" class=\"wp-image-11038\" srcset=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8849.jpeg 1535w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8849-300x300.jpeg 300w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8849-150x150.jpeg 150w, https:\/\/anb030.de\/a\/wp-content\/uploads\/2026\/11\/img_8849-768x769.jpeg 768w\" sizes=\"auto, (max-width: 1535px) 100vw, 1535px\" \/><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading has-text-align-left\">Hinweise und Haftung:<\/h2>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Bitte beachte, dass das Skript ausschlie\u00dflich mit meiner eigenen Netatmo-Station getestet wurde. Die Nutzung erfolgt auf eigene Verantwortung.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"has-text-align-left wp-block-paragraph\">Ich bin ein \u201eEin-Personen-Betrieb\u201c, arbeite hauptberuflich im Gesundheitswesen und betreibe diese Seite als Hobbyprojekt in meiner Freizeit. Wenn Ihnen meine Arbeit gef\u00e4llt (die Beitr\u00e4ge, die Hintergrundbilder, mein allgemeines Auftreten \u2026 einfach alles), so d\u00fcrfen Sie gerne in Erw\u00e4gung ziehen, mir eine kleine Spende f\u00fcr zum Beispiel einen Caf\u00e9 \u2615\ufe0f per&nbsp;<strong><a href=\"https:\/\/www.paypal.com\/donate\/?hosted_button_id=TDP5X7EJD4SPQ\" target=\"_blank\" rel=\"noreferrer noopener\">PayPal.com<\/a><\/strong>&nbsp;zukommen zu lassen! Ihre Beteiligung ist unglaublich wertvoll und tr\u00e4gt viel zur Unterst\u00fctzung und Erhalt dieser werbefreien Seite bei!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/www.paypal.com\/donate\/?hosted_button_id=TDP5X7EJD4SPQ\" style=\"border-radius:10px;background-color:#00b0ba\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/anb030.de\/dl\/32paypal.png\" alt=\"PayPal Logo\" style=\"height: 24px; vertical-align: middle; margin-right: 5px\" \/> Unterst\u00fctzen<\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"text-align: center;\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/anb030.de\/a\/wp-content\/uploads\/2021\/04\/img_5369.png\" alt=\"Author Bild\" width=\"60\" height=\"60\" style=\"object-fit: cover;\" \/>\n  <p style=\"margin-top: 8px;\"> Andr\u00e9 K. ist der Autor dieses Blogartikels. <\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Warum ein eigenes Widget? Wem das Home-Bildschirm-Widget der offiziellen Netatmo-App nicht gen\u00fcgt und wer eine schnelle Komplett\u00fcbersicht seiner Wetterdaten sucht, kann sich mit ein wenig JavaScript-Kenntnissen und der App Scriptable ein eigenes Large-Widget erstellen. So zeigt es dann bspw. auf einen Blick die Temperatur, CO\u2082-Konzentration und Luftfeuchtigkeit aller Innenr\u00e4ume, die Au\u00dfentemperatur inklusive Tages-Tiefst- und H\u00f6chstwert [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[488,387,469],"tags":[392,416,437,443,388,390,389,409,501,466,396,436,408,500],"class_list":["post-10951","post","type-post","status-publish","format-standard","hentry","category-ipad","category-iphone_ios","category-smart-home","tag-app","tag-apple","tag-github","tag-homekit","tag-ios","tag-ipad","tag-iphone","tag-kurzbefehle","tag-netatmo","tag-netzwerk","tag-online","tag-scriptable","tag-shortcuts","tag-widget","gallery-content-unit"],"_links":{"self":[{"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/posts\/10951","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/comments?post=10951"}],"version-history":[{"count":82,"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/posts\/10951\/revisions"}],"predecessor-version":[{"id":11050,"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/posts\/10951\/revisions\/11050"}],"wp:attachment":[{"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/media?parent=10951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/categories?post=10951"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/anb030.de\/a\/wp-json\/wp\/v2\/tags?post=10951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}