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.9k

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

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

[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.

    NashraN Offline
    NashraN Offline
    Nashra
    Most Active Forum Testing
    schrieb am zuletzt editiert von
    #4857

    @negalein
    Keine Ahnung warum das bei dir so ist, da müsste @SBorg dir was zu sagen können

    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.

    1 Antwort Letzte Antwort
    0
    • 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 Online
                            BoronsbruderB Online
                            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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          807

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          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