Nach dem Flashen des Images ist die Steuerung schon weitgehend eingerichtet: Sensoren, Rules und Controller sind vorbereitet. Einzurichten sind nur noch die Dinge, die für jede Station anders sind: das WLAN, Uhrzeit und Standort und die eigenen Einstellungen in rules1. Die Reihenfolge ist wichtig, denn alles nach dem WLAN wird über die Weboberfläche der Steuerung eingestellt.

Schritt 1: WLAN einrichten

Die Steuerung wird mit Spannung versorgt. Solange sie kein WLAN kennt, baut der ESP32 einen eigenen WLAN-Hotspot weatherlox auf, mit dem man sich nun mit dem Handy oder Laptop verbindet. Das Passwort für den Hotspot lautet ebenfalls weatherlox.

Die Einrichtungsseite des Hotspots öffnet sich normalerweise von selbst. Ist das nicht der Fall, ist sie im Browser unter http://192.168.4.1 erreichbar. In der Liste das eigene WLAN auswählen und ganz ans Ende der Liste scrollen. Dort bei Password das Passwort des eigenen WLANs eingeben und auf Connect klicken. Der ESP32 startet neu und verbindet sich mit dem WLAN.

Danach ist die Steuerung unter http://weatherlox erreichbar. Klappt die Namensauflösung nicht, muss man im Router nachschauen, welche IP-Adresse die Steuerung bekommen hat, und diese im Browser aufrufen. Angemeldet wird mit dem Benutzer weatherlox und dem Passwort weatherlox. Das Passwort sollte danach im Reiter Config unter Admin Password geändert und mit Submit gespeichert werden.

Der Hotspot schließt sich nach einiger Zeit ohne Aktivität wieder. In diesem Fall die Steuerung einfach neu starten, indem man sie kurz von der Spannung trennt.

Wurde die Firmware selbst gebaut, werden jetzt Konfiguration und Rules eingespielt, wie in 1. Firmware Erstinstallation unter „Schritt 8: Konfiguration und Rules einspielen“ beschrieben. Mit dem fertigen Image ist das nicht nötig.

Schritt 2: Uhrzeit einstellen

Die Steuerung holt sich die Uhrzeit aus dem Internet (NTP). Die richtige Uhrzeit ist wichtig: Um Mitternacht beginnen die Tageswerte von vorn, Sonnenstand und Sonnenscheindauer hängen von der Uhrzeit ab und die automatischen Updates der Rules laufen nachts zwischen 3 und 4 Uhr.

Die Einstellungen finden sich im Reiter Tools unter Advanced. Für Deutschland ist alles schon voreingestellt:

  • Time Source: Use NTP ist angehakt, als NTP Hostname ist de.pool.ntp.org eingetragen.
  • DST Settings: Die Sommerzeit beginnt am letzten Sonntag im März (2 → 3 Uhr) und endet am letzten Sonntag im Oktober (3 → 2 Uhr), DST ist angehakt.
  • Timezone Offset (UTC +) unter Location Settings: 60 Minuten (Mitteleuropäische Zeit).

Steht die Station in einer anderen Zeitzone, müssen Timezone Offset und die Sommerzeit-Regeln angepasst werden. Ob die Uhrzeit stimmt, zeigt der Reiter Main unter Local Time.

Schritt 3: Koordinaten eintragen

Auf derselben Seite wird unter Location Settings der Standort der Station eingetragen: Latitude (Breitengrad) und Longitude (Längengrad) in Grad mit Nachkommastellen, Norden und Osten positiv. Die Koordinaten findet man zum Beispiel, indem man in Google Maps mit der rechten Maustaste auf den Standort klickt. Voreingestellt ist jeweils 0.

Die Koordinaten werden gebraucht für:

  • Sonnenstand und Sonnenscheindauer
  • die Werte von Open-Meteo, die die Station nicht selbst messen kann: Niederschlagswahrscheinlichkeit, Sichtweite, Verdunstung, Wettercode und Bewölkung
  • die automatische Stationshöhe, wenn in rules1 keine Höhe eingetragen ist (siehe Schritt 4)

Für die beiden letzten Punkte übermittelt die Steuerung die Koordinaten an Open-Meteo. Gespeichert werden Uhrzeit und Standort mit Submit ganz unten auf der Seite.

Schritt 4: Einstellungen in rules1

Die Rules berechnen aus den Messwerten die Wetterdaten. Die eigenen Einstellungen stehen ganz am Anfang von rules1, zwischen „Set some important variables manually“ und „No changes beyond this line!“. Unterhalb dieser Zeile wird nichts geändert. rules1 wird von den automatischen Updates nie überschrieben, die Einstellungen bleiben also erhalten.

Dazu im Reiter Rules oben Rules Set 1 wählen.

Die Einstellungen im Einzelnen (Dezimalzahlen mit Punkt):

  • stationheight: Höhe des Luftdrucksensors über dem Meeresspiegel in Metern. Mit 0 holt die Steuerung die Geländehöhe am eingetragenen Standort von Open-Meteo.
  • globcoeff (0.92) und bcoeff (0.06): Koeffizienten für die Sonnenscheindauer (Erklärung). 0.92 passt für Deutschland. Zeigt die Station zu wenig Sonnenschein an, wird globcoeff verringert, bei zu viel erhöht.
  • sunmin (12): Mindeststrahlung in W/m², ab der Sonnenschein gezählt wird.
  • rainbucket (0.2): Regenmenge in mm pro Kippung der Wippe im Regenmengensensor.
  • savesumvalues (1): Sichert die Summenwerte (Tag, Woche, Monat, Jahr) alle 5 Minuten auf dem WeatherLox-Server, damit sie einen Stromausfall überstehen. 0 schaltet das ab.
  • getopenmeteo (1): Holt die Werte von Open-Meteo. 0 schaltet das ab.
  • winddirsensor (0): Art des Windrichtungssensors, 0 für stufenlos 0–360°, 1 für 8 Richtungen.
  • autoupdate (1): Aktualisiert rules2 bis rules4 automatisch, sobald es neue Rules gibt (nachts zwischen 3 und 4 Uhr). 0 schaltet das ab.

Wichtig: genaue Stationshöhe eintragen

Aus der Höhe rechnet die Station den gemessenen Luftdruck auf Meereshöhe um (relativer Luftdruck nach der Formel des Deutschen Wetterdienstes). Ein Meter Abweichung verfälscht den relativen Luftdruck um etwa 0,12 hPa. Die automatische Höhe von Open-Meteo stammt aus einem Geländemodell mit 90 m Auflösung und gibt nur die Höhe des Geländes an, nicht die des Sensors. Ist die genaue Höhe bekannt, sollte sie deshalb eingetragen werden: die Geländehöhe am Standort, zum Beispiel aus dem Geoportal des eigenen Bundeslandes, plus die Höhe, in der der Luftdrucksensor montiert ist.

Nach dem Ändern unten auf Save klicken. Die Steuerung liest die Einstellungen beim Start, deshalb muss sie danach über Tools → Reboot neu gestartet werden.

Summenwerte nach einem Stromausfall

Summen wie die Regenmenge von Tag, Woche, Monat und Jahr liegen nur im Arbeitsspeicher der Steuerung und wären nach einem Stromausfall oder Neustart verloren. Deshalb schickt die Steuerung sie alle 5 Minuten an den WeatherLox-Server, solange in rules1 savesumvalues auf 1 steht:

  • Regen: Tag, Woche, Monat und Jahr
  • Sonnenenergie und Sonnenscheindauer des Tages
  • Windweg und stärkste Böe des Tages
  • Anzahl der Blitze des Tages

Nach einem Neustart fragt die Steuerung zuerst den zuletzt gespeicherten Stand ab und übernimmt nur die Werte, die noch zum laufenden Zeitraum gehören: die Tageswerte nur vom selben Tag, die Wochensumme nur aus derselben Woche (ab Montag), Monats- und Jahressumme entsprechend. Erst danach speichert sie wieder, damit der gesicherte Stand nicht vorher überschrieben wird. Antwortet der Server 15 Minuten lang nicht, zählt sie ohne Wiederherstellung neu.

Übertragen werden nur diese Werte und die MAC-Adresse der Steuerung, über die der Server die Station wiedererkennt. Gespeichert wird je Station nur der letzte Stand mit dem Zeitpunkt der Speicherung. Die Übertragung erfolgt per HTTP. Wer das nicht möchte, setzt savesumvalues auf 0.

Hinweis zum Speichern

Um den Flash-Speicher zu schonen, erlaubt ESPEasy nur 100 Speichervorgänge am Tag. Ist die Grenze erreicht, erscheint beim Speichern die Meldung „Daily flash write rate exceeded!“ und die Änderung wird nicht gespeichert. Ein Neustart über die Weboberfläche setzt den Zähler nicht zurück, wohl aber eine kurze Trennung von der Spannung. Danach zuerst einen anderen Wert speichern und dann den gewünschten, sonst hält ESPEasy den Stand für schon gespeichert und überspringt das Speichern.

Weiter mit 3. Controller einrichten →