Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Energieanzeige (kWh) über HTML Tabelle - vis

    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

    Energieanzeige (kWh) über HTML Tabelle - vis

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

      @liv-in-sky

      So, nachdem ich dort eine 0 eingetragen habe und das Script neu gestarte habe, siehe da

      59028767-3012-464b-8c86-116d8129ad62-grafik.png

      aber warum ist der Hintergrund von Gesamt blau?

      liv-in-sky 2 Replies Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @Nordischerjung last edited by

        @nordischerjung deshalb

        Image 2.png

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

          @liv-in-sky alles klar, danke schön

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

            @nordischerjung

            wenn du im widget einstellst, dass du nur 4 nebeneiander haben willst, sollte es schöner aussehen - anzahl der maximalen listenelemente pro zeile

            Image 3.png

            1 Reply Last reply Reply Quote 0
            • N
              Nordischerjung @Nordischerjung last edited by Nordischerjung

              @liv-in-sky das sieht nur so blöd aus, da es auf meinem 32" Monitor ist, auf dem Tablet sieht es gut aus

              I 1 Reply Last reply Reply Quote 1
              • I
                Idefix01 @Nordischerjung last edited by

                Hallöchen,
                lassen sich die Werte auch begrenzen auf 2 Stellen nach dem Komma?

                Screenshot_20210304-082756_Fully Kiosk Browser.jpg

                Screenshot_20210304-082730_Fully Kiosk Browser.jpg

                liv-in-sky 3 Replies Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @Idefix01 last edited by

                  @idefix01 muss ich kucken - das sind die material design widgets - die nutze ich selber bei diesem script nicht

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

                    @idefix01 teste mal mit der änderung: einfach austauschen - vorher jetztiges script sichern

                       myJsonWidget.push({
                           Device : vax1,
                           marke :vaxMarke,
                           status: vax2,
                           Strom : Number(vax3).toFixed(2),
                           Spannung : vax4,
                           Power : vax5,
                           Schalter : vax6,
                           kWhNow : Number(vax7).toFixed(2),
                           kWhMonat  : Number(vax8).toFixed(2),
                           MonatZuvor : vaxMBefore,
                           PreisNow : vax9,
                           PreisMonat : vax10,
                           KostenMonatZuvor: vaxKostenBefore,
                             }
                     
                       );}
                    

                    ist ganz weit unten im Keller vom script 🙂

                    Image 3.png

                    das andere widget ist etwas komplizierter

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

                      @idefix01 wenn's beim ersten klappt, dann hier das andere widget - auch im script ersetzen

                      mysubText =     `<div>Strom: ${Number(vax3).toFixed(2)} A</div> 
                                        <div>Spannung: ${vax4} V</div> 
                                        <div>Leistung: ${vax5} W</div>
                                        <div>&ensp; </div>
                                        <div>Heute: ${Number(vax7).toFixed(2)} kWh</div> 
                                        <div>Monat: ${Number(vax8).toFixed(2)} kWh</div>
                                        <div>Vormonat: ${vaxMBefore} kWh</div>
                                        <div>&ensp; </div>
                                        <div>Heute: ${vax9} €</div> 
                                        <div>Monat: ${vax10} €</div>
                                        <div>Vormonat: ${vaxKostenBefore} €</div>
                                        <div style="display: flex; flex: 1; text-align: left; align-items: center; position: relative;">
                                        ${vax6}</font></div>`;
                      } else {
                      
                      mysubText =     `     <div style="color: ${farbeMDEinspeisung};  ">EINSPEISUNG Leistung: ${vax5} W</div>
                                          <div>&ensp; </div>  
                                          <div>Heute: ${Number(vax7).toFixed(2)} kWh</div> 
                                          <div>Monat: ${Number(vax8).toFixed(2)} kWh</div>
                                          <div>Vormonat: ${vaxMBefore} kWh</div>
                                          <div>&ensp; </div>
                                          <div>Heute: ${vax9} €</div> 
                                          <div>Monat: ${vax10} €</div>
                                          <div>Vormonat: ${vaxKostenBefore} €</div>
                                          <div>Schalter: ${vax6}</font></div>`;
                                          vaxBckGround="#8A4B08";
                      //  // <div>Strom:${vax3}A Spannung: ${vax4}V Leistung: ${vax5}W</div>    //font-size: 80% ;
                      }
                      
                      if (vax1.indexOf("GESAMT VirtualPower")>-1) {
                      mysubText =     ` <div>&ensp; </div>
                                        <div>&ensp; </div>
                                        <div>&ensp; </div>
                                        <div>&ensp; </div>
                                        <div>Heute: ${Number(vax7).toFixed(2)} kWh</div>
                                        <div>Monat: ${Number(vax8).toFixed(2)} kWh</div>
                                        <div>Vormonat: ${vaxMBefore} kWh</div>
                                        <div>&ensp; </div>
                                        <div>Heute: ${vax9} € </div>
                                        <div>Monat: ${vax10} €</div>
                                        <div>Vormonat: ${vaxKostenBefore} €</div>
                                        <div>&ensp; </div>`;
                      
                      }
                      if (vax1.indexOf("GESAMT")>-1) {
                      mysubText =     ` <div>&ensp; </div>
                                        <div>&ensp; </div>
                                        <div>&ensp; </div>
                                        <div>&ensp; </div>
                                        <div>Heute: ${Number(vax7).toFixed(2)} kWh</div>
                                        <div>Monat: ${Number(vax8).toFixed(2)} kWh</div>
                                        <div>Vormonat: ${vaxMBefore} kWh</div>
                                        <div>&ensp; </div>
                                        <div>Heute: ${vax9} € </div>
                                        <div>Monat: ${vax10} €</div>
                                        <div>Vormonat: ${vaxKostenBefore} €</div>
                                        <div>&ensp; </div>`; 
                      }
                      

                      von hier:

                      Image 4.png
                      bis hier:

                      Image 6.png

                      1 Reply Last reply Reply Quote 0
                      • Holger Etzel
                        Holger Etzel last edited by

                        Hallo,
                        bekomme nach Start vom Script folgende Fehlermeldungen:

                        javascript.0	2021-03-14 14:06:00.021	error	(2844967) at processTimers (internal/timers.js:497:7)
                        javascript.0	2021-03-14 14:06:00.021	error	(2844967) at listOnTimeout (internal/timers.js:554:17)
                        javascript.0	2021-03-14 14:06:00.021	error	(2844967) at Timeout._onTimeout (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:510:7)
                        javascript.0	2021-03-14 14:06:00.021	error	(2844967) at /opt/iobroker/node_modules/node-schedule/lib/schedule.js:552:11
                        javascript.0	2021-03-14 14:06:00.021	error	(2844967) at Job.invoke (/opt/iobroker/node_modules/node-schedule/lib/schedule.js:173:10)
                        javascript.0	2021-03-14 14:06:00.020	error	(2844967) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1296:34)
                        javascript.0	2021-03-14 14:06:00.020	error	(2844967) at Object.<anonymous> (script.js.System.Status_Geräte_Stromverbrauch:1272:2)
                        javascript.0	2021-03-14 14:06:00.014	error	(2844967) at writeHTML (script.js.System.Status_Geräte_Stromverbrauch:662:26)
                        javascript.0	2021-03-14 14:06:00.013	error	(2844967) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:800:29)
                        javascript.0	2021-03-14 14:06:00.013	error	(2844967) at script.js.System.Status_Geräte_Stromverbrauch:678:77
                        javascript.0	2021-03-14 14:06:00.012	error	(2844967) Error in callback: TypeError: Cannot read property 'toString' of null
                        javascript.0	2021-03-14 14:05:20.390	error	(2844967) at Script.runInContext (vm.js:130:18)
                        javascript.0	2021-03-14 14:05:20.390	error	(2844967) at script.js.System.Status_Geräte_Stromverbrauch:1696:3
                        javascript.0	2021-03-14 14:05:20.390	error	(2844967) at script.js.System.Status_Geräte_Stromverbrauch:1275:2
                        javascript.0	2021-03-14 14:05:20.390	error	(2844967) at writeHTML (script.js.System.Status_Geräte_Stromverbrauch:662:26)
                        javascript.0	2021-03-14 14:05:20.390	error	(2844967) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:800:29)
                        javascript.0	2021-03-14 14:05:20.390	error	(2844967) at script.js.System.Status_Geräte_Stromverbrauch:678:77
                        javascript.0	2021-03-14 14:05:20.389	error	(2844967) script.js.System.Status_Geräte_Stromverbrauch: TypeError: Cannot read property 'toString' of null
                        javascript.0	2021-03-14 14:05:20.388	info	(2844967) script.js.System.Status_Geräte_Stromverbrauch: registered 0 subscriptions and 1 schedule
                        javascript.0	2021-03-14 14:05:20.365	info	(2844967) Start javascript script.js.System.Status_Geräte_Stromverbrauch
                        

                        Hat jemand eine Idee was das sein könnte?

                        Danke schon mal im voraus.

                        Gruß
                        Holger

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

                          @holger-etzel

                          es scheint mir auf den ersten blick, dass du geräte hast, die keinen state haben ( fritzdect und shelly)
                          kann das sein

                          beim shelly energy_current oder energy_voltage

                          beim fritzdect entweder fehlt power oder voltage

                          ich hoffe, du hast das script nicht mit firefox aus dem forum kopiert - den dann stimmen die zeilennummer nicht mehr - da muss man chrome nehmen

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

                            @liv-in-sky

                            ich habe nur shelly-Geräte:
                            Plugs, shelly1PM, shelly 2.5 und shelly3EM.
                            Wobei der 3EM nicht so wichtig für die Tabelle ist

                            Habe das script gespeichert und mit editor geöffnet.

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

                              @holger-etzel

                              wieviele zeilen hat das script im javascript editor ?

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

                                @liv-in-sky

                                bei 1691 ist die letzte Klammer

                                liv-in-sky 2 Replies Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Holger Etzel last edited by

                                  @holger-etzel

                                  das paßt

                                  dann mußt du die shelly datenpunkte prüfen ob die states beschrieben sind - viellicht gibt es shelly's, die nicht mehr genutzt werden, oder unbenannt wurden ....

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

                                    @holger-etzel

                                    siehe chat nachricht

                                    1 Reply Last reply Reply Quote 0
                                    • Holger Etzel
                                      Holger Etzel last edited by

                                      @liv-in-sky
                                      bin im Raum

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

                                        @holger-etzel

                                        kannst du mir bite den geänderten code im shelly block posten - hab vergessen zu koieren

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

                                          @liv-in-sky

                                          $('shelly.*.*.*.Power').each(function(id, i) {           
                                             
                                                  if(existsState(id) && getState(id).val != null ) { 
                                                  
                                                   anzahl++;
                                                  var ida = id.split('.');
                                                    
                                                    counter++; 
                                                    
                                                      
                                                    val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; // log(val0+"---" +lastID)
                                                    if (val0 == lastID) {lastID=val0; shellyNumber++; val0=val0+"("+shellyNumber.toString()+")"} else{lastID=val0; shellyNumber=1}
                                                    
                                                    
                                          
                                                    val1=getState(ida[0]+"."+ida[1]+"."+ida[2]+".online").val
                                                    val2=" - "; val3=" - ";
                                                    if(existsState(id.replace("Power","Energy_Current"))) {     val2=((getState(id.replace("Power","Energy_Current")).val)).toString()+ " A"; }
                                                     if(existsState(id.replace("Power","Energy_Voltage"))) { val3=getState(id.replace("Power","Energy_Voltage")).val.toString()+" V"; }
                                          
                                                    val4=getState(id).val.toString()+" W";
                                                    var val5_1;
                                                    if (existsState(id.replace("Power","Switch"))) {val5_1= getState(id.replace("Power","Switch")).val;  } else {val5_1= getState(ida[0]+"."+ida[1]+"."+ida[2]+".Relay0.Switch").val;  }
                                                    val5_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterON+"\"> ")+"OFF</font>";
                                           
                                                     val6=" - "; val7=" - "; val8=" - "; val9=" - "; 
                                                     
                                                     valMarkeDevice="shellyk"
                                          

                                          sorry war gestern nicht im Forum.
                                          Das sollte der code sein.

                                          Nochmal vielen, vielen dank für die umfangreiche Hilfe.

                                          Gruß
                                          Holger

                                          tugsi 1 Reply Last reply Reply Quote 1
                                          • tugsi
                                            tugsi @Holger Etzel last edited by

                                            @holger-etzel sagte in Energieanzeige (kWh) über HTML Tabelle - vis:

                                            Das sollte der code sein.

                                            Es fehlt am Ende dann eine geschweifte Klammer durch :

                                               if(existsState(id) && getState(id).val != null ) { 
                                            

                                            Muss ganz am Ende des Shelly-Abschnittes (hast Du nicht mit angefügt) noch das Ende gesetzt werden:

                                              } }); 
                                            } //ende fritzdect
                                            
                                            

                                            Gesamter Shelly-Abschnitt also:

                                             if (shelly){
                                            counter=0
                                                         
                                                 
                                                  counter++//=0;
                                                  val0=""; val1=""; val2="";val3="";val4="";val5="";val6="";val7="";val8="";val9="";
                                                  tabelleBind();  
                                                  tabelleAusbessern();
                                                  counter++//=0;
                                                  val0="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">Shelly</"+HTMLbrandSetting+"></font>"; val1=""; val2="";val3="";val4="";
                                                  val5="<font color=\""+htmlColorDeviceUeberschrift+"\"></font>";
                                                  val6="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">kWh Now<"+HTMLbrandSetting+"></font>";
                                                  val7="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">kWh Monat<"+HTMLbrandSetting+"></font>";
                                                  val8="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">Preis Now<"+HTMLbrandSetting+"></font>";
                                                  val9="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">Preis Monat<"+HTMLbrandSetting+"></font>";
                                                  tabelleBind();  
                                                 
                                                 
                                            lastID="";
                                             
                                            
                                            $('shelly.*.*.*.Power').each(function(id, i) {           
                                               
                                                    if(existsState(id) && getState(id).val != null ) { 
                                                    
                                                     anzahl++;
                                                    var ida = id.split('.');
                                                      
                                                      counter++; 
                                                      
                                                        
                                                      val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; // log(val0+"---" +lastID)
                                                       if (val0 == lastID) {lastID=val0; shellyNumber++; val0=val0+"("+shellyNumber.toString()+")"} else{lastID=val0; shellyNumber=1}
                                                       
                                                       
                                              
                                                       val1=getState(ida[0]+"."+ida[1]+"."+ida[2]+".online").val
                                                       val2=" - "; val3=" - ";
                                                       if(existsState(id.replace("Power","Energy_Current"))) {     val2=((getState(id.replace("Power","Energy_Current")).val)).toString()+ " A"; }
                                                        if(existsState(id.replace("Power","Energy_Voltage"))) { val3=getState(id.replace("Power","Energy_Voltage")).val.toString()+" V"; }
                                              
                                                       val4=getState(id).val.toString()+" W";
                                                       var val5_1;
                                                       if (existsState(id.replace("Power","Switch"))) {val5_1= getState(id.replace("Power","Switch")).val;  } else {val5_1= getState(ida[0]+"."+ida[1]+"."+ida[2]+".Relay0.Switch").val;  }
                                                       val5_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterON+"\"> ")+"OFF</font>";
                                              
                                                        val6=" - "; val7=" - "; val8=" - "; val9=" - "; 
                                                        
                                                        valMarkeDevice="shellyk"
                                                      if (sourceAnalyShelly) {brechneEnergy(val0,getState(id).val)
                                                     
                                                         if (rootCounter){
                                                             sammleDaten();
                                                        berechneGesamt()
                                                         } }
                                                    
                                                  zeigeVal1();
                                                  if (!filterArrAusnahme.includes(val0)) {
                                                     tabelleBind();  
                                                    } else{let help=[val0,val1,val2,val3,val4,val5,val6,val7,val8,val9]; filterArrAusnahmeHelp.push(help);}
                                            
                                              } }); 
                                            } //ende fritzdect
                                            
                                            

                                            Gruß
                                            Thomas

                                            liv-in-sky 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            928
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            37
                                            696
                                            130126
                                            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