Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Energieanzeige (kWh) über HTML Tabelle - vis

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

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

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

Energieanzeige (kWh) über HTML Tabelle - vis

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplate
696 Beiträge 37 Kommentatoren 157.2k Aufrufe 46 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • I Idefix01

    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-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    schrieb am zuletzt editiert von
    #588

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

    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

    1 Antwort Letzte Antwort
    0
    • I Idefix01

      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-skyL Offline
      liv-in-skyL Offline
      liv-in-sky
      schrieb am zuletzt editiert von
      #589

      @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

      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • I Idefix01

        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-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von
        #590

        @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

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • Holger EtzelH Offline
          Holger EtzelH Offline
          Holger Etzel
          schrieb am zuletzt editiert von
          #591

          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-skyL 1 Antwort Letzte Antwort
          0
          • Holger EtzelH Holger Etzel

            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-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            schrieb am zuletzt editiert von
            #592

            @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

            nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

            Holger EtzelH 1 Antwort Letzte Antwort
            0
            • liv-in-skyL liv-in-sky

              @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 EtzelH Offline
              Holger EtzelH Offline
              Holger Etzel
              schrieb am zuletzt editiert von
              #593

              @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-skyL 1 Antwort Letzte Antwort
              0
              • Holger EtzelH Holger Etzel

                @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-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #594

                @holger-etzel

                wieviele zeilen hat das script im javascript editor ?

                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                Holger EtzelH 1 Antwort Letzte Antwort
                0
                • liv-in-skyL liv-in-sky

                  @holger-etzel

                  wieviele zeilen hat das script im javascript editor ?

                  Holger EtzelH Offline
                  Holger EtzelH Offline
                  Holger Etzel
                  schrieb am zuletzt editiert von
                  #595

                  @liv-in-sky

                  bei 1691 ist die letzte Klammer

                  liv-in-skyL 2 Antworten Letzte Antwort
                  0
                  • Holger EtzelH Holger Etzel

                    @liv-in-sky

                    bei 1691 ist die letzte Klammer

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    schrieb am zuletzt editiert von
                    #596

                    @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 ....

                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                    1 Antwort Letzte Antwort
                    0
                    • Holger EtzelH Holger Etzel

                      @liv-in-sky

                      bei 1691 ist die letzte Klammer

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #597

                      @holger-etzel

                      siehe chat nachricht

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      • Holger EtzelH Offline
                        Holger EtzelH Offline
                        Holger Etzel
                        schrieb am zuletzt editiert von
                        #598

                        @liv-in-sky
                        bin im Raum

                        liv-in-skyL 1 Antwort Letzte Antwort
                        0
                        • Holger EtzelH Holger Etzel

                          @liv-in-sky
                          bin im Raum

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #599

                          @holger-etzel

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

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          Holger EtzelH 1 Antwort Letzte Antwort
                          0
                          • liv-in-skyL liv-in-sky

                            @holger-etzel

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

                            Holger EtzelH Offline
                            Holger EtzelH Offline
                            Holger Etzel
                            schrieb am zuletzt editiert von
                            #600

                            @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

                            tugsiT 1 Antwort Letzte Antwort
                            1
                            • Holger EtzelH Holger Etzel

                              @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

                              tugsiT Offline
                              tugsiT Offline
                              tugsi
                              schrieb am zuletzt editiert von
                              #601

                              @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

                              Master ioBroker in Proxmox als LXC auf 1. Tiny-Lenovo, Proxmox-VM als Slave auf 2. Tinyi-Lenovo mit Zigbee und Monitor zur Visualisierung, Hauptautomatisierung über S7 auf Beckhoff CX, dazu noch Shelly, Homematic...

                              liv-in-skyL 1 Antwort Letzte Antwort
                              0
                              • tugsiT tugsi

                                @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-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                schrieb am zuletzt editiert von
                                #602

                                @tugsi danke, da hast du recht - aber der codeausschnit war mehr für mich gedacht - zum einbinden ins script im ersten post

                                natrürlich kann man aber deinen "schnippsel" auch selbst ins eigene script kopieren

                                nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                tugsiT 1 Antwort Letzte Antwort
                                0
                                • liv-in-skyL liv-in-sky

                                  @tugsi danke, da hast du recht - aber der codeausschnit war mehr für mich gedacht - zum einbinden ins script im ersten post

                                  natrürlich kann man aber deinen "schnippsel" auch selbst ins eigene script kopieren

                                  tugsiT Offline
                                  tugsiT Offline
                                  tugsi
                                  schrieb am zuletzt editiert von
                                  #603

                                  @liv-in-sky
                                  ich war mir da etwas unsicher, da der Beitrag schon ein paar Tage alt war und ich gerade wegen den Shelly´s daran arbeitete und das in deinem Script noch nicht angepasst war.
                                  Nicht bevor nachher den Schnipsel einfach nimmt und sich wundert, warum es nicht läuft ;)

                                  Master ioBroker in Proxmox als LXC auf 1. Tiny-Lenovo, Proxmox-VM als Slave auf 2. Tinyi-Lenovo mit Zigbee und Monitor zur Visualisierung, Hauptautomatisierung über S7 auf Beckhoff CX, dazu noch Shelly, Homematic...

                                  liv-in-skyL 1 Antwort Letzte Antwort
                                  0
                                  • tugsiT tugsi

                                    @liv-in-sky
                                    ich war mir da etwas unsicher, da der Beitrag schon ein paar Tage alt war und ich gerade wegen den Shelly´s daran arbeitete und das in deinem Script noch nicht angepasst war.
                                    Nicht bevor nachher den Schnipsel einfach nimmt und sich wundert, warum es nicht läuft ;)

                                    liv-in-skyL Offline
                                    liv-in-skyL Offline
                                    liv-in-sky
                                    schrieb am zuletzt editiert von
                                    #604

                                    @tugsi

                                    mittlerweile ist es angepaßt - alles gut soweit :-)

                                    nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                    1 Antwort Letzte Antwort
                                    0
                                    • JB_SullivanJ Offline
                                      JB_SullivanJ Offline
                                      JB_Sullivan
                                      schrieb am zuletzt editiert von JB_Sullivan
                                      #605

                                      GOOD MORNING - ioBroker ( in Anlehnung an Vietnam ; ) )

                                      Ich wollte gerade Heute damit beginnen meine ganzen Energieströme mal ein bisschen zu sortieren. Gut das ich vorher (die nun besser funktionierende) Foren Suche benutzt habe.

                                      Da letztes Jahr, im Rahmen meiner PV Anlagen Installation, auch ein neuer Verteilerschrank (3-Reihig) montiert wurde, war ich die letzten Wochen damit beschäftigt diesen ein wenig mit Smart Home Komponenten zu bestücken.

                                      Damit bin ich jetzt soweit durch und habe .....

                                      • 4 x Shelly 3EM (Jeder Shelly detektiert eine Unterverteilung im Haus [Garten, Küche, Keller, Restliches Gebäude])

                                      • 6 x Sonoff POW für einzelne Geräte die über den Adapter Device-Reminder auch auf den Betriebszustand überwacht werden (Trockner, Waschmaschine, Geschirrspüler, 3 x TV Wände mit dem ganzen Multimedia Equipment & Beleuchtung)

                                      • Sowie die die üblichen Verdächtigen zur Erfassung der PV Daten (Fronius Adapter) und der Zähler Daten für`s EVU (Discovergy Adapter)

                                      • Demnächst wird noch openWB für die Erfassung der Energieströme zum e-Auto montiert.

                                      Natürlich ist auch Sourceanalytix im Einsatz.

                                      Lange Rede kurzer Sinn:

                                      Dieser Thread und alle Teil- und Vorgänger Threads sind ja nun doch sehr umfangreich und verschachtelt.

                                      Was ist denn jetzt der aktuelle Stand bezgl. Script und VIS Bild? Hier auf der Seite Beitrag #1?
                                      .... oder wie ist der Stand der Dinge?

                                      Freue mich schon darauf mit Eurer Vorlage loslegen zu können ;)

                                      So, habe mir mal das Script aus Beitrag #1 importiert. Allerdings unterstreicht der Script Editor jede Menge Zeilen und/oder Begriffe ROT, was ja meist der Hinweis auf ein Fehler ist.

                                      JavaScript Engine Adapter ist in der Version 5.1.3 installiert.

                                      ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                                      liv-in-skyL 1 Antwort Letzte Antwort
                                      0
                                      • JB_SullivanJ JB_Sullivan

                                        GOOD MORNING - ioBroker ( in Anlehnung an Vietnam ; ) )

                                        Ich wollte gerade Heute damit beginnen meine ganzen Energieströme mal ein bisschen zu sortieren. Gut das ich vorher (die nun besser funktionierende) Foren Suche benutzt habe.

                                        Da letztes Jahr, im Rahmen meiner PV Anlagen Installation, auch ein neuer Verteilerschrank (3-Reihig) montiert wurde, war ich die letzten Wochen damit beschäftigt diesen ein wenig mit Smart Home Komponenten zu bestücken.

                                        Damit bin ich jetzt soweit durch und habe .....

                                        • 4 x Shelly 3EM (Jeder Shelly detektiert eine Unterverteilung im Haus [Garten, Küche, Keller, Restliches Gebäude])

                                        • 6 x Sonoff POW für einzelne Geräte die über den Adapter Device-Reminder auch auf den Betriebszustand überwacht werden (Trockner, Waschmaschine, Geschirrspüler, 3 x TV Wände mit dem ganzen Multimedia Equipment & Beleuchtung)

                                        • Sowie die die üblichen Verdächtigen zur Erfassung der PV Daten (Fronius Adapter) und der Zähler Daten für`s EVU (Discovergy Adapter)

                                        • Demnächst wird noch openWB für die Erfassung der Energieströme zum e-Auto montiert.

                                        Natürlich ist auch Sourceanalytix im Einsatz.

                                        Lange Rede kurzer Sinn:

                                        Dieser Thread und alle Teil- und Vorgänger Threads sind ja nun doch sehr umfangreich und verschachtelt.

                                        Was ist denn jetzt der aktuelle Stand bezgl. Script und VIS Bild? Hier auf der Seite Beitrag #1?
                                        .... oder wie ist der Stand der Dinge?

                                        Freue mich schon darauf mit Eurer Vorlage loslegen zu können ;)

                                        So, habe mir mal das Script aus Beitrag #1 importiert. Allerdings unterstreicht der Script Editor jede Menge Zeilen und/oder Begriffe ROT, was ja meist der Hinweis auf ein Fehler ist.

                                        JavaScript Engine Adapter ist in der Version 5.1.3 installiert.

                                        liv-in-skyL Offline
                                        liv-in-skyL Offline
                                        liv-in-sky
                                        schrieb am zuletzt editiert von
                                        #606

                                        @jb_sullivan

                                        auch dir ein good morning - seit der source-analy. adapter wieder gepflegt wird, mache ich eigentlich nix mehr an diesem script - ich bin davon ausgegangen, das der adapter das alles kann

                                        mein script wird deinen fall nicht abdecken - es wurde entwickelt um einzelne devices zu überwachen, den verbrauch zu notieren und anzuzeigen - bei deinem beispiel die sonoff pows - aber nur, wenn nicht die neue baumstriktur des sonoff adapters genutzt wird

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

                                        sowie die die üblichen Verdächtigen zur Erfassung der PV Daten (Fronius Adapter) und der Zähler Daten für`s EVU (Discovergy Adapter)

                                        • damit kann das script nix anfangen

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

                                        4 x Shelly 3EM (Jeder Shelly detektiert eine Unterverteilung im Haus [Garten, Küche, Keller, Restliches Gebäude])

                                        • da bin ich mir garnicht mehr sicher - müßten mit aufgenommen werden können

                                        am besten, du installierst das script und setzt mal pow und shelly auf true und schaust dann mal in der vis, was alles angezeigt wird
                                        zur not können wir auch gerne eine anydesk session machen

                                        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                        JB_SullivanJ 1 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL liv-in-sky

                                          @jb_sullivan

                                          auch dir ein good morning - seit der source-analy. adapter wieder gepflegt wird, mache ich eigentlich nix mehr an diesem script - ich bin davon ausgegangen, das der adapter das alles kann

                                          mein script wird deinen fall nicht abdecken - es wurde entwickelt um einzelne devices zu überwachen, den verbrauch zu notieren und anzuzeigen - bei deinem beispiel die sonoff pows - aber nur, wenn nicht die neue baumstriktur des sonoff adapters genutzt wird

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

                                          sowie die die üblichen Verdächtigen zur Erfassung der PV Daten (Fronius Adapter) und der Zähler Daten für`s EVU (Discovergy Adapter)

                                          • damit kann das script nix anfangen

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

                                          4 x Shelly 3EM (Jeder Shelly detektiert eine Unterverteilung im Haus [Garten, Küche, Keller, Restliches Gebäude])

                                          • da bin ich mir garnicht mehr sicher - müßten mit aufgenommen werden können

                                          am besten, du installierst das script und setzt mal pow und shelly auf true und schaust dann mal in der vis, was alles angezeigt wird
                                          zur not können wir auch gerne eine anydesk session machen

                                          JB_SullivanJ Offline
                                          JB_SullivanJ Offline
                                          JB_Sullivan
                                          schrieb am zuletzt editiert von
                                          #607

                                          @liv-in-sky sagte in Energieanzeige (kWh) über HTML Tabelle - vis:

                                          am besten, du installierst das script und setzt mal pow und shelly auf true und schaust dann mal in der vis, was alles angezeigt wird
                                          zur not können wir auch gerne eine anydesk session machen

                                          Ja, werde ich machen und mich mal ein bisschen durchwurschtel. Ich finde halt die ganze, daran hängende VIS Geschichte, mit der automatisch erzeugten Tabellen sehr Charmant.

                                          Ich muss das script nur mal irgendwie runter geladen bekommen. Trotz Chrome zerhackt der Browser mir die Ä,Ü usw. was dann im Script Editor für die roten Unterstreichungen sorgt.

                                          23dd7802-aaa7-4eb5-9c94-e897c39d55fd-image.png

                                          ioBroker auf Intel Core i3-5005U NUC und Windwos10 Pro

                                          liv-in-skyL 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          494

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe