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

      @boronsbruder Das kommt vom benutzten netcat "nc" und beschreibt meines Wissens den verwendeten Netzwerktyp wie bspw. Kabel gebunden, WLAN...

      @west Deine Daten auf WU habe ich zwischenzeitlich dank @XxJooO gesehen. Da du die auch mittels der Pi-hole Variante nicht bekommst, stimmt entweder mit deinem Netzwerk/-konfiguration etwas nicht, oder du machst schlichtweg einen Fehler (kein Vorwurf und ich habe bis dato auch keinen gesehen, was aber nicht heißen soll, es wäre ev. nicht so 😉 ).

      Mal ganz rudimentär zur Arbeitsweise des Ganzen:

      Mittels VS-View konfiguriert man sein Display so, dass es die Daten an einen definierten "Wetterserver" schickt: PC A unter Port 12345
      Auf dem PC A läuft nun das Skript (bzw. man startet es mittels der Optionen --debug oder --data) dessen wichtigste Konfiguration (in der wetterstation.conf) nun nur der Port 12345 ist, denn genau auf diesen "hört" der eigene Wetterserver nun nur. Egal was nun schief läuft, dieses Datenpaket muss kommen. Kommt da nix wie bei dir, gibt es eigentlich nicht viele Fehlerquellen:

      • die eingetragene IP in der VS-View ist nicht die des PCs auf dem das Skript läuft
      • die eingetragene IP ist doppelt im Netzwerk vorhanden
      • der eingetragene Port in der VS-View stimmt nicht mit dem in der wetterstation.conf überein
      • der benutzte Port ist nicht frei und wird schon von einem anderen Dienst benutzt
      • "nc" in der falschen Version ("nc" ist hier der eigentliche Server, dann erscheint aber eine andere Fehlermeldung)
      • Firewall oä. die den Port/Datenverkehr blockiert

      Ich weiß nicht mehr welche Station(en) es genau waren, aber es könnten durchaus die Sainlogics gewesen sein die rumzickten. Da ging es auch nicht, erst beim x-ten Versuch. Anscheinend übernimmt sie nicht immer die Einstellung der VS-View. So als letzte Fehlerquelle wenn obiges alles ausscheidet. Wenn du aber Daten an WU bekommst, muss auch die Pi-hole Variante funktionieren. Die greift dann einfach die Daten ab die du ins WWW schickst.

      Du kannst auch gänzlich ohne Skript testen. Einfach im Terminal ein nc -nlvw 1 -p xxxx (xxxx = Port der benutzt werden soll) aufrufen. Dann müsste nach spätestens einer Minute ein Datenpaket der Station ankommen, sofern es sie genau an diese IP und den Port schickt.

      1 Reply Last reply Reply Quote 1
      • Christian Wöhrle
        Christian Wöhrle @SBorg last edited by

        @sborg Wunderbar. Dann wird das vermutlich das erste Projekt nach dem Hausbau.
        Vorher gehe ich das jetzt wohl nicht mehr an und stecke die Taler eher in Wasserrohre und USB-Steckdosen.

        R 1 Reply Last reply Reply Quote 0
        • R
          Rand @Christian Wöhrle last edited by

          @SBorg
          Nur mal vorab zur Info,
          habe noch einen WH45 bestellt der dann in 6-12 Wochen kommt
          https://www.ecowitt.com/shop/goodsDetail/97

          "This Particle Detection Sensor detects indoor PM2.5 / PM10 / CO2 / Temperature / Humidity. "

          Ggf können wir den dann noch mit einbauen, ich liefere natürlich die Strings wenn er da ist;)

          Danke & Gruss

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

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

            ich liefere natürlich die Strings wenn er da ist;)

            Ohne wird es sonst auch nix 😁
            Kann es sein, dass es für den WH45 kein passendes Froggit DP2xx - Pendant gibt? Der 200er kann ja nur PM2.5

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

              @sborg

              String wird aussehen wie immer nehme ich an, sind ja alles keine neuen Werte, nur in der Kombination;)
              (Edit: Ups, Co2 haben wir glaube ich doch noch nicht)

              Und ja der Sensor ist recht neu, daher kann das gut sein, dass Froggit noch keinen im Programm hat.

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

                @rand Bis auf CO2 zwar nicht, aber ich brauche ja auch wie die Bezeichnung des Wertes genau lautet. Ich kann es mir zwar in etwa denken, aber wie das mit raten halt so ist: mal liegt man daneben, mal war der andere Wert richtig... 😁

                W 1 Reply Last reply Reply Quote 1
                • W
                  west @SBorg last edited by

                  @sborg

                  Jetzt geht es.

                  wendy2702 1 Reply Last reply Reply Quote 0
                  • wendy2702
                    wendy2702 @west last edited by

                    @west und woran lag es?

                    W 1 Reply Last reply Reply Quote 0
                    • W
                      west @wendy2702 last edited by west

                      @wendy2702

                      Keine Ahnung.

                      Wie ist den das Intervall für die Datenübertragung am ioBroker.

                      Habe noch ein Fehler bei sudo systemctl status wetterstation

                      pi@raspberrypi:~/WLAN-Wetterstation $ sudo systemctl status wetterstation
                      ● wetterstation.service - Service für ioBroker Wetterstation
                         Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
                         Active: failed (Result: exit-code) since Sun 2021-03-14 20:50:35 CET; 12s ago
                        Process: 2937 ExecStart=/home/pi/WLAN-Wetterstation/wetterstation.sh %(#ff0000)[(code=exited, status=1/FAILURE)]
                       Main PID: 2937 (code=exited, status=1/FAILURE)
                      
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Datenstring für ioBroker:
                      Mär 14 20:50:35 raspberrypi systemd[1]: wetterstation.service: Failed with result 'exit-code'.
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: javascript.0.Wetterstation.Innentemperatur=18.61&javascript.0.Wetterstation.Aussentemperatur=4.38&javascript.0.Wetterst
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: DATA von Wetterstation:
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: PASSKEY=67DFA69FDA50D968AE98B9D507E496AC&stationtype=EasyWeatherV1.5.7&dateutc=2021-03-14+19:50:31&tempinf=65.5&humidit
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Debug VAR:
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Installationsverzeichnis: /home/pi/WLAN-Wetterstation
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: IPP: 192.168.178.12:8087        WS_PORT: 8090                WS_POLL: 30                PRE_DP: javascript.0.Wetterstat
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: WEB: HTTP                WS_PROT: Ecowitt        DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0 
                      Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Script-Version: V2.5.0        Config-Version: V2.5.0        Sub-Version: V2.5.0
                      lines 1-16/16 (END)
                      

                      Process: 2937 ExecStart=/home/pi/WLAN-Wetterstation/wetterstation.sh (code=exited, status=1/FAILURE)
                      Main PID: 2937 (code=exited, status=1/FAILURE)

                      SBorg W 2 Replies Last reply Reply Quote 0
                      • SBorg
                        SBorg Forum Testing Most Active @west last edited by

                        Jupp, das ist dann IMHO der 3. Fall wo offensichtlich kein Fehler vorliegt und nach dem x-ten mal probieren ohne etwas zu ändern geht es plötzlich.

                        @west Hast du in der wetterstation.conf ev. noch debug=true stehen? Lt. Ausgabe sieht es danach aus. Für den laufenden Betrieb muss es auf false gesetzt sein.

                        1 Reply Last reply Reply Quote 0
                        • W
                          west @west last edited by

                          @west
                          Nochmal probiert dann ging es .
                          Habe jetzt mal den debug=true auf false gesetzt dann gings.
                          Intervall alle ???

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

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

                            Intervall alle ???

                            Was du in WS-View stehen hast. Bei "30 Sekunden" dann halt 30. Schneller senden die Stationen eh nicht.

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

                              Kleiner Bug in der V2.5.0 bei der "Durchschnittstemperatur vor einem Jahr". Die bleibt bei -99.99°C hängen. Fix ist in der kommenden Version schon drin, die kann aber noch paar Wochen dauern (aktuell nur der neue WH45-Sensor geplant).

                              Wen es stört/schneller haben will:
                              in der wetterstation.sub ziemlich am Ende den Block

                                      AVG_TEMP_365D=$(curl -sG "http://${INFLUX_API}/query?pretty=true" --data-urlencode "epoch=s" --data-urlencode "db=${INFLUX_DB}" \
                                      --data-urlencode "u=${INFLUX_USER}" --data-urlencode "p=${INFLUX_PASSWORD}" \
                                      --data-urlencode "q=SELECT avg(value) FROM \"${PRE_DP}.Aussentemperatur\" WHERE time >= now() - 366d AND time <= now() - 365d" |\
                                      jq -r '.results | .[].series | .[].values[] | .[1]' 2> /dev/null)
                                      if [ -z "${AVG_TEMP_365D}" ]; then
                                        SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=-99.99&ack=true"
                                       else
                                        SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=${AVG_TEMP_365D}&ack=true"
                                      fi
                              

                              durch

                                      AVG_TEMP_365D=$(curl -sG "http://${INFLUX_API}/query?pretty=true" --data-urlencode "epoch=s" --data-urlencode "db=${INFLUX_DB}" \
                                      --data-urlencode "u=${INFLUX_USER}" --data-urlencode "p=${INFLUX_PASSWORD}" \
                                      --data-urlencode "q=SELECT mean(value) FROM \"${PRE_DP}.Aussentemperatur\" WHERE time >= now() - 366d AND time <= now() - 365d" |\
                                      jq -r '.results | .[].series | .[].values[] | .[1]' 2> /dev/null)
                                      if [ -z "${AVG_TEMP_365D}" ]; then
                                        SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=-99.99&ack=true"
                                       else
                                        AVG_TEMP_365D=$(round ${AVG_TEMP_365D} 2)
                                        SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=${AVG_TEMP_365D}&ack=true"
                                      fi
                              

                              ersetzen:
                              Bild 1.png

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

                                @sborg Habs geändert, macht hier aber trotzdem nix:
                                a2a35275-747f-46d5-8234-89359f4b42f8-grafik.png

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

                                  @ilovegym Loggst du die Aussentemperatur schon >= 365 Tage?
                                  Bei mir ging es auch erst seit gestern, da ich wohl genau da angefangen hatte zu loggen 😁
                                  Die Durchschnittstemperatur war aber schlichtweg falsch ("avg" gibt es bei Influx gar nicht + dann war auch noch runden nötig)...

                                  btw: Hast du deinen Trichter wieder gefunden, neuen gedruckt, bei Froggit oä. einen geordert...?

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

                                    @sborg ahh nee, erster Log ist vom 4.6.20, da werde ich noch etwas warten müssen...

                                    Mein Trichter habe ich aus den Blumen gefischt, ist nix kaputt, keine Ahnung wie der sich lösen konnte..
                                    Kann zur Zeit wegen Bandscheibe nicht so aufs Dach..

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      ratte01 @Rushmed last edited by

                                      @rushmed Welcher Fehler war das? Ich bekomme auch keine Daten
                                      lgr

                                      1 Reply Last reply Reply Quote 1
                                      • R
                                        ratte01 last edited by

                                        Hallo!
                                        Ich habe ein Problem mit der InfluxDB. Die Verbindung zur Station passt, die Werte kommen auch in den iobroker nur es kommt nichts in die Datenbank. Suche schon eine ganze Zeit, finde aber nichts.
                                        Danke mal.

                                        lgr

                                        Übersicht
                                        242c1936-555e-406d-9edd-a523de6ff0c6-image.png

                                        Javascript
                                        4916d2c6-43e4-4582-bd74-daf16b8342cf-image.png

                                        Einstellungen
                                        56589e4e-e8e2-4f79-acd7-350624d13e4c-image.png

                                        Adapter InofluxDB
                                        2e5a1501-f514-4138-a443-5d2bd1d6d667-image.png

                                        Raspi InofluxDB
                                        a1dfbc51-0419-4bcd-890b-63f78d88d638-image.png

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

                                          @ratte01 Hast du eine falschen Screenshot erwischt? Denn du hast einen vom "History-Adapter" gepostet, oder hast du den aus versehen anstelle vom Influx aktiviert ? 😁

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

                                            @sborg Ma! Danke!
                                            Dieser iobroker macht mich noch Wahnsinnig.
                                            Jetzt sehe ich die Daten in der influxDB. 👍

                                            Muss aber noch mal lästig sein.
                                            1.) Ich habe das Grafana konfiguriert und dieses JSON eingespielt: Dashboard, die DB Connection geht, aber ich sehe keine Werte im Dashboard.
                                            2.) Gibt es fuer die influxDB Werte im iobroker eine best practice? Was stellt man da ein? Ich hole derzeit alle 60s die Daten von der Wetterstation. Was stelle ich bei den Punkten 1-7 am Besten ein?
                                            Danke

                                            7c8f31cf-f6b8-4c64-8a65-14fa63e22195-image.png

                                            R SBorg 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            443
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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