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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Lösung zur Wertspeicherung

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                              • A
                                Accuface @mickym last edited by Accuface

                                @mickym said in Lösung zur Wertspeicherung:

                                @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.

                                Vielen Dank schon mal.

                                Ich bin jetzt irritiert, das ist jetzt zum Download oder wie?
                                Ich dachte eigentlich dass die Werte Automatisch zu nem bestimmten Zeitpunkt in die Excelliste geschrieben werden können.

                                Sorry wenn ih mich da viell. unverständlich ausgedrükt habe.
                                Ich hab ja (noch) keinen Flow um meine gewünschten Zählerwerte aus den DP in die Excelliste zu übertragen.
                                Ich hab mir zwar die von Dir geposteten Themen angesehen, versteh aber im moment noch nicht was da alles an nodes benötigt wird und was in welche nodes eingetragen werden muss. Soweit bin ich noch ned.

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

                                  @accuface Das weiß ich doch alles - Du solltest ein bisschen geduldiger sein. Wir kümmern uns ja nun erst mal darum, dass Du eine Datei auf Dein laptop laden kannst.

                                  Dazu kopierst Du das was ich Dir in dem Spoiler geschickt habe in Deine Zwischenablage:

                                  eb6e3db5-2806-46ed-b6ca-ff85b19288ae-image.png

                                  Dann machst Du dein NodeRed auf und importierst diesen Flow:

                                  5fa7f09d-27fc-481d-a513-b9cbe90d76ab-image.png

                                  Kopierst dann den Inhalt der Zwischenablage in das rosa Fenster

                                  cddb1771-fdc6-4d26-974a-80416b798805-image.png

                                  drückst auf Import und plazierst diese Nodes in einen Flow Deiner Wahl klickst auf übernehmen.

                                  Anschließend probierst Du den Link in Deinem Browser aus, den ich Dir gepostet habe, natürlich mit deiner IP Adresse und versuchst damit die Textdatei - die Du gestern im Homeverzeichnis des iobrokers erstellst auf Dein Laptop zu laden.

                                  Ein Schritt nach dem anderen OK?

                                  Nein die werden nicht automatisch in eine Excelliste geschrieben - sinnvoller ist es auch, das als CSV zu laden - da Du ja das Excel auf Deinem LAPTOP hast, das nicht 24 Std. an ist. Der Vorteil es in eine CSV zu schreiben ist, dass dann nicht nur die neuen Daten sondern die Datei die Historie erhält Du aber in Dein Excel nur das DELTA importierst.

                                  Also iobroker soureanalytics -> NodeRed in CSV unter /home/iobroker -> Download auf Dein Laptop -> Excel aufmachen und Sheet auf Aktualisieren klicken. (Vorausgesetzt Du speicherst auf Deinem Laptop immer auf die gleiche Datei).

                                  In dem einen Link habe ich doch Schritt für Schritt erklärt, was Du im Excel machen musst:

                                  c31640bb-82b2-4413-95a8-8dff26cdd40e-image.png

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

                                    @mickym said in Lösung zur Wertspeicherung:

                                    @accuface Das weiß ich doch alles - Du solltest ein bisschen geduldiger sein. Wir kümmern uns ja nun erst mal darum, dass Du eine Datei auf Dein laptop laden kannst.

                                    Dazu kopierst Du das was ich Dir in dem Spoiler geschickt habe in Deine Zwischenablage:

                                    eb6e3db5-2806-46ed-b6ca-ff85b19288ae-image.png

                                    Dann machst Du dein NodeRed auf und importierst diesen Flow:

                                    5fa7f09d-27fc-481d-a513-b9cbe90d76ab-image.png

                                    Kopierst dann den Inhalt der Zwischenablage in das rosa Fenster

                                    cddb1771-fdc6-4d26-974a-80416b798805-image.png

                                    drückst auf Import und plazierst diese Nodes in einen Flow Deiner Wahl klickst auf übernehmen.

                                    Anschließend probierst Du den Link in Deinem Browser aus, den ich Dir gepostet habe, natürlich mit deiner IP Adresse und versuchst damit die Textdatei - die Du gestern im Homeverzeichnis des iobrokers erstellst auf Dein Laptop zu laden.

                                    Ein Schritt nach dem anderen OK?

                                    Nein die werden nicht automatisch in eine Excelliste geschrieben - sinnvoller ist es auch, das als CSV zu laden - da Du ja das Excel auf Deinem LAPTOP hast, das nicht 24 Std. an ist. Der Vorteil es in eine CSV zu schreiben ist, dass dann nicht nur die neuen Daten sondern die Datei die Historie erhält Du aber in Dein Excel nur das DELTA importierst.

                                    Also iobroker soureanalytics -> NodeRed in CSV unter /home/iobroker -> Download auf Dein Laptop -> Excel aufmachen und Sheet auf Aktualisieren klicken. (Vorausgesetzt Du speicherst auf Deinem Laptop immer auf die gleiche Datei).

                                    😬 okok....sorry. Ich und geduld passt nur bedingt zusammen.

                                    werde ich später testen wenn ich zuhause bin.

                                    Danke

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

                                      @accuface Hier habe ich doch zusammengefasst, was Du im Excel dann machen musst.

                                      f8d4eb14-64e9-401c-b133-20b70d1859f1-image.png

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

                                        @mickym said in Lösung zur Wertspeicherung:

                                        @accuface Hier habe ich doch zusammengefasst, was Du im Excel dann machen musst.

                                        ja, alles gut.
                                        Hab das jetzt getestet.....

                                        text in Excel.png

                                        das funzt. *Freu

                                        Ich hab nun eine neue test.txt datei angelegt, in Excel eingelesen, hat funktioniert, dann hab ich in diese Datei auf dem Raspi weitere Zeilen (Text) eingefügt. runtergeladen, natürlich musste ich die erste Löschen, die Aktualiesierte umbenennen und konnte über aktualisieren die zugefügten Zeilen (text) sehen.
                                        Das funktioniert auch soweit.

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

                                          @accuface In Zukunft löscht Du nichts mehr sondern kopierst Du die Datei einfach auf die bestehende drauf - ohne Löschen und irgendwas - und drückst im Excel nur auf Aktualisieren - wie ich das im Screenshot gezeigt habe.

                                          Dann importierst erst mal den Flow aus dem anderen Thread: https://forum.iobroker.net/post/1159322

                                          Und dann werden wir langsam eine Node nach der anderen durchsprechen.

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

                                            @mickym said in Lösung zur Wertspeicherung:

                                            @accuface ...........sondern kopierst Du die Datei einfach auf die bestehende drauf -

                                            wenn ich die über den Link im Browser downloade, dann vergibt er doch automatisch den namen plus (1), weil sie ja genauso heisst. da kann ich doch nix kopieren, oder wie?

                                            Dann importierst erst mal den Flow aus dem anderen Thread: https://forum.iobroker.net/post/1159322

                                            in den rein wo der Flow zum Downlaoden ist?

                                            Und dann werden wir langsam eine Node nach der anderen durchsprechen.

                                            OK

                                            mickym 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            731
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            232
                                            10264
                                            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