Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. LED Anzeige für VIS - Akku,Pegel,Kreis

    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

    LED Anzeige für VIS - Akku,Pegel,Kreis

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @liv-in-sky last edited by sigi234

      @liv-in-sky sagte in LED Anzeige für VIS - Akku,Pegel,Kreis:

      die abstände zwischen den led's stellst du in PunkteAbstan ein - schrib da mal "5,5" rein

      Und wie bekomme ich die Led grösser?

      Wenn ich die Lautstärke am Dot ändere werden sie je nach LS von selber grösser?

      Screenshot (4093).png

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

        @sigi234

        z.b. javascript.0.Tabellen@Liv.LED1RingVIS.AnzeigeRegler.PunkteGroesse

        teste mal 20,20 - eigentlich sind das rechtecke, daher die 2 werte - im script werden die ecken dann abgerundet

        @sigi234 sagte in LED Anzeige für VIS - Akku,Pegel,Kreis:

        Wenn ich die Lautstärke am Dot ändere werden sie je nach LS von selber grösser?

        das verstehe ich nicht, das bild ergibt auch keinen sinn - ich sehe zuviele punkte - ist das auf zweispaltig gesetzt? dann muss das widget etwas breiter gemacht werden - der wert paßt auch nich

        den ganzen satz verstehe ich nicht - es ändert sich der volume wert und der durchmesser der leds verändert sich ???

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

          @liv-in-sky sagte in LED Anzeige für VIS - Akku,Pegel,Kreis:

          den ganzen satz verstehe ich nicht - es ändert sich der volume wert und der durchmesser der leds verändert sich ???

          Screenshot (4096).png

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

            @sigi234

            du mußt das html widget breiter machen - bis 2 spalten sichtbar sind

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

              @sigi234

              oder du schreibst "einspaltig" rein- javascript.0.Tabellen@Liv.LED1RingVIS.AnzeigeRegler.UsageFormat

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

                @liv-in-sky

                Aha gecheckt, da geht`s um Millimeter......

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

                  @sigi234

                  ja - vielleicht fällt mir noch eine bessere lösung ein - aber wenn man erstmal alles eingestellt hat , muss man nix mehr ändern

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

                    @liv-in-sky sagte in LED Anzeige für VIS - Akku,Pegel,Kreis:

                    @sigi234

                    ja - vielleicht fällt mir noch eine bessere lösung ein - aber wenn man erstmal alles eingestellt hat , muss man nix mehr ändern

                    Super, jetzt habe ich es begriffen. Theoretisch brauche ich dann für jedes Gerät ein Skript und ein Blockly.

                    Screenshot (4099).png

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

                      @sigi234 Ja genau

                      Die Blocklys können aber alle in einem Script sein

                      Jedes Script braucht in der variable dpVisnew einen eigenen Namen

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

                        @liv-in-sky

                        Es wird schon!

                        Screenshot (4104).png

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

                          @sigi234

                          schaut gur aus - ich kopiere mal dein bild in meinen erten post 🙂

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

                            habe ein update im ersten post

                            das alte script kann natürlich noch genutzt werden - um das neue zu testen ein weiteres script dazufügen und dann die variable dpVISnew im script mit einem neuen namen beschreiben/deklarieren

                            ein neues format ist dazugekommen - wir im dp javascript.0.Tabellen@Liv.LED1RingVIS.WidgetAnzeigeFormat angegeben ( 1=rund, 2=quer, 3=hoch oder die neue einstellung 4=eckig)

                            durch anpassen der widgetgröße im vis-editor können die leds angeordnet werden

                            noch dazugekommen: ein schatten für die leds unter dem datenpunkt: javascript.0.Tabellen@Liv.LED1RingVIS.LEDSchatten

                            sieht dann so aus:

                            z.b ein zähler (für erinnerungen an einen monatl termin (tagezähler),...)

                            AApossis (98).gif

                            oder:

                            AApossis (100).gif

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

                              im neuen script können auch bilder geladen werden - dies funktioniert nur, wenn man die einzel LEDs steuert. dies funktioniert über ein json. wenn man ein bild an einer stelle haben will, muss man im json den bild-pfad eingeben - ist kein "key" picture im json, wird eine led angezeigt.
                              das format eines images wird unter "javascript.0.Tabellen@Liv.LED1RingVIS.LEDDurchmesser" bestimmt (breite/höhe)

                              [
                                {
                                  "number": 1,
                                  "color": "tranparent",
                                  "picture": "/vis.0/armin/img/zahl/1-green.png"
                                },
                                {
                                  "number": 2,
                                  "color": "tranparent",
                                  "picture": "/vis.0/armin/img/zahl/0-green.png"
                                },
                                {
                                  "number": 3,
                                  "color": "tranparent",
                                  "picture": "/vis.0/armin/img/zahl/dp-green.png"
                                },
                                {
                                  "number": 4,
                                  "color": "tranparent",
                                  "picture": "/vis.0/armin/img/zahl/2-green.png"
                                },
                                {
                                  "number": 5,
                                  "color": "tranparent",
                                  "picture": "/vis.0/armin/img/zahl/7-green.png"
                                }
                              ]
                              

                              ein beispiel als uhrzeitanzeige - die "leds" sind in diesen fall bilder

                              AApossis (101).gif AApossis (102).gif AApossis (103).gif

                              mit temperatur:

                              AApossis (104).gif

                              • die animation kann abgeschalten werden
                              1 Reply Last reply Reply Quote 2
                              • liv-in-sky
                                liv-in-sky last edited by liv-in-sky

                                dies ist ein eigenes script - für jedes widget, braucht man ein eigenes script - damit kann man andere datenpunkte schalten (bidirektional) und anzeigen lassen. es können dp vom typ number - ganzzahlig - sein
                                z. b

                                • uhrzeit
                                • minuten
                                • themostate-soll werte
                                • thermometer - gerundete gradzahlen)
                                  usw ...

                                einstellungen vor script start:

                                • rot: kannst du so belassen - wenn du ein zweites script davon installierst, muss hier wieder etwas einzigartiges stehen
                                • grün: anfang der zahlen
                                • schwarz: die id eines datenpunktes deiner wahl - typ number, ganze zahlen, keine komma-zahlen
                                • blau: farbe der zahlen
                                  Image 4.png

                                einstellungen nach script start:

                                • rot: anzahl der zu zeigenden "bubbles"
                                • blau: hintergrund nicht selktierter "bubbles"
                                • schwarz: ist für das widget - binding zu diesem dp
                                • gelb: bei 1 im kreis - bei 2 im block (werden angezeigt in abhängigkeit von widget größe)
                                • grün: rundung der bubbles - 50 ist rund, 0 ist eckig
                                • lila: hintergrund selktierter "bubble"
                                • grau: größe der "bubbles"
                                • orange: interne größe des widgets - muss abgeglichen sein mit der größe des widgets

                                Image 3.png

                                script import:

                                
                                //@liv-in-sky 27.01.2022-16:19
                                
                                let  dpVISnew="LED1RingNumbers1";                            // Datenpunkte unter javascript.x.Tabellen@Liv.LED1RingVIS
                                
                                let ansichtFormat=2;                                //Datenpunkt einstellung hat höhere priorität - bitte dort bestimmen und script neustarten
                                                                                   //- 1 ist rund, 2 ist quer, 3 ist hoch form
                                
                                let styleLEDsVER;
                                let styleLEDsnew;
                                let scriptLEDnew; 
                                let scriptLEDnew2;
                                let styleLEDSpan;
                                let namerStart=6;               //start der zählung
                                let colorSchrift="white"         // schriftfarbe
                                let colorSchriftSelected="white" 
                                let dpToConnect="javascript." + instance + ".Tabellen@Liv."+dpVISnew+".ValueSelected";
                                              
                                let DatapointArr=["javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeFormat","javascript." + instance + ".Tabellen@Liv."+dpVISnew+".StandardLedFarbeAus",
                                "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserGesamt","javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserPunkte",
                                "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl","javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EckenRundung"];                                  
                                let namer=namerStart;
                                
                                
                                async function mainLED(){
                                     
                                   await needDP().then(  function () { 
                                
                                
                                
                                //ALLE EINSTELLUNGEN IN DEN DATENPUNKTEN
                                
                                let grundfarbe="transparent";                         //Datenpunkt einstellung hat höhere priorität - bitte dort bestimmen
                                
                                
                                
                                let groessePunkteHoehe=15;                           //Datenpunkt einstellung hat höhere priorität - bitte dort bestimmen und script neustarten
                                let groessePunkteWeite=15;                           //Datenpunkt einstellung hat höhere priorität - bitte dort bestimmen und script neustarten
                                let groesseGesamtHoehe=170;                          //Datenpunkt einstellung hat höhere priorität - bitte dort bestimmen und script neustarten
                                let groesseGesamtWeite=170;                          //Datenpunkt einstellung hat höhere priorität - bitte dort bestimmen und script neustarten
                                let borderRadius=25
                                
                                  if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserPunkte")) {
                                   let PunkteArr=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserPunkte").val.split(',')
                                   groessePunkteHoehe=Number(PunkteArr[0])
                                   groessePunkteWeite=Number(PunkteArr[1]) }
                                  if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserGesamt")) {
                                   let GeamtArr=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserGesamt").val.split(',')
                                    groesseGesamtHoehe=Number(GeamtArr[0])
                                    groesseGesamtWeite=Number(GeamtArr[1])  }
                                  if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".StandardLedFarbeAus")) {
                                   let ledAusFarbe=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".StandardLedFarbeAus").val;
                                    grundfarbe=ledAusFarbe; }  
                                  if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeFormat")) {
                                   let ledAusFarbe=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeFormat").val;
                                    ansichtFormat=ledAusFarbe; }  
                                   if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EckenRundung")) {
                                   borderRadius=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EckenRundung").val;
                                     }    
                                
                                
                                let ansichtFormatVERHOR="inline-block";
                                                           
                                let rotation="";
                                // log(ansichtFormat)
                                //ansichtFormat==2 ?  ansichtFormatVERHOR="flex" :  ansichtFormatVERHOR="inline-block" //inline-block
                                //ansichtFormat==2 ? rotation="" : rotation=`transform: rotate(180deg); `
                                //  ansichtFormat==3 ? rotation="" : rotation=`transform: rotate(180deg); `
                                //log(rotation)
                                styleLEDsVER=`#outer${dpVISnew}{
                                		display: ${ansichtFormatVERHOR} ;
                                       ${rotation}
                                       } 			
                                   	.inner${dpVISnew}{
                                         
                                   	height: ${groessePunkteHoehe}px;
                                   	width: ${groessePunkteWeite}px;
                                      
                                   	background: ${grundfarbe};
                                   	border-radius: ${borderRadius}%;
                                       align-items: center;
                                        margin-right: 5px;
                                       margin-top: 4px;
                                       margin-bottom: 4px;
                                       margin-left: 5px;
                                       color: ${colorSchrift};
                                      
                                         display: inline-block;
                                       top: 50%;
                                        vertical-align: middle;
                                        text-align: center;
                                          
                                                  
                                   	
                                   	}`  //justify-content: center;   
                                       // vertical-align: middle;
                                
                                styleLEDSpan=`.span${dpVISnew} {
                                                               height: ${groessePunkteHoehe}px;
                                   	                        width: ${groessePunkteWeite}px; 
                                                               display: block;
                                                               text-align:center;
                                                               margin-top: ${Math.round(groessePunkteHoehe)/5}px;
                                   
                                  
                                       
                                }`;       /* display: inline-block;
                                       vertical-align: middle;
                                       line-height: normal;
                                       text-align: center;
                                       justify-content: center;*/
                                       
                                styleLEDsnew=`#outer${dpVISnew} {
                                		position: absolute;
                                   	height: ${groesseGesamtHoehe}px;
                                   	width: ${groesseGesamtWeite}px;
                                       transform: rotate(-90deg);
                                       } 			
                                   	.inner${dpVISnew}{
                                           z-index:4;
                                   	position: absolute;
                                   	height: ${groessePunkteHoehe}px;
                                   	width: ${groessePunkteWeite}px;
                                   	background: ${grundfarbe};
                                       color: ${colorSchrift};
                                   	border-radius: ${borderRadius}%;
                                   	display: flex; 
                                   	align-items: center;
                                   	justify-content: center;
                                       transform: rotate(90deg)
                                   	}`  // in outer:  transform: rotate(-90deg);
                                
                                
                                
                                scriptLEDnew=`function myKreis${dpVISnew}() {var outer = document.getElementById('outer${dpVISnew}');
                                   	var outerWidth = document.getElementById('outer${dpVISnew}').offsetWidth;
                                   	var outerHeight = document.getElementById('outer${dpVISnew}').offsetHeight;
                                   	for(var i = 0; i < outer.children.length; i++){
                                   	var r = outerWidth / 2 - outer${dpVISnew}.children[i].offsetWidth / 2;
                                   	var phi = i / outer${dpVISnew}.children.length;
                                   	var x = r * Math.cos(phi * 2 * Math.PI) + r;
                                   	var y = r * Math.sin(phi * 2 * Math.PI) + r;
                                   	outer${dpVISnew}.children[i].style.left = x+'px';
                                   	outer${dpVISnew}.children[i].style.top = y+'px';
                                   	/*console.log(outer${dpVISnew}.children[i].style.left);*/
                                   	}
                                       }
                                       myKreis${dpVISnew}();
                                        $(".inner${dpVISnew}").click(function() {
                                                    var matches2 = $(this).text(); 
                                                    console.log(matches2);
                                                    matches2=matches2-${namer};
                                                    vis.setValue('${dpToConnect}',matches2+${namer});
                                                    vis.setValue('javascript.${instance}.Tabellen@Liv.${dpVISnew}.Refresh',true);  });
                                                     console.log("refresh ${dpVISnew}");
                                              
                                        $( document ).ready(function() {
                                                  console.log( "dokument ready! von: ${dpVISnew}" );setTimeout( () => { 
                                                   myKreis${dpVISnew}();   }, 2000); 
                                });
                                               
                                       `
                                scriptLEDnew2=` $(".inner${dpVISnew}").click(function() {
                                                    var matches2 = $(this).text(); 
                                                    console.log(matches2-20);
                                                    matches2=matches2-${namer};
                                                    vis.setValue('${dpToConnect}',matches2+${namer});
                                                    vis.setValue('javascript.${instance}.Tabellen@Liv.${dpVISnew}.Refresh',true);  });
                                                    console.log("refresh ${dpVISnew}");
                                               
                                               
                                       `
                                 
                                   // alleLedsAus(ansichtFormat);
                                   einzelneLedsSteuern(ansichtFormat);
                                })
                                }
                                
                                
                                   async function needDP(){
                                
                                    if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".Anzahl", 15,{type: "number", name: "Anzahl LEDs", role: "value", read: true, write: true, } ); } 
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserPunkte"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".DurchmesserPunkte", "35,35",{type: "string", name: "Durchmesser Punkte", role: "value", read: true, write: true, } ); } 
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".DurchmesserGesamt"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".DurchmesserGesamt", "200,200",{type: "string", name: "Durchmesser Gesamt", role: "value", read: true, write: true, } ); }         
                                    
                                    if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDs"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AlleLEDs", "#14f54b",{type: "string", name: "Alle LEDs", role: "value", read: true, write: true, } ); }
                                
                                    if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".StandardLedFarbeAus"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".StandardLedFarbeAus", "linear-gradient(90deg, rgba(127,210,79,1) 0%, rgba(119,237,42,1) 35%, rgba(99,177,63,1) 100%)",{type: "string", name: "Standard Led Farbe Aus", role: "value", read: true, write: true, } ); }   
                                   
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".alleLEDsAUS"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".alleLEDsAUS", false,{type: "boolean", name: "Alle LEDs AUS", role: "value", read: true, write: true, } ); }
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzahlLEDsEIN"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzahlLEDsEIN", "4,red",{type: "string", name: "Anzahl LEDs EIN", role: "value", read: true, write: true, } ); } 
                                
                                    if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EinzelneLEDsSteuern"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".EinzelneLEDsSteuern", '[{"number":3,"color":"red"}]',{type: "string", name: "Einzelne LEDs Steuern", role: "value", read: true, write: true, } ); }    
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDsBunt"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AlleLEDsBunt", "bunt",{type: "string", name: "Alle LEDs Bunt", role: "value", read: true, write: true, } ); }  
                                
                                      if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDsRegenbogen"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AlleLEDsRegenbogen", "regenbogen",{type: "string", name: "Alle LEDs Regenbogen", role: "value", read: true, write: true, } ); }         
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".WidgetAusgabe", "",{type: "string", name: "Widget VIS Datenpunkt", role: "value", read: true, write: true, } ); } 
                                   
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeFormat"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeFormat", 2,{type: "number", name: "Anzeige Format - rund-quer-hoch", role: "value", read: true, write: true, } ); }  
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler", 3,{type: "number", name: "Anzeige Regler", role: "value", read: true, write: true, } ); }  
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.WidgetReglerAusgabe"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeRegler.WidgetReglerAusgabe", "",{type: "string", name: "Widget VIS Datenpunkt Regler", role: "value", read: true, write: true, } ); }   
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.ReglerPunkteFormat"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeRegler.ReglerPunkteFormat", "rund",{type: "string", name: "Regler Punkte Format -rund -eckig", role: "value", read: true, write: true, } ); } 
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteGroesse"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteGroesse", "19,6",{type: "string", name: "AnzeigeRegler Punkte Groesse", role: "value", read: true, write: true, } ); }
                                
                                    if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.UsageFormat"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeRegler.UsageFormat", "zweispaltig",{type: "string", name: "AnzeigeRegler Usage Format ", role: "value", read: true, write: true, } ); }    
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteAbstand"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteAbstand", "15,15",{type: "string", name: "AnzeigeRegler Punkte Abstand", role: "value", read: true, write: true, } ); }   
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".ValueSelected"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".ValueSelected", 0,{type: "number", name: "ValueSelected", role: "value", read: true, write: true, } ); }    
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Refresh"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".Refresh", false,{type: "boolean", name: "Refresh", role: "value", read: true, write: true, } ); }     
                                
                                   if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".ValueSelectedColor"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".ValueSelectedColor", "linear-gradient(90deg, rgba(96,86,227,1) 0%, rgba(47,128,212,1) 35%, rgba(0,212,255,1) 100%)",{type: "string", name: "ValueSelectedColor", role: "value", read: true, write: true, } ); } 
                                
                                    if (!(await existsStateAsync("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EckenRundung"))) {
                                       await createStateAsync("Tabellen@Liv."+dpVISnew+".EckenRundung", 40,{type: "number", name: "EckenRundung (%)", role: "value", read: true, write: true, } );
                                       allSubs() } else {allSubs()}
                                
                                     }
                                
                                  
                                
                                
                                    
                                
                                    function alleLedsAus(ansichtFormat) {
                                       
                                       let menge= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl").val;
                                      
                                       let augabeHilfe=`<div id="outer${dpVISnew}">`;
                                       for (let i=0;i<menge;i++){
                                           augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew}"></div>`
                                       }
                                       augabeHilfe=augabeHilfe+`</div>`;
                                
                                       let ausgabe;
                                       switch (ansichtFormat) { 
                                              case 1:  ausgabe="<style>"+styleLEDsnew+styleLEDSpan+`</style>`+augabeHilfe+"<script>"+scriptLEDnew+`</script>`; break;
                                              case 2:  ausgabe="<style>"+styleLEDsVER+styleLEDSpan+`</style>`+augabeHilfe; break;
                                              case 3:  ausgabe="<style>"+styleLEDsVER+styleLEDSpan+`</style>`+augabeHilfe; break; 
                                              }
                                    
                                
                                    
                                       setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe",ausgabe);
                                
                                
                                    }
                                
                                    function alleLedsEIN(ansichtFormat) {
                                         let menge= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl").val;
                                       let colorAll= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDs").val;
                                     
                                       let newColorStyle=`.inner1${dpVISnew}{  			 background: ${colorAll};}`;
                                       let augabeHilfe=`<div id="outer${dpVISnew}">`;
                                     
                                       for (let i=0;i<menge;i++){
                                          augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner1${dpVISnew} "></div>`
                                       }
                                       augabeHilfe=augabeHilfe+`</div>`;
                                  
                                      let ausgabe;
                                       switch (ansichtFormat) { 
                                              case 1:  ausgabe="<style>"+styleLEDsnew+newColorStyle+`</style>`+augabeHilfe+"<script>"+scriptLEDnew+`</script>`; break;
                                              case 2:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break;
                                              case 3:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break; 
                                              }
                                
                                    
                                
                                    
                                       setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe",ausgabe);
                                    }
                                
                                    function anzahlLEDsEIN(ansichtFormat) {
                                        
                                       let menge= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl").val;
                                       let mengeArr= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzahlLEDsEIN").val.split(',');
                                    
                                       let newColorStyle=`.inner1${dpVISnew}{  			 background: ${mengeArr[1]};}`;
                                       let augabeHilfe=`<div id="outer${dpVISnew}">`;
                                    
                                       for (let i=0;i<menge;i++){
                                           if(i<Number(mengeArr[0])) {augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner1${dpVISnew} "></div>`} 
                                                                 else {  augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew}"></div>`}
                                       }
                                       augabeHilfe=augabeHilfe+`</div>`;
                                      
                                        let ausgabe;
                                       switch (ansichtFormat) { 
                                              case 1:  ausgabe="<style>"+styleLEDsnew+newColorStyle+`</style>`+augabeHilfe+"<script>"+scriptLEDnew+`</script>`; break;
                                              case 2:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break;
                                              case 3:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break; 
                                              }
                                
                                   
                                
                                   
                                       setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe",ausgabe);
                                    }
                                
                                    function alleLedsRegenbogen(ansichtFormat) {
                                          let menge= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl").val;
                                       let colorAll= `linear-gradient(red 20%, yellow 40%, orange 60%, cyan 80%)`;
                                     
                                       let newColorStyle=`.inner1${dpVISnew}{  			 background-image: ${colorAll};}`;
                                       let augabeHilfe=`<div id="outer${dpVISnew}">`;
                                     
                                       for (let i=0;i<menge;i++){
                                          augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner1${dpVISnew} "></div>`;
                                       }
                                       augabeHilfe=augabeHilfe+`</div>`;
                                      
                                        let ausgabe;
                                       switch (ansichtFormat) { 
                                              case 1:  ausgabe="<style>"+styleLEDsnew+newColorStyle+`</style>`+augabeHilfe+"<script>"+scriptLEDnew+`</script>`; break;
                                              case 2:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break;
                                              case 3:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break; 
                                              }
                                
                                
                                    
                                       setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe",ausgabe);
                                
                                    }
                                
                                    function alleLedsBunt(ansichtFormat) {
                                          let menge= getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl").val;
                                     
                                       let newColorStyle=`.inner1${dpVISnew}{  			 background: #0AD0E6;} .inner2${dpVISnew}{  			 background: #F2DD23;} 
                                                          .inner3${dpVISnew}{  			 background: #63F285;} .inner4${dpVISnew}{  			 background: #E60A62;}`;
                                       let augabeHilfe=`<div id="outer${dpVISnew}">`;
                                     
                                       for (let i=0;i<menge;i++){
                                        
                                           if(i%4==0)  { augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner4${dpVISnew} "></div>`}  
                                           else if (i%3==0)  { augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner3${dpVISnew} "></div>`  } 
                                           else if (i%2==0)  { augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner2${dpVISnew} "></div>`  } 
                                           else if (i%1==0)  { augabeHilfe=augabeHilfe+`<div class="inner${dpVISnew} inner1${dpVISnew} "></div>`  }
                                          
                                       }
                                       augabeHilfe=augabeHilfe+`</div>`;
                                       let ausgabe;
                                       switch (ansichtFormat) { 
                                              case 1:  ausgabe="<style>"+styleLEDsnew+newColorStyle+`</style>`+augabeHilfe+"<script>"+scriptLEDnew+`</script>`; break;
                                              case 2:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break;
                                              case 3:  ausgabe="<style>"+styleLEDsVER+newColorStyle+`</style>`+augabeHilfe; break; 
                                              }
                                
                                   
                                
                                    
                                       setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe",ausgabe);
                                
                                    } 
                                
                                   function einzelneLedsSteuern(ansichtFormat) {
                                        
                                     let menge;
                                       if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl")) {
                                        menge=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Anzahl").val} else {menge=5}
                                     //  let mengeArr= JSON.parse(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EinzelneLEDsSteuern").val);
                                       let theNumberSelected=8;
                                       if (existsState(dpToConnect)) {
                                        theNumberSelected=getState(dpToConnect).val} 
                                
                                     
                                       let newColorStyle="";
                                       let newSelected=Number(theNumberSelected)-Number(namer)+1; //log(theNumberSelected+' '+namer+' ' +  newSelected)
                                       namer=namerStart;
                                       namer--;
                                    //   if(theNumberSelected> && theNumberSelected< ) {}
                                  
                                     /*  for (let i=0;i<mengeArr.length;i++){
                                       newColorStyle=newColorStyle+`.inner${(i+1)}${dpVISnew}{  			 background: ${mengeArr[i].color};}`
                                       }*/
                                       let backigroundi;
                                       if (existsState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".ValueSelectedColor")) {
                                       backigroundi=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".ValueSelectedColor").val;} else {backigroundi="red"}  
                                       newColorStyle=newColorStyle+`.inner${(newSelected)}${dpVISnew}{  		color:${colorSchriftSelected};	 background: ${backigroundi}}`
                                       
                                       let augabeHilfe=`<div id="outer${dpVISnew}">`;
                                       let arrHelper=[];
                                       // namer=20;
                                       let namer2=namer;
                                       for (let i=0;i<menge;i++){
                                            namer++
                                            arrHelper.push(`<div class="helpingClass${dpVISnew}${namer} inner${dpVISnew}"><span class="span${dpVISnew}">${namer}</span></div>`)}
                                       
                                        //for (let i=0;i<mengeArr.length;i++){
                                           // namer++
                                         //   arrHelper[(mengeArr[i].number)-1]=   `<div class="helpingClass${dpVISnew}${namer} inner${dpVISnew} inner${i+1}${dpVISnew}">${namer2+(mengeArr[i].number)}</div>`}  
                                          //   arrHelper[(theNumberSelected)-namer2-1]=   `<div class="helpingClass${dpVISnew}${namer} inner${dpVISnew} inner${i+1}${dpVISnew}">${theNumberSelected}</div>` }
                                          
                                         arrHelper[(theNumberSelected)-namer2-1]=   `<div class="helpingClass${dpVISnew}${namer} inner${dpVISnew} inner${newSelected}${dpVISnew}"><span class="span${dpVISnew}">${theNumberSelected}</span></div>`  
                                          
                                       for (let i=0;i<menge;i++){
                                             augabeHilfe=augabeHilfe+arrHelper[i] }
                                             
                                     
                                       //  log(styleLEDSpan)                      
                                       
                                       augabeHilfe=augabeHilfe+`</div>`;
                                       let ausgabe;
                                
                                       switch (ansichtFormat) { 
                                              case 1:  ausgabe="<style>"+styleLEDsnew+newColorStyle+`</style>`+augabeHilfe+"<script>"+scriptLEDnew+`</script>`; break;
                                              case 2:  ausgabe="<style>"+styleLEDsVER+newColorStyle+styleLEDSpan+`</style>`+augabeHilfe+"<script>"+scriptLEDnew2+`</script>`; break;
                                              case 3:  ausgabe="<style>"+styleLEDsVER+newColorStyle+styleLEDSpan+`</style>`+augabeHilfe+"<script>"+scriptLEDnew2+`</script>`; break; 
                                              }
                                
                                        
                                       setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".WidgetAusgabe",ausgabe);
                                    }
                                
                                
                                mainLED();
                                //regler(12)
                                //einzelneLedsSteuern(ansichtFormat);
                                
                                function allSubs() {
                                /*
                                 on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".alleLEDsAUS", val: true}, function (obj) { 
                                 
                                 alleLedsAus(ansichtFormat);
                                
                                 setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".alleLEDsAUS",false)
                                 });
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzahlLEDsEIN",  change: "any"}, function (obj) { 
                                 
                                 anzahlLEDsEIN(ansichtFormat);                                
                                                                                 
                                
                                 });
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDs",  change: "any"}, function (obj) { 
                                 
                                 alleLedsEIN(ansichtFormat);
                                
                                 });
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDsBunt",  change: "any"}, function (obj) { 
                                 
                                 alleLedsBunt(ansichtFormat);
                                
                                 });
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AlleLEDsRegenbogen",  change: "any"}, function (obj) { 
                                 
                                 alleLedsRegenbogen(ansichtFormat);
                                
                                 });*/
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EinzelneLEDsSteuern",  change: "any"}, function (obj) { 
                                 
                                 einzelneLedsSteuern(ansichtFormat);
                                
                                 });
                                
                                 on({id: DatapointArr,  change: "any"}, function (obj) { 
                                 
                                 mainLED();
                                
                                 });
                                /*
                                 on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler",  change: "any"}, function (obj) { 
                                  var value = obj.state.val;
                                 regler(value);                                
                                   }); */
                                
                                  on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".Refresh",  val: true}, function (obj) { 
                                  var value = obj.state.val;
                                 einzelneLedsSteuern(ansichtFormat);                               
                                   }); 
                                
                                   on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".EckenRundung",  change:"ne"}, function (obj) { 
                                  var value = obj.state.val;
                                 einzelneLedsSteuern(ansichtFormat);                               
                                   });  
                                
                                   on({id: dpToConnect,  change:"ne"}, function (obj) { 
                                  var value = obj.state.val;
                                 einzelneLedsSteuern(ansichtFormat);                               
                                   });  
                                /*
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.ReglerPunkteFormat",  change: "any"}, function (obj) { 
                                 var value = obj.state.val;
                                // if(value=="rund" || value=="eckig") {
                                
                                 regler(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler").val);                               
                                   });
                                
                                on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteGroesse",  change: "any"}, function (obj) { 
                                 var value = obj.state.val;
                                // if(value=="rund" || value=="eckig") {
                                
                                 regler(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler").val);                               
                                   });
                                
                                 on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteAbstand",  change: "any"}, function (obj) { 
                                 var value = obj.state.val;
                                // if(value=="rund" || value=="eckig") {
                                
                                 regler(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler").val);                               
                                   });  
                                
                                  on({id: "javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.UsageFormat",  change: "any"}, function (obj) { 
                                 var value = obj.state.val;
                                // if(value=="rund" || value=="eckig") {
                                
                                 regler(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.Regler").val);                               
                                   });      
                                */
                                }
                                
                                 function regler(myStufe){
                                     let punkteGroesseBreite=(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteGroesse").val.split(','))[0];
                                     let punkteGroesseHoehe=(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteGroesse").val.split(','))[1];
                                     let punkteAbstandHorizontal=(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteAbstand").val.split(','))[0];
                                     let punkteAbstandVertikal=(getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.PunkteAbstand").val.split(','))[1];
                                
                                     let reglerPunkteFormat=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.ReglerPunkteFormat").val;
                                     let borderRadiosPunkte ;
                                     if (reglerPunkteFormat=="eckig") {borderRadiosPunkte = ""} else {borderRadiosPunkte = `border-radius: 50%; `;}
                                     if (reglerPunkteFormat=="rund") borderRadiosPunkte = `border-radius: 50%; `;
                                
                                     let usage=getState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.UsageFormat").val;
                                
                                 let arrMitColor=[  `<li class="flex-item${dpVISnew} more-color-red${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew} more-color-red${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew} more-color-red${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew} more-color-red${dpVISnew}"></li>`,
                                 `<li class="flex-item${dpVISnew} more-color-yellow${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-yellow${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-yellow${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-yellow${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew} more-color-yellow${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-yellow${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                 `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew} more-color-green${dpVISnew}"></li>`]
                                
                                 let arrOhneColor=[`<li class="flex-item${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew}"></li>`,
                                 `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                   `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                 `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`,
                                `<li class="flex-item${dpVISnew}"></li>`,
                                  `<li class="flex-item${dpVISnew}"></li>`]
                                
                                let styleRegler=`<style>
                                
                                .flex-container${dpVISnew} {
                                 
                                 display: flex;
                                 flex-flow: row wrap;
                                 justify-content: space-around;
                                 
                                 padding: 2px;
                                 margin: 2px;
                                 list-style: none;
                                }
                                
                                .flex-item${dpVISnew} {
                                 ${borderRadiosPunkte}  
                                 background: #9B9794;
                                /* padding: 15px; */
                                 width: ${punkteGroesseBreite}px;
                                 height: ${punkteGroesseHoehe}px;
                                 margin-top: ${punkteAbstandVertikal}px; /*5*/
                                 margin-left: ${punkteAbstandHorizontal}px; /*15*/
                                 margin-right: ${punkteAbstandHorizontal}px; /*15*/
                                 margin-bottom: ${punkteAbstandVertikal}px; /*8*/
                                 line-height: 15px;
                                 color: white;
                                 font-weight: bold;
                                 font-size: 3em;
                                 text-align: center;
                                 
                                
                                }
                                .more-color-red${dpVISnew}{
                                background: linear-gradient(11deg, rgba(179,75,62,1) 0%, rgba(157,66,50,1) 26%, rgba(239,215,218,1) 75%, rgba(228,21,89,1) 100%);
                                ${borderRadiosPunkte}
                                  box-shadow: 1px 1px 2px 2px red;
                                }
                                
                                .more-color-yellow${dpVISnew}{
                                background: linear-gradient(11deg, rgba(249,249,152,0.947835799358806) 0%, rgba(249,243,84,1) 26%, rgba(238,239,215,1) 75%, rgba(238,242,53,1) 100%);
                                ${borderRadiosPunkte}
                                  box-shadow: 1px 1px 2px 2px #b8ba48;
                                }
                                
                                .more-color-green${dpVISnew}{
                                background: linear-gradient(11deg, rgba(117,190,147,1) 0%, rgba(108,198,121,1) 26%, rgba(215,239,215,1) 75%, rgba(59,183,44,1) 100%);
                                ${borderRadiosPunkte}
                                  box-shadow: 1px 1px 3px 3px green;
                                }
                                
                                
                                </style><ul class="flex-container${dpVISnew}">`;
                                //myStufe=myStufe/2;
                                let myHTMLText="";
                                
                                
                                if(usage=="zweispaltig") {
                                  let arrMitColorReverse=arrMitColor.reverse(); 
                                  for(let i=arrOhneColor.length-1;i>=0;i-=2){
                                 //  log(i.toString())
                                  if(i-(myStufe*2) >= 0 ) { myHTMLText=myHTMLText+arrOhneColor[i]+arrOhneColor[i-1];} 
                                  else {  myHTMLText=myHTMLText+arrMitColorReverse[i]+arrMitColorReverse[i-1];} }
                                
                                } else if(usage=="einspaltig"){
                                   let arrMitColorReverse=arrMitColor.reverse();
                                  myHTMLText="";
                                  for(let i=arrOhneColor.length-1;i>=0;i-=2){
                                  //log(i.toString() + "  "+ arrMitColorReverse[i])
                                  if(i-(myStufe*2) >= 0 ) { myHTMLText=myHTMLText+arrOhneColor[i];} 
                                  else {  myHTMLText=myHTMLText+arrMitColorReverse[i];} }
                                
                                } else if (usage=="akku"){
                                  myHTMLText="";
                                  //log("akku")
                                  for(let i=arrOhneColor.length-1;i>=0;i-=2){
                                   // log(i.toString() + "  "+ arrMitColor[i] )
                                  if(i-(myStufe*2) >= 0 ) { myHTMLText=myHTMLText+arrOhneColor[i];} 
                                  else {  myHTMLText=myHTMLText+arrMitColor[i];} }
                                }
                                let ausgabe=styleRegler+myHTMLText+`</ul>`;
                                
                                // log(ausgabe)
                                
                                setState("javascript." + instance + ".Tabellen@Liv."+dpVISnew+".AnzeigeRegler.WidgetReglerAusgabe",ausgabe);
                                
                                
                                 }
                                
                                
                                
                                
                                
                                
                                
                                
                                 
                                 
                                

                                widget import:

                                [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"html":"{javascript.0.Tabellen@Liv.LED1RingNumbers1.WidgetAusgabe}"},"style":{"left":"358px","top":"276px","width":"288px","height":"419px","font-size":"16px"},"widgetSet":"basic"}]
                                

                                AApossis (180).gif

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                754
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                3
                                79
                                3057
                                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