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

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

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

    [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 @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.

                    E 1 Reply Last reply Reply Quote 1
                    • E
                      ETGermany @Mugel80 last edited by

                      @mugel80 Wie hast du das denn hinbekommen? Habe mir die WH6000Ppro hier gekauft.

                      Im Setup kann ich weder Port noch Protokoll oder Pfad einstellen:

                      b0554f3a-b074-400f-b05a-81f73fa59b17-image.png

                      Sollt zumindest mal wissen, welch Port ich benötige, oder kannst du mir die wetterstation.conf schicken?

                      Vielleicht ist das ja auch ein ganz anderes Modell unter gleichem Namen. Sieht deine Station denn genau gleich aus?

                      Danke Eckhard

                      E 1 Reply Last reply Reply Quote 0
                      • E
                        ETGermany @ETGermany last edited by

                        @etgermany Via rtl_433 am ioBroker hat sich die Station als Bresser 7-in-1 angemeldet, somit ist sicher, dass es keine WH600PRO wie früher ist. Ist eben alles aus China von einem Hersteller, egal welchen Namen das Zeug trägt. Angeblich wird ja alles vom OEB Fine Offset Electronics hergestellt.
                        Habe mir jetzt ein Ecowitt WS2910, lt. Handbuch sollte die Einbindung möglich sein.

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

                          @sborg Inzwischen habe ich eine ECOWITT, prinzipiell scheint es zu funktioniert, doch der Datentyp scheint nach einem Restart des Services zu wechseln.

                          Zuerst diese Fehler im Log:

                          
                          simple-api.0
                          2025-10-16 11:01:30.680	info	State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" has to be type "number" but received type "string"
                          
                          simple-api.0
                          2025-10-16 11:01:30.680	info	State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Monat" has to be type "number" but received type "string"
                          
                          simple-api.0
                          2025-10-16 11:01:30.680	info	State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" has to be type "number" but received type "string"
                          

                          dann habe ich die Objekte angepasst, nach einem Service Neustart dann aber diese Fehler:

                          
                          simple-api.0
                          2025-10-16 11:46:03.183	info	State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" has to be type "string" but received type "number"
                          
                          simple-api.0
                          2025-10-16 11:46:03.182	info	State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" has to be type "string" but received type "number"
                          
                          simple-api.0
                          2025-10-16 11:46:03.182	info	State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Tag" has to be type "number" but received type "string"
                          
                          simple-api.0
                          2025-10-16 11:46:03.052	info	State value to set for "0_userdata.0.Wetterstation.Info.Sonnenschein_Monat" has to be type "number" but received type "string"
                          
                          simple-api.0
                          2025-10-16 11:46:03.052	info	State value to set for "0_userdata.0.Wetterstation.Info.Sonnenschein_Tag" has to be type "number" but received type "string"
                          

                          Weiterhin noch Fehler beim Start bzw. wenn man den Status abfragen tut:

                          iobroker@n51-ubuntu:~$ systemctl status wetterstation
                          ● wetterstation.service - Service für ioBroker Wetterstation
                               Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; preset: enabled)
                               Active: active (running) since Thu 2025-10-16 11:29:41 CEST; 1min 59s ago
                             Main PID: 1206786 (wetterstation.s)
                                Tasks: 5 (limit: 9171)
                               Memory: 2.8M (peak: 4.4M)
                                  CPU: 2.150s
                               CGroup: /system.slice/wetterstation.service
                                       ├─1206786 /bin/bash /home/iobroker/bresser/wetterstation.sh
                                       ├─1207672 /bin/bash /home/iobroker/bresser/wetterstation.sh
                                       ├─1207673 timeout 66 nc -nlvw 1 -p 1080
                                       ├─1207674 tail -1
                                       └─1207675 nc -nlvw 1 -p 1080
                          
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207406]: /home/iobroker/bresser/wetterstation.sub: line 730: "0_userdata.0.Wetterstation.tempData.Sonnenschein" /86400: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" /86400")
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207407]: /home/iobroker/bresser/wetterstation.sub: line 731: "0_userdata.0.Wetterstation.tempData.Sonnenschein" /3600: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" /3600")
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207408]: /home/iobroker/bresser/wetterstation.sub: line 732: "0_userdata.0.Wetterstation.tempData.Sonnenschein" % 86400 /3600: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" % 86400 /3600")
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207409]: /home/iobroker/bresser/wetterstation.sub: line 733: "0_userdata.0.Wetterstation.tempData.Sonnenschein" % 3600 /60: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" % 3600 /60")
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207410]: /home/iobroker/bresser/wetterstation.sub: line 734: "0_userdata.0.Wetterstation.tempData.Sonnenschein" % 60: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" % 60")
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1206786]: /home/iobroker/bresser/wetterstation.sub: line 736: [: : integer expression expected
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1206786]: /home/iobroker/bresser/wetterstation.sub: line 742: [: : integer expression expected
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207429]: (standard_in) 1: syntax error
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207438]: (standard_in) 1: syntax error
                          Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207441]: (standard_in) 1: syntax error
                          iobroker@n51-ubuntu:~$
                          
                          

                          Aber wie gesagt, prinzipiell funktioniert es.

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

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

                            ....doch der Datentyp scheint nach einem Restart des Services zu wechseln.

                            Dies ist ein bekanntes Problem, wenn dich das stört, stellt den DP Typ auf gemischt, dann kommt der Fehler nicht mehr.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            944
                            Online

                            32.3k
                            Users

                            80.9k
                            Topics

                            1.3m
                            Posts

                            linux shell-script wetterstation wlan-wetterstation
                            152
                            5660
                            3689113
                            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