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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Linux Shell-Skript] WLAN-Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rushmed Most Active @SBorg last edited by Rushmed

      @sborg Bei mir siehts dann so aus:

      pi@Smartazamba:~/Wetterstation $ . ./wetterstation.conf
      pi@Smartazamba:~/Wetterstation $ . ./wetterstation.sub
      pi@Smartazamba:~/Wetterstation $ minmax24h DEBUG
      jq: error (at <stdin>:0): Cannot iterate over null (null)
      jq: error (at <stdin>:0): Cannot iterate over null (null)
      
      

      Also funktioniert wohl meine Influxverbindung nicht?

      Bucket, Token und Organisation hab ich geprüft. Die stimmen, wobei ich Bucket und Instanz in Klarschrift angegeben habe. Die Influx_API stimmt auch. Habe alles aus meinen InfluxDB Instanzeinstellungen kopiert.

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

        @sborg
        also bei mir kommt das raus
        min.temp3.png

        und das es Probleme mit dem auslesen der Daten gibt kann ich mir ehrlich gesagt nicht vorstellen,
        da alle anderen Werte korrekt angezeigt werden. Nur bei diesen Beiden ist was faul.

        min.temp5.png

        min.temp4.png

        Für mich sieht es so aus als wenn die Daten schon falsch an die Datenbank geliefert werden.
        Kann mich natürlich auch täuschen, du bist der ScriptWetterGott 😀

        Achja, Bucket, Token usw. alles OK.

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

          @rushmed Zumindest ist nun eindeutig, dass das so bei dir nicht funktionieren kann.
          Was mir aber überhaupt nicht einleuchtet (der eigentliche Fehler schon): an der Stelle wird überhaupt kein "jq" (JSON-Parser) verwendet.

          Ich habe es eben noch mal getestet, nun ist mein Minwert auf 9.22°C gefallen, funktioniert also...
          Wenn du die Shell noch offen hast, frag mal die Influx direkt ab (sonst nochmal die beiden Zeilen vorher mit conf/sh ausführen:
           influx_query "-1d" "now()" "Aussentemperatur" "min"

          Bild 002.png

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

            @nashra Sagen wir es mal so, der Debug zeigt, dass er nichts auslesen kann. Auch wenn die Daten falsch kämen, müsste er sie zumindest auslesen können 😉
            Stimmt denn bspw. in Grafana deine aktuelle Außentemperatur, denn auf diesem einen Messwert fußt alles andere.
            Wie sehen denn die RAW-Werte aus und wie loggst du (alles oder nur Änderung) ?

            Du kannst den Aufruf mit dem "influx_query" übrigens auch testen. Anstelle von "min" auch gerne "max" oder "mean", "-1d" heißt aktuelle Zeit minus 1 Tag. Man kann auch den Zeitraum bspw. durch "-7d" auf eine Woche erweitern.

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

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

              @nashra Sagen wir es mal so, der Debug zeigt, dass er nichts auslesen kann. Auch wenn die Daten falsch kämen, müsste er sie zumindest auslesen können 😉
              Stimmt denn bspw. in Grafana deine aktuelle Außentemperatur, denn auf diesem einen Messwert fußt alles andere.

              Ja der Messwert für die Außentemperatur stimmt. Habe einige Stationen in der Nähe, selbe Werte.

              Wie sehen denn die RAW-Werte aus und wie loggst du (alles oder nur Änderung) ?

              es wird alles geloggt.

              Du kannst den Aufruf mit dem "influx_query" übrigens auch testen. Anstelle von "min" auch gerne "max" oder "mean", "-1d" heißt aktuelle Zeit minus 1 Tag. Man kann auch den Zeitraum bspw. durch "-7d" auf eine Woche erweitern.

              Habe ich schon probiert, da passiert gar nichts d.h. keine Ausgabe.

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

                @sborg

                coole Sache! Danke!
                ich hab mal getestet, da ich hier auch n Bug vermutet habe, aber jetzt scheint alles zu stimmen, dies sind die Ausgaben:

                ilovegym@iobroker:/opt/iobroker$ minmax24h DEBUG
                Testing InfluxDB... min/max Aussentemperatur 24h: 9.38
                9.72°C 14.11
                13.72°C
                ilovegym@iobroker:/opt/iobroker$ influx_query "-7d" "now()" "Aussentemperatur" "min"
                -2.61
                -2.5
                ilovegym@iobroker:/opt/iobroker$
                
                
                1 Reply Last reply Reply Quote 1
                • SBorg
                  SBorg Forum Testing Most Active @Nashra last edited by

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

                  da passiert gar nichts d.h. keine Ausgabe.

                  Ich vermute fast, dass das ein ähnliches Problem wie mit dem JSON ist...

                  Frage mal die Influx direkt per CLI ab (conf + sub müssen dazu noch geladen sein, sonst halt wieder ". ./wetterstation..."), alles eine Zeile:

                  curl --request POST "${INFLUX_WEB}://${INFLUX_API}/api/v2/query?org=${INFLUX_ORG}" --header 'Content-Type: application/vnd.flux' --header 'Accept: application/csv' --header "Authorization: Token ${INFLUX_TOKEN}" --data 'from(bucket: "'${INFLUX_BUCKET}'") |> range(start: -1d, stop: now()) |> filter(fn: (r) => r._measurement == "'${PRE_DP}'.Aussentemperatur" and r._field == "value") |> min()'
                  

                  Bild 003.png

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

                    jack@ioBroker:~$ curl --request POST "${INFLUX_WEB}://${INFLUX_API}/api/v2/query?org=${INFLUX_ORG}" --header 'Content-Type: application/vnd.flux' --header 'Accept: application/csv' --header "Authorization: Token ${INFLUX_TOKEN}" --data 'from(bucket: "'${INFLUX_BUCKET}'") |> range(start: -1d, stop: now()) |> filter(fn: (r) => r._measurement == "'${PRE_DP}'.Aussentemperatur" and r._field == "value") |> min()'
                    curl: (7) Failed to connect to 192.168.1.121 port 80: Connection refused
                    jack@ioBroker:~$ 
                    
                    SBorg Boronsbruder 2 Replies Last reply Reply Quote 0
                    • SBorg
                      SBorg Forum Testing Most Active @Nashra last edited by

                      @nashra Erwischt 😂

                      Port 80? Da läuft doch bestimmt nicht deine Influx drauf...?

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

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

                        @nashra Erwischt 😂

                        Port 80? Da läuft doch bestimmt nicht deine Influx drauf...?

                        Nö, habe mich auch gerade gewundert, im Adapter ist 8086 eingetragen

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

                          ALso ich bin dafür, dass wir lieber bei der Influx v1 bleiben 😄

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

                            @boronsbruder War nicht meine Idee 😊

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

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

                              im Adapter ist 8086 eingetragen

                              ...und in der wetterstation.conf ?

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

                                @Nashra
                                und in der wetterstation.conf?
                                Edith: da war einer schneller 😉

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

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

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

                                  im Adapter ist 8086 eingetragen

                                  ...und in der wetterstation.conf ?

                                  Verdammt, da steht nix von Port. Habe ich überlesen, Asche über mein Haupt 😟
                                  Jetzt zeigt er es richtig an, verdammt 😬
                                  Hatte die .conf komplett neu gemacht und naja man wird alt.
                                  Trotzdem Danke, an die .conf hätte ich jetzt nie gedacht

                                  min.temp6.png

                                  🍻

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

                                    @sborg

                                    pi@Smartazamba:~/Wetterstation $ influx_query "-1d" "now()" "Aussentemperatur" "min"
                                    -bash: influx_query: command not found
                                    

                                    Welche beiden Zeilen soll ich mit conf und sh ausführen?

                                    Edit: Hab mein Problem gefunden.
                                    In meine conf hat der Eintrag gefehlt:

                                      #Protokoll (HTTP oder HTTPS) / default: HTTP
                                       INFLUX_WEB=HTTP
                                    
                                    SBorg 1 Reply Last reply Reply Quote 0
                                    • mango1402
                                      mango1402 @Neuschwansteini last edited by

                                      @viper4iob @ilovegym @Latzi
                                      zum Thema mit der lahmen Influx-V2 Abfrage siehe hier:
                                      https://forum.iobroker.net/post/958290

                                      Es erscheint Licht am Ende des Tunnels 😉

                                      1 Reply Last reply Reply Quote 1
                                      • R
                                        Rushmed Most Active @Quarkmax last edited by

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

                                        @nashra
                                        in diesen Fehler bin ich auch gerannt. Schau mal in der wetterstation.conf ober dort dieser Eintrag

                                          #Protokoll (HTTP oder HTTPS) / default: HTTP
                                           INFLUX_WEB=HTTP
                                        

                                        vorhanden ist. Der hat bei mir gefehlt. Warum? - konnte ich nicht verifizieren. Dann kamen die Werte korrekt.

                                        Achtung das muss es zweimal geben, in den Zeilen 37/37, sowie 60/61.

                                        @SBorg die Zeilen 60/61 haben in meiner conf gefehlt.

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

                                          @Nashra Kaum macht man es richtig.... 😀


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

                                          Welche beiden Zeilen soll ich mit conf und sh ausführen?

                                          Ist jetzt zwar eh zu spät, aber ich meinte . ./wetterstation.conf und . ./wetterstation.sub
                                          Erstere lädt deine ganzen Einstellungen vom Projekt in die aktive Shell, zweites dann die Befehle. minmax24h und influx_query sind ja keine Linux-Befehle, sondern Funktionen aus dem Skript.
                                          Das gilt aber nur für die aktuelle Shell. Schließt man (bspw. eine Sitzung mittels Putty) die Shell, werden auch die Einstellungen und Funktionen entladen.


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

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

                                          @nashra
                                          in diesen Fehler bin ich auch gerannt. Schau mal in der wetterstation.conf ober dort dieser Eintrag

                                            #Protokoll (HTTP oder HTTPS) / default: HTTP
                                             INFLUX_WEB=HTTP
                                          

                                          vorhanden ist. Der hat bei mir gefehlt. Warum? - konnte ich nicht verifizieren. Dann kamen die Werte korrekt.

                                          Achtung das muss es zweimal geben, in den Zeilen 37/37, sowie 60/61.

                                          @SBorg die Zeilen 60/61 haben in meiner conf gefehlt.

                                          Nicht ganz. Erstes (~ #37) gibt es schon seit Begin des Ganzen und regelt die (un)verschlüsselte Kommunikation mit dem SimpleAPI-Adapter und heißt WEB=
                                          Zweites (~ #60) kam jetzt mit der InfluxDB V2.x neu dazu und regelt die (un)verschlüsselte Kommunikation zur InfluxDB-API (nicht Adapter vom ioB) und heißt INFLUX_WEB=

                                          Der Beta-Updater fügt diese Zeile(n) automatisch hinzu. Da dies aber ein "simples" suchen-ersetzen-einfügen-anhängen ist, muss der Suchterm aber auch genau gefunden werden. Deswegen sollte man keine Änderungen in der *.conf vornehmen (Werte eintragen/ändern mal ausgenommen 😉 ), da sonst uU. ein Update fehlschlägt.
                                          Im vorliegenden Fall wird durch

                                          sed -i '/^.*#InfluxDB-Konfiguration \/ ohne InfluxDB alles leer lassen.*/a \  #Protokoll (HTTP oder HTTPS) / default: HTTP\n   INFLUX_WEB=HTTP' ./wetterstation.conf
                                          

                                          nach "#InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen" gesucht und dann

                                          #Protokoll (HTTP oder HTTPS) / default: HTTP
                                             INFLUX_WEB=HTTP
                                          

                                          angehängt. Hat man nun in der "vermeintlichen" Kommentarzeile etwas geändert, findet er sie nicht und fügt dementsprechend auch nichts hinzu.
                                          Ich habe zwar schon das Suchmuster weitläufiger ausgelegt, aber ein fehlendes Leerzeichen zwischen den Wörtern oder ein "Influx" anstelle von "InfluxDB" etc. kann ich so nicht berücksichtigen/ausschließen.

                                          Man sollte also möglichst an der Originaldatei nichts ändern und nur seine Werte eintragen, denn nur mit der ursprünglichen Originalsyntax kann ich es auch testen. Anders geht es an dieser Stelle leider nicht.

                                          ...mal als Hinweis an Alle warum das ein oder andere so ist wie es ist 😉

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

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

                                            @Nashra Kaum macht man es richtig.... 😀

                                            Du sagst es. Hatte die alte .conf auf dem zweiten Monitor
                                            und beim eintippen in die Neue glatt den Port vergessen/überlesen 🤦‍♂️

                                            Aber mal zu Grafana. Habe meine alte View in die neue Grafana übernommen,
                                            nur leider funktionieren nicht alle DP. Bei einigen wird mir dies angezeigt
                                            zeitstempel.png

                                            Ok, wird nicht unterstützt aber wie bekomme ich es trotzdem angezeigt. DP ändern?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            990
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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