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

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    326

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

[Linux Shell-Skript] WLAN-Wetterstation

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
linuxshell-scriptwetterstationwlan-wetterstation
5.7k Beiträge 154 Kommentatoren 3.9m Aufrufe 136 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 Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #2768

    Man kann auch direkt den aktuellen Updater von GitHub nutzen (per Terminal):

     bash <(curl -sLf https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)
    

    Es sei aber erwähnt, dass man hier die Kontrolle abgibt. Mit obiger Zeile führt ihr das entsprechende Skript einfach aus.
    Das macht zwar auch jeder bei der ioB-Installation, ich möchte es dennoch erwähnen. Mir ist aber auch bewusst, dass wohl 99% der User eh die *.sh's und *.sub ausführen ohne dort jemals hineinzuschauen. Da macht es dann auch keinen Unterschied mehr ob man es direkt ausführt...


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

    Magst du das Script hier zur Verfügung stellen?

    Nö :grinning:
    Ich habe mal paar Werte zur Veranschaulichung von mir drinnen gelassen. Es ermittelt Max_24h, Min_24h, Mean_24h, Median_24h, Max_1h, Min_1h und Mean_1h (vom Datenpunkt):

    /*
     ########################################################################################################
     Berechnung von gleitendem Durchschnitt, Minimum und Maximum über einen Zeitraum von 1h und 24h
     Version 1.4.1
     ########################################################################################################
    
    
     Berechnet Min/Max, Durschschnitt und Median über die letzten 24h.
     Berechnet Min/Max, Durschschnitt über die letzte 1h.
    
     IDs aller benötigten Datenpunkte
    
     Als Array im Array mit folgendem Format:
      1.   original Datenpunktname
      2.   neuer Datenpunktname
           Beispiel:   javascript.0.Status.Temperatur.Außen
                       javascript.0.Status.Luftfeuchtigkeit.Außen
      3.   Beschreibung des Messwertes (zur Erzeugung neuer Datenpunkte)
           Beispliele:   Temperatur
                         Luftfeuchtigkeit
      4.   Einheit (zur Erzeugung neuer Datenpunkte)
           Beispiele:   °C, %H
    
     Ist beliebig erweiterbar und für beliebige Werte nutzbar.
    */
    
    "use strict";
    const idData = [['javascript.0.Wetterstation.Innentemperatur','javascript.0.Statistik.Temperatur.Wohnzimmer','Temperatur','°C'],
                    ['javascript.0.Temperaturen.Zimmer.Buero.Temp_Buero','javascript.0.Statistik.Temperatur.Buero','Temperatur','°C'],
                    ['javascript.0.Wetterstation.Aussentemperatur','javascript.0.Statistik.Temperatur.Außen','Temperatur','°C'],
                    ['javascript.0.Wetterstation.Innenfeuchtigkeit','javascript.0.Statistik.Luftfeuchtigkeit.Wohnzimmer','Luftfeuchtigkeit','%H']];
    
    //Datenpunkt zur Speicherung aller internen Daten
    const dpData='javascript.0.Statistik.Statistic';
    
    // ########################################################################################################
    // Implementierung -- hier nichts mehr ändern
    // ########################################################################################################
    
    // globale Konstanten
    const tc = 5;         // Abtastrate in Minuten
    
    const statDataLength24 = Math.round((24 * 60) / tc); // Anzahl der Werte für 24h
    const statDataLength1 = Math.round(60 / tc); // Anzahl der Werte für stündlich
    
    // globale Variablen
    var listStatData;  //interne Speicherung aller Werte
    
    //Funktion zum einmaligem initialisieren aller Datenpunkte
    function initializeStatData() {
    
       // Datenpunkt zur Speicherung der internen Werte erzeugen
       createState(dpData, 0, false, {
          name: "StatisticData",
          read: true,
          write: true,
          desc: 'Statistische Daten',
          type: 'string',
          def: '',
          role: 'json'        
       });
       
       //internes Array initialisieren
        var needInit = false;
       try {
          listStatData = JSON.parse(getState(dpData).val);
       } catch (ex) {
          needInit = true;
       }
       if (needInit || !listStatData || (listStatData.length < idData.length)) {
          listStatData = new Array(idData.length); 
       }
       //logDebug('initializeStatData for', dpData, listStatData);
          
       for (var i = 0; i < idData.length; i++) {
            if (!listStatData[i]) { listStatData[i] = {}; }
            listStatData[i].value       = idData[i][1];
            listStatData[i].max24h		= idData[i][1] + '.Max_24h';
            listStatData[i].min24h		= idData[i][1] + '.Min_24h';
            listStatData[i].mean24h		= idData[i][1] + '.Mean_24h';
            listStatData[i].median24h	= idData[i][1] + '.Median_24h';
    	    listStatData[i].max1h		= idData[i][1] + '.Max_1h';
    	    listStatData[i].min1h		= idData[i][1] + '.Min_1h';
    	    listStatData[i].mean1h		= idData[i][1] + '.Mean_1h';
    
          
    	createState(listStatData[i].value, 0, false, {
                name: idData[i][2],
                read: true,
                write: true,
                desc: idData[i][2]+ ' Aktueller Wert',
          	    type: 'number',
                def: 0,
                unit: idData[i][3],
                role: 'value'
    	});
    
    	createState(listStatData[i].max24h, 0, false, {
                name: 'Maximum_24h',
                read: true,
                write: true,
                desc: idData[i][2] + ' Maximum',
                type: 'number',
                def: 0,
                unit: idData[i][3],
                role: 'value'
           });
    
           createState(listStatData[i].min24h, 0, false, {
                name: 'Minimum_24h',
                read: true,
                write: true,
                desc: idData[i][2] + ' Minimum',
                type: 'number',
                def: 0,
    	    unit: idData[i][3],
                role: 'value'
           });
    
           createState(listStatData[i].mean24h, 0, false, {
                name: 'Mittelwert_24h',
                read: true,
                write: true,
                desc: idData[i][2] + ' Mittelwert',
                type: 'number',
                def: 0,
                unit: idData[i][3],
                role: 'value'
          });
    
          createState(listStatData[i].median24h, 0, false, {
                name: 'Median_24h',
                read: true,
                write: true,
                desc: idData[i][2] + ' Median',
                type: 'number',
                def: 0,
    	        unit: idData[i][3],
                role: 'value'
          });
    
          createState(listStatData[i].max1h, 0, false, {
                name: 'Maximum_1h',
                read: true,
                write: true,
                desc: idData[i][2] + ' Maximum',
                type: 'number',
                def: 0,
                unit: idData[i][3],
                role: 'value'
          });
    
          createState(listStatData[i].min1h, 0, false, {
                name: 'Minimum_1h',
                read: true,
                write: true,
                desc: idData[i][2] + ' Minimum',
                type: 'number',
                def: 0,
                unit: idData[i][3],
                role: 'value'
          });
    
          createState(listStatData[i].mean1h, 0, false, {
                name: 'Mittelwert_1h',
                read: true,
                write: true,
           	    desc: idData[i][2] + ' Mittelwert',
                type: 'number',
                def: 0,
    	    unit: idData[i][3],
    	    role: 'value'
          });
          
          if (needInit || !listStatData[i].data || (listStatData[i].data.length != statDataLength24)) {
                listStatData[i].data	= new Array(statDataLength24);
              
                // 1. Script start: Liste und String-Datenpunkt füllen
                var x = getState(idData[i][0]).val;
                for (var j = 0; j < statDataLength24; j++) {
                listStatData[i].data[j] = x;
             }
    
              //logDebug(listStatData[i], i);
                setStateDelayed(listStatData[i].value, x, false, 1000);
                setStateDelayed(listStatData[i].min24h, x, false, 1000);
                setStateDelayed(listStatData[i].max24h, x, false, 1000);
                setStateDelayed(listStatData[i].mean24h, x, false, 1000);
                setStateDelayed(listStatData[i].median24h, x, false, 1000);
                setStateDelayed(listStatData[i].min1h, x, false, 1000);
                setStateDelayed(listStatData[i].max1h, x, false, 1000);
                setStateDelayed(listStatData[i].mean1h, x, false, 1000);
          }      
       }
       setState(dpData, JSON.stringify(listStatData));         
    }
    
    //Berechnung der Werte
    function calcStatData() {
       if (!listStatData || (idData.length != listStatData.length)) {
            initializeStatData();
       }
        //logDebug('starting calcStatData');
          
       for (var i = 0; i < idData.length; i++) {
          
          listStatData[i].data.pop(); //Remove the last element of an array
          var x = parseFloat(getState(idData[i][0]).val);
          listStatData[i].data.unshift(x); //Add new items to the beginning of an array
          setState(listStatData[i].value, x);
          
          var min = x;
          var max = x;
          var sum = 0.0;
          for (var j = 0; j < statDataLength24; j++) {
             var s = parseFloat(listStatData[i].data[j]);
             if (s < min) min = s;
             if (s > max) max = s;
             sum += s;
             if (j == (statDataLength1-1)) {
                setState(listStatData[i].min1h, min);
                setState(listStatData[i].max1h, max);
                setState(listStatData[i].mean1h, round(sum / statDataLength1, 2));     
             }
          }
          setState(listStatData[i].min24h, min);
          setState(listStatData[i].max24h, max);
          setState(listStatData[i].mean24h, round(sum / statDataLength24, 2));   
          setState(listStatData[i].median24h, getMedian(listStatData[i].data));
       }
       setState(dpData, JSON.stringify(listStatData));
    }    
    
    function getMedian(args) {
      if (!args.length) {return 0}
      var numbers = args.slice(0).sort((a,b) => a - b);
      var middle = Math.floor(numbers.length / 2);
      var isEven = numbers.length % 2 === 0;
      return isEven ? (numbers[middle] + numbers[middle - 1]) / 2 : numbers[middle];
    }
    
    /**
     * round a number
     * @param    value  to round
     * @param    exp    exponent to round
     * @returns         the round number
     */
    function round(value, exp) {
      if (typeof exp === 'undefined' || +exp === 0)
        return Math.round(value);
    
      value = +value;
      exp = +exp;
    
      if (isNaN(value) || !(typeof exp === 'number' && exp % 1 === 0))
        return NaN;
    
      // Shift
      var values = value.toString().split('e');
      value = Math.round(+(values[0] + 'e' + (values[1] ? (+values[1] + exp) : exp)));
    
      // Shift back
      values = value.toString().split('e');
      return +(values[0] + 'e' + (values[1] ? (+values[1] - exp) : -exp));
    }
    
    initializeStatData();
    
    schedule('*/' + tc + ' * * * *', function () {
       calcStatData();
    });
    

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

    Aussentemperatur steht nur N/A, obwohl der DP passt.
    Im alten Dashboard wird er angezeigt.

    Stell mal bei "FROM" von "autogen" auf "default" um, dann sollte es funktionieren (lt. des diesbzgl. 2. Screenys).

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

    hier verwendest du ein paar Alias.
    Auf was beziehen sich die? Dann könnte ich die orig. DP verwenden. Bin mit Alias auf Kriegsfuss

    https://forum.iobroker.net/post/654787
    Das sind Übertragung an OSEM/Windy erfolgreich,
    Batteriestatus Wettermast, Kommunikation OK (bzw. Fehler),
    EasyWeather-Firmware up-to-date und versteckt das Bomm-Theme-Panel

    Alias' sind (oder waren, hab es mit der neuen Grafana-Version noch nicht probiert) nötig, da die DPs Boolean sind und Grafana damit nicht umgehen kann. Die Alias' setzen dann einfach false/true nach 0/1 um ;)

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

    1 Antwort Letzte Antwort
    0
    • SBorgS SBorg

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

      Danke - leider ist die Abweichung nicht konstant

      Bild 1.png
      Ist sie auch nicht. Bis ~14:00 Uhr ist der gap recht groß, dann bis ~19:00 Uhr relativ identisch und dann liegt er sogar darüber. Mit einem festen Wert kann man hier also nicht arbeiten. Vermutlich ist da ein Algorithmus dahinter der auch die Temperatur berücksichtigt.

      influx mag die Punkte in der Bezeichnung nicht. Man hätte natürlich auch mittels Alias arbeiten können, nur ist es jetzt zu spät, da alles auf der ioB-Syntax aufbaut.

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

      Ich nehme an eine Umstellung der Solarenergie Werte auf ein einheitlichen Maß (Wh/m² oder kWh/m²) ist nachträglich eher schwer oder?

      Eigentlich nicht, aber wegen der bereits seit Anbeginn gesammelten Daten verschiedener User nicht unbedingt sinnvoll. Persönlich gefällt mir ehrlich gesagt die Vereinheitlichung auch nicht gerade, denn der Tageswert ist im Gegensatz zum Jahreswert zu klein. Du hast also entweder eine schlechte Tagesauflösung, viele Nachkommastellen oder sehr große Zahlen.
      Was aber wie üblich nicht heißen soll, dass ich für Änderungen nicht zugänglich wäre.
      Ich habe es mittlerweile in einer Tabelle, da bei den Balkendiagrammen der Bezug fehlt ("was sind 100% Balkenlänge bei 12:10:23 ?") und er hier in kW, MW etc. umrechnet:
      Bild 2.png
      Du könntest aber zB. mittels des Alias-Managers die Umrechnung durchführen, oder dir eine "eigene" Shell-Skript Version erstellen. Änderungen wären zwar bei einem Update wieder weg, aber eine neue Version sehe ich aktuell nur noch bei neuen Sensoren ;)
      Die Umrechnung geschieht in der sub so um Zeile 500f:

      #Leistung berechnen
      	SOL_TMP=$(echo "scale=3;${SOL_TMP}/(3600/${WS_POLL})" | bc -l)
      	SOLARENERGIE_TAG=`echo "scale=3;${SOLARENERGIE_TAG}+${SOL_TMP}" | bc -l`
      	SOLAR_WOCHE=`echo "scale=5;(${SOLAR_WOCHE}+${SOL_TMP})" | bc -l`
      	SOLARENERGIE_WOCHE=`echo "scale=3;${SOLAR_WOCHE}/1000" | bc -l` #Umrechnung in kWh
      	SOLAR_MONAT=`echo "scale=5;(${SOLAR_MONAT}+${SOL_TMP})" | bc -l`
      	SOLARENERGIE_MONAT=`echo "scale=3;${SOLAR_MONAT}/1000" | bc -l` #Umrechnung in kWh
      	SOLAR_JAHR=`echo "scale=5;(${SOLAR_JAHR}+${SOL_TMP})" | bc -l`
      	SOLARENERGIE_JAHR=`echo "scale=3;${SOLAR_JAHR}/1000" | bc -l`   #Umrechnung in kWh
      

      Entweder änderst du den Tag hier nach dem Muster Woche/Monat/Jahr ab und teilst dann durch 1000 (=Wert dann in kWh), oder du löschst bei Woche/Monat/Jahr einfach /1000, dann hast du alle Werte in Wh.

      R Online
      R Online
      Rand
      schrieb am zuletzt editiert von Rand
      #2769

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

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

      Danke - leider ist die Abweichung nicht konstant

      Bild 1.png
      Ist sie auch nicht. Bis ~14:00 Uhr ist der gap recht groß, dann bis ~19:00 Uhr relativ identisch und dann liegt er sogar darüber. Mit einem festen Wert kann man hier also nicht arbeiten. Vermutlich ist da ein Algorithmus dahinter der auch die Temperatur berücksichtigt.

      Nur der Vollständigkeit halber:
      Ich glaube das liegt an den beiden unterschiedlichen Skalen...

      Ich habe jetzt einen statischen Wert eingetragen (basierend auf der Differenz zwischen meinem Absoluten Messwert und dem nächsten geeichten Messpunkt, [@Boronsbruder 's Vorschlag mit https://en.allmetsat.com/metar-taf/germany.php?icao=ETHL] umgerechnet mit https://rechneronline.de/barometer/hoehe.php auf meine Höhe und aktuelle Temperatur.
      (Das ist zwar noch nicht wirklich richtig, da mein absoluter Wert rein rechnerisch ~1,5bar zu niedrig ist (für die Höhe/Temperaratur) aber das wird den Ungenauigkeiten geschuldet sein. Leider kann das GW keine positiven Korrekturwerte für den absoluten Druck - wer unter dem Meereslevel wohnt hat Pech gehabt...)

      Auch bei mir zeigt der Chart das es tageszeitliche "Unterschiede" gibt, die aber bei genauerem Hinsehen gar nicht vorhanden sind:

      021bf13b-7ee2-4fd1-acfd-14ee766a9394-image.png

      Detail - Chart identisch, Differenz von 11 bar (entspricht dem eingestellten Korrekturwert)
      35859acd-7d5d-4813-be84-fec598c9b7e0-image.png

      Detail - Chart unterschiedlich, Differenz von 11 bar
      f329617d-282e-429d-b991-95bb4184acae-image.png

      Zum Thema "erst mal kein weiteres Release" - Es gibt eine neues GW bei Ecowitt (GW1100) welches natürlich auch neue Sensoren unterstützt... ;)
      https://www.ecowitt.com/shop/goodsDetail/107
      Es ersetzt das alte GW1000 scheinbar ab sofort...

      SBorgS 1 Antwort Letzte Antwort
      0
      • R Rand

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

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

        Danke - leider ist die Abweichung nicht konstant

        Bild 1.png
        Ist sie auch nicht. Bis ~14:00 Uhr ist der gap recht groß, dann bis ~19:00 Uhr relativ identisch und dann liegt er sogar darüber. Mit einem festen Wert kann man hier also nicht arbeiten. Vermutlich ist da ein Algorithmus dahinter der auch die Temperatur berücksichtigt.

        Nur der Vollständigkeit halber:
        Ich glaube das liegt an den beiden unterschiedlichen Skalen...

        Ich habe jetzt einen statischen Wert eingetragen (basierend auf der Differenz zwischen meinem Absoluten Messwert und dem nächsten geeichten Messpunkt, [@Boronsbruder 's Vorschlag mit https://en.allmetsat.com/metar-taf/germany.php?icao=ETHL] umgerechnet mit https://rechneronline.de/barometer/hoehe.php auf meine Höhe und aktuelle Temperatur.
        (Das ist zwar noch nicht wirklich richtig, da mein absoluter Wert rein rechnerisch ~1,5bar zu niedrig ist (für die Höhe/Temperaratur) aber das wird den Ungenauigkeiten geschuldet sein. Leider kann das GW keine positiven Korrekturwerte für den absoluten Druck - wer unter dem Meereslevel wohnt hat Pech gehabt...)

        Auch bei mir zeigt der Chart das es tageszeitliche "Unterschiede" gibt, die aber bei genauerem Hinsehen gar nicht vorhanden sind:

        021bf13b-7ee2-4fd1-acfd-14ee766a9394-image.png

        Detail - Chart identisch, Differenz von 11 bar (entspricht dem eingestellten Korrekturwert)
        35859acd-7d5d-4813-be84-fec598c9b7e0-image.png

        Detail - Chart unterschiedlich, Differenz von 11 bar
        f329617d-282e-429d-b991-95bb4184acae-image.png

        Zum Thema "erst mal kein weiteres Release" - Es gibt eine neues GW bei Ecowitt (GW1100) welches natürlich auch neue Sensoren unterstützt... ;)
        https://www.ecowitt.com/shop/goodsDetail/107
        Es ersetzt das alte GW1000 scheinbar ab sofort...

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

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

        Zum Thema "erst mal kein weiteres Release"

        Bezog sich auch mehr von meiner Seite aus, da ich aktuell nicht wüsste was noch hinein soll, zumindest habe ich nix mehr auf der Agenda. Bugs ausmerzen oder neue Sensoren sind da natürlich außen vor :)
        Da die Gateways eh nicht unterschieden werden dürfte das neue auch keine Probleme bereiten und sollte auf Anhieb laufen. So zumindest die Theorie...

        Hmm, bei mir ist da schon ein Unterschied, wenn auch nur 1 hPa. Allerdings schwankt bei mir aktuell der Luftdruck ~3 hPa pro Tag, dann ist 1 hPa Unterschied doch schon recht viel (19 vs 20):
        Bild 2.png Bild 1.png
        Sensortoleranz kann es nicht sein, ist ja nur einer. Aber die Temperatur lag da um ~4°C auseinander...?

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

        1 Antwort Letzte Antwort
        0
        • SBorgS SBorg

          @boronsbruder lt. Wiki nicht bis 10° sondern ca. 10°C. Da es eine Berechnung ist, auch wenn man bei 10.99 eher von 11 sprechen würde, sind es dann trotzdem noch immer 10. Runden darf man hier eigentlich auch nicht, denn sonst bewirkt eine Eingangsänderung von einem hundertstel (!) Grad eine Ausgangsänderung von einem Grad.
          Irgendwo muss man halt die Grenze setzen. Das kann man nun sehen wie man will, aber mache ich es nun nach Schema A, sind wieder welche die es aber lieber nach Schema B wollen...
          Aber im Grunde ist es eh nonsens, denn der Temperatursensor ist ungenau, der Windmesser ebenso, und wenn wir schon dabei sind, die Berechnung ist eigentlich auch nur gültig wenn der Wind 10 Meter über Grund (nicht in 10 Meter Höhe) gemessen wird. Wer hat schon einen 10m-Mast im Garten stehen und wie ich deswegen auch oben schon schrieb, wer wird auf der Haut fühlen ob das nun tatsächlich 10.4° oder 10.7° C sind...

          BoronsbruderB Offline
          BoronsbruderB Offline
          Boronsbruder
          schrieb am zuletzt editiert von
          #2771

          @sborg
          die "ca. 10°C" kritisiere ich nicht, sondern deine "von 5°C".
          Die Formel gilt auch bei -40°C, aber ab Windgeschwindigkeiten von mehr als 5 km/h. Unter 5 km/h können laut Wiki-Temperaturen über der realen Temperatur als Ergebnis entstehen. ;)

          SBorgS 1 Antwort Letzte Antwort
          1
          • BoronsbruderB Boronsbruder

            @sborg
            die "ca. 10°C" kritisiere ich nicht, sondern deine "von 5°C".
            Die Formel gilt auch bei -40°C, aber ab Windgeschwindigkeiten von mehr als 5 km/h. Unter 5 km/h können laut Wiki-Temperaturen über der realen Temperatur als Ergebnis entstehen. ;)

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

            @boronsbruder Danke, jetzt hat es Klick gemacht. Ist/war aber nur ein reiner Typo-Fehler, im Skript ist es korrekt :)

            Im Release-Thread geändert:

            ...Die Formel gilt aber nur ab Windgeschwindigkeiten von 5 km/h und bis kleiner 11°C und wird jetzt korrekt berücksichtigt...
            

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

            1 Antwort Letzte Antwort
            0
            • BoronsbruderB Offline
              BoronsbruderB Offline
              Boronsbruder
              schrieb am zuletzt editiert von Boronsbruder
              #2773

              @SBorg
              ich hab gerade auf jscontroller 3.3.15 upgedatet.... (was ich besser gelassen hätte, wenn ich in mein log schauen).

              simple-api.0	2021-08-06 17:51:40.213	info	(2654) State value to set for "0_userdata.0.Wetterstation.Info.Station_Batteriestatus" has to be type "string" but received type "number" 
              

              schimpft er jetzt :rolling_on_the_floor_laughing:

              Hab es jetzt manuell geändert.

              Im aktuellen Skript hast auch

              createState(DP+"Info.Station_Batteriestatus" , 0,   {name: "Batteriestatus [0=OK, 1=Alarm]",     type: "string", role: "state" });
              
              SBorgS 1 Antwort Letzte Antwort
              0
              • BoronsbruderB Boronsbruder

                @SBorg
                ich hab gerade auf jscontroller 3.3.15 upgedatet.... (was ich besser gelassen hätte, wenn ich in mein log schauen).

                simple-api.0	2021-08-06 17:51:40.213	info	(2654) State value to set for "0_userdata.0.Wetterstation.Info.Station_Batteriestatus" has to be type "string" but received type "number" 
                

                schimpft er jetzt :rolling_on_the_floor_laughing:

                Hab es jetzt manuell geändert.

                Im aktuellen Skript hast auch

                createState(DP+"Info.Station_Batteriestatus" , 0,   {name: "Batteriestatus [0=OK, 1=Alarm]",     type: "string", role: "state" });
                
                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #2774

                @boronsbruder Anscheinend habe ich noch irgendwo eine falsche Version + hab die wieder drüber kopiert, denn eigentlich hatte ich es schon vor paar Wochen (wg. Beta-Tests des JSC 3.3.x) geändert:
                Bild 1.png
                ...aber eigentlich hätte er mir das dann anzeigen müssen...

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

                1 Antwort Letzte Antwort
                0
                • NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  schrieb am zuletzt editiert von
                  #2775

                  @SBorg

                  mir ist soeben im neuem Dashboard aufgefallen, dass bei Regenstatus & letzter Regen auch N/A steht.

                  Ist hier auch auf was zu achten?

                  Wetterstation V2 - Grafana (10).png Wetterstation V2 - Grafana (11).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
                  • NegaleinN Negalein

                    @SBorg

                    mir ist soeben im neuem Dashboard aufgefallen, dass bei Regenstatus & letzter Regen auch N/A steht.

                    Ist hier auch auf was zu achten?

                    Wetterstation V2 - Grafana (10).png Wetterstation V2 - Grafana (11).png

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

                    @negalein Eigentlich nicht.
                    Was spuckt den der "Query-Inspector" bei der Influx-Abfrage aus und was macht dann Grafana daraus: Bild 1.png Bild 2.png

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

                    NegaleinN 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @negalein Eigentlich nicht.
                      Was spuckt den der "Query-Inspector" bei der Influx-Abfrage aus und was macht dann Grafana daraus: Bild 1.png Bild 2.png

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

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

                      Query-Inspector

                      Object
                      request:Object
                      method:"GET"
                      url:"api/datasources/proxy/1/query"
                      params:Object
                      db:"iobroker"
                      q:"SELECT "value" FROM "javascript.0.Wetterstation.Regenstatus" WHERE time >= now() - 24h and time <= now()"
                      epoch:"ms"
                      data:null
                      precision:"ms"
                      hideFromInspector:false
                      response:Object
                      results:Array[1]
                      0:Object
                      

                      Wetterstation V2 - Grafana (12).png Wetterstation V2 - Grafana (13).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
                      • NegaleinN Negalein

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

                        Query-Inspector

                        Object
                        request:Object
                        method:"GET"
                        url:"api/datasources/proxy/1/query"
                        params:Object
                        db:"iobroker"
                        q:"SELECT "value" FROM "javascript.0.Wetterstation.Regenstatus" WHERE time >= now() - 24h and time <= now()"
                        epoch:"ms"
                        data:null
                        precision:"ms"
                        hideFromInspector:false
                        response:Object
                        results:Array[1]
                        0:Object
                        

                        Wetterstation V2 - Grafana (12).png Wetterstation V2 - Grafana (13).png

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

                        @negalein Kein Wunder das er nichts anzeigt, er hat keine Daten bzw. bekommt keine vom Influx. Ist auf den beiden DPs noch das Influx-Logging aktiv? InfluxDB muss an sich noch laufen, sonst wären bspw. die Temps etc. ebenfalls Null / N/A....

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

                        NegaleinN 1 Antwort Letzte Antwort
                        0
                        • SBorgS SBorg

                          @negalein Kein Wunder das er nichts anzeigt, er hat keine Daten bzw. bekommt keine vom Influx. Ist auf den beiden DPs noch das Influx-Logging aktiv? InfluxDB muss an sich noch laufen, sonst wären bspw. die Temps etc. ebenfalls Null / N/A....

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

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

                          Ist auf den beiden DPs noch das Influx-Logging aktiv?

                          Ja, ist aktiv.
                          Bis gestern hat er immer aufgezeichnet. Heute erst gerade 1x.

                          objects - ioBroker.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
                          • NegaleinN Negalein

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

                            Ist auf den beiden DPs noch das Influx-Logging aktiv?

                            Ja, ist aktiv.
                            Bis gestern hat er immer aufgezeichnet. Heute erst gerade 1x.

                            objects - ioBroker.png

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

                            @negalein Mit nur einem Wert binnen fast 24h könnte das mit der Beschränkung eng werden. Versuche mal:
                            Bild 1.png

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

                            NegaleinN 1 Antwort Letzte Antwort
                            0
                            • SBorgS SBorg

                              @negalein Mit nur einem Wert binnen fast 24h könnte das mit der Beschränkung eng werden. Versuche mal:
                              Bild 1.png

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

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

                              Versuche mal:

                              brachte leider nichts :(

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

                                Versuche mal:

                                brachte leider nichts :(

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

                                @negalein Hast du denn binnen der letzten 24h nun überhaupt noch einen Wert drin stehen?
                                Grafana begrenzt auf 24h, wenn also dein letzter Wert (weil bspw. "kein Regen" war) über 24h alt ist, zeigt er jetzt nix an (gestern hätte er es aber tun müssen, nur war im da ev. die "100" im Weg).
                                Erzwinsgt du ein schreiben des Influx? Ich lasse zumindest alle 12h mal einen Wert schreiben:
                                Bild 1.png

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

                                NegaleinN 2 Antworten Letzte Antwort
                                0
                                • SBorgS SBorg

                                  @negalein Hast du denn binnen der letzten 24h nun überhaupt noch einen Wert drin stehen?
                                  Grafana begrenzt auf 24h, wenn also dein letzter Wert (weil bspw. "kein Regen" war) über 24h alt ist, zeigt er jetzt nix an (gestern hätte er es aber tun müssen, nur war im da ev. die "100" im Weg).
                                  Erzwinsgt du ein schreiben des Influx? Ich lasse zumindest alle 12h mal einen Wert schreiben:
                                  Bild 1.png

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

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

                                  Hast du denn binnen der letzten 24h nun überhaupt noch einen Wert drin stehen?

                                  Nein, hat seit 5. 8. nicht geregnet.
                                  objects - ioBroker (1).png
                                  Den 1 Wert zeigt er mir nur immer an, wenn ich die Liste öffne.
                                  objects - ioBroker (3).png

                                  Erzwinsgt du ein schreiben des Influx? Ich lasse zumindest alle 12h mal einen Wert schreiben:

                                  Hab ich jetzt mal auf jede Stunde geändert.
                                  objects - ioBroker (2).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
                                  • SBorgS SBorg

                                    @negalein Hast du denn binnen der letzten 24h nun überhaupt noch einen Wert drin stehen?
                                    Grafana begrenzt auf 24h, wenn also dein letzter Wert (weil bspw. "kein Regen" war) über 24h alt ist, zeigt er jetzt nix an (gestern hätte er es aber tun müssen, nur war im da ev. die "100" im Weg).
                                    Erzwinsgt du ein schreiben des Influx? Ich lasse zumindest alle 12h mal einen Wert schreiben:
                                    Bild 1.png

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

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

                                    Hast du denn binnen der letzten 24h nun überhaupt noch einen Wert drin stehen?

                                    heute hat es geschüttet wie aus Kübeln, Wind jenseits von Gut und Böse, Strom war 2 Stunden weg (Hauptverbindung zwischen Braunau und Passau hats zerrissen), aber Grafana funktioniert jetzt! ;) :grin:
                                    Wetterstation V2 - Grafana (15).png

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • NegaleinN Negalein

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

                                      Hast du denn binnen der letzten 24h nun überhaupt noch einen Wert drin stehen?

                                      Nein, hat seit 5. 8. nicht geregnet.
                                      objects - ioBroker (1).png
                                      Den 1 Wert zeigt er mir nur immer an, wenn ich die Liste öffne.
                                      objects - ioBroker (3).png

                                      Erzwinsgt du ein schreiben des Influx? Ich lasse zumindest alle 12h mal einen Wert schreiben:

                                      Hab ich jetzt mal auf jede Stunde geändert.
                                      objects - ioBroker (2).png

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

                                      :)

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

                                      Hab ich jetzt mal auf jede Stunde geändert.

                                      Falscher Screeny? 1 Stunde sind 60 Min * 60 Sek = 3600
                                      "900" wären dann alle 15 Minuten ;)

                                      Meine obige Einstellung ist eigentlich OK:

                                      • Nur Änderungen aufzeichnen -- Man müllt sich sonst nur unnötig die Influx zu
                                      • 43200 -- alle 12 Stunden einmalig einen Wert in Influx schreiben erzwingen (genügt bei einer 24h - Grafanaanzeige)
                                      • Zeichenfolge -- um vorweg jedem Fehler aus dem Weg zu gehen
                                      • Vorhaltezeit -- nach eigenem Gusto; zu lang müllt auch nur die Influx zu. Muss jeder selbst entscheiden, aber persönlich interessiert es mich nicht ob es vor 9 Monaten um 15:20 Uhr geregnet hat (die Regenmenge des entsprechenden Tages hab ich ja)...

                                      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:

                                        Hab ich jetzt mal auf jede Stunde geändert.

                                        Falscher Screeny? 1 Stunde sind 60 Min * 60 Sek = 3600
                                        "900" wären dann alle 15 Minuten ;)

                                        Meine obige Einstellung ist eigentlich OK:

                                        • Nur Änderungen aufzeichnen -- Man müllt sich sonst nur unnötig die Influx zu
                                        • 43200 -- alle 12 Stunden einmalig einen Wert in Influx schreiben erzwingen (genügt bei einer 24h - Grafanaanzeige)
                                        • Zeichenfolge -- um vorweg jedem Fehler aus dem Weg zu gehen
                                        • Vorhaltezeit -- nach eigenem Gusto; zu lang müllt auch nur die Influx zu. Muss jeder selbst entscheiden, aber persönlich interessiert es mich nicht ob es vor 9 Monaten um 15:20 Uhr geregnet hat (die Regenmenge des entsprechenden Tages hab ich ja)...
                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        schrieb am zuletzt editiert von
                                        #2786

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

                                        Falscher Screeny?

                                        Ja, falscher Screen. Das ist der von den Standardeinstellungen! :)

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

                                          Hallo,

                                          mir ist gerade aufgefallen dass ich in den folgenden DPs keine Werte bekomme:
                                          66b188e2-a8f1-4677-9b3f-7c922bc2a2cf-grafik.png
                                          Was läuft da falsch?

                                          BoronsbruderB 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

                                          506

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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