Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Linux Shell-Skript] WLAN-Wetterstation

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • SBorg
      SBorg Forum Testing Most Active @diwoma last edited by

      @diwoma sagte in [Linux Shell-Skript] WLAN-Wetterstation:

      @SBorg
      Eine Frage bezüglich InfluxDB2.
      Ich nehme an, wenn man die Daten in der Conf eingibt, dann übernimmt das Skript das Schreiben der Werte.

      Aber mit welchen Measurement-Namen?
      Ich finde keine Wetterdaten-Werte.

      Sollte das irgendwo in den über 5000 Posts geschrieben worden sein, dann entschuldige ich mich. Ich habe nicht alle Posts gelesen.

      Ich erwarte von keinem, dass er hier alles durchließt. Würde ich auch nicht 😉
      Aber selbst ein neuer, dann kleinerer Post würde wieder anschwellen und nix gewonnen, außer dass man nun schon an zwei Stellen suchen muss.
      Also, ich schreibe nirgends irgendwas hinein, weder in die InfluxDB, auf das System, ins Verzeichnis...
      Ich lese nur. Ausnahme mit dem "schreiben" ist höchstens die Daten an den ioB schicken, aber dies ist im Grunde auch kein schreiben. Genausowenig "funke" ich irgendwas nach Außen, außer der Nutzer möchte das (die Messdaten an diverse Wetterdienste). Es findet nur eine HTTP-Abfrage auf meinen GitHub-Account statt, damit eine neue Version, sofern verfügbar, angezeigt werden kann. Nutzerstatistiken etc. pp. gibt es alles nicht. Lediglich GitHub zählt anonym die Seitenaufrufe des Projekts und die Download-Anzahl des Releases.

      In InfluxDB findest du die Daten die du loggst immer wie der Objektpfad auch heißt, also bspw. für die "Aussentemperatur" musst du bei der Default-Struktur nach 0_userdata.0.Wetterstation.Aussentemperatur suchen (oder gibst einfach "Aussentemperatur" im Suchfeld ein, dann blendet er alle passenden Einträge ein). Warum ein "Alias" beim loggen nicht funktioniert steht in der WiKi.

      1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @diwoma last edited by

        @diwoma sagte in [Linux Shell-Skript] WLAN-Wetterstation:

        Warum brauch aber das Shell-Skript den Infux-Zugang? Das habe ich noch nicht gelesen.

        Eigentlich nicht unbedingt. Die Station liefert aber bei fast allen Werten nur einen Momentanwert. Wenn du also bspw. den Höchst- und Tiefstwert des Tages der Temperatur willst, braucht man dafür auch alle Messwerte des Tages. Dafür werden die dann in InfluxDB geloggt. Das Skript geht nun her (wenn die Influx-Daten korrekt eingetragen wurden) und macht einfach die InfluxDB-Abfrage für dich: nimm alle Werte der Temperatur von Zeitpunkt x bis y und gib mir den kleinsten/größten aus
        Das war dann auch schon der ganze Voodoo. Kann man machen, muss man aber nicht. Soweit ich mich noch erinnern kann war das ein Userwunsch.

        D 1 Reply Last reply Reply Quote 0
        • SBorg
          SBorg Forum Testing Most Active @icebear last edited by

          @icebear sagte in [Linux Shell-Skript] WLAN-Wetterstation:

          @SBorg

          Mir ist jetzt grad aufgefallen, das warum auch immer in den DP's bei Windrichtung_Text und Windrichtung_Text_10min bei mir immer die gleiche Windrichtung als Text angezeigt wird, obwohl die Gradzahl unterschiedlich ist.

          wind_fail.png

          Hast du seit der Installation den ioB schon mal neu gestartet? Oft verhaspelt sich der JSC wenn viele Datenpunkte (und wir haben mittlerweile viele, sehr viele 😂 ) per JS angelegt werden. Der Datenpunkt ist dann da und sieht gut aus, funktioniert aber nicht.
          Auch wäre interessant ob er die Daten ("LC") auch ändert. Pauschal ein Problemchen bei dir vor Ort und kein generelles Problem. Da hätte sich bestimmt der Ein oder Andere schon gemeldet und bei mir funktioniert es auch erwartungsgemäß:
          Bild 001.png

          icebear 1 Reply Last reply Reply Quote 0
          • icebear
            icebear @SBorg last edited by

            @sborg said in [Linux Shell-Skript] WLAN-Wetterstation:

            Hast du seit der Installation den ioB schon mal neu gestartet? Oft verhaspelt sich der JSC wenn viele Datenpunkte (und wir haben mittlerweile viele, sehr viele ) per JS angelegt werden. Der Datenpunkt ist dann da und sieht gut aus, funktioniert aber nicht.

            Ok. Guter Hinweis, da ich am WE eh meinen Docker Container updaten wollte , werd ich dann mal drauf achten.

            SBorg 1 Reply Last reply Reply Quote 0
            • SBorg
              SBorg Forum Testing Most Active @icebear last edited by

              @icebear
              Die "kleine" Lösung funktioniert auch meistens. WEB-, JS- und Simple-API-Adapter anhalten, kurz warten und wieder starten.
              Das passiert nur (aber auch nicht immer) wenn mittels der wetterstation.js alle Datenpunkte (=frische Installation) neu angelegt wurden.
              Ich hatte es aber auch schon bei einem Datenpunkt den ich für ein anderes Projekt per JS angelegt hatte. Ich habe damals zig Stunden nach dem Fehler gesucht "der Datenpunkt ist doch da, warum schreibt er zum f*ck da nicht drauf...".

              1 Reply Last reply Reply Quote 0
              • D
                diwoma @SBorg last edited by

                @sborg
                Danke für die Information.

                @icebear und @Negalein haben mich schon auf meinen Gedanken-Fehler aufmerksam gemacht.

                Wäre schön, wenn bei der Erklärung der Werte in der Conf beim InfluxDB-Eintrag dabei stehen würde, dass Daten zurückgelesen werden (wenn sie eingetragen sind) und das Shell-Skript es selbst braucht um Daten zu berechnen. Das war mir nicht klar.

                Danke für die Skripte und Deinen Aufwand.

                1 Reply Last reply Reply Quote 0
                • T
                  Taddy81 last edited by

                  Hallo,

                  ich hatte gehofft keine Probleme zu bekommen. Aber ich bin schon stolzer Besitzer einer Ecowitt WP90 mit Gateway 2000.

                  Ich bekomme keine Werte angezeigt. Bei ausführen von ./wetterstation.sh --debug erscheint:

                  WLAN-Wetterstation V3.5.2 - (c)2019-2025 by SBorg
                   Config-Version: V3.5.2
                   Sub-Version   : V3.5.2
                  
                   'bc' installiert: [✓]
                   'jq' installiert: [✓] 
                  
                   'dc' installiert: [✓] 
                  
                   'nc' in der Openbsd-Variante installiert:  [✓]
                   'netcat' in Openbsd-Variante aktiv, alles korrekt [✓]
                  
                  
                  Connection to 172.16.0.102 8081 port [tcp/*] succeeded!
                  parse error: Invalid numeric literal at line 1, column 10
                  (standard_in) 1: syntax error
                  (standard_in) 1: syntax error
                  /home/wetter/wetterstation/wetterstation.sub: line 858: [: : integer expression expected
                  
                  
                  Messwerteblock: 
                  
                  
                  Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)!
                  
                   Temperatur Innen               :  °C
                   Temperatur Aussen              :  °C
                   Taupunkt                       :  °C
                   Gefühlte Temperatur            :  °C
                   Luftfeuchte Innen              :  %
                   Luftfeuchte Aussen             :  %
                   Windgeschwindigkeit            :  km/h
                   Windgeschwindigkeit 10min      :  km/h
                   Windböengeschwindigkeit        :  km/h
                   Windböe max.                   :  km/h
                   Windrichtung                   :  °
                   Windrichtung                   : 
                   Windrichtung 10min             :  °
                   Luftdruck absolut              :  hPa
                   Luftdruck relativ              :  hPa
                   Regenrate                      :  mm/h
                   Regenstatus                    : 
                   Regen seit Regenbeginn         :  mm
                   Regen Stunde                   :  mm
                   Regen Tag                      :  mm
                   Regen Woche                    :  mm
                   Regen Monat                    :  mm
                   Regen Jahr                     :  mm
                   Regen Gesamt                   :  mm
                   Sättigungsdefizit              :  kPa
                   Sonnenstrahlung                :  W/m²
                   UV-Index                       : 
                   Zeitstempel                    : 
                   Firmware                       : 
                   Batteriestand:                 : 
                   Gateway-Modell                 : 
                  
                  Zusatzsensoren:
                  
                  
                  
                  Datenstring für ioBroker:
                  
                  
                  
                  DATA von Wetterstation:
                  
                  
                  
                  Debug VAR:
                   Installationsverzeichnis: /home/wetter/wetterstation
                   IPP: 172.16.0.102:8081 WS_PORT: 1080           WS_POLL: 20             PRE_DP: 0_userdata.0.Wetterstation
                   WEB: HTTP              WS_PROT: Ecowitt
                  
                  Zusatzsensoren:
                   DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 
                   WH31: 0 || WS90: 0
                   Bresser: 7009999 [0]
                  
                  Script-Version: V3.5.2  Config-Version: V3.5.2  Sub-Version: V3.5.2
                  
                  Kommunikationsfehler!
                  

                  Die Conf seht ihr hier:

                  ### Settings V3.5.2 -----------------------------------------------------------
                   #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
                    debug=false
                  
                   #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden?
                    RESET_KOMFEHLER=false
                  
                   #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
                    logging=false
                  
                   #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx]
                    IPP=172.16.0.102:8081
                  
                   #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt
                    RESTAPI_URL=
                    RESTAPI_USER=
                    RESTAPI_PW=
                  
                   #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=DNS / default: 2
                    WS_PROTOKOLL=2
                  
                   #Anzahl der vorhandenen Zusatzsensoren Froggit, Ecowitt und Bresser / default: 0
                    ANZAHL_WH31=0
                    ANZAHL_WS90=0
                    ANZAHL_DP10=0
                    ANZAHL_DP35=0
                    ANZAHL_DP40=0
                    ANZAHL_DP50=0
                    ANZAHL_DP60=0
                    ANZAHL_DP70=0
                    ANZAHL_DP100=0
                    ANZAHL_DP200=0
                    ANZAHL_DP250=0
                    ANZAHL_DP300=0
                    ANZAHL_7009999=0
                  
                   #Protokoll (HTTP oder HTTPS) / default: HTTP
                    WEB=HTTP
                  
                   #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten
                    WEB_IGN_SSL_ERROR=false
                  
                   #User-Authentifizierung falls benutzt; sonst leer lassen
                    AUTH_USER=
                    AUTH_PASS=
                  
                   #Port der Wetterstation
                    WS_PORT=1080
                  
                   #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden)
                    WS_POLL=20
                  
                   #Name/ID der Wetterstation
                    WS_ID=ZuHause
                  
                   #wo sollen die Datenobjekte abgelegt werden
                    PRE_DP=0_userdata.0.Wetterstation
                  
                   #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen
                    #Protokoll (HTTP oder HTTPS) / default: HTTP
                     INFLUX_WEB=HTTP
                    #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
                     INFLUX_API=172.16.0.101:8086
                    #Bucket, Token und Organisation der InfluxDB
                     INFLUX_BUCKET=iobroker
                     INFLUX_TOKEN=xxx
                     INFLUX_ORG=homelab
                  
                   #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen")
                   # DATUM = 28.04.2020 13:12
                   # UNIX  = 1588074964
                   # DIFF  = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen
                  
                    LAST_RAIN=DIFF
                  
                   #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text"
                   # zweistellig wird ggf. mit einer führenden "0" aufgefüllt
                   # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig
                   # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59)
                   #
                   # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden
                   #
                   # Auswahl                            | Ausgabe im Datenpunkt
                   # ----------------------------------------------------------------------------
                   # [0] = h Std. mm Min. ss Sek.       | 68 Std. 02 Min. 15 Sek.
                   # [1] = h:mm                         | 68:02
                   # [2] = d Tag/e h Std.               | 2 Tage 20 Std.
                   # [3] = d Tag/e, h Std, m Min        | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0)
                  
                    SONNENSCHEIN_TXTFORMAT=3
                  
                  
                    #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)?
                     WETTERCOM_ID=
                     WETTERCOM_PW=
                  
                   #Daten an Wunderground.com senden? [true/false] / default: false
                     #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen.
                     WUNDERGROUND_UPDATE=false
                  
                   #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an
                   #windy/OpenSenseMap/wetter.com übertragen? [true/false] / default: false
                    USE_AVG_WIND=false
                  
                   #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false
                   #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt
                    FIX_AUSSENTEMP=false
                  
                  !!REST ABGESCHNITTEN!!
                  

                  Hier die Config in der App:
                  78ced97c-be19-40f7-86db-d8640eb48f0b-Screenshot_20250927_170456_com.ost.ecowitt.jpg
                  file:///home/daniel/Schreibtisch/Screenshot_20250927_170456_com.ost.ecowitt.jpg

                  Hier habe ich den Test einmal ohne "/" im Pfad gemacht, sowie einmal mit (/ steht da ja bereits) funktioniert hat beides leider nicht.

                  Rene55 Boronsbruder 2 Replies Last reply Reply Quote 0
                  • Rene55
                    Rene55 @Taddy81 last edited by

                    @taddy81 Auf den ersten Blick: IPP=172.16.0.102:8081; hier ist der Port falsch,! Richtig ist wahrscheinlich (standard) 8087.

                    1 Reply Last reply Reply Quote 0
                    • Boronsbruder
                      Boronsbruder @Taddy81 last edited by

                      @taddy81 sagte in [Linux Shell-Skript] WLAN-Wetterstation:

                      ANZAHL_WS90=0

                      Heisst dein Sensor WP90 oder WS90?
                      Wenn WS90 dann in der config eintragen.

                      Und in deiner App steht unter SPEICHERN -> DEAKTIVIERT?

                      1 Reply Last reply Reply Quote 0
                      • T
                        Taddy81 last edited by

                        Habs gelöst. Danke ihr beiden!

                        Nun kann ich mich daran begeben, ein Dashboard zu basteln.

                        Boronsbruder 1 Reply Last reply Reply Quote 1
                        • Boronsbruder
                          Boronsbruder @Taddy81 last edited by

                          @taddy81
                          Mich würde interessieren, wo der Fehler war?
                          Nur dass wir alle dazulernen 😉

                          1 Reply Last reply Reply Quote 0
                          • SBorg
                            SBorg Forum Testing Most Active last edited by

                            Neues Release des Wetterstation WLAN-Skriptes auf GitHub V3.6.0

                            • + Regenereignis für Piezo-Sensoren / Issue #82
                            • + Unterstützung für WS80 und WH40H Sensoren

                            Wie immer zu finden im GitHub


                            Update-Routine von Vorgängerversion:

                            • aktuellen WS-Updater nutzen

                              wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
                            • ./ws_updater.sh im Installationsverzeichnis ausführen
                            • Menüpunkt "4" wählen und die Fragen beantworten
                            • wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neuer Datenpunkt .Regenereignis); bei aktivierter Rest-API wird der Datenpunkt automatisch im ioB angelegt (1)

                            (1) es empfiehlt sich danach den Simple-API-Adapter neu zu starten (entweder per WebIF oder einfach iob restart simple-api.0)


                            Update kann durchgeführt werden, wenn man passende Sensoren hat/nutzt.
                            Hinweis: Bei Regensensoren die auf Piezo-Technik basieren (IMO nur ws80/90) und entsprechender Firmware wird nun der Datenpunkt "Regenereignis" als "0" bzw. "1" übergeben (0=kein Regen, 1=Regen). Im Gegensatz zu den Trichtermodellen mit Wippe werden hier schon einzelne Regentropfen detektiert. Eignet sich also nun tatsächlich als aktuelle Regenanzeige, um bspw. die Markise einzufahren.

                            1 Reply Last reply Reply Quote 1
                            • First post
                              Last post

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            954
                            Online

                            32.2k
                            Users

                            80.9k
                            Topics

                            1.3m
                            Posts

                            linux shell-script wetterstation wlan-wetterstation
                            151
                            5656
                            3660502
                            Loading More Posts
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes
                            Reply
                            • Reply as topic
                            Log in to reply
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                            The ioBroker Community 2014-2023
                            logo