Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Lösung zur Wertspeicherung

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Lösung zur Wertspeicherung

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active @Accuface last edited by

      @accuface
      9fcc2d3f-bb8a-45f8-8ee1-e6de285cac33-image.png
      Dies ist ausreichend.

      @accuface sagte in Lösung zur Wertspeicherung:

      npm install exceljs

      Dies war falsch.

      Weiterhin findet er die file nicht.
      Lege diese mal unter /opt/iobroker....

      bahnuhr 1 Reply Last reply Reply Quote 1
      • mickym
        mickym Most Active @Accuface last edited by mickym

        @accuface Ich hab da mal ein fertigen NodeRed Flow mit entwickelt, wenn Du Interesse hast. Dieser schreibt in eine CSV Datei.

        Oder hier: https://forum.iobroker.net/topic/74480/energieverbrauch-in-datei-speichern?_=1734205267154

        1 Reply Last reply Reply Quote 1
        • bahnuhr
          bahnuhr Forum Testing Most Active @bahnuhr last edited by

          @bahnuhr

          csv geht natürlich auch per Script.

          https://forum.iobroker.net/topic/73421/mehrere-objektwerte-in-csv-schreiben-gelöst/2

          A 1 Reply Last reply Reply Quote 1
          • A
            Accuface @bahnuhr last edited by Accuface

            @bahnuhr
            @mickym

            Danke für die Links, hab mir alles angesehen und versucht zu verstehen und nachzuvollziehen.

            Umso mehr ich lese umso weniger blick ich durch.

            @bahnuhr said in Lösung zur Wertspeicherung:

            Lege diese mal unter /opt/iobroker....

            Wo ist dass? ich hab keine Ahnung.
            auf meinem NAS? auf meinem Laptop, im iobroker....wenn ja, wie komm ich da hin.

            Ich bin mit den Bruchstücken überfordert, da ich nicht weiß was und wo das ist.

            Ich würde ja gern einfach mal irgendwas testen, aber an irgendeinem punkt, alleine vom durchlesen wird mir schwindelig. wenn dann noch sowas steht wie.... einfach in die Datei schreiben...... ja schon, aber wo ist die datei, wie kommt man dahin.

            Sorry wenn ich euch nerve, aber ich kann halt als anfänger der bei 0 steht, mit solchen angaben nix anfangen.

            Ich fasse mal zusammen was ich möchte:

            Die täglichen Werte meiner Zähler um kurz vor Mitternacht in eine Liste schreiben, ob excel oder CSV ist mir egal solange ich diese öffnen kann und die Werte sehe.

            Die liste sollte von meinem Laptop (übers Netzwerk?) erreichbar sein. da der Laptop keine 24/7 läuft, müsste es wohl das NAS (synology) oder einer meiner PI's sein.

            Mittlerweile ist es mir auch egal ob mit Blockly, JS, Node oder sonst was, es sollte einfach und verständlich sein, so dass ich auch verstehe was ich da tue.

            Was hab ich?
            Ich hab die Zählerwerte über ein ESP mit tasmota ausgelesen im Source Analytics stehen.

            Die Liste sollte alle relevanten Daten bekommen:
            Datum, Uhrzeit, Name des Wertes (um ihn zuzuordnen), und den Wert natürlich.

            mickym 1 Reply Last reply Reply Quote 0
            • mickym
              mickym Most Active @Accuface last edited by mickym

              @accuface Nun ja - ich habe nicht Node gemeint, sondern NodeRed und Dir die Links zu den bestehenden Flows geschickt. Weiß aber nicht, ob Du Dich überhaupt auf dieses geniale Produkt einlassen willst.

              Das Problem ist, dass NodeRed an sich erstmal nur in ein lokalen Pfad schreiben kann, der allerdings auf ein entferntes Verzeichnis gemountet sein dkann.

              Wenn Du mit NodeRed anfangen willst, dann musst Du Dir im iobroker den Adapter installieren, da sonst NodeRed nicht auf Deine Datenpunkte zugreifen kann. Damit ist es auf jeden Fall eine Maschine die 24*7 läuft. NodeRed kann auch nur auf das lokale Dateisystem zugreifen. Wenn musst Du dieses dann freigeben für Dein Laptop oder von mir aus auch auf Deinem NAS über dass Du von der iob Maschine, als auch vom Laptop zugreifen kannst. Solange das aber mit den Rechten nicht hinhaut - kann ich da auch wenig helfen. Ich habs mal bei mir auf dem Windowsrechner gemacht, das geht prinzipiell - aber das wird erst mal eine Rumprobiererei bis das mit den Rechten stimmt.

              Wie gesagt, wenn Du das lieber mit Deinen bisherigen Mitteln, wie Blockly oder JS und mit Node JS Bibliotheken machen willst, dann bin ich raus, da können Dir andere besser helfen bzw. ich habe einfach keine Lust mehr Programmcode zu schreiben bzw. Puzzleteilchen zu suchen.

              Ich würde Dir in jedem Fall das Schreiben in CSV Dateien empfehlen, da Du dann im Excel einfach auf Aktualisieren gehen kannst und in diesem Fall die CSV nur ergänzt wird.

              Ich habe gerade mal so eine Excel Node probiert, die direkt Excel Dateien schreiben kann, allerdings nur jedes Mal neu.

              8b4de218-b1aa-4b93-9468-ad863188af1e-image.png

              Das halte ich jedoch für weniger optimal. Also entscheide Dich halt, welche Lösung Du bevorzugst.
              Im Moment gibt es hier im Forum sicher mehr Entwickler, die Dich mit Javascript oder Blockly unterstützen - andererseits kannst Du ja, wenn Dir NodeRed gefällt, dies auch in Zukunft für andere Aufgaben einsetzen.

              A 1 Reply Last reply Reply Quote 1
              • A
                Accuface @mickym last edited by

                @mickym said in Lösung zur Wertspeicherung:
                ,

                Das halte ich jedoch für weniger optimal. Also entscheide Dich halt, welche Lösung Du bevorzugst.

                Ich hatte mir heute ein paar Anleitungen und Videos angesehen zu NodeRed.
                Voller eifer hab ich mich dann vorhin hingesetzt und wollte eine einfache Hello World eingabe machen, also ein inject node mit hello world beschrieben, ein Debug node als Ausgabe, beide miteinander verbunden, deploy und….. ja nix und, der flow wurde deaktiviert… warum auch immer.

                Hab frustriert den Laptop ausgeschaltet und bin ins Bett. Noch nicht mal nach Anleitung krieg ich sowas gebacken.

                Verstehst du jetzt was ich meine? Ich bin zu blöd für programmierzeug.

                Grüsse

                Homoran mickym 2 Replies Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Accuface last edited by

                  @accuface sagte in Lösung zur Wertspeicherung:

                  warum auch immer.

                  sollte im log stehen

                  1 Reply Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @Accuface last edited by mickym

                    @accuface Ein flow wird nicht einfach deaktiviert und ist ja richtig wie Du anfängst. Ich bin ja gerne bereit, dass mit Dir zusammen zu machen, aber bisschen Geduld mit Dir selbst solltest Du schon mitbringen.

                    Nun schau erst mal, ob der Adapter läuft und ggf. was @Homoran sagt, ob was im Log steht. Mach halt Screenshots dann sieht man auch was ggf. passiert.

                    Wichtig ist auch, dass man nicht irgendwelche uralt Videos zu Rate zieht - es kann sein, dass ggf. bestimmte Dinge, die vor 5 Jahren funktioniert haben, heute nicht mehr funktionieren.

                    A 2 Replies Last reply Reply Quote 2
                    • A
                      Accuface @mickym last edited by

                      @mickym said in Lösung zur Wertspeicherung:

                      @accuface Ein flow wird nicht einfach deaktiviert und ist ja richtig wie Du anfängst. Ich bin ja gerne bereit, dass mit Dir zusammen zu machen, aber bisschen Geduld mit Dir selbst solltest Du schon mitbringen.

                      Geduld ist nicht so meine Stärke, bzw. wollte ich ab Januar die Werte aufzeichnen und sehe halt dass ich das nicht hinkriege bis dahin. Da hab ich halt leider meinen eigenen Kopf.

                      Nun schau erst mal, ob der Adapter läuft und ggf. was @Homoran sagt, ob was im Log steht. Mach halt Screenshots dann sieht man auch was ggf. passiert.

                      NodeRed läuft ja soweit, denke ich. Ich hab ihn ja schon benutzt. Ich werde dass ganze heute abend nochmal angehen und dann screens machen.
                      Hatte einfach gestern keinen Bock mehr.

                      Wichtig ist auch, dass man nicht irgendwelche uralt Videos zu Rate zieht - es kann sein, dass ggf. bestimmte Dinge, die vor 5 Jahren funktioniert haben, heute nicht mehr funktionieren.

                      Was ich mir angesehen hatte war von 2022, also noch nicht soooo alt.

                      1 Reply Last reply Reply Quote 0
                      • A
                        Accuface @mickym last edited by

                        @mickym said in Lösung zur Wertspeicherung:

                        @accuface Ein flow wird nicht einfach deaktiviert und ist ja richtig wie Du anfängst. Ich bin ja gerne bereit, dass mit Dir zusammen zu machen, aber bisschen Geduld mit Dir selbst solltest Du schon mitbringen.

                        So, heute nochmal versucht und heute ging es. Keine Ahnung was dass gestern war. Wahrscheinlich zu lange gearbeitet, zu spät und müde, oder einfach beides.

                        Also der Node Red Adapter ist ja im iob installiert.

                        hab mir die Flow's aus deinem obigen Post angesehen, checke aber nicht wie die einzelnen Notes beschrieben werden müssen.

                        Ich hatte spasshalber mal einen Datenpunkt vom Täglichen Eigenverbruch in ein leeres Feld gezogen. theoretisch, wenn ich es richtig verstanden habe, sollte er sich da den Value holen, ist aber nicht passiert.

                        Naja, morgen ist auch noch ein Abend. mus um halb 4 aus der Kiste.

                        Grüße

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Accuface last edited by

                          @accuface Nein - die iobroker-IN Node schickt eine Nachricht, wenn der Datenpunkt triggert und das ist auch sinnvoll, weil man dann nicht pullen muss.

                          Aber bevor Du das machst, solltest Du erst einmal ein Verzeichnis anlegen auf das der iobroker Zugriff hat und auf das Du dann mit Deinem Laptop zugreifen kannst.

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Accuface @mickym last edited by Accuface

                            @mickym

                            also ich hab auf dem NAS einen User iobroker (da werden schon iob Backups gesichert) Ich hab mittlerweile Drive auf dem NAS laufen und ein Drive Verzeichnis mit einer Excel tabelle.

                            wie man ein Verzeichnis auf dem iobroker Raspberry erstellet weiss ich nicht, bzw. hab es im Terminal versucht, bekam aber die meldung dass der zugriff verwehrt wurde. keine Ahnung, kenn ich mich nicht aus mit und wenn ich über google danach suche wie man ein Verzeichnis anlegt kommen immer nur Installationsvideos.

                            hier auf dem NAS

                            Nas drive.png

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Accuface last edited by mickym

                              @accuface Also das ist das A und O - das musst Du selbst checken - insbesondere mit Deinem NAS. Ich würde Dir eine eigene Freigabe empfehlen, die Du auf dem Raspberry mountest .

                              Melde Dich auf dem Terminal in Deinem Raspberry an.

                              Dann erstellst Du am besten ein Homeverzeichnis für den Benutzer iobroker. Wenn Du als pi angemeldet bist, dann gibst Du ein:

                              cd /home
                              sudo mkdir iobroker
                              sudo chown iobroker:iobroker /home/iobroker
                              

                              anschließend überprüfst Du den Inhalt Deines Homeverzeichnisses mit:

                              ls -la
                              

                              Das Homeverzeichnis sollte dann so aussehen (plus das Homeverzeichnis anderer Benutzer zum Beispiel pi):

                              $ ls -la
                              insgesamt 20
                              drwxr-xr-x  5 root     root     4096 13. Apr 2024  .
                              drwxr-xr-x 20 root     root     4096 28. Nov 15:03 ..
                              drwxr-xr-x 14 iobroker iobroker 4096 16. Okt 13:31 iobroker
                              

                              Anschließend gibst Du noch den Verweis in die Benutzerverwaltung ein mit:

                              sudo usermod -d /home/iobroker iobroker
                              

                              Wenn das erfolgreich war, kannst Du das mit folgendem Befehl überprüfen:

                              cat /etc/passwd
                              

                              unter der Zeile des iobrokers sollte nun das Homeverzeichnis eingetragen sein:

                              iobroker:x:1002:1002::/home/iobroker:/usr/sbin/nologin
                              

                              Nun testest Du als user iobroker. Dazu wechselst Du Deine Identität.

                              sudo -su iobroker
                              

                              mit

                              whoami
                              

                              solltest Du nun der Benutzer iobroker sein.

                              Mit

                              cd ~
                              

                              wechselst Du nun Homeverzeichnis und schaust ob Du eine Datei anlegen und lesen kannst.

                              nano test.txt
                              

                              dann schreibst Du was da rein. Verlässt mit Strg + X und bestätigst die Änderungen mit J. Anschließend schaust mit

                              cat nano.txt
                              

                              ob alles richtig abgespeichert wurde.

                              Dann erstellst Du Dir ein Verzeichnis nas in iobrokers Homedirectory:

                              mkdir nas
                              

                              Nun musst Du in dieses Verzeichnis nas Deine Freigabe des NAS mounten. Das musst Du aber selbst wissen, weil ich keine Ahnung habe, ob das Samba (Windows Freigaben ) oder nfs Freigaben sind.
                              Wenn das geklappt hat, dann solltest du die Dateien, die Du unter dem User iobroker im Verzeichnis nas erstellst automatisch auf dem NAS sehen und darauf mit Deinem Laptop zugreifen können.
                              Auch das mounten sollte mit dem Benutzer iobroker funktionieren.

                              Wenn das alles funktioniert, dann sprechen wir uns wieder.

                              Zur Rückkehr zum User pi einfach exit eingeben.

                              A 1 Reply Last reply Reply Quote 1
                              • A
                                Accuface @mickym last edited by

                                @mickym said in Lösung zur Wertspeicherung:

                                Wenn das alles funktioniert, dann sprechen wir uns wieder.

                                Zur Rückkehr zum User pi einfach exit eingeben.

                                WooooooooW.... Mega. vielen Dank dafür.

                                Da werd ich mich dann heute abend mal hinsetzen.

                                Ich hatte gestern auf dem iob Pi schon mal geschaut, ich melde mich als Bernd am PI an, eine überprüfung der User hat dann ergeben dass es Bernd und iobroker gibt.

                                Mein NAS ist ein Synology. Theoretisch muss es die Freigaben ja schon geben, da ich ja dort als user iobroker schon die Backup speichere.

                                Aber einen Schritt nach dem anderen.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  Accuface @Accuface last edited by

                                  soweit sogut:

                                  Bernd@raspberrypi5:~ $ cd /home
                                  Bernd@raspberrypi5:/home $ sudo mkdir iobroker
                                  mkdir: cannot create directory ‘iobroker’: File exists
                                  Bernd@raspberrypi5:/home $ sudo chown iobroker:iobroker /home/iobroker
                                  Bernd@raspberrypi5:/home $ ls -la
                                  total 16
                                  drwxr-xr-x 4 root root 4096 Sep 25 18:10 .
                                  drwxr-xr-x 18 root root 4096 Jul 4 02:14 ..
                                  drwx------ 7 Bernd Bernd 4096 Dec 14 16:55 Bernd
                                  drwxr-xr-x 5 iobroker iobroker 4096 Dec 18 18:12 iobroker
                                  Bernd@raspberrypi5:/home $ sudo usermod -d /home/iobroker iobroker
                                  usermod: no changes
                                  Bernd@raspberrypi5:/home $ cat /etc/passwd
                                  root❌0:0:root:/root:/bin/bash
                                  daemon❌1:1:daemon:/usr/sbin:/usr/sbin/nologin
                                  bin❌2:2:bin:/bin:/usr/sbin/nologin
                                  sys❌3:3:sys:/dev:/usr/sbin/nologin
                                  sync❌4:65534:sync:/bin:/bin/sync
                                  games❌5:60:games:/usr/games:/usr/sbin/nologin
                                  man❌6:12:man:/var/cache/man:/usr/sbin/nologin
                                  lp❌7:7:lp:/var/spool/lpd:/usr/sbin/nologin
                                  mail❌8:8:mail:/var/mail:/usr/sbin/nologin
                                  news❌9:9:news:/var/spool/news:/usr/sbin/nologin
                                  uucp❌10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
                                  proxy❌13:13:proxy:/bin:/usr/sbin/nologin
                                  www-data❌33:33:www-data:/var/www:/usr/sbin/nologin
                                  backup❌34:34:backup:/var/backups:/usr/sbin/nologin
                                  list❌38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
                                  irc❌39:39:ircd:/run/ircd:/usr/sbin/nologin
                                  _apt❌42:65534::/nonexistent:/usr/sbin/nologin
                                  nobody❌65534:65534:nobody:/nonexistent:/usr/sbin/nologin
                                  systemd-network❌998:998:systemd Network Management:/:/usr/sbin/nologin
                                  systemd-timesync❌997:997:systemd Time Synchronization:/:/usr/sbin/nologin
                                  messagebus❌100:107::/nonexistent:/usr/sbin/nologin
                                  _rpc❌101:65534::/run/rpcbind:/usr/sbin/nologin
                                  sshd❌102:65534::/run/sshd:/usr/sbin/nologin
                                  statd❌103:65534::/var/lib/nfs:/usr/sbin/nologin
                                  avahi❌104:110:Avahi mDNS daemon,,,:/run/avahi-daemon:/usr/sbin/nologin
                                  polkitd❌996:996:polkit:/nonexistent:/usr/sbin/nologin
                                  dnsmasq❌105:65534:dnsmasq,,,:/var/lib/misc:/usr/sbin/nologin
                                  Bernd❌1000:1000:,,,:/home/Bernd:/bin/bash
                                  iobroker❌1001:1001::/home/iobroker:/usr/sbin/nologin
                                  Bernd@raspberrypi5:/home $ sudo -su iobroker
                                  iobroker@raspberrypi5:/home $ whoami
                                  iobroker
                                  iobroker@raspberrypi5:/home $ cd ~
                                  iobroker@raspberrypi5:~ $ nano test.text
                                  iobroker@raspberrypi5:~ $ cat nano.txt
                                  cat: nano.txt: No such file or directory
                                  iobroker@raspberrypi5:~ $ nano test.text
                                  iobroker@raspberrypi5:~ $ cat nano.txt
                                  cat: nano.txt: No such file or directory
                                  iobroker@raspberrypi5:~ $
                                  

                                  obwohl hier:

                                  cat: nano.txt: No such file or directory
                                  

                                  wohl nichts gefunden wurde, ist sie hier:

                                  iobroker@raspberrypi5:~ $ ls -la
                                  total 104
                                  drwxr-xr-x 6 iobroker iobroker 4096 Dec 18 19:06 .
                                  drwxr-xr-x 4 root root 4096 Sep 25 18:10 ..
                                  -rw------- 1 iobroker iobroker 107 Dec 18 18:12 .bash_history
                                  -rw-r--r-- 1 iobroker iobroker 220 Mar 29 2024 .bash_logout
                                  -rw-r--r-- 1 iobroker iobroker 3523 Jul 4 02:05 .bashrc
                                  drwxr-xr-x 3 iobroker iobroker 4096 Sep 25 19:30 .cache
                                  -rw-r--r-- 1 iobroker iobroker 23827 Oct 15 20:24 .diag.sh
                                  -rw-r--r-- 1 iobroker iobroker 30277 Oct 15 22:43 iob_diag.log
                                  drwxr-xr-x 3 iobroker iobroker 4096 Dec 18 18:06 .local
                                  drwxr-xr-x 2 iobroker iobroker 4096 Dec 18 18:26 nas
                                  drwxr-xr-x 5 iobroker iobroker 4096 Sep 25 19:07 .npm
                                  -rw-r--r-- 1 iobroker iobroker 807 Mar 29 2024 .profile
                                  -rw-r--r-- 1 iobroker iobroker 25 Dec 18 18:19 test.text
                                  

                                  vorhanden.

                                  Jetzt muss ich mich "nur noch" um das Mounten des NAS kümmern.

                                  mickym 1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @Accuface last edited by

                                    @accuface Ja mit dem test.test habe ich einen Fehler gemacht. 😉 - Aber Du weißt ja um was es ging. Nun ist das Schwierigste das NAS zu mounten, dass man als user iobroker in die Freigabe also unter /home/iobroker/nas speichern und schreiben kann. So dass Du dann mit Deinem Laptop darauf zugreifen kannst.

                                    1 Reply Last reply Reply Quote 1
                                    • mickym
                                      mickym Most Active last edited by

                                      Wie gesagt ich habe keine Synology - aber vielleicht hilft Dir der Artikel: https://kb.synology.com/de-de/DSM/tutorial/How_to_access_files_on_Synology_NAS_within_the_local_network_NFS#sZtk71ItBX

                                      1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active last edited by

                                        So wenn Du dieses Aufwand nicht betreiben willst, können wir auch die CSV Datei auf dem Raspberry schreiben und ich habe einfache Möglichkeit über NodeRed gefunden, wie Du diese auf Dein Laptop downloaden kannst, um sie dann in Dein Excelsheet zu importieren.

                                        Wenn Du immer den gleichen Dateinamen verwendest - kannst Du dann in einem XLS Sheet über Aktualisieren einfach die neuen Daten auf Bedarf hinzufügen.

                                        Das wäre auf jeden Fall eine schnelle Lösung ohne viel Aufwand die ich gerade selbst getestet habe.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Accuface @mickym last edited by Accuface

                                          @mickym said in Lösung zur Wertspeicherung:

                                          Wie gesagt ich habe keine Synology - aber vielleicht hilft Dir der Artikel: https://kb.synology.com/de-de/DSM/tutorial/How_to_access_files_on_Synology_NAS_within_the_local_network_NFS#sZtk71ItBX

                                          Das hatte ich gestern schon getestet. hatte nicht funktioniert.

                                          @mickym said in Lösung zur Wertspeicherung:

                                          So wenn Du dieses Aufwand nicht betreiben willst, können wir auch die CSV Datei auf dem Raspberry schreiben und ich habe einfache Möglichkeit über NodeRed gefunden, wie Du diese auf Dein Laptop downloaden kannst, um sie dann in Dein Excelsheet zu importieren.

                                          Wenn Du immer den gleichen Dateinamen verwendest - kannst Du dann in einem XLS Sheet über Aktualisieren einfach die neuen Daten auf Bedarf hinzufügen.

                                          Das wäre auf jeden Fall eine schnelle Lösung ohne viel Aufwand die ich gerade selbst getestet habe.

                                          moin,

                                          Das hört sich schon mal gut an, so könnte ich in Ruhe nach der NAS Lösung schauen.

                                          bin allerdings erst wieder heute abend zuhause.

                                          Grüße

                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @Accuface last edited by mickym

                                            @accuface Gut bei der einfachen Lösung importierst Du Dir diese kleine Gruppe in Dein Node-Red:
                                            d1366388-767c-49ac-bd86-b5fe7ee624cd-image.png

                                            [
                                               {
                                                   "id": "9aa4e669cb291598",
                                                   "type": "group",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "name": "Download files aus /home/iobroker",
                                                   "style": {
                                                       "label": true,
                                                       "fill": "#7fb7df",
                                                       "color": "#ffffff"
                                                   },
                                                   "nodes": [
                                                       "f31a598d.9fd2c8",
                                                       "98261154.3006",
                                                       "34dc99e5.495466",
                                                       "38d65d59.1d8aa2",
                                                       "3b8014a.86ad8ec",
                                                       "5de7cbb4.fa21a4",
                                                       "67ecfa7f.3f0e24",
                                                       "eac128f4fd832c06"
                                                   ],
                                                   "x": 134,
                                                   "y": 99,
                                                   "w": 732,
                                                   "h": 222
                                               },
                                               {
                                                   "id": "f31a598d.9fd2c8",
                                                   "type": "function",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "Set base path",
                                                   "func": "//restrict to /home/iobroker/\nvar basePath = \"/home/iobroker/\";\nvar filename = msg.req.params.fn;\n\n\nif(filename.includes(\"..\\\\\")){\n    msg.payload = \"Illegal file path\";\n    msg.statusCode = 405;//not allowed\n    return [null, msg];//fire output 2\n} else if(filename.includes(\"../\")){\n    msg.payload = \"Illegal file path\";\n    msg.statusCode = 405;//not allowed\n    return [null, msg];//fire output 2\n} \n//TODO: add more checks\n\nmsg.filename = basePath + filename;\nreturn [msg, null];//fire output 1\n\n\n",
                                                   "outputs": 2,
                                                   "timeout": "",
                                                   "noerr": 0,
                                                   "initialize": "",
                                                   "finalize": "",
                                                   "libs": [],
                                                   "x": 440,
                                                   "y": 200,
                                                   "wires": [
                                                       [
                                                           "34dc99e5.495466"
                                                       ],
                                                       [
                                                           "eac128f4fd832c06"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "98261154.3006",
                                                   "type": "http response",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "",
                                                   "statusCode": "",
                                                   "headers": {},
                                                   "x": 790,
                                                   "y": 240,
                                                   "wires": []
                                               },
                                               {
                                                   "id": "34dc99e5.495466",
                                                   "type": "file in",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "",
                                                   "filename": "filename",
                                                   "filenameType": "msg",
                                                   "format": "",
                                                   "chunk": false,
                                                   "sendError": false,
                                                   "encoding": "none",
                                                   "allProps": false,
                                                   "x": 630,
                                                   "y": 180,
                                                   "wires": [
                                                       [
                                                           "98261154.3006"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "38d65d59.1d8aa2",
                                                   "type": "catch",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "",
                                                   "scope": [
                                                       "34dc99e5.495466"
                                                   ],
                                                   "uncaught": false,
                                                   "x": 250,
                                                   "y": 280,
                                                   "wires": [
                                                       [
                                                           "3b8014a.86ad8ec"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "3b8014a.86ad8ec",
                                                   "type": "function",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "Set 404",
                                                   "func": "msg.payload = msg.error;\nmsg.statusCode = 404;//resource not found\nreturn msg;",
                                                   "outputs": 1,
                                                   "timeout": "",
                                                   "noerr": 0,
                                                   "initialize": "",
                                                   "finalize": "",
                                                   "libs": [],
                                                   "x": 460,
                                                   "y": 280,
                                                   "wires": [
                                                       [
                                                           "eac128f4fd832c06"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "5de7cbb4.fa21a4",
                                                   "type": "comment",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "Create http endpoint <nodered>/files/xxx  where xxx is the file name to download",
                                                   "info": "",
                                                   "x": 480,
                                                   "y": 140,
                                                   "wires": []
                                               },
                                               {
                                                   "id": "67ecfa7f.3f0e24",
                                                   "type": "http in",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "name": "",
                                                   "url": "/files/:fn",
                                                   "method": "get",
                                                   "upload": false,
                                                   "swaggerDoc": "",
                                                   "x": 230,
                                                   "y": 200,
                                                   "wires": [
                                                       [
                                                           "f31a598d.9fd2c8"
                                                       ]
                                                   ]
                                               },
                                               {
                                                   "id": "eac128f4fd832c06",
                                                   "type": "junction",
                                                   "z": "d2ff8c1dc9ccdccc",
                                                   "g": "9aa4e669cb291598",
                                                   "x": 600,
                                                   "y": 240,
                                                   "wires": [
                                                       [
                                                           "98261154.3006"
                                                       ]
                                                   ]
                                               }
                                            ]
                                            

                                            Damit kannst Du dann Datein NUR aus dem Verzeichnis: /home/iobroker auf dein Notebook runterladen.

                                            Also für Deine test.txt Datei gibst Du dannn im Browser folgendes ein:

                                            <ip-Adresse des iobrokers>:1880/files/test.text
                                            

                                            Dann solltest Du den normalen Download Dialog bekommen und Du kannst die Datei auf Deinem Laptop speichern.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            853
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            232
                                            10117
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo