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.
    • Nashra
      Nashra Most Active Forum Testing @Negalein last edited by

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

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

      Wie sieht es aus, kommt jetzt was...

      Nö, leider nicht.
      Ich verstehs nicht mehr.

      In WeatherSmart for WiFi zeigt er sie direkt an.
      Nur in ioB kommt nichts an.

      Seltsam, bei mir zeigt er in WeatherSmart bei WindBoee max 180 an was absolut nicht kann,
      ändert sich aber auch nicht und war eigentlich schon immer so.
      Aber das er in den DP nicht schreibt kapiere ich ehrlich gesagt auch nicht.
      Wo ich das Update der .sh gemacht habe hatte ich mich auch erst gewundert
      warum keine Daten kamen, hatte vergessen mit chmod die Rechte zu setzen 😂
      aber ich gehe davon aus das bei dir die anderen Werte ja kommen.
      Vielleicht hat sonst @SBorg noch eine Idee.

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

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

        Seltsam, bei mir zeigt er in WeatherSmart bei WindBoee max 180 an was absolut nicht kann,

        die Werte in WeatherSmart stimmen bei mir. Auch die max. Böe.
        45af8be2-b544-4b76-96c0-4fdd274f8a24-image.png

        hatte vergessen mit chmod die Rechte zu setzen 😂
        aber ich gehe davon aus das bei dir die anderen Werte ja kommen.

        Ja, alle anderen Werte kommen wie gehabt rein.
        Das sind zB die ganzen Werte seit Mitternacht.
        Wetter.xlsx

        Vielleicht hat sonst @SBorg noch eine Idee.

        wie heißt das Lied? "der Papa wirds schon richten, ...." 😉

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

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

          "der Papa wirds schon richten, ...."

          Na dann wollen wir mal, wobei es eigentlich in die Rubrik "kann eigentlich nicht sein..." gehört 😉

          Die Funktion kann ich testen, den Trigger nur simulieren.
          Schauen wir mal od die Funktion bei dir was liefert. Im Installationsverzeichnis stehend:

          • . ./wetterstation.conf
          • . ./wetterstation.sub
          • influx_query "-1d" "now()" "Wind_max" "max"

          Da sollte dann ein Wert kommen:
          Bild 001.png

          Dann die lange Version, so wie die Funktion tatsächlich ist:

          • FLUXSTART=$(date +%Y-%m-%d --date="-1 day")"T23:00:00Z"
          • echo $FLUXSTART
          • influx_query "$FLUXSTART" "now()" "Wind_max" "max"

          Kann das selbe Ergebnis liefern, muss aber nicht. 1. Version liefert die letzten 24h, die 2. ab Mitternacht (beides bis aktuell "jetzt")

          Bild 002.png

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

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

            Da sollte dann ein Wert kommen:

            da kommt nichts

            dietpi@DietPi:~$ cd /home/iobroker
            dietpi@DietPi:/home/iobroker$ . ./wetterstation.conf
            dietpi@DietPi:/home/iobroker$ . ./wetterstation.sub
            dietpi@DietPi:/home/iobroker$ influx_query "-1d" "now()" "Wind_max" "max"
            dietpi@DietPi:/home/iobroker$
            

            Dann die lange Version, so wie die Funktion tatsächlich ist:

            dietpi@DietPi:/home/iobroker$ FLUXSTART=$(date +%Y-%m-%d --date="-1 day")"T23:00:00Z"
            dietpi@DietPi:/home/iobroker$ echo $FLUXSTART
            2023-03-21T23:00:00Z
            dietpi@DietPi:/home/iobroker$ influx_query "$FLUXSTART" "now()" "Wind_max" "max"
            dietpi@DietPi:/home/iobroker$
            

            da kommt auch nichts

            Btw., Influx läuft auf einer anderen Maschine.


            Wind_max wird aber in die Influx geschrieben und auch in Grafana angezeigt.
            b727050a-5fb2-41e9-9096-2e70cb230a41-image.png

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

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

              da kommt auch nichts

              Na dann kann er auch nix schreiben 😉
              InfluxDB auf einer anderen Maschine ist egal, habe ich sogar aktuell auch. Hast du in der wetterstation.conf wirklich alles bzgl. InfluxDB korrekt eingetragen? IP, Port, Token, Bucket...

              #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.1.4:8086
                #Bucket, Token und Organisation der InfluxDB
                 INFLUX_BUCKET=Wetterdaten
                 INFLUX_TOKEN=xxxxxxxxxxxxx...==
                 INFLUX_ORG=atHome
              

              "4" ist meine Synology mit InfluxDB im Docker, wobei der ioB/Skript auf der "30" läuft.

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

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

                Hast du in der wetterstation.conf wirklich alles bzgl. InfluxDB korrekt eingetragen? IP, Port, Token, Bucket...

                Ja, eigentlich schon.
                Ist ident mit dem Adapter.

                 #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=10.0.1.226:8086
                  #Bucket, Token und Organisation der InfluxDB
                   INFLUX_BUCKET=iobroker
                   INFLUX_TOKEN=p6uNaZWUT3PDIFa3-EXV5LNDSCbvL67JQekkYRroBpxGuiESHOmOET4eeN0th28Gzb8PCeIvZHJgs5DPFcEusA==
                   INFLUX_ORG=daheim
                

                f5cc24db-51fe-4b08-9867-9021567aa9d2-image.png

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

                  @negalein Wie hieß das damals: Gotcha ?
                  Na egal, wieder einen "erwischt"...😊
                  In Grafana fragst du lt. obigem Flux das Bucket "iobroker-1w" ab, in der conf dann aber "iobroker"? Das geht natürlich auch, dann musst du aber auch in beide Buckets loggen. Oder dich halt für eines der beiden entscheiden 😉

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

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

                    In Grafana fragst du lt. obigem Flux das Bucket "iobroker-1w" ab, in der conf dann aber "iobroker"? Das geht natürlich auch, dann musst du aber auch in beide Buckets loggen. Oder dich halt für eines der beiden entscheiden

                    Ok, wird in der .conf etwas für Langzeitzwecke benötigt?
                    Denke nicht. Oder doch?

                    Dann werde ich es in iobroker-1w ändern.
                    und funktioniert 🙂
                    014824e4-bb4e-474d-b66f-1a100df6ac27-image.png

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

                      @negalein
                      und ich war letztens der "Portvergesser" 😂
                      Schön das es jetzt auch bei dir klappt

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

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

                        Ok, wird in der .conf etwas für Langzeitzwecke benötigt?
                        Denke nicht. Oder doch?

                        Ein einziges: "Temperatur vor einem Jahr" braucht dazu ein Logging von wenigstens 365 Tagen 😉

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

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

                          Ein einziges: "Temperatur vor einem Jahr" braucht dazu ein Logging von wenigstens 365 Tagen

                          Ok, in der .conf kann ich aber nicht beide verwenden?
                          Also entweder alle DP mind. 1 Jahr loggen, oder auf Temperatur vor einem Jahr verzichten?

                          Oder wie ist das mit dem Statistik Script?

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

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

                            Also entweder alle DP mind. 1 Jahr loggen, oder auf Temperatur vor einem Jahr verzichten?

                            Das typische Ja und Nein.
                            Mindestens 1 Jahr loggen muss natürlich sein, sonst hat man keine Werte.
                            ...und nochmal ja, es geht nur ein Bucket. Das würde dann mit der Statistik zusammen ein Heilloses Durcheinander geben und kaum einer blickt da noch durch. Aber verzichten muss man auch nicht unbedingt darauf, man muss nur das/die Bucket/s entsprechend konfigurieren.
                            Aber man kann ja aggregieren, Daten "umshiften" etc. Da muss jeder seine Vorlieben (oder was er/sie/diverse genau möchte) im Grunde selbst umsetzen.
                            Ich werde mir bei Gelegenheit ein Flussdiagramm erstellen, da ich gewisse Präferenzen habe und sonst nicht mehr durchblicke...
                            Ich hätte bei der Temperatur bspw. gerne vor einem Jahr und vor x Jahren (4 Jahre sammele ich schon). Allerdings ist die Datenflut da reiner Irrsinn. Nur Temperatur: ~ 3k Messwerte pro Tag / ~1.1Mio pro Jahr
                            ...und ich muss/will nicht wissen wie viel Grad es am 24.03.2021 genau um 17:40 Uhr war. Also werde ich die Messwerte stundenweise zusammenfassen: 24 Stück x 365 Tage = 8760 Datensätze pro Jahr

                            Also wird voraussichtlich alles in einem Bucket laden und Nachts wird das Bucket dann gecleaned, Werte in ein anderes Bucket geshifted ...

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

                              Ich frage jetzt einfach mal, warum ist es nicht möglich die Aufbewahrungsdauer
                              in jedem Datenpunkt individuell einzustellen so wie es beim history-Adaper
                              auch möglich ist. Ok, die Frage gehört eigentlich in den entsprechenden Thread,
                              aber dann gäbe es das Problem nicht das man alle DP über ein Jahr loggen
                              muß für die Statistik und gewisse Datenpunkte könnten von dieser langen
                              Aufbewahrungszeit ausgenommen werden.

                              Werde auch mal im influx-Adapter Thread anfragen ob dies nicht möglich ist.

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

                                @Negalein , danke für die Bewertung aber es ist so wie @SBorg schon geschrieben hat.
                                Für verschiedene Aufbewahrungszeiten muß jeweils ein eigenes Bucket angelegt
                                werden und somit jedes mal eine neue Influxdb-Instanz 😞
                                Kannst du alles hier nachlesen was ich auch gemacht habe.
                                Im Klartext heißt das, wenn ich vier verschiedene Aufbewahrungszeiten haben möchte
                                muß ich vier Buckets anlegen und vier Instanzen.
                                Ist das so richtig @SBorg ?

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

                                  Also....

                                  Die Retention lässt sich nur pro Bucket festlegen. Deswegen gab es das Skript auch so lange nur für Influx V1.x, da ich dies als Hauptmanko ansah.
                                  Man kann aber trotzdem "tricksen". Dazu muss man "Tasks" in Influx nutzen. So kann man in einem Bucket mit einer Retention von "never" trotzdem eine Retention für Datenreihen mit bspw. 30 Tagen erreichen.

                                  Ich werde wahrscheinlich (s.o. Stichwort Flussdiagramm) nur mit zwei Buckets arbeiten.
                                  Eine einzige Influx-Instanz loggt alles in das "Hauptbucket" (=Homeautomation); Retention wahrscheinlich 30 Tage (da ich kaum etwas über einen längeren Zeitraum brauche).
                                  Da mich aber der Gaspreisverlauf der letzten Jahre und der Verbrauch übers Jahr dessen interessiert, hätte ich jetzt ein Problem. Deswegen werden diese beiden Werte nun per Task in ein anderes Bucket ("Langzeitwerte") "umgeshifted".
                                  Diese Bucket ist für den ioB nicht über eine Instanz sichtbar, ich kann aber per JS, Blockly, NodeRED oder Grafana darauf zugreifen.
                                  Bild 001.png
                                  Bild 002.png

                                  landet dann im "Langzeit-Bucket":
                                  Bild 003.png

                                  Was schneller weg kann/muss lässt sich dann auch mittels der Tasks droppen.

                                  da_Woody 1 Reply Last reply Reply Quote 1
                                  • da_Woody
                                    da_Woody @SBorg last edited by

                                    @sborg Imho ist influx 2 eine verschlimmbesserung.
                                    Muss jeder für sich entscheiden.
                                    Meine influx/grafana umbauen ist einfach irre.
                                    Hab da keine Lust.

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

                                      @da_woody Lust hatte ich da auch nicht gerade darauf, aber was will man machen...
                                      Andererseits war es auch gar nicht schlecht, da waren noch viele Dinge einfach aus anfänglicher Unwissenheit "nicht im Reinen".
                                      Jetzt habe ich alles auf Variablen umgestellt. Ist zwar dann noch mehr Arbeit, dafür aber einmalig. Wenn sich jetzt was ändert brauche ich nur einmalig an einer Stelle den Wert ändern, schon gilt das für alle Grafana-Panels 🙂

                                      ...und ja, auch InfluxDB ist damit "komplizierter" geworden, zumindest auf den 1. Blick. Dafür ist es nun auch weitaus mächtiger.

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

                                        [gelöst] - gefunden in der wetterstation.conf

                                        Hab nun auch auf V3.0. updgedated.

                                        Updater ausgeführt und im ioB auch das Script für die DPs Version 3.0 ausgeführt.

                                        Script läuft, und die neuen DPs unter 0_userdata/wetterstation sind angelegt. Es kommen da aber keine Daten rein, alle Daten laufen weiterhin unter javascript/wetterstation

                                        Ist das normal/so gewollt, oder wie stelle ich es um, daß die DPs unter userdata geschrieben werden?

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

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

                                          Am einfachsten exportiert (egal ob aus Influx V1 oder V2) man sich die entsprechende(n) Datenreihe(n) zB. mittels "Killer-Befehl" 😉 aus der V1 :

                                          echo '#datatype measurement,dateTime:RFC3339,boolean,string,double,double' > export.csv && influx -database [Datenbankname] -username [username] -password [passwort] -execute 'SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur","javascript.0.Wetterstation.Regen_Tag","javascript.0.Wetterstation.Wind_max"' -format csv -precision='rfc3339' >> export.csv
                                          

                                          Wie würde ein export/write aus einer V2 aussehen? Werde aus der InfluxDB2 Doku nicht schlau, wie selektiere ich die measurements korrekt?

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

                                            @tritor Am einfachsten selektierst du es im "Dataexplorer" wie bei einer Testabfrage für Grafana (Timerange anpassen nicht vergessen). Passt der Graph dann soweit mit den Daten einfach als "CSV" exportieren (es wird nur das exportiert was auch angezeigt wird).

                                            Bei den "Sources" wählst du dann "Flux Annotated CSV" aus, dann im folgenden Fenster dein Bucket für den Import und die zuvor gespeicherte CSV aus:
                                            Bild 002.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            linux shell-script wetterstation wlan-wetterstation
                                            141
                                            5469
                                            3248376
                                            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