<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[[gelöst] Datei-Download per Button]]></title><description><![CDATA[<p dir="auto">Ich würde gerne aus meiner Visualisierung heraus per Widget "Button Link" eine Textdatei mit aufgezeichneten Daten herunterladen können.<br />
Die Datei befindet sich im Verzeichnis 'vis.0'.<br />
Klicke ich auf den Button, wird mir leider nur angezeigt "File daten.txt not found: {}".<br />
Verlinke ich den Button auf eine Bild-Datei im selben Verzeichnis, so wird diese korrekt angezeigt.<br />
Hat jemand eine Idee, wie ich soetwas realisiern kann?</p>
]]></description><link>https://forum.iobroker.net/topic/48270/gelöst-datei-download-per-button</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Apr 2026 06:08:47 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/48270.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Oct 2021 16:33:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Sun, 10 Oct 2021 11:23:43 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/liv-in-sky" aria-label="Profile: liv-in-sky">@<bdi>liv-in-sky</bdi></a><br />
Es hat ein wenig gedauert, aber jetzt funktioniert alles! <img src="https://forum.iobroker.net/assets/plugins/nodebb-plugin-emoji/emoji/android/1f917.png?v=ba16ebd4856" class="not-responsive emoji emoji-android emoji--hugging_face" style="height:23px;width:auto;vertical-align:middle" title=":hugging_face:" alt="🤗" /><br />
Vielen Dank nochmal an liv-in-sky!<br />
Es ist also wirlich entscheidend, die Datei über die Funktion writefile() erstellt wird.<br />
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.<br />
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.<br />
Also rufe ich writeFile() innerhalb der readFile() auf, und so funktioniert es.</p>
<pre><code>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) { }); 
     });

</code></pre>
]]></description><link>https://forum.iobroker.net/post/686607</link><guid isPermaLink="true">https://forum.iobroker.net/post/686607</guid><dc:creator><![CDATA[Thorti]]></dc:creator><pubDate>Sun, 10 Oct 2021 11:23:43 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Fri, 08 Oct 2021 17:32:10 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/thorti" aria-label="Profile: thorti">@<bdi>thorti</bdi></a></p>
<p dir="auto">ja das ist der befehl writefile</p>
<p dir="auto">da gibt es einen thread</p>
<p dir="auto"><a href="https://forum.iobroker.net/topic/25541/gel%C3%B6st-wie-writefile-in-js-script-nutzen">https://forum.iobroker.net/topic/25541/gelöst-wie-writefile-in-js-script-nutzen</a></p>
<p dir="auto">vom pc in einen ordner auf dem server  (samba,sftp, ftp)-  mit einem script ordner lesen und in vis.0 schreiben/kopieren/ besser verschieben</p>
<p dir="auto">das werden wir auch noch hinbekommen :-)</p>
]]></description><link>https://forum.iobroker.net/post/686157</link><guid isPermaLink="true">https://forum.iobroker.net/post/686157</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Fri, 08 Oct 2021 17:32:10 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Fri, 08 Oct 2021 17:26:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/liv-in-sky" aria-label="Profile: liv-in-sky">@<bdi>liv-in-sky</bdi></a></p>
<p dir="auto">Hallo liv-in-sky,<br />
erst einmal vielen Dank für deine Hilfe,<br />
das Script funktioniert wunderbar.<br />
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)"<br />
und füge jeweils Daten mit "fs.appendFileSync(datei, string)"<br />
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.<br />
Lade ich mit dem Dateimanager eine Testdatei von menem PC hoch, funktioniert das bestens.<br />
Jetzt muss ich also noch einen Weg finden, wie ich die Datei brauchbar dorthin bekomme.</p>
]]></description><link>https://forum.iobroker.net/post/686152</link><guid isPermaLink="true">https://forum.iobroker.net/post/686152</guid><dc:creator><![CDATA[Thorti]]></dc:creator><pubDate>Fri, 08 Oct 2021 17:26:08 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Fri, 08 Oct 2021 06:27:28 GMT]]></title><description><![CDATA[<p dir="auto">nachtrag - funktioniert auch in fully browser - einstellung</p>
<p dir="auto">Check these settings in Fully Web Content Settings:</p>
<ul>
<li>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.</li>
</ul>
]]></description><link>https://forum.iobroker.net/post/685876</link><guid isPermaLink="true">https://forum.iobroker.net/post/685876</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Fri, 08 Oct 2021 06:27:28 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Fri, 08 Oct 2021 06:44:44 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/thorti" aria-label="Profile: thorti">@<bdi>thorti</bdi></a></p>
<p dir="auto">hätte nicht gedacht, das dies so schwierig wird</p>
<p dir="auto">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</p>
<p dir="auto">folgendes angleichen bei dir:</p>
<ul>
<li>zeile 3: "#w02460" ist die widget id - die musst du von dir eintragen</li>
<li>zeile 5: download("test.txt", "/vis.0/test.txt");  - dort muss dein pfad und dateiname rein</li>
<li>zeile 21 : dort kannst du dein bild einfügen</li>
</ul>
<pre><code>&lt;script&gt;

$('#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");*/

&lt;/script&gt;


&lt;img src="https://forum.iobroker.net/assets/uploads/system/site-logo.png?v=gqnpiq7ce6k" alt="bild" width="100" height="100"&gt;
</code></pre>
<p dir="auto">[search help] download file datei vis</p>
]]></description><link>https://forum.iobroker.net/post/685535</link><guid isPermaLink="true">https://forum.iobroker.net/post/685535</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Fri, 08 Oct 2021 06:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Thu, 07 Oct 2021 08:20:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/thorti" aria-label="Profile: thorti">@<bdi>thorti</bdi></a></p>
<p dir="auto">z.b mit dem code in einem html widget, wird in android angeboten, es down zu loaden</p>
<pre><code>&lt;a href="/vis.0/test.txt" download="test.txt"&gt;Download PDF&lt;/a&gt;
</code></pre>
<p dir="auto">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</p>
<p dir="auto">es kommt also darauf an, mit welchen geräten du es downloaden willst</p>
<p dir="auto">mit dem widget von dir, wird in android auch nur die textdatei angezeigt und nicht sofort downgeloaded</p>
]]></description><link>https://forum.iobroker.net/post/685480</link><guid isPermaLink="true">https://forum.iobroker.net/post/685480</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Thu, 07 Oct 2021 08:20:07 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Thu, 07 Oct 2021 08:11:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/thorti" aria-label="Profile: thorti">@<bdi>thorti</bdi></a> sagte in <a href="/post/685311">Datei-Download per Button</a>:</p>
<blockquote>
<p dir="auto">Die Datei befindet sich im Verzeichnis 'vis.0'.</p>
</blockquote>
<p dir="auto">habe nochmal nachgeschaut - da reagiert jeder browser anders</p>
<p dir="auto">mit dem widget, welches du erwähnst funktioniert es auch   - aber <strong>wichtig</strong> ist dabei, wie du die datei in das vis.0 verzeichnis kopiert hast<br />
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</p>
]]></description><link>https://forum.iobroker.net/post/685476</link><guid isPermaLink="true">https://forum.iobroker.net/post/685476</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Thu, 07 Oct 2021 08:11:38 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Thu, 07 Oct 2021 07:43:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/liv-in-sky" aria-label="Profile: liv-in-sky">@<bdi>liv-in-sky</bdi></a></p>
<p dir="auto">Das ist ja klasse. Vielen Dank für die schnelle Hilfe!<br />
Leider werde ich es verrmutlich erst morgen schaffen, das auszuprobieren,<br />
ich gebe dann aber sofort Bescheid, ob es funktioniert hat.</p>
]]></description><link>https://forum.iobroker.net/post/685469</link><guid isPermaLink="true">https://forum.iobroker.net/post/685469</guid><dc:creator><![CDATA[Thorti]]></dc:creator><pubDate>Thu, 07 Oct 2021 07:43:07 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] Datei-Download per Button on Wed, 06 Oct 2021 18:00:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/thorti" aria-label="Profile: thorti">@<bdi>thorti</bdi></a></p>
<p dir="auto">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</p>
<pre><code>&lt;a href="data:text/plain;charset=UTF-8,/vis.0/test.txt" download&gt; &lt;img alt="Qries" src="https://www.qries.com/images/banner_logo.png"&lt;/a&gt;
&lt;script&gt;
    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);
}
    
&lt;/script&gt;



</code></pre>
<p dir="auto">das file muss aber writefile in iobroker geschrieben worden sein</p>
<p dir="auto">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</p>
]]></description><link>https://forum.iobroker.net/post/685330</link><guid isPermaLink="true">https://forum.iobroker.net/post/685330</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Wed, 06 Oct 2021 18:00:29 GMT</pubDate></item></channel></rss>