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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Gelöst: Bilder senden von einen IOB zum anderen IOB

NEWS

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

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

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

Gelöst: Bilder senden von einen IOB zum anderen IOB

Scheduled Pinned Locked Moved Skripten / Logik
javascript
23 Posts 5 Posters 1.0k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • OliverIOO Offline
    OliverIOO Offline
    OliverIO
    wrote on last edited by OliverIO
    #5

    @michihorn

    Dumusst beim senden das Bild am besten in ein textformat umwandeln. Base64 wird da üblicherweise genommen.
    Beim empfangen den Prozess dann wieder umkehren.

    const fs = require("fs");
    
    // Bild einlesen
    const img = fs.readFileSync("/opt/iobroker/iobroker-data/files/test.jpg");
    
    // Base64 erzeugen
    const b64 = img.toString("base64");
    
    // In Datenpunkt speichern
    setState("0_userdata.0.pic", b64);
    
    

    Hier kannst du den Daten wieder auslesen und in eine Datei speichern

    const fs = require("fs");
    
    // Base64 aus State holen
    let b64 = getState("0_userdata.0.pic").val;
    
    // Falls der Wert mit "data:image/..." beginnt, Prefix entfernen
    if (b64.startsWith("data:image")) {
        b64 = b64.split(",")[1];
    }
    
    // Buffer erzeugen
    const buffer = Buffer.from(b64, "base64");
    
    // Datei speichern
    fs.writeFileSync("/opt/iobroker/iobroker-data/files/export.jpg", buffer);
    
    console.log("Bild gespeichert!");
    
    

    Wenn du das Bild dann noch in vis anzeigen willst, kannst du das per binding so machen,
    In dem du das folgende bei einem Basic Image Widget im Feld source einträgst (sofern die Quelle ein png war. Ansonsten den mime Type entsprechend anpassen)

    data:image/png;base64,{0_userdata.0.pic}
    

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    M 1 Reply Last reply
    1
    • MartinPM MartinP

      @michihorn "Sehen" sich die beiden iobroker-rechner denn überhaupt gegenseitig?

      Kannst Du vom Rechner bei Dir zu Hause den Rechner des iobroker im Ferienhaus anpingen?

      Wenn diese Verbindung über VPN/z. B. Fritzbox passiert oder über einen iobroker Premium account, wäre das ja in Ordnung, aber ansonsten hätte ich schon Vorbehalte, wenn die beiden Rechner offen im Internet stehen ...

      M Online
      M Online
      michihorn
      wrote on last edited by
      #6

      @martinp Die beiden IOB sind über Fritz VPN miteinander verbunden

      MartinPM 1 Reply Last reply
      0
      • M michihorn

        @martinp Die beiden IOB sind über Fritz VPN miteinander verbunden

        MartinPM Online
        MartinPM Online
        MartinP
        wrote on last edited by
        #7

        @michihorn Danke, ggfs. könnte man auch am iobroker vorbei arbeiten

        • Gleichnamiges Unterverzeichnis unter Userdata auf beiden Linux-Kisten einrichten.
        • Cronjob hält die beiden Verzeichnisse mit rsync syncron...

        Falls die obige Lösung von @OliverIO auch funktioniert, kann man auch die benutzen,

        Hatte erst aus dem Bauch gedacht, dass die Übertragung per rsync kompakter ist, aber womöglich wird da gar nicht binär übertragen, wie ich vorausgesetzt habe ...

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
        Linux pve 6.17.9-1-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        M 1 Reply Last reply
        0
        • OliverIOO OliverIO

          @michihorn

          Dumusst beim senden das Bild am besten in ein textformat umwandeln. Base64 wird da üblicherweise genommen.
          Beim empfangen den Prozess dann wieder umkehren.

          const fs = require("fs");
          
          // Bild einlesen
          const img = fs.readFileSync("/opt/iobroker/iobroker-data/files/test.jpg");
          
          // Base64 erzeugen
          const b64 = img.toString("base64");
          
          // In Datenpunkt speichern
          setState("0_userdata.0.pic", b64);
          
          

          Hier kannst du den Daten wieder auslesen und in eine Datei speichern

          const fs = require("fs");
          
          // Base64 aus State holen
          let b64 = getState("0_userdata.0.pic").val;
          
          // Falls der Wert mit "data:image/..." beginnt, Prefix entfernen
          if (b64.startsWith("data:image")) {
              b64 = b64.split(",")[1];
          }
          
          // Buffer erzeugen
          const buffer = Buffer.from(b64, "base64");
          
          // Datei speichern
          fs.writeFileSync("/opt/iobroker/iobroker-data/files/export.jpg", buffer);
          
          console.log("Bild gespeichert!");
          
          

          Wenn du das Bild dann noch in vis anzeigen willst, kannst du das per binding so machen,
          In dem du das folgende bei einem Basic Image Widget im Feld source einträgst (sofern die Quelle ein png war. Ansonsten den mime Type entsprechend anpassen)

          data:image/png;base64,{0_userdata.0.pic}
          
          M Online
          M Online
          michihorn
          wrote on last edited by
          #8

          @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

          Dumusst beim senden das Bild am besten in ein textformat umwandeln. Base64 wird da üblicherweise genommen.
          Beim empfangen den Prozess dann wieder umkehren.

          Das Ergebnis sieht so aus:

          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
          
          OliverIOO 1 Reply Last reply
          0
          • MartinPM MartinP

            @michihorn Danke, ggfs. könnte man auch am iobroker vorbei arbeiten

            • Gleichnamiges Unterverzeichnis unter Userdata auf beiden Linux-Kisten einrichten.
            • Cronjob hält die beiden Verzeichnisse mit rsync syncron...

            Falls die obige Lösung von @OliverIO auch funktioniert, kann man auch die benutzen,

            Hatte erst aus dem Bauch gedacht, dass die Übertragung per rsync kompakter ist, aber womöglich wird da gar nicht binär übertragen, wie ich vorausgesetzt habe ...

            M Online
            M Online
            michihorn
            wrote on last edited by
            #9

            @martinp sagte in Bilder senden von einen IOB zum anderen IOB:

            Cronjob hält die beiden Verzeichnisse mit rsync syncron...

            Wie soll das aussehen?

            MartinPM 1 Reply Last reply
            0
            • M michihorn

              @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

              Dumusst beim senden das Bild am besten in ein textformat umwandeln. Base64 wird da üblicherweise genommen.
              Beim empfangen den Prozess dann wieder umkehren.

              Das Ergebnis sieht so aus:

              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
              
              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              wrote on last edited by OliverIO
              #10

              @michihorn

              Ist ok, dann in einen datenpunkt speichern.
              Quelle war ein jpeg. Also für vis oben den mime Type anpassen. image/jpeg
              Bild sieht etwas dunkel und verschwommen aus 😵

              Nachtrag:
              Ich gehe natürlich davon aus das die beiden iobrokers als master\ Slave zusammengeschaltet sind. Nur dann syncen sich die datenpunkte

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              M 1 Reply Last reply
              0
              • OliverIOO OliverIO

                @michihorn

                Ist ok, dann in einen datenpunkt speichern.
                Quelle war ein jpeg. Also für vis oben den mime Type anpassen. image/jpeg
                Bild sieht etwas dunkel und verschwommen aus 😵

                Nachtrag:
                Ich gehe natürlich davon aus das die beiden iobrokers als master\ Slave zusammengeschaltet sind. Nur dann syncen sich die datenpunkte

                M Online
                M Online
                michihorn
                wrote on last edited by michihorn
                #11

                @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                Ich gehe natürlich davon aus das die beiden iobrokers als master\ Slave zusammengeschaltet sind. Nur dann syncen sich die datenpunkte

                Nein die Rechner sind autakt, jeder für sich.

                Hatte Deine erste Vorlage genutzt, und die Datenpunkte dann mit mqtt übertragen, dabei war das Ergebnis wie bereits gepostet.

                OliverIOO 1 Reply Last reply
                0
                • M michihorn

                  @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                  Ich gehe natürlich davon aus das die beiden iobrokers als master\ Slave zusammengeschaltet sind. Nur dann syncen sich die datenpunkte

                  Nein die Rechner sind autakt, jeder für sich.

                  Hatte Deine erste Vorlage genutzt, und die Datenpunkte dann mit mqtt übertragen, dabei war das Ergebnis wie bereits gepostet.

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  wrote on last edited by
                  #12

                  @michihorn

                  Ok das kam dann dort an wo du es auch haben wolltest.
                  Was willst du dann mit dem Bild weiter machen.
                  Speichern/anzeigen/beides?

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  1 Reply Last reply
                  0
                  • M Online
                    M Online
                    michihorn
                    wrote on last edited by
                    #13

                    @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                    Speichern/anzeigen/beides?

                    beides

                    OliverIOO 1 Reply Last reply
                    0
                    • M michihorn

                      @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                      Speichern/anzeigen/beides?

                      beides

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by
                      #14

                      @michihorn

                      ok und hast du beide methoden ausprobiert die ich oben gepostet habe?

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      1 Reply Last reply
                      0
                      • M Online
                        M Online
                        michihorn
                        wrote on last edited by
                        #15

                        @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                        ok und hast du beide methoden ausprobiert die ich oben gepostet habe?

                        Senden klappt.
                        Empfangen muckt noch...

                        const fs = require("fs");
                        const idpic_holen ="mqtt.1.logger.gthrn.Alarm.pic_senden"
                        on({ id: idpic_holen, change: "any" }, function (obj) {
                         log("Hab was geholt")
                        // Base64 aus State holen
                        let b64 = getState(idpic_holen).val;
                         
                        // Falls der Wert mit "data:image/..." beginnt, Prefix entfernen
                        if (b64.startsWith("data:image")) {
                            b64 = b64.split(",")[1];
                        }
                         
                        // Buffer erzeugen
                        const buffer = Buffer.from(b64, "base64");
                         
                        // Datei speichern
                        fs.writeFileSync("/opt/iobroker/iobroker-data/files/export.jpg", buffer);
                         
                        console.log("Bild gespeichert!")
                        });
                        

                        Hier der LOG:

                        javascript.0	18:54:00.095	info	
                        Hab was geholt
                        javascript.0	18:54:00.096	error	
                        Error in callback: Error: Permission denied
                        javascript.0	18:54:00.096	error	
                            at Function.checkProtected (/opt/iobroker/node_modules/iobroker.javascript/src/lib/protectFs.ts:325:19)
                        javascript.0	18:54:00.096	error	
                            at ProtectFs.writeFileSync (/opt/iobroker/node_modules/iobroker.javascript/src/lib/protectFs.ts:482:23)
                        javascript.0	18:54:00.096	error	
                            at Object.<anonymous> (script.js.Giethoorn._dir.pic_empfangen:18:4)
                        javascript.0	18:54:00.096	error	
                            at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38)
                        javascript.0	18:54:00.096	error	
                            at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25)
                        javascript.0	18:54:00.096	error	
                            at JavaScript.emit (node:events:524:28)
                        javascript.0	18:54:00.096	error	
                            at JavaScript.emit (node:domain:489:12)
                        javascript.0	18:54:00.096	error	
                            at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53)
                        javascript.0	18:54:00.096	error	
                            at processImmediate (node:internal/timers:483:21)
                        
                        
                        OliverIOO M 2 Replies Last reply
                        0
                        • M michihorn

                          @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                          ok und hast du beide methoden ausprobiert die ich oben gepostet habe?

                          Senden klappt.
                          Empfangen muckt noch...

                          const fs = require("fs");
                          const idpic_holen ="mqtt.1.logger.gthrn.Alarm.pic_senden"
                          on({ id: idpic_holen, change: "any" }, function (obj) {
                           log("Hab was geholt")
                          // Base64 aus State holen
                          let b64 = getState(idpic_holen).val;
                           
                          // Falls der Wert mit "data:image/..." beginnt, Prefix entfernen
                          if (b64.startsWith("data:image")) {
                              b64 = b64.split(",")[1];
                          }
                           
                          // Buffer erzeugen
                          const buffer = Buffer.from(b64, "base64");
                           
                          // Datei speichern
                          fs.writeFileSync("/opt/iobroker/iobroker-data/files/export.jpg", buffer);
                           
                          console.log("Bild gespeichert!")
                          });
                          

                          Hier der LOG:

                          javascript.0	18:54:00.095	info	
                          Hab was geholt
                          javascript.0	18:54:00.096	error	
                          Error in callback: Error: Permission denied
                          javascript.0	18:54:00.096	error	
                              at Function.checkProtected (/opt/iobroker/node_modules/iobroker.javascript/src/lib/protectFs.ts:325:19)
                          javascript.0	18:54:00.096	error	
                              at ProtectFs.writeFileSync (/opt/iobroker/node_modules/iobroker.javascript/src/lib/protectFs.ts:482:23)
                          javascript.0	18:54:00.096	error	
                              at Object.<anonymous> (script.js.Giethoorn._dir.pic_empfangen:18:4)
                          javascript.0	18:54:00.096	error	
                              at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38)
                          javascript.0	18:54:00.096	error	
                              at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25)
                          javascript.0	18:54:00.096	error	
                              at JavaScript.emit (node:events:524:28)
                          javascript.0	18:54:00.096	error	
                              at JavaScript.emit (node:domain:489:12)
                          javascript.0	18:54:00.096	error	
                              at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53)
                          javascript.0	18:54:00.096	error	
                              at processImmediate (node:internal/timers:483:21)
                          
                          
                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          wrote on last edited by
                          #16

                          @michihorn sagte in Bilder senden von einen IOB zum anderen IOB:

                          fs.writeFileSync("/opt/iobroker/iobroker-data/files/export.jpg", buffer);

                          verwende anstatt der zitierten Zeile die folgende

                          writeFile(null, "/export.jpg", buffer, (error) => {console.log(error)});
                          

                          im javascript adapter ist mittlerweile ein schutz drin, das man mit fs nicht mehr ins files verzeichnis schreiben darf.
                          speicherort musst mal schauen. da bin ich mir nicht so sicher wohin es schreibt. wahrscheinlich irgendwo unter /files

                          Meine Adapter und Widgets
                          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                          Links im Profil

                          1 Reply Last reply
                          0
                          • M michihorn

                            @oliverio sagte in Bilder senden von einen IOB zum anderen IOB:

                            ok und hast du beide methoden ausprobiert die ich oben gepostet habe?

                            Senden klappt.
                            Empfangen muckt noch...

                            const fs = require("fs");
                            const idpic_holen ="mqtt.1.logger.gthrn.Alarm.pic_senden"
                            on({ id: idpic_holen, change: "any" }, function (obj) {
                             log("Hab was geholt")
                            // Base64 aus State holen
                            let b64 = getState(idpic_holen).val;
                             
                            // Falls der Wert mit "data:image/..." beginnt, Prefix entfernen
                            if (b64.startsWith("data:image")) {
                                b64 = b64.split(",")[1];
                            }
                             
                            // Buffer erzeugen
                            const buffer = Buffer.from(b64, "base64");
                             
                            // Datei speichern
                            fs.writeFileSync("/opt/iobroker/iobroker-data/files/export.jpg", buffer);
                             
                            console.log("Bild gespeichert!")
                            });
                            

                            Hier der LOG:

                            javascript.0	18:54:00.095	info	
                            Hab was geholt
                            javascript.0	18:54:00.096	error	
                            Error in callback: Error: Permission denied
                            javascript.0	18:54:00.096	error	
                                at Function.checkProtected (/opt/iobroker/node_modules/iobroker.javascript/src/lib/protectFs.ts:325:19)
                            javascript.0	18:54:00.096	error	
                                at ProtectFs.writeFileSync (/opt/iobroker/node_modules/iobroker.javascript/src/lib/protectFs.ts:482:23)
                            javascript.0	18:54:00.096	error	
                                at Object.<anonymous> (script.js.Giethoorn._dir.pic_empfangen:18:4)
                            javascript.0	18:54:00.096	error	
                                at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/src/lib/sandbox.ts:1772:38)
                            javascript.0	18:54:00.096	error	
                                at JavaScript.onStateChange (/opt/iobroker/node_modules/iobroker.javascript/src/main.ts:750:25)
                            javascript.0	18:54:00.096	error	
                                at JavaScript.emit (node:events:524:28)
                            javascript.0	18:54:00.096	error	
                                at JavaScript.emit (node:domain:489:12)
                            javascript.0	18:54:00.096	error	
                                at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11138:53)
                            javascript.0	18:54:00.096	error	
                                at processImmediate (node:internal/timers:483:21)
                            
                            
                            M Online
                            M Online
                            michihorn
                            wrote on last edited by
                            #17

                            @michihorn sagte in Bilder senden von einen IOB zum anderen IOB:

                            Empfangen muckt noch...

                            Es reicht eigentlich das ich nun das Bild per mqtt übertragen hab und dann in der VIS per Binding zeige
                            data:image/jpg;base64,{mqtt.1.logger.gthrn.Alarm.pic_senden}.

                            Danke für Deine Hilfe.
                            Gruß
                            Michael

                            OliverIOO 1 Reply Last reply
                            0
                            • M michihorn

                              @michihorn sagte in Bilder senden von einen IOB zum anderen IOB:

                              Empfangen muckt noch...

                              Es reicht eigentlich das ich nun das Bild per mqtt übertragen hab und dann in der VIS per Binding zeige
                              data:image/jpg;base64,{mqtt.1.logger.gthrn.Alarm.pic_senden}.

                              Danke für Deine Hilfe.
                              Gruß
                              Michael

                              OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              wrote on last edited by
                              #18

                              @michihorn

                              ok dann klappt es ja

                              Meine Adapter und Widgets
                              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                              Links im Profil

                              1 Reply Last reply
                              1
                              • David G.D Online
                                David G.D Online
                                David G.
                                wrote on last edited by
                                #19

                                Man könnte die Bilder natürlich auch per Mail oder Telegram senden/empfangen.

                                Zeigt eure Lovelace-Visualisierung klick
                                (Auch ideal um sich Anregungen zu holen)

                                Meine Tabellen für eure Visualisierung klick

                                M 1 Reply Last reply
                                0
                                • David G.D David G.

                                  Man könnte die Bilder natürlich auch per Mail oder Telegram senden/empfangen.

                                  M Online
                                  M Online
                                  michihorn
                                  wrote on last edited by
                                  #20

                                  @david-g sagte in Gelöst: Bilder senden von einen IOB zum anderen IOB:

                                  Man könnte die Bilder natürlich auch per Mail oder Telegram senden/empfangen.

                                  In meinem Script im Anfangspost habe ich bereits ein Script mit dem ich die Bilder per Telegram versende.
                                  Der Weg über Email ist viel zu aufwendig, daher ist die Lösung von OliverIO super. So habe ich die Bilder direkt ohne großen Aufwand auf der Entfernten Maschine

                                  1 Reply Last reply
                                  0
                                  • M michihorn

                                    @martinp sagte in Bilder senden von einen IOB zum anderen IOB:

                                    Cronjob hält die beiden Verzeichnisse mit rsync syncron...

                                    Wie soll das aussehen?

                                    MartinPM Online
                                    MartinPM Online
                                    MartinP
                                    wrote on last edited by
                                    #21

                                    @michihorn sagte in Gelöst: Bilder senden von einen IOB zum anderen IOB:

                                    @martinp sagte in Bilder senden von einen IOB zum anderen IOB:

                                    Cronjob hält die beiden Verzeichnisse mit rsync syncron...

                                    Wie soll das aussehen?

                                    Auch, wenn der Thread schon auf "gelöst" steht:

                                    So fische ich regelmäßig die Aufnahmen der Reolink-Kameras und schiebe sie auf eine USB-Festplatte am Linux-System, das als NAS dient.

                                    Alle 4 Stunden wird Dir aber wohl nicht reichen...

                                    cron-Eintrag

                                    0 */4 * * * bash /home/martin/skripte/reolink.sh >/dev/null 2>&1
                                    
                                    sshpass -p "..........." rsync -a /home/martin/ftp/reolink/garage/*.mp4 martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings
                                    sshpass -p "..........." rsync -a /home/martin/ftp/reolink/garage/*.jpg martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings
                                    # four hours preserve
                                    find /home/martin/ftp/reolink/garage/* -mmin +240 -exec rm {} \;
                                    logger "reolink.sh finished"
                                    martin@DebianTest:~/skripte$ 
                                    

                                    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                    Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                    Linux pve 6.17.9-1-pve
                                    6 GByte RAM für den Container
                                    Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                    Remote-Access über Wireguard der Fritzbox

                                    M 1 Reply Last reply
                                    0
                                    • MartinPM MartinP

                                      @michihorn sagte in Gelöst: Bilder senden von einen IOB zum anderen IOB:

                                      @martinp sagte in Bilder senden von einen IOB zum anderen IOB:

                                      Cronjob hält die beiden Verzeichnisse mit rsync syncron...

                                      Wie soll das aussehen?

                                      Auch, wenn der Thread schon auf "gelöst" steht:

                                      So fische ich regelmäßig die Aufnahmen der Reolink-Kameras und schiebe sie auf eine USB-Festplatte am Linux-System, das als NAS dient.

                                      Alle 4 Stunden wird Dir aber wohl nicht reichen...

                                      cron-Eintrag

                                      0 */4 * * * bash /home/martin/skripte/reolink.sh >/dev/null 2>&1
                                      
                                      sshpass -p "..........." rsync -a /home/martin/ftp/reolink/garage/*.mp4 martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings
                                      sshpass -p "..........." rsync -a /home/martin/ftp/reolink/garage/*.jpg martin@192.168.2.203:/mnt/usbdrives/intenso1/backup/Martin/reolink/recordings
                                      # four hours preserve
                                      find /home/martin/ftp/reolink/garage/* -mmin +240 -exec rm {} \;
                                      logger "reolink.sh finished"
                                      martin@DebianTest:~/skripte$ 
                                      
                                      M Online
                                      M Online
                                      michihorn
                                      wrote on last edited by
                                      #22

                                      @martinp sagte in Gelöst: Bilder senden von einen IOB zum anderen IOB:

                                      Alle 4 Stunden wird Dir aber wohl nicht reichen...

                                      Danke für Deinen Einsatz. Die Lösung die nun "werkelt" ist Teil eines Überwachungskonzeptes meines Ferienhauses.
                                      Es werden nur Bilder per Telegram und nun auch an den anderen "Heim" Iobroker gesendet, wenn niemand aus meiner Familie am/im Ferienhaus ist (Geofancy), die Haustür geöffnet wird und gleichzeitig ein BWM eine Bewegung feststellt. Dann macht die Kamera im Tablet eine Aufnahme.

                                      MartinPM 1 Reply Last reply
                                      0
                                      • M michihorn

                                        @martinp sagte in Gelöst: Bilder senden von einen IOB zum anderen IOB:

                                        Alle 4 Stunden wird Dir aber wohl nicht reichen...

                                        Danke für Deinen Einsatz. Die Lösung die nun "werkelt" ist Teil eines Überwachungskonzeptes meines Ferienhauses.
                                        Es werden nur Bilder per Telegram und nun auch an den anderen "Heim" Iobroker gesendet, wenn niemand aus meiner Familie am/im Ferienhaus ist (Geofancy), die Haustür geöffnet wird und gleichzeitig ein BWM eine Bewegung feststellt. Dann macht die Kamera im Tablet eine Aufnahme.

                                        MartinPM Online
                                        MartinPM Online
                                        MartinP
                                        wrote on last edited by
                                        #23

                                        @michihorn Die Integration meiner Kameras in iobroker ist rudimentär ... Reolink-Adapter für die beiden richtigen Kameras, und frigate per MQTT für eine experimentell genutzte ESP32 CAM. Bisher keine Web-Visualisierung der Kameras in Vis2 o. Ä.

                                        Für das "Angucken" nutze ich die Web-Oberfläche von Frigate bzw die Reolink App und den Browser am PC. "Nach Hause telefonieren" können die Reolink Cams nicht, da sie in der Fritzbox den Internet-Zugang gesperrt bekommen haben.

                                        Das Ablagern der Bilder auf dem USB-Drive am Server dient nur der Langzeitarchivierung ... Aus Platzgründen räume ich täglich per Cron Job alle Aufzeichnungen, die älter sind, als 50 Tage auch auf diesem USB-Drive ab.

                                        Fand es wichtig, die Dateien "einfach so" in einem Netzwerkshare liegen zu haben...

                                        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                        Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                        Linux pve 6.17.9-1-pve
                                        6 GByte RAM für den Container
                                        Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                        Remote-Access über Wireguard der Fritzbox

                                        1 Reply Last reply
                                        1

                                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                        With your input, this post could be even better 💗

                                        Register Login
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        533

                                        Online

                                        32.7k

                                        Users

                                        82.6k

                                        Topics

                                        1.3m

                                        Posts
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Home
                                        • Recent
                                        • Tags
                                        • Unread 0
                                        • Categories
                                        • Unreplied
                                        • Popular
                                        • GitHub
                                        • Docu
                                        • Hilfe