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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [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 @sonystar last edited by

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

      Ich hatte gelesen das es da noch gewickt hatte weil jeweils die eingestellte POLL-Zeit hinzuadiert wird mit jeden kommendes Datenpaket

      Nein, das läuft mittlerweile (frag nicht seit wann 😉 ) mit einem Timer und der Differenz daraus. Also vorheriges Paket bei 22 Sekunden, aktuelles (mal ganz übertrieben) 3 Minuten später und bei 44 Sekunden, dann wird hier korrekt mit 202 Sekunden, unabhängig vom POLL-Intervall gerechnet.
      Allerdings habe ich eben gesehen, dass ich das bei der Solarenergie nicht berücksichtigt habe 😞
      Stelle es also besser korrekt auf die 30 Sekunden ein.

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

      Z.B. Max_Windböe mit Datum und Uhrzeit. Man weiß ja sonst nie wann das ganze passiert ist.

      Doch, denn das wäre dann doppelt gemoppelt. Du hast bei jedem Datenpunkt im ioB auch immer einen Timestamp und einen "Last change Timestamp". Den kannst du so in der VIS nutzen, im Blockly, NodeRED oder was auch immer.
      Bild 1.png
      Ok, die Uhrzeit stimmt jetzt zwar nicht, aber die Statistik ist ja eh rückwirkend. Vor xx Tagen Ok, aber brauche ich dann wirklich, dass es am 02.12. um 13:12 Uhr war? Der Aufwand dafür ist nicht unerheblich und belastet das System. Wenn man es wirklich braucht, könnte man dies auch im Influx nachschauen. Oder wie bei mir, ich visualisiere eh per Grafana, da kannst du hinein- und hinaus zoomen wie du willst, auch Minuten genau.

      S 1 Reply Last reply Reply Quote 0
      • T
        Tomate @SBorg last edited by

        @SBorg
        siehe meine Kommentare hinter --->

        In der App im Pfad zum Custom Server am Ende ist ein "?" ?
        dort muss stehen:
        /weatherstation/updateweatherstation.php?
        -----> Passt

        Ansonsten Tippe ich auf eine fehlerhafte nc Version oder ein dubioser Nameserver, was steht in
        sudo nano /ect/resolv.conf
        ---> Datei schein leer zu sein,bzw. [ Verzeichnis „/ect“ existiert nicht ]

        was sagt ein:
        which nc
        ---> /usr/bin/nc
        und
        which jq
        --->/usr/bin/jq

        dann könnte noch ein:
        sudo apt-get install netcat-obenbsd
        helfen.
        --->
        ubuntu@ubuntu-20:/home/iobroker$ sudo apt-get install netcat-obenbsd
        Paketlisten werden gelesen... Fertig
        Abhängigkeitsbaum wird aufgebaut.
        Statusinformationen werden eingelesen.... Fertig
        E: Paket netcat-obenbsd kann nicht gefunden werden.

        Edit: Achja Passwort in der App bei Custom Server ist irgendwas eingetragen?
        ---> Ja

        Latzi 1 Reply Last reply Reply Quote 0
        • Latzi
          Latzi @Tomate last edited by

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

          sudo apt-get install netcat-obenbsd

          versuchs mal mit

          sudo apt-get install netcat-openbsd
          
          T 1 Reply Last reply Reply Quote 0
          • T
            Tomate @Latzi last edited by Negalein

            @Latzi

            ubuntu@ubuntu-20:/home/iobroker$ sudo apt-get install netcat-openbsd
            [sudo] Passwort für ubuntu: 
            Paketlisten werden gelesen... Fertig
            Abhängigkeitsbaum wird aufgebaut.       
            Statusinformationen werden eingelesen.... Fertig
            netcat-openbsd ist schon die neueste Version (1.206-1ubuntu1).
            0 aktualisiert, 0 neu installiert, 0 zu entfernen und 2 nicht aktualisiert.
            ubuntu@ubuntu-20:/home/iobroker$
            

            T 1 Reply Last reply Reply Quote 0
            • T
              Tomate @Tomate last edited by

              @Tomate
              Habe inzwischen auf die neue 1.5 er Version geupdatet.
              Ergebnis bleibt leider unverändert.

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

                @Tomate

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

                Im Installationsverzeichnis vom Skript nano wetterstation.sub CTRL+W drücken, get_data eingeben und [ENTER]
                2 Zeilen unter dem Cursor siehst du dann "... nc -lvw 1 -p ..." dort fügst du ein "n" ein: "... nc -nlvw 1 -p ..."
                ~12 Zeilen tiefer beginnt dann "ws_data", dort das selbe. Speichern und es sollte funktionieren.

                T 1 Reply Last reply Reply Quote 0
                • T
                  Tomate @sonystar last edited by Negalein

                  @sonystar
                  Nach dem ich zweimal das "N" eingefügt habe, hat sich das Ganze etwas verändert.
                  Das Terminal bleibt ca.30 Sekunden hier hängen "Listening on 0.0.0.0 4980"

                  ubuntu@ubuntu-20:/home/iobroker$ ./wetterstation.sh --debug
                  Connection to 192.168.10.119 8087 port [tcp/*] succeeded!
                  Listening on 0.0.0.0 4980
                  
                  
                  Messwerteblock: 
                  
                  
                  Temperatur Innen	:  °C
                  Temperatur Aussen	:  °C
                  Taupunkt		:  °C
                  Chill-Faktor		:  °C
                  Luftfeuchte Innen	:  %
                  Luftfeuchte Aussen	:  %
                  Windgeschwindkeit	:  km/h
                  max. Windgeschwindkeit	:  km/h
                  Windrichtung		:  °
                  Windrichtung		: 
                  Luftdruck absolut	:  hPa
                  Luftdruck relativ	:  hPa
                  Regenrate		:  mm/h
                  Regenstatus		: 
                  Regen Tag		:  mm
                  Regen Woche		:  mm
                  Regen Monat		:  mm
                  Regen Jahr		:  mm
                  Sonnenstrahlung		:  W/m²
                  UV-Index		: 
                  Zeitstempel		: 
                  Firmware		: 
                  
                  
                  Datenstring für ioBroker:
                  
                  
                  
                  DATA von Wetterstation:
                  
                  
                  
                  Debug VAR:
                  Installationsverzeichnis: /home/iobroker
                  IPP: 192.168.10.119:8087	WS_PORT: 4980		WS_POLL: 30		PRE_DP: javascript.0.Wetterstation
                  Script-Version: V1.5.0	Config-Version: V1.5.0	Sub-Version: V1.5.0
                  
                  Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
                  
                  ubuntu@ubuntu-20:/home/iobroker$
                  


                  Der Rest scheint wie gehabt

                  T 1 Reply Last reply Reply Quote 0
                  • R
                    Rushmed Most Active last edited by

                    @SBorg
                    Zur Info beim Statistk Script kann ich das Format meinen Wünschen anpassen. Leider funktioniert das nicht bei niedrigster Jahresdurchschnitt.

                    8163d9cc-625a-4774-b93d-609b2e33bdad-grafik.png

                    Kannst du da bitte nochmal nachsehen?

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

                      @Tomate
                      Interpretiere ich es richtig?
                      Die Wetterstation liefert keine Werte?
                      Wenn dem so ist, wie könnte ich das prüfen?

                      In der WS APP steht auch keine Werte drin, oder wären die Werte in der APP von Wunderground? Da bin ich nämlich garnicht angemeldet.

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

                        @Tomate Ja, da kommt nix. Du musst nicht bei WU angemeldet sein, allerdings siehst du ohne Konto auch keine Daten in der App.
                        Liefert denn ein ./wetterstation.sh --data was?

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

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

                          Zur Info beim Statistk Script kann ich das Format meinen Wünschen anpassen. Leider funktioniert das nicht bei niedrigster Jahresdurchschnitt.

                          Das funktioniert schon, allerdings anders als am Anfang (steht auch hier irgendwo). Mit der ersten Version habe ich das noch täglich geupdated, was aber nonsens ist. Den korrekten Wert kann man erst am Ende des Jahres haben. Wäre genau so unsinnig einen Tageshöchstwert morgens um 8:00 Uhr zu ermitteln 🙂
                          Deswegen passiert mit beiden DPs bis zum 01.01. nix mehr, dann wird er resettet und das neue Jahr fängt an. Dann heißt es bis zum 31.12.2021 wieder Daten sammeln und ab diesem Datum stehen erst die Werte (auch zukünftige) fest. Denn dann hast du wirklich erst aussagefähige Daten für ein Jahr (bzw. hier für das erste).

                          1 Reply Last reply Reply Quote 0
                          • T
                            Tomate @SBorg last edited by Negalein

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

                            ./wetterstation.sh --data

                            Leider Nein

                            ubuntu@ubuntu-20:/home/iobroker$ ./wetterstation.sh --data
                            Connection to 192.168.10.119 8087 port [tcp/*] succeeded!
                            
                            
                            Warte maximal 66 Sekunden auf Datenpaket der Wetterstation...
                            
                            Listening on 0.0.0.0 4980
                            ubuntu@ubuntu-20:/home/iobroker$
                            

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

                              @Tomate Hast du eine Station aus der Liste (1. Post) oder eine andere? Die Einstellungen in der WS View App stimmen auch alle?

                              Ganz ohne Skript muss bei  nc -nlvw 1 -p PORT (PORT durch deinen ersetzen) ein Datenstring der Station kommen:
                              Bild 1.png

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

                                @SBorg
                                Meinst du die Stelle? {WS_ID}
                                Wenn ja, soll ich es komplett mit meinem Port ersetzen?
                                Meine Datei:

                                ### Daten holen und Integritätscheck
                                get_DATA() {
                                 #auf Daten der Wetterstation warten
                                  DATA=$(timeout ${WARTE} nc -nlvw 1 -p ${WS_PORT}|sed -n '1 p')
                                  STRLEN=$(echo -n $DATA | wc -m)
                                
                                 #haben wir eine Jahresregenmenge?
                                  if [[ ! "$DATA" =~ "yearlyrainin" ]]; then DATA=$(echo $DATA| sed -e 's/solarradiation/yearlyrainin=0\&solarradiation/' ); fi
                                 #check auf Datenintigrität
                                  if [ "$STRLEN" -gt "400" ] && [[ "$DATA" =~ "/weatherstation/updateweatherstation.php?ID=${WS_ID}" ]]; then return 0; else return 1; fi
                                }
                                
                                
                                
                                ### Datenpaket der Wetterstation anzeigen
                                ws_data() {
                                  echo -e "\n\nWarte maximal ${WARTE} Sekunden auf Datenpaket der Wetterstation...\n" && timeout ${WARTE} nc -nlvw 1 -p ${WS_PORT} | sed -n '1 p'
                                }
                                

                                Auf nc -nlvw 1 -p 4980 bekomme ich folgende Antwort

                                ubuntu@ubuntu-20:/home/iobroker$ nc -nlvw 1 -p 4890
                                Listening on 0.0.0.0 4890
                                Connection received on 192.168.10.165 8208
                                GET /weatherstation/updateweatherstation.php?ID=ZUHAUSE&PASSWORD=12345678&indoortempf=70.0&tempf=74.3&dewptf=49.8&windchillf=74.3&indoorhumidity=45&humidity=42&windspeedmph=0.0&windgustmph=0.0&winddir=10&absbaromin=28.884&baromin=28.884&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.071&monthlyrainin=0.071&yearlyrainin=0.071&solarradiation=0.00&UV=0&dateutc=2020-12-07%2020:14:14&softwaretype=EasyWeatherV1.5.6&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0
                                Host: 192.168.10.119
                                Accept:*/*
                                Connection: Close
                                


                                Hast du eine Station aus der Liste (1. Post) oder eine andere?
                                ELV WS980WiFi

                                1 Reply Last reply Reply Quote 0
                                • Negalein
                                  Negalein Global Moderator last edited by

                                  @SBorg

                                  Ich bin nicht so der Rechengenie.
                                  Kann der Durchschnitt stimmen?

                                  Screenshot_2020-12-08 vis.png

                                  {"Tiefstwert":-5,"Hoechstwert":18.72,"Temp_Durchschnitt":-0.88,"Max_Windboe":43.93,"Max_Regenmenge":12.1,"Regenmenge_Monat":38.1,"warme_Tage":4,"Sommertage":0,"heisse_Tage":0,"Frost_Tage":19,"kalte_Tage":32,"Eistage":4,"sehr_kalte_Tage":0}
                                  
                                  SBorg 1 Reply Last reply Reply Quote 0
                                  • S
                                    sonystar @SBorg last edited by

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

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

                                    Ich hatte gelesen das es da noch gewickt hatte weil jeweils die eingestellte POLL-Zeit hinzuadiert wird mit jeden kommendes Datenpaket

                                    Nein, das läuft mittlerweile (frag nicht seit wann 😉 ) mit einem Timer und der Differenz daraus. Also vorheriges Paket bei 22 Sekunden, aktuelles (mal ganz übertrieben) 3 Minuten später und bei 44 Sekunden, dann wird hier korrekt mit 202 Sekunden, unabhängig vom POLL-Intervall gerechnet.
                                    Allerdings habe ich eben gesehen, dass ich das bei der Solarenergie nicht berücksichtigt habe 😞
                                    Stelle es also besser korrekt auf die 30 Sekunden ein.

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

                                    Z.B. Max_Windböe mit Datum und Uhrzeit. Man weiß ja sonst nie wann das ganze passiert ist.

                                    Doch, denn das wäre dann doppelt gemoppelt. Du hast bei jedem Datenpunkt im ioB auch immer einen Timestamp und einen "Last change Timestamp". Den kannst du so in der VIS nutzen, im Blockly, NodeRED oder was auch immer.
                                    Bild 1.png
                                    Ok, die Uhrzeit stimmt jetzt zwar nicht, aber die Statistik ist ja eh rückwirkend. Vor xx Tagen Ok, aber brauche ich dann wirklich, dass es am 02.12. um 13:12 Uhr war? Der Aufwand dafür ist nicht unerheblich und belastet das System. Wenn man es wirklich braucht, könnte man dies auch im Influx nachschauen. Oder wie bei mir, ich visualisiere eh per Grafana, da kannst du hinein- und hinaus zoomen wie du willst, auch Minuten genau.

                                    Danke. Dann werde ich bei gelegentheit noch die POLL-Zeit auf 30 Sek stellen.

                                    Das mit dem Zeitstempel wusste ich nicht, dann reicht es mir tatsächlich so.
                                    Eine Visualisierung über Grafana und/oder VIS ist zwar mein Ziel, aber davor scheue ich mich noch. Habe da überhaupt keine Ahnung von. Aber mit dem rein und rauszoomen bei Grafana klingt schon mal sehr interessant.

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

                                      @Tomate Nene, dass ist schon alles Ok so. Mich wundert nur, dass du Daten "per Hand" bekommst, aber nicht per Skript (was genau dasselbe macht wie die händische Eingabe).
                                      Stell mal in der *,conf den POLL-Wert auf 120 Sekunden und probier noch mal ein ./wetterstation.sh --data
                                      Entweder kommt jetzt mal was, oder...??? Nicht wundern, der bleibt jetzt ~4 Minuten stehen. In der Zeit müsste aber (wg. ev. Empfangsprobleme oder was auch immer) jetzt mal ein Paket ein trudeln.

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

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

                                        Ich bin nicht so der Rechengenie.
                                        Kann der Durchschnitt stimmen?

                                        Der Durchschnitt sicherlich. Du hast immerhin 19 Frosttage, 4 Eistage und 32 kalte Tage.
                                        Die Mathematik ist recht einfach: alle Messwerte von 0:00:00 Uhr bis 23:59:59 Uhr addieren und durch die Anzahl der Messwerte teilen = Tagesdurchschnitt
                                        alle Tagesdurchschnitte pro Monat addieren und durch deren Anzahl teilen = Monatsdurchschnitt

                                        Ich bin aber kein Meteorologe, weiß also nicht ob das richtig ist. Das ist ein reiner Durchschnitt, es gibt aber noch gleitender Durchschnitt, Mittelwert...

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

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

                                          Das mit dem Zeitstempel wusste ich nicht, dann reicht es mir tatsächlich so.
                                          Eine Visualisierung über Grafana und/oder VIS ist zwar mein Ziel, aber davor scheue ich mich noch. Habe da überhaupt keine Ahnung von. Aber mit dem rein und rauszoomen bei Grafana klingt schon mal sehr interessant.

                                          Du kannst auch die Anzeige bei den Objekten umstellen, dann siehst du die Zeitpunkte auch direkt und nicht nur bei MausOver.
                                          Influx ist kein großes Ding und ein erstes Grafana-Dashboard liegt ebenfalls auf GitHub. Jeden Grafen kann man dann einzeln per iframe in der VIS einbinden und dann dort auch direkt durch die Zeitachse scrollen. Beim MausOver werden dann auch einzelne Messwerte mit Datum und Uhrzeit angezeigt 😉

                                          1 Reply Last reply Reply Quote 0
                                          • T
                                            Tomate @SBorg last edited by Negalein

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

                                            ./wetterstation.sh --data

                                            Es kommt leider auch jetzt hier nichts zurück.

                                            ubuntu@ubuntu-20:/home/iobroker$ ./wetterstation.sh --data
                                            Connection to 192.168.10.119 8087 port [tcp/*] succeeded!
                                            
                                            
                                            Warte maximal 246 Sekunden auf Datenpaket der Wetterstation...
                                            
                                            Listening on 0.0.0.0 4980
                                            ubuntu@ubuntu-20:/home/iobroker$
                                            

                                            Grundsätzlich antwortet die Station flott (ca. 20 Sekunden)

                                            ubuntu@ubuntu-20:/home/iobroker$ nc -nlvw 1 -p 4890
                                            Listening on 0.0.0.0 4890
                                            Connection received on 192.168.10.165 37510
                                            GET /weatherstation/updateweatherstation.php?ID=ZUHAUSE&PASSWORD=12345678&indoortempf=69.6&tempf=42.4&dewptf=33.1&windchillf=42.4&indoorhumidity=43&humidity=69&windspeedmph=0.0&windgustmph=0.0&winddir=85&absbaromin=28.863&baromin=28.863&rainin=0.000&dailyrainin=0.291&weeklyrainin=0.362&monthlyrainin=0.362&yearlyrainin=0.362&solarradiation=25.94&UV=0&dateutc=2020-12-08%2014:21:50&softwaretype=EasyWeatherV1.5.6&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0
                                            Host: 192.168.10.119
                                            Accept:*/*
                                            Connection: Close
                                            
                                            ubuntu@ubuntu-20:/home/iobroker$
                                            

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            792
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            143
                                            5478
                                            3287464
                                            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