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

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Energieanzeige (kWh) über HTML Tabelle - vis

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

      @liv-in-sky danke für die antwort... ja Aktoren ohne Messung...Also nur auf virtual power bezogen...

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

        @smartboart beispiel für nur einen datenpunkt pro ordner

        der lange rote pfeil ist als virtuPower definiert und erzeugt die beidene einträge (kleine rote pfeile)

        es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

        Image 1.png

        smartboart omega235 5 Replies Last reply Reply Quote 1
        • smartboart
          smartboart @liv-in-sky last edited by smartboart

          @liv-in-sky Alles klar prima! Habe ich verstanden...Danke!

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

            @liv-in-sky

            ok primahat geklappt...
            ich musste im script aber diverse einträge ändern von:
            script_power nach z.B diesen Eintrag
            val0=(getObject(val0help+".Virtual_Energy_Power").common.name).replace(/(.+)..+/,"$1")

            Unbenannt.JPG

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

              @liv-in-sky eine Frage noch, habe es im script nicht gefunden, bevor ich mir das Hirn verbiege, kannst du mir das beantworten, wie ich das .STATE noch bei den virtuals weg bekomme.
              Danke

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

                @smartboart habe es nur kurz überflogen,

                aber ich würde es wohl mit einem replace machen vor dem function-aufruf ( tabelleBind;)

                einfach davor eine zeile einfügen, der val0 nach .STATE durchsucht und mit nichts ( "") ersetzt

                val0=val0.replace(/\.STATE/,"")
                

                Image 3.png

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

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

                  val0=val0.replace(/.STATE/,"")

                  perfekt!!!!
                  Danke

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

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

                    es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

                    hi hab das mal getestet...der Datenpunkt wird erst garnicht angelegt vom Adapter, weil der erstellte Datenpunkt auch gleich heißen würde..
                    Schade, habe viele Wemo D1 mini mit mehreren Aktoren im Betrieb und auch ein paar4 Fach Steckdosen.. Muss ich mir wohl mit nem Script behelfen, was ja auch kein Problem ist...

                    Unbenannt.JPG

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

                      @smartboart

                      ich weiß nicht, ob man aliase in verschiedene ordner machen kann - dann bräuchte man kein script

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

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

                        @smartboart

                        ich weiß nicht, ob man aliase in verschiedene ordner machen kann - dann bräuchte man kein script

                        Ja das weiß ich auch nicht, zumindest nicht wie...Aber damit wäre mir auch nicht geholfen, da ich die betroffenen Objekte auch in anderen Skripten verarbeite, welche ich dann ändern müsste. Dann kann ich auch gleich ein 3Zeiler Script für jeden State schreiben, welchen ich in der Tabelle anzeigen will.

                        1 Reply Last reply Reply Quote 0
                        • smartboart
                          smartboart @smartboart last edited by smartboart

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

                          Datenpunkt auch gleich heißen würde..

                          ah das ja quatsch was ich da beschrieben habe...wie der Datenpunkt angelegt wird kann ich ja hier beeinflussen..

                          Unbenannt.JPG

                          die Tabelle kann man doch bestimmt anpassen, so dass weitere virtualpower eingelesen werden, oder eben allewelche den gleichen Anfang haben

                          Unbenannt.JPG

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

                            @smartboart

                            • ich würde dir gerne empfehlen, einen eigenen ordner anzulegen und die durch ein extra-script zu steuern
                            • das extra-script kopiert einfach den wert des orginals in die neue struktur - sozusagen: selbsterzeugtes alias
                            • habe das mit alias probiert - ging nicht - unter alias.0 werden die virtPower - datenpunkte nicht geschrieben

                            Image 2.png
                            Image 3.png

                            raspi und lüfter3 liegen ursprünglich unter einem ordner - ein kleines blockly spiegelt die werte in die neue struktur

                            du musst evtl das main-script neustarten, wenn du die datenpunkte angelegt hast, damit das script keine fehler macht und sich neu aufbauen kann

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

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

                              es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

                              Image 1.png

                              Hallo, das stimmt so nicht. In dem Menü das unter dem (großer roter pfeil) kommt kann man den Name der ID bzw absolute ID Angeben. dadurch kann man beliebig viele Datenpunkte in einem Kanal überwachen, jeder braucht nur seie eindeutige ID

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

                                @omega235

                                was virtPow angeht hast du recht - aber das script kann dann die berechnung nicht durchführen, da es immer nach xxx.Script_Power im ordner sucht und den wert abgreift. ein zweiter datenpunkt im selben ordner hätte dann die selbe id - wäre also doppelt - doppelte werden nicht angelegt und so greift das script immer auf einen dp zu, obwohl es eigentlich 2 verschiedene sein sollten - das funktioniert zwar, aber tatsächlich würden die daten zur berechnung falsch sein

                                damit das script das könnte, müßten die id's in virtPow so angelegt werden, dass ich das im script herausfinden kann.
                                unter virtualpowermeter.0.group_script.info stehen die datenpunkte (mehr info habe ich nicht) - diese müßten gleichzeitig ein fixer teil der id sein - ein beispiel
                                der datenpunkt, der virtPow bekommen soll heißt controll-own.0.MATRIX.Schalter. die id (im virtPow-setting) dafür müßte diesen namen beinhalten z.b.-> controll-own0MATRIXSchalter_Script_Power - so könnte man das im script abfragen, weil ich dann einen eindeutigen namen hätte, den ich auch im script erzeugen kann, weil immer die id des dp ein teil des namens wäre

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

                                  @liv-in-sky hallo hatte auch das Problem mit dem Sp112. Bei mir kommt bei der Abfrage (if (getState(id).val SP112 statt GOSUND SP112). Ich habe den GOSUND-Zweig wie folgt geändert:

                                  
                                   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++; 
                                               
                                            val1=getState(id.replace("INFO.Module","alive")).val;                 
                                            val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ;
                                            val4=getState(id.replace("INFO.Module","ENERGY_Power")).val.toString()+ " W"                        
                                            val2=((getState(id.replace("INFO.Module","ENERGY_Current")).val)*1000).toString()+ " mA";    
                                            val3=getState(id.replace("INFO.Module","ENERGY_Voltage")).val.toString()+" V"; 
                                            var val7_2; var val8_2; 
                                  		  //console.log("==========>>>> "+ getState(id).val);
                                            if (getState(id).val=="SP112") {
                                                 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);}  
                                      
                                    } }); 
                                  

                                  Damit funktioniert es bei mir.

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

                                    @schauaufdich danke für die info - könntest du bitte den code tag im deinem post richtig setzen ? wäre übersichtlicher 🙂

                                    scheint eine bessere lösung zu sein - die info.module einträge scheinen doch ziemlich verschieden zu sein

                                    1 Reply Last reply Reply Quote 0
                                    • Christoph1337
                                      Christoph1337 last edited by

                                      Irgendwie findet das Script meine Shellys mit Tasmota drauf nicht. Was muss ich tun?

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

                                        @Christoph-Bubeck liegt daran, dass shellys mit tasmota nicht im script integriert sind

                                        integriert ist der sonoff pow (der auch tasmota hat) - evtl wäre es sinnvoll den pow teil zu tasmota zu ändern und dann könnte man den einbinden

                                        kannst du mir mal einen json export deines shellys mit tasmota machen - dann schau ich da mal rein

                                        json-export: https://forum.iobroker.net/post/355793 - wähle den ordner des shellys aus und dann den export - zusätzlich brauche ich noch den inhalt des info.module datenpunktes des shellys

                                        1 Reply Last reply Reply Quote 0
                                        • Christoph1337
                                          Christoph1337 last edited by

                                          Jau das hab ich auch gerade gesehen.
                                          Wenn ich dann im Pow bereich das modul für shelly 2 hinzufüge findet er leider die doppeleinträge nicht

                                          sonoff.0.DVES_F40825.json

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

                                            @Christoph-Bubeck ich schau es mir mal an - meld mich wieder

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            913
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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