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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Email auslesen und gewissen Inhalt in Datenpunkt

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    297

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

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

Email auslesen und gewissen Inhalt in Datenpunkt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptblocklytemplate
28 Beiträge 3 Kommentatoren 3.8k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • B bug77

    ok ist gelöscht

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

    @bug77

    versuch mal das - kommt da was im log- dp wieder ersetzen - ich kann es nicht testen - ich bekomme diese zeilenumbrüche nicht in meinen test-datenpunkt - aber mit einem online regex tool funktioniert es

     
    var str =getState("controll-own.0.AAATEST.TestString1").val
     
    
    
    
    //log(str)
    var myWerteDate=str.match(/^.*, \d+\.\d+\.\d\d\d\d/g)
    var myWerteBest=str.match(/^.+\)$/g)
    
    log("-------------- die 1. Bestellung: "+myWerteDate[0] + " -- "+ myWerteBest[0])
    log("-------------- die 2. Bestellung: "+myWerteDate[1] + " -- "+ myWerteBest[1])
    log("-------------- die 3. Bestellung: "+myWerteDate[2] + " -- "+ myWerteBest[2])
    
    
    

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

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      bug77
      schrieb am zuletzt editiert von
      #22

      @liv-in-sky said in Email auslesen und gewissen Inhalt in Datenpunkt:

      leider nein.
      Unbenannt.png

      liv-in-skyL 3 Antworten Letzte Antwort
      0
      • B bug77

        @liv-in-sky said in Email auslesen und gewissen Inhalt in Datenpunkt:

        leider nein.
        Unbenannt.png

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

        @bug77 hast du anydesk oder teamviewer - dann könnten wir das zusammen testen

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

        1 Antwort Letzte Antwort
        0
        • B bug77

          @liv-in-sky said in Email auslesen und gewissen Inhalt in Datenpunkt:

          leider nein.
          Unbenannt.png

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

          @bug77 wäre so weit

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

          1 Antwort Letzte Antwort
          0
          • B bug77

            @liv-in-sky said in Email auslesen und gewissen Inhalt in Datenpunkt:

            leider nein.
            Unbenannt.png

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

            @bug77 das habe ich bis jetzt hinbekommen - habe mal mit nodered ein email empfangen

            für die anzeige verwende ich ein HTML tabellenscript von mir https://forum.iobroker.net/topic/28021/html-table-für-vis-oder-iqontrol-js-und-blockly

            falls du die tabelle nicht willst - können wir auch den hauptteil wieder seperieren

            Image 5.png

            es gibt auch noch einen datenpunkt mit einem json

            [{"Montag, 27.01.2020":" 1x - GE Hähnchenbrustfilet mit Sauce und (03) Blumenkohl in feiner Creme (M) dazu Kartoffeln (Menü K1)"},{"Dienstag, 28.01.2020":" 1x - V Käsespätzle (ohne Zwiebeln) (G,a,Ei,M) Blattsalat Dressing (SO2,01,03,05) (Menü K2)"},{"Donnerstag, 30.01.2020":" 1x - R Burgerpattie (Sen) Burgerbrötchen (G,a,Ses) dazu Salatgurke und Tomate mit Senf (Sen) und Ketchup (Menü K1)"}]
            

            das script
            ganz oben im script mußt du die datenpunkte einsetzen dpVIS und dpJson müssen von die angelegt werden und dann hier eingetragen
            dpDaten hast du ja schon - aber auch im script deinen datenpunkt eintragen

            möchtest du ein anderes layout für die tabelle kannst du das ein paar zeile darunter einrichten

             
            
            
            //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
            let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
            let dpVIS="0_userdata.0.testmailvis"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
            let dpJson="0_userdata.0.testJSON";
            let dpDaten="0_userdata.0.tesstMail";
            
            let mySchedule=" */20 * * * * * ";                       //jede minute  
            //---------------------------------------
            
            //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
            var htmlFeld1='Datum';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
            var htmlFeld2='Bestellung';         var Feld2lAlign="left";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
            
            //-----------------------------------
            
            
            
            //hier werden die styles für die tabelle definiert
            //ÜBERSCHRIFT ÜBER TABELLE
            let   htmlUberschrift=true;                           // mit Überschrift über der tabelle
            let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
            const htmlFeldUeber='Sonoff Devices';              // Überschrift und Signature
            const htmlFarbUber="white";                         // Farbe der Überschrift
            const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
            const htmlÜberFontGroesse="18px";                       // schriftgröße ü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="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
            const htmlFarbTableColorUber="#BDBDBD";               // Überschrift in der tabelle - der einzelnen Spalten
            //GANZE TABELLE
            let abstandZelle="4";
            let weite="auto";                                     //Weite der Tabelle
            let zentriert=true;                                   //ganze tabelle zentriert
            const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
            const htmlSchriftart="Helvetica";
            const htmlSchriftgroesse="14px";
            //FELDER UND RAHMEN
            let   UeberschriftSpalten=true;                // ein- oder ausblenden der spatlen-überschriften
            const htmlFarbFelderschrift="white";                  // SchriftFarbe der Felder
            const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
            const htmlFarbTableColorGradient1="#424242";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
            const htmlFarbTableColorGradient2="#424242";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
            const htmlFarbTableBorderColor="gray";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
            let htmlRahmenLinien="cols";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
            const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
            
            // HIER NICHTS  ÄNDERN
            
            let borderHelpBottum;
            let borderHelpRight;
            let htmlcenterHelp;
            let htmlcenterHelp2;
            
            if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
            if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
            if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
            if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
            zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
            zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
            
            
            const htmlZentriert='<center>'
            const htmlStart=    "<!DOCTYPE html><html lang=\"de\"><head><title>Vorlage</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"+
                               "<style> * {  margin: 0;} body {background-color: "+backgroundAll+"; margin: 0 auto;  }"+
                               " p {padding-top: 10px; padding-bottom: 10px; text-align: "+htmlcenterHelp2+"}"+
                              // " div { margin: 0 auto;  margin-left: auto; margin-right: auto;}"+
                               " td { padding:"+abstandZelle+"px; border:0px solid "+htmlFarbTableBorderColor+";  border-right:"+borderHelpRight+"px solid "+htmlFarbTableBorderColor+";border-bottom:"+borderHelpBottum+"px solid "+htmlFarbTableBorderColor+";}"+ 
                               " table { width: "+weite+";  margin: 0 "+htmlcenterHelp+"; border:1px solid "+htmlFarbTableBorderColor+"; border-spacing=\""+abstandZelle+"0px\" ; }"+   // margin macht center
                               "td:nth-child(1) {width: "+htmlSpalte1Weite+"}"+"td:nth-child(2) {width:"+htmlSpalte1Weite+"}"+
                               " </style></head><body> <div>";
            //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
            const htmlTabStyle= "<table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" 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 2
            
            var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
            var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                               "&ensp;</td>";
            //------------------------------------------------------
            
            
            var htmlOut="";
            var mix;
            var counter;
            var val1;  var val0;
            var htmlTabUeber="";
            
            function writeHTML(){
            
            
            
            htmlOut="";
            
            counter=-1;
            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_1+htmlTabUeber2+htmlTabUeber3; break;
               case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
            };    
            if (!UeberschriftSpalten) {htmlTabUeber=""}
            
            //--------------------------------------------------------------------------------------------------------------------------------------------------
            //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
            //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
            //--------------------------------------------------------------------------------------------------------------------------------------------------
            
            var str =getState(dpDaten).val
            var liste="[";
            //str=str.replace(/\r\n/g,"  ");
            //str=str.replace(/\r/g,"");
            
            str=str.replace(/\n/g,"!!!!");
            
            str=str.replace(/^.+zusammen:/gm,"");
            
            var myWerteDate=str.match(/!!!!(.+?\d+\.\d+\.\d\d\d\d)!/g);
            var myWerteBest=str.match(/ \d+\.\d+\.\d\d\d\d!!!!(.+?\(Menü.*?\))/g);
            
            
            for(var i=0;i<myWerteDate.length;i++){
                 liste =liste+"{\""+myWerteDate[i].replace(/!/g,"")+"\":\""+myWerteBest[i].replace(/!/g,"").replace(/\d+\.\d+\.\d\d\d\d/g,"")+"\"},";
                 counter++
                 val0=myWerteDate[i].replace(/!/g,"")
                 val1=myWerteBest[i].replace(/!/g,"").replace(/\d+\.\d+\.\d\d\d\d/g,"")
            
            
            log(liste)
                
                 tabelleBind(); //HIER NICHTS ÄNDERN : HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT  - diese function muss als letztes in der eigenen schleife aufgerufen werden
                
               }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
            liste = liste+"]"
            liste=liste.replace(/,(\])/,"$1")
            setState(dpJson,liste)
            
            //------------------------------------------------------------
            //------------------------------------------------------------
            //------------------------------------------------------------   
            
                  tabelleFinish(); // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                 
            } // function ende
            
            //MAIN:
             
            //schedule(mySchedule,  function () {
            // writeHTML();
            // if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
            //}); 
            //writeHTML();  
            
            function tabelleBind(){
                   switch (mehrfachTabelle) {  
                     case 1:                    htmlOut=htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;
                     case 2:  if(counter%2==0)  {htmlOut = htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                           else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                                
                     case 3: if(counter%3==0 )  {htmlOut = htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                           else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                            else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                      } break;
            
            
                     case 4: if(counter%4==0)  {htmlOut = htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                               else {if(counter%2==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                            else    {if(counter%2==1 && counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                              else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                      } break;
            
                 } //switch ende
            
            }
            
            function tabelleFinish() {
            
                   switch (mehrfachTabelle) {  
                     case 1:    break;
                     case 2:    mix=Math.abs(((counter+1)%2)-mehrfachTabelle);  
                                if(mix==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>');       
                                break;
                     case 3:    mix =Math.abs(((counter+1)%3)-mehrfachTabelle);
                                if(mix==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>');       
                                if(mix==2)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');   
                                break;
                     case 4:    mix=Math.abs(((counter+1)%4)-mehrfachTabelle);
                                if(mix==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>');
                                if(mix==2)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');    
                                if(mix==3)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');      
                                break; }
                      var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                   var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                    
                    if (!htmlSignature) htmlUnter="";
                      //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                       var htmlOutVIS="";
                     //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                        if (htmlUberschrift) 
                            { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter ;
            
                          } else {
                           zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter;
            
                             }
            
              // log("bin raus aus tabelleBind");
                       if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
            
             var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
             var htmlEnd="</table>"+htmlUnter+"</div></body>";
             if (!htmlSignature) htmlUnter="";
            
             //mit oder ohne überschrift - zentriert oder links
            htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd : htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd;
             //log(htmlOut);
            
            
            }
            
               on({id: dpDaten, ack: false, change: "ne"}, function (obj) { 
                 //  log(getState(dpANLEGEN).val);
                    writeHTML();
             if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
            
                 
               });
            
            
            
            
            
            

            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

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

              @bug77 das habe ich bis jetzt hinbekommen - habe mal mit nodered ein email empfangen

              für die anzeige verwende ich ein HTML tabellenscript von mir https://forum.iobroker.net/topic/28021/html-table-für-vis-oder-iqontrol-js-und-blockly

              falls du die tabelle nicht willst - können wir auch den hauptteil wieder seperieren

              Image 5.png

              es gibt auch noch einen datenpunkt mit einem json

              [{"Montag, 27.01.2020":" 1x - GE Hähnchenbrustfilet mit Sauce und (03) Blumenkohl in feiner Creme (M) dazu Kartoffeln (Menü K1)"},{"Dienstag, 28.01.2020":" 1x - V Käsespätzle (ohne Zwiebeln) (G,a,Ei,M) Blattsalat Dressing (SO2,01,03,05) (Menü K2)"},{"Donnerstag, 30.01.2020":" 1x - R Burgerpattie (Sen) Burgerbrötchen (G,a,Ses) dazu Salatgurke und Tomate mit Senf (Sen) und Ketchup (Menü K1)"}]
              

              das script
              ganz oben im script mußt du die datenpunkte einsetzen dpVIS und dpJson müssen von die angelegt werden und dann hier eingetragen
              dpDaten hast du ja schon - aber auch im script deinen datenpunkt eintragen

              möchtest du ein anderes layout für die tabelle kannst du das ein paar zeile darunter einrichten

               
              
              
              //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
              let   braucheEinVISWidget=true;                     // bei true wird ein html-tabelle in einen dp geschrieben - siehe nächste zeile
              let dpVIS="0_userdata.0.testmailvis"         //WICHTIG wenn braucheEinVISWidget auf true gesetzt !!  dp zusätzlich für VIS-HTML-Basic-Widget
              let dpJson="0_userdata.0.testJSON";
              let dpDaten="0_userdata.0.tesstMail";
              
              let mySchedule=" */20 * * * * * ";                       //jede minute  
              //---------------------------------------
              
              //HIER DIE SPALTEN ANZAHL DEFINIEREN - jede Spalte einen Wert - in diesem Beispiel sind es 2
              var htmlFeld1='Datum';       var Feld1lAlign="left";                     // überschrift Tabellen Spalte1 und  Ausrichtung left,right or center
              var htmlFeld2='Bestellung';         var Feld2lAlign="left";                      // überschrift Tabellen Spalte2 und  Ausrichtung left,right or center
              
              //-----------------------------------
              
              
              
              //hier werden die styles für die tabelle definiert
              //ÜBERSCHRIFT ÜBER TABELLE
              let   htmlUberschrift=true;                           // mit Überschrift über der tabelle
              let   htmlSignature=false;                              // anstatt der Überscghrift eine signature: - kleiner - anliegend
              const htmlFeldUeber='Sonoff Devices';              // Überschrift und Signature
              const htmlFarbUber="white";                         // Farbe der Überschrift
              const htmlSchriftWeite="normal";                       // bold, normal - Fettschrift für Überschrift
              const htmlÜberFontGroesse="18px";                       // schriftgröße ü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="white";                // Farbe der Überschrift bei jeder 2.ten Tabelle
              const htmlFarbTableColorUber="#BDBDBD";               // Überschrift in der tabelle - der einzelnen Spalten
              //GANZE TABELLE
              let abstandZelle="4";
              let weite="auto";                                     //Weite der Tabelle
              let zentriert=true;                                   //ganze tabelle zentriert
              const backgroundAll="#000000";                        //Hintergrund für die ganze Seite - für direkten aufruf oder iqontrol sichtber - keine auswirkung auf vis-widget
              const htmlSchriftart="Helvetica";
              const htmlSchriftgroesse="14px";
              //FELDER UND RAHMEN
              let   UeberschriftSpalten=true;                // ein- oder ausblenden der spatlen-überschriften
              const htmlFarbFelderschrift="white";                  // SchriftFarbe der Felder
              const htmlFarbFelderschrift2="#D8D8D8";                 // SchriftFarbe der Felder für jede 2te Tabelle
              const htmlFarbTableColorGradient1="#424242";          //  Gradient - Hintergrund der Tabelle - Verlauffarbe
              const htmlFarbTableColorGradient2="#424242";          //  Gradient - Hintergrund der Tabelle - ist dieser Wert gleich Gradient1 gibt es keinen verlauf
              const htmlFarbTableBorderColor="gray";             // Farbe des Rahmen - is tdieser gleich den gradienten, sind die rahmen unsichtbar
              let htmlRahmenLinien="cols";                            // Format für Rahmen: MÖGLICH: "none" oder "all" oder "cols" oder "rows"
              const htmlSpalte1Weite="auto";                   //  Weite der ersten beiden  Spalten oder z.b. 115px
              
              // HIER NICHTS  ÄNDERN
              
              let borderHelpBottum;
              let borderHelpRight;
              let htmlcenterHelp;
              let htmlcenterHelp2;
              
              if(htmlRahmenLinien=="rows") {borderHelpBottum=1;borderHelpRight=0;}
              if(htmlRahmenLinien=="cols") {borderHelpBottum=0;borderHelpRight=1;}
              if(htmlRahmenLinien=="none") {borderHelpBottum=0;borderHelpRight=0;}
              if(htmlRahmenLinien=="all")  {borderHelpBottum=1;borderHelpRight=1;}
              zentriert ? htmlcenterHelp="auto" : htmlcenterHelp="left";
              zentriert ? htmlcenterHelp2="center" : htmlcenterHelp2="left";
              
              
              const htmlZentriert='<center>'
              const htmlStart=    "<!DOCTYPE html><html lang=\"de\"><head><title>Vorlage</title><meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\">"+
                                 "<style> * {  margin: 0;} body {background-color: "+backgroundAll+"; margin: 0 auto;  }"+
                                 " p {padding-top: 10px; padding-bottom: 10px; text-align: "+htmlcenterHelp2+"}"+
                                // " div { margin: 0 auto;  margin-left: auto; margin-right: auto;}"+
                                 " td { padding:"+abstandZelle+"px; border:0px solid "+htmlFarbTableBorderColor+";  border-right:"+borderHelpRight+"px solid "+htmlFarbTableBorderColor+";border-bottom:"+borderHelpBottum+"px solid "+htmlFarbTableBorderColor+";}"+ 
                                 " table { width: "+weite+";  margin: 0 "+htmlcenterHelp+"; border:1px solid "+htmlFarbTableBorderColor+"; border-spacing=\""+abstandZelle+"0px\" ; }"+   // margin macht center
                                 "td:nth-child(1) {width: "+htmlSpalte1Weite+"}"+"td:nth-child(2) {width:"+htmlSpalte1Weite+"}"+
                                 " </style></head><body> <div>";
              //const htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-weight: bold\">"+htmlFeldUeber+"</p>";                    
              const htmlTabStyle= "<table bordercolor=\""+htmlFarbTableBorderColor+"\" border=\"2px\" cellspacing=\""+abstandZelle+"\" cellpadding=\""+abstandZelle+"\" width=\""+weite+"\" rules=\""+htmlRahmenLinien+"\" 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 2
              
              var htmlTabUeber2="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+">&ensp;"+htmlFeld2+"&ensp;</td>";
              var htmlTabUeber2_1="<td width="+htmlSpalte1Weite+" align="+Feld1lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld1+"&ensp;</td><td width="+htmlSpalte1Weite+" align="+Feld2lAlign+" style=\"color:"+htmlFarbZweiteTabelle+"\">&ensp;"+htmlFeld2+
                                 "&ensp;</td>";
              //------------------------------------------------------
              
              
              var htmlOut="";
              var mix;
              var counter;
              var val1;  var val0;
              var htmlTabUeber="";
              
              function writeHTML(){
              
              
              
              htmlOut="";
              
              counter=-1;
              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_1+htmlTabUeber2+htmlTabUeber3; break;
                 case 4: htmlTabUeber=htmlTabUeber1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber2+htmlTabUeber2_1+htmlTabUeber3; break;
              };    
              if (!UeberschriftSpalten) {htmlTabUeber=""}
              
              //--------------------------------------------------------------------------------------------------------------------------------------------------
              //---------hier kommt eure schleife rein counter++, tabelleBind() und tabelleFinish() müssen so integriert bleiben !!!------------------------------
              //---------alle valx werte müssen von euch bestimmt werden - val0,val1 !!!---------------------------------------------------------------------
              //--------------------------------------------------------------------------------------------------------------------------------------------------
              
              var str =getState(dpDaten).val
              var liste="[";
              //str=str.replace(/\r\n/g,"  ");
              //str=str.replace(/\r/g,"");
              
              str=str.replace(/\n/g,"!!!!");
              
              str=str.replace(/^.+zusammen:/gm,"");
              
              var myWerteDate=str.match(/!!!!(.+?\d+\.\d+\.\d\d\d\d)!/g);
              var myWerteBest=str.match(/ \d+\.\d+\.\d\d\d\d!!!!(.+?\(Menü.*?\))/g);
              
              
              for(var i=0;i<myWerteDate.length;i++){
                   liste =liste+"{\""+myWerteDate[i].replace(/!/g,"")+"\":\""+myWerteBest[i].replace(/!/g,"").replace(/\d+\.\d+\.\d\d\d\d/g,"")+"\"},";
                   counter++
                   val0=myWerteDate[i].replace(/!/g,"")
                   val1=myWerteBest[i].replace(/!/g,"").replace(/\d+\.\d+\.\d\d\d\d/g,"")
              
              
              log(liste)
                  
                   tabelleBind(); //HIER NICHTS ÄNDERN : HIER WERDEN DIE DATEN DER SCHLEIFE ZUSAMMENGESETZT  - diese function muss als letztes in der eigenen schleife aufgerufen werden
                  
                 }; //Schleifen Ende - je nach schleifenart muss hier etwas geändert werden !!!!!!!!!
              liste = liste+"]"
              liste=liste.replace(/,(\])/,"$1")
              setState(dpJson,liste)
              
              //------------------------------------------------------------
              //------------------------------------------------------------
              //------------------------------------------------------------   
              
                    tabelleFinish(); // AB HIER NICHTS ÄNDERN - tabelle fertigstellen
                   
              } // function ende
              
              //MAIN:
               
              //schedule(mySchedule,  function () {
              // writeHTML();
              // if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
              //}); 
              //writeHTML();  
              
              function tabelleBind(){
                     switch (mehrfachTabelle) {  
                       case 1:                    htmlOut=htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>"; break;
                       case 2:  if(counter%2==0)  {htmlOut = htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                             else {htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} break;
                                                  
                       case 3: if(counter%3==0 )  {htmlOut = htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                             else { if(counter%3==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                              else    {htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td></tr>";}
                                                        } break;
              
              
                       case 4: if(counter%4==0)  {htmlOut = htmlOut+"<tr><td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>"; } 
                                                 else {if(counter%2==1 )  { htmlOut = htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td>";} 
                                                              else    {if(counter%2==1 && counter%4==3)  { htmlOut= htmlOut+"<td align="+Feld1lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val0+"&ensp;</td><td  align="+Feld2lAlign+" style=\"color:"+htmlFarbFelderschrift2+"\">&ensp;"+val1+"&ensp;</td></tr>";} 
                                                                                else    {htmlOut = htmlOut = htmlOut+"<td align="+Feld1lAlign+">&ensp;"+val0+"&ensp;</td><td align="+Feld2lAlign+">&ensp;"+val1+"&ensp;</td>";}}
                                                        } break;
              
                   } //switch ende
              
              }
              
              function tabelleFinish() {
              
                     switch (mehrfachTabelle) {  
                       case 1:    break;
                       case 2:    mix=Math.abs(((counter+1)%2)-mehrfachTabelle);  
                                  if(mix==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>');       
                                  break;
                       case 3:    mix =Math.abs(((counter+1)%3)-mehrfachTabelle);
                                  if(mix==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>');       
                                  if(mix==2)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');   
                                  break;
                       case 4:    mix=Math.abs(((counter+1)%4)-mehrfachTabelle);
                                  if(mix==1)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td></tr>');
                                  if(mix==2)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');    
                                  if(mix==3)  htmlOut = htmlOut.replace(/<\/td>$/, '</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td><td>&ensp;</td></tr>');      
                                  break; }
                        var htmlUeber=    "<p style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: "+htmlÜberFontGroesse+"; font-weight:"+htmlSchriftWeite+ "\">"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</p>"; 
                     var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 70%; text-align: right;\" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
                      
                      if (!htmlSignature) htmlUnter="";
                        //Ausgabe über VIS html widget - tabelle in datenpunkt schreiben - html tabelle ohne html header und body
                         var htmlOutVIS="";
                       //  htmlUberschrift ? htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>" : htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>";
                          if (htmlUberschrift) 
                              { zentriert ? htmlOutVIS=htmlZentriert+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter : htmlOutVIS=htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter ;
              
                            } else {
                             zentriert ?  htmlOutVIS=htmlZentriert+htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter :  htmlOutVIS=htmlTabStyle+htmlTabUeber+htmlOut+"</table>"+htmlUnter;
              
                               }
              
                // log("bin raus aus tabelleBind");
                         if (braucheEinVISWidget) setState(dpVIS, htmlOutVIS );
              
               var htmlUnter= "<div  style=\"color:"+htmlFarbUber+"; font-family:"+htmlSchriftart+"; font-size: 80%;  text-align: center; \" >"+htmlFeldUeber+"&ensp;&ensp;Last Update: "+formatDate(getDateObject((parseFloat((new Date().getTime())))), "SS:mm:ss");+"</div>"
               var htmlEnd="</table>"+htmlUnter+"</div></body>";
               if (!htmlSignature) htmlUnter="";
              
               //mit oder ohne überschrift - zentriert oder links
              htmlUberschrift ? htmlOut=htmlStart+htmlUeber+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd : htmlOut=htmlStart+htmlTabStyle+htmlTabUeber+htmlOut+htmlEnd;
               //log(htmlOut);
              
              
              }
              
                 on({id: dpDaten, ack: false, change: "ne"}, function (obj) { 
                   //  log(getState(dpANLEGEN).val);
                      writeHTML();
               if (braucheEinFile) {writeFile(home, path ,htmlOut, function (error) { /* log('file written');*/  });}
              
                   
                 });
              
              
              
              
              
              

              S Offline
              S Offline
              Shwowak
              schrieb am zuletzt editiert von
              #26

              @liv-in-sky

              Wie hast du den https://github.com/circuithub/mail-listener Installiert ?

              Direck im Iobroker oder über die Console beide funktioniert leider nicht.

              pi@raspberrypi:~/mail-listener2 $ npm install mail-listener2
              npm ERR! code ENOSELF
              npm ERR! Refusing to install package with name "mail-listener2" under a package
              npm ERR! also called "mail-listener2". Did you name your project the same
              npm ERR! as the dependency you're installing?
              npm ERR!
              npm ERR! For more information, see:
              npm ERR!     <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>
              
              npm ERR! A complete log of this run can be found in:
              npm ERR!     /home/pi/.npm/_logs/2021-07-15T08_48_35_593Z-debug.log
              
              
              liv-in-skyL 2 Antworten Letzte Antwort
              0
              • S Shwowak

                @liv-in-sky

                Wie hast du den https://github.com/circuithub/mail-listener Installiert ?

                Direck im Iobroker oder über die Console beide funktioniert leider nicht.

                pi@raspberrypi:~/mail-listener2 $ npm install mail-listener2
                npm ERR! code ENOSELF
                npm ERR! Refusing to install package with name "mail-listener2" under a package
                npm ERR! also called "mail-listener2". Did you name your project the same
                npm ERR! as the dependency you're installing?
                npm ERR!
                npm ERR! For more information, see:
                npm ERR!     <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>
                
                npm ERR! A complete log of this run can be found in:
                npm ERR!     /home/pi/.npm/_logs/2021-07-15T08_48_35_593Z-debug.log
                
                
                liv-in-skyL Offline
                liv-in-skyL Offline
                liv-in-sky
                schrieb am zuletzt editiert von
                #27

                @shwowak

                bei meinem letzten mail-abfrage script nutzte mail-listener4

                den habe ich nur im setting des javascript adapters eingetragen

                kann mich nicht mehr richtig erinnern, aber irgendwie hatte ich mit der version 2 ein problem

                https://forum.iobroker.net/topic/36558/html-tabelle-für-email-postfach?page=1

                Image 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

                1 Antwort Letzte Antwort
                0
                • S Shwowak

                  @liv-in-sky

                  Wie hast du den https://github.com/circuithub/mail-listener Installiert ?

                  Direck im Iobroker oder über die Console beide funktioniert leider nicht.

                  pi@raspberrypi:~/mail-listener2 $ npm install mail-listener2
                  npm ERR! code ENOSELF
                  npm ERR! Refusing to install package with name "mail-listener2" under a package
                  npm ERR! also called "mail-listener2". Did you name your project the same
                  npm ERR! as the dependency you're installing?
                  npm ERR!
                  npm ERR! For more information, see:
                  npm ERR!     <https://docs.npmjs.com/cli/install#limitations-of-npms-install-algorithm>
                  
                  npm ERR! A complete log of this run can be found in:
                  npm ERR!     /home/pi/.npm/_logs/2021-07-15T08_48_35_593Z-debug.log
                  
                  
                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #28

                  @shwowak

                  ich vermute mal - wenn du maillistener von hand installierst, sollte das im iobroker verzeichnis sein - nicht im home verzeichnis - ich weiß aber nicht, ob dies der fehler 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

                  1 Antwort Letzte Antwort
                  0
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  252

                  Online

                  32.7k

                  Benutzer

                  82.5k

                  Themen

                  1.3m

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

                  • Du hast noch kein Konto? Registrieren

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