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 - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

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

      @rene55
      IMO nicht wenn überhaupt keine Verbindung zustande kommt, sondern nur wenn bei der Abfrage selbst ein Problem auftritt. Das Problem hatte genau in der Art ein anderer User vor einiger Zeit, da kam auch keine andere Fehlermeldung (damals war die Bezeichnung des Buckets falsch).

      Ist nur komisch warum bei euch beiden (ev. melden sich ja auch noch weitere) und bspw. bei mir läuft es.

      Rene55 2 Replies Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @SBorg last edited by

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

        Testet ihr ev. den neuen Alpha 6.0?

        Nö, bin noch auf 5.0.19
        Javascript: 8.4.2

        Du bekommst keine Verbindung zur InfluxDB. Im Skript noch alles (Bucket, Instanz) korrekt eingetragen?

        Ja, da hat sich nichts geändert.

        // *** User-Einstellungen **********************************************************************************************************************************
            const WET_DP='0_userdata.0.Wetterstation';          // wo liegen die Datenpunkte mit den Daten der Wetterstation  [default: 0_userdata.0.Wetterstation]                          
            const INFLUXDB_INSTANZ='1';                         // unter welcher Instanz läuft die InfluxDB [default: 0]
            const INFLUXDB_BUCKET='iobroker';                     // Name des zu benutzenden Buckets
        
        SBorg 1 Reply Last reply Reply Quote 0
        • Rene55
          Rene55 @SBorg last edited by

          @sborg Tatsächlich sind die Results von 'Temp, Wind und Rain' leer.

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

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

            Tatsächlich sind die Results von 'Temp, Wind und Rain

            die in 0_userdata.0.Wetterstation?

            Rene55 1 Reply Last reply Reply Quote 0
            • Rene55
              Rene55 @Negalein last edited by

              @negalein Ich zieh mich mal eben zurück. Ich hab den Fehler wahrscheinlich schon länger drin. Asche über mein Haupt.
              @SBorg erinnert sich sicher noch daran, dass ich damals versucht habe, die Measurement-Namen zu kürzen. Da hab ich wohl nicht alles konsequent durchgezogen.
              Daten kommen aktuell wieder aus der Influx.

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

                @sborg Trotz der eingelesenen Daten habe ich (im Debugmodus) eine Ausgabe
                "Erster Messwert: 2024-05-30T22:00:28.347Z ***undefined",
                die ich mir nicht erklären kann.

                Was genau macht eigentlich "const reducer = (accumulator, curr) => accumulator + curr;" ?

                SBorg 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:

                  Ja, da hat sich nichts geändert.

                  Dann müsste es auch gehen 😇
                  Wenn also da alles korrekt ist, stehen denn überhaupt Daten in der InfluxDB für den Zeitraum?Bild 001.png

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

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

                    "Erster Messwert: 2024-05-30T22:00:28.347Z ***undefined",
                    die ich mir nicht erklären kann.

                    Immerhin hat er einen Zeitstempel aus dem Array lesen können, nur keinerlei Wert. Loggst du die DPs in Influx beim "Typ" als "Automatik" oder explizit als Zahl (letzteres würde ich bevorzugen)?

                    Was genau macht eigentlich "const reducer = (accumulator, curr) => accumulator + curr;" ?

                    Das gehört zusammen

                        const reducer = (accumulator, curr) => accumulator + curr;
                        let Temp_Durchschnitt = Number((temps.reduce(reducer)/temps.length).toFixed(2));
                    

                    und nutze ich zur Berechnung eines Durchschnittes. reduce bildet die Summe eines Arrays. Normalerweise würdest du bei einem Array mittels "for each" oder Schleife über das Array iterieren und dann jeweils Summe += Einzelwert ausführen, um dann den Durchschnitt mittels "Summe / Anzahl der Elemente im Array" bilden. Das ist hier bei drei Arrays mit rund 100k Datensätzen auf einem Raspi eine Aktion von mehreren Minuten, mittels "reduce" wenige Sekunden 😉

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

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

                      stehen denn überhaupt Daten in der InfluxDB für den Zeitraum?

                      Ja, im Explorer, sowie in Grafana

                      5ddc476e-6e0c-48ee-ad63-359c087561e9-image.png


                      Edit: ich denke, Fehler gefunden.

                      Ich hatte const INFLUXDB_BUCKET='iobroker'; // Name des zu benutzenden Buckets
                      Richtig ist aber const INFLUXDB_BUCKET='iobroker-1w.


                      schaut jetzt so aus.

                      b86a1e08-b75d-467f-b930-d85a67569997-image.png

                      2024 ist natürlich jetzt versaut ((könnt mich selber schlagen) 😞

                      Warum steht aber bei Regentage 2021 dort undefined?

                      Und die anderen 0-Werte dürften auch nicht stimmen.

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

                        @sborg Danke für die Erklärung. Ich konnte damit (noch) nichts anfangen. Ich tue mich mit diesen Array-Funktionen doch etwas schwer.
                        Die Werte werden meistens als Number in die Influx geschrieben.
                        Jetzt haben wir dich umsonst aus dem Wochenende an den Rechner geholt. Oder gibt es noch Verbesserungen (=Windy) ?

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

                          ...und der muss jetzt einfach sein... 😂

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

                          Du bekommst keine Verbindung zur InfluxDB. Im Skript noch alles (Bucket, Instanz) korrekt eingetragen?

                          Aber egal, Hauptsache lüppt widda.

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

                          Warum steht aber bei Regentage 2021 dort undefined?

                          In 2021 gab es die Tage noch nicht, die sind erst 2022 neu dazu gekommen. Man könnte die zwar im JSON nachtragen, ist aber IMO nicht zielführend, denn so sieht man dass es dafür noch keine Daten gab. Bei einer "0" geht man dann einfach davon aus, dass es halt im Mai 2021 bspw. keine Regentage gab.

                          Und die anderen 0-Werte dürften auch nicht stimmen.

                          Was steht denn bspw. im JSON für Mai 2023 drin?

                          [
                            {
                              "Tiefstwert": 2.72,
                              "Hoechstwert": 30.72,
                              "Temp_Durchschnitt": 16.1,
                              "Max_Windboee": 21.88,
                              "Max_Regenmenge": 13.995,
                              "Regenmenge_Monat": 51.58,
                              "warme_Tage": 21,
                              "Sommertage": 8,
                              "heisse_Tage": 1,
                              "Frost_Tage": 0,
                              "kalte_Tage": 0,
                              "Eistage": 0,
                              "sehr_kalte_Tage": 0,
                              "Wuestentage": 0,
                              "Tropennaechte": 0,
                              "Regentage": 9
                            }
                          ]
                          

                          Wenn da "Regentage": 0 steht kann er auch nichts anderes anzeigen. Dann hat damals irgendwas bei der Verarbeitung nicht funktioniert. "Regenmnege" etc. ist aber auch "0", da lief wohl was für den gesamten Mai schief.
                          Pauschal kommt man an die Werte aber jederzeit dran, ist nur aufwändig. Sie stehen aber wenn sie nicht gelöscht wurden in der InfluxDB.

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

                            @rene55
                            JS ist im Ganzen nicht "meins". So langsam bemerke ich auch, wenn ich mal länger mit etwas nicht arbeite, dass ich dann schon wieder einiges vergessen habe 😉

                            "Windy" will noch nicht wie ich wohl will. Ich muss die korrekte "cool down zeit" noch finden, oder mal lesen ob es irgendwo steht, aber API-Dokus sind meist sehr, sehr spärlich...

                            1 Reply Last reply Reply Quote 0
                            • Rene55
                              Rene55 last edited by Rene55

                              @sborg Ok, mach dir wegen Windy keinen Kopf - ist eh nur Beiwerk.
                              Wegen JS: Ich hab schon mehrere Bücher studiert, gesehen habe ich das noch nirgendwo. Aber gut dass es dich gibt. 😊

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

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

                                Pauschal kommt man an die Werte aber jederzeit dran, ist nur aufwändig. Sie stehen aber wenn sie nicht gelöscht wurden in der InfluxDB.

                                Danke, das muss ich mir noch überlegen.
                                Muss mal bei Awekas schaun, seit wann wir dort Daten haben.

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

                                  @sborg

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

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

                                  Habt Ihr eine Idee ? Was ich noch prüfen kann ?

                                  Pauschal bekommst du keine Verbindung vom Display/Gateway zum Rechner auf dem das Skript läuft.
                                  Welche Station nutzt du denn (weil du als Protokoll "DNS" nutzt)?
                                  Falls "DNS" (zB. bei einer Station von Bresser) Absicht ist, funktioniert die DNS-Umleitung der Wunderground-URL zum Skript-Rechner nicht korrekt.

                                  Hi ich das Script nochmal komplett auf eine andere VM installiert. Zusätzlich habe ich bei Wunderground eine neues Device angelegt. Aber es will trotzdem nicht 😞

                                  WS_ID habe ich in der App neu eingetragen und in der Konfig.


                                  DATA von Wetterstation:

                                  Debug VAR:
                                  Installationsverzeichnis: /opt/wetterstation
                                  IPP: 192.168.1.39:8087 WS_PORT: 1080 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation
                                  WEB: HTTP WS_PROT: Wunderground

                                  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.2.0 Config-Version: V3.2.0 Sub-Version: V3.2.0

                                  Kommunikationsfehler!

                                  Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

                                  michael@wetterstation:/opt/wetterstation$ ./wetterstation.sh --data
                                  Connection to 192.168.1.39 8087 port [tcp/*] succeeded!

                                  Warte maximal 66 Sekunden auf Datenpaket der Wetterstation...

                                  Listening on 0.0.0.0 1080

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

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

                                    Listening on 0.0.0.0 1080

                                    Ist das Absicht das du den Port von Socks-Proxy benutzt?
                                    Wenn nicht, benutz mal einen anderen, da dieser meist schon vom Betriebsystem genutzt wird und belegt ist.

                                    M 1 Reply Last reply Reply Quote 1
                                    • M
                                      MyMeyer @Boronsbruder last edited by

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

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

                                      Listening on 0.0.0.0 1080

                                      Ist das Absicht das du den Port von Socks-Proxy benutzt?
                                      Wenn nicht, benutz mal einen anderen, da dieser meist schon vom Betriebsystem genutzt wird und belegt ist.

                                      Den Port hatte ich im Standard gelassen. Habe jetzt einen anderen ausprobiert. Selbes verhalten.


                                      WLAN-Wetterstation V3.2.0 - (c)2019-2023 by SBorg
                                      Config-Version: V3.2.0
                                      Sub-Version : V3.2.0

                                      'bc' installiert: [✓]
                                      'jq' installiert: [✓]

                                      'dc' installiert: [✓]

                                      'nc' in der Openbsd-Variante installiert: [✓]
                                      'netcat' in Openbsd-Variante aktiv, alles korrekt [✓]

                                      Connection to 192.168.1.39 8087 port [tcp/*] succeeded!

                                      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
                                      Sonnenstrahlung : W/m²
                                      UV-Index :
                                      Zeitstempel :
                                      Firmware :
                                      Batteriestand: :
                                      Gateway-Modell :

                                      Zusatzsensoren: keine

                                      Datenstring für ioBroker:

                                      DATA von Wetterstation:

                                      Debug VAR:
                                      Installationsverzeichnis: /opt/wetterstation
                                      IPP: 192.168.1.39:8087 WS_PORT: 1090 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation
                                      WEB: HTTP WS_PROT: Wunderground

                                      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.2.0 Config-Version: V3.2.0 Sub-Version: V3.2.0

                                      Kommunikationsfehler!

                                      Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

                                      michael@wetterstation:/opt/wetterstation$

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MyMeyer @MyMeyer last edited by Negalein

                                        Selbst wenn ich ein Ping von dem Unifi Gateway (Console) machen kommt nichts zurück 😞

                                        root@unifi-lxc:/var/log/unifi# ping weatherstation.wunderground.com
                                        PING a60f001b0bdcd4f64a49719eb2307270-ee5cf64f94dbf2ed.elb.us-east-1.amazonaws.com (52.22.134.222) 56(84) bytes of data.
                                        

                                        Da muss doch irgendwas blocken...

                                        hmm.....

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

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

                                          Da muss doch irgendwas blocken...

                                          Nicht zwangsläufig, man kann einen Webserver auch so konfigurieren, dass er nicht auf einen ping antwortet.
                                          ...und der "Wunderground.com" ist so konfiguriert.

                                          Ich setze mal voraus, dass die IP und Port in der App die richtigen (und gleichen) sind wie in der "conf"?
                                          Auf dieser IP (egal ob "echter" Rechner, VM, Docker...) läuft, oder vielmehr soll dann das Skript laufen?
                                          Wenn du "Wunderground" als Protokoll nutzt ist es elementar wichtig, dass du in der App bei den Customized-Einstellungen bei "path" /weatherstation/updateweatherstation.php? stehen hast und ganz wichtig, kein Leerzeichen davor oder danach!

                                          M 1 Reply Last reply Reply Quote 1
                                          • M
                                            MyMeyer @SBorg last edited by

                                            @sborg ES LÄUFT 🙂
                                            Hi erstmal, kleiner Fehler, große Wirkung ! Es war der Port in der App unter Customized Einstellung.

                                            Danke für euere Geduld 🙂 👍👍👍

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            520
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5399
                                            2877733
                                            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