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.
    • liv-in-sky
      liv-in-sky @Bastian Felten last edited by

      @bastian-felten

      kann es nicht testen - du musst den code in deinem script austauschen und probieren, ob es funktioniert

      gilt nur für Gosund !!

      austauschen von:

      Image 5.png

      bis:

      Image 6.png

      $('sonoff.*.*.INFO.*Module').each(function(id, i) {           
        
           if (getState(id).val.includes("Gosund SP1") || getState(id).val.includes("SP11") || getState(id).val.includes("Gosund SP111") || getState(id).val.includes("SP112")) {
              // log (id)
              anzahl++;
             var ida = id.split('.');
            
               counter++; 
               existsState(id.replace("INFO.Module",'INFO.Info1_Module')) ?  val1=getState(id.replace("INFO.Info1_Module","alive")).val : val1=getState(id.replace("INFO.Module","alive")).val;
               val1=getState(id.replace("INFO.Module","alive")).val;                 
               val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ;
                existsState(id.replace("INFO.Module",'INFO.Info1_Module')) ?  val4=getState(id.replace("INFO.Info1_Module","ENERGY_Power")).val.toString()+ " W" : val4=getState(id.replace("INFO.Module","ENERGY_Power")).val.toString()+ " W"                        
                existsState(id.replace("INFO.Module",'INFO.Info1_Module')) ?  val4=getState(id.replace("INFO.Info1_Module","ENERGY_Current")).val.toString()+ " W" : val2=((getState(id.replace("INFO.Module","ENERGY_Current")).val)*1000).toString()+ " mA";    
               existsState(id.replace("INFO.Module",'INFO.Info1_Module')) ?  val4=getState(id.replace("INFO.Info1_Module","ENERGY_Voltage")).val.toString()+ " W" :val3=getState(id.replace("INFO.Module","ENERGY_Voltage")).val.toString()+" V"; 
               var val7_2; var val8_2; 
      
               if (existsState(id.replace("INFO.Module",'INFO.Info1_Module'))) {
                  
                        if (getState(id).val.includes("SP112") || getState(id).val.includes("SP211")) {
                    let val7_1=getState(id.replace("INFO.Info1_Module","POWER1")).val;        
              val7_1 ? val7_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val7_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";
              let val8_1=getState(id.replace("INFO.Info1_Module","POWER2")).val;        
              val8_1 ? val8_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val8_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";
              val5=val7_2+" "+val8_2;
               }
               
                else{
               let val7_1=getState(id.replace("INFO.Info1_Module","POWER")).val;        
               val7_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";}
               val6=" - "; val7=" - "; val8=" - "; val9=" - "; 
               valMarkeDevice="gosundk" 
        
               if (sourceAnalyGo) {brechneEnergy(val0,getState(id.replace("INFO.Info1_Module","ENERGY_Power")).val)
             if (rootCounter){
                 sammleDaten();
                 berechneGesamt()
                  } }
      
      
               }
                
               
               
               
                else {
               if (getState(id).val.includes("SP112") || getState(id).val.includes("SP211")) {
                    let val7_1=getState(id.replace("INFO.Module","POWER1")).val;        
              val7_1 ? val7_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val7_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";
              let val8_1=getState(id.replace("INFO.Module","POWER2")).val;        
              val8_1 ? val8_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val8_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";
              val5=val7_2+" "+val8_2;
               }
               
                else{
               let val7_1=getState(id.replace("INFO.Module","POWER")).val;        
               val7_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";}
               val6=" - "; val7=" - "; val8=" - "; val9=" - "; 
               valMarkeDevice="gosundk" 
        
               if (sourceAnalyGo) {brechneEnergy(val0,getState(id.replace("INFO.Module","ENERGY_Power")).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
      

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

        @liv-in-sky
        24d43a73-1f35-4f67-948c-2edb7ec9db64-image.png

        Steckdose erscheint nun, aber mit der Anzeige von Watt stimmt was nicht.
        Scheinbar wird das gleiche wie bei Spannung angezeigt.

        e137acce-2105-48ce-9f8d-631de098b420-image.png

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

          @bastian-felten

          sorry - copy paste fehler

          du musst diesee werte ändern - bei dir steht da val4 aber es muss val2 und val3 heißen

          Image 8.png

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

            @liv-in-sky
            Top!
            Vielen lieben Dank für die schnelle Hilfe!
            Wirklich sehr nett!

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

              @Alex220773

              das problem ist, das ab tasmota 9.5 die dp anders benannt wurden - ab tasmota 10 ist es wieder anders. eigentlich entwickle ich dieses script nicht weiter, da es den sourceanalytics adapter gibt.

              ich kann dir deine geräte schon einbinden, aber dann musst du auf version 9.5 bleiben, weil das einbinden dann speziell für deine geräte, mit dieser version sind

              das gilt übrigens auch für andere tasmota geräte in dem script - das script funktioniert nicht mehr, wenn die geräte die version 9.5 bekommen

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

                @liv-in-sky

                Das wäre super wenn Du das machen konntes ,habe nicht vor die Tasmota immer wieder auf den neusten stand zu bringen (sollen alle Geräte auf 9.5 bleiben).Wenn es einmal richtig läuft warum soll man es Ändern.

                Alex

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

                  @alex220773
                  dann brauche ich von die die genaue bezeichnung der geräte - das steht im dp info_module

                  bi deinem export werden die states (also werte/inhalte) nicht gespeichert - nur die dp-objecte !

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

                    @liv-in-sky
                    Reicht es so?
                    NousA1T.png

                    Das ist der ganze DP von einen Gerät.

                    Alex

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

                      @alex220773

                      du musst 2 sachen in dein script kopieren - stoppe und kopiere dein script und arbeite dann in der kopie, damit du dein orginal noch hast - nutze chrome oder edge zum kopieren aus dem forum

                      kopiere

                      var nous=true;             var sourceAnalyNous=true; 
                      

                      dahin:

                      Image 1.png

                      UND das:

                      if (nous){
                         counter=0
                                  
                           
                           counter++//=0;
                           val0=""; val1=""; val2="";val3="";val4="";val5="";val6="";val7="";val8="";val9="";
                           tabelleBind();  
                           
                           counter++//=0;
                           val0="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">Nous</"+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();  
                           
                          
                      
                      
                      $('sonoff.*.*.INFO.Info1_Module').each(function(id, i) {           
                        
                           if (getState(id).val=="NOUS A1T")  {
                              // log (id)
                              anzahl++;
                             var ida = id.split('.');
                            
                               counter++; 
                                 
                               val1=getState(id.replace("INFO.Info1_Module","alive")).val;                   
                               val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ;
                               val3=getState(id.replace("INFO.Info1_Module","ENERGY_Voltage")).val.toString()+" V"; 
                      
                      
                      
                               val4=getState(id.replace("INFO.Info1_Module","ENERGY_Power")).val.toString()+ " W"                     
                               val2=((getState(id.replace("INFO.Info1_Module","ENERGY_Current")).val)*1000).toString()+ " mA";   
                               let val7_1=getState(id.replace("INFO.Info1_Module","POWER")).val;        
                               val7_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";
                                val6=" - "; val7=" - "; val8=" - "; val9=" - "; 
                               valMarkeDevice="sonoffk"   
                               
                      
                      
                               if (sourceAnalyPow) {brechneEnergy(val0,getState(id.replace("INFO.Info1_Module","ENERGY_Power")).val); 
                             if (rootCounter){
                                 sammleDaten()
                                 berechneGesamt()
                                  }
                               }
                                     // else von shelly 2.5
                             
                           zeigeVal1();
                           if (!filterArrAusnahme.includes(val0)) {
                              tabelleBind();  
                             } else{let help=[val0,val1,val2,val3,val4,val5,val6,val7,val8,val9]; filterArrAusnahmeHelp.push(help);}
                       
                       } }); }
                      

                      an diese stelle:

                      Image 2.png

                      sollte dann so aussehen:

                      Image 3.png

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

                        @liv-in-sky

                        DAs sieht schon mal gut aus,
                        aber im log bekomme ich fehler meldungen

                        10:34:14.565	info	javascript.0 (3870473) Start javascript script.js.Skript_2
                        10:34:14.584	info	javascript.0 (3870473) script.js.Skript_2: registered 0 subscriptions and 2 schedules
                        10:35:00.014	error	javascript.0 (3870473) at sammleDaten (script.js.Skript_2:1548:91)
                        10:35:00.014	error	javascript.0 (3870473) at script.js.Skript_2:752:18
                        10:35:00.014	error	javascript.0 (3870473) at writeHTML (script.js.Skript_2:721:26)
                        10:35:00.014	error	javascript.0 (3870473) at Object.<anonymous> (script.js.Skript_2:1331:2)
                        10:36:00.017	error	javascript.0 (3870473) at sammleDaten (script.js.Skript_2:1548:91)
                        10:36:00.017	error	javascript.0 (3870473) at script.js.Skript_2:752:18
                        10:36:00.017	error	javascript.0 (3870473) at writeHTML (script.js.Skript_2:721:26)
                        10:36:00.017	error	javascript.0 (3870473) at Object.<anonymous> (script.js.Skript_2:1331:2)
                        
                        

                        Unbenannt.png

                        So sieht jetzt aus.
                        Die Shellys sind als Shutter für Rollos.

                        Und so sieht mein Skript aus

                        script.txt

                        MfG

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

                          @alex220773

                          magst du anydesk - ich könnte mich kurz bei dir einwählen und wir machen das gemeinsam ?

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

                            @liv-in-sky

                            Habe gerade instal. hab noch 30 min dann muss ich Arbeiten.

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

                              @alex220773

                              vielleicht reicht das - schaue mal im chat

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

                                Auf dem Notebook werden meine Symbole hier auch angezeigt, hat jemand eine Idee wie ich die auch auf dem Raspberry (wo meine Vis über Chromium aufgerufen wird) angezeigt werden können?

                                energie.jpg

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

                                  @idefix01 dieselbe vis seite wird auf dem raspi nicht angezeigt, aber auf einem laptop schon ?

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

                                    @idefix01

                                    habe das mal nachgestellt - ich sehe es auf dem raspi - das wäre eher eine frage an @scrounger , warum der raspi mit chromium die bilder im materialdesign table widget nicht anzeigt

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

                                      @liv-in-sky

                                      ok, ich habe mal @Scrounger angeschrieben mit dem Link zu diesem Forum

                                      C 1 Reply Last reply Reply Quote 0
                                      • C
                                        chka @Idefix01 last edited by

                                        Hallo Danke für das Script, leider hat bei mir die suche nichts gebracht oder ich bin zu doof.

                                        Hat jemand den Homematic HM-ES-TX-WM eingebunden ?

                                        Im Script wird ja nur ENERGY_COUNTER. beachtet der HM-ES-TX-WM hat allerdings den Datenpunkt IEC_ENERGY_COUNTER

                                        Danke

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          chka @chka last edited by

                                          Homematic HM-ES-TX-WM und Tasmota V11.1 Shelly 1pm

                                          Strom2022-06-13.txt

                                          1 Reply Last reply Reply Quote 0
                                          • F
                                            flispy last edited by

                                            Hallo zusammen, ich habe dieses Script erfolgreich in Betrieb genommen. Grundsätzlich funktioniert es, aber ich frage mich wie ich die Namen der Geräte anpassen kann. Aktuell haben sie alle Namen wie "active", weil der Datenpunkt so heißt.
                                            Gibt es hierzu eine einfache Möglichkeit die anzupassen?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            516
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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