Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Visualisierung
  4. [gelöst] Datei-Download per Button

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    479

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    394

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    979

[gelöst] Datei-Download per Button

Geplant Angeheftet Gesperrt Verschoben Visualisierung
10 Beiträge 2 Kommentatoren 201 Aufrufe 2 Beobachtet
  • Ä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.
  • T Offline
    T Offline
    Thorti
    schrieb am zuletzt editiert von Thorti
    #1

    Ich würde gerne aus meiner Visualisierung heraus per Widget "Button Link" eine Textdatei mit aufgezeichneten Daten herunterladen können.
    Die Datei befindet sich im Verzeichnis 'vis.0'.
    Klicke ich auf den Button, wird mir leider nur angezeigt "File daten.txt not found: {}".
    Verlinke ich den Button auf eine Bild-Datei im selben Verzeichnis, so wird diese korrekt angezeigt.
    Hat jemand eine Idee, wie ich soetwas realisiern kann?

    liv-in-skyL 2 Antworten Letzte Antwort
    0
    • T Thorti

      Ich würde gerne aus meiner Visualisierung heraus per Widget "Button Link" eine Textdatei mit aufgezeichneten Daten herunterladen können.
      Die Datei befindet sich im Verzeichnis 'vis.0'.
      Klicke ich auf den Button, wird mir leider nur angezeigt "File daten.txt not found: {}".
      Verlinke ich den Button auf eine Bild-Datei im selben Verzeichnis, so wird diese korrekt angezeigt.
      Hat jemand eine Idee, wie ich soetwas realisiern kann?

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

      @thorti

      nimm ein standard html widget und füge das in das html feld ein - in der ersten zeile mußt du deinen filenamen eintragen ! unter src kannst du ein bild eintragen

      <a href="data:text/plain;charset=UTF-8,/vis.0/test.txt" download> <img alt="Qries" src="https://www.qries.com/images/banner_logo.png"</a>
      <script>
          var downloadFile = function(url){
        let a = document.createElement('a');
        a.href = 'data:text/plain;charset=UTF-8,' + '' + url;
        a.download = url.substr(url.lastIndexOf('/') + 1);
        document.body.appendChild(a);
        a.click();
        document.body.removeChild(a);
      }
          
      </script>
      
      
      
      

      das file muss aber writefile in iobroker geschrieben worden sein

      es wird ein link mit dem inhalt des files geöffnet - muss morgen mal nachsehen, ob das mit direkt download auch geht - habe heute keine zeit mehr

      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

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

        @thorti

        nimm ein standard html widget und füge das in das html feld ein - in der ersten zeile mußt du deinen filenamen eintragen ! unter src kannst du ein bild eintragen

        <a href="data:text/plain;charset=UTF-8,/vis.0/test.txt" download> <img alt="Qries" src="https://www.qries.com/images/banner_logo.png"</a>
        <script>
            var downloadFile = function(url){
          let a = document.createElement('a');
          a.href = 'data:text/plain;charset=UTF-8,' + '' + url;
          a.download = url.substr(url.lastIndexOf('/') + 1);
          document.body.appendChild(a);
          a.click();
          document.body.removeChild(a);
        }
            
        </script>
        
        
        
        

        das file muss aber writefile in iobroker geschrieben worden sein

        es wird ein link mit dem inhalt des files geöffnet - muss morgen mal nachsehen, ob das mit direkt download auch geht - habe heute keine zeit mehr

        T Offline
        T Offline
        Thorti
        schrieb am zuletzt editiert von
        #3

        @liv-in-sky

        Das ist ja klasse. Vielen Dank für die schnelle Hilfe!
        Leider werde ich es verrmutlich erst morgen schaffen, das auszuprobieren,
        ich gebe dann aber sofort Bescheid, ob es funktioniert hat.

        liv-in-skyL 2 Antworten Letzte Antwort
        0
        • T Thorti

          Ich würde gerne aus meiner Visualisierung heraus per Widget "Button Link" eine Textdatei mit aufgezeichneten Daten herunterladen können.
          Die Datei befindet sich im Verzeichnis 'vis.0'.
          Klicke ich auf den Button, wird mir leider nur angezeigt "File daten.txt not found: {}".
          Verlinke ich den Button auf eine Bild-Datei im selben Verzeichnis, so wird diese korrekt angezeigt.
          Hat jemand eine Idee, wie ich soetwas realisiern kann?

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

          @thorti sagte in Datei-Download per Button:

          Die Datei befindet sich im Verzeichnis 'vis.0'.

          habe nochmal nachgeschaut - da reagiert jeder browser anders

          mit dem widget, welches du erwähnst funktioniert es auch - aber wichtig ist dabei, wie du die datei in das vis.0 verzeichnis kopiert hast
          entweder über vis-admin und dessen dateimanager - oder über ein script mit dem writefile befehl - ansonsten weiss der iobroker-webserver nicht , das es das file gibt

          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
          • T Thorti

            @liv-in-sky

            Das ist ja klasse. Vielen Dank für die schnelle Hilfe!
            Leider werde ich es verrmutlich erst morgen schaffen, das auszuprobieren,
            ich gebe dann aber sofort Bescheid, ob es funktioniert hat.

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

            @thorti

            z.b mit dem code in einem html widget, wird in android angeboten, es down zu loaden

            <a href="/vis.0/test.txt" download="test.txt">Download PDF</a>
            

            bei mir in chrome auf dem pc kann ich es auch direkt downloaden - nur leider sichert der pc es als test.js anstatt als test.txt ab - warum weiß ich nicht

            es kommt also darauf an, mit welchen geräten du es downloaden willst

            mit dem widget von dir, wird in android auch nur die textdatei angezeigt und nicht sofort downgeloaded

            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
            • T Thorti

              @liv-in-sky

              Das ist ja klasse. Vielen Dank für die schnelle Hilfe!
              Leider werde ich es verrmutlich erst morgen schaffen, das auszuprobieren,
              ich gebe dann aber sofort Bescheid, ob es funktioniert hat.

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

              @thorti

              hätte nicht gedacht, das dies so schwierig wird

              die bis jetzt beste variante - funktioniert in firefox, chrome auf pc und in android - in fully funktioniert es (siehe nächsten post), vis app nicht getestet - vermutlich nicht

              folgendes angleichen bei dir:

              • zeile 3: "#w02460" ist die widget id - die musst du von dir eintragen
              • zeile 5: download("test.txt", "/vis.0/test.txt"); - dort muss dein pfad und dateiname rein
              • zeile 21 : dort kannst du dein bild einfügen
              <script>
              
              $('#w02460').click(function () { 
                  alert("Wollen Sie die Datei downloaden ?");
                download("test.txt", "/vis.0/test.txt");
                 
              });
              
              function download(filename, urldata) {
                          var a = document.createElement("a");
                          a.href = urldata;
                          a.setAttribute("download", filename);
                          a.click();
                      }
              
              /*download("test.txt", "/vis.0/test.txt");*/
              
              </script>
              
              
              <img src="https://forum.iobroker.net/assets/uploads/system/site-logo.png?v=gqnpiq7ce6k" alt="bild" width="100" height="100">
              

              [search help] download file datei vis

              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

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

                @thorti

                hätte nicht gedacht, das dies so schwierig wird

                die bis jetzt beste variante - funktioniert in firefox, chrome auf pc und in android - in fully funktioniert es (siehe nächsten post), vis app nicht getestet - vermutlich nicht

                folgendes angleichen bei dir:

                • zeile 3: "#w02460" ist die widget id - die musst du von dir eintragen
                • zeile 5: download("test.txt", "/vis.0/test.txt"); - dort muss dein pfad und dateiname rein
                • zeile 21 : dort kannst du dein bild einfügen
                <script>
                
                $('#w02460').click(function () { 
                    alert("Wollen Sie die Datei downloaden ?");
                  download("test.txt", "/vis.0/test.txt");
                   
                });
                
                function download(filename, urldata) {
                            var a = document.createElement("a");
                            a.href = urldata;
                            a.setAttribute("download", filename);
                            a.click();
                        }
                
                /*download("test.txt", "/vis.0/test.txt");*/
                
                </script>
                
                
                <img src="https://forum.iobroker.net/assets/uploads/system/site-logo.png?v=gqnpiq7ce6k" alt="bild" width="100" height="100">
                

                [search help] download file datei vis

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

                nachtrag - funktioniert auch in fully browser - einstellung

                Check these settings in Fully Web Content Settings:

                • select a way of opening other linked files. Like for PDFs you can disable them, pass an URL to another app, download and pass a file/content to external app or just download the file.

                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

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

                  nachtrag - funktioniert auch in fully browser - einstellung

                  Check these settings in Fully Web Content Settings:

                  • select a way of opening other linked files. Like for PDFs you can disable them, pass an URL to another app, download and pass a file/content to external app or just download the file.
                  T Offline
                  T Offline
                  Thorti
                  schrieb am zuletzt editiert von
                  #8

                  @liv-in-sky

                  Hallo liv-in-sky,
                  erst einmal vielen Dank für deine Hilfe,
                  das Script funktioniert wunderbar.
                  Das Problem bei mir ist anscheinend noch ein ganz anderes, und zwar erzeuge ich die Textdatei in eine Java-Skript mit dem Befehl "fs.writeFileSync(datei, string)"
                  und füge jeweils Daten mit "fs.appendFileSync(datei, string)"
                  hinzu. Ich kann mir die Datei über eine Konsole mit dem nano-Editor ansehen, aber der VIS-Dateimanager zeigt mir diese Datei nicht an, deshalb kann ich die Datei auch nicht herunterladen.
                  Lade ich mit dem Dateimanager eine Testdatei von menem PC hoch, funktioniert das bestens.
                  Jetzt muss ich also noch einen Weg finden, wie ich die Datei brauchbar dorthin bekomme.

                  liv-in-skyL 1 Antwort Letzte Antwort
                  0
                  • T Thorti

                    @liv-in-sky

                    Hallo liv-in-sky,
                    erst einmal vielen Dank für deine Hilfe,
                    das Script funktioniert wunderbar.
                    Das Problem bei mir ist anscheinend noch ein ganz anderes, und zwar erzeuge ich die Textdatei in eine Java-Skript mit dem Befehl "fs.writeFileSync(datei, string)"
                    und füge jeweils Daten mit "fs.appendFileSync(datei, string)"
                    hinzu. Ich kann mir die Datei über eine Konsole mit dem nano-Editor ansehen, aber der VIS-Dateimanager zeigt mir diese Datei nicht an, deshalb kann ich die Datei auch nicht herunterladen.
                    Lade ich mit dem Dateimanager eine Testdatei von menem PC hoch, funktioniert das bestens.
                    Jetzt muss ich also noch einen Weg finden, wie ich die Datei brauchbar dorthin bekomme.

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

                    @thorti

                    ja das ist der befehl writefile

                    da gibt es einen thread

                    https://forum.iobroker.net/topic/25541/gelöst-wie-writefile-in-js-script-nutzen

                    vom pc in einen ordner auf dem server (samba,sftp, ftp)- mit einem script ordner lesen und in vis.0 schreiben/kopieren/ besser verschieben

                    das werden wir auch noch hinbekommen :-)

                    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

                    T 1 Antwort Letzte Antwort
                    1
                    • liv-in-skyL liv-in-sky

                      @thorti

                      ja das ist der befehl writefile

                      da gibt es einen thread

                      https://forum.iobroker.net/topic/25541/gelöst-wie-writefile-in-js-script-nutzen

                      vom pc in einen ordner auf dem server (samba,sftp, ftp)- mit einem script ordner lesen und in vis.0 schreiben/kopieren/ besser verschieben

                      das werden wir auch noch hinbekommen :-)

                      T Offline
                      T Offline
                      Thorti
                      schrieb am zuletzt editiert von
                      #10

                      @liv-in-sky
                      Es hat ein wenig gedauert, aber jetzt funktioniert alles! 🤗
                      Vielen Dank nochmal an liv-in-sky!
                      Es ist also wirlich entscheidend, die Datei über die Funktion writefile() erstellt wird.
                      Mein Problem war dazu noch, daß ich die Datei vorher mit readFile() auslesen wollte, um eine Zeile daranzuhängen. Ich war davon ausgegangen, dass im Skript alles sequentiell abgearbeitet wird.
                      Das ist aber nicht so, während die Funktion readFile() also noch aktiv ist, wird das Skript weiter abgearbeitet und meine String-Variable, die durch readFile() gefüllt werden sollte, war in der weiteren Bearbeitung aber noch leer.
                      Also rufe ich writeFile() innerhalb der readFile() auf, und so funktioniert es.

                      var value = obj.state.val;
                      var string = " ";
                      var datei = "/test.txt"
                      
                      readFile('vis.0',datei, function (error, data) {
                           string += data;
                      
                           writeFile('vis.0',datei, string, function (error) { }); 
                           });
                      
                      
                      1 Antwort Letzte Antwort
                      1

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      712

                      Online

                      32.8k

                      Benutzer

                      82.8k

                      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