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

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

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

[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.
  • H halsi82

    IT IS WORKING NOW!!!

    Hab den Außensensor angelernt und es ging sofort. Jetzt passt der String auch zusammen!

    Danke - alles gelöst.

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

    @halsi82

    :)


    @Nashra Nutzt du aktuell wieder das "Original" von liv-in-sky (die dürfte nach der Umstellung des Datenformates aktuell so nicht mehr laufen) oder die modifizierte Version?
    Bild 0.png

    Dein aktueller 2022er-01 Datenpunkt muss eigentlich vom Skript generiert so aussehen:
    Bild 1.png Bild 2.png Bild 3.png

    Wichtig sind hier bei #1 und #17 die eckigen Klammern.
    Dann sollte zumindest mit folgender Version aktuell der Januar (s.o.) angezeigt werden:

    
    // @liv-in-sky 4.10.2021 11:45
    //forum: https://forum.iobroker.net/topic/38286/vis-tabelle-f%C3%BCr-wlan-wetterstation
    
    
    const dataInputPath="0_userdata.0.Statistik.Wetter.Data";  //SEHR WICHTIG !!!!!!!!!
    const inhaltFarbe="black";
    const inhaltHintergrund="lightgray";
    const monatFarbe="white";
    const hintergrund="gray";
    const htmlFarbTableBorderColor="black";
    const abstandZelle=6;
    const htmlRahmenLinien="all";
    const htmlSchriftgroessehtmlSchriftart=""; //nicht verwendbar!
    const htmlFarbFelderschrift="red";         //nicht verwendbar!
    const htmlSchriftgroesse="13px";
    const htmlSchriftart="Ubuntu-Light";       //"monospace" oder z.b. "Helvetica"
    const weite="auto";                        //oder "500px"
    let myTable="table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" style=\"color:"+htmlFarbFelderschrift+";  font-size:"+htmlSchriftgroesse+
                         "; font-family:"+htmlSchriftart+";\"";
                         
    const varData={ 
                  Tiefstwert:       { einheit:"°C",   name:"Minimum Temperatur"},
                  Hoechstwert:      { einheit:"°C",   name:"Maximum Temperatur"}, 
                  Temp_Durchschnitt:{ einheit:"°C",   name:"Durchschnittstemperatur"},
                  Max_Windboe:      { einheit:'km/h', name:"Max Windböe"},
                  Max_Regenmenge:   { einheit:'l/m2', name:"Max. Regen/Tag"},
                  Regenmenge_Monat: { einheit:'l/m2', name:"Regen"},
                  sehr_kalte_Tage:  { einheit:"",     name:"Sehr kalte Tage (Min. unter -10°C)"},
                  Eistage:          { einheit:"",     name:"Eistage (Max. unter 0°C)"},
                  Frost_Tage:       { einheit:"",     name:"Frosttage (Min. unter 0°C)"},
                  kalte_Tage:       { einheit:"",     name:"Kalte Tage (Max. unter 10°C)"},
                  warme_Tage:       { einheit:"",     name:"Warme Tage (über 20°C)"},
                  Sommertage:       { einheit:"",     name:"Sommertage (über 25°C)"},
                  heisse_Tage:      { einheit:"",     name:'Heiße Tage (über 30°C)'}
    }  
    
    const monate =["JANUAR","FEBRUAR","MÄRZ","APRIL","MAI","JUNI","JULI","AUGUST","SEPTEMBER","OKTOBER","NOVEMBER","DEZEMBER"];
    
    
    //--------------------------nix mehr ändern ab hier--------------------------------------
    let myObj;
    let myArrAll=[]
    let myArrErstellt=[]
    let tableContent;
    let monWahlVIS;
    let lastThree;
    //----------------------------------------------------------------------------------------
    function dataStuff(){
    let myArrAll=[]
    let mySelector=dataInputPath+'.*.*'
    $(mySelector).each(function(id, i) {
     let ida=id.split("."); let lang=ida.length; let jahri=lang-2; let moni=lang-1;
     let obj2 = { jahr: ida[jahri]};
     let obj3 = { monat: ida[moni]};
     let formathelp=getState(id).val
     let helper;
     if (typeof(formathelp)=="object") {helper=getState(id).val[0];} 
      else if (typeof(formathelp)=="string") { helper=getState(id).val;
                                               helper=JSON.parse(helper.substring(1, (getState(id).val).length-1)); }
      else {helper=JSON.parse(getState(id).val);}
    
     helper={ ...helper, ...obj2, ...obj3}
     myArrAll.push(JSON.stringify(helper))
    });
    //log(myArrAll)
    tableContent = ""  
    myObj=JSON.parse("["+myArrAll.toString()+"]")
    
    if (lastThree==0) {
    //KOPFZEILE
    let choseMonth=monate[monWahlVIS-1]
    let choseMonthArr=choseMonth.split('')
    let test=""
    for (let i=0;i<choseMonthArr.length;i++){
     // log(choseMonthArr[i])
      test=test+choseMonthArr[i]+`
      `    
    }
    
    //log(test)
    //tableContent+='<td  class=\"test-klein\"  rowspan=\"14\"\">'+choseMonth+'</td><td>Wetterwerte</td>'
    tableContent+='<td class=\"myWetterStation\" width=\"25px\"  style=\"color:'+monatFarbe+';font-size:26px; background-color:'+hintergrund+' ; vertical-align:middle; text-align:center \"   rowspan=\"14\"\">'+test+'</td><td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\>Jahreswerte</td>'
    for (let i=0;i<myObj.length;i++) {
      if(parseInt(myObj[i].monat)==monWahlVIS){
    tableContent += '<td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\ align=center>'  + myObj[i].jahr+'</td>'}
    }; tableContent="<tr style=\"font-weight\:bold\">"+tableContent+"</tr>"
    //RESTZEILEN
    for(var index in varData){
      tableContent+='<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\">'+varData[index].name+'</td>'
      for (let i=0;i<myObj.length;i++) {
         if(myObj[i].monat==monWahlVIS){
           tableContent += '<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\" align=right>' + myObj[i][index] + ' '+ varData[index].einheit+'</td>'}
                                       }; tableContent="<tr>"+tableContent+"</tr>"
    
    }
    } //lastThree
    else {
    //log(myObj[0].monat)
       myObj.sort(function (alpha, beta) {
                if (parseInt(alpha.monat) > parseInt(beta.monat))
                    return 1;
                 if (parseInt(beta.monat) > parseInt(alpha.monat))
                    return -1;
                 return 0;});
             //    log(myObj[0].monat)
    
    //KOPFZEILE LASTTHREE
    
    let choseJahr=lastThree.toString()//formatDate(getDateObject((new Date().getTime())), "JJJJ")//monate[monWahlVIS-1]
    let choseMonthArr=choseJahr.split('')
    let test=""
    for (let i=0;i<choseMonthArr.length;i++){
     // log(choseMonthArr[i])
      test=test+choseMonthArr[i]+`
      `    
    }
    
    //log(test)
    //tableContent+='<td  class=\"test-klein\"  rowspan=\"14\"\">'+choseMonth+'</td><td>Wetterwerte</td>'
    tableContent+='<td class=\"myWetterStation\" width=\"25px\"  style=\"color:'+monatFarbe+';font-size:26px; background-color:'+hintergrund+' ; vertical-align:middle; text-align:center \"   rowspan=\"14\"\">'+test+'</td><td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\>Wetterwerte</td>'
    
    for (let i=0;i<myObj.length;i++) {
      
      if( parseInt(myObj[i].jahr)==parseInt(choseJahr) ){ //&& (parseInt(myObj[i].monat)==parseInt(monWahlVIS) || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-1 || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-2)){
    tableContent += '<td style=\"color:'+monatFarbe+'; background-color:'+hintergrund+'"\ align=center>'  + monate[parseInt(myObj[i].monat)-1]+'</td>';}
    }; tableContent="<tr style=\"font-weight\:bold\">"+tableContent+"</tr>"
    //RESTZEILEN
    for(var index in varData){
      tableContent+='<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\">'+varData[index].name+'</td>'
      for (let i=0;i<myObj.length;i++) {
       if( parseInt(myObj[i].jahr)==parseInt(choseJahr) ){ //&& (parseInt(myObj[i].monat)==parseInt(monWahlVIS) || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-1 || parseInt(myObj[i].monat)==parseInt(monWahlVIS)-2)){
           tableContent += '<td style=\"color:'+inhaltFarbe+'; background-color:'+inhaltHintergrund+'\" align=right>' + myObj[i][index] + ' '+ varData[index].einheit+'</td>'}
                                       }; tableContent="<tr>"+tableContent+"</tr>"
    
    }
    
    
    }
    
    tableContent = '<'+myTable+' ><tbody>'+tableContent+'</tbody></table >'
    //log(tableContent)
    
    setState("javascript." + instance + ".Wetterstation.MonthlyDaten",tableContent)
    }
    
    //--------------------------------------------------------------------------------------------------
    async function main() {
      if (!(await existsStateAsync("javascript." + instance + ".Wetterstation.MonthlyDaten"))) {
          await createStateAsync("Wetterstation.MonthlyDaten", "leer", {type: "string", name: "MonthlyDaten", role: "value", read: true, write: true, } ); }
      if (!(await existsStateAsync("javascript." + instance + ".Wetterstation.MonatAuswahl"))) {
          await createStateAsync("Wetterstation.MonatAuswahl", 10, {type: "number", name: "MonatAuswahl", role: "value", read: true, write: true, } ); } 
      if (!(await existsStateAsync("javascript." + instance + ".Wetterstation.AuswahlJahr"))) {
          await createStateAsync("Wetterstation.AuswahlJahr", 0, {type: "number", name: "AuswahlJahr", role: "value", read: true, write: true, } ); } 
      lastThree = (await getStateAsync("javascript." + instance + ".Wetterstation.AuswahlJahr")).val //? lastThree=true : lastThree=false;  
           
      monWahlVIS=((await getStateAsync("javascript." + instance + ".Wetterstation.MonatAuswahl")).val ) 
      dataStuff(); 
    }
    
    //-----------------------------------------------------------------------------------------------------
    main()
    
    on({id: "javascript." + instance + ".Wetterstation.MonatAuswahl", change: "any"}, async function (obj) {
      main()
    });
    
    on({id: "javascript." + instance + ".Wetterstation.AuswahlJahr", change: "any"}, async function (obj) {
      main()
    });
    
    schedule('*/30 * * * *', function() { 
      let MonatTmp = parseInt(formatDate(getDateObject((new Date().getTime())), "MM"));
      if (MonatTmp>1) { MonatTmp--; } //Patch 
      setState("javascript." + instance + ".Wetterstation.MonatAuswahl", MonatTmp) ;
      setStateDelayed("javascript." + instance + ".Wetterstation.AuswahlJahr", parseInt(formatDate(getDateObject((new Date().getTime())), "JJJJ")),10000) ;
    });
    
    
    

    Dann müsstest du alle bisherigen Monatseinträge kontrollieren ob die nach demselben Schema angelegt sind.

    Es wird zwar temporär funktionieren wenn du die Klammern einfach löschst, dass ist aber keine dauerhafte Lösung:

    • du wirst den Fehler jeden Monat bekommen
    • du kannst dann in einem Jahr keine Vorjahreswerte einlesen

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

    1 Antwort Letzte Antwort
    0
    • NashraN Offline
      NashraN Offline
      Nashra
      Most Active Forum Testing
      schrieb am zuletzt editiert von Nashra
      #3477

      @SBorg
      die Klammern sind drin
      statistik-1.PNG
      statistik-2.PNG

      aber das Skript habe ich verglichen, ist die alte Version.
      Nehme das von dir jetzt.

      Beim Start von deinem Skript kommt

      17:17:44.965	error	javascript.0 (377) script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
      17:17:44.965	error	javascript.0 (377) at script.js.Wetter.Statistik-Tabelle-LivInSky:59:56
      17:17:44.965	error	javascript.0 (377) at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:51:15)
      17:17:44.966	error	javascript.0 (377) at main (script.js.Wetter.Statistik-Tabelle-LivInSky:157:3)
      

      Gruß Ralf
      Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      SBorgS 1 Antwort Letzte Antwort
      0
      • NashraN Nashra

        @SBorg
        die Klammern sind drin
        statistik-1.PNG
        statistik-2.PNG

        aber das Skript habe ich verglichen, ist die alte Version.
        Nehme das von dir jetzt.

        Beim Start von deinem Skript kommt

        17:17:44.965	error	javascript.0 (377) script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
        17:17:44.965	error	javascript.0 (377) at script.js.Wetter.Statistik-Tabelle-LivInSky:59:56
        17:17:44.965	error	javascript.0 (377) at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:51:15)
        17:17:44.966	error	javascript.0 (377) at main (script.js.Wetter.Statistik-Tabelle-LivInSky:157:3)
        
        SBorgS Offline
        SBorgS Offline
        SBorg
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #3478

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

        SyntaxError: Unexpected token : in JSON at position 12

        Da meckert er den ":" in einem JSON-Datensatz an. Sieht nach einem (oder mehreren) inkonsistenten Datensatz/sätze aus.
        Schau mal so ab Zeile ~#55 nach:

          if (typeof(formathelp)=="object") {helper=getState(id).val[0];} 
           else if (typeof(formathelp)=="string") { helper=getState(id).val;
                                                    helper=JSON.parse(helper.substring(1, (getState(id).val).length-1)); }
           else {helper=JSON.parse(getState(id).val);}
         console.log(helper);
          helper={ ...helper, ...obj2, ...obj3}
        

        und füge da den Befehl console.log(helper); wie oben zu sehen ein. Dann sollten in der Console und Log bis zu 16 Meldungen (wir hatten IMHO so Sep. 2020 angefangen) auftauchen. Die müssen alle dem Schema nach sein:

        script.js.common._wo_das_Skript_liegt_._wie_es_heißt_: {'Tiefstwert':-3.38,'Hoechstwert':12.5,'Temp_Durchschnitt':2.86,'Max_Windboe':40.39,'Max_Regenmenge':29.8,'Regenmenge_Monat':68.8,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':13,'kalte_Tage':27,'Eistage':0,'sehr_kalte_Tage':0}
        

        Wichtig dabei ist, dass der Datensatz mit {} beginnt/endet. Zur Kontrolle genügt dann auch noch der Blick auf den
        ersten Messwert nach dem Muster 'Messwertbezeichnung':Messwert, (brauchst also nicht alle Werte kontrollieren, es genügt die reine Syntax. Ist der erste in der Syntax soweit korrekt, sind es die anderen diesen Datensatzes auch).
        Sollte das alles korrekt sein, muss eigentlich einer/mehrere der Datenpunkte im falschen Format ("string/json") angelegt sein.

        ...und nicht vergessen den "console.log..."-Befehl wieder zu löschen, sonst hast du jede Menge Meldungen im Log ;)

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

        1 Antwort Letzte Antwort
        0
        • NashraN Offline
          NashraN Offline
          Nashra
          Most Active Forum Testing
          schrieb am zuletzt editiert von
          #3479

          Hallo @SBorg, alles so gemacht wie beschrieben aber beim starten des Skripts immer ERROR-Meldung.

          Gruß Ralf
          Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          SBorgS 1 Antwort Letzte Antwort
          0
          • NashraN Nashra

            Hallo @SBorg, alles so gemacht wie beschrieben aber beim starten des Skripts immer ERROR-Meldung.

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

            @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

            Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
            Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

            btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
            Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

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

            NashraN 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

              Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
              Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

              btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
              Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

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

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

              @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

              Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
              Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

              btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
              Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

              Moin, Linux mit
              Admin 5.2.3
              JS 5.2.13
              Node.js v14.18.2
              NPM 6.14.15
              Hosts 3.3.22

              javascript.0	377	2022-02-05 11:01:30.065	info	Stop script script.js.Wetter.Statistik-Tabelle-LivInSky
              javascript.0	377	2022-02-05 11:01:25.477	error	at main (script.js.Wetter.Statistik-Tabelle-LivInSky:158:3)
              javascript.0	377	2022-02-05 11:01:25.477	error	at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:50:15)
              javascript.0	377	2022-02-05 11:01:25.477	error	at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:819:29)
              javascript.0	377	2022-02-05 11:01:25.477	error	at script.js.Wetter.Statistik-Tabelle-LivInSky:58:56
              javascript.0	377	2022-02-05 11:01:25.477	error	at JSON.parse (<anonymous>)
              javascript.0	377	2022-02-05 11:01:25.477	error	script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
              javascript.0	377	2022-02-05 11:01:25.468	info	script.js.Wetter.Statistik-Tabelle-LivInSky: registered 2 subscriptions and 1 schedule
              javascript.0	377	2022-02-05 11:01:25.448	info	Start javascript script.js.Wetter.Statistik-Tabelle-LivInSky
              

              Nachtrag:
              habe die eckigen Klammern mal entfernt im json und das alte Skript
              gestartet, Daten werden angezeigt.

              Nachtrag2:
              ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
              steht "kalte_Tage": 52,

              Gruß Ralf
              Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              SBorgS 1 Antwort Letzte Antwort
              0
              • NashraN Nashra

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

                @nashra Ok, dann kann es eigentlich nur noch am Format liegen und er erkennt es nicht korrekt.

                Nochmal wie oben, anstelle von console.log(helper); nun aber console.log(typeof(formathelp));
                Da sollte nun eigentlich so ~12x "object" kommen und die letzten x-mal (zumindest mindestens der letzte) "string" ?

                btw: ioB auf Linux oder Windows und stable oder latest? (me ist auf Linux und latest unterwegs)
                Muss ja irgendeinen Grund haben warum es gerade offenbar nur bei dir nicht lüppt ;)

                Moin, Linux mit
                Admin 5.2.3
                JS 5.2.13
                Node.js v14.18.2
                NPM 6.14.15
                Hosts 3.3.22

                javascript.0	377	2022-02-05 11:01:30.065	info	Stop script script.js.Wetter.Statistik-Tabelle-LivInSky
                javascript.0	377	2022-02-05 11:01:25.477	error	at main (script.js.Wetter.Statistik-Tabelle-LivInSky:158:3)
                javascript.0	377	2022-02-05 11:01:25.477	error	at dataStuff (script.js.Wetter.Statistik-Tabelle-LivInSky:50:15)
                javascript.0	377	2022-02-05 11:01:25.477	error	at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:819:29)
                javascript.0	377	2022-02-05 11:01:25.477	error	at script.js.Wetter.Statistik-Tabelle-LivInSky:58:56
                javascript.0	377	2022-02-05 11:01:25.477	error	at JSON.parse (<anonymous>)
                javascript.0	377	2022-02-05 11:01:25.477	error	script.js.Wetter.Statistik-Tabelle-LivInSky: SyntaxError: Unexpected token : in JSON at position 12
                javascript.0	377	2022-02-05 11:01:25.468	info	script.js.Wetter.Statistik-Tabelle-LivInSky: registered 2 subscriptions and 1 schedule
                javascript.0	377	2022-02-05 11:01:25.448	info	Start javascript script.js.Wetter.Statistik-Tabelle-LivInSky
                

                Nachtrag:
                habe die eckigen Klammern mal entfernt im json und das alte Skript
                gestartet, Daten werden angezeigt.

                Nachtrag2:
                ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
                steht "kalte_Tage": 52,

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

                @nashra Hmm, ok, dann eben anders...

                Neues JS, egal wo und wie es heißt mit folgendem Inhalt:

                let t="0_userdata.0.Statistik.Wetter.Data.2022.01";
                let wert=getState(t).val;
                let test=JSON.parse(wert.substring(1, wert.length-1));
                
                console.log(typeof(t));
                console.log(wert);
                console.log(test);
                

                Bei #1 ggf. den Pfad anpassen, die Daten aber bitte vom Januar 2022 belassen (gerne aber auch mal mit bspw. Juni 2021 gegenchecken).
                Erwarteter Output für 01.2022 wäre:

                string
                [{"Tiefstwert": ... }]
                {'Tiefstwert': ... }
                

                Wichtig sind nur "string" (Juni 21 sollte hier "object" liefern), dass die eckigen Klammern entfallen und " durch ' ersetzt wurde.

                Ich kann leider bei mir nichts simulieren, denn dazu müsste ich wissen was der Fehler ist. Dann könnte ich ihn aber auch gleich beseitigen... ;)


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

                ist mir gerade erst aufgefallen, der Januar hat 31 Tage aber in der Anzeige
                steht "kalte_Tage": 52,

                Ich weiß nicht wie lange schon und warum überhaupt, aber das Problem scheint älter. Da es nicht immer auftritt ist es wohl ein Timing-Problem. Teil 1 läuft noch während Teil 2 schon was von Teil 1 möchte...
                Geändert habe ich es bereits, muss aber bis zum nächsten 1. warten ob es auch funktioniert.

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

                1 Antwort Letzte Antwort
                0
                • NashraN Offline
                  NashraN Offline
                  Nashra
                  Most Active Forum Testing
                  schrieb am zuletzt editiert von
                  #3483

                  Also folgendes

                  15:44:39.706	error	javascript.0 (115229) script.js.Wetter.Test: SyntaxError: Unexpected token ] in JSON at position 327
                  15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                  15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                  

                  ändere ich den Pfad auf 2020.01 kommt dies

                  15:48:17.997	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                  15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: string
                  15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -1.77, "Hoechstwert": 12.27, "Temp_Durchschnitt": 2.95, "Max_Windboe": 40.39, "Max_Regenmenge": 22.3, "Regenmenge_Monat": 165.6, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 10, "kalte_Tage": 26, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                  15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: {'Tiefstwert':-1.77,'Hoechstwert':12.27,'Temp_Durchschnitt':2.95,'Max_Windboe':40.39,'Max_Regenmenge':22.3,'Regenmenge_Monat':165.6,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':10,'kalte_Tage':26,'Eistage':0,'sehr_kalte_Tage':0}
                  15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                  

                  sorry aber das kapier ich nicht :confused:

                  Gruß Ralf
                  Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • NashraN Nashra

                    Also folgendes

                    15:44:39.706	error	javascript.0 (115229) script.js.Wetter.Test: SyntaxError: Unexpected token ] in JSON at position 327
                    15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                    15:44:39.706	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                    

                    ändere ich den Pfad auf 2020.01 kommt dies

                    15:48:17.997	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                    15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: string
                    15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -1.77, "Hoechstwert": 12.27, "Temp_Durchschnitt": 2.95, "Max_Windboe": 40.39, "Max_Regenmenge": 22.3, "Regenmenge_Monat": 165.6, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 10, "kalte_Tage": 26, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                    15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: {'Tiefstwert':-1.77,'Hoechstwert':12.27,'Temp_Durchschnitt':2.95,'Max_Windboe':40.39,'Max_Regenmenge':22.3,'Regenmenge_Monat':165.6,'warme_Tage':0,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':10,'kalte_Tage':26,'Eistage':0,'sehr_kalte_Tage':0}
                    15:48:18.011	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                    

                    sorry aber das kapier ich nicht :confused:

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

                    @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                    Kommentiere mal #3 aus (// voranstellen):

                    //let test=...
                    

                    Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

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

                    NashraN 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                      Kommentiere mal #3 aus (// voranstellen):

                      //let test=...
                      

                      Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

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

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

                      @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                      Kommentiere mal #3 aus (// voranstellen):

                      //let test=...
                      

                      Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

                      16:27:05.629	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                      16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: string
                      16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -4.77, "Hoechstwert": 14.88, "Temp_Durchschnitt": 4.58, "Max_Windboe": 38.46, "Max_Regenmenge": 12.9, "Regenmenge_Monat": 145.3, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 13, "kalte_Tage": 52, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                      16:27:05.632	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                      16:27:05.632	error	javascript.0 (115229) script.js.Wetter.Test: ReferenceError: test is not defined
                      16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:7:13
                      16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                      

                      Gruß Ralf
                      Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                      SBorgS 1 Antwort Letzte Antwort
                      0
                      • NashraN Nashra

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

                        @nashra Immerhin kommen wir der Sache näher. Ich glaube der mag bei dir "JSON.parse" nicht...

                        Kommentiere mal #3 aus (// voranstellen):

                        //let test=...
                        

                        Geht dann zumindest teilweise der Januar 22? Müsste eine "NaN / undefined" Meldung kommen da er "test" nun nicht mehr kennt.

                        16:27:05.629	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                        16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: string
                        16:27:05.631	info	javascript.0 (115229) script.js.Wetter.Test: [ { "Tiefstwert": -4.77, "Hoechstwert": 14.88, "Temp_Durchschnitt": 4.58, "Max_Windboe": 38.46, "Max_Regenmenge": 12.9, "Regenmenge_Monat": 145.3, "warme_Tage": 0, "Sommertage": 0, "heisse_Tage": 0, "Frost_Tage": 13, "kalte_Tage": 52, "Eistage": 0, "sehr_kalte_Tage": 0 } ]
                        16:27:05.632	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                        16:27:05.632	error	javascript.0 (115229) script.js.Wetter.Test: ReferenceError: test is not defined
                        16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:7:13
                        16:27:05.632	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                        
                        SBorgS Offline
                        SBorgS Offline
                        SBorg
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von
                        #3486

                        @nashra Na immerhin "lebt" es ;)

                        Ändere mal #3 in

                        let test=wert.join());
                        

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

                        NashraN 1 Antwort Letzte Antwort
                        0
                        • SBorgS SBorg

                          @nashra Na immerhin "lebt" es ;)

                          Ändere mal #3 in

                          let test=wert.join());
                          
                          NashraN Offline
                          NashraN Offline
                          Nashra
                          Most Active Forum Testing
                          schrieb am zuletzt editiert von
                          #3487

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

                          let test=wert.join());

                          16:40:20.426	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                          16:40:20.432	error	javascript.0 (115229) script.js.Wetter.Test compile failed: at script.js.Wetter.Test:3
                          

                          Gruß Ralf
                          Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                          SBorgS 1 Antwort Letzte Antwort
                          0
                          • NashraN Nashra

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

                            let test=wert.join());

                            16:40:20.426	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                            16:40:20.432	error	javascript.0 (115229) script.js.Wetter.Test compile failed: at script.js.Wetter.Test:3
                            
                            SBorgS Offline
                            SBorgS Offline
                            SBorg
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #3488

                            @nashra Mist, eine Klammer zu viel...

                            let test=wert.join();
                            

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

                            NashraN 1 Antwort Letzte Antwort
                            0
                            • SBorgS SBorg

                              @nashra Mist, eine Klammer zu viel...

                              let test=wert.join();
                              
                              NashraN Offline
                              NashraN Offline
                              Nashra
                              Most Active Forum Testing
                              schrieb am zuletzt editiert von
                              #3489

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

                              @nashra Mist, eine Klammer zu viel...

                              let test=wert.join();
                              
                              16:43:33.321	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                              16:43:33.345	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                              16:43:33.347	error	javascript.0 (115229) script.js.Wetter.Test: TypeError: wert.join is not a function
                              16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                              16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                              

                              Gruß Ralf
                              Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                              SBorgS 1 Antwort Letzte Antwort
                              0
                              • NashraN Nashra

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

                                @nashra Mist, eine Klammer zu viel...

                                let test=wert.join();
                                
                                16:43:33.321	info	javascript.0 (115229) Start javascript script.js.Wetter.Test
                                16:43:33.345	info	javascript.0 (115229) script.js.Wetter.Test: registered 0 subscriptions and 0 schedules
                                16:43:33.347	error	javascript.0 (115229) script.js.Wetter.Test: TypeError: wert.join is not a function
                                16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:3:15
                                16:43:33.347	error	javascript.0 (115229) at script.js.Wetter.Test:9:3
                                
                                SBorgS Offline
                                SBorgS Offline
                                SBorg
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #3490

                                @nashra Keine Ahnung was bei dir schief läuft...
                                Muss ich mir im stillen Kämmerlein paar Gedanken dazu machen. Melde mich dann so am 30. Februar wieder :joy:

                                Als Q&D nimm halt aktuell die alte Version und lösche die [] heraus (sind ja auch wieder schnell eingefügt ;) ).

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

                                NashraN 1 Antwort Letzte Antwort
                                0
                                • SBorgS SBorg

                                  @nashra Keine Ahnung was bei dir schief läuft...
                                  Muss ich mir im stillen Kämmerlein paar Gedanken dazu machen. Melde mich dann so am 30. Februar wieder :joy:

                                  Als Q&D nimm halt aktuell die alte Version und lösche die [] heraus (sind ja auch wieder schnell eingefügt ;) ).

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

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

                                  @nashra Keine Ahnung was bei dir schief läuft...
                                  Muss ich mir im stillen Kämmerlein paar Gedanken dazu machen. Melde mich dann so am 30. Februar wieder :joy:

                                  Am 31. würde mir eher passen :joy:

                                  Als Q&D nimm halt aktuell die alte Version und lösche die [] heraus (sind ja auch wieder schnell eingefügt ;) ).

                                  Ok, mache ich, Danke erstmal :+1:

                                  Gruß Ralf
                                  Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                  1 Antwort Letzte Antwort
                                  0
                                  • NashraN Offline
                                    NashraN Offline
                                    Nashra
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von
                                    #3492

                                    Moin @SBorg
                                    bei mir funktioniert auf einmal die Übertragung an Wetter.com nicht mehr.
                                    In der conf ist die ID und Passwort eingetragen aber der DP steht auf false.
                                    Von Hand auf true geändert aber beim nächsten aktualisieren geht er wieder auf false.
                                    Aufgefallen ist mir dies als ich bei Wetter.com meine Station überprüfen wollte
                                    und dort "Wetterdaten sind noch nicht vorhanden" angezeigt wurde. Wie lange
                                    das jetzt schon so ist kann ich nicht genau sagen, aber es hatte mal funktioniert.

                                    Gruß Ralf
                                    Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    R SBorgS 2 Antworten Letzte Antwort
                                    0
                                    • NashraN Nashra

                                      Moin @SBorg
                                      bei mir funktioniert auf einmal die Übertragung an Wetter.com nicht mehr.
                                      In der conf ist die ID und Passwort eingetragen aber der DP steht auf false.
                                      Von Hand auf true geändert aber beim nächsten aktualisieren geht er wieder auf false.
                                      Aufgefallen ist mir dies als ich bei Wetter.com meine Station überprüfen wollte
                                      und dort "Wetterdaten sind noch nicht vorhanden" angezeigt wurde. Wie lange
                                      das jetzt schon so ist kann ich nicht genau sagen, aber es hatte mal funktioniert.

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

                                      @nashra +1

                                      1 Antwort Letzte Antwort
                                      0
                                      • NashraN Nashra

                                        Moin @SBorg
                                        bei mir funktioniert auf einmal die Übertragung an Wetter.com nicht mehr.
                                        In der conf ist die ID und Passwort eingetragen aber der DP steht auf false.
                                        Von Hand auf true geändert aber beim nächsten aktualisieren geht er wieder auf false.
                                        Aufgefallen ist mir dies als ich bei Wetter.com meine Station überprüfen wollte
                                        und dort "Wetterdaten sind noch nicht vorhanden" angezeigt wurde. Wie lange
                                        das jetzt schon so ist kann ich nicht genau sagen, aber es hatte mal funktioniert.

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

                                        @nashra Moin, moin. So ca. 2-3 Tage. War kurz vor dem Wochenende tot. Hat wohl keiner bei denen gemerkt, und beim letzten Ausfall haben sie übers WE auch nichts gefixt. Geht vermutlich morgen dann irgendwann wieder.
                                        Einfach abwarten und bis zum 31. Februar Tee trinken :joy:

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

                                        NashraN 1 Antwort Letzte Antwort
                                        2
                                        • SBorgS SBorg

                                          @nashra Moin, moin. So ca. 2-3 Tage. War kurz vor dem Wochenende tot. Hat wohl keiner bei denen gemerkt, und beim letzten Ausfall haben sie übers WE auch nichts gefixt. Geht vermutlich morgen dann irgendwann wieder.
                                          Einfach abwarten und bis zum 31. Februar Tee trinken :joy:

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

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

                                          Einfach abwarten und bis zum 31. Februar Tee trinken :joy:

                                          Nix Tee, lieber lecker Bierchen :joy:

                                          Gruß Ralf
                                          Mir egal, wer Dein Vater ist! Wenn ich hier angel, wird nicht übers Wasser gelaufen!!

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          735

                                          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