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
    17
    1
    3.6k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[Linux Shell-Skript] WLAN-Wetterstation

Scheduled Pinned Locked Moved Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Posts 156 Posters 3.9m Views 138 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.
  • NegaleinN Negalein

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

    Trage doch mal in den Datenpunkten jeweils eine 0 ein und beobachte.

    die Werte werden vom Script eingetragen.
    Zeitstempel passt bei allen.

    Nur in 0_userdata.0.Wetterstation.Info.Temp_Aussen_Heute_min schreibt er den selben Wert wie in 0_userdata.0.Wetterstation.Info.Temp_Aussen_Heute_max.
    0_userdata.0.Wetterstation.Info.Temp_Aussen_24h_max & 0_userdata.0.Wetterstation.Info.Temp_Aussen_24h_min steht nur (null).
    Und in 0_userdata.0.Wetterstation.Info.Temp_Met_Sommer_avg steht nur 99,99.

    Aber wie gesagt, Zeitstempel & zuletzt geändert passt bei allen.

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

    @negalein Das wird alles aus der DB ermittelt, sieht nach einem Influx-Problem aus.
    Daten für den meteorologischen Sommer gibt es ab 01.06. ca. 23:58 Uhr (wenn also wenigstens 1 Tag erfasst wurde und dann die Mitternachtjobs laufen).

    Bringt denn im Installationsverzeichnis stehend was an Werte (Service kann dazu weiterlaufen):

    • ./wetterstation.sh --influx_test
    • ./wetterstation.sh --metsommer

    Bild 001.png

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

    NegaleinN 1 Reply Last reply
    0
    • SBorgS SBorg

      @negalein Das wird alles aus der DB ermittelt, sieht nach einem Influx-Problem aus.
      Daten für den meteorologischen Sommer gibt es ab 01.06. ca. 23:58 Uhr (wenn also wenigstens 1 Tag erfasst wurde und dann die Mitternachtjobs laufen).

      Bringt denn im Installationsverzeichnis stehend was an Werte (Service kann dazu weiterlaufen):

      • ./wetterstation.sh --influx_test
      • ./wetterstation.sh --metsommer

      Bild 001.png

      NegaleinN Offline
      NegaleinN Offline
      Negalein
      Global Moderator
      wrote on last edited by
      #4859

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

      ./wetterstation.sh --influx_test

      dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --influx_test
      Testing InfluxDB... min/max Aussentemperatur 24h: °C °C
      

      ./wetterstation.sh --metsommer

      dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --metsommer
      
       Daten vom 01.06.2023 bis 31.08.2023 wurden ermittelt...
      
               Ø-Temperatur:  °C
               Regenmenge  : 35.836 l/m²
      

      ° 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
      • NegaleinN Negalein

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

        ./wetterstation.sh --influx_test

        dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --influx_test
        Testing InfluxDB... min/max Aussentemperatur 24h: °C °C
        

        ./wetterstation.sh --metsommer

        dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --metsommer
        
         Daten vom 01.06.2023 bis 31.08.2023 wurden ermittelt...
        
                 Ø-Temperatur:  °C
                 Regenmenge  : 35.836 l/m²
        
        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        wrote on last edited by
        #4860

        @negalein Da er zumindest die Regenmenge aus der InfluxDB lesen kann sollte der Teil korrekt sein/arbeiten.

        Anscheinend funktioniert bei dir das loggen der Aussentempertur nicht korrekt. Hast du mal im Dataexplorer von Influx nachgeschaut ob du da einen Graphen für die Aussentemperatur bekommst? Hast du ev. mehrere Instanzen und loggst die falsche bzw. ev. ins falsche Bucket?

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

        NegaleinN 1 Reply Last reply
        0
        • SBorgS SBorg

          @negalein Da er zumindest die Regenmenge aus der InfluxDB lesen kann sollte der Teil korrekt sein/arbeiten.

          Anscheinend funktioniert bei dir das loggen der Aussentempertur nicht korrekt. Hast du mal im Dataexplorer von Influx nachgeschaut ob du da einen Graphen für die Aussentemperatur bekommst? Hast du ev. mehrere Instanzen und loggst die falsche bzw. ev. ins falsche Bucket?

          NegaleinN Offline
          NegaleinN Offline
          Negalein
          Global Moderator
          wrote on last edited by
          #4861

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

          loggst die falsche bzw. ev. ins falsche Bucket?

          ah, das kann sein

          in der .conf ist es iobroker-1w
          Aussentemperatur wird aber in iobroker geschrieben.
          Regen in iobroker-1w

          schaut jetzt auch besser aus :)

          dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --influx_test
          Testing InfluxDB... min/max Aussentemperatur 24h: 16.38°C 16.5°C
          dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --metsommer
          
           Daten vom 01.06.2023 bis 31.08.2023 wurden ermittelt...
          
                   Ø-Temperatur: 16.46 °C
                   Regenmenge  : 43.735 l/m²
          

          ° 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
          • NegaleinN Negalein

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

            loggst die falsche bzw. ev. ins falsche Bucket?

            ah, das kann sein

            in der .conf ist es iobroker-1w
            Aussentemperatur wird aber in iobroker geschrieben.
            Regen in iobroker-1w

            schaut jetzt auch besser aus :)

            dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --influx_test
            Testing InfluxDB... min/max Aussentemperatur 24h: 16.38°C 16.5°C
            dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --metsommer
            
             Daten vom 01.06.2023 bis 31.08.2023 wurden ermittelt...
            
                     Ø-Temperatur: 16.46 °C
                     Regenmenge  : 43.735 l/m²
            
            SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            wrote on last edited by
            #4862

            @negalein :grinning:
            Dann müsstest du jetzt aber die Werte von "iobroker" per csv exportieren und in "iobroker-1w" importieren, sonst fehlen dir für den Metsommer zumindest die ersten ~26 Tage.

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

            NegaleinN 1 Reply Last reply
            0
            • SBorgS SBorg

              @negalein :grinning:
              Dann müsstest du jetzt aber die Werte von "iobroker" per csv exportieren und in "iobroker-1w" importieren, sonst fehlen dir für den Metsommer zumindest die ersten ~26 Tage.

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              wrote on last edited by Negalein
              #4863

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

              Dann müsstest du jetzt aber die Werte von "iobroker" per csv exportieren und in "iobroker-1w" importieren, sonst fehlen dir für den Metsommer zumindest die ersten ~26 Tage.

              puuh, wie geht das.
              Ich hab schon öfter gesucht, da ich mehr verschieben müsste, aber nur sehr umständliche Wege gefunden.

              Export ist mit dem Dataexplorer kein Problem. Aber der Import. Da finde ich nichts vereinfachtes.

              ° 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
              • NegaleinN Negalein

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

                Dann müsstest du jetzt aber die Werte von "iobroker" per csv exportieren und in "iobroker-1w" importieren, sonst fehlen dir für den Metsommer zumindest die ersten ~26 Tage.

                puuh, wie geht das.
                Ich hab schon öfter gesucht, da ich mehr verschieben müsste, aber nur sehr umständliche Wege gefunden.

                Export ist mit dem Dataexplorer kein Problem. Aber der Import. Da finde ich nichts vereinfachtes.

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

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

                Aber der Import. Da finde ich nichts vereinfachtes.

                Weil es zu einfach ist :blush:
                Du gehst auf "Sources" (1. Menüpunkt Pfeil nach oben), dann unter "File Upload" Flux Annotated CSV das passende Bucket für den Import auswählen und dann deine exportierte CSV per Drag&Drop reinziehen oder auswählen...

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

                NegaleinN 1 Reply Last reply
                0
                • SBorgS SBorg

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

                  Aber der Import. Da finde ich nichts vereinfachtes.

                  Weil es zu einfach ist :blush:
                  Du gehst auf "Sources" (1. Menüpunkt Pfeil nach oben), dann unter "File Upload" Flux Annotated CSV das passende Bucket für den Import auswählen und dann deine exportierte CSV per Drag&Drop reinziehen oder auswählen...

                  NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  wrote on last edited by
                  #4865

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

                  Weil es zu einfach ist

                  Merci, war ja echt voll easy.
                  Danke

                  ° 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
                  • SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    wrote on last edited by
                    #4866

                    Bild 001.png

                    coming soon ... :innocent: :grin:

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

                    NegaleinN 1 Reply Last reply
                    3
                    • SBorgS SBorg

                      Bild 001.png

                      coming soon ... :innocent: :grin:

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      wrote on last edited by
                      #4867

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

                      coming soon ...

                      cool
                      World of Warcraft :joy: :joy: :joy:

                      ° 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
                        #4868

                        @SBorg
                        Heute Morgen folgender Fehler im Log

                        2023-07-01 01:03:00.081 - error: javascript.0 (433) Error in callback: TypeError: VorJahr.substring is not a function
                        2023-07-01 01:03:00.081 - error: javascript.0 (433) at VorJahr (script.js.Wetter.Statistik-WS:415:38)
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at Object.main (script.js.Wetter.Statistik-WS:156:4)
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34)
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at listOnTimeout (node:internal/timers:569:17)
                        2023-07-01 01:03:00.082 - error: javascript.0 (433) at processTimers (node:internal/timers:512:7)
                        

                        In der Statistik-Anzeige ist soweit alles ok
                        ws-statistik.png

                        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.

                        BoronsbruderB SBorgS 2 Replies Last reply
                        0
                        • NashraN Nashra

                          @SBorg
                          Heute Morgen folgender Fehler im Log

                          2023-07-01 01:03:00.081 - error: javascript.0 (433) Error in callback: TypeError: VorJahr.substring is not a function
                          2023-07-01 01:03:00.081 - error: javascript.0 (433) at VorJahr (script.js.Wetter.Statistik-WS:415:38)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Object.main (script.js.Wetter.Statistik-WS:156:4)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at listOnTimeout (node:internal/timers:569:17)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at processTimers (node:internal/timers:512:7)
                          

                          In der Statistik-Anzeige ist soweit alles ok
                          ws-statistik.png

                          BoronsbruderB Online
                          BoronsbruderB Online
                          Boronsbruder
                          wrote on last edited by
                          #4869

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

                          @SBorg
                          Heute Morgen folgender Fehler im Log

                          2023-07-01 01:03:00.081 - error: javascript.0 (433) Error in callback: TypeError: VorJahr.substring is not a function
                          2023-07-01 01:03:00.081 - error: javascript.0 (433) at VorJahr (script.js.Wetter.Statistik-WS:415:38)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Object.main (script.js.Wetter.Statistik-WS:156:4)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at listOnTimeout (node:internal/timers:569:17)
                          2023-07-01 01:03:00.082 - error: javascript.0 (433) at processTimers (node:internal/timers:512:7)
                          

                          In der Statistik-Anzeige ist soweit alles ok
                          ws-statistik.png

                          @SBorg

                          Mein modifizierter Code lief diesmal ohne Probleme ;)

                          2023-07-01 01:03:00.028 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: [{'Tiefstwert':6.7,'Hoechstwert':37,'Temp_Durchschnitt':21,'Max_Windboee':42.11,'Max_Regenmenge':22,'Regenmenge_Monat':54.9,'warme_Tage':29,'Sommertage':23,'heisse_Tage':8,'Frost_Tage':0,'kalte_Tage':0,'Eistage':0,'sehr_kalte_Tage':0}]
                          2023-07-01 01:03:00.029 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Tiefstwert--> 6.7
                          2023-07-01 01:03:00.029 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Hoechstwert--> 37
                          2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Temp_Durchschnitt--> 21
                          2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Max_Windboee--> 42.11
                          2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Max_Regenmenge--> 22
                          2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Regenmenge_Monat--> 54.9
                          2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_warme_Tage--> 29
                          2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Sommertage--> 23
                          2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_heisse_Tage--> 8
                          2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Frost_Tage--> 0
                          2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_kalte_Tage--> 0
                          2023-07-01 01:03:00.032 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Eistage--> 0
                          2023-07-01 01:03:00.048 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_sehr_kalte_Tage--> 0
                          2023-07-01 01:03:00.049 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: Auswertung durchgeführt...
                          2023-07-01 01:03:00.230 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: Ausführung zum Monatsersten beendet...
                          
                             let zeitstempel = new Date();
                              let datum = new Date(zeitstempel.getFullYear(),zeitstempel.getMonth(),zeitstempel.getDate());
                              let monatsdatenpunkt = '.Data.'+ (datum.getFullYear()-1) +'.'+pad(datum.getMonth()+1);
                              if (existsState(PRE_DP+monatsdatenpunkt)) { //der einfache Weg: wir haben schon Daten vom Vorjahr...
                          
                                  let VorJahr = getState(PRE_DP+monatsdatenpunkt).val;
                                  VorJahr = JSON.parse(VorJahr);
                                  
                                  // Daten vom Vorjahr durchiterieren und Datenpunkte befüllen
                                      console.log (VorJahr);
                                      VorJahr.forEach(obj => {
                                          Object.keys(obj).forEach(key => {
                                              console.log ('.Vorjahres_' + key + '--> ' + obj[key]);
                          
                                              // fix für Datenpunktname
                                              let setkey = key;                                       
                                              if (key == 'Temp_Durchschnitt') setkey = "Temperatur_Durchschnitt";
                          
                                              setState(PRE_DP+'.Vorjahres_Monat.' +setkey, obj[key], true);
                                          });
                                      });
                          
                          SBorgS 1 Reply Last reply
                          0
                          • NashraN Nashra

                            @SBorg
                            Heute Morgen folgender Fehler im Log

                            2023-07-01 01:03:00.081 - error: javascript.0 (433) Error in callback: TypeError: VorJahr.substring is not a function
                            2023-07-01 01:03:00.081 - error: javascript.0 (433) at VorJahr (script.js.Wetter.Statistik-WS:415:38)
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at Object.main (script.js.Wetter.Statistik-WS:156:4)
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34)
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at listOnTimeout (node:internal/timers:569:17)
                            2023-07-01 01:03:00.082 - error: javascript.0 (433) at processTimers (node:internal/timers:512:7)
                            

                            In der Statistik-Anzeige ist soweit alles ok
                            ws-statistik.png

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

                            @nashra Der Fehler bezieht sich/macht sich bemerkbar auch auf den VorJahres_Monat. Hier wirst du so aktuell keine Daten vom Juli 2022 haben, sondern irgendwo Daten von April oder Mai 2022 (Zeitstempel 01-05-2023 oä):
                            Bild 001.png


                            @_all_Statistiker
                            Fix für Juli:

                            • neues JS mit folgendem Inhalt anlegen, ausführen, stoppen (kann danach gelöscht werden)
                            
                                const PRE_DP='0_userdata.0.Statistik.Wetter';  //Speicherort der Statistikdaten
                                const monatsdatenpunkt='.Data.2022.07';        //.Data.Jahr.Monat
                            
                                    let VorJahr = getState(PRE_DP+monatsdatenpunkt).val;
                                    VorJahr = JSON.parse(VorJahr);
                            
                                    
                                    // Daten vom Vorjahr durchiterieren und Datenpunkte befüllen
                                        console.log (VorJahr);
                                        VorJahr.forEach(obj => {
                                            Object.keys(obj).forEach(key => {
                                                console.log ('.Vorjahres_' + key + '--> ' + obj[key]);
                            
                                                // fix für Datenpunktname
                                                let setkey = key;                                       
                                                if (key == 'Temp_Durchschnitt') setkey = "Temperatur_Durchschnitt";
                            
                                                setState(PRE_DP+'.Vorjahres_Monat.' +setkey, obj[key], true);
                            
                                            });
                                        });
                            
                            

                            (sollte einiges an Ausgabe produzieren), danach sind die Juli 2022 (sofern man Daten hatte) Werte vorhanden.

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

                            1 Reply Last reply
                            0
                            • BoronsbruderB Boronsbruder

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

                              @SBorg
                              Heute Morgen folgender Fehler im Log

                              2023-07-01 01:03:00.081 - error: javascript.0 (433) Error in callback: TypeError: VorJahr.substring is not a function
                              2023-07-01 01:03:00.081 - error: javascript.0 (433) at VorJahr (script.js.Wetter.Statistik-WS:415:38)
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at Object.main (script.js.Wetter.Statistik-WS:156:4)
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1606:34)
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15)
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7)
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at listOnTimeout (node:internal/timers:569:17)
                              2023-07-01 01:03:00.082 - error: javascript.0 (433) at processTimers (node:internal/timers:512:7)
                              

                              In der Statistik-Anzeige ist soweit alles ok
                              ws-statistik.png

                              @SBorg

                              Mein modifizierter Code lief diesmal ohne Probleme ;)

                              2023-07-01 01:03:00.028 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: [{'Tiefstwert':6.7,'Hoechstwert':37,'Temp_Durchschnitt':21,'Max_Windboee':42.11,'Max_Regenmenge':22,'Regenmenge_Monat':54.9,'warme_Tage':29,'Sommertage':23,'heisse_Tage':8,'Frost_Tage':0,'kalte_Tage':0,'Eistage':0,'sehr_kalte_Tage':0}]
                              2023-07-01 01:03:00.029 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Tiefstwert--> 6.7
                              2023-07-01 01:03:00.029 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Hoechstwert--> 37
                              2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Temp_Durchschnitt--> 21
                              2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Max_Windboee--> 42.11
                              2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Max_Regenmenge--> 22
                              2023-07-01 01:03:00.030 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Regenmenge_Monat--> 54.9
                              2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_warme_Tage--> 29
                              2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Sommertage--> 23
                              2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_heisse_Tage--> 8
                              2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Frost_Tage--> 0
                              2023-07-01 01:03:00.031 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_kalte_Tage--> 0
                              2023-07-01 01:03:00.032 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_Eistage--> 0
                              2023-07-01 01:03:00.048 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: .Vorjahres_sehr_kalte_Tage--> 0
                              2023-07-01 01:03:00.049 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: Auswertung durchgeführt...
                              2023-07-01 01:03:00.230 - info: javascript.0 (1421438) script.js.common.wetter.Wetterstation_Statistik: Ausführung zum Monatsersten beendet...
                              
                                 let zeitstempel = new Date();
                                  let datum = new Date(zeitstempel.getFullYear(),zeitstempel.getMonth(),zeitstempel.getDate());
                                  let monatsdatenpunkt = '.Data.'+ (datum.getFullYear()-1) +'.'+pad(datum.getMonth()+1);
                                  if (existsState(PRE_DP+monatsdatenpunkt)) { //der einfache Weg: wir haben schon Daten vom Vorjahr...
                              
                                      let VorJahr = getState(PRE_DP+monatsdatenpunkt).val;
                                      VorJahr = JSON.parse(VorJahr);
                                      
                                      // Daten vom Vorjahr durchiterieren und Datenpunkte befüllen
                                          console.log (VorJahr);
                                          VorJahr.forEach(obj => {
                                              Object.keys(obj).forEach(key => {
                                                  console.log ('.Vorjahres_' + key + '--> ' + obj[key]);
                              
                                                  // fix für Datenpunktname
                                                  let setkey = key;                                       
                                                  if (key == 'Temp_Durchschnitt') setkey = "Temperatur_Durchschnitt";
                              
                                                  setState(PRE_DP+'.Vorjahres_Monat.' +setkey, obj[key], true);
                                              });
                                          });
                              
                              SBorgS Offline
                              SBorgS Offline
                              SBorg
                              Forum Testing Most Active
                              wrote on last edited by
                              #4871

                              @boronsbruder Asche auf mein Haupt :face_with_head_bandage:
                              Schon vor Juni geändert, lief dann im Juni und Juli durch, da ich es selbst aber aktiv nicht nutze kpl. vergessen...


                              An alle Statistiker:

                              Neue Version V2.0.3 des Statistik-Scriptes auf GitHub verfügbar.
                              Am einfachsten wie immer den Konfigurationsblock per C&P sichern, Skript kpl. ersetzen und den Konfig-Block wieder mittels C&P zurückschreiben.

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

                              T 1 Reply Last reply
                              2
                              • SBorgS SBorg

                                @boronsbruder Asche auf mein Haupt :face_with_head_bandage:
                                Schon vor Juni geändert, lief dann im Juni und Juli durch, da ich es selbst aber aktiv nicht nutze kpl. vergessen...


                                An alle Statistiker:

                                Neue Version V2.0.3 des Statistik-Scriptes auf GitHub verfügbar.
                                Am einfachsten wie immer den Konfigurationsblock per C&P sichern, Skript kpl. ersetzen und den Konfig-Block wieder mittels C&P zurückschreiben.

                                T Offline
                                T Offline
                                tritor
                                wrote on last edited by
                                #4872

                                @sborg

                                also für die noch-nicht-fitten Statistiker, diesen Bereich sichern?

                                // *** User-Einstellungen **********************************************************************************************************************************
                                    const WET_DP='0_userdata.0.Wetterstation';          // wo liegen die Datenpunkte mit den Daten der Wetterstation  [default: 0_userdata.0.Wetterstation]                          
                                    const INFLUXDB_INSTANZ='0';                         // unter welcher Instanz läuft die InfluxDB [default: 0]
                                    const INFLUXDB_BUCKET='ioBroker';                     // Name des zu benutzenden Buckets
                                    const PRE_DP='0_userdata.0.Statistik.Wetter';       // wo sollen die Statistikwerte abgelegt werden. Nur unter "0_userdata" oder "javascript" möglich!
                                    let REKORDWERTE_AUSGABEFORMAT="[WERT] im [MONAT] [JAHR]";   /* Wie soll die Ausgabe der Rekordwerte formatiert werden (Template-Vorlage)?
                                                                                                    [WERT]      = Messwert (zB. '22.42' bei Temperatur, '12' bei Tagen)
                                                                                                    [TAG]       = Tag (0-31)
                                                                                                    [MONAT]     = Monatsname (Januar, Februar,..., Dezember)
                                                                                                    [MONAT_ZAHL]= Monat als Zahl (01-12)
                                                                                                    [MONAT_KURZ]= Monatsname kurz (Jan, Feb,..., Dez)
                                                                                                    [JAHR]      = Jahreszahl vierstellig (2020)
                                                                                                 Die 'Units' wie bspw. "°C" oder "Tage" werden direkt aus dem Datenpunkt ergänzt. 
                                                                                                 [default: [WERT] im [MONAT] [JAHR] ] erzeugt als Beispiel im DP die 
                                                                                                 Ausgabe: "22.42 °C im Juni 2020"
                                                                                                */
                                    const ZEITPLAN = "3 1 * * *";                       // wann soll die Statistik erstellt werden (Minuten Stunde * * *) [default 1:03 Uhr] 
                                // *** ENDE User-Einstellungen *****************************************************************************************************************************
                                

                                dann neues Script einfügen und den User-Einstellungs-Bereich wieder einfügen?

                                Gernot

                                Host: i9 server Proxmox , Debian 13.2 for ioBroker
                                ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                                Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                Grafana 12.3.1 / InfluxDB 2.7.12

                                SBorgS 1 Reply Last reply
                                0
                                • NegaleinN Negalein

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

                                  coming soon ...

                                  cool
                                  World of Warcraft :joy: :joy: :joy:

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

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

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

                                  coming soon ...

                                  cool
                                  World of Warcraft :joy: :joy: :joy:

                                  Nicht ganz :grin:
                                  Wer demnächst Beta testen will, kann schon mal https://github.com/SBorg2014/WLAN-Wetterstation/wiki/Installation-WeatherObservationsWebsite-(optional)
                                  und könnte mir vor dem anlegen der Site einen Auszug schicken was da bei "My Sites" steht:
                                  Bild 002.png
                                  ...und wie man sieht, "WOW" kommt nicht von mir (hätte ich aber auch genauso abgekürzt :joy: )

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

                                  NegaleinN 1 Reply Last reply
                                  0
                                  • T tritor

                                    @sborg

                                    also für die noch-nicht-fitten Statistiker, diesen Bereich sichern?

                                    // *** User-Einstellungen **********************************************************************************************************************************
                                        const WET_DP='0_userdata.0.Wetterstation';          // wo liegen die Datenpunkte mit den Daten der Wetterstation  [default: 0_userdata.0.Wetterstation]                          
                                        const INFLUXDB_INSTANZ='0';                         // unter welcher Instanz läuft die InfluxDB [default: 0]
                                        const INFLUXDB_BUCKET='ioBroker';                     // Name des zu benutzenden Buckets
                                        const PRE_DP='0_userdata.0.Statistik.Wetter';       // wo sollen die Statistikwerte abgelegt werden. Nur unter "0_userdata" oder "javascript" möglich!
                                        let REKORDWERTE_AUSGABEFORMAT="[WERT] im [MONAT] [JAHR]";   /* Wie soll die Ausgabe der Rekordwerte formatiert werden (Template-Vorlage)?
                                                                                                        [WERT]      = Messwert (zB. '22.42' bei Temperatur, '12' bei Tagen)
                                                                                                        [TAG]       = Tag (0-31)
                                                                                                        [MONAT]     = Monatsname (Januar, Februar,..., Dezember)
                                                                                                        [MONAT_ZAHL]= Monat als Zahl (01-12)
                                                                                                        [MONAT_KURZ]= Monatsname kurz (Jan, Feb,..., Dez)
                                                                                                        [JAHR]      = Jahreszahl vierstellig (2020)
                                                                                                     Die 'Units' wie bspw. "°C" oder "Tage" werden direkt aus dem Datenpunkt ergänzt. 
                                                                                                     [default: [WERT] im [MONAT] [JAHR] ] erzeugt als Beispiel im DP die 
                                                                                                     Ausgabe: "22.42 °C im Juni 2020"
                                                                                                    */
                                        const ZEITPLAN = "3 1 * * *";                       // wann soll die Statistik erstellt werden (Minuten Stunde * * *) [default 1:03 Uhr] 
                                    // *** ENDE User-Einstellungen *****************************************************************************************************************************
                                    

                                    dann neues Script einfügen und den User-Einstellungs-Bereich wieder einfügen?

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

                                    @tritor Im Grunde ja. In deinem Fall (wenn man die Defaults nutzt) einfach den Inhalt des kpl. Scripts löschen (CTRL-A und dann "Entf" drucken) das neue Script mittels (CTRL-A und CTRL-C) in die Zwischenablage kopieren und mittels CTRL-V in das leere Script im ioBroker einfügen. Dann brauchst du nur in dem Einstellungsblock dein Bucket von "Wetter" wieder auf "ioBroker" ändern, speichern und wieder starten.

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

                                    T 1 Reply Last reply
                                    1
                                    • SBorgS SBorg

                                      @tritor Im Grunde ja. In deinem Fall (wenn man die Defaults nutzt) einfach den Inhalt des kpl. Scripts löschen (CTRL-A und dann "Entf" drucken) das neue Script mittels (CTRL-A und CTRL-C) in die Zwischenablage kopieren und mittels CTRL-V in das leere Script im ioBroker einfügen. Dann brauchst du nur in dem Einstellungsblock dein Bucket von "Wetter" wieder auf "ioBroker" ändern, speichern und wieder starten.

                                      T Offline
                                      T Offline
                                      tritor
                                      wrote on last edited by
                                      #4875

                                      @sborg

                                      Hätte noch ein Problem mit Regeninfos:
                                      Es hatte gestern geregnet und habe es aber nicht angezeigt bekommen. Werder als Status noch als Regenrate/h

                                      hier die Screenshots:
                                      letzte Regenmenge wurde angezeigt,
                                      iobWlanWetter06.png

                                      Bei den RegenDPs aber nicht:
                                      iobWlanWetter07.png

                                      Woran kann das liegen?

                                      Gernot

                                      Host: i9 server Proxmox , Debian 13.2 for ioBroker
                                      ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                                      Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                      Grafana 12.3.1 / InfluxDB 2.7.12

                                      SBorgS 1 Reply Last reply
                                      0
                                      • T tritor

                                        @sborg

                                        Hätte noch ein Problem mit Regeninfos:
                                        Es hatte gestern geregnet und habe es aber nicht angezeigt bekommen. Werder als Status noch als Regenrate/h

                                        hier die Screenshots:
                                        letzte Regenmenge wurde angezeigt,
                                        iobWlanWetter06.png

                                        Bei den RegenDPs aber nicht:
                                        iobWlanWetter07.png

                                        Woran kann das liegen?

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

                                        @tritor Liegt leider an der Station. Deren "Woche" beginnt dummerweise Sonntags, nicht wie bei uns üblich Montags. Also resetten die Sonntags um Mitternacht die Werte. Da kann ich dann leider auch nichts mehr auslesen...

                                        Die Werte sind nicht verloren, nur landet der "Sontags-Regen" dann in der aktuellen Woche, die dann aber auch leider Samstagd endet...

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

                                        T 1 Reply Last reply
                                        0
                                        • SBorgS SBorg

                                          @tritor Liegt leider an der Station. Deren "Woche" beginnt dummerweise Sonntags, nicht wie bei uns üblich Montags. Also resetten die Sonntags um Mitternacht die Werte. Da kann ich dann leider auch nichts mehr auslesen...

                                          Die Werte sind nicht verloren, nur landet der "Sontags-Regen" dann in der aktuellen Woche, die dann aber auch leider Samstagd endet...

                                          T Offline
                                          T Offline
                                          tritor
                                          wrote on last edited by tritor
                                          #4877

                                          @sborg
                                          ok - ist halt so.
                                          Aber dann sollte dich Regen_Total irgendeienn Wert annehmen - oder bzw. während des Regens sollte dich die Regenrate sich ändern. Die blieb aber immer auf 0.

                                          Gernot

                                          Host: i9 server Proxmox , Debian 13.2 for ioBroker
                                          ioBroker: 7.7.22, Node.js: 22.21.1, NPM: 10.9.4, JS-controller: 7.1.0
                                          Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                          Grafana 12.3.1 / InfluxDB 2.7.12

                                          SBorgS 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

                                          680

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          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