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

      @babl Danke für die Rückmeldung 😉

      Negalein 1 Reply Last reply Reply Quote 0
      • 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
                                            • 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
                                            3254744
                                            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