Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 153 Kommentatoren 3.8m Aufrufe 135 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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: 20.17.0 NPM: 10.8.2
      ° Proxmox, Ubuntu 22.04.3 LTS
      ° Fixer ---> iob fix

      SBorgS 1 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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: 20.17.0 NPM: 10.8.2
          ° Proxmox, Ubuntu 22.04.3 LTS
          ° Fixer ---> iob fix

          SBorgS 1 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

              SBorgS 1 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #4865

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

                  Weil es zu einfach ist

                  Merci, war ja echt voll easy.
                  Danke

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  1 Antwort Letzte Antwort
                  0
                  • SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #4866

                    Bild 001.png

                    coming soon ... :innocent: :grin:

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

                    NegaleinN 1 Antwort Letzte Antwort
                    3
                    • SBorgS SBorg

                      Bild 001.png

                      coming soon ... :innocent: :grin:

                      NegaleinN Offline
                      NegaleinN Offline
                      Negalein
                      Global Moderator
                      schrieb am zuletzt editiert von
                      #4867

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

                      coming soon ...

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

                      ° Node.js: 20.17.0 NPM: 10.8.2
                      ° Proxmox, Ubuntu 22.04.3 LTS
                      ° Fixer ---> iob fix

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • NashraN Offline
                        NashraN Offline
                        Nashra
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von
                        #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 Antworten Letzte Antwort
                        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 Offline
                          BoronsbruderB Offline
                          Boronsbruder
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 12.0 for ioBroker
                                ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                                Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                Grafana 12.0.2 / InfluxDB 2.7.11

                                SBorgS 1 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 12.0 for ioBroker
                                      ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                                      Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                      Grafana 12.0.2 / InfluxDB 2.7.11

                                      SBorgS 1 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von 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 12.0 for ioBroker
                                          ioBroker: 7.7.19, Node.js: 22.21.1, NPM: 10.9.3, JS-controller: 7.0.7
                                          Wetterstation: HP1000SEPro V1.9.0 Easeweather V1.7.0
                                          Grafana 12.0.2 / InfluxDB 2.7.11

                                          SBorgS 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          900

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe