Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
23 Beiträge 5 Kommentatoren 967 Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M michihorn

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

    MartinPM Online
    MartinPM Online
    MartinP
    schrieb am zuletzt editiert von
    #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 12 on Proxmox 8.4.14)
    Linux pve 6.8.12-16-pve
    6 GByte RAM für den Container
    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
    Remote-Access über Wireguard der Fritzbox

    M 1 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 :dizzy_face:

          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 Antwort Letzte Antwort
          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 :dizzy_face:

            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
            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              0
              • M Online
                M Online
                michihorn
                schrieb am zuletzt editiert von
                #13

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

                Speichern/anzeigen/beides?

                beides

                OliverIOO 1 Antwort Letzte Antwort
                0
                • M michihorn

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

                  Speichern/anzeigen/beides?

                  beides

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  0
                  • M Online
                    M Online
                    michihorn
                    schrieb am zuletzt editiert von
                    #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 Antworten Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          1
                          • David G.D Online
                            David G.D Online
                            David G.
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 12 on Proxmox 8.4.14)
                                Linux pve 6.8.12-16-pve
                                6 GByte RAM für den Container
                                Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                Remote-Access über Wireguard der Fritzbox

                                M 1 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 12 on Proxmox 8.4.14)
                                    Linux pve 6.8.12-16-pve
                                    6 GByte RAM für den Container
                                    Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
                                    Remote-Access über Wireguard der Fritzbox

                                    1 Antwort Letzte Antwort
                                    1
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    787

                                    Online

                                    32.6k

                                    Benutzer

                                    82.2k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe