WP Plugin für NetAtmo #5 – Eigentlich fertig, trotzdem nochmal von vorne

By | 2016-02-04

Eigentlich funktioniert die Version 1.0.6 von NetAtmoSphere einwandfrei, oder so. Irgendwann (ich weiß leider nicht mehr genau wann) funktionierte der Synch der Messwerte nicht mehr. Außerdem bekam ich ein Mail von NetAtmo (um über die SDK auf die Daten zugreifen zu können, muss man eine App bei NetAtmo erstellen) dass ich bitte keine direkten Zugriffe auf die Daten mittels Mail und Passwort machen soll und dass diese Möglichkeit im März 2016 abgedreht wird. Oha!

Inzwischen hatte ich schon ein wenig weitere Erfahrung mit einem Plugin für unsere Highlander Sports League sammeln können und erkannte schnell, dass dieses Plugin so nicht bleiben kann.

Mehrere Guidelines im Kopf ergab sich diese Ordnerstruktur:

  • netatmosphere
    • admin
      • css
      • js
      • tpl
    • css
    • inc
      • Commons
      • Data
      • Shortcodes
      • Tables
      • Tools
      • Widgets
    • js
    • lang
    • lib
      • Netatmo-API
    • tpl

Im gleichen Zug wurden die Dateibenennungen auch angepasst an den WordPress Guide. Außerdem hab ich (fast alles an Code) in Klassen gepackt und den autoloader verwendet. Das war recht viel Arbeit eigentlich, bis wieder die selbe Funktionalität vorhanden war wie zuvor. Aber jetzt ist die Struktur leicht durchblickbar. Langfristig ein riesen Vorteil!

Zeitgleich war dann die Umstellung auf OAuth, zum Verbindungsaufbau zum NetAtmo-Server. Etwas tricky, weil diese Methode 4-5x ping-pong zwischen dem NetAtmo und meinem Server erfordert. Aber das Beispiel in der aktualisierten SDK war sehr hilfreich. Einzig ein Punkt hat mich blockiert und somit fast zur Verzweiflung gebracht: Vor laaanger Zeit habe ich scheinbar bei der NetAtmo App als Callback etwas eingetragen,04 dadurch schlug der Auth immer fehl, weil der Return URL nicht mit dem Callback übereingestimmt hat. Das hat mich leider Stunden gekostet, aber gemeinsam mit dem Support habe ich das lösen können.

Außerdem ist es etwas ungeschickt, wie ich die Zeitstempel gespeichert hab (< 1.0.6) nämlich im lokalen Format für Wien. d.h. wenn man die WordPress Seite mit neuer Zeitzone ändern will, ist das etwas blöd. Daher habe ich alle gespeicherten Datum/Zeiten auf UTC umgestellt und blos die Anzeige erfolgt im lokalen Format in der in WordPress eingestellten Zeitzone. Was leider ein Löschen aller bisherigen Messwerte notwendig machte.

Alle weiteren Features sind nicht von sonderlicher Bedeutung, um hier erwähnt zu werden. Sollte mir doch etwas herausragendes einfallen, werde ich es natürlich nicht für mich behalten… 🙂 in diesem Sinne