Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. VIS-Tabelle für WLAN Wetterstation

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    VIS-Tabelle für WLAN Wetterstation

    This topic has been deleted. Only users with topic management privileges can see it.
    • liv-in-sky
      liv-in-sky last edited by liv-in-sky

      gehört zu: https://forum.iobroker.net/topic/28384/linux-shell-skript-wlan-wetterstation/1528

      dieses script dient zur Wetterdaten-Anzeige für die WLAN Wetterstation

      1604403727276-anim-gif10.gif
      oder
      anim-gif12.gif

      • datenpunkte werden unter javascript.x.Wetterstation angelegt
      • ein dp für das html-standard-widget mit binding
      • ein datenpunkt um auswählen des monats
      • farben können eingestellt werden
      • schriftgröße oder abstand zu den zellen

      [{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.Wetterstation.AuswahlJahr","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","values":"0;2019;2020;2021;2022","texts":"All Years;2019;2020;2021;2022","height":"100","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"no_style":true},"style":{"left":"1142px","top":"70px"},"widgetSet":"jqui"},{"tpl":"tplJquiSelectList","data":{"oid":"javascript.0.Wetterstation.MonatAuswahl","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","values":"1;2;3;4;5;6;7;8;9;10;11;12","texts":"JANUAR;FEBRUAR;MÄRZ;APRIL;MAI;JUNI;JULI;AUGUST;SEPTEMBER;OKTOBER;NOVEMBER;DEZEMBER","height":"100","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"no_style":true},"style":{"left":"1258px","top":"70px"},"widgetSet":"jqui"},{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.Wetterstation.MonthlyDaten}"},"style":{"left":"1095px","top":"133px","width":"634px","height":"589px","font-family":"","color":"#f7f51d"},"widgetSet":"basic"}]
      

      // @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.CONTROL-OWN.AAATEST.Wetter.Data";  //SEHR WICHTIG !!!!!!!!!
      const inhaltFarbe="black"
      const inhaltHintergrund="lightgray"
      const monatFarbe="yellow"
      const hintergrund="grey"
      const htmlFarbTableBorderColor="yellow";
      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={ 
                     Hoechstwert:      { einheit:"°C", name:"Maximum Temperatur"}, 
                      kalte_Tage:       { einheit:"", name:"Kalte Tage (Max. unter 10°C)"},
                     Tiefstwert:       { einheit:"°C", name:"Minimum 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"},
                     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)'},
                     Frost_Tage:       { einheit:"", name:"Frosttage (Min. unter 0°C)"},
                    
                     Eistage:          { einheit:"", name:"Eistage (Max. unter 0°C)"},
                     sehr_kalte_Tage:  { einheit:"", name:"Sehr kalte Tage (Min. unter -10°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{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+'"\>Wetterwerte</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() { 
         setState("javascript." + instance + ".Wetterstation.MonatAuswahl", parseInt(formatDate(getDateObject((new Date().getTime())), "MM"))) ;
         setStateDelayed("javascript." + instance + ".Wetterstation.AuswahlJahr", parseInt(formatDate(getDateObject((new Date().getTime())), "JJJJ")),10000) ;
      });
      
      
      
      
      
      
      

      @Negalein

      • mußte den monat wieder horizontal einfügen - wenn ich eine lösung finde, ändere ich das noch
      • du kannst die namen hier ändern
      • mußt den pfad für die daten eingeben in der ersten"const"

      Image 2.png

      Negalein da_Woody 4 Replies Last reply Reply Quote 2
      • Negalein
        Negalein Global Moderator @liv-in-sky last edited by

        @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

        dieses script dient zur Wetterdaten-Anzeige für die WLAN Wetterstation

        Wow, perfekt

        Werde es später gleich testen
        🙂

        1 Reply Last reply Reply Quote 0
        • da_Woody
          da_Woody @liv-in-sky last edited by

          @liv-in-sky tipitopi! und wieder eine spielerei mehr... 😉

          liv-in-sky 1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @da_Woody last edited by

            @da_Woody zum spielen sind wir doch hier 🙂

            da_Woody 1 Reply Last reply Reply Quote 0
            • da_Woody
              da_Woody @liv-in-sky last edited by

              @liv-in-sky ja, eh... wenn nicht soviel anderes zu tun wäre...
              die werkbank sollte endlich fertig werden
              20201031_154007-s.jpg 20201103_124026-s.jpg
              der papierrollen halter ist gerade am trocknen...
              20201103_114710-s.jpg

              liv-in-sky 1 Reply Last reply Reply Quote 1
              • liv-in-sky
                liv-in-sky @da_Woody last edited by

                @da_Woody gut das du die bilder zeigst - hat mich daran erinnert, das ich auch noch was streichen muss 🙂 wenn ich erstmal in einem script bin, vergesse ich gerne alles um mich herum

                da_Woody 1 Reply Last reply Reply Quote 1
                • da_Woody
                  da_Woody @liv-in-sky last edited by

                  @liv-in-sky heut ist bei uns das richtige wetter dazu. fast 20°
                  0d249012-ee45-44a3-8a58-dd42b0463771-grafik.png
                  auch noch nicht fertig umgebaut...
                  dafür is die rolle an der wand!
                  20201103_134454-s.jpg

                  1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @liv-in-sky last edited by

                    @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                    @Negalein

                    Ich hab 2 Javascriptinstanzen.
                    Möchte .0 benutzen.
                    Wo im Script muss ich die Instanz eingeben?

                    Oder reicht es, Instanz einfach durch 0 zu ersetzen?

                    liv-in-sky 1 Reply Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @Negalein last edited by liv-in-sky

                      @Negalein die instanz wird vom script selbst gefunden - es nimmt die instanz, in der das script installiert/angelegt wurde

                      Negalein 1 Reply Last reply Reply Quote 0
                      • Negalein
                        Negalein Global Moderator @liv-in-sky last edited by

                        @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                        die instanz wird vom script selbst gefunden - es nimmt die instanz, in der das script installiert/angelegt wurde

                        Danke, läuft 😁

                        Screenshot_2020-11-03 vis.png

                        1 Reply Last reply Reply Quote 1
                        • liv-in-sky
                          liv-in-sky last edited by liv-in-sky

                          mir ist gerade eingefallen, dass ich keinen trigger gesetzt habe - man muss immer einen monat auswählen zum triggern

                          im ersten post ist ein update

                          wer schon installert hat und seine eigenen settings eingegeben hat, kann den folgenden code einfach am ende des schon laufenden scriptes anhängen

                          schedule('  */30 * * * *', function() { 
                              setState("javascript." + instance + ".Wetterstation.MonatAuswahl", parseInt(formatDate(getDateObject((new Date().getTime())), "MM"))) 
                          });
                          
                          Negalein 1 Reply Last reply Reply Quote 1
                          • Negalein
                            Negalein Global Moderator @liv-in-sky last edited by

                            @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                            im ersten post ist ein update

                            es sieht jetzt so aus.

                            Hab die Settings ins neue übernommen und andere Farben gewählt.
                            Passt da bei mir was nicht?
                            Screenshot_2020-11-03 vis(1).png

                            // @liv-in-sky 3.11.2020 21:45
                             
                             
                            const dataInputPath="0_userdata.0.Statistik.Wetter.Data";  //SEHR WICHTIG !!!!!!!!!
                            const inhaltFarbe="black"
                            const inhaltHintergrund="lightgray"
                            const monatFarbe="black"
                            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="RobotoCondensed-Regular";       //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"},
                                            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)'},
                                            Frost_Tage:       { einheit:"", name:"Frosttage (Min. unter 0°C)"},
                                            kalte_Tage:       { einheit:"", name:"Kalte Tage (Max. unter 10°C)"},
                                            Eistage:          { einheit:"", name:"Eistage (Max. unter 0°C)"},
                                            sehr_kalte_Tage:  { einheit:"", name:"Sehr kalte Tage (Min. unter -10°C)"}
                            }   
                             
                            const monate =["Jänner","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;
                             
                            //----------------------------------------------------------------------------------------
                            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 helper=JSON.parse(getState(id).val)
                            helper={ ...helper, ...obj2, ...obj3}
                            myArrAll.push(JSON.stringify(helper))
                            });
                             
                            tableContent = ""  
                            myObj=JSON.parse("["+myArrAll.toString()+"]")
                             
                             
                            //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\"  style=\"color:'+monatFarbe+'; background-color:'+hintergrund+' ; vertical-align:middle; text-align:center \"  width=\"25px\" 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].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>"
                             
                            }
                             
                             
                            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, } ); }  
                               monWahlVIS=((await getStateAsync("javascript." + instance + ".Wetterstation.MonatAuswahl")).val ) 
                               dataStuff();
                             
                            }
                             
                            //-----------------------------------------------------------------------------------------------------
                            main()
                             
                             
                             
                            on({id: "javascript." + instance + ".Wetterstation.MonatAuswahl", change: "any"}, async function (obj) {
                            main()
                             
                            });
                             
                            schedule('  */30 * * * *', function() { 
                               setState("javascript." + instance + ".Wetterstation.MonatAuswahl", parseInt(formatDate(getDateObject((new Date().getTime())), "MM"))) 
                            });
                             
                             
                             
                             
                             
                            
                            
                            liv-in-sky 1 Reply Last reply Reply Quote 0
                            • liv-in-sky
                              liv-in-sky @Negalein last edited by

                              @Negalein

                              was hast du für einen browser ?

                              Negalein 1 Reply Last reply Reply Quote 0
                              • Negalein
                                Negalein Global Moderator @liv-in-sky last edited by

                                @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                                was hast du für einen browser ?

                                Chrome und FF

                                bei beiden dieses Bild

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Negalein last edited by

                                  @Negalein

                                  ich schau mir das morgen nochmal an - bin nicht am hauptrechner - bei mir funktioniert es in chrome

                                  die schriftgröße im linken block stimmt nicht - die ist zu klein

                                  Negalein 1 Reply Last reply Reply Quote 0
                                  • Negalein
                                    Negalein Global Moderator @liv-in-sky last edited by

                                    @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                                    ich schau mir das morgen nochmal an

                                    keine Eile

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Negalein last edited by

                                      @Negalein

                                      fehler entdeckt und oben upgedatet

                                      hier dein script mit all deinen einstellungen zum import

                                      // @liv-in-sky 3.11.2020 21:45
                                      
                                      
                                      const dataInputPath="0_userdata.0.Statistik.Wetter.Data";  //SEHR WICHTIG !!!!!!!!!
                                      const inhaltFarbe="black"
                                      const inhaltHintergrund="lightgray"
                                      const monatFarbe="black"
                                      const hintergrund="gray"
                                      const htmlFarbTableBorderColor="black";
                                      const abstandZelle=6;
                                      const htmlRahmenLinien="all"
                                      const htmlSchriftgroessehtmlSchriftart=""  //nicht verwendbar!
                                      const htmlFarbFelderschrift="red";         //nicht verwendbar!
                                      const htmlSchriftgroesse="14px";
                                      const htmlSchriftart="Ubuntu-Light"//"RobotoCondensed-Regular";       //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"},
                                                     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)'},
                                                     Frost_Tage:       { einheit:"", name:"Frosttage (Min. unter 0°C)"},
                                                     kalte_Tage:       { einheit:"", name:"Kalte Tage (Max. unter 10°C)"},
                                                     Eistage:          { einheit:"", name:"Eistage (Max. unter 0°C)"},
                                                     sehr_kalte_Tage:  { einheit:"", name:"Sehr kalte Tage (Min. unter -10°C)"}
                                      }   
                                      
                                      const monate =["Jänner","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;
                                      
                                      //----------------------------------------------------------------------------------------
                                      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 helper=JSON.parse(getState(id).val)
                                      helper={ ...helper, ...obj2, ...obj3}
                                      myArrAll.push(JSON.stringify(helper))
                                      });
                                      
                                      tableContent = ""  
                                      myObj=JSON.parse("["+myArrAll.toString()+"]")
                                      
                                      
                                      //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+'"\>Wetterwerte</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>"
                                      
                                      }
                                      
                                      
                                      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, } ); }  
                                        monWahlVIS=((await getStateAsync("javascript." + instance + ".Wetterstation.MonatAuswahl")).val ) 
                                        dataStuff();
                                      
                                      }
                                      
                                      //-----------------------------------------------------------------------------------------------------
                                      main()
                                      
                                      
                                      
                                      on({id: "javascript." + instance + ".Wetterstation.MonatAuswahl", change: "any"}, async function (obj) {
                                      main()
                                      
                                      });
                                      
                                      schedule('  */30 * * * *', function() { 
                                        setState("javascript." + instance + ".Wetterstation.MonatAuswahl", parseInt(formatDate(getDateObject((new Date().getTime())), "MM"))) 
                                      });
                                      
                                      
                                       
                                      
                                      

                                      Image 1.png

                                      Negalein 1 Reply Last reply Reply Quote 1
                                      • Negalein
                                        Negalein Global Moderator @liv-in-sky last edited by

                                        @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                                        fehler entdeckt und oben upgedatet

                                        Super, funktioniert
                                        Merci

                                        liv-in-sky 1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Negalein last edited by

                                          @Negalein leider kann ich es nicht verwenden (habe keine wetterstation) - suche schon nach einer anzeige in meinen datenpunkten, damit ich das script verwenden kann 🙂

                                          Negalein M 2 Replies Last reply Reply Quote 0
                                          • Negalein
                                            Negalein Global Moderator @liv-in-sky last edited by

                                            @liv-in-sky sagte in VIS-Tabelle für WLAN Wetterstation:

                                            habe keine wetterstation

                                            dann wird es Zeit 😉

                                            da_Woody 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            898
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            11
                                            101
                                            9776
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo