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.
    • Negalein
      Negalein Global Moderator @SBorg last edited by Negalein

      @sborg

      Hallo

      sagt dir dieser Error etwas?

      javascript.1 2024-11-20 01:03:00.022	error	at processImmediate (node:internal/timers:483:21)
      javascript.1 2024-11-20 01:03:00.022	error	at Immediate._onImmediate (file:///opt/iobroker/node_modules/@iobroker/db-states-redis/src/lib/states/statesInRedisClient.ts:381:37)
      javascript.1 2024-11-20 01:03:00.022	error	at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:10886:45)
      javascript.1 2024-11-20 01:03:00.022	error	at Object.cb (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:3097:38)
      javascript.1 2024-11-20 01:03:00.021	error	at Object.<anonymous> (script.js.Wetter.Wetterstatistik:195:43)
      javascript.1 2024-11-20 01:03:00.021	error	at Array.reduce (<anonymous>)
      javascript.1 2024-11-20 01:03:00.021	error	Error in callback: TypeError: Reduce of empty array with no initial value
      javascript.1 2024-11-20 01:03:00.019	error	script.js.Wetter.Wetterstatistik: Fehler beim Lesen der InfluxDB: Invalid call
      influxdb.0 2024-11-20 01:03:00.014	error	query: Error: error parsing query: found FROM, expected SELECT, DELETE, SHOW, CREATE, DROP, EXPLAIN, GRANT, REVOKE, ALTER, SET, KILL at line 1, char 1
      

      was geschiet da in Zeile 195?

      let MonatsTemp_Durchschnitt = Math.round(((((getState(PRE_DP+'.aktueller_Monat.Temperatur_Durchschnitt').val)*(zeitstempel.getDate()-1))+Temp_Durchschnitt)/zeitstempel.getDate())*100)/100;
      

      irgendwas passt da nicht. wenn du dir die Werte anschaust.

      26f754fa-6292-4754-817b-dcba2f23ee98-image.png

      Boronsbruder SBorg 2 Replies Last reply Reply Quote 0
      • Boronsbruder
        Boronsbruder @Negalein last edited by

        @negalein
        Die Ursache ist eine falsche Abfrage der InfluxDB

        influxdb.0 2024-11-20 01:03:00.014	error	query: Error: error parsing query: found FROM, expected ...
        

        Das Ergebnis ist dann ein leeres Array was zu dem Fehler in Zeile 195 führt:

        Reduce of empty array with no initial value
        
        Negalein 1 Reply Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @Boronsbruder last edited by Negalein

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

          Die Ursache ist eine falsche Abfrage der InfluxDB

          komisch.
          Hab gerade nochmal das Script gecheckt.

          Da ist das richtige Bucket eingetragen.


          Edit: ah, ich Depp!! Hab die falsche Influx Instanz eingetragen gehabt.

          1 Reply Last reply Reply Quote 0
          • I
            ioTobias last edited by

            Hallo zusammen.

            Nun bräuchte auch ich mal eure Hilfe.
            Ich hatte meine Wetterstation bereits ca. 2 Jahre problemlos als Docker-Container auf einer Synology am laufen.
            Nun bin ich dabei, mein gesamtes System auf unRaid umzuziehen. Aber an der Wetterstation, bzw. an der Einrichtung des Containers dafür scheitere ich momentan kläglich. Wie bereits erwähnt, habe ich das ganze ja schonmal erfolgreich eingerichtet.... Leider kann ich mich daran nicht mehr wirklich erinnern (was dafür spricht, dass es damals problemlos klappte).
            Mein erster Versuch war nun, einfach meinen (funktionierenden) Synology-Container in Unraid zu importieren und die Adressierungen anpassen. Leider funzte das nicht (k.A. warum).
            Beim 2. Versuch, den Container neu (mithilfe der docker-compose.yml von github) auszurollen, ist das Ergebnis im Endeffekt das gleiche. --> Container läuft, aber keine Daten im iobroker.
            Deshalb mal eine grundsätzliche Frage: Wenn der Container nach der vorgeschlagenen .yml erstellt ist, und die wetterstation.conf, wetterstation.sh und wetterstation.sub im gemounteten Ordner liegen, was muss dann innerhalb des Containers noch konfiguriert werden?

            Danke 😀

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

              So, auch mal wieder im Lande 🙃
              Waren jetzt doch schon wieder fast 4 Wochen, wird auch in naher Zukunft nicht besser werden.

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

              was geschiet da in Zeile 195?

              Auch wenn schon erledigt, dies ist Javascript typisch. Die ausgegebene Fehlerzeile ist meist nicht das ursächliche Problem, nur da hat es dann letztendlich "geknallt". Der Fehler war, wie bereits behoben, Eingangs die fehlerhafte Influx-Abfrage.

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

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

                Nun bräuchte auch ich mal eure Hilfe.

                Da muss ich leider passen. Docker nutze ich nicht und kenne mich damit auch mehr als bescheiden aus. Die YAML stammt von einem User 😉

                Eine mögliche Ursache wäre aber ein nicht geöffneter Port oder falsche IP-Adresse. Dann schickt die Station die Daten nicht an den Container bzw. blockt sie ab.

                Test ob Daten ankommen (Display/Gateway läuft): ./wetterstation.sh --data im Installationsverzeichnis ausführen.
                Bild 001.png
                Die 1. Zeile ist die IP meines ioB-Rechners mit Port des SimpleAPI-Adapters
                "Listening 0.0.0.0 1080" bedeutet dann lausche auf allen Netzwerkinterfaces (also bspw. LAN, WLAN,...) auf Port 1080
                "1080" ist der Port an den das Display/Gateway seine Daten sendet. Ev. musst du da nun einen anderen nutzen als den Beispielport.

                btw: bei mir kam da kein Paket, da das Skript aktiv bei mir lief. Zwei Programme/Dienste auf einem Port geht nicht gut.

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

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

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

                  Nun bräuchte auch ich mal eure Hilfe.

                  Da muss ich leider passen. Docker nutze ich nicht und kenne mich damit auch mehr als bescheiden aus. Die YAML stammt von einem User 😉

                  Eine mögliche Ursache wäre aber ein nicht geöffneter Port oder falsche IP-Adresse. Dann schickt die Station die Daten nicht an den Container bzw. blockt sie ab.

                  Test ob Daten ankommen (Display/Gateway läuft): ./wetterstation.sh --data im Installationsverzeichnis ausführen.
                  Bild 001.png
                  Die 1. Zeile ist die IP meines ioB-Rechners mit Port des SimpleAPI-Adapters
                  "Listening 0.0.0.0 1080" bedeutet dann lausche auf allen Netzwerkinterfaces (also bspw. LAN, WLAN,...) auf Port 1080
                  "1080" ist der Port an den das Display/Gateway seine Daten sendet. Ev. musst du da nun einen anderen nutzen als den Beispielport.

                  btw: bei mir kam da kein Paket, da das Skript aktiv bei mir lief. Zwei Programme/Dienste auf einem Port geht nicht gut.

                  Vielen Dank für die Antwort.
                  Ja, diese Dinge habe ich bereits getestet. In punkto Container komm ich nicht weiter. 🤷‍♂️
                  Mittlerweile habe ich die Installation in einer schlanken Ubuntu-VM aufgesetzt, dies hat auf Anhieb geklappt. Das lass ich nun erstmal so, wenn auch vielleicht etwas "übertrieben". 🙂

                  1 Reply Last reply Reply Quote 0
                  • H
                    hoschi2007 last edited by

                    Re: [Linux Shell-Skript] WLAN-Wetterstation

                    Hallo zusammen, u.a. die DP Temp_Aussen_Heute_max & Temp_Aussen_Heute_max sind bei mir immer die aktuelle Tempertur und sind identisch. Offensichtlich bekomme ich keine Verbindung zur Influxdb2 hin:

                    wetter@iobroker:~/wetterstation $ sudo systemctl stop wetterstation
                    wetter@iobroker:~/wetterstation $ . ./wetterstation.conf
                    wetter@iobroker:~/wetterstation $ . ./wetterstation.sub
                    wetter@iobroker:~/wetterstation $ minmax24h DEBUG
                    Testing InfluxDB... min/max Aussentemperatur 24h: °C °C
                    

                    Die "wetterstation.conf" sieht meiner Meinung nach ok aus:

                     #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=192.168.2.77:8086
                      #Bucket, Token und Organisation der InfluxDB
                       INFLUX_BUCKET=IOB
                       INFLUX_TOKEN=rjg55z...abgekürzt........_Q==
                       INFLUX_ORG=Logical-Industries
                    

                    "systemctl status wetterstation" bringt auch keine Fehlermeldung.
                    Was kann ich denn noch wo & wie prüfen?

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

                      @hoschi2007
                      Dienst stoppen und mit

                      ./wetterstation.sh --debug
                      

                      testen.
                      Damit wird meines Wissens auch die Influx-Verbindung getestet.
                      Und mal ins Log der Influx-Datenbank reinschauen, ob dort irgendewelche Verbindungen fehlerhaft sind.

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

                        @boronsbruder
                        das hatte ich auch schon gemacht und es sieht alles ok aus. Da sehe ich aber leider gar keine Infos zur Influxdb-Verbindung.

                        Kannst du einen Hinweis geben wo ich in der GUI von Influxdb nach den Logs gucken kann? Oder müssen die erst eingeschaltet werden?

                        Die Werte werden doch vom Wetterstation-Script direkt in die Influxdb geschrieben und nicht über die DP im Iobroker bzw dem Influx-Adapter, oder?

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

                          @hoschi2007
                          In den Versionshinweisen des Skripts ist der Parameter "--influx_test" vermerkt:

                          V3.1.0 / 16.03.2023    + Windböe max für Stationen die den Wert nicht liefern
                                                 + Option "k" für selbstsignierte Zertifikate bei der Influx-Abfrage hinzugefügt
                                                 + Parameter "--influx_test" zum test der Influx-Konnektivität
                                                 + Fix "MetSommer" (Skript bleibt bei den Mitternachtjobs hängen)
                          

                          Zu den Influx-Logs sagte mir Google -> https://docs.influxdata.com/influxdb/v2/admin/logs/#logs-when-running-influxdb-as-a-service

                          sudo journalctl -u influxdb.service
                          
                          H 1 Reply Last reply Reply Quote 0
                          • H
                            hoschi2007 @Boronsbruder last edited by

                            @boronsbruder
                            oh man! Man sollte Installationsanleitungen zuende Lesen!😖
                            Die Lösung war: die Objekte in die DB zu schreiben indem das Logging der drei Objekte aktiviert wird:

                            0_userdata.0.Wetterstation.Aussentemperatur
                            0_userdata.0.Wetterstation.Wind_max
                            0_userdata.0.Wetterstation.Regen_Tag
                            

                            Hat mich jetzt fast zwei Tage gekostet, aber ich habe wieder einiges gelernt 😊

                            1 Reply Last reply Reply Quote 1
                            • B
                              babl last edited by

                              Hatte heute folgenden Fehler im Log.

                              2025-01-01 01:03:00.043 - info: javascript.0 (2232791) script.js.common.Wetterstation.Statistik: Auswertung durchgeführt...
                              2025-01-01 01:03:00.168 - info: javascript.0 (2232791) script.js.common.Wetterstation.Statistik: Ausführung zum Monatsersten beendet...
                              2025-01-01 01:03:00.313 - error: javascript.0 (2232791) script.js.common.Wetterstation.Statistik: null
                              

                              Kann mir hier jemand helfen, was das sein könnte. Danke euch

                              P.S: Wünsche allen noch ein gesundes neues Jahr 2025

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

                                @SBorg
                                Ich hab mal wieder ein Statistik-"Fehler"(?):
                                bc53c27d-117e-48f8-9dc8-a5b19948ea2a-grafik.png
                                43l/m²?
                                aber gestern hat es nicht geregnet:
                                14891b7e-5b83-4a34-8cfa-1a1d0c726451-grafik.png
                                Das wurde wohl zum Jahres-Ersten nicht zurückgesetzt?

                                P.S.:
                                63fee75f-2aa0-44ee-bceb-5e331af9b1ad-grafik.png
                                Die Station hat sich aber brav zum 1.1. zurückgesetzt

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

                                  @boronsbruder genau das meinte ich auch 1 Post über deinen mit meinem Fehler, der regenmengenmonat wird nicht zurückgesetzt, alles andere funktioniert. Das wird dann wahrscheinlich der Wert (Null) sein.

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

                                    Zwar drei Wochen her, deswegen zur üblichen Info "alle Jahre mal wieder": ich schreibe nichts in die InfluxDB 😉

                                    Der "Null"-Fehler ist nur ein Schönheitsfehler, außer man hat gerade mit der Statistik angefangen. Im 1. Jahr der Statistik wird diese einmalig resettet, da kein kpl. Jahr vorliegt, dies also auch keine Jahresstatistik ist.
                                    Mit einer Änderung am JS/JSC funktioniert mittlerweile das Lesen des Timestamps auf einem "Folder" nicht mehr = ergibt "Null". Da die Funktion aber immer nur am 01.01. ausgeführt wird ist es wohl bisher nie aufgefallen.
                                    Die Änderung ist easy: anstelle getState muss einfach getObject benutzt werden 😉
                                    Neue Version liegt auf GitHub.

                                    @Boronsbruder
                                    Das hängt mit https://github.com/SBorg2014/WLAN-Wetterstation/issues/74 zusammen. Fix gibt es aktuell noch keinen, da es sich um einen Designfehler (oder Denkfehler) meinerseits handelt. Am Monatsletzten wird im Grunde keine Auswertung mehr gefahren und Teile mit auf den 01. des Folgemonats gezogen. Da brauche ich Ruhe und Zeit dafür. Beides aktuell absolute Mangelware.

                                    ludda78 created this issue in SBorg2014/WLAN-Wetterstation

                                    open Wetterstatistik - Tiefstwert vom letzten Tag des Monats nicht erfasst #74

                                    Boronsbruder B 2 Replies Last reply Reply Quote 3
                                    • Boronsbruder
                                      Boronsbruder @SBorg last edited by

                                      @sborg
                                      Alles easy! Kein Stress wegen sowas!

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        chka last edited by

                                        Ich brauche eure Hilfe meine Bresser Basis Station hat das zeitliche gesegnet, in dem sich das WLAN Modul verabschiedet hat. Resetten und co geht auch nicht mehr, schaltet man den AP Modus ein, erstellt er auch kein neues Netz mehr.

                                        Also schnell dank A ein neues Set bestellt, und nur die Basis Station in Betrieb genommen.
                                        Diese ist von der Bauform gleich, einzig sie wird jetzt mittels USB C bestrom.

                                        Die Inbetriebnahme ist allerdings neu, hierfür wird jetzt ein App WS Link benötigt.
                                        In dieser kann ich Wlan und die wunderground daten setzen.
                                        Lösche ich in der Host-Datei vom pihole den Eintrag für "rtupdate.wunderground.com" schickt die Station die Daten direkt zu Wundergrount.

                                        Trage ich in die host wieder meine 192.168.X.159 rtupdate.wunderground.com ein kommen keine Daten bei wunderground an und eigendlich sollte jetzt auch das shell skript laufen.

                                        ping vom Rechner landet auf der 159

                                        Macht es aber nicht:

                                        WLAN-Wetterstation V3.4.0 - (c)2019-2024 by SBorg
                                         Config-Version: V3.4.0
                                         Sub-Version   : V3.4.0
                                        
                                         'bc' installiert: [✓]
                                         'jq' installiert: [✓] 
                                        
                                         'dc' installiert: [✓] 
                                        
                                         'nc' in der Openbsd-Variante installiert:  [✓]
                                         'netcat' in Openbsd-Variante aktiv, alles korrekt [✓]
                                        
                                        
                                        Connection to 192.168.X.152 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: /home/wetter/wetterstation
                                         IPP: 192.168.X.152: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.4.0  Config-Version: V3.4.0  Sub-Version: V3.4.0
                                        
                                        Kommunikationsfehler!
                                        
                                        
                                        Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein? 
                                        

                                        ich habe ehrlich keine Idee mehr, es kommen keine Daten am Script an aber wiso?

                                        Das Skript läuft auf Proxmox in einer eigenen VM, Pihole ist eine separate Maschine,

                                        sudo iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 1080
                                        

                                        Ist auch ausgeführt

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          chka @chka last edited by chka

                                          anbei noch ein wireshark mitschnitt:
                                          166.txt
                                          166 ist die basisstation und 109 in diesem fall der rechner

                                          ich wundere mich ein wenig über den 443

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

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

                                            ich wundere mich ein wenig über den 443

                                            Da ich es selbst nicht nutze und keine Bresser-Station mein Eigen nenne, kann ich dazu nichts beitragen ob dies normal ist oder nicht.

                                            Zum eigentlichen Problem: so sieht alles richtig aus, es könnte auch "einfach" sein, dass Bresser was am Protokoll geschraubt hat was nun durch die Validierung fällt.
                                            Versuch mal ein ./wetterstation.sh --data im Installationsverzeichnis, der Dienst darf dabei aber nicht laufen [sudo] systemctl stop wetterstation.
                                            Das gibt dann ein RAW-Paket des empfangenen (falls es tatsächlich nur an der Validierung liegt) Datenstrings aus.
                                            Falls das funktioniert muss ich die Validierung ändern und bräuchte den String (Nutzerdaten gerne x-en, aber dabei bitte die Anzahl der "x" zum Originalstring beibehalten und nicht kürzen 😉 )

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            142
                                            5471
                                            3255536
                                            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