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.
    • 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
                      • da_Woody
                        da_Woody @Negalein last edited by

                        @Negalein said in VIS-Tabelle für WLAN Wetterstation:

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

                        habe keine wetterstation

                        dann wird es Zeit 😉

                        der meinung bin ich auch! macht sich so schick...
                        20201023_143556.jpg

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

                          hat jmd lust mal dieses script zu testen

                          widgets:

                          [{"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"}]
                          

                          script:

                          // @liv-in-sky 5.11.2020 14:45
                          
                          
                          const dataInputPath="controll-own.0.AAATEST.Wetter.Data";  //SEHR WICHTIG !!!!!!!!!
                          const inhaltFarbe="black"
                          const inhaltHintergrund="lightgray"
                          const monatFarbe="yellow"
                          const hintergrund="gray"
                          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={  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 =["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 helper=JSON.parse(getState(id).val)
                          helper={ ...helper, ...obj2, ...obj3}
                          myArrAll.push(JSON.stringify(helper))
                          });
                          
                          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"))) 
                          });
                          
                          
                          
                          
                          
                          

                          • im script muss eigenlich nur der datenpunkt eingestellt werden
                          • es kommt ein weiteres widget dazu
                          • man kann das jahr abfragen und bekommt die letzten beiden monate und den gesuchten monat des jahres

                          anim-gif12.gif

                          da_Woody SBorg Negalein 3 Replies Last reply Reply Quote 2
                          • da_Woody
                            da_Woody @liv-in-sky last edited by

                            @liv-in-sky mann, ich komm ja jetzt schon nicht mehr nach! 🤡

                            1 Reply Last reply Reply Quote 0
                            • SBorg
                              SBorg Forum Testing Most Active @liv-in-sky last edited by

                              @liv-in-sky Bin endlich auch mal dazu gekommen, sieht mit "echten" Daten gut aus 👍
                              Bild 1.png

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

                                @SBorg

                                danke für's testen - die farben gehören wohl noch geändert - aber das kann man ja im script einfach machen

                                SBorg 1 Reply Last reply Reply Quote 0
                                • SBorg
                                  SBorg Forum Testing Most Active @liv-in-sky last edited by

                                  @liv-in-sky 😁 Gelb ist auch nicht so meins, aber für einen 1. Test zuerst so wenig wie möglich ändern.
                                  ...und schön wenn man sich nicht um alles alleine kümmern muss. Doku dauert mittlerweile bald länger als das programmieren.

                                  btw: Wetterstation im Angebot 😉

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

                                    @SBorg glaub ich - deshalb dachte ich mir, du hast so viel arbeit reingesteckt - da schadet es nicht, wenn man in der vis was zu spielen und sehen hat

                                    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:

                                      hat jmd lust mal dieses script zu testen

                                      getestet, läuft und für sehr gut gefunden 😁

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

                                        @liv-in-sky Na dann habe ich mir mal gleich eine bestellt...damit ich das Script testen kann.. 🙂

                                        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:

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

                                          Hallo @liv-in-sky

                                          Wo im Script kann ich die Zeilen umsortieren?

                                          derzeit so:
                                          vis.png

                                          möchte es mir so gestalten:
                                          _4  Wetterstation Sachsenberg Wernstein am Inn   Facebook.png

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

                                            @negalein

                                            ich denke, du mußt das array hier sortieren /in die richtige reihenfolge setzen- ist schon eine weile her - pass auf die kommas auf - nach dem letzten eintrag darf kein komma sein

                                            Image 1.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            879
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            11
                                            101
                                            9768
                                            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