23,2 °C

Installation Hilfe




Weewx 5.0 + GW1100 + CloudPanel + Tailscale + Netcup bzw Hetzner

Wir installieren auf einem Debian 11 CloudPanel für die einfache Einrichtung von SSL-Zertifikaten und zur Absicherung des Servers. Zusätzlich nutzen wir Tailscale für eine sichere und unkomplizierte VPN-Verbindung. Um sicherzustellen, dass WeeWX alle benötigten Daten erhält, verwende ich das Gateway GW1000 von Ecowitt. Die Einbindung neuer Sensoren ist hier besonders einfach und ihre Übertragung an WeeWX unkompliziert. Durch Mosquitto wird ein MQTT-Broker bereitgestellt, der die Abfrage von Echtzeit-Wetterdaten ermöglicht.

In den folgenden Schritten beschreibe ich ausführlich, wie Sie Ihre eigene Wetterseite erstellen können. Grundlegende Erfahrungen im Umgang mit Linux werden vorausgesetzt. Bei Unsicherheiten oder dem Bedarf an zusätzlichen Erklärungen stehe ich Ihnen gerne zur Verfügung.

Ich hoste WeeWX lieber auf einem Webhoster als zuhause. Sollte die Seite einmal angegriffen oder anderweitig beeinträchtigt werden, erfolgt dies ausschließlich auf dem Webhoster und nicht in meinem Heimnetzwerk. Daher ist es erforderlich, mit Tailscale ein VPN zwischen dem Server und dem Heimnetzwerk einzurichten.

Es gibt auch Möglichkeiten, die Daten von der Wetterstation mit dem Ecowitt-Protokoll an die Wetterstation zu senden. Diese Option wird hier jedoch nicht weiter behandelt.

Disclaimer (Danke Deutschland):

Diese Anleitung dient lediglich als persönliche Darstellung meines eigenen Ansatzes zur Einrichtung einer Wetterseite. Es gibt viele verschiedene Wege und Methoden, dies zu tun, und meine Vorgehensweise repräsentiert lediglich eine von vielen Möglichkeiten. Jegliche Umsetzung oder Anwendung der hier beschriebenen Schritte erfolgt auf eigene Verantwortung. Ich übernehme keine Haftung für etwaige Schäden oder Unannehmlichkeiten, die durch die Verwendung dieser Anleitung entstehen könnten. Benutzer werden ermutigt, ihre eigenen Anforderungen und Umstände zu berücksichtigen und gegebenenfalls professionelle Beratung einzuholen.

Voraussetzungen:

  • Hardware

    • Wetterstation
    • GW1000 (IP sollte bekannt sein)
    • Homeserver (zb. Raspberry pi) (wird für Tailscale gebraucht)
    • Internet
  • Server

    • Server mit Debian 11 (12 wird aktuell nicht unterstützt)
    • Domain inklusive DNS-Einträge auf dem Server
    • SSH-Zugriff mit Root-Rechten

Installation

Wir starten mit CloudPanel, da alle weiteren Schritte darauf aufbauen:

apt update && apt -y upgrade && apt -y install curl wget sudo

Nachdem alles aktualisiert und installiert wurde, führen wir den Befehl aus, um CloudPanel zu installieren:

für alle Hoster außer Hetzner
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; \
        echo "85762db0edc00ce19a2cd5496d1627903e6198ad850bbbdefb2ceaa46bd20cbd install.sh" | \
        sha256sum -c && sudo bash install.sh
für Hetzner
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; \
        echo "85762db0edc00ce19a2cd5496d1627903e6198ad850bbbdefb2ceaa46bd20cbd install.sh" | \
        sha256sum -c && sudo CLOUD=hetzner bash install.sh

Das kann ein wenig dauern. Wenn die Installation durchgelaufen ist, rufen wir die Internetseite auf, die im Terminal angezeigt wird.

CloudPanal einrichtung

  • Benutzer erstellen
  • Im Admin-Bereich unter Einstellungen bitte die Domain mit Subdomain (z.B., cp.webseite.de) eintragen.
  • Anschließend rufen wir cp.webseite.de auf und melden uns an.
  • Dann erstellen wir eine neue Website mit “Webseite Hinzufügen”.
  • Jetzt unbedingt PHP-Site auswählen.
  • Als Domainname die Domain verwenden, unter der die Wetterseite erreichbar sein soll.
  • Bei Benutzer muss weewx ausgewählt werden, um spätere Rechtekonflikte zu vermeiden.
  • Nachdem die Seite erstellt wurde, klicken wir auf Verwalten und dann im Reiter SSL/TLS.
  • Dort auf den Button Aktion klicken, um ein SSL-Zertifikat zu erstellen.
  • Das war es mit der Einrichtung.

Tailscale Installation und Einrichtung

Zunächst sollte Tailscale auf dem Home-Server installiert und eingerichtet sein. Hierfür gibt es zahlreiche Anleitungen im Internet.
Nun setzen wir auf unserem Wetter-Server fort:
Wir führen den folgenden Befehl aus, um die Installation zu beginnen:

curl -fsSL https://tailscale.com/install.sh | sh

Anschließend sollte der Befehl

tailscale up

genutzt werden, um die Login-URL zu erhalten. Dann einfach in den Tailscale-Account einloggen und das Gerät authentifizieren. Um den Service zu stoppen, verwenden Sie:

tailscale down

Danach kann der Service erneut gestartet werden, um auf den GW1000 zuzugreifen:

tailscale up --accept-routes

Sie können die Verbindung testen, indem Sie einen Ping auf den GW1000 versuchen. Verwenden Sie dazu den Befehl:

ping GW1000-IP-Adresse

Ersetzen Sie “GW1000-IP-Adresse” durch die tatsächliche IP-Adresse des GW1000-Geräts. Wenn der Ping erfolgreich ist, besteht eine erfolgreiche Verbindung zu Ihrem GW1000.

Weewx Installation

Als Erstes sollten wir überprüfen, ob die Zeitzone richtig eingestellt ist. Verwenden Sie dazu den folgenden Befehl:

date

Wenn die Zeit korrekt eingestellt ist, können Sie den nächsten Schritt überspringenn.

Wenn die Zeit nicht korrekt eingestellt ist, liegt das häufig an einer falschen Zeitzone. Sie können die Zeitzone mit dem Befehl dpkg-reconfigure tzdata ändern. Verwenden Sie dazu:

dpkg-reconfigure tzdata

Folgen Sie den Anweisungen, um die gewünschte Zeitzone auszuwählen. Nach der Anpassung können Sie die Zeit erneut überprüfen, um sicherzustellen, dass sie korrekt eingestellt ist.

Nun sollten wir zuerst einige Abhängigkeiten installieren. Verwenden Sie dazu den Befehl:

sudo apt install python3-ephem python3-pcapy unzip gnupg gpg python3-paho-mqtt

Nun fügen wir die Repositories für WeeWX hinzu. Verwenden Sie die folgenden Befehle:

wget -qO - https://weewx.com/keys.html | sudo gpg --dearmor --output /etc/apt/trusted.gpg.d/weewx.gpg
echo "deb [arch=all] https://weewx.com/apt/python3 buster main" | sudo tee /etc/apt/sources.list.d/weewx.list

Jetzt installieren wir endlich WeeWX. Verwenden Sie den folgenden Befehl:

apt update && apt install weewx -y

Bei Fehlermeldung:

wget -qO - https://weewx.com/keys-old.html | sudo gpg --dearmor --output /etc/apt/trusted.gpg.d/weewx.gpg

und dann nochmal versuchen mit “install weewx”

Jetzt wird WeeWX nach einigen Daten fragen. Sie können diese entweder eingeben oder überspringen, da Sie sie später noch konfigurieren können.
Als Nächstes installieren wir den Treiber für das GW1000. Verwenden Sie den folgenden Befehl:

wget https://github.com/gjr80/weewx-gw1000/releases/download/v0.6.0/gw1000.zip
weectl extension install gw1000.zip
weectl station reconfigure

Jetzt sollten Sie die Daten der Wetterstation eingeben. Es ist wichtig, die korrekten Koordinaten zu verwenden. Wählen Sie den Treiber “GW1000” und tragen Sie bei “GW1000 URL” die IP-Adresse des GW1000 ein. Der Port sollte auf 4500 eingestellt sein.

Wir installieren direkt das Belchertown Skin. Verwenden Sie dazu den folgenden Befehl:

wget https://github.com/poblabs/weewx-belchertown/releases/download/weewx-belchertown-1.3.1/weewx-belchertown-release.1.3.1.tar.gz
weectl extension install weewx-belchertown-release.1.3.1.tar.gz

Jetzt installieren wir noch das MQTT-Paket.

wget -O weewx-mqtt.zip https://github.com/matthewwall/weewx-mqtt/archive/master.zip
weectl extension install weewx-mqtt.zip

Sie können natürlich auch weitere Erweiterungen auf die gleiche Art installieren.
Fürs Erste sind wir fertig. MQTT kommt später.

Jetzt sind wir mit der Installation fertig, nun geht es ans Konfigurieren.

Öffnen Sie die Datei /etc/weewx/weewx.conf mit einem Editor Ihrer Wahl. Ich persönlich nutze Nano, aber Sie können gerne Ihren bevorzugten Editor verwenden. Verwenden Sie den folgenden Befehl:

nano /etc/weewx/weewx.conf
Achtung Wichtig!

Nach Belieben können Sie die WeeWX-Konfigurationsdatei nach Ihren Wünschen einrichten. Allerdings sollten Sie unbedingt die Einstellung “HTML_ROOT = /home/weewx/htdocs/wetter-url” anpassen. Dies muss sowohl unter [StdReport] als auch beim [[Belchertown]]-Skin geändert werden.

Des Weiteren sollte beim [[SeasonsReport]] die Einstellung von “enable = true” auf “enable = false” geändert werden.

Ich persönlich setze bei [StdArchive] die Einstellung “archive_interval” von 300 auf 60 Sekunden herunter. Dies ermöglicht kürzere Intervalle für Archivdaten.

Nachdem alle Konfigurationen vorgenommen wurden, können Sie WeeWX neu starten. Die Wetterdaten sollten nun auf Ihrer Webseite angezeigt werden.

systemctl restart weewx.service

Es kann bis zu 5 Minuten dauern, bis die ersten Daten auf Ihrer Wetterseite erscheinen, abhängig von der bei “archive_interval” gewählten Zeitspanne. Haben Sie bitte Geduld.

Alternativ können Sie mit dem folgenden Befehl das Geschehen live verfolgen:

journalctl -f

Das Belchertown Skin können Sie mit der Datei /etc/weewx/skins/Belchertown/skin.conf konfigurieren.

nano /etc/weewx/skins/Belchertown/skin.conf

Mit den abgeschlossenen Konfigurationen und Installationen sollte Ihr Wetterdienst nun reibungslos funktionieren. Falls Sie weitere Unterstützung, Anpassungen oder Informationen benötigen, stehe ich Ihnen jederzeit gerne zur Verfügung.

Zusätzlich besteht die Möglichkeit, sich mit dem optionalen Thema MQTT zu befassen. Für eine ausführliche Anleitung dazu werde ich ein separates Tutorial erstellen.