Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Linux Shell-Skript] WLAN-Wetterstation

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    888

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 155 Posters 3.9m Views 137 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    viper4iob
    wrote on last edited by viper4iob
    #3057

    @sborg
    Ein kleinen Punkt hätte ich doch noch.
    Ich habe heute einen zusätzlichen DP50 in Betrieb genommen und bekomme seitdem im iobroker Log von der Simple API ständig folgende Meldung:

    State value to set for "javascript.0.Wetterstation.DP50.1.Batterie" has to be type "number" but received type "string"
    

    Da passt der Datentyp nicht zusammen.
    Bei den neuen Sensoren wird 0 oder 1 für den Batteriewert-Datenpunkt geschrieben, beim DP50 steht im Datenpunkt "OK"

    UPDATE
    Ich habe jetzt mal den Datentyp vom Datenpunkt der DP50 Batterie von Zahl auf Zeichenkette geändert, damit nicht alle 30 sek eine Meldung im iobroker generiert wird.
    Ist die Frage wie man es einheitlich handhaben will. Es sollte zumindest einheitlich für alle Sensoren sein, die 0 oder 1 als Batteriestatus melden.
    Entweder das Skript schreibt "OK"/"Alarm", dann muss das JS-Skript, das die Datenpunkte anlegt, das als String definieren.
    Oder eben 0/1, dann bleibts bei number.
    Es scheint aktuell nur beim DP50 die Funktion batterie aufgerufen zu werden (https://github.com/SBorg2014/WLAN-Wetterstation/blob/master/wetterstation.sub#L1172)

    1 Reply Last reply
    0
    • V viper4iob

      @sborg

      Ich hatte beide Versionen mit wget runter geladen, entpackt, und auf die unveränderte conf Version 2.8.0 den Patch angewandt und trotzdem ein Fehler. Ich dachte erst es könnte an den line-endings liegen wegen LF und CRLF, aber da war alles identisch, Kodierung ist UTF-8.
      Vielleicht noch etwas mit Tabs vs. Leerzeichen, wie die interpretiert werden, keine Ahnung.
      Ich habe jetzt mal ein diff -u auf die beiden Dateien gemacht und da kommt das hier raus:

      --- 2.8.0/wetterstation.conf    2021-08-16 13:24:08.000000000 +0200
      +++ 2.10.0/wetterstation.conf   2021-10-27 09:09:01.000000000 +0200
      @@ -1,20 +1,26 @@
      -### Settings V2.8.0 -----------------------------------------------------------
      +### Settings V2.10.0 -----------------------------------------------------------
        #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte
         debug=false
      
      + #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei
      +  logging=false
      +
        #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx]
         IPP=192.168.1.3:8087
      
      - #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi / default: 1
      -  WS_PROTOKOLL=1
      + #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi / default: 2
      +  WS_PROTOKOLL=2
      
        #Anzahl der vorhandenen Zusatzsensoren / default: 0
      +  ANZAHL_WH31=0
      +  ANZAHL_DP40=0
         ANZAHL_DP50=0
         ANZAHL_DP60=0
         ANZAHL_DP70=0
         ANZAHL_DP100=0
         ANZAHL_DP200=0
         ANZAHL_DP250=0
      +  ANZAHL_DP300=0
      
        #Protokoll (HTTP oder HTTPS) / default: HTTP
         WEB=HTTP
      

      Sieht anders aus als in dem patch file vom Skript, z.B. nur ein Hunk statt 2, hat mir jetzt bei der Fehlersuche also auch nicht wirklich geholfen. Wenn ich das als Patch auf die unveränderte 2.8.0 conf anwende, geht es bei mir.

      Die Leerzeichen beim Patchen mit dem Parameter ignore-whitespace zu ignorieren, würde mir zwar jetzt helfen, ich weiß aber nicht, ob das so eine gute Idee ist. Manchmal werden die ja auch absichtlich benutzt. Siehe auch die Diskussion hier: https://unix.stackexchange.com/questions/96486/how-to-create-a-patch-ignoring-indentation-differences-in-the-code
      Lass es lieber raus. Ich passe meine conf manuell an.
      Kannst du mal schauen, was der Befehl locale bei dir ausspuckt. Bei mir steht da in der ersten Zeile LANG=de_DE.UTF-8

      Schon mal danke im Voraus für das Anpassen vom netcat Log.

      SBorgS Offline
      SBorgS Offline
      SBorg
      Forum Testing Most Active
      wrote on last edited by
      #3058

      @viper4iob Zuerst mal Danke :+1:
      "locale" steht bei mir ebenfalls auf Deutsch = identisch
      Beim 1. derartigen Patch hat sich auch keiner beschwert bzw. lief es, deswegen vermute ich mal, dass es bei dir (was auch immer) klemmt. Notfalls müsste ich halt doch wieder das Gewürge aus sed, escapen... einpflegen :disappointed:

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

      z.B. nur ein Hunk statt 2

      Liegt einfach daran, dass er wegen des "Protokoll=" - Eintrages noch eine Änderung in das Patchfile einträgt. Somit fängt er keinen neuen Hunk an (erfolgt erst nach x unveränderten Zeilen).

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

      die 2.10.0 Beta funktioniert mit den neuen Sensoren, die Batteriewerte werden angezeigt.

      :blush:

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

      Wird die neue Firmware vielleicht für verschiedene WS-Modelle zu verschiedenen Zeiten ausgerollt? Gibt es da Erfahrung?

      Für die Stationen IMHO nicht, die Gateways haben aber eh eine andere Firmware. Die 1.6.0 war offenbar auch nur ein paar Tage Online + wurde dann scheinbar zurückgezogen. Im Release-File wird aber immer noch 1.6.0 als die aktuelle angezeigt...
      1.5.9 --> 1.6.0 hat aber keine neue Funktionen, sondern (soll) verbessert die Stabilität der Kommunikation. Ich habe die 1.6.0 drauf, aber weder was positives, noch etwas negatives festgestellt ;)

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

      Da passt der Datentyp nicht zusammen.
      Bei den neuen Sensoren wird 0 oder 1 für den Batteriewert-Datenpunkt geschrieben, beim DP50 steht im Datenpunkt "OK"

      Ist noch ein altes Überbleibsel und sollte so nicht sein, habe ich gestern entfernt (ich lese öfters hier mal kurz Offline rein, habe aber nicht immer Zeit auch Online zu gehen). Ich schreibe das was der Sensor meldet, also 0 oder 1, einen Level 0-5[6] oder eben einen Batteriewert (Ausnahmeregel: beim Leaksensor "Ok/Alarm", ist aber kein Batteriewert, sondern der "Alarmwert").
      Mir fällt das leider selbst nicht auf, da ich weder Gateway noch Zusatzsensoren habe.

      LG SBorg ( SBorg auf GitHub)
      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

      1 Reply Last reply
      0
      • SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        wrote on last edited by
        #3059

        Aaarrrgghhh...
        Bei wetter.com stimmt aktuell die Zeit des Messpunktes nicht, da sie nicht wie üblich mittels UTC arbeiten (da gäbe es kein Sommer-/Winterzeitproblem), sondern Datum und Uhrzeit im Klartext wollen. Soweit kein Problem, wenn sie jetzt zur "Winterzeit" nicht pauschal automatisch eine Stunde vom gemeldeten Wert abziehen würden (weil wohl deren Meinung nach die "doofen" User nicht in der Lage sind ihre Systemzeit korrekt zu setzen/setzen zu lassen...?! ).
        Entweder ist also deren Server falsch konfiguriert, oder sie sind schlichtweg....

        Patch ist jedenfalls fertig (ich addiere zur Winterzeit nun eine Stunde hinzu damit sie sie wieder abziehen können :man-facepalming: ) und kommt zeitnah zum neuen Release ;)

        LG SBorg ( SBorg auf GitHub)
        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

        1 Reply Last reply
        0
        • BoronsbruderB Online
          BoronsbruderB Online
          Boronsbruder
          wrote on last edited by
          #3060

          @SBorg

          2021-11-01 01:03:00.017 - debug: javascript.0 (2938) sendTo "query" to system.adapter.influxdb.0 from system.adapter.javascript.0: select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1604185200000000000 AND time <= 1606777199000000000; select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1604185200000000000 AND time <= 1606777199000000000; select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1604185200000000000 AND time <= 1606777199000000000
          2021-11-01 01:03:00.086 - warn: javascript.0 (2938) You are assigning a string to the state "0_userdata.0.Statistik.Wetter.Data.2021.10" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.
          2021-11-01 01:03:00.091 - warn: javascript.0 (2938) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
          2021-11-01 01:03:00.092 - warn: javascript.0 (2938) at Immediate._onImmediate (script.js.common.Wetterstation_Statistik:346:169)
          2021-11-01 01:03:00.092 - warn: javascript.0 (2938) at processImmediate (internal/timers.js:463:21)
          2021-11-01 01:03:00.093 - info: javascript.0 (2938) Could not parse value for id 0_userdata.0.Statistik.Wetter.Data.2021.10 into object: Unexpected end of JSON input
          2021-11-01 01:03:00.095 - info: javascript.0 (2938) Could not parse value for id 0_userdata.0.Statistik.Wetter.Data.2021.10 into object: Unexpected end of JSON input
          

          Schreit dein Statistikskript bei mir rum :rolling_on_the_floor_laughing:

          SBorgS 1 Reply Last reply
          0
          • BoronsbruderB Boronsbruder

            @SBorg

            2021-11-01 01:03:00.017 - debug: javascript.0 (2938) sendTo "query" to system.adapter.influxdb.0 from system.adapter.javascript.0: select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1604185200000000000 AND time <= 1606777199000000000; select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1604185200000000000 AND time <= 1606777199000000000; select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1604185200000000000 AND time <= 1606777199000000000
            2021-11-01 01:03:00.086 - warn: javascript.0 (2938) You are assigning a string to the state "0_userdata.0.Statistik.Wetter.Data.2021.10" which expects a object. Please fix your code to use a object or change the state type to string. This warning might become an error in future versions.
            2021-11-01 01:03:00.091 - warn: javascript.0 (2938) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1439:20)
            2021-11-01 01:03:00.092 - warn: javascript.0 (2938) at Immediate._onImmediate (script.js.common.Wetterstation_Statistik:346:169)
            2021-11-01 01:03:00.092 - warn: javascript.0 (2938) at processImmediate (internal/timers.js:463:21)
            2021-11-01 01:03:00.093 - info: javascript.0 (2938) Could not parse value for id 0_userdata.0.Statistik.Wetter.Data.2021.10 into object: Unexpected end of JSON input
            2021-11-01 01:03:00.095 - info: javascript.0 (2938) Could not parse value for id 0_userdata.0.Statistik.Wetter.Data.2021.10 into object: Unexpected end of JSON input
            

            Schreit dein Statistikskript bei mir rum :rolling_on_the_floor_laughing:

            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            wrote on last edited by
            #3061

            @boronsbruder Zum Glück nur einmalig am Monats ersten ;)
            Zumindest ließt er korrekt die Vorjahres-Monatswerte ein und speichert die aktuellen ab.

            Trotzdem sollte das natürlich nicht sein, gerade in der Hinsicht wie lange der falsche Typ noch toleriert wird...
            Ich muss das mal in einer ruhigen Minute (=also nie :grin: ) simulieren, denn jetzt einfach den Typ ändern führt bestimmt an anderer Stelle wieder zu Problemen...

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            V 1 Reply Last reply
            0
            • SBorgS SBorg

              @boronsbruder Zum Glück nur einmalig am Monats ersten ;)
              Zumindest ließt er korrekt die Vorjahres-Monatswerte ein und speichert die aktuellen ab.

              Trotzdem sollte das natürlich nicht sein, gerade in der Hinsicht wie lange der falsche Typ noch toleriert wird...
              Ich muss das mal in einer ruhigen Minute (=also nie :grin: ) simulieren, denn jetzt einfach den Typ ändern führt bestimmt an anderer Stelle wieder zu Problemen...

              V Offline
              V Offline
              viper4iob
              wrote on last edited by
              #3062

              @sborg
              Danke für das letzte Update.
              Im Syslog ist es jetzt ruhig und der Datentyp des Batteriedatenpunkts vom DP50 passt jetzt auch :+1:

              1 Reply Last reply
              0
              • SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                wrote on last edited by
                #3063

                Da keine offensichtlichen Fehler zu verzeichnen sind und wetter.com anscheinend auch keine Zeitumstellung ihres Servers vornimmt und weiterhin pauschal eine Stunde abzieht:

                Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.10.0

                • ~ Bugfix Option '--data' bei Ecowitt-Protokoll
                • ~ Passkey bei Nutzung des Ecowitt-Protokolls maskieren
                • + logging des Datenstrings der Wetterstation in eine Datei
                • + Unterstützung für DP40/WH32 (bzw. WH26) Sensor
                • + Unterstützung für DP300/WS68 Sensor
                • + Unterstützung für WH31 (bzw. WH25) Sensor
                • + netcat-/Success-Meldungen im Syslog entfernt
                • + Patch Sommer-/Winterzeit für wetter.com

                Wie immer zu finden im GitHub


                Update-Routine:

                • wetterstation.sh und wetterstation.sub ersetzen
                • wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neue Datenpunkte der Batteriestände für die neuen Sensoren; kann ggf. entfallen falls man diese nicht nutzt/später mal nutzen möchte)
                • ./ws_updater.sh --patch im Installationsverzeichnis ausführen
                • nun mittels systemctl restart wetterstation den Service neu starten

                Mutige können auch mal direkt den Updater probieren ;) :+1:

                Im Installationsverzeichnis ausführen: bash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)


                Wer bereits die letzte Beta-Version der V2.10.0 nutzt sollte ggf. trotzdem updaten (hier genügt der Tausch der "sub" und "sh" und den Service neu zu starten). Das Beta-Release ist mit dieser Release-Version nicht identisch. Beim Beta-Release fehlt der Patch für die Sommer-/Winterzeit bei wetter.com

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                1 Reply Last reply
                1
                • NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  wrote on last edited by
                  #3064

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

                  ./ws_updater.sh --patch im Installationsverzeichnis ausführen

                  zeigt mir einen Fehler

                  dietpi@DietPi:/home/iobroker$ ./ws_updater.sh --patch
                  
                  
                  
                   ┌───────────────────────┐
                   │                       │
                   │   WS-Updater V2.10.0  │
                   │                       │
                   └───────────────────────┘
                  
                   Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: J
                  
                  
                  
                  
                   Lege Sicherungskopie der wetterstation.conf an...
                  
                   Patche wetterstation.conf auf V2.10.0 ...
                  ./ws_updater.sh: Zeile 248: patch: Kommando nicht gefunden.
                   Fertig...
                  
                   Eventuelle Zusatzsensoren DP300/WS68, DP40/WH32 oder WH25/WH31 müssen eingetragen werden!
                  
                  dietpi@DietPi:/home/iobroker$
                  
                  

                  ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                  ° Node.js Fixer ---> iob nodejs-update
                  ° Fixer ---> iob fix

                  SBorgS 1 Reply Last reply
                  0
                  • NashraN Offline
                    NashraN Offline
                    Nashra
                    Most Active Forum Testing
                    wrote on last edited by
                    #3065

                    Moin, alles sauber :+1:

                    root@ioBroker:/home/iobroker# ./ws_updater.sh --patch
                    
                    
                    
                     ┌───────────────────────┐
                     │                       │
                     │   WS-Updater V2.10.0  │
                     │                       │
                     └───────────────────────┘
                    
                     Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: j
                    
                    
                    
                    
                     Lege Sicherungskopie der wetterstation.conf an...
                    
                     Patche wetterstation.conf auf V2.10.0 ...
                    patching file ./wetterstation.conf
                    Hunk #1 succeeded at 1 with fuzz 2.
                     Fertig...
                    
                     Eventuelle Zusatzsensoren DP300/WS68, DP40/WH32 oder WH25/WH31 müssen eingetragen werden!
                    

                    Link nach Github ist gut :grin: :+1:

                    Gruß Ralf
                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    SBorgS 1 Reply Last reply
                    0
                    • NegaleinN Negalein

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

                      ./ws_updater.sh --patch im Installationsverzeichnis ausführen

                      zeigt mir einen Fehler

                      dietpi@DietPi:/home/iobroker$ ./ws_updater.sh --patch
                      
                      
                      
                       ┌───────────────────────┐
                       │                       │
                       │   WS-Updater V2.10.0  │
                       │                       │
                       └───────────────────────┘
                      
                       Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: J
                      
                      
                      
                      
                       Lege Sicherungskopie der wetterstation.conf an...
                      
                       Patche wetterstation.conf auf V2.10.0 ...
                      ./ws_updater.sh: Zeile 248: patch: Kommando nicht gefunden.
                       Fertig...
                      
                       Eventuelle Zusatzsensoren DP300/WS68, DP40/WH32 oder WH25/WH31 müssen eingetragen werden!
                      
                      dietpi@DietPi:/home/iobroker$
                      
                      
                      SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      wrote on last edited by SBorg
                      #3066

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

                      patch: Kommando nicht gefunden.

                      Auf deinem DietPi ist mal so gar nichts installiert... ;)
                      Muss ich also auch noch prüfen.
                      Nachinstallieren:

                      sudo apt install patch
                      

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      NegaleinN 1 Reply Last reply
                      0
                      • NashraN Nashra

                        Moin, alles sauber :+1:

                        root@ioBroker:/home/iobroker# ./ws_updater.sh --patch
                        
                        
                        
                         ┌───────────────────────┐
                         │                       │
                         │   WS-Updater V2.10.0  │
                         │                       │
                         └───────────────────────┘
                        
                         Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: j
                        
                        
                        
                        
                         Lege Sicherungskopie der wetterstation.conf an...
                        
                         Patche wetterstation.conf auf V2.10.0 ...
                        patching file ./wetterstation.conf
                        Hunk #1 succeeded at 1 with fuzz 2.
                         Fertig...
                        
                         Eventuelle Zusatzsensoren DP300/WS68, DP40/WH32 oder WH25/WH31 müssen eingetragen werden!
                        

                        Link nach Github ist gut :grin: :+1:

                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        wrote on last edited by
                        #3067

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

                        Link nach Github ist gut

                        So langsam wird es :joy:

                        LG SBorg ( SBorg auf GitHub)
                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                        NashraN 1 Reply Last reply
                        0
                        • SBorgS SBorg

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

                          Link nach Github ist gut

                          So langsam wird es :joy:

                          NashraN Offline
                          NashraN Offline
                          Nashra
                          Most Active Forum Testing
                          wrote on last edited by Nashra
                          #3068

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

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

                          Link nach Github ist gut

                          So langsam wird es :joy:

                          Jow und hier hatte ich mich verlesen worauf meine Frau lachen mußte

                          Hunk #1 succeeded at 1 with furz 2.
                          

                          Brauch ne neue Brille :joy:

                          Gruß Ralf
                          Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          SBorgS 1 Reply Last reply
                          0
                          • SBorgS SBorg

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

                            patch: Kommando nicht gefunden.

                            Auf deinem DietPi ist mal so gar nichts installiert... ;)
                            Muss ich also auch noch prüfen.
                            Nachinstallieren:

                            sudo apt install patch
                            
                            NegaleinN Offline
                            NegaleinN Offline
                            Negalein
                            Global Moderator
                            wrote on last edited by
                            #3069

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

                            Auf deinem DietPi ist mal so gar nichts installiert...

                            da hast du recht :joy:
                            ist nur die 0815 Variante ;)

                            Nachinstallieren

                            Ahhh, auf das hätt ich auch selber kommen müssen

                            ° Node.js & System Update ---> sudo apt update, iob stop, sudo apt full-upgrade
                            ° Node.js Fixer ---> iob nodejs-update
                            ° Fixer ---> iob fix

                            1 Reply Last reply
                            0
                            • Rene55R Offline
                              Rene55R Offline
                              Rene55
                              wrote on last edited by
                              #3070

                              @SBorg Muss ich, auch wenn ich die aktuellsten Files im Verzeichnis habe, den ./ws_updater.sh --patch laufen lassen? Was macht der genau?
                              Ich habe gerade mal den Link probiert - bringt bei mir "Version bereits aktuell". Die Dateien sind vom 25.10., können eigentlich den Weather-Patch noch nicht enthalten.

                              Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                              ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                              Wetterstation: Froggit WH3000SE V1.6.6

                              SBorgS 1 Reply Last reply
                              0
                              • NashraN Nashra

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

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

                                Link nach Github ist gut

                                So langsam wird es :joy:

                                Jow und hier hatte ich mich verlesen worauf meine Frau lachen mußte

                                Hunk #1 succeeded at 1 with furz 2.
                                

                                Brauch ne neue Brille :joy:

                                SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                wrote on last edited by
                                #3071

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

                                Jow und hier hatte ich mich verlesen worauf meine Frau lachen mußte

                                Hunk #1 succeeded at 1 with furz 2.
                                

                                Brauch ne neue Brille :joy:

                                :grin:
                                ...oder weniger Bohnensuppe essen :hankey:


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

                                Ahhh, auf das hätt ich auch selber kommen müssen

                                Wald, Bäume, und so... :innocent:
                                Macht aber nix, man kann ja nicht alles wissen bzw. sehen, und eben eine neue Version hochgeladen, die nun prüft ob 'patch' installiert ist. Also alles wird gut :blush:

                                LG SBorg ( SBorg auf GitHub)
                                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                1 Reply Last reply
                                2
                                • Rene55R Rene55

                                  @SBorg Muss ich, auch wenn ich die aktuellsten Files im Verzeichnis habe, den ./ws_updater.sh --patch laufen lassen? Was macht der genau?
                                  Ich habe gerade mal den Link probiert - bringt bei mir "Version bereits aktuell". Die Dateien sind vom 25.10., können eigentlich den Weather-Patch noch nicht enthalten.

                                  SBorgS Offline
                                  SBorgS Offline
                                  SBorg
                                  Forum Testing Most Active
                                  wrote on last edited by
                                  #3072

                                  @rene55 Nein, brauchst du nicht. Es passiert aber auch nichts wenn man es trotzdem versucht. Dann kommt eben besagte Meldung "Version bereits aktuell".

                                  Im Grunde ist das System so aufgebaut:

                                  • sh = das eigentliche Programm
                                  • sub = enthält eigene Befehle/Funktionen für die sh
                                  • conf = die User spezifischen Einstellungen

                                  "sh" und "sub" enthält nichts vom User, kann also einfach ausgetauscht werden. Dies galt Anfangs auch für die "conf". Eine handvoll Einträge wieder übernehmen war schnell erledigt (aber schon da nicht gerade komfortabel). Mit der Zeit, und gerade seit OpenSenseMap und Windy, wäre das aber echt k*cke alles jedes mal neu einzutragen. Daraus entstand der "ws_updater".
                                  Der kann nun

                                  • das Projekt komplett installieren
                                  • den Service dazu einrichten
                                  • das Update auf die aktuelle Release-Version durchführen (Beta aus Sicherheitsgründen weiter nur händisch)
                                  • und die "conf" patchen

                                  Du willst bspw. von V2.9.0 auf V2.10.0 updaten und hast die "sh", "sub" und den "ws_updater" ersetzt, dann fehlen dir aber die Änderungen in der "conf" von V2.9.0 (eigentlich V2.8.0, denn eine V2.9.0-conf gab es nicht ;) ) --> V2.10.0
                                  Genau das macht die Option "--patch". Im konkreten Fall die Versionsnummer der "conf" auf V2.10.0 ändern, den Kommentar und den logging-Parameter hinzufügen und die (mögliche) Anzahl der drei neuen Sensoren in der Liste der Sensoren ergänzen.

                                  LG SBorg ( SBorg auf GitHub)
                                  Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                  XxJooOX 1 Reply Last reply
                                  1
                                  • SBorgS SBorg

                                    @rene55 Nein, brauchst du nicht. Es passiert aber auch nichts wenn man es trotzdem versucht. Dann kommt eben besagte Meldung "Version bereits aktuell".

                                    Im Grunde ist das System so aufgebaut:

                                    • sh = das eigentliche Programm
                                    • sub = enthält eigene Befehle/Funktionen für die sh
                                    • conf = die User spezifischen Einstellungen

                                    "sh" und "sub" enthält nichts vom User, kann also einfach ausgetauscht werden. Dies galt Anfangs auch für die "conf". Eine handvoll Einträge wieder übernehmen war schnell erledigt (aber schon da nicht gerade komfortabel). Mit der Zeit, und gerade seit OpenSenseMap und Windy, wäre das aber echt k*cke alles jedes mal neu einzutragen. Daraus entstand der "ws_updater".
                                    Der kann nun

                                    • das Projekt komplett installieren
                                    • den Service dazu einrichten
                                    • das Update auf die aktuelle Release-Version durchführen (Beta aus Sicherheitsgründen weiter nur händisch)
                                    • und die "conf" patchen

                                    Du willst bspw. von V2.9.0 auf V2.10.0 updaten und hast die "sh", "sub" und den "ws_updater" ersetzt, dann fehlen dir aber die Änderungen in der "conf" von V2.9.0 (eigentlich V2.8.0, denn eine V2.9.0-conf gab es nicht ;) ) --> V2.10.0
                                    Genau das macht die Option "--patch". Im konkreten Fall die Versionsnummer der "conf" auf V2.10.0 ändern, den Kommentar und den logging-Parameter hinzufügen und die (mögliche) Anzahl der drei neuen Sensoren in der Liste der Sensoren ergänzen.

                                    XxJooOX Offline
                                    XxJooOX Offline
                                    XxJooO
                                    wrote on last edited by XxJooO
                                    #3073

                                    @sborg ,

                                    eigentlich suche ich Jemanden mit ausreichend guten Javascript-Kenntnissen, der mir bei meinem Problem kurz helfen kann:

                                    Meine Station gibt hin und wieder unplausible Werte ab, wie z.B. "Aussenfeuchtigkeit" ist -9999%. Diese Werte werden dann in die influxDB geschrieben und führen dann zu hässlichen Grafiken. Ich habe nun einiges zusammen gesucht und das folgende Script geschrieben. Insgesamt sind 5 Wertereihen betroffen.

                                    Influx wird aufgefordert:

                                    • erstelle eine neue Wertereihe, nimm dabei alle Werte aus der alten Reihe , die größer oder kleiner als ein bestimmter Wert sind und schreibe diese in die neue Reihe
                                    • lösch die alte Reihe
                                    • schreib die Werte aus der neuen Reihe in die Reihe mit dem alten Namen
                                    • lösch die neue Reihe

                                    Wenn ich die Schritte einzeln als Script ausführen lasse, dann funktioniert das. In meinem Script aber kommt es zu einem Absturz von influx. Was könnte ich ändern, um das Script lauffähig zu bekommen?

                                    Vielen Dank
                                    XxJooO

                                    main();
                                    
                                    function main () {
                                    
                                        console.log("Korrigiere Aussenfeuchtigkeit")
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Aussenfeuchtigkeit" WHERE value>0 GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussenfeuchtigkeit"');
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" FROM "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean" GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean"');
                                    
                                        console.log("Korrigiere Aussentemperatur")
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Aussentemperatur_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Aussentemperatur" WHERE value>-50 GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussentemperatur"');
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Aussentemperatur" FROM "0_userdata.0.Wetterstation.Aussentemperatur_clean" GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Aussentemperatur_clean"');
                                    
                                        console.log("Korrigiere Regen_Tag")
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Regen_Tag_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Regen_Tag" WHERE value<30 GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Regen_Tag"');
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Regen_Tag" FROM "0_userdata.0.Wetterstation.Regen_Tag_clean" GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Regen_Tag_clean"');
                                    
                                        console.log("Korrigiere Sonnenstrahlung")
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Sonnenstrahlung_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Sonnenstrahlung" WHERE value>0 GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Sonnenstrahlung"');
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Sonnenstrahlung" FROM "0_userdata.0.Wetterstation.Sonnenstrahlung_clean" GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Sonnenstrahlung_clean"');
                                    
                                        console.log("Korrigiere Wind_max")
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Wind_max_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Wind_max" WHERE value>0 GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Wind_max"');
                                        sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Wind_max" FROM "0_userdata.0.Wetterstation.Wind_max_clean" GROUP BY *');
                                        sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Wind_max_clean"');
                                    
                                    }
                                    

                                    ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                                    Rene55R SBorgS 2 Replies Last reply
                                    0
                                    • XxJooOX XxJooO

                                      @sborg ,

                                      eigentlich suche ich Jemanden mit ausreichend guten Javascript-Kenntnissen, der mir bei meinem Problem kurz helfen kann:

                                      Meine Station gibt hin und wieder unplausible Werte ab, wie z.B. "Aussenfeuchtigkeit" ist -9999%. Diese Werte werden dann in die influxDB geschrieben und führen dann zu hässlichen Grafiken. Ich habe nun einiges zusammen gesucht und das folgende Script geschrieben. Insgesamt sind 5 Wertereihen betroffen.

                                      Influx wird aufgefordert:

                                      • erstelle eine neue Wertereihe, nimm dabei alle Werte aus der alten Reihe , die größer oder kleiner als ein bestimmter Wert sind und schreibe diese in die neue Reihe
                                      • lösch die alte Reihe
                                      • schreib die Werte aus der neuen Reihe in die Reihe mit dem alten Namen
                                      • lösch die neue Reihe

                                      Wenn ich die Schritte einzeln als Script ausführen lasse, dann funktioniert das. In meinem Script aber kommt es zu einem Absturz von influx. Was könnte ich ändern, um das Script lauffähig zu bekommen?

                                      Vielen Dank
                                      XxJooO

                                      main();
                                      
                                      function main () {
                                      
                                          console.log("Korrigiere Aussenfeuchtigkeit")
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Aussenfeuchtigkeit" WHERE value>0 GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussenfeuchtigkeit"');
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" FROM "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean" GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean"');
                                      
                                          console.log("Korrigiere Aussentemperatur")
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Aussentemperatur_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Aussentemperatur" WHERE value>-50 GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussentemperatur"');
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Aussentemperatur" FROM "0_userdata.0.Wetterstation.Aussentemperatur_clean" GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Aussentemperatur_clean"');
                                      
                                          console.log("Korrigiere Regen_Tag")
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Regen_Tag_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Regen_Tag" WHERE value<30 GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Regen_Tag"');
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Regen_Tag" FROM "0_userdata.0.Wetterstation.Regen_Tag_clean" GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Regen_Tag_clean"');
                                      
                                          console.log("Korrigiere Sonnenstrahlung")
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Sonnenstrahlung_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Sonnenstrahlung" WHERE value>0 GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Sonnenstrahlung"');
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Sonnenstrahlung" FROM "0_userdata.0.Wetterstation.Sonnenstrahlung_clean" GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Sonnenstrahlung_clean"');
                                      
                                          console.log("Korrigiere Wind_max")
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Wind_max_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Wind_max" WHERE value>0 GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Wind_max"');
                                          sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Wind_max" FROM "0_userdata.0.Wetterstation.Wind_max_clean" GROUP BY *');
                                          sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Wind_max_clean"');
                                      
                                      }
                                      
                                      Rene55R Offline
                                      Rene55R Offline
                                      Rene55
                                      wrote on last edited by
                                      #3074

                                      @SBorg Danke für die Erklärung. Dann hab ich (wahrscheinlich) alles sauber. Ich hatte bisher immer die Dateien in ein Verzeichnis gelegt, die handvoll eigener Parameter in der .conf geändert und dann einen Container erstellt. Ok, bei der .conf muss man dann ein bisschen aufpassen. Ich werd den updater beim nächsten Versionssprung mal testen. Dann sehe ich vielleicht auch mal ein Hunk #1 succeeded at 1 with furz 2. Danke nochmals - auch bei der wenigen freien Zeit - für das Script und die schnellen Antworten.
                                      LG Rainer

                                      Host: Fujitsu Intel(R) Pentium(R) CPU G4560T, 32 GB RAM, Proxmox 8.x + lxc Ubuntu 22.04
                                      ioBroker (8 GB RAM) Node.js: 20.19.1, NPM: 10.8.2, js-Controller: 7.0.6, Admin: 7.6.3
                                      Wetterstation: Froggit WH3000SE V1.6.6

                                      SBorgS 1 Reply Last reply
                                      0
                                      • XxJooOX XxJooO

                                        @sborg ,

                                        eigentlich suche ich Jemanden mit ausreichend guten Javascript-Kenntnissen, der mir bei meinem Problem kurz helfen kann:

                                        Meine Station gibt hin und wieder unplausible Werte ab, wie z.B. "Aussenfeuchtigkeit" ist -9999%. Diese Werte werden dann in die influxDB geschrieben und führen dann zu hässlichen Grafiken. Ich habe nun einiges zusammen gesucht und das folgende Script geschrieben. Insgesamt sind 5 Wertereihen betroffen.

                                        Influx wird aufgefordert:

                                        • erstelle eine neue Wertereihe, nimm dabei alle Werte aus der alten Reihe , die größer oder kleiner als ein bestimmter Wert sind und schreibe diese in die neue Reihe
                                        • lösch die alte Reihe
                                        • schreib die Werte aus der neuen Reihe in die Reihe mit dem alten Namen
                                        • lösch die neue Reihe

                                        Wenn ich die Schritte einzeln als Script ausführen lasse, dann funktioniert das. In meinem Script aber kommt es zu einem Absturz von influx. Was könnte ich ändern, um das Script lauffähig zu bekommen?

                                        Vielen Dank
                                        XxJooO

                                        main();
                                        
                                        function main () {
                                        
                                            console.log("Korrigiere Aussenfeuchtigkeit")
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Aussenfeuchtigkeit" WHERE value>0 GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussenfeuchtigkeit"');
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Aussenfeuchtigkeit" FROM "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean" GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Aussenfeuchtigkeit_clean"');
                                        
                                            console.log("Korrigiere Aussentemperatur")
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Aussentemperatur_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Aussentemperatur" WHERE value>-50 GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Aussentemperatur"');
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Aussentemperatur" FROM "0_userdata.0.Wetterstation.Aussentemperatur_clean" GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Aussentemperatur_clean"');
                                        
                                            console.log("Korrigiere Regen_Tag")
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Regen_Tag_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Regen_Tag" WHERE value<30 GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Regen_Tag"');
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Regen_Tag" FROM "0_userdata.0.Wetterstation.Regen_Tag_clean" GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Regen_Tag_clean"');
                                        
                                            console.log("Korrigiere Sonnenstrahlung")
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Sonnenstrahlung_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Sonnenstrahlung" WHERE value>0 GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Sonnenstrahlung"');
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Sonnenstrahlung" FROM "0_userdata.0.Wetterstation.Sonnenstrahlung_clean" GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Sonnenstrahlung_clean"');
                                        
                                            console.log("Korrigiere Wind_max")
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO iobroker.global."0_userdata.0.Wetterstation.Wind_max_clean" FROM iobroker.global."0_userdata.0.Wetterstation.Wind_max" WHERE value>0 GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP measurement "0_userdata.0.Wetterstation.Wind_max"');
                                            sendTo('influxdb.0', 'query', 'SELECT * INTO "0_userdata.0.Wetterstation.Wind_max" FROM "0_userdata.0.Wetterstation.Wind_max_clean" GROUP BY *');
                                            sendTo('influxdb.0', 'query', 'DROP SERIES FROM "0_userdata.0.Wetterstation.Wind_max_clean"');
                                        
                                        }
                                        
                                        SBorgS Offline
                                        SBorgS Offline
                                        SBorg
                                        Forum Testing Most Active
                                        wrote on last edited by
                                        #3075

                                        @xxjooo Das ist ein "simples" (aber nicht einfaches) Timeing - Problem. Während der eine sendTo noch arbeitet und die InfluxDB beschäftigt, feuert JS schon den nächsten Befehl ab. Um sicher zugehen, dass er fertig ist könnte man nun eine "Denkpause" von bspw. 1 Sekunde einfügen. Dann bekommst du aber das nächste Timeing-Problem, denn dann ist er noch mit der Abarbeitung dieses Datenpakets beschäftigt, während schon das nächste ansteht.

                                        Falls mehrere das Problem haben/hätten, könnte ich auch eine interne Unterdrückung/Begrenzung einbauen wie Temperatur nur von -99°C bis +99°C
                                        Das ist aber Zeitverschwendung (im Sinne von Ressourcenverschwendung des Systems) wenn es sonst keiner hat. Ich prüfe dann die Messwerte, obwohl sie zu 99.999% immer richtig sind. Ich hatte in nun bald 2 Jahren keinen einzigen Ausreißer zu verzeichnen.
                                        Ich habe es eben mal spaßeshalber gegen gerechnet: das wären bei rund 60(!) Millionen Messwerten und dabei nur 5 Korrekturen trotzdem 12 Millionen zusätzliche Berechnungen für fast nix an Nutzen, zumindest für euch (du mal ausgenommen ;) ). IMO nicht der beste Weg.

                                        Ich hätte aber eine andere, recht einfache Idee: die Werte erst gar nicht in die Influx gelangen zu lassen.
                                        Nehmen wir als Beispiel mal die Aussentemperatur (folgend AT genannt):

                                        • du legst unter javascript/0_userdata.x.tempData (wo du die Daten halt liegen hast) einen neuen Datenpunkt AT an (Bsp.: javascript.0.tempData.Aussentemperatur) / die Einstellungen vom Original übernehmen
                                        • in der "sub" (leider dann bei jedem Update weg) änderst du den Eintrag ab wo die AT gespeichert wird
                                             DP_TEMP_AUSSEN=${PRE_DP}.Aussentemperatur
                                             in
                                             DP_TEMP_AUSSEN=${PRE_DP}.tempData.Aussentemperatur
                                          
                                        • Nun noch ein Blockly/Flow/JS mit Trigger bei Änderung auf "...tempData.Aussentemperatur" und "falls" Wert > -99 und Wert < 99 dann schreibe Wert in den originalen AT-Datenpunkt

                                        Somit loggt Influx nur noch korrekte Werte und du kannst auch alles wie gehabt (zB. Statistik-Skript) weiter nutzen.

                                        LG SBorg ( SBorg auf GitHub)
                                        Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                        XxJooOX 1 Reply Last reply
                                        0
                                        • Rene55R Rene55

                                          @SBorg Danke für die Erklärung. Dann hab ich (wahrscheinlich) alles sauber. Ich hatte bisher immer die Dateien in ein Verzeichnis gelegt, die handvoll eigener Parameter in der .conf geändert und dann einen Container erstellt. Ok, bei der .conf muss man dann ein bisschen aufpassen. Ich werd den updater beim nächsten Versionssprung mal testen. Dann sehe ich vielleicht auch mal ein Hunk #1 succeeded at 1 with furz 2. Danke nochmals - auch bei der wenigen freien Zeit - für das Script und die schnellen Antworten.
                                          LG Rainer

                                          SBorgS Offline
                                          SBorgS Offline
                                          SBorg
                                          Forum Testing Most Active
                                          wrote on last edited by
                                          #3076

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

                                          Danke nochmals - auch bei der wenigen freien Zeit - für das Script und die schnellen Antworten.

                                          Trotz aller Widrigkeiten immer gerne.
                                          Ich kann leider nur sagen:

                                          Lächle und sei froh, es könnte schlimmer kommen.
                                          Ich lächelte und ward froh, und es kam schlimmer...

                                          ...aber das lächeln verkneife ich mir trotz allem nicht :slightly_smiling_face:

                                          LG SBorg ( SBorg auf GitHub)
                                          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          447

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe