Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Script: Alexa Listen pflegen und Anzeigen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    12
    1
    122

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

Script: Alexa Listen pflegen und Anzeigen

Scheduled Pinned Locked Moved JavaScript
javascripttemplate
409 Posts 29 Posters 87.2k Views 42 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H helfi9999

    @liv-in-sky bekomme immer folgenden Fehler:


    31.12.2019, 12:41:48.027 [info ]: javascript.0 (25077) script.js.Test.Skript_1: false
    31.12.2019, 12:42:00.312 [info ]: javascript.0 (25077) script.js.Test.Skript_1:
    31.12.2019, 12:42:04.736 [info ]: javascript.0 (25077) Stop script script.js.Test.Skript_1
    31.12.2019, 12:45:55.304 [info ]: javascript.0 (25077) Start javascript script.js.Test.Skript_1
    31.12.2019, 12:45:55.355 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:108:2)
    31.12.2019, 12:45:55.355 [warn ]: javascript.0 (25077) at script.js.Test.Skript_1:228:1
    31.12.2019, 12:45:55.362 [info ]: javascript.0 (25077) script.js.Test.Skript_1: registered 2 subscriptions and 1 schedule
    31.12.2019, 12:45:55.385 [info ]: javascript.0 (25077) script.js.Test.Skript_1: NaN
    31.12.2019, 12:45:55.391 [info ]: javascript.0 (25077) script.js.Test.Skript_1:
    31.12.2019, 12:45:55.760 [info ]: javascript.0 (25077) script.js.Test.Skript_1: 0:choose ...;1:test;2:seife;3:seife für lena;4:test;5:neuer Start;
    31.12.2019, 12:46:00.008 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:108:2)
    31.12.2019, 12:46:00.009 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:225:2)
    31.12.2019, 12:47:00.232 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:108:2)
    31.12.2019, 12:47:00.232 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:225:2)
    31.12.2019, 12:47:56.112 [info ]: javascript.0 (25077) script.js.Test.Skript_1: test111
    31.12.2019, 12:47:58.124 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:144:12)
    31.12.2019, 12:47:58.124 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:248:4)
    31.12.2019, 12:47:58.147 [info ]: javascript.0 (25077) script.js.Test.Skript_1:
    31.12.2019, 12:47:58.528 [info ]: javascript.0 (25077) script.js.Test.Skript_1: 0:choose ...;1:test;2:seife;3:test111;4:seife für lena;5:test;6:neuer Start;
    31.12.2019, 12:48:38.989 [info ]: javascript.0 (25077) script.js.Test.Skript_1: werew
    31.12.2019, 12:48:41.003 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:144:12)
    31.12.2019, 12:48:41.003 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:248:4)
    31.12.2019, 12:48:41.025 [info ]: javascript.0 (25077) script.js.Test.Skript_1:
    31.12.2019, 12:48:41.408 [info ]: javascript.0 (25077) script.js.Test.Skript_1: 0:choose ...;1:test;2:seife;3:test111;4:werew;5:seife für lena;6:test;7:neuer Start;
    31.12.2019, 12:49:00.416 [info ]: javascript.0 (25077) script.js.Test.Skript_1: werewwwww
    31.12.2019, 12:49:02.433 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:144:12)
    31.12.2019, 12:49:02.433 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:248:4)
    31.12.2019, 12:49:02.449 [info ]: javascript.0 (25077) script.js.Test.Skript_1:
    31.12.2019, 12:49:02.835 [info ]: javascript.0 (25077) script.js.Test.Skript_1: 0:choose ...;1:test;2:seife;3:test111;4:werew;5:seife für lena;6:test;7:neuer Start;8:werewwwww;
    31.12.2019, 12:51:00.224 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:144:12)
    31.12.2019, 12:51:00.224 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:225:2)
    31.12.2019, 12:51:00.627 [info ]: javascript.0 (25077) script.js.Test.Skript_1: 0:choose ...;1:seife für lena;2:test;3:neuer Start;4:werewwwww;
    31.12.2019, 12:52:00.018 [warn ]: javascript.0 (25077) at writeHTML (script.js.Test.Skript_1:144:12)
    31.12.2019, 12:52:00.018 [warn ]: javascript.0 (25077) at Object.<anonymous> (script.js.Test.Skript_1:225:2)
    31.12.2019, 12:52:00.421 [info ]: javascript.0 (25077) script.js.Test.Skript_1: 0:choose ...;
    31.12.2019, 13:01:32.493 [info ]: javascript.0 (25077) Stop script script.js.Test.Skript_1

    Was habe ich verkehrt eingestellt.

    Hier noch das Script:

    //HIER WIRD PFAD UND FILENAME DEFINIERT
    const path = "/htmlexample.html"; //FIlenamen definieren
    const home ='vis.0' //wo soll das file im iobroker-file-system liegen ? (oder z.b auch iqontrol.meta)
    let braucheEinFile=false; // bei true wird ein file geschrieben - für iqontrol
    let braucheEinVISWidget=true; // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
    let dpVIS="javascript.0.TabletVis.Einkauf.Vis" //WICHTIG wenn "braucheEinVISWidget" auf true gesetzt !! dp zusätzlich für VIS-HTML-Basic-Widget
    let dPDELETE="javascript.0.TabletVis.Einkauf.Delete";
    let dPDELETEWert="javascript.0.TabletVis.Einkauf.Delete_Wert";
    let dPDELETEAuswahl="javascript.0.TabletVis.Einkauf.Delete_Auswahl";
    let dpANLEGEN="javascript.0.TabletVis.Einkauf.Anlegen";
    let mySchedule=" * * * * * "; //jede minute
    //---------------------------------------

    //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 4
    var htmlFeld1='Einkaufen'; // überschrift Tabellen Spalte1
    var htmlFeld2='Finished'; // überschrift Tabellen Spalte2
    var htmlFeld3='Created'; // überschrift Tabellen Spalte3
    var htmlFeld4='Since...'; // überschrift Tabellen Spalte4
    //-----------------------------------

    //hier werden die styles für die tabelle definiert
    //ÜBERSCHRIFT ÜBER TABELLE
    let htmlUberschrift=true; // mit Überschrift über der tabelle
    const htmlFeldUeber="ALEXA Einkauf"; // Überschrift
    const htmlFarbUber="white"; // Farbe der Überschrift
    //MEHRERE TABELLEN NEBENEINANDER
    let mehrfachTabelle=1; // bis zu 4 Tabellen werden nebeneinander geschrieben- verkürzt das Ganze, dafür etwas breiter - MÖGLICH 1,2,3,oder 4 !!!
    const htmlFarbZweiteTabelle="black"; // Farbe der Überschrift bei jeder 2.ten Tabelle
    const htmlFarbTableColorUber="black"; // Überschrift in der tabelle - der einzelnen Spalten
    //GANZE TABELLE
    const backgroundAll="#000000";
    const htmlSchriftart="Helvetica";
    const htmlSchriftgroesse="13px";
    //FELDER UND RAHMEN
    const htmlFarbFelderschrift="white"; // SchriftFarbe der Felder
    const htmlFarbFelderschrift2="white"; // SchriftFarbe der Felder für jede 2te Tabelle
    const htmlFarbTableColorGradient1="#66b8ea"; // Gradient - Hintergrund der Tabelle - Verlauffarbe
    const htmlFarbTableColorGradient2="#5f85cf"; // Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
    const htmlFarbTableBorderColor="#2C7FB6"; // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
    const htmlRahmenLinien=1; // Format für Rahmen(Gitter)linien 1=alle - 2=nur vertikal - 3= nur horizontal - 4=keine

    // HIER NICHTS ÄNDERN
    const htmlEnd= '</table></body>';
    const htmlStart= "<!DOCTYPE html><html lang="de"><head><title>Vorlage</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body bgcolor=""+backgroundAll+"">";
    //const htmlUeber= "<p style="color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold">"+htmlFeldUeber+"</p>";
    const htmlTabStyleCol= "<table bordercolor=""+htmlFarbTableBorderColor+"" border="3" cellspacing="3" cellpadding="3" rules="cols" style="color:"+htmlFarbFelderschrift+"; font-size:"+htmlSchriftgroesse+
    "; font-family:"+htmlSchriftart+";background-image: linear-gradient(42deg,"+htmlFarbTableColorGradient2+","+htmlFarbTableColorGradient1+");">";
    const htmlTabStyleRow= "<table bordercolor=""+htmlFarbTableBorderColor+"" border="3" cellspacing="3" cellpadding="3" rules="rows" style="color:"+htmlFarbFelderschrift+"; font-size:"+htmlSchriftgroesse+
    "; font-family:"+htmlSchriftart+";background-image: linear-gradient(42deg,"+htmlFarbTableColorGradient2+","+htmlFarbTableColorGradient1+");">";
    const htmlTabStyleAll= "<table bordercolor=""+htmlFarbTableBorderColor+"" border="3" cellspacing="3" cellpadding="3" rules="all" style="color:"+htmlFarbFelderschrift+"; font-size:"+htmlSchriftgroesse+
    "; font-family:"+htmlSchriftart+";background-image: linear-gradient(42deg,"+htmlFarbTableColorGradient2+","+htmlFarbTableColorGradient1+");">";
    const htmlTabStyleNone= "<table bordercolor=""+htmlFarbTableBorderColor+"" border="3" cellspacing="3" cellpadding="3" rules="none" style="color:"+htmlFarbFelderschrift+"; font-size:"+htmlSchriftgroesse+
    "; font-family:"+htmlSchriftart+";background-image: linear-gradient(42deg,"+htmlFarbTableColorGradient2+","+htmlFarbTableColorGradient1+");">";
    const htmlTabUeber1="<tr style="color:"+htmlFarbTableColorUber+"; font-weight: bold">";
    const htmlTabUeber3="</tr>";

    //NICHTS ÄNDERN - abhängig von den oben definierten _Spalten - in diesem Beispiel sind es 4

    var htmlTabUeber2="<td align=center> "+htmlFeld1+" </td><td align=center> "+htmlFeld2+" </td><td align=center> "+htmlFeld3+" </td><td align=center> "+htmlFeld4+" </td>";
    var htmlTabUeber2_1="<td align=center style="color:"+htmlFarbZweiteTabelle+""> "+htmlFeld1+" </td><td align=center style="color:"+htmlFarbZweiteTabelle+""> "+htmlFeld2+
    " </td><td align=center style="color:"+htmlFarbZweiteTabelle+""> "+htmlFeld3+" </td><td align=center style="color:"+htmlFarbZweiteTabelle+""> "+htmlFeld4+
    " </td>";
    //------------------------------------------------------

    var htmlOut="";
    var mix;
    var counter;
    var myIDArr=[];
    var warte;
    var myRememberList="";

    function writeHTML(){

     var htmlTabStyle;
    

    switch (+htmlRahmenLinien) {
    case 1: htmlTabStyle=htmlTabStyleAll; break;
    case 2: htmlTabStyle=htmlTabStyleCol; break;
    case 3: htmlTabStyle=htmlTabStyleRow; break;
    case 4: htmlTabStyle=htmlTabStyleNone; break;

    };

    htmlOut="";

    counter=-1;
    var htmlTabUeber="";
    switch (mehrfachTabelle) {
    case 1: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber3; break;
    case 2: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
    case 3: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2+htmlTabUeber2+htmlTabUeber3; break;
    case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
    };

    //HIER SIND DIE § WERTE, DIE IN DER SCHLEIFE GEFILTERET WER%DEN - Jede spalte einen wert
    var val1; var val2; var val0; var val3; var valSort; var valID; var myListWerte=""; var myListAuswahl="";
    //------------------------------------------------------------
    setState(dPDELETE,0);
    var myArr=[]; var myList=""; var myListArr=[]; myIDArr=[];
    myListArr.push('0'+":"+'choose ...'+";");
    myListWerte=myListWerte+"choose ..."+";";
    myListAuswahl=myListAuswahl+(0+";");
    myIDArr.push("dummy");
    $('alexa2.0.Lists.SHOPPING_LIST.items.*.value').each(function(id, i) { // hier eigene schleife definierenalexa2.0.Lists.SHOPPING_LIST.items.0f43141e-029c-4860-bcd0-828702b0dc86.value

           val0=getState(id).val;
           val1=getState(id.replace("value","completed")).val; 
           val2=valSort=getState(id.replace("value","updatedDateTime")).val; 
           valID=getState(id.replace("value","id")).val; 
           myIDArr.push(valID);
           var yy= (Math.round((new Date()).getTime() / 1000))-Math.round(val2/1000);
           val2=formatDate(getDateObject(val2), "TT.MM - SS:mm:ss")
           val3=(Math.floor( ((yy)/60/60/24) )+"d "+ Math.floor(((yy)/60/60) % 24) +"h "+ Math.floor( ((yy)/60) % 60 )+" m")
           if (val1==false) {val1="❌"} else{val1="✅"}
           myArr.push([val0,val1,val2,val3,valSort]);
           val0=val0.replace(/,/g,'-');  
           myListArr.push((i+1)+":"+val0+";");
           myListWerte=myListWerte+val0+";";
           myListAuswahl=myListAuswahl+(i+1)+";";
    

    });

        //log (myListArr.toString());
       for (var x=0;x<myListArr.length;x++){
         myList=myList.concat(myListArr[x]);
        // log(myListArr[x]);
         //log(myList);
    
       }
       //log("-----------myList : "+myList)
       if(myList!=myRememberList){
           setState(dPDELETEWert,myListWerte);
           setState(dPDELETEAuswahl,myListAuswahl);
         var timeout = setTimeout(function () {
            var obj = getObject(dPDELETE);
            obj.common.states=myList;
            myRememberList=myList;
            log(myList);
            setObject(dPDELETE, obj);
         }, 400);
       }
    

    //SORT
    myArr.sort(function (alpha, beta) {
    if (alpha[4] > beta[4])
    return -11;
    if (beta[4] > alpha[4])
    return 1;
    return 0;
    });

    for (var x=0 ; x<myArr.length ; x++) {
    counter++;
    //HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT - hat man oben 2 Felder definiert, braucht man hier 2 Werte
    val0=myArr[x][0];
    val1=myArr[x][1];
    val2=myArr[x][2];
    val3=myArr[x][3];

     //HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT - hat man oben 4 Felder definiert, braucht man hier 4 Werte
    
       switch (mehrfachTabelle) {  
         case 1:                    htmlOut=htmlOut+"<tr><td>&ensp;"+val0+"&ensp;</td><td align=center>&ensp;"+val1+"&ensp;</td><td align=center>&ensp;"+val2+"&ensp;</td><td align=center>&ensp;"+val3+"&ensp;</td></tr>"; break;
        case 2:  if(counter%2==0)  {htmlOut = htmlOut+"<tr><td>&ensp;"+val0+"&ensp;</td><td align=center>&ensp;"+val1+"&ensp;</td><td align=center>&ensp;"+val2+"&ensp;</td><td align=center>&ensp;"+val3+"&ensp;</td>"; } 
                              else {htmlOut = htmlOut+"<td style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td></tr>";} break;
                                   
        case 3: if(counter%3==0 )  {htmlOut = htmlOut+"<tr><td>&ensp;"+val0+"&ensp;</td><td align=center>&ensp;"+val1+"&ensp;</td><td align=center>&ensp;"+val2+"&ensp;</td><td align=center>&ensp;"+val3+"&ensp;</td>"; } 
                              else { if(counter%3==1 )  { htmlOut = htmlOut+"<td style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td>";} 
                                               else    {htmlOut = htmlOut+"<td>&ensp;"+val0+"&ensp;</td><td align=center>&ensp;&ensp;"+val1+"&ensp;</td><td align=center>&ensp;"+val2+"&ensp;</td><td align=center>&ensp;"+val3+"&ensp;</td></tr>";}
                                         } break;
    
    
        case 4: if(counter%4==0)  {htmlOut = htmlOut+"<tr><td>&ensp;"+val0+"&ensp;</td><td align=center>&ensp;"+val1+"&ensp;</td><td align=center>&ensp;"+val2+"&ensp;</td><td align=center>&ensp;"+val3+"&ensp;</td>"; } 
                                  else {if(counter%2==1 )  { htmlOut = htmlOut+"<td style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td>";} 
                                               else    {if(counter%2==1 && counter%4==3)  { htmlOut= htmlOut+"<td style=\"color:"+htmlFarbFelderschrift2+"\"&ensp;>"+val0+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td><td align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val2+"&ensp;</td><td  align=center style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val3+"&ensp;</td></tr>";} 
                                                                 else    {htmlOut = htmlOut = htmlOut+"<td>&ensp;"+val0+"&ensp;</td><td>&ensp;"+val1+"&ensp;</td><td align=center>&ensp;"+val2+"&ensp;</td><td align=center>&ensp;"+val3+"&ensp;</td>";}}
                                         } break;
    
     } //switch ende
    
    //---------------------------------------------
    

    }; //Schleifen ende
    // tabelle fertigstellen
    switch (mehrfachTabelle) {
    case 1: break;
    case 2: mix=Math.abs(((counter+1)%2)-mehrfachTabelle);
    if(mix==1) htmlOut = htmlOut.replace(/</td>$/, '</td><td> </td><td> </td><td> </td><td> </td></tr>');
    break;
    case 3: mix =Math.abs(((counter+1)%3)-mehrfachTabelle);
    if(mix==1) htmlOut = htmlOut.replace(/</td>$/, '</td><td> </td><td> </td><td> </td><td> </td></tr>');
    if(mix==2) htmlOut = htmlOut.replace(/</td>$/, '</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>');
    break;
    case 4: mix=Math.abs(((counter+1)%4)-mehrfachTabelle);
    if(mix==1) htmlOut = htmlOut.replace(/</td>$/, '</td><td> </td><td> </td><td> </td><td> </td></tr>');
    if(mix==2) htmlOut = htmlOut.replace(/</td>$/, '</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>');
    if(mix==3) htmlOut = htmlOut.replace(/</td>$/, '</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> <td> </td><td> </td></td></tr>');
    break; }

          //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
           var htmlOutVIS="";
           const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"&ensp;&ensp;&ensp;"+(counter+1)+"</p>";
           htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"
           //log(htmlOutVIS);
           if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
    

    //mit oder ohne überschrift
    htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd : htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd;
    //log(htmlOut);
    setState(dpANLEGEN,"");
    } // function ende

    //hier wird schleife gestartet und das file geschrieben

    schedule(mySchedule, function () {
    writeHTML();
    if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/ });}
    });
    writeHTML();

    on({id: dPDELETE, ack: false, change: "ne"}, function (obj) {

    let a=getState(dPDELETE).val;
    if (a!=0){
    let toDelete=myIDArr[getState(dPDELETE).val];
    var stateHelp="alexa2.0.Lists.SHOPPING_LIST.items."+toDelete+".#delete"
    setState(stateHelp,true);
    var timeout = setTimeout(function () {
    writeHTML(); }, 2000);
    }
    log(a+stateHelp)
    });

    on({id: dpANLEGEN, ack: false, change: "ne"}, function (obj) {
    log(getState(dpANLEGEN).val);
    if(getState(dpANLEGEN).val!="") {
    setState("alexa2.0.Lists.SHOPPING_LIST.#New",getState(dpANLEGEN).val)
    var timeout = setTimeout(function () {
    writeHTML(); }, 2000);
    }
    });


    Hoffe du kannst mir helfen

    liv-in-skyL Offline
    liv-in-skyL Offline
    liv-in-sky
    wrote on last edited by
    #51

    @helfi9999

    bitte stelle die scripts mit dem code tag ins forum - also zuerst spoiler - dann im spoiler den code tag

    https://forum.iobroker.net/post/348376

    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 Reply Last reply
    0
    • liv-in-skyL liv-in-sky

      es gibt ein update der scripte

      • wer updaten will sollte sich eine kopie behalten, es muss alles ersetzt werden, da neue settings dazugekommen sind - aus der kopie kann man dann die farben und settings wieder rauskopieren

      • dazu gekommen ist:
        -ein etwa bessere html-definition für den browser (falls man sich ein file generieren läßt)
        -tabellen weite
        -größe der zellen
        -das schedule ist jetzt oben einstellbar

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      wrote on last edited by
      #52

      @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

      es gibt ein update der scripte

      • wer updaten will sollte sich eine kopie behalten, es muss alles ersetzt werden, da neue settings dazugekommen sind - aus der kopie kann man dann die farben und settings wieder rauskopieren

      • dazu gekommen ist:
        -ein etwa bessere html-definition für den browser (falls man sich ein file generieren läßt)
        -tabellen weite
        -größe der zellen
        -das schedule ist jetzt oben einstellbar

      Puh, gerade mit der Vis fertig geworden. Umbauen.

      Screenshot (1131).png

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      liv-in-skyL 1 Reply Last reply
      0
      • sigi234S sigi234

        @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

        es gibt ein update der scripte

        • wer updaten will sollte sich eine kopie behalten, es muss alles ersetzt werden, da neue settings dazugekommen sind - aus der kopie kann man dann die farben und settings wieder rauskopieren

        • dazu gekommen ist:
          -ein etwa bessere html-definition für den browser (falls man sich ein file generieren läßt)
          -tabellen weite
          -größe der zellen
          -das schedule ist jetzt oben einstellbar

        Puh, gerade mit der Vis fertig geworden. Umbauen.

        Screenshot (1131).png

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        wrote on last edited by
        #53

        @sigi234 die vis bleibt ja - nur die scripts nochmal einstellen - aber warte noch - das mit dem hintergrund für die files muss ich nochmal checken - da ist wohl ein würmchen drin - vielleicht gibt es nochmal ein update

        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

        sigi234S 1 Reply Last reply
        0
        • liv-in-skyL liv-in-sky

          @sigi234 die vis bleibt ja - nur die scripts nochmal einstellen - aber warte noch - das mit dem hintergrund für die files muss ich nochmal checken - da ist wohl ein würmchen drin - vielleicht gibt es nochmal ein update

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          wrote on last edited by
          #54

          @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

          @sigi234 die vis bleibt ja - nur die scripts nochmal einstellen - aber warte noch - das mit dem hintergrund für die files muss ich nochmal checken - da ist wohl ein würmchen drin - vielleicht gibt es nochmal ein update

          Ok, kann man dann auch die Überschriften unabhängig von den Zellen ausrichten?

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          liv-in-skyL 2 Replies Last reply
          0
          • Agria4800A Agria4800

            @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

            @Agria4800

            vielleicht probiere ich das mal aus - manchmal will man einfach papier in der hand haben

            ich habe oft nur ein paar wenige sachen - wenn ich dann vor meine standard geschäfte fahre (penny und so) , öffnet sich die webseite auf dem handy automatisch, wenn ich vor dem laden stehe und der motor ausgeht - dann zeigt es mir die 2-3 sachen zur erinnerung an und ich lass das handy einfach im auto - wollte mal etwas mit tasker auf android spielen !

            muss mal schauen, ob ich das html file auch zu tasker rüber bekomme - dann ein link auf den desktop und die alexa app bleibt zu

            ps: in den neuen scripts ist die größe der zellen und natürlich die schriftgröße einstellbar - dann kannst du am layout deiner pdf's arbeiten

            Das ist natürlich auch ne prima Sache, aber nix für meine Frau...da geht nur das gute alte Papier ;-)

            Ich bin grad unter Zeitdruck, wollte nur mal schnell testen,... die Größe der Tabelle und die Schrift ändern geht... aber der Hintergrund außerhalb der Tabelle bleibt schwarz bei mir... (Vielleicht mache ich auf die schnelle was falsch)

            942A1CB7-A763-4898-B5EF-44286CC8BA22.jpeg

            geändert habe ich :
            35 I const backgroundAll="white"; #ffffff will auch nicht....

            Geh heute Abend nochmal in Ruhe dran

            liv-in-skyL Offline
            liv-in-skyL Offline
            liv-in-sky
            wrote on last edited by
            #55

            @Agria4800 ne - hab ich verbockt !! - der background-schlingel hat sich versteckt

            im ersten post sind neue scripts

            oder einfacher unter der const htmlStart:

            ersetze zeile (ungefähr) 66 mit :

            "<style> * {  margin: 0;} body {background-color: "+backgroundAll+"; margin: 0 auto;  }"+
            

            hat vorher so ausgesehen

            "<style> * {  margin: 0;} body {background-color: black; margin: 0 auto;  }"+
            

            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

            Agria4800A 1 Reply Last reply
            0
            • sigi234S sigi234

              @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

              @sigi234 die vis bleibt ja - nur die scripts nochmal einstellen - aber warte noch - das mit dem hintergrund für die files muss ich nochmal checken - da ist wohl ein würmchen drin - vielleicht gibt es nochmal ein update

              Ok, kann man dann auch die Überschriften unabhängig von den Zellen ausrichten?

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              wrote on last edited by
              #56

              @sigi234 nein - aber einfach abschalten und extra in der vis etwas einfügen - ginge das ?

              ungefähr zeile 24

              let htmlUberschrift=true; auf false setzen

              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

              sigi234S 1 Reply Last reply
              0
              • sigi234S sigi234

                @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                @sigi234 die vis bleibt ja - nur die scripts nochmal einstellen - aber warte noch - das mit dem hintergrund für die files muss ich nochmal checken - da ist wohl ein würmchen drin - vielleicht gibt es nochmal ein update

                Ok, kann man dann auch die Überschriften unabhängig von den Zellen ausrichten?

                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                wrote on last edited by liv-in-sky
                #57

                @sigi234 falls du die anzahl noch brauchst - ist ja in der überschrift integriert , gibt es da ein blockly um die anzahl extra heraus zu filtern und in einen dp zu schreiben

                https://forum.iobroker.net/post/348476

                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 Reply Last reply
                0
                • liv-in-skyL liv-in-sky

                  @sigi234 nein - aber einfach abschalten und extra in der vis etwas einfügen - ginge das ?

                  ungefähr zeile 24

                  let htmlUberschrift=true; auf false setzen

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  wrote on last edited by
                  #58

                  @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                  @sigi234 nein - aber einfach abschalten und extra in der vis etwas einfügen - ginge das ?

                  ungefähr zeile 24

                  let htmlUberschrift=true; auf false setzen

                  Ja das habe ich sowieso auf false, ich meine das:

                  Screenshot (1132)_LI.jpg

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  liv-in-skyL 1 Reply Last reply
                  0
                  • sigi234S sigi234

                    @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                    @sigi234 nein - aber einfach abschalten und extra in der vis etwas einfügen - ginge das ?

                    ungefähr zeile 24

                    let htmlUberschrift=true; auf false setzen

                    Ja das habe ich sowieso auf false, ich meine das:

                    Screenshot (1132)_LI.jpg

                    liv-in-skyL Offline
                    liv-in-skyL Offline
                    liv-in-sky
                    wrote on last edited by liv-in-sky
                    #59

                    @sigi234 nein geht auch nicht - was hättest du den gerne für eine ausrichtung

                    geht es um den ersten wert ?

                    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

                    sigi234S 1 Reply Last reply
                    0
                    • liv-in-skyL liv-in-sky

                      @sigi234 nein geht auch nicht - was hättest du den gerne für eine ausrichtung

                      geht es um den ersten wert ?

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      wrote on last edited by sigi234
                      #60

                      @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                      @sigi234 nein geht auch nicht - was hättest du den gerne für eine ausrichtung

                      geht es um den ersten wert ?

                      Um Alle, die richten sich ja mittig aus. Left wäre noch gut. Außer Wert 2.

                      var htmlFeld1='Zu erledigen'; // überschrift Tabellen Spalte1 / Option Ausrichtung
                      var htmlFeld2='Status'; // überschrift Tabellen Spalte2 / Option Ausrichtung
                      var htmlFeld3='Erstellt'; // überschrift Tabellen Spalte3 / Option Ausrichtung
                      var htmlFeld4='Seit...'; // überschrift Tabellen Spalte4 / Option Ausrichtung

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      liv-in-skyL 2 Replies Last reply
                      0
                      • sigi234S sigi234

                        @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                        @sigi234 nein geht auch nicht - was hättest du den gerne für eine ausrichtung

                        geht es um den ersten wert ?

                        Um Alle, die richten sich ja mittig aus. Left wäre noch gut. Außer Wert 2.

                        var htmlFeld1='Zu erledigen'; // überschrift Tabellen Spalte1 / Option Ausrichtung
                        var htmlFeld2='Status'; // überschrift Tabellen Spalte2 / Option Ausrichtung
                        var htmlFeld3='Erstellt'; // überschrift Tabellen Spalte3 / Option Ausrichtung
                        var htmlFeld4='Seit...'; // überschrift Tabellen Spalte4 / Option Ausrichtung

                        liv-in-skyL Offline
                        liv-in-skyL Offline
                        liv-in-sky
                        wrote on last edited by
                        #61

                        @sigi234 aber alle die sind zentriert (bis auf die linke/erste spalte) - da sieht es doof aus, wenn die überschriften dann links sind - außer beim ersten wert - da macht links sinn, weil ja die werte auch alle links sind - glaub ich werd das noch ändern

                        die option für jede spalte eine eigene ausrichtung zu integrieren wäre sehr aufwendig und würde erst wichtig werden, wenn man mehrere zeilen pro zelle hätte , dann würde es etwas chaotisch aussehen - anfangs hatte ich alles links - dass sieht aber sehr schlecht aus, wenn nur ein kästchen oder etwas kleines in der zelle ist

                        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

                        sigi234S 1 Reply Last reply
                        0
                        • liv-in-skyL liv-in-sky

                          @sigi234 aber alle die sind zentriert (bis auf die linke/erste spalte) - da sieht es doof aus, wenn die überschriften dann links sind - außer beim ersten wert - da macht links sinn, weil ja die werte auch alle links sind - glaub ich werd das noch ändern

                          die option für jede spalte eine eigene ausrichtung zu integrieren wäre sehr aufwendig und würde erst wichtig werden, wenn man mehrere zeilen pro zelle hätte , dann würde es etwas chaotisch aussehen - anfangs hatte ich alles links - dass sieht aber sehr schlecht aus, wenn nur ein kästchen oder etwas kleines in der zelle ist

                          sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          wrote on last edited by
                          #62

                          @liv-in-sky

                          Theoretisch kann ich sie ja ausblenden. :slightly_smiling_face:

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          liv-in-skyL 1 Reply Last reply
                          0
                          • sigi234S sigi234

                            @liv-in-sky

                            Theoretisch kann ich sie ja ausblenden. :slightly_smiling_face:

                            liv-in-skyL Offline
                            liv-in-skyL Offline
                            liv-in-sky
                            wrote on last edited by
                            #63

                            @sigi234 da könnt ich evtl aber eine einstellung machen - keine tabellenwerte-überschrift

                            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 Reply Last reply
                            0
                            • ? A Former User

                              Habe das mit der Anzahl der Einträge in seperater Anzeige mal anders gelöst.
                              Wollte da keinen neuen Schedule für haben.
                              Die Werte sind ja schon da also schneide ich sie ab.

                              Bildschirmfoto-20191230172922-809x124.png

                              sigi234S Online
                              sigi234S Online
                              sigi234
                              Forum Testing Most Active
                              wrote on last edited by
                              #64

                              @Yetiberg sagte in Script: Alexa Listen pflegen und Anzeigen:

                              Habe das mit der Anzahl der Einträge in seperater Anzeige mal anders gelöst.
                              Wollte da keinen neuen Schedule für haben.
                              Die Werte sind ja schon da also schneide ich sie ab.

                              Bildschirmfoto-20191230172922-809x124.png

                              Wie kommst du auf die Anzahl?

                              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Immer Daten sichern!

                              liv-in-skyL 2 Replies Last reply
                              0
                              • sigi234S sigi234

                                @Yetiberg sagte in Script: Alexa Listen pflegen und Anzeigen:

                                Habe das mit der Anzahl der Einträge in seperater Anzeige mal anders gelöst.
                                Wollte da keinen neuen Schedule für haben.
                                Die Werte sind ja schon da also schneide ich sie ab.

                                Bildschirmfoto-20191230172922-809x124.png

                                Wie kommst du auf die Anzahl?

                                liv-in-skyL Offline
                                liv-in-skyL Offline
                                liv-in-sky
                                wrote on last edited by liv-in-sky
                                #65

                                @sigi234 er liest sie aus dem auswahlDeleteAuswahl-datenpunkt aus - da steht die anzahl drin und wird auch upgedatet - es ist der letzte wert

                                eigentlich müßte da noch eine 1 dazu-addiert werdenImage 1.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

                                sigi234S 1 Reply Last reply
                                0
                                • sigi234S sigi234

                                  @Yetiberg sagte in Script: Alexa Listen pflegen und Anzeigen:

                                  Habe das mit der Anzahl der Einträge in seperater Anzeige mal anders gelöst.
                                  Wollte da keinen neuen Schedule für haben.
                                  Die Werte sind ja schon da also schneide ich sie ab.

                                  Bildschirmfoto-20191230172922-809x124.png

                                  Wie kommst du auf die Anzahl?

                                  liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  wrote on last edited by liv-in-sky
                                  #66

                                  @sigi234

                                  spaltenüberschriften können nun abgeschalten werden

                                  Image 2.pngImage 3.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 Reply Last reply
                                  1
                                  • liv-in-skyL liv-in-sky

                                    @sigi234 er liest sie aus dem auswahlDeleteAuswahl-datenpunkt aus - da steht die anzahl drin und wird auch upgedatet - es ist der letzte wert

                                    eigentlich müßte da noch eine 1 dazu-addiert werdenImage 1.png

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    wrote on last edited by sigi234
                                    #67

                                    @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                                    @sigi234 er liest sie aus dem auswahlDeleteAuswahl-datenpunkt aus - da steht die anzahl drin und wird auch upgedatet - es ist der letzte wert

                                    eigentlich müßte da noch eine 1 dazu-addiert werdenImage 1.png

                                    Bekomme immer ein ; angezeigt?

                                    Screenshot (1134).png

                                    Screenshot (1136).png

                                    Screenshot (1138).png

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    liv-in-skyL 1 Reply Last reply
                                    0
                                    • sigi234S sigi234

                                      @liv-in-sky sagte in Script: Alexa Listen pflegen und Anzeigen:

                                      @sigi234 er liest sie aus dem auswahlDeleteAuswahl-datenpunkt aus - da steht die anzahl drin und wird auch upgedatet - es ist der letzte wert

                                      eigentlich müßte da noch eine 1 dazu-addiert werdenImage 1.png

                                      Bekomme immer ein ; angezeigt?

                                      Screenshot (1134).png

                                      Screenshot (1136).png

                                      Screenshot (1138).png

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      wrote on last edited by
                                      #68

                                      @sigi234 habe es nie ausprobiert - gib mir bitte export - dann test ich mal

                                      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

                                      sigi234S 1 Reply Last reply
                                      0
                                      • ? Offline
                                        ? Offline
                                        A Former User
                                        wrote on last edited by
                                        #69

                                        Ich bin da noch bei, das wegzufiltern.
                                        Ich hatte das getestet wo ich mehr als 9 in der Liste hatte.
                                        Wartet mal ein wenig. Ich schaue mal.

                                        liv-in-skyL sigi234S 2 Replies Last reply
                                        0
                                        • ? A Former User

                                          Ich bin da noch bei, das wegzufiltern.
                                          Ich hatte das getestet wo ich mehr als 9 in der Liste hatte.
                                          Wartet mal ein wenig. Ich schaue mal.

                                          liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          wrote on last edited by
                                          #70

                                          @Yetiberg übernimmst du ?

                                          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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          595

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe