Netatmo Modulchaos: Nach Jahren gelöst

Kürzlich konnte ich ein langjähriges Problem mit einer Netatmo Weather Station-Installation eines Bekannten lösen.

Auf Grund der Beschränkung der Anzahl Innenmodule pro Basisstation betreibt er zwei Basisstationen.

Die Temperaturwerte der Module werden von einem Script über die Netatmo API abgefragt und dann auf einem Dashboard angezeigt.

Das Problem: Ein bestimmtes Innenmodul fehlte bisher in den API-Daten, obwohl dessen Werte in der Netatmo App problemlos angezeigt werden. Anstelle der Stationsdaten wurde im Dump der PHP-Variable mit den API-Nutzdaten null angezeigt, umgeben von den Daten anderer Innenmodule.

Vor einigen Wochen entschied ich mich, dem Problem ein für allemal auf den Grund zu gehen — und es zu lösen. Nach längerem hin- und her mit dem Netatmo Support gab mir Leslie letzte Woche den entscheidenden Hinweis: Er wies mich darauf hin, dass ein Innenmodul an beiden Basisstationen angemeldet sei. Aus Sicht der Entwickler könnte dies das Problem verursachen.

Darauf angesprochen erwähnte der Bekannte, dass er seinerzeit das Modul zuerst an der einen Basisstation angemeldet hatte, sich dann aber anders überlegt und es dann mit der anderen Basisstation verbunden hatte.

Bemerkung am Rande: Komisch, dass Netatmo sowas überhaupt zulässt (zuliess?). Meine Vermutung: In der Datenbank wird von einer Basisstation auf die Modul IDs verlinkt, weshalb verschiedene Basisstationen auf dasselbe Modul linken können (n:1). Besser wäre es umgekehrt: Ein Modul sollte zu einer Basisstation gelinkt sein (1:1).

In der iOS App wurde das Geister-Innenmodul nicht angezeigt. Im Web GUI hingegen gab pro Basisstation je ein Modul-Eintrag mit einem Fragezeichen, doch in den Einstellungen wurde das Modul dann doch nicht aufgelistet.

Schlussendlich entschied ich mich für einen anderen Weg: Ich lud die App NetatmoModulesManager.app herunter. Es handelt sich um eine macOS App, die man mit einer Google-Suche nicht einfach so zum Download findet — deshalb hier die Wegbeschreibung:

Wenn man auf dieser Seite startet und den Link No smartphone? No tablet? Click here for an alternative installation using your computer. klickt, loggt man sich in Netatmo ein und es wird einem dann der Download-Link präsentiert (meinem Verständnis nach setzt dies voraus, dass man bereits eine Weather Station in Betrieb hat?). Der Direktlink lautet derzeit (4. April 2021) fw.netatmo.net/NetatmoModulesManager_MacOS.dmg.

Nach der Installation verbanden wir nacheinander die zwei Basisstationen mit dem Mac (Screenshots der Oberfläche). Hierzu starteten wir zuerst die App, klickten auf Weiter und schlossen die Basisstation erst an, als wir dazu aufgefordert wurden. Nach 10-15 Sekunden warten erschien die Basisstation dann auf dem Bildschirm. Als erstes wurde ein Firmware-Update durchgeführt, anschliessend startete die Basisstation neu und uns wurde in der App die Liste der Aussen- und Innenmodule angezeigt.

Leider entsprachen die Namen der Module hier nicht dem Web GUI. Ich notierte deshalb die Modul ID in der App, und verglich diese mit dem Web GUI um sicher zu gehen, dass ich die richtigen Modulnamen notieren konnte.

Schlussendlich fand ich den Übeltäter; d.h. ein Modul, dessen ID bei beiden Basisstationen aufgeführt wurde. In der App löschte ich das richtige Modul von der richtigen Basisstation — und die App stürzte ab. Beim zweiten Versuch gelang es tatsächlich, das Modul zu löschen.

Seither ist das API-Problem gelöst.