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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [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 sagte in [Linux Shell-Skript] WLAN-Wetterstation:

      @sborg
      Ich dachte eher, dass er umgestellt hat von 'javavscript.0.' auf '0_userdata.' und dort noch die alten Daten sind

      Zum Teil ja, aber die Eingangsfrage war Temp geht, nur Wind und Regen nicht. Bei falschem Verzeichnis müssten dann aber alle drei nicht gehen 😉
      ...auch wenn sie da offenbar gar nicht liegen sollen.

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

      Der Statistik-Ordner ist aber nur unter 'javavscript.0.' zu finden...

      So hast du es im Statistik-Skript aber eingetragen. Dass meinte @Boronsbruder auch mit seiner Frage "ob das Absicht ist".

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

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

        Ich nehme an, dass dann der ganze flux-query in den Zeilen 171-2 im Statistik-Skript auf die Nase fällt und deshalb auch die Werte für Regen und Wind nicht gelesen/verarbeitet werden?

        Jepp, da dass eine einzige Abfrage für alle drei Werte ist.

        Du musst die Daten alle in ein einziges Bucket loggen. Da die Datenflut aber immens ist (Standardmäßig so alle 30 Sekunden ein Datensatz), sollte man sich überlegen was man wie lange aufheben möchte.
        Ich brauche bspw. keine Aussentemperatur vom 18.04.2023 (oder älter) um 14:23:58 Uhr.
        Deshalb sollte man in ein Bucket loggen und dem eine feste Retention von bspw. 30 Tagen verpassen. Damit fliegt alles was älter als 30 Tage ist aus dem Bucket raus. Was ich länger aufheben möchte "shiftet" man nun mittels eines Influx-Tasks in ein anderes Bucket (zB. Retention "never") und kann dabei auch noch die Datenflut eingrenzen (zB. die Aussentemp auf ein 15 Minuten-Raster aggregieren). So werden aus ~43k Datensätzen alleine für die Temperatur täglich mal schlanke 96 (!) und ich habe trotzdem noch einen guten Temperaturverlauf bspw. von vor einem Jahr.

        Die Daten kannst du per Abfrage eingrenzen und als CSV exportieren, dann als Annotated CSV in ein anderes Bucket wieder importieren. Hatte ich so erst vor kurzem @Negalein hier im Thread ausfühtlicher erklärt.

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

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

          Die Daten kannst du per Abfrage eingrenzen und als CSV exportieren, dann als Annotated CSV in ein anderes Bucket wieder importieren. Hatte ich so erst vor kurzem @Negalein hier im Thread ausfühtlicher erklärt.

          OK - danke für die Erklärungen. Das wird mich wohl wieder Stunden (wenn nicht Tage) kosten... 🤕 Anscheinend gibt es den simplen "Export CSV" Button seit 2.7.0 nicht mehr, wenn man nicht mit https arbeitet. Und ein mal kurz installiertes CLI produziert bei jedem Versuch, einen Query laufen zu lassen, den Fehler

          Error: failed to execute query: 404 Not Found: unable to decode response content type "text/html"
          
          B S SBorg 3 Replies Last reply Reply Quote 0
          • B
            babl @sebhoff last edited by babl

            @sebhoff frage:

            muß ich für die Wetterstation und die Statistik, eine neue influx instanz anlegen, da ja die default nur in die iobroker influx schreibt oder wie läuft das genau ab, denn ich habe mir in der influxdb ein neues bucket erstellt so daß nicht sämtliche daten in das bucket iobroker geschrieben werden aber so richtig blicke ich da noch nicht durch, sorry dafür. Alles andere läuft bereits danke @SBorg

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

              @sebhoff said in [Linux Shell-Skript] WLAN-Wetterstation:

              Das wird mich wohl wieder Stunden (wenn nicht Tage) kosten...

              OK - habe wohl eine einfache Möglichkeit gefunden. Ich stoppe das logging in das longtermBucket und starte sofort mit dem logging in das shorttermBucket. Dann mache ich via "Data Explorer" eine Abfrage, die alle Einträge aus dem longtermBucket als Resultat hat, erstelle einen Task, der diesen Flux Query theoretisch regelmäßig ausführen könnte und schreibe die Resultate in das shorttermBucket. Diesen Task lasse ich einmal manuell laufen und lösche ihn anschließend wieder - et voilà, alles ist drüben. Oder habe ich da was falsch verstanden?
              Dann werde ich nun wieder mal bis morgen früh warten und schauen, ob es nun endlich funktioniert. Anschließend kann ich mir dann Gedanken machen, wie ich ausgedünnte Daten in einem longtermBucket dauerhaft speichere.
              (PS: Ist es eigentlich die, der oder das Bucket? 🤡 )

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

                @sborg

                Mir ist ein Thema aufgefallen. Ich weiß nicht ob ein Bug ist oder am User vor dem Monitor liegt. 🙄
                Ich habe das Statistik Scrript aktiviert und nutze die monatlichen Daten um sie mir in VIS anzuzeigen.
                Jetzt habe mir zusätzlich in Grafana ein Dashboard gebaut und mir dort die monatlichen Regenmengen anzuzeigen.

                Allerdings weichen die Zahlen voneinander ab:

                Quelle: 0_userdata.0.wetter.wetterstation.statistik.Data

                Mai: 55,86 mm
                Juni: 31,01 mm
                Juli: 85,58 mm

                für den aktuellen Monat erhalte ich hier:

                August: 33,72 mm (0_userdata.0.wetter.wetterstation.statistik.aktueller_Monat.Regenmenge_Monat) + 11,988 mm (0_userdata.0.wetter.wetterstation.Regen_Tag)

                Quelle: 0_userdata.0.wetter.wetterstation.Regen_Total (in Grafana aus einer InfluxDB)

                Mai: 68,1 mm
                Juni: 36,8 mm
                Juli: 98,6 mm

                für den aktuellen Monat erhalte ich hier:

                August: 45,4 mm

                Warum passen die historischen Daten nicht? Gibt es hier einen Bug oder mache ich einen Denkfehler.

                Gruß
                Michael

                1 Reply Last reply Reply Quote 0
                • S
                  sebhoff last edited by

                  @sebhoff said in [Linux Shell-Skript] WLAN-Wetterstation:

                  Dann werde ich nun wieder mal bis morgen früh warten und schauen, ob es nun endlich funktioniert.

                  Na endlich! 😊

                  Screenshot 2023-08-07 at 07.56.13.png

                  1 Reply Last reply Reply Quote 0
                  • A
                    awekas last edited by

                    Entschuldigung wenn ich da so reingrätsche. Ich hab gesehen wie Ihr zu uns (AWEKAS) die Daten überträgt. Ihr verwendet das WU Protokoll. Da gibt es einen viel besseren Weg mit unserer API. Ich hab leider keine Email gefunden, es wäre (wenn Interesse besteht) super wenn sich wer bei uns diesbezüglich per Mail meldet.
                    PS: Wir planen einen IObroker Adapter 🙂

                    Lg Othmar

                    Negalein SBorg 2 Replies Last reply Reply Quote 3
                    • Negalein
                      Negalein Global Moderator @awekas last edited by

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

                      Da gibt es einen viel besseren Weg mit unserer API.

                      Hallo Othmar!

                      Cool, das wird @SBorg (der Entwickler des Scripts hier) sicher interessieren.

                      LG aus OÖ

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

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

                        Anscheinend gibt es den simplen "Export CSV" Button seit 2.7.0 nicht mehr, wenn man nicht mit https arbeitet.

                        Habe ich eben auch gelesen. Nutzt du FF? Angeblich soll es mit Chrome noch funktionieren. Ich könnt das zwar mittels Edge selbst probieren, nutze aber noch Influx 2.6.1
                        ...oder dann doch zwangsweise auf HTTPS umstellen (und 100 Pro geht dann wieder etwas anderes nicht...)

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

                        Diesen Task lasse ich einmal manuell laufen und lösche ihn anschließend wieder - et voilà, alles ist drüben. Oder habe ich da was falsch verstanden?

                        Nö, das funktioniert so schon. Ich habe es nur überflogen, aber in Flux kann man auch direkt ex- und importieren. Bis das aber korrekt funktioniert ist die Lösung über Tasks sicherlich einfacher und schneller, zumal es eh nur einmalig ist.

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

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

                          Habe ich eben auch gelesen. Nutzt du FF? Angeblich soll es mit Chrome noch funktionieren. Ich könnt das zwar mittels Edge selbst probieren, nutze aber noch Influx 2.6.1

                          Safari auf nem Mac... Und Chrome funktioniert da leider auch nicht. Aber nun läuft es ja!

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

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

                            muß ich für die Wetterstation und die Statistik, eine neue influx instanz anlegen

                            Kann man, muss man aber nicht. Jede Instanz kostet CPU und RAM, bringt aber so keinerlei signifikanten Vorteil. In einem "Monster-Bucket" (=alles mehr oder minder in einem Bucket) kann man

                            • die Werte auch wieder einfach separieren
                            • mittels Influx-Tasks alles sortieren und wegspeichern wie man es möchte (dann auch nachträglich in ein anderes Bucket)
                            1 Reply Last reply Reply Quote 1
                            • SBorg
                              SBorg Forum Testing Most Active @sebhoff last edited by

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

                              Aber nun läuft es ja!

                              😊 Habe ich beim überfliegen schon gelesen, bin aber noch mitten im Beantworten der einzelnen Fragen.

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

                                @mctom Hallo Michael, ich weiß nicht wer, wann was zusammenaddiert oder ausliest, aber wenn ich die Statistikwerte mit Awekas, Ecowitt und Co. vergleiche, komme ich auf annähernd die selben Werte. Ganz stimmen wird das nie, weil es da ggf. zu Rundungsfehlern kommt.
                                Zum Beispiel wird der tägliche Niederschlag (wenn es denn geregnet hat) immer von Inch in mm (oder Liter, ist identisch) umgerechnet. Das ist schon mal nicht 1:1. Der Wert wird nun in der InfluxDB gespeichert und dann für den entsprechenden Monat immer aufaddiert (und damit auch die Rundungsfehler).

                                Wenn ich dann die 33.72 + 11.988 rechne = 45,708 vs. 45.4 kommt das hin.

                                "Regen_Total" ist direkt ein Wert aus der Station. Der kam mit irgendeinem Firmwareupgrade und addiert stur jegliche Regenmenge seit dem letzten Reset auf. Der kann also für die Monatswerte nicht dienlich sein, außer man rechnet von dem wieder mühsam runter. Dann aber wozu, "Regen_Monat" ist ebenfalls ein Wert direkt aus der Station.

                                Wie es da zu einer derartig großen Abweichung bei dir kommt kann ich dir so auch nicht erklären, aber die Statistikwerte sind annähernd richtig. Solange aber die Station mit ihrer Messtoleranz eh um etliche Prozent daneben liegt (kurzer Regen der die Wippe nicht auslöst wird ja überhaupt nicht gemessen 😞 ), brauche ich mir bei etwa 1-2 Litern pro Monat auch keine großartigen Gedanken zu machen.

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

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

                                  Entschuldigung wenn ich da so reingrätsche. Ich hab gesehen wie Ihr zu uns (AWEKAS) die Daten überträgt. Ihr verwendet das WU Protokoll. Da gibt es einen viel besseren Weg mit unserer API. Ich hab leider keine Email gefunden, es wäre (wenn Interesse besteht) super wenn sich wer bei uns diesbezüglich per Mail meldet.
                                  PS: Wir planen einen IObroker Adapter 🙂

                                  Lg Othmar

                                  Hallo Othmar,
                                  nun ja, ich hatte mich Anfang des Jahres genau diesbzgl. bei euch gemeldet (steht hier sogar im Thread 😉 ) und mein Vorhaben geschildert. Antwort bzw. Reaktion gab es allerdings keine (ich hatte da Kontakt mit einem/dem Foren-Admin soweit ich mich recht erinnere, zumindest nicht mit dir).

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

                                    @SBorg
                                    Seit der Firmwareversion 3.0.4 des GW2000 wird der Zeitstempel nicht mehr aktualisiert

                                    Grund ist, dass die Daten der Wetterstation ein %3A anstatt des : im Timestamp sendet.

                                    PASSKEY=GEHEIM&stationtype=GW2000A_V2.2.5&runtime=70128&dateutc=2023-07-31+03:33:32&tempinf=75.20&humidityin=49&baromrelin=30.035&baromabsin=28.411&tempf=49.46&humidity=99&winddir=332&windspeedmph=0.00&windgustmph=0.00&maxdailygust=0.00&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.169&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.189&monthlyrainin=5.185&yearlyrainin=17.067&totalrainin=17.067&temp1f=53.78&humidity1=99&soilmoisture1=29&soilmoisture2=37&soilmoisture3=51&soilmoisture4=27&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&freq=868M&model=GW2000A&interval=30
                                    
                                    PASSKEY=GEHEIM&stationtype=GW2000A_V3.0.4&runtime=9&dateutc=2023-07-31+03%3A34%3A04&baromrelin=30.029&baromabsin=28.405&freq=868M&model=GW2000A&interval=30
                                    

                                    Das Skript feuert immer wieder date Fehler:

                                    Aug 11 13:17:21 ZEROSERVER wetterstation.sh[3583977]: date: ungültiges Datum „2023-08-11 11%3A17%3A20 UTC“
                                    
                                    

                                    Ich weiß nicht, ob das nochmals seitens ECOWITT geändert wird oder ob das so gewollt ist? In der 3.0.5 ist der "BUG" auch noch drin...

                                    Was ist es für ein Aufwand ein urldecode einzubauen?

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

                                      @sborg Die Anfrage ist da nicht bis zu mir "vorgedrungen". Melde Dich bitte einfach mal per Mail bei mir. (mail[at]awekas.at).Ich schreib schick Dir dann die Spezifikation. Ich kann möchte diese nicht public hier ins Forum posten)

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

                                        @awekas Mach ich 😉

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

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

                                          Was ist es für ein Aufwand ein urldecode einzubauen?

                                          Ist schon drin. Suche mal in der "sub" nach converttime, dann

                                           MESSWERTE[$1]=$(echo ${MESSWERTE[$1]}|sed -e 's/+/ /' -e 's/%20/ /')
                                          
                                          andern in
                                          
                                           MESSWERTE[$1]=$(echo ${MESSWERTE[$1]}|sed -e 's/+/ /' -e 's/%20/ /' -e 's/%3A/:/')
                                          

                                          Kann nur gerade nicht testen und bin mir nicht sicher ob das bei dieser Syntax sich auf den ganzen Stream bezieht (IMHO) oder nur auf das 1. vorkommen. Andernfalls dann in

                                           MESSWERTE[$1]=$(echo ${MESSWERTE[$1]}|sed -e 's/+/ /' -e 's/%20/ /' -e 's/%3A/:/g')
                                          

                                          abändern. Wenn es funktioniert kommt es dann in die V3.2.0


                                          btw: Regen für WOW ist auch fertig, muss es nur noch publishen

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

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

                                            MESSWERTE[$1]=$(echo ${MESSWERTE[$1]}|sed -e 's/+/ /' -e 's/%20/ /' -e 's/%3A/:/g')

                                            funktionert!

                                            Wie du vermutet hast, ist deine erste Version für den Fix nur für das erste Vorkommen.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            989
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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