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.
  • SBorgS SBorg

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

    Ich komm seit nem halben Jahr zu nix mehr, eine Baustelle nach der anderen

    Willkommen im Club :cry:

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

    wie meinst du das?

    Wie lange das Skript für die Bearbeitung braucht. Bei dir auf der Synology waren es bei ~900 Datensätze 700ms. Das ist absolut akzeptabel.
    Auf meinem performanten Quad Core, bei der ungefähr selben Anzahl an Datensätzen, aber schon mit drei Abfragen (Temp, Wind und Regen): 35ms
    Bild 1.png
    rot: Start | grün Ende

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

    speziell gegen ~23:5x Uhr
    Laufzeit

    wie meinst du das?

    Anzahl der Datensätze

    stehen die auch wieder im Log? Um 23:59? Oder sind die dann anders zu finden?

    Die Datensätze stehen bei jedem Aufruf zum Ende der Skriptverarbeitung immer da. Die variieren halt je nach deinem Intervall der Station, ob du in Influx alles loggst, oder nur Änderungen, oder...
    Ein Test kurz vor Mitternacht verarbeitet dann in etwa die maximal auftretenden Datensätze. Aber es muss nicht unbedingt 23:59 Uhr sein, denn die paar Datensätze wenn du es um 23:55 Uhr ausführst machen den Bock nicht wirklich fett.
    Zumindest sieht es nach einer zufriedenstellenden Performance aus. Ich habe aus versehen einen Fehler bei den Timecodes gemacht und alle Datensätze abgefragt. 173.000 Datensätze in 5 Sekunden. Influx ist echt flott :blush:

    @Rushmed Ich hatte das schon lange auf der Agenda, nur nie direkt beim Shell-Skript. Das taugt an der Stelle einfach nicht. Da ist JS einfach die bessere/performantere Wahl.

    R Offline
    R Offline
    Rushmed
    Most Active
    schrieb am zuletzt editiert von
    #1234

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

    @Rushmed Ich hatte das schon lange auf der Agenda, nur nie direkt beim Shell-Skript. Das taugt an der Stelle einfach nicht. Da ist JS einfach die bessere/performantere Wahl.

    Du bist der Spezialist, ich freu mich nur auf die Lösung und kann helfen die lauffähig zu bekommen.

    1 Antwort Letzte Antwort
    0
    • SBorgS SBorg

      @Negalein Dann mal ein erster Test. Neues JS anlegen (am besten in einer neuen Instanz, dann knallt es dir nicht im Fehlerfall den eigentlichen JS-Adapter weg. Sollte zwar nicht, aber man weiß ja nie... ;) ) :

      /* Wetterstation-Statistiken 
         (c)2020 by SBorg 
         V0.0.1 - 05.09.2020   erste Alpha + Min/Max/Durchschnitt/Temp über 20°?
         holt die Messwerte aus einer InfluxDB und erstellt eine Statistik
        ToDo: vieles ;)
        known issues: keine
      */
      
      let werte = [];
      let zeitstempel = new Date();
      let start = new Date(zeitstempel.getFullYear(),zeitstempel.getMonth(),zeitstempel.getDate(),0,0,0);
      start = start.getTime();
      let end = new Date(zeitstempel.getFullYear(),zeitstempel.getMonth(),zeitstempel.getDate(),23,59,59);
      end = end.getTime();
      
      sendTo('influxdb.0', 'query', 'select * FROM "javascript.0.Wetterstation.Aussentemperatur" WHERE time >= ' + (start *1000000) + ' AND time <= ' + (end *1000000), function (result) {
      
          if (result.error) {
              console.error('Fehler: '+result.error);
          } else {
              //console.log('Rows: ' + JSON.stringify(result.result[0]));
              for (let i = 0; i < result.result[0].length; i++) {
              werte[i] = result.result[0][i].value;
              }
          }
      
       /*   const json = JSON.stringify(result.result[0][0]);
          const obj = JSON.parse(json);
          console.log(obj.ts);
          console.log(obj.value); */
      
          Math.sum = (...werte) => Array.prototype.reduce.call(werte,(a,b) => a+b);
          let Durchschnitt = (Math.sum(...werte)/werte.length).toFixed(2);
          if (Math.max(...werte) > 20) {console.log('Temperatur lag heute über 20°C');}
          console.log('Tiefstwert: ' + Math.min(...werte) + '°C');
          console.log('Höchstwert: ' + Math.max(...werte) + '°C');
          console.log('Durchschnitt: ' + Durchschnitt + '°C');
          console.log('Erster Messwert: ' + new Date(result.result[0][0].ts).toISOString() + ' ***' + result.result[0][0].value);
          console.log('Letzter Messwert: ' + new Date(result.result[0][werte.length-1].ts).toISOString() + ' ***' + result.result[0][werte.length-1].value);
          console.log('Anzahl Datensätze: ' + werte.length);
      });
      
      function timeConverter(UNIX_timestamp){
        let a = new Date(UNIX_timestamp);
        let months = ['Jan','Feb','Mär','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'];
        let year = a.getFullYear();
        let month = months[a.getMonth()];
        let date = a.getDate();
        let hour = a.getHours();
        let min = a.getMinutes();
        let sec = a.getSeconds();
        let time = pad(date) + '. ' + month + ' ' + year + ' ' + pad(hour) + ':' + pad(min) + ':' + pad(sec) ;
        return time;
      }
      
      function pad(n) {
          return n<10 ? '0'+n : n;
      }
      
      console.log('Daten ab ' + timeConverter(start));
      console.log('Daten bis ' + timeConverter(end)); 
      
      

      Anpassen musst du nur #16 ob dein Influx unter Instanz "0" läuft und den DP-Zweig für die Aussentemperatur.
      Sollte dann so nach dem starten aussehen:
      Bild 1.png
      Interessieren würde mich dann

      • allgemeine Laufzeit
      • dein System (PI, bzw. CPU + RAM)
      • sind die Werte plausibel
      • speziell gegen ~23:5x Uhr
        • Laufzeit
        • Anzahl der Datensätze

      Wenn der Ansatz so funktioniert werde ich zum "master-Branch" auf GitHub einen "Beta" anlegen, um dort dann das aktuelle JS vor zu halten.

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

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

      speziell gegen ~23:5x Uhr

      5.9.2020, 23:56:34.980	[info ]: javascript.1 (1029) Start javascript script.js.common.Wetterstatistik
      5.9.2020, 23:56:34.989	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Daten ab 05. Sep 2020 00:00:00
      5.9.2020, 23:56:34.990	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Daten bis 05. Sep 2020 23:59:59
      5.9.2020, 23:56:34.990	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: registered 0 subscriptions and 0 schedules
      5.9.2020, 23:56:35.080	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Temperatur lag heute über 20°C
      5.9.2020, 23:56:35.080	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Tiefstwert: 12.88°C
      5.9.2020, 23:56:35.081	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Höchstwert: 28.72°C
      5.9.2020, 23:56:35.081	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Durchschnitt: 20.73°C
      5.9.2020, 23:56:35.081	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-04T22:02:36.676Z ***17.27
      5.9.2020, 23:56:35.082	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-05T21:53:45.795Z ***17.5
      5.9.2020, 23:56:35.082	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Anzahl Datensätze: 1319
      

      Wenn ich das richtig sehe, sind es 102 ms für 1319 Datensätze.

      Und kurz nach Mitternacht mit nur 2 Datensätzen auch 100 ms.

      00:05:09.123	info	javascript.1 (1029) Start javascript script.js.common.Wetterstatistik
      00:05:09.135	info	javascript.1 (1029) script.js.common.Wetterstatistik: Daten ab 06. Sep 2020 00:00:00
      00:05:09.135	info	javascript.1 (1029) script.js.common.Wetterstatistik: Daten bis 06. Sep 2020 23:59:59
      00:05:09.135	info	javascript.1 (1029) script.js.common.Wetterstatistik: registered 0 subscriptions and 0 schedules
      00:05:09.221	info	javascript.1 (1029) script.js.common.Wetterstatistik: Tiefstwert: 17.38°C
      00:05:09.221	info	javascript.1 (1029) script.js.common.Wetterstatistik: Höchstwert: 17.5°C
      00:05:09.222	info	javascript.1 (1029) script.js.common.Wetterstatistik: Durchschnitt: 17.44°C
      00:05:09.222	info	javascript.1 (1029) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-05T22:01:30.847Z ***17.5
      00:05:09.223	info	javascript.1 (1029) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-05T22:02:02.616Z ***17.38
      00:05:09.223	info	javascript.1 (1029) script.js.common.Wetterstatistik: Anzahl Datensätze: 2
      

      Spielt dann eigentlich keine Rolle, ob 2 oder 1300 Datensätze.

      ° 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:

        speziell gegen ~23:5x Uhr

        5.9.2020, 23:56:34.980	[info ]: javascript.1 (1029) Start javascript script.js.common.Wetterstatistik
        5.9.2020, 23:56:34.989	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Daten ab 05. Sep 2020 00:00:00
        5.9.2020, 23:56:34.990	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Daten bis 05. Sep 2020 23:59:59
        5.9.2020, 23:56:34.990	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: registered 0 subscriptions and 0 schedules
        5.9.2020, 23:56:35.080	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Temperatur lag heute über 20°C
        5.9.2020, 23:56:35.080	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Tiefstwert: 12.88°C
        5.9.2020, 23:56:35.081	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Höchstwert: 28.72°C
        5.9.2020, 23:56:35.081	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Durchschnitt: 20.73°C
        5.9.2020, 23:56:35.081	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-04T22:02:36.676Z ***17.27
        5.9.2020, 23:56:35.082	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-05T21:53:45.795Z ***17.5
        5.9.2020, 23:56:35.082	[info ]: javascript.1 (1029) script.js.common.Wetterstatistik: Anzahl Datensätze: 1319
        

        Wenn ich das richtig sehe, sind es 102 ms für 1319 Datensätze.

        Und kurz nach Mitternacht mit nur 2 Datensätzen auch 100 ms.

        00:05:09.123	info	javascript.1 (1029) Start javascript script.js.common.Wetterstatistik
        00:05:09.135	info	javascript.1 (1029) script.js.common.Wetterstatistik: Daten ab 06. Sep 2020 00:00:00
        00:05:09.135	info	javascript.1 (1029) script.js.common.Wetterstatistik: Daten bis 06. Sep 2020 23:59:59
        00:05:09.135	info	javascript.1 (1029) script.js.common.Wetterstatistik: registered 0 subscriptions and 0 schedules
        00:05:09.221	info	javascript.1 (1029) script.js.common.Wetterstatistik: Tiefstwert: 17.38°C
        00:05:09.221	info	javascript.1 (1029) script.js.common.Wetterstatistik: Höchstwert: 17.5°C
        00:05:09.222	info	javascript.1 (1029) script.js.common.Wetterstatistik: Durchschnitt: 17.44°C
        00:05:09.222	info	javascript.1 (1029) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-05T22:01:30.847Z ***17.5
        00:05:09.223	info	javascript.1 (1029) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-05T22:02:02.616Z ***17.38
        00:05:09.223	info	javascript.1 (1029) script.js.common.Wetterstatistik: Anzahl Datensätze: 2
        

        Spielt dann eigentlich keine Rolle, ob 2 oder 1300 Datensätze.

        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #1236

        @Negalein Sieht gut aus :)
        Wenn man noch Zeit für die Ausgabe abzieht absolut ideal. Auch die Durchschnittsberechnung funktioniert.
        Auf GitHub gibt es nun einen "beta-Branch", dort liegt zukünftig das aktuelle JS. Bitte mal testen wie schnell das ist.

        6.9.2020, 10:33:34.308	[info ]: javascript.1 (3402) Start javascript script.js.common.Test.Wetterstation_Statistik
        6.9.2020, 10:33:34.316	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: registered 0 subscriptions and 0 schedules
        6.9.2020, 10:33:35.529	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Daten ab 06. Aug 2020 00:00:00
        6.9.2020, 10:33:35.530	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Daten bis 06. Sep 2020 23:59:59
        6.9.2020, 10:33:35.540	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Temperatur lag heute über 20 °C
        6.9.2020, 10:33:35.545	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Temperatur lag heute über 25 °C
        6.9.2020, 10:33:35.549	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Tiefstwert: 9.61 °C
        6.9.2020, 10:33:35.553	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Höchstwert: 37.11 °C
        6.9.2020, 10:33:35.553	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Durchschnitt: 23.03 °C
        6.9.2020, 10:33:35.557	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Maximum Windböe: 36.69 km/h
        6.9.2020, 10:33:35.558	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Regenmenge: 2326.40 l/m²
        6.9.2020, 10:33:35.558	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Regenmenge/Tag: 17.2 l/m²
        6.9.2020, 10:33:35.559	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Erster Messwert: 2020-08-05T22:02:25.825Z ***19.11
        6.9.2020, 10:33:35.559	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Letzter Messwert: 2020-09-06T08:32:04.253Z ***16.77
        6.9.2020, 10:33:35.559	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Anzahl Datensätze: 33552
        6.9.2020, 10:33:39.592	[info ]: javascript.1 (3402) Stop script script.js.common.Test.Wetterstation_Statistik
        

        Bei mir ~1.2 Sekunden, allerdings werden hier schon drei Datenbankabfragen über einen Zeitraum von einem Monat gefahren. Sind bei mir immerhin 33k Datensätze und dann noch die Auswertung. Ist ein reiner Performancetest ob auch notfalls eine Monatsauswertung durchführbar wäre.
        Die Daten sollten auch soweit stimmen, nur über 20/25° stimmt dann nicht mehr und die Regenmenge ist nonsens. Die ist kein Einzelwert wie die anderen Messwerte, sondern addiert sich auf. Dann darf ich aber nicht jeden Messwert nochmals aufaddieren...

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

        NegaleinN 1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @Negalein Sieht gut aus :)
          Wenn man noch Zeit für die Ausgabe abzieht absolut ideal. Auch die Durchschnittsberechnung funktioniert.
          Auf GitHub gibt es nun einen "beta-Branch", dort liegt zukünftig das aktuelle JS. Bitte mal testen wie schnell das ist.

          6.9.2020, 10:33:34.308	[info ]: javascript.1 (3402) Start javascript script.js.common.Test.Wetterstation_Statistik
          6.9.2020, 10:33:34.316	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: registered 0 subscriptions and 0 schedules
          6.9.2020, 10:33:35.529	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Daten ab 06. Aug 2020 00:00:00
          6.9.2020, 10:33:35.530	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Daten bis 06. Sep 2020 23:59:59
          6.9.2020, 10:33:35.540	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Temperatur lag heute über 20 °C
          6.9.2020, 10:33:35.545	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Temperatur lag heute über 25 °C
          6.9.2020, 10:33:35.549	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Tiefstwert: 9.61 °C
          6.9.2020, 10:33:35.553	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Höchstwert: 37.11 °C
          6.9.2020, 10:33:35.553	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Durchschnitt: 23.03 °C
          6.9.2020, 10:33:35.557	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Maximum Windböe: 36.69 km/h
          6.9.2020, 10:33:35.558	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Regenmenge: 2326.40 l/m²
          6.9.2020, 10:33:35.558	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Regenmenge/Tag: 17.2 l/m²
          6.9.2020, 10:33:35.559	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Erster Messwert: 2020-08-05T22:02:25.825Z ***19.11
          6.9.2020, 10:33:35.559	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Letzter Messwert: 2020-09-06T08:32:04.253Z ***16.77
          6.9.2020, 10:33:35.559	[info ]: javascript.1 (3402) script.js.common.Test.Wetterstation_Statistik: Anzahl Datensätze: 33552
          6.9.2020, 10:33:39.592	[info ]: javascript.1 (3402) Stop script script.js.common.Test.Wetterstation_Statistik
          

          Bei mir ~1.2 Sekunden, allerdings werden hier schon drei Datenbankabfragen über einen Zeitraum von einem Monat gefahren. Sind bei mir immerhin 33k Datensätze und dann noch die Auswertung. Ist ein reiner Performancetest ob auch notfalls eine Monatsauswertung durchführbar wäre.
          Die Daten sollten auch soweit stimmen, nur über 20/25° stimmt dann nicht mehr und die Regenmenge ist nonsens. Die ist kein Einzelwert wie die anderen Messwerte, sondern addiert sich auf. Dann darf ich aber nicht jeden Messwert nochmals aufaddieren...

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

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

          Bei mir ~1.2 Sekunden, allerdings werden hier schon drei Datenbankabfragen über einen Zeitraum von einem Monat gefahren. Sind bei mir immerhin 33k Datensätze

          15:36:18.125	info	javascript.1 (1029) Start javascript script.js.common.Wetterstatistik
          15:36:18.137	info	javascript.1 (1029) script.js.common.Wetterstatistik: registered 0 subscriptions and 0 schedules
          15:36:27.631	info	javascript.1 (1029) script.js.common.Wetterstatistik: Daten ab 06. Aug 2020 00:00:00
          15:36:27.632	info	javascript.1 (1029) script.js.common.Wetterstatistik: Daten bis 06. Sep 2020 23:59:59
          15:36:27.664	info	javascript.1 (1029) script.js.common.Wetterstatistik: Temperatur lag heute über 20 °C
          15:36:27.665	info	javascript.1 (1029) script.js.common.Wetterstatistik: Temperatur lag heute über 25 °C
          15:36:27.666	info	javascript.1 (1029) script.js.common.Wetterstatistik: Tiefstwert: 9.5 °C
          15:36:27.667	info	javascript.1 (1029) script.js.common.Wetterstatistik: Höchstwert: 32.77 °C
          15:36:27.668	info	javascript.1 (1029) script.js.common.Wetterstatistik: Durchschnitt: 20.78 °C
          15:36:27.669	info	javascript.1 (1029) script.js.common.Wetterstatistik: Maximum Windböe: 60.51 km/h
          15:36:27.689	info	javascript.1 (1029) script.js.common.Wetterstatistik: Regenmenge: 97581.90 l/m²
          15:36:27.700	info	javascript.1 (1029) script.js.common.Wetterstatistik: Regenmenge/Tag: 21.1 l/m²
          15:36:27.700	info	javascript.1 (1029) script.js.common.Wetterstatistik: Erster Messwert: 2020-08-05T22:00:01.627Z ***14.72
          15:36:27.700	info	javascript.1 (1029) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-06T13:33:04.987Z ***18.88
          15:36:27.700	info	javascript.1 (1029) script.js.common.Wetterstatistik: Anzahl Datensätze: 37375
          

          Was sagt der Meister? ;)

          Mir ist noch was aufgefallen.
          Die Daten sind vom 6. 9. 2020
          Heute hatten wir aber definitiv keinen Höchstwert von 32,77 °C
          Oder von welchem Zeitraum nimmt er diesen Wert?

          Ah, sehe gerade, beim Regen 97581 l/m²
          Das dürfte utopisch sein. :grin:
          wären 251 l/m² seit Betreb der Station.

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

          1 Antwort Letzte Antwort
          0
          • R Offline
            R Offline
            Rushmed
            Most Active
            schrieb am zuletzt editiert von
            #1238
            19:37:01.630	info	javascript.0 (3836) Start javascript script.js.Wetterstation_Statistik
            19:37:01.650	info	javascript.0 (3836) script.js.Wetterstation_Statistik: registered 0 subscriptions and 0 schedules
            19:37:11.462	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Daten ab 06. Aug 2020 00:00:00
            19:37:11.463	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Daten bis 06. Sep 2020 23:59:59
            19:37:11.468	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Temperatur lag heute über 20 °C
            19:37:11.469	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Temperatur lag heute über 25 °C
            19:37:11.471	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Tiefstwert: 8.61 °C
            19:37:11.472	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Höchstwert: 39.11 °C
            19:37:11.472	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Durchschnitt: 23.30 °C
            19:37:11.475	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Maximum Windböe: 47.96 km/h
            19:37:11.476	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Regenmenge: 11029.90 l/m²
            19:37:11.476	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Regenmenge/Tag: 47.1 l/m²
            19:37:11.476	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Erster Messwert: 2020-08-05T22:00:29.754Z ***16.5
            19:37:11.477	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Letzter Messwert: 2020-09-06T17:36:35.284Z ***17.61
            19:37:11.477	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Anzahl Datensätze: 30343
            

            Meine Zeitmessung auf nem PI4.

            NegaleinN 1 Antwort Letzte Antwort
            0
            • R Rushmed
              19:37:01.630	info	javascript.0 (3836) Start javascript script.js.Wetterstation_Statistik
              19:37:01.650	info	javascript.0 (3836) script.js.Wetterstation_Statistik: registered 0 subscriptions and 0 schedules
              19:37:11.462	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Daten ab 06. Aug 2020 00:00:00
              19:37:11.463	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Daten bis 06. Sep 2020 23:59:59
              19:37:11.468	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Temperatur lag heute über 20 °C
              19:37:11.469	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Temperatur lag heute über 25 °C
              19:37:11.471	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Tiefstwert: 8.61 °C
              19:37:11.472	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Höchstwert: 39.11 °C
              19:37:11.472	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Durchschnitt: 23.30 °C
              19:37:11.475	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Maximum Windböe: 47.96 km/h
              19:37:11.476	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Regenmenge: 11029.90 l/m²
              19:37:11.476	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Regenmenge/Tag: 47.1 l/m²
              19:37:11.476	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Erster Messwert: 2020-08-05T22:00:29.754Z ***16.5
              19:37:11.477	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Letzter Messwert: 2020-09-06T17:36:35.284Z ***17.61
              19:37:11.477	info	javascript.0 (3836) script.js.Wetterstation_Statistik: Anzahl Datensätze: 30343
              

              Meine Zeitmessung auf nem PI4.

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

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

              Meine Zeitmessung auf nem PI4.

              Höchstwert: 39.11 °C
              :sunglasses: WOW, wo wohnst? ;)

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

              R 1 Antwort Letzte Antwort
              0
              • NegaleinN Negalein

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

                Meine Zeitmessung auf nem PI4.

                Höchstwert: 39.11 °C
                :sunglasses: WOW, wo wohnst? ;)

                R Offline
                R Offline
                Rushmed
                Most Active
                schrieb am zuletzt editiert von
                #1240

                @Negalein Jena City und ich wohne im Dachgeschoss :cold_sweat:

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

                  Danke euch beiden.

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

                  Heute hatten wir aber definitiv keinen Höchstwert von 32,77 °C
                  Oder von welchem Zeitraum nimmt er diesen Wert?

                  Ist ja auch nicht von heute (siehe meinen letzten Post "... über einen Zeitraum von einem Monat gefahren...". Schau mal genau auf ab wann die Daten ausgewertet werden ("Aug." ;) ), und da war halt wohl so ein heißer Tag dabei. Es ging hier um den Test wie schnell eine kpl. Monatsauswertung durchgeführt werden kann. Hintergrund: s.u.

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

                  Ah, sehe gerade, beim Regen 97581 l/m²
                  Das dürfte utopisch sein.
                  wären 251 l/m² seit Betreb der Station.

                  Steht auch im vorherigen Post :innocent:
                  Kleiner Denkfehler meinerseits. Ich addiere jeden Messwert auf. Das ist aber falsch, da sich der Messwert nur erhöht wenn es regnet. Beispiel Messwertereihe: 0-0-0-1(es regnet einen Liter und hört dann auf)-1-1-3(regnet wieder zwei Liter)-3-3...
                  Korrekt ist jetzt natürlich nur drei Liter, da ich aber munter addiere: 1+1+1+3+3+3... = 12 und mehr Liter.

                  Hintergrund für den Test der Monatsauswertung ist auch "einfach" erklärt:
                  Die Auswertung für den heutigen Monat ist recht einfach/schnell. Dazu wird nach Mitternacht das JS gestartet. Es wertet dann den Vortag aus und schreibt die Daten zum aktuellen Monat hinzu. Soweit so gut (und auch einfach).
                  Was ist aber mit den Daten aus dem Vorjahr (also aktuell Sep. 2019)?
                  Ich kann natürlich den aktuellen Monat immer in einem zusätzlichen Datenpunkt ablegen, dann hätte man die Vorjahreswerte aber erst in einem Jahr (also Sep. 2020 im Sep. 2021) zur Verfügung. Die DPs müssten dann auch dynamisch angelegt werden. Sind zum einen dann sehr viele, ich lege im Grunde schon wieder eine Datenbank an (obwohl ja alles schon in der Influx steht) und in der VIS kommt man wg. der dynamischen DPs nicht um Bindings herum. In Summe nicht gerade sehr prickelnd und innerhalb der VIS performant...
                  Deswegen möchte ich zum 1. des Monats immer eine kpl. Monatsauswertung des entsprechenden Monats aus dem Vorjahr fahren. Das dauert bei euch zwar 8-10 Sekunden, ist aber einmalig im Monat Nachts um x:xx Uhr IMHO vertretbar. Bei Multihost kann man es ggf. sogar auslagern, bei Single Host kommt es im ioB halt schlimmstenfalls mal zu einem kurzen lagg.
                  Dann hätte man aber keine unnütze 2. Datenbank. Der Hauptvorteil wäre aber für die VIS, man kann mit festen DPs arbeiten, also bspw. Order "aktueller Monat" und den x-DPs mit aktuellen Werten darin, und Ordner "Vorjahr" mit den entsprechenden selben fixen DPs und Vorjahreswerten. Macht den Umgang/Gestaltung in der VIS flexibler und einfacher.

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

                  NegaleinN 1 Antwort Letzte Antwort
                  0
                  • SBorgS SBorg

                    Danke euch beiden.

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

                    Heute hatten wir aber definitiv keinen Höchstwert von 32,77 °C
                    Oder von welchem Zeitraum nimmt er diesen Wert?

                    Ist ja auch nicht von heute (siehe meinen letzten Post "... über einen Zeitraum von einem Monat gefahren...". Schau mal genau auf ab wann die Daten ausgewertet werden ("Aug." ;) ), und da war halt wohl so ein heißer Tag dabei. Es ging hier um den Test wie schnell eine kpl. Monatsauswertung durchgeführt werden kann. Hintergrund: s.u.

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

                    Ah, sehe gerade, beim Regen 97581 l/m²
                    Das dürfte utopisch sein.
                    wären 251 l/m² seit Betreb der Station.

                    Steht auch im vorherigen Post :innocent:
                    Kleiner Denkfehler meinerseits. Ich addiere jeden Messwert auf. Das ist aber falsch, da sich der Messwert nur erhöht wenn es regnet. Beispiel Messwertereihe: 0-0-0-1(es regnet einen Liter und hört dann auf)-1-1-3(regnet wieder zwei Liter)-3-3...
                    Korrekt ist jetzt natürlich nur drei Liter, da ich aber munter addiere: 1+1+1+3+3+3... = 12 und mehr Liter.

                    Hintergrund für den Test der Monatsauswertung ist auch "einfach" erklärt:
                    Die Auswertung für den heutigen Monat ist recht einfach/schnell. Dazu wird nach Mitternacht das JS gestartet. Es wertet dann den Vortag aus und schreibt die Daten zum aktuellen Monat hinzu. Soweit so gut (und auch einfach).
                    Was ist aber mit den Daten aus dem Vorjahr (also aktuell Sep. 2019)?
                    Ich kann natürlich den aktuellen Monat immer in einem zusätzlichen Datenpunkt ablegen, dann hätte man die Vorjahreswerte aber erst in einem Jahr (also Sep. 2020 im Sep. 2021) zur Verfügung. Die DPs müssten dann auch dynamisch angelegt werden. Sind zum einen dann sehr viele, ich lege im Grunde schon wieder eine Datenbank an (obwohl ja alles schon in der Influx steht) und in der VIS kommt man wg. der dynamischen DPs nicht um Bindings herum. In Summe nicht gerade sehr prickelnd und innerhalb der VIS performant...
                    Deswegen möchte ich zum 1. des Monats immer eine kpl. Monatsauswertung des entsprechenden Monats aus dem Vorjahr fahren. Das dauert bei euch zwar 8-10 Sekunden, ist aber einmalig im Monat Nachts um x:xx Uhr IMHO vertretbar. Bei Multihost kann man es ggf. sogar auslagern, bei Single Host kommt es im ioB halt schlimmstenfalls mal zu einem kurzen lagg.
                    Dann hätte man aber keine unnütze 2. Datenbank. Der Hauptvorteil wäre aber für die VIS, man kann mit festen DPs arbeiten, also bspw. Order "aktueller Monat" und den x-DPs mit aktuellen Werten darin, und Ordner "Vorjahr" mit den entsprechenden selben fixen DPs und Vorjahreswerten. Macht den Umgang/Gestaltung in der VIS flexibler und einfacher.

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

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

                    siehe meinen letzten Post "... über einen Zeitraum von einem Monat gefahren...

                    Ah, vor lauter Vorfreude hab ich das ganz übersehen.

                    Der Hauptvorteil wäre aber für die VIS, man kann mit festen DPs arbeiten, also bspw. Order "aktueller Monat" und den x-DPs mit aktuellen Werten darin, und Ordner "Vorjahr" mit den entsprechenden selben fixen DPs und Vorjahreswerten. Macht den Umgang/Gestaltung in der VIS flexibler und einfacher.

                    Das denke ich auch

                    Deswegen möchte ich zum 1. des Monats immer eine kpl. Monatsauswertung des entsprechenden Monats aus dem Vorjahr fahren. Das dauert bei euch zwar 8-10 Sekunden, ist aber einmalig im Monat Nachts um x:xx Uhr IMHO vertretbar.

                    genau, das machts nichts wenn die Auswertung mal etwas dauert. Um diese Zeit is es am System eh eher ruhig.

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

                      Wer mag, neue Version auf GitHub. Ermittelt den 1. echten Wert (alle Werte immer vom Vortag!), schreibt diesen ggf. in einen DP falls er niedriger (da es der "Tiefstwert" ist) sein sollte:
                      Bild 1.png

                      Im JS können die Einstellungen konfiguriert werden ("User-Einstellungen"). Neue Datenpunkte werden dann automatisch angelegt. Das JS enthält zwar schon den lauffähigen Scheduler (Start jeweils 1:03 Uhr), startet aber zwecks Debugging derzeit noch sofort.
                      Kleine Änderung an der Anzeige der Anzahl von Datensätzen, da insgesamt 3 Serien in der Influx abgefragt werden:

                      Anzahl Datensätze: T_1234|W_711|R_25
                      

                      T: Temperaturen, W: Windgeschwindigkeiten, und wer hätte es Gedacht... R: Regenmengen
                      Regen kommt bei mir hin, da Gestern kein Regen, ich nur Änderungen logge und wg. Grafana (-lücken) zumindest stündlich einmal einen Wert schreiben lasse, ob er sich nun geändert hat oder nicht ;)

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

                      NegaleinN 1 Antwort Letzte Antwort
                      1
                      • SBorgS SBorg

                        Wer mag, neue Version auf GitHub. Ermittelt den 1. echten Wert (alle Werte immer vom Vortag!), schreibt diesen ggf. in einen DP falls er niedriger (da es der "Tiefstwert" ist) sein sollte:
                        Bild 1.png

                        Im JS können die Einstellungen konfiguriert werden ("User-Einstellungen"). Neue Datenpunkte werden dann automatisch angelegt. Das JS enthält zwar schon den lauffähigen Scheduler (Start jeweils 1:03 Uhr), startet aber zwecks Debugging derzeit noch sofort.
                        Kleine Änderung an der Anzeige der Anzahl von Datensätzen, da insgesamt 3 Serien in der Influx abgefragt werden:

                        Anzahl Datensätze: T_1234|W_711|R_25
                        

                        T: Temperaturen, W: Windgeschwindigkeiten, und wer hätte es Gedacht... R: Regenmengen
                        Regen kommt bei mir hin, da Gestern kein Regen, ich nur Änderungen logge und wg. Grafana (-lücken) zumindest stündlich einmal einen Wert schreiben lasse, ob er sich nun geändert hat oder nicht ;)

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

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

                        Wer mag, neue Version auf GitHub.

                        1. Start
                        17:55:41.624	info	javascript.1 (3031) Start javascript script.js.common.Wetterstatistik
                        17:55:41.648	info	javascript.1 (3031) script.js.common.Wetterstatistik: 0_userdata.0.Statistik.Wetter existiert nicht... Lege Datenstruktur an...
                        17:55:41.655	info	javascript.1 (3031) script.js.common.Wetterstatistik: Wetterstation-Statistiken gestartet...
                        17:55:41.676	info	javascript.1 (3031) script.js.common.Wetterstatistik: registered 0 subscriptions and 1 schedule
                        17:55:42.236	info	javascript.1 (3031) script.js.common.Wetterstatistik: Daten ab 06. Sep 2020 00:00:00
                        17:55:42.239	info	javascript.1 (3031) script.js.common.Wetterstatistik: Daten bis 06. Sep 2020 23:59:59
                        17:55:42.240	info	javascript.1 (3031) script.js.common.Wetterstatistik: Tiefstwert: 13.72 °C
                        17:55:42.240	info	javascript.1 (3031) script.js.common.Wetterstatistik: Höchstwert: 20 °C
                        17:55:42.240	info	javascript.1 (3031) script.js.common.Wetterstatistik: Durchschnitt: 16.80 °C
                        17:55:42.241	info	javascript.1 (3031) script.js.common.Wetterstatistik: Maximum Windböe: 14.8 km/h
                        17:55:42.241	info	javascript.1 (3031) script.js.common.Wetterstatistik: Regenmenge/Tag: 12.3 l/m²
                        17:55:42.241	info	javascript.1 (3031) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-05T22:01:30.847Z ***17.5
                        17:55:42.242	info	javascript.1 (3031) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-06T21:58:22.241Z ***13.88
                        17:55:42.242	info	javascript.1 (3031) script.js.common.Wetterstatistik: Anzahl Datensätze: T_844|W_1865|R_2811
                        

                        Bei Tiefstwert steht noch nichts im DP
                        objects - ioBroker (1).png

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

                        SBorgS 1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          Rushmed
                          Most Active
                          schrieb am zuletzt editiert von
                          #1245

                          Ich hätte die Statistikwerte gern in Wetterstation.0.Statistik abgelegt.
                          Kann der JS Adapter das etwa nicht?

                          // *** User-Einstellungen ***************************************************************************************
                              let WET_DP='Wetterstation.0';    /* wo liegen die Datenpunkte mit den Daten der Wetterstation
                                                                             [default: javascript.0.Wetterstation]                   */
                              let INFLUXDB_INSTANZ='0';                   // unter welcher Instanz läuft die InfluxDB [default: 0]   
                              let PRE_DP='Wetterstation.0.Statistik'; // wo sollen die Statistikwerte abgelegt werden   
                              const ZEITPLAN = "3 1 * * *";               // wann soll die Statistik erstellt werden (Minuten Stunde * * *)                       
                          // *** ENDE User-Einstellungen **********************************************************************************
                          
                          1 Antwort Letzte Antwort
                          0
                          • NegaleinN Negalein

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

                            Wer mag, neue Version auf GitHub.

                            1. Start
                            17:55:41.624	info	javascript.1 (3031) Start javascript script.js.common.Wetterstatistik
                            17:55:41.648	info	javascript.1 (3031) script.js.common.Wetterstatistik: 0_userdata.0.Statistik.Wetter existiert nicht... Lege Datenstruktur an...
                            17:55:41.655	info	javascript.1 (3031) script.js.common.Wetterstatistik: Wetterstation-Statistiken gestartet...
                            17:55:41.676	info	javascript.1 (3031) script.js.common.Wetterstatistik: registered 0 subscriptions and 1 schedule
                            17:55:42.236	info	javascript.1 (3031) script.js.common.Wetterstatistik: Daten ab 06. Sep 2020 00:00:00
                            17:55:42.239	info	javascript.1 (3031) script.js.common.Wetterstatistik: Daten bis 06. Sep 2020 23:59:59
                            17:55:42.240	info	javascript.1 (3031) script.js.common.Wetterstatistik: Tiefstwert: 13.72 °C
                            17:55:42.240	info	javascript.1 (3031) script.js.common.Wetterstatistik: Höchstwert: 20 °C
                            17:55:42.240	info	javascript.1 (3031) script.js.common.Wetterstatistik: Durchschnitt: 16.80 °C
                            17:55:42.241	info	javascript.1 (3031) script.js.common.Wetterstatistik: Maximum Windböe: 14.8 km/h
                            17:55:42.241	info	javascript.1 (3031) script.js.common.Wetterstatistik: Regenmenge/Tag: 12.3 l/m²
                            17:55:42.241	info	javascript.1 (3031) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-05T22:01:30.847Z ***17.5
                            17:55:42.242	info	javascript.1 (3031) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-06T21:58:22.241Z ***13.88
                            17:55:42.242	info	javascript.1 (3031) script.js.common.Wetterstatistik: Anzahl Datensätze: T_844|W_1865|R_2811
                            

                            Bei Tiefstwert steht noch nichts im DP
                            objects - ioBroker (1).png

                            SBorgS Offline
                            SBorgS Offline
                            SBorg
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #1246

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

                            Bei Tiefstwert steht noch nichts im DP

                            Kommt davon wenn man gerade beim publishen noch eine Änderung machen muss :(
                            Ich muss den DP nach dem Anlegen vorher mit einem "unsinnigen" Wert befüllen, sonst macht er nüscht. Suche mal nach (so um #132):

                            createState(PRE_DP+'.aktueller_Monat.Tiefstwert','',
                            und ersetze/ergänze mit
                            createState(PRE_DP+'.aktueller_Monat.Tiefstwert',100,
                            

                            Ist mit der nächsten Version gefixt.

                            @Rushmed Ja, kann er so nicht, nur unterhalb von "javascript.x" oder "0_userdata.x".
                            Entweder musst du sie dann per Hand anlegen, oder das "createState" mit einem anderen Aufruf ersetzen. Da gibt es von paul bzw. mic ein Skript dafür. Das packt man dann (falls es nicht sogar so schon angelegt ist) in eine JS-function XYZ. Dann braucht man createState nur durch XYZ ersetzen. Kann ich dir später behilflich sein. Im Moment würde ich es noch nicht ändern, da du sonst bei jedem Update des Skriptes immer per Hand alles ändern musst.
                            Oder mittels des Skriptes von paul/mic die DPs anlegen lassen. Dann brauchst du an dem Statistik-Skript überhaupt nichts ändern. Ich prüfe nur ob die DPs vorhanden sind und lege sie dann ggf. an. Sind sie vorhanden passiert an der Stelle dann einfach nichts weiter. Wäre IMO der beste Weg.

                            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:

                              Bei Tiefstwert steht noch nichts im DP

                              Kommt davon wenn man gerade beim publishen noch eine Änderung machen muss :(
                              Ich muss den DP nach dem Anlegen vorher mit einem "unsinnigen" Wert befüllen, sonst macht er nüscht. Suche mal nach (so um #132):

                              createState(PRE_DP+'.aktueller_Monat.Tiefstwert','',
                              und ersetze/ergänze mit
                              createState(PRE_DP+'.aktueller_Monat.Tiefstwert',100,
                              

                              Ist mit der nächsten Version gefixt.

                              @Rushmed Ja, kann er so nicht, nur unterhalb von "javascript.x" oder "0_userdata.x".
                              Entweder musst du sie dann per Hand anlegen, oder das "createState" mit einem anderen Aufruf ersetzen. Da gibt es von paul bzw. mic ein Skript dafür. Das packt man dann (falls es nicht sogar so schon angelegt ist) in eine JS-function XYZ. Dann braucht man createState nur durch XYZ ersetzen. Kann ich dir später behilflich sein. Im Moment würde ich es noch nicht ändern, da du sonst bei jedem Update des Skriptes immer per Hand alles ändern musst.
                              Oder mittels des Skriptes von paul/mic die DPs anlegen lassen. Dann brauchst du an dem Statistik-Skript überhaupt nichts ändern. Ich prüfe nur ob die DPs vorhanden sind und lege sie dann ggf. an. Sind sie vorhanden passiert an der Stelle dann einfach nichts weiter. Wäre IMO der beste Weg.

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

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

                              Suche mal nach (so um #132):

                              DP passt jetzt, aber es kam eine Warnung

                              20:22:24.729	info	javascript.1 (3031) Start javascript script.js.common.Wetterstatistik
                              20:22:24.777	info	javascript.1 (3031) script.js.common.Wetterstatistik: 0_userdata.0.Statistik.Wetter existiert nicht... Lege Datenstruktur an...
                              20:22:24.784	info	javascript.1 (3031) script.js.common.Wetterstatistik: Wetterstation-Statistiken gestartet...
                              20:22:24.817	info	javascript.1 (3031) script.js.common.Wetterstatistik: registered 0 subscriptions and 1 schedule
                              20:22:25.109	info	javascript.1 (3031) script.js.common.Wetterstatistik: Daten ab 06. Sep 2020 00:00:00
                              20:22:25.109	info	javascript.1 (3031) script.js.common.Wetterstatistik: Daten bis 06. Sep 2020 23:59:59
                              20:22:25.110	info	javascript.1 (3031) script.js.common.Wetterstatistik: Tiefstwert: 13.72 °C
                              20:22:25.110	info	javascript.1 (3031) script.js.common.Wetterstatistik: Höchstwert: 20 °C
                              20:22:25.110	info	javascript.1 (3031) script.js.common.Wetterstatistik: Durchschnitt: 16.80 °C
                              20:22:25.111	info	javascript.1 (3031) script.js.common.Wetterstatistik: Maximum Windböe: 14.8 km/h
                              20:22:25.111	info	javascript.1 (3031) script.js.common.Wetterstatistik: Regenmenge/Tag: 12.3 l/m²
                              20:22:25.111	info	javascript.1 (3031) script.js.common.Wetterstatistik: Erster Messwert: 2020-09-05T22:01:30.847Z ***17.5
                              20:22:25.112	info	javascript.1 (3031) script.js.common.Wetterstatistik: Letzter Messwert: 2020-09-06T21:58:22.241Z ***13.88
                              20:22:25.112	info	javascript.1 (3031) script.js.common.Wetterstatistik: Anzahl Datensätze: T_844|W_1865|R_2811
                              20:22:25.227	warn	javascript.1 (3031) at Object.cb (script.js.common.Wetterstatistik:99:9)
                              

                              Zeile 99 schaut so aus

                                  if (getState(PRE_DP+'.aktueller_Monat.Tiefstwert').val > Tiefstwert) {setState(PRE_DP+'.aktueller_Monat.Tiefstwert', Tiefstwert, true);}
                              

                              Erledigt. Hatte '',zuviel

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

                                Und weiter gehts...:
                                Bild 1.png

                                Sind natürlich keine August-Werte, sondern die vom aktuellen Monat, aber wir haben ja noch nichts vom Vormonat ;)
                                Mehr Werte wird es erst mal während der Testphase wohl nicht geben (die sollten aber korrekt/aktuell sein), da ich sonst bei einem (Denk-)Fehler einfach zu viel ändern muss. So sind es wenigstens nur drei Werte...
                                Der "August" wird nur heute (8.09.) mittels des Skriptes angelegt. Dies geschieht dann zukünftig am Monatsanfang, aber den haben wir aktuell ja nicht und wer will schon so lange warten...:innocent:

                                Sonst #94 abändern:

                                if (zeitstempel.getDate() == 8) { // Jobs Monatserster...
                                

                                Hier wäre die "8" durch den aktuellen Tag des Monats zu ersetzen, dann läuft es auch an diesem Tag.

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

                                NegaleinN 1 Antwort Letzte Antwort
                                0
                                • SBorgS SBorg

                                  Und weiter gehts...:
                                  Bild 1.png

                                  Sind natürlich keine August-Werte, sondern die vom aktuellen Monat, aber wir haben ja noch nichts vom Vormonat ;)
                                  Mehr Werte wird es erst mal während der Testphase wohl nicht geben (die sollten aber korrekt/aktuell sein), da ich sonst bei einem (Denk-)Fehler einfach zu viel ändern muss. So sind es wenigstens nur drei Werte...
                                  Der "August" wird nur heute (8.09.) mittels des Skriptes angelegt. Dies geschieht dann zukünftig am Monatsanfang, aber den haben wir aktuell ja nicht und wer will schon so lange warten...:innocent:

                                  Sonst #94 abändern:

                                  if (zeitstempel.getDate() == 8) { // Jobs Monatserster...
                                  

                                  Hier wäre die "8" durch den aktuellen Tag des Monats zu ersetzen, dann läuft es auch an diesem Tag.

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

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

                                  Sonst #94 abändern:
                                  if (zeitstempel.getDate() == 8) { // Jobs Monatserster...

                                  Zeile 94 schaut bei mir so aus:
                                  console.log('Letzter Messwert: ' + new Date(result.result[0][temps.length-1].ts).toISOString() + ' ***' + result.result[0][temps.length-1].value);

                                  Kann das stimmen, dass diese Zeile geändert werden muss?


                                  Edit: gerade gesehen, dass auf Git schon die aktuelle Beta liegt!

                                  ° 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 SBorg
                                    #1250

                                    @Negalein Habe ich vergessen zu erwähnen ;)
                                    Aktuell grübele ich gerade über die Vorjahreswerte:
                                    Bild 1.png

                                    Die sehen zwar schön befüllt aus (+ werden bzw. würden sie auch schon), allerdings sind sie nicht korrekt. Der Grund ist auch recht einfach, denn ich sammele erst seit Mai (? glaube ich...) Daten, kann also vom Sep. 2019 noch gar nichts haben.
                                    Was sollte da nach eurer Meinung vorläufig stehen bis man Daten hat? Der Typ ist number, also kein "--", "n.a.", "xx" etc.
                                    Ein unsinniger Wert zum besseren erkennen wie bspw. -99, pauschal 0,...
                                    ...oder einfach überhaupt nichts (habe ich noch nicht probiert ob das bei Number geht...)

                                    Wenn keine weiteren Fehler auftreten wäre es sogar witzigerweise für die drei Werte fertig. Dann beginnt die Fleißarbeit die anderen Messwerte einzupflegen :blush:

                                    *EDIT* Ach ja, warum eigentlich Data-Datenpunkt? Naja, eine kleine "Datenbank" ist es dann doch geworden. Ich speichere die aktuellen Monatswerte in einem JSON-String, dann brauche ich in einem Jahr keine Monatsauswertung mehr auszuführen. Da es auch nur 12 Strings pro Jahr sind, könnte man relativ schnell auch eine Jahresstatistik anfertigen...:innocent:

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

                                    NegaleinN 1 Antwort Letzte Antwort
                                    0
                                    • SBorgS SBorg

                                      @Negalein Habe ich vergessen zu erwähnen ;)
                                      Aktuell grübele ich gerade über die Vorjahreswerte:
                                      Bild 1.png

                                      Die sehen zwar schön befüllt aus (+ werden bzw. würden sie auch schon), allerdings sind sie nicht korrekt. Der Grund ist auch recht einfach, denn ich sammele erst seit Mai (? glaube ich...) Daten, kann also vom Sep. 2019 noch gar nichts haben.
                                      Was sollte da nach eurer Meinung vorläufig stehen bis man Daten hat? Der Typ ist number, also kein "--", "n.a.", "xx" etc.
                                      Ein unsinniger Wert zum besseren erkennen wie bspw. -99, pauschal 0,...
                                      ...oder einfach überhaupt nichts (habe ich noch nicht probiert ob das bei Number geht...)

                                      Wenn keine weiteren Fehler auftreten wäre es sogar witzigerweise für die drei Werte fertig. Dann beginnt die Fleißarbeit die anderen Messwerte einzupflegen :blush:

                                      *EDIT* Ach ja, warum eigentlich Data-Datenpunkt? Naja, eine kleine "Datenbank" ist es dann doch geworden. Ich speichere die aktuellen Monatswerte in einem JSON-String, dann brauche ich in einem Jahr keine Monatsauswertung mehr auszuführen. Da es auch nur 12 Strings pro Jahr sind, könnte man relativ schnell auch eine Jahresstatistik anfertigen...:innocent:

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

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

                                      Was sollte da nach eurer Meinung vorläufig stehen bis man Daten hat?

                                      zB 99999 :)

                                      ° 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:

                                        Was sollte da nach eurer Meinung vorläufig stehen bis man Daten hat?

                                        zB 99999 :)

                                        SBorgS Offline
                                        SBorgS Offline
                                        SBorg
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #1252

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

                                        zB 99999 :)

                                        Habe ich jetzt so übernommen :)
                                        "Nichts" geht nicht, da wg. des Typs Number dann automatisch "0" eingesetzt wird.
                                        Neue Version auf GitHub V0.0.1 Beta :
                                        Erster Start Wetterstatistik.png

                                        Damit alles bei Null startet den kpl. Statistik-Zweig vorher löschen. Beim Start legt das Skript dann die Ordnerstruktur an, befüllt den VorJahres-Monat mit 99999 (außer jemand sammelt per Influx schon seit Sep. 2019 Daten. Solange gibt es das WLAN-Skript aber noch nicht), legt "Data" an (der bleibt so "leer" bis zum nächsten Monatsersten, dann befinden sich dort darunter die gespeicherten Monatsauswertungen) und der Aktuelle Monat wird befüllt. Echte Werte gibt es dann um 1:03 Uhr (default), da ich immer bis Mitternacht warten muss bis alle Daten des Tages vorliegen.
                                        Deswegen auch die komischen Werte mit -100, 0, 100 °C

                                        • der Höchstwert des letzten Tages wird wohl immer über -100 °C liegen (+ damit aktualisiert)
                                        • der Durchschnitt liegt entweder tatsächlich bei 0 °C, dann stimmt er zufällig, oder er wird eben mit dem korrekten aktualisiert
                                        • der Tiefstwert des letzten Tages wird wohl immer unter 100 °C liegen (+ damit aktualisiert)

                                        Also Skript nach dem Starten auch laufen lassen. Es sollte dann für den aktuellen Monat die drei Werte korrekt erfassen.
                                        Soweit möglich möchte ich dann daran auch nichts mehr ändern und die weiteren dann zusätzlich hinzufügen. Somit könnten für den September 2020 alle Daten vorliegen, wenn auch noch nicht durchgängig. Ab Oktober 2020 hätte ich dann aber gerne komplett...:grin: :innocent:

                                        Den Scheduler würde ich nicht zu nah an Mitternacht verschieben. Falls ihr im Influx viele Datenwerte im RAM vor dem schreiben vorhaltet, kann es sonst sein, dass er noch nicht alle Messwerte aus dem RAM auch in die InfluxDB geschrieben hat. Da die Werte vom Vortag immer von 0:00 Uhr bis 23:59:59 Uhr gelesen werden, ist es egal wann sie am nächsten Tag gelesen werden. Ihr könnt im Scheduler auch bspw. 6:00 Uhr eintragen. Funktioniert genauso, nur habt ihr die Statistik dann eben erst ab 6:00 Uhr aktuell vorliegen ;)

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

                                        NegaleinN SBorgS 2 Antworten Letzte Antwort
                                        1
                                        • SBorgS SBorg

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

                                          zB 99999 :)

                                          Habe ich jetzt so übernommen :)
                                          "Nichts" geht nicht, da wg. des Typs Number dann automatisch "0" eingesetzt wird.
                                          Neue Version auf GitHub V0.0.1 Beta :
                                          Erster Start Wetterstatistik.png

                                          Damit alles bei Null startet den kpl. Statistik-Zweig vorher löschen. Beim Start legt das Skript dann die Ordnerstruktur an, befüllt den VorJahres-Monat mit 99999 (außer jemand sammelt per Influx schon seit Sep. 2019 Daten. Solange gibt es das WLAN-Skript aber noch nicht), legt "Data" an (der bleibt so "leer" bis zum nächsten Monatsersten, dann befinden sich dort darunter die gespeicherten Monatsauswertungen) und der Aktuelle Monat wird befüllt. Echte Werte gibt es dann um 1:03 Uhr (default), da ich immer bis Mitternacht warten muss bis alle Daten des Tages vorliegen.
                                          Deswegen auch die komischen Werte mit -100, 0, 100 °C

                                          • der Höchstwert des letzten Tages wird wohl immer über -100 °C liegen (+ damit aktualisiert)
                                          • der Durchschnitt liegt entweder tatsächlich bei 0 °C, dann stimmt er zufällig, oder er wird eben mit dem korrekten aktualisiert
                                          • der Tiefstwert des letzten Tages wird wohl immer unter 100 °C liegen (+ damit aktualisiert)

                                          Also Skript nach dem Starten auch laufen lassen. Es sollte dann für den aktuellen Monat die drei Werte korrekt erfassen.
                                          Soweit möglich möchte ich dann daran auch nichts mehr ändern und die weiteren dann zusätzlich hinzufügen. Somit könnten für den September 2020 alle Daten vorliegen, wenn auch noch nicht durchgängig. Ab Oktober 2020 hätte ich dann aber gerne komplett...:grin: :innocent:

                                          Den Scheduler würde ich nicht zu nah an Mitternacht verschieben. Falls ihr im Influx viele Datenwerte im RAM vor dem schreiben vorhaltet, kann es sonst sein, dass er noch nicht alle Messwerte aus dem RAM auch in die InfluxDB geschrieben hat. Da die Werte vom Vortag immer von 0:00 Uhr bis 23:59:59 Uhr gelesen werden, ist es egal wann sie am nächsten Tag gelesen werden. Ihr könnt im Scheduler auch bspw. 6:00 Uhr eintragen. Funktioniert genauso, nur habt ihr die Statistik dann eben erst ab 6:00 Uhr aktuell vorliegen ;)

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

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

                                          Neue Version auf GitHub V0.0.1 Beta :

                                          läuft :)

                                          Dann warte ich jetzt mal auf 1:03 Uhr :grin:

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

                                          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

                                          780

                                          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